From 2b2b2675c213144e98f5827082e15b5c3bcc280c Mon Sep 17 00:00:00 2001 From: janezd Date: Fri, 26 Sep 2014 16:59:29 +0200 Subject: [PATCH] Give a better error in bottlechest.bincount when the size of the weights or the mask does not match the array size --- bottlechest/src/func/32bit/allnan.c | 7752 ++++---- bottlechest/src/func/32bit/anynan.c | 6732 +++---- bottlechest/src/func/32bit/argpartsort.c | 18994 ++++++++++---------- bottlechest/src/func/32bit/bincount.c | 8432 ++++----- bottlechest/src/func/32bit/contingency.c | 468 +- bottlechest/src/func/32bit/countnans.c | 6014 +++---- bottlechest/src/func/32bit/median.c | 9342 +++++----- bottlechest/src/func/32bit/nanargmax.c | 6614 +++---- bottlechest/src/func/32bit/nanargmin.c | 6614 +++---- bottlechest/src/func/32bit/nanequal.c | 4842 ++--- bottlechest/src/func/32bit/nanmax.c | 9954 +++++----- bottlechest/src/func/32bit/nanmean.c | 10356 +++++------ bottlechest/src/func/32bit/nanmin.c | 9954 +++++----- bottlechest/src/func/32bit/nanstd.c | 14772 +++++++-------- bottlechest/src/func/32bit/nansum.c | 8720 ++++----- bottlechest/src/func/32bit/nanvar.c | 14772 +++++++-------- bottlechest/src/func/32bit/nn.c | 1552 +- bottlechest/src/func/32bit/partsort.c | 14736 +++++++-------- bottlechest/src/func/32bit/rankdata.c | 6846 +++---- bottlechest/src/func/32bit/replace.c | 454 +- bottlechest/src/func/32bit/ss.c | 7122 ++++---- bottlechest/src/func/32bit/stats.c | 468 +- bottlechest/src/func/32bit/valuecount.c | 440 +- bottlechest/src/func/64bit/allnan.c | 7752 ++++---- bottlechest/src/func/64bit/anynan.c | 6732 +++---- bottlechest/src/func/64bit/argpartsort.c | 18994 ++++++++++---------- bottlechest/src/func/64bit/bincount.c | 8432 ++++----- bottlechest/src/func/64bit/contingency.c | 468 +- bottlechest/src/func/64bit/countnans.c | 6014 +++---- bottlechest/src/func/64bit/median.c | 9342 +++++----- bottlechest/src/func/64bit/nanargmax.c | 6614 +++---- bottlechest/src/func/64bit/nanargmin.c | 6614 +++---- bottlechest/src/func/64bit/nanequal.c | 4842 ++--- bottlechest/src/func/64bit/nanmax.c | 9954 +++++----- bottlechest/src/func/64bit/nanmean.c | 10356 +++++------ bottlechest/src/func/64bit/nanmin.c | 9954 +++++----- bottlechest/src/func/64bit/nanstd.c | 14772 +++++++-------- bottlechest/src/func/64bit/nansum.c | 8720 ++++----- bottlechest/src/func/64bit/nanvar.c | 14772 +++++++-------- bottlechest/src/func/64bit/nn.c | 1552 +- bottlechest/src/func/64bit/partsort.c | 14736 +++++++-------- bottlechest/src/func/64bit/rankdata.c | 6846 +++---- bottlechest/src/func/64bit/replace.c | 454 +- bottlechest/src/func/64bit/ss.c | 7122 ++++---- bottlechest/src/func/64bit/stats.c | 468 +- bottlechest/src/func/64bit/valuecount.c | 440 +- bottlechest/src/template/func/bincount.py | 6 + bottlechest/tests/test_bincount.py | 39 +- 48 files changed, 176160 insertions(+), 175785 deletions(-) diff --git a/bottlechest/src/func/32bit/allnan.c b/bottlechest/src/func/32bit/allnan.c index 0a39410e11..3aa4254f5f 100644 --- a/bottlechest/src/func/32bit/allnan.c +++ b/bottlechest/src/func/32bit/allnan.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -870,8 +870,8 @@ static CYTHON_INLINE int __Pyx_GetBufferAndValidate(Py_buffer* buf, PyObject* o __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack); static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info); -#define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0) #define __Pyx_BufPtrStrided2d(type, buf, i0, s0, i1, s1) (type)((char*)buf + i0 * s0 + i1 * s1) +#define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0) static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); typedef struct { @@ -1096,14 +1096,14 @@ static __pyx_t_5numpy_float32_t __pyx_v_6allnan_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_6allnan_MAXfloat64; static PyObject *__pyx_v_6allnan_allnan_dict = 0; static PyObject *__pyx_v_6allnan_allnan_slow_dict = 0; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t = { "uint8_t", NULL, sizeof(__pyx_t_5numpy_uint8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_uint8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_uint8_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "allnan" int __pyx_module_is_main_allnan = 0; @@ -1115,34 +1115,34 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_6allnan_allnan(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_6allnan_2allnan_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_6allnan_4allnan_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_16allnan_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_18allnan_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_22allnan_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_24allnan_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_26allnan_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_30allnan_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_32allnan_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_34allnan_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_36allnan_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_38allnan_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_40allnan_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_42allnan_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_44allnan_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_46allnan_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_48allnan_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_50allnan_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_52allnan_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_54allnan_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_56allnan_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_58allnan_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_4allnan_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_6allnan_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_8allnan_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_10allnan_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_12allnan_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_14allnan_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_16allnan_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_18allnan_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_20allnan_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_22allnan_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_24allnan_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_26allnan_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_28allnan_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_30allnan_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_32allnan_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_34allnan_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_36allnan_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_38allnan_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_40allnan_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_42allnan_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_44allnan_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_46allnan_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_48allnan_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_50allnan_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_52allnan_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_54allnan_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_56allnan_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_58allnan_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_6allnan_60allnan_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6allnan_62allnan_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6allnan_64allnan_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1317,15 +1317,14 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Return_allnan_function_and_arra[] = "\n Return allnan function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in bn.allnan()\n is in checking that `axis` is within range, converting `arr` into an\n array (if it is not already an array), and selecting the function to use.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which NaNs are searched.\n \n Returns\n -------\n func : function\n The allnan function that matches the number of dimensions and\n dtype of the input array and the axis.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine if `arr` contains all NaNs:\n\n >>> func, a = bn.func.allnan_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine is all elements are\n NaN:\n \n >>> func(a)\n False\n\n "; static char __pyx_k_Test_whether_all_array_elements[] = "\n Test whether all array elements along a given axis are NaN.\n\n Returns single boolean unless `axis` is not ``None``.\n\n Note that allnan([]) is True to match np.isnan([]).all().\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}, optional\n Axis along which NaNs are searched. The default (`axis` = ``None``)\n is to search for NaNs over a flattened input array. `axis` may be\n negative, in which case it counts from the last to the first axis.\n\n Returns\n -------\n y : bool or ndarray\n A new boolean or `ndarray` is returned.\n\n See also\n --------\n bottlechest.anynan: Test if any array element along given axis is NaN\n\n Examples\n --------\n >>> bn.allnan(1)\n False\n >>> bn.allnan(np.nan)\n True\n >>> bn.allnan([1, np.nan])\n False\n >>> a = np.array([[1, np.nan], [1, np.nan]])\n >>> bn.allnan(a)\n False\n >>> bn.allnan(a, axis=0)\n array([False, True], dtype=bool)\n\n An empty array returns True:\n\n >>> bn.allnan([])\n True\n\n which is similar to:\n\n >>> all([])\n True\n >>> np.isnan([]).all()\n True\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/allnan.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\allnan.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1339,6 +1338,7 @@ static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_kp_u_Test_whether_all_array_elements; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__35; static PyObject *__pyx_n_s_a; @@ -2469,24 +2469,24 @@ static PyObject *__pyx_pf_6allnan_2allnan_selector(CYTHON_UNUSED PyObject *__pyx /* "allnan.pyx":196 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=0." + * def allnan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_5allnan_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_4allnan_2d_int_axis0[] = "allnan_2d_int_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_6allnan_5allnan_2d_int_axis0 = {"allnan_2d_int_axis0", (PyCFunction)__pyx_pw_6allnan_5allnan_2d_int_axis0, METH_O, __pyx_doc_6allnan_4allnan_2d_int_axis0}; -static PyObject *__pyx_pw_6allnan_5allnan_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_5allnan_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_4allnan_2d_float_axis0[] = "allnan_2d_float_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_6allnan_5allnan_2d_float_axis0 = {"allnan_2d_float_axis0", (PyCFunction)__pyx_pw_6allnan_5allnan_2d_float_axis0, METH_O, __pyx_doc_6allnan_4allnan_2d_float_axis0}; +static PyObject *__pyx_pw_6allnan_5allnan_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("allnan_2d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_4allnan_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6allnan_4allnan_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2497,8 +2497,10 @@ static PyObject *__pyx_pw_6allnan_5allnan_2d_int_axis0(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6allnan_4allnan_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_4allnan_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_f; + __pyx_t_5numpy_float_t __pyx_v_ai; + Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -2514,14 +2516,18 @@ static PyObject *__pyx_pf_6allnan_4allnan_2d_int_axis0(CYTHON_UNUSED PyObject *_ npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("allnan_2d_float_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2532,15 +2538,15 @@ static PyObject *__pyx_pf_6allnan_4allnan_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "allnan.pyx":198 - * def allnan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int along axis=0." + * def allnan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=float along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int_t ai + * cdef np.float_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -2587,7 +2593,7 @@ static PyObject *__pyx_pf_6allnan_4allnan_2d_int_axis0(CYTHON_UNUSED PyObject *_ * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) - * if n0 == 0: + * for i1 in range(n1): */ __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -2608,61 +2614,113 @@ static PyObject *__pyx_pf_6allnan_4allnan_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "allnan.pyx":208 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * for i1 in range(n1): # <<<<<<<<<<<<<< * f = 1 - * else: + * for i0 in range(n0): */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; /* "allnan.pyx":209 * NPY_BOOL, 0) - * if n0 == 0: + * for i1 in range(n1): * f = 1 # <<<<<<<<<<<<<< - * else: - * f = 0 + * for i0 in range(n0): + * ai = a[i0, i1] */ __pyx_v_f = 1; - goto __pyx_L3; - } - /*else*/ { - /* "allnan.pyx":211 - * f = 1 - * else: - * f = 0 # <<<<<<<<<<<<<< + /* "allnan.pyx":210 * for i1 in range(n1): - * y[i1] = f + * f = 1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_f = 0; - } - __pyx_L3:; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "allnan.pyx":212 - * else: - * f = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i1] = f + /* "allnan.pyx":211 + * f = 1 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * y[i1] = 0 + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "allnan.pyx":212 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * y[i1] = 0 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "allnan.pyx":213 + * ai = a[i0, i1] + * if ai == ai: + * y[i1] = 0 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + + /* "allnan.pyx":214 + * if ai == ai: + * y[i1] = 0 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "allnan.pyx":215 + * y[i1] = 0 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i1] = 1 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "allnan.pyx":216 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i1] = 1 * return y */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { - /* "allnan.pyx":213 - * f = 0 - * for i1 in range(n1): - * y[i1] = f # <<<<<<<<<<<<<< + /* "allnan.pyx":217 + * break + * if f == 1: + * y[i1] = 1 # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + goto __pyx_L8; + } + __pyx_L8:; } - /* "allnan.pyx":214 - * for i1 in range(n1): - * y[i1] = f + /* "allnan.pyx":218 + * if f == 1: + * y[i1] = 1 * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2675,8 +2733,8 @@ static PyObject *__pyx_pf_6allnan_4allnan_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "allnan.pyx":196 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=0." + * def allnan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=0." * cdef int f = 1 */ @@ -2688,7 +2746,7 @@ static PyObject *__pyx_pf_6allnan_4allnan_2d_int_axis0(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2701,27 +2759,27 @@ static PyObject *__pyx_pf_6allnan_4allnan_2d_int_axis0(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "allnan.pyx":218 +/* "allnan.pyx":222 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=1." + * def allnan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_7allnan_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_6allnan_2d_int_axis1[] = "allnan_2d_int_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=int along axis=1."; -static PyMethodDef __pyx_mdef_6allnan_7allnan_2d_int_axis1 = {"allnan_2d_int_axis1", (PyCFunction)__pyx_pw_6allnan_7allnan_2d_int_axis1, METH_O, __pyx_doc_6allnan_6allnan_2d_int_axis1}; -static PyObject *__pyx_pw_6allnan_7allnan_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_7allnan_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_6allnan_2d_float_axis1[] = "allnan_2d_float_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=float along axis=1."; +static PyMethodDef __pyx_mdef_6allnan_7allnan_2d_float_axis1 = {"allnan_2d_float_axis1", (PyCFunction)__pyx_pw_6allnan_7allnan_2d_float_axis1, METH_O, __pyx_doc_6allnan_6allnan_2d_float_axis1}; +static PyObject *__pyx_pw_6allnan_7allnan_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_6allnan_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_float_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_6allnan_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2732,9 +2790,11 @@ static PyObject *__pyx_pw_6allnan_7allnan_2d_int_axis1(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_6allnan_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_f; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -2749,14 +2809,18 @@ static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *_ npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("allnan_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2767,20 +2831,20 @@ static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":220 - * def allnan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int along axis=1." + /* "allnan.pyx":224 + * def allnan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=float along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int_t ai + * cdef np.float_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":224 + /* "allnan.pyx":228 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2789,7 +2853,7 @@ static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":225 + /* "allnan.pyx":229 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2798,7 +2862,7 @@ static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":226 + /* "allnan.pyx":230 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -2807,7 +2871,7 @@ static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":227 + /* "allnan.pyx":231 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -2817,22 +2881,22 @@ static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "allnan.pyx":228 + /* "allnan.pyx":232 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) - * if n1 == 0: + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2840,78 +2904,130 @@ static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":230 + /* "allnan.pyx":234 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * for i0 in range(n0): # <<<<<<<<<<<<<< * f = 1 - * else: + * for i1 in range(n1): */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "allnan.pyx":231 + /* "allnan.pyx":235 * NPY_BOOL, 0) - * if n1 == 0: + * for i0 in range(n0): * f = 1 # <<<<<<<<<<<<<< - * else: - * f = 0 + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_v_f = 1; - goto __pyx_L3; - } - /*else*/ { - /* "allnan.pyx":233 - * f = 1 - * else: - * f = 0 # <<<<<<<<<<<<<< + /* "allnan.pyx":236 * for i0 in range(n0): - * y[i0] = f + * f = 1 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_f = 0; - } - __pyx_L3:; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "allnan.pyx":234 - * else: - * f = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = f - * return y + /* "allnan.pyx":237 + * f = 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * y[i0] = 0 */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "allnan.pyx":235 - * f = 0 - * for i0 in range(n0): - * y[i0] = f # <<<<<<<<<<<<<< - * return y - * + /* "allnan.pyx":238 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * y[i0] = 0 + * f = 0 */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; - } + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "allnan.pyx":236 - * for i0 in range(n0): - * y[i0] = f - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + /* "allnan.pyx":239 + * ai = a[i0, i1] + * if ai == ai: + * y[i0] = 0 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + + /* "allnan.pyx":240 + * if ai == ai: + * y[i0] = 0 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "allnan.pyx":241 + * y[i0] = 0 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i0] = 1 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "allnan.pyx":242 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i0] = 1 + * return y + */ + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { + + /* "allnan.pyx":243 + * break + * if f == 1: + * y[i0] = 1 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + goto __pyx_L8; + } + __pyx_L8:; + } + + /* "allnan.pyx":244 + * if f == 1: + * y[i0] = 1 + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "allnan.pyx":218 + /* "allnan.pyx":222 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=1." + * def allnan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=1." * cdef int f = 1 */ @@ -2923,7 +3039,7 @@ static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2936,27 +3052,27 @@ static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "allnan.pyx":240 +/* "allnan.pyx":248 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=0." + * def allnan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_9allnan_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_8allnan_2d_int8_axis0[] = "allnan_2d_int8_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_6allnan_9allnan_2d_int8_axis0 = {"allnan_2d_int8_axis0", (PyCFunction)__pyx_pw_6allnan_9allnan_2d_int8_axis0, METH_O, __pyx_doc_6allnan_8allnan_2d_int8_axis0}; -static PyObject *__pyx_pw_6allnan_9allnan_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_9allnan_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_8allnan_2d_float32_axis0[] = "allnan_2d_float32_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_6allnan_9allnan_2d_float32_axis0 = {"allnan_2d_float32_axis0", (PyCFunction)__pyx_pw_6allnan_9allnan_2d_float32_axis0, METH_O, __pyx_doc_6allnan_8allnan_2d_float32_axis0}; +static PyObject *__pyx_pw_6allnan_9allnan_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_8allnan_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_8allnan_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2967,8 +3083,10 @@ static PyObject *__pyx_pw_6allnan_9allnan_2d_int8_axis0(PyObject *__pyx_self, Py return __pyx_r; } -static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_8allnan_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_f; + __pyx_t_5numpy_float32_t __pyx_v_ai; + Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -2984,14 +3102,18 @@ static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject * npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("allnan_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3002,20 +3124,20 @@ static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":242 - * def allnan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int8 along axis=0." + /* "allnan.pyx":250 + * def allnan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=float32 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t ai + * cdef np.float32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":246 + /* "allnan.pyx":254 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3024,7 +3146,7 @@ static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":247 + /* "allnan.pyx":255 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3033,7 +3155,7 @@ static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":248 + /* "allnan.pyx":256 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -3042,7 +3164,7 @@ static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":249 + /* "allnan.pyx":257 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -3052,22 +3174,22 @@ static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "allnan.pyx":250 + /* "allnan.pyx":258 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) - * if n0 == 0: + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3075,64 +3197,116 @@ static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":252 + /* "allnan.pyx":260 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * for i1 in range(n1): # <<<<<<<<<<<<<< * f = 1 - * else: + * for i0 in range(n0): */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "allnan.pyx":253 + /* "allnan.pyx":261 * NPY_BOOL, 0) - * if n0 == 0: + * for i1 in range(n1): * f = 1 # <<<<<<<<<<<<<< - * else: - * f = 0 + * for i0 in range(n0): + * ai = a[i0, i1] */ __pyx_v_f = 1; - goto __pyx_L3; - } - /*else*/ { - /* "allnan.pyx":255 - * f = 1 - * else: - * f = 0 # <<<<<<<<<<<<<< + /* "allnan.pyx":262 * for i1 in range(n1): - * y[i1] = f + * f = 1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_f = 0; - } - __pyx_L3:; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "allnan.pyx":256 - * else: - * f = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i1] = f + /* "allnan.pyx":263 + * f = 1 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * y[i1] = 0 + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "allnan.pyx":264 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * y[i1] = 0 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "allnan.pyx":265 + * ai = a[i0, i1] + * if ai == ai: + * y[i1] = 0 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + + /* "allnan.pyx":266 + * if ai == ai: + * y[i1] = 0 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "allnan.pyx":267 + * y[i1] = 0 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i1] = 1 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "allnan.pyx":268 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i1] = 1 * return y */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { - /* "allnan.pyx":257 - * f = 0 - * for i1 in range(n1): - * y[i1] = f # <<<<<<<<<<<<<< + /* "allnan.pyx":269 + * break + * if f == 1: + * y[i1] = 1 # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + goto __pyx_L8; + } + __pyx_L8:; } - /* "allnan.pyx":258 - * for i1 in range(n1): - * y[i1] = f + /* "allnan.pyx":270 + * if f == 1: + * y[i1] = 1 * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3142,11 +3316,11 @@ static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "allnan.pyx":240 + /* "allnan.pyx":248 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=0." + * def allnan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=0." * cdef int f = 1 */ @@ -3158,7 +3332,7 @@ static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject * __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3171,27 +3345,27 @@ static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "allnan.pyx":262 +/* "allnan.pyx":274 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=1." + * def allnan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_11allnan_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_10allnan_2d_int8_axis1[] = "allnan_2d_int8_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=int8 along axis=1."; -static PyMethodDef __pyx_mdef_6allnan_11allnan_2d_int8_axis1 = {"allnan_2d_int8_axis1", (PyCFunction)__pyx_pw_6allnan_11allnan_2d_int8_axis1, METH_O, __pyx_doc_6allnan_10allnan_2d_int8_axis1}; -static PyObject *__pyx_pw_6allnan_11allnan_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_11allnan_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_10allnan_2d_float32_axis1[] = "allnan_2d_float32_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=float32 along axis=1."; +static PyMethodDef __pyx_mdef_6allnan_11allnan_2d_float32_axis1 = {"allnan_2d_float32_axis1", (PyCFunction)__pyx_pw_6allnan_11allnan_2d_float32_axis1, METH_O, __pyx_doc_6allnan_10allnan_2d_float32_axis1}; +static PyObject *__pyx_pw_6allnan_11allnan_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int8_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_10allnan_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_float32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_10allnan_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3202,9 +3376,11 @@ static PyObject *__pyx_pw_6allnan_11allnan_2d_int8_axis1(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_10allnan_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_f; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -3219,14 +3395,18 @@ static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("allnan_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3237,20 +3417,20 @@ static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":264 - * def allnan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int8 along axis=1." + /* "allnan.pyx":276 + * def allnan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=float32 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t ai + * cdef np.float32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":268 + /* "allnan.pyx":280 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3259,7 +3439,7 @@ static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":269 + /* "allnan.pyx":281 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3268,7 +3448,7 @@ static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":270 + /* "allnan.pyx":282 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -3277,7 +3457,7 @@ static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":271 + /* "allnan.pyx":283 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -3287,22 +3467,22 @@ static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "allnan.pyx":272 + /* "allnan.pyx":284 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) - * if n1 == 0: + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3310,64 +3490,116 @@ static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":274 + /* "allnan.pyx":286 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * for i0 in range(n0): # <<<<<<<<<<<<<< * f = 1 - * else: + * for i1 in range(n1): */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "allnan.pyx":275 + /* "allnan.pyx":287 * NPY_BOOL, 0) - * if n1 == 0: + * for i0 in range(n0): * f = 1 # <<<<<<<<<<<<<< - * else: - * f = 0 + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_v_f = 1; - goto __pyx_L3; - } - /*else*/ { - /* "allnan.pyx":277 - * f = 1 - * else: - * f = 0 # <<<<<<<<<<<<<< + /* "allnan.pyx":288 * for i0 in range(n0): - * y[i0] = f + * f = 1 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_f = 0; - } - __pyx_L3:; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "allnan.pyx":278 - * else: - * f = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = f + /* "allnan.pyx":289 + * f = 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * y[i0] = 0 + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "allnan.pyx":290 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * y[i0] = 0 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "allnan.pyx":291 + * ai = a[i0, i1] + * if ai == ai: + * y[i0] = 0 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + + /* "allnan.pyx":292 + * if ai == ai: + * y[i0] = 0 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "allnan.pyx":293 + * y[i0] = 0 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i0] = 1 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "allnan.pyx":294 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i0] = 1 * return y */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { - /* "allnan.pyx":279 - * f = 0 - * for i0 in range(n0): - * y[i0] = f # <<<<<<<<<<<<<< + /* "allnan.pyx":295 + * break + * if f == 1: + * y[i0] = 1 # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + goto __pyx_L8; + } + __pyx_L8:; } - /* "allnan.pyx":280 - * for i0 in range(n0): - * y[i0] = f + /* "allnan.pyx":296 + * if f == 1: + * y[i0] = 1 * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3377,11 +3609,11 @@ static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "allnan.pyx":262 + /* "allnan.pyx":274 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=1." + * def allnan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=1." * cdef int f = 1 */ @@ -3393,7 +3625,7 @@ static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3406,27 +3638,27 @@ static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "allnan.pyx":284 +/* "allnan.pyx":300 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=0." + * def allnan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_13allnan_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_12allnan_2d_int32_axis0[] = "allnan_2d_int32_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_6allnan_13allnan_2d_int32_axis0 = {"allnan_2d_int32_axis0", (PyCFunction)__pyx_pw_6allnan_13allnan_2d_int32_axis0, METH_O, __pyx_doc_6allnan_12allnan_2d_int32_axis0}; -static PyObject *__pyx_pw_6allnan_13allnan_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_13allnan_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_12allnan_2d_float64_axis0[] = "allnan_2d_float64_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_6allnan_13allnan_2d_float64_axis0 = {"allnan_2d_float64_axis0", (PyCFunction)__pyx_pw_6allnan_13allnan_2d_float64_axis0, METH_O, __pyx_doc_6allnan_12allnan_2d_float64_axis0}; +static PyObject *__pyx_pw_6allnan_13allnan_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_12allnan_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_12allnan_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3437,8 +3669,10 @@ static PyObject *__pyx_pw_6allnan_13allnan_2d_int32_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_12allnan_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_f; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -3454,14 +3688,18 @@ static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("allnan_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3472,20 +3710,20 @@ static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":286 - * def allnan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int32 along axis=0." + /* "allnan.pyx":302 + * def allnan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=float64 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":290 + /* "allnan.pyx":306 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3494,7 +3732,7 @@ static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":291 + /* "allnan.pyx":307 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3503,7 +3741,7 @@ static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":292 + /* "allnan.pyx":308 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -3512,7 +3750,7 @@ static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":293 + /* "allnan.pyx":309 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -3522,22 +3760,22 @@ static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "allnan.pyx":294 + /* "allnan.pyx":310 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) - * if n0 == 0: + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3545,64 +3783,116 @@ static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":296 + /* "allnan.pyx":312 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * for i1 in range(n1): # <<<<<<<<<<<<<< * f = 1 - * else: + * for i0 in range(n0): */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "allnan.pyx":297 + /* "allnan.pyx":313 * NPY_BOOL, 0) - * if n0 == 0: + * for i1 in range(n1): * f = 1 # <<<<<<<<<<<<<< - * else: - * f = 0 + * for i0 in range(n0): + * ai = a[i0, i1] */ __pyx_v_f = 1; - goto __pyx_L3; - } - /*else*/ { - /* "allnan.pyx":299 - * f = 1 - * else: - * f = 0 # <<<<<<<<<<<<<< + /* "allnan.pyx":314 * for i1 in range(n1): - * y[i1] = f + * f = 1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_f = 0; - } - __pyx_L3:; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "allnan.pyx":300 - * else: - * f = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i1] = f + /* "allnan.pyx":315 + * f = 1 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * y[i1] = 0 + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "allnan.pyx":316 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * y[i1] = 0 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "allnan.pyx":317 + * ai = a[i0, i1] + * if ai == ai: + * y[i1] = 0 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + + /* "allnan.pyx":318 + * if ai == ai: + * y[i1] = 0 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "allnan.pyx":319 + * y[i1] = 0 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i1] = 1 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "allnan.pyx":320 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i1] = 1 * return y */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { - /* "allnan.pyx":301 - * f = 0 - * for i1 in range(n1): - * y[i1] = f # <<<<<<<<<<<<<< + /* "allnan.pyx":321 + * break + * if f == 1: + * y[i1] = 1 # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + goto __pyx_L8; + } + __pyx_L8:; } - /* "allnan.pyx":302 - * for i1 in range(n1): - * y[i1] = f + /* "allnan.pyx":322 + * if f == 1: + * y[i1] = 1 * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3612,11 +3902,11 @@ static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "allnan.pyx":284 + /* "allnan.pyx":300 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=0." + * def allnan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=0." * cdef int f = 1 */ @@ -3628,7 +3918,7 @@ static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3641,27 +3931,27 @@ static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "allnan.pyx":306 +/* "allnan.pyx":326 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=1." + * def allnan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_15allnan_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_14allnan_2d_int32_axis1[] = "allnan_2d_int32_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=int32 along axis=1."; -static PyMethodDef __pyx_mdef_6allnan_15allnan_2d_int32_axis1 = {"allnan_2d_int32_axis1", (PyCFunction)__pyx_pw_6allnan_15allnan_2d_int32_axis1, METH_O, __pyx_doc_6allnan_14allnan_2d_int32_axis1}; -static PyObject *__pyx_pw_6allnan_15allnan_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_15allnan_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_14allnan_2d_float64_axis1[] = "allnan_2d_float64_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=float64 along axis=1."; +static PyMethodDef __pyx_mdef_6allnan_15allnan_2d_float64_axis1 = {"allnan_2d_float64_axis1", (PyCFunction)__pyx_pw_6allnan_15allnan_2d_float64_axis1, METH_O, __pyx_doc_6allnan_14allnan_2d_float64_axis1}; +static PyObject *__pyx_pw_6allnan_15allnan_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_14allnan_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_float64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_14allnan_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3672,9 +3962,11 @@ static PyObject *__pyx_pw_6allnan_15allnan_2d_int32_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_14allnan_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_f; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -3689,14 +3981,18 @@ static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("allnan_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3707,20 +4003,20 @@ static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":308 - * def allnan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int32 along axis=1." + /* "allnan.pyx":328 + * def allnan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=float64 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":312 + /* "allnan.pyx":332 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3729,7 +4025,7 @@ static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":313 + /* "allnan.pyx":333 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3738,7 +4034,7 @@ static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":314 + /* "allnan.pyx":334 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -3747,7 +4043,7 @@ static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":315 + /* "allnan.pyx":335 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -3757,22 +4053,22 @@ static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "allnan.pyx":316 + /* "allnan.pyx":336 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) - * if n1 == 0: + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3780,64 +4076,116 @@ static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":318 + /* "allnan.pyx":338 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * for i0 in range(n0): # <<<<<<<<<<<<<< * f = 1 - * else: + * for i1 in range(n1): */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "allnan.pyx":319 + /* "allnan.pyx":339 * NPY_BOOL, 0) - * if n1 == 0: + * for i0 in range(n0): * f = 1 # <<<<<<<<<<<<<< - * else: - * f = 0 + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_v_f = 1; - goto __pyx_L3; - } - /*else*/ { - /* "allnan.pyx":321 - * f = 1 - * else: - * f = 0 # <<<<<<<<<<<<<< + /* "allnan.pyx":340 * for i0 in range(n0): - * y[i0] = f + * f = 1 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_f = 0; - } - __pyx_L3:; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "allnan.pyx":322 - * else: - * f = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = f + /* "allnan.pyx":341 + * f = 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * y[i0] = 0 + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "allnan.pyx":342 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * y[i0] = 0 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "allnan.pyx":343 + * ai = a[i0, i1] + * if ai == ai: + * y[i0] = 0 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + + /* "allnan.pyx":344 + * if ai == ai: + * y[i0] = 0 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "allnan.pyx":345 + * y[i0] = 0 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i0] = 1 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "allnan.pyx":346 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i0] = 1 * return y */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { - /* "allnan.pyx":323 - * f = 0 - * for i0 in range(n0): - * y[i0] = f # <<<<<<<<<<<<<< + /* "allnan.pyx":347 + * break + * if f == 1: + * y[i0] = 1 # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + goto __pyx_L8; + } + __pyx_L8:; } - /* "allnan.pyx":324 - * for i0 in range(n0): - * y[i0] = f + /* "allnan.pyx":348 + * if f == 1: + * y[i0] = 1 * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3847,11 +4195,11 @@ static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "allnan.pyx":306 + /* "allnan.pyx":326 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=1." + * def allnan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=1." * cdef int f = 1 */ @@ -3863,7 +4211,7 @@ static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3876,27 +4224,27 @@ static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "allnan.pyx":328 +/* "allnan.pyx":352 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=0." + * def allnan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_17allnan_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_16allnan_2d_int64_axis0[] = "allnan_2d_int64_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_6allnan_17allnan_2d_int64_axis0 = {"allnan_2d_int64_axis0", (PyCFunction)__pyx_pw_6allnan_17allnan_2d_int64_axis0, METH_O, __pyx_doc_6allnan_16allnan_2d_int64_axis0}; -static PyObject *__pyx_pw_6allnan_17allnan_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_17allnan_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_16allnan_1d_float_axisNone[] = "allnan_1d_float_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=float along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_17allnan_1d_float_axisNone = {"allnan_1d_float_axisNone", (PyCFunction)__pyx_pw_6allnan_17allnan_1d_float_axisNone, METH_O, __pyx_doc_6allnan_16allnan_1d_float_axisNone}; +static PyObject *__pyx_pw_6allnan_17allnan_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_16allnan_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_1d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_16allnan_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3907,231 +4255,184 @@ static PyObject *__pyx_pw_6allnan_17allnan_2d_int64_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6allnan_16allnan_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6allnan_16allnan_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; + __pyx_t_5numpy_float_t __pyx_v_ai; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; int __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("allnan_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "allnan.pyx":330 - * def allnan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int64 along axis=0." + /* "allnan.pyx":354 + * def allnan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): + * "Check for all NaNs in 1d array with dtype=float along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.float_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "allnan.pyx":334 - * cdef Py_ssize_t i0, i1 + /* "allnan.pyx":358 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":335 + /* "allnan.pyx":359 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":336 + /* "allnan.pyx":360 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "allnan.pyx":337 + /* "allnan.pyx":361 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * return np.bool_(False) */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "allnan.pyx":338 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * if n0 == 0: + /* "allnan.pyx":362 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * return np.bool_(False) + * return np.bool_(True) */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "allnan.pyx":340 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * f = 1 - * else: - */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { - - /* "allnan.pyx":341 - * NPY_BOOL, 0) - * if n0 == 0: - * f = 1 # <<<<<<<<<<<<<< - * else: - * f = 0 - */ - __pyx_v_f = 1; - goto __pyx_L3; - } - /*else*/ { - - /* "allnan.pyx":343 - * f = 1 - * else: - * f = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * y[i1] = f - */ - __pyx_v_f = 0; - } - __pyx_L3:; - - /* "allnan.pyx":344 - * else: - * f = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i1] = f - * return y - */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; - - /* "allnan.pyx":345 - * f = 0 - * for i1 in range(n1): - * y[i1] = f # <<<<<<<<<<<<<< - * return y + /* "allnan.pyx":363 + * ai = a[i0] + * if ai == ai: + * return np.bool_(False) # <<<<<<<<<<<<<< + * return np.bool_(True) * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + } } - /* "allnan.pyx":346 - * for i1 in range(n1): - * y[i1] = f - * return y # <<<<<<<<<<<<<< + /* "allnan.pyx":364 + * if ai == ai: + * return np.bool_(False) + * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; goto __pyx_L0; - /* "allnan.pyx":328 + /* "allnan.pyx":352 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=0." + * def allnan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":350 +/* "allnan.pyx":368 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=1." + * def allnan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float32 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_19allnan_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_18allnan_2d_int64_axis1[] = "allnan_2d_int64_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=int64 along axis=1."; -static PyMethodDef __pyx_mdef_6allnan_19allnan_2d_int64_axis1 = {"allnan_2d_int64_axis1", (PyCFunction)__pyx_pw_6allnan_19allnan_2d_int64_axis1, METH_O, __pyx_doc_6allnan_18allnan_2d_int64_axis1}; -static PyObject *__pyx_pw_6allnan_19allnan_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_19allnan_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_18allnan_1d_float32_axisNone[] = "allnan_1d_float32_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=float32 along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_19allnan_1d_float32_axisNone = {"allnan_1d_float32_axisNone", (PyCFunction)__pyx_pw_6allnan_19allnan_1d_float32_axisNone, METH_O, __pyx_doc_6allnan_18allnan_1d_float32_axisNone}; +static PyObject *__pyx_pw_6allnan_19allnan_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_18allnan_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_1d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_18allnan_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4142,231 +4443,184 @@ static PyObject *__pyx_pw_6allnan_19allnan_2d_int64_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6allnan_18allnan_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; +static PyObject *__pyx_pf_6allnan_18allnan_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; int __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("allnan_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "allnan.pyx":352 - * def allnan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int64 along axis=1." + /* "allnan.pyx":370 + * def allnan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): + * "Check for all NaNs in 1d array with dtype=float32 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.float32_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "allnan.pyx":356 - * cdef Py_ssize_t i0, i1 + /* "allnan.pyx":374 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":357 + /* "allnan.pyx":375 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":358 + /* "allnan.pyx":376 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "allnan.pyx":359 + /* "allnan.pyx":377 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "allnan.pyx":360 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * if n1 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "allnan.pyx":362 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * f = 1 - * else: - */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { - - /* "allnan.pyx":363 - * NPY_BOOL, 0) - * if n1 == 0: - * f = 1 # <<<<<<<<<<<<<< - * else: - * f = 0 - */ - __pyx_v_f = 1; - goto __pyx_L3; - } - /*else*/ { - - /* "allnan.pyx":365 - * f = 1 - * else: - * f = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * y[i0] = f + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * return np.bool_(False) */ - __pyx_v_f = 0; - } - __pyx_L3:; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "allnan.pyx":366 - * else: - * f = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = f - * return y + /* "allnan.pyx":378 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * return np.bool_(False) + * return np.bool_(True) */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "allnan.pyx":367 - * f = 0 - * for i0 in range(n0): - * y[i0] = f # <<<<<<<<<<<<<< - * return y + /* "allnan.pyx":379 + * ai = a[i0] + * if ai == ai: + * return np.bool_(False) # <<<<<<<<<<<<<< + * return np.bool_(True) * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + } } - /* "allnan.pyx":368 - * for i0 in range(n0): - * y[i0] = f - * return y # <<<<<<<<<<<<<< + /* "allnan.pyx":380 + * if ai == ai: + * return np.bool_(False) + * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "allnan.pyx":350 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def allnan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=1." + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + + /* "allnan.pyx":368 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def allnan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float32 along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":372 +/* "allnan.pyx":384 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float along axis=None." + * def allnan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float64 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_21allnan_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_20allnan_1d_float_axisNone[] = "allnan_1d_float_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=float along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_21allnan_1d_float_axisNone = {"allnan_1d_float_axisNone", (PyCFunction)__pyx_pw_6allnan_21allnan_1d_float_axisNone, METH_O, __pyx_doc_6allnan_20allnan_1d_float_axisNone}; -static PyObject *__pyx_pw_6allnan_21allnan_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_21allnan_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_20allnan_1d_float64_axisNone[] = "allnan_1d_float64_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=float64 along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_21allnan_1d_float64_axisNone = {"allnan_1d_float64_axisNone", (PyCFunction)__pyx_pw_6allnan_21allnan_1d_float64_axisNone, METH_O, __pyx_doc_6allnan_20allnan_1d_float64_axisNone}; +static PyObject *__pyx_pw_6allnan_21allnan_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_1d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_20allnan_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_1d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_20allnan_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4377,9 +4631,9 @@ static PyObject *__pyx_pw_6allnan_21allnan_1d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_20allnan_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4396,27 +4650,27 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "allnan.pyx":374 - * def allnan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): - * "Check for all NaNs in 1d array with dtype=float along axis=None." + /* "allnan.pyx":386 + * def allnan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): + * "Check for all NaNs in 1d array with dtype=float64 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "allnan.pyx":378 + /* "allnan.pyx":390 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4425,7 +4679,7 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":379 + /* "allnan.pyx":391 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4434,7 +4688,7 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":380 + /* "allnan.pyx":392 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4445,7 +4699,7 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "allnan.pyx":381 + /* "allnan.pyx":393 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -4453,9 +4707,9 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj * return np.bool_(False) */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "allnan.pyx":382 + /* "allnan.pyx":394 * for i0 in range(n0): * ai = a[i0] * if ai == ai: # <<<<<<<<<<<<<< @@ -4465,7 +4719,7 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "allnan.pyx":383 + /* "allnan.pyx":395 * ai = a[i0] * if ai == ai: * return np.bool_(False) # <<<<<<<<<<<<<< @@ -4473,12 +4727,12 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_r = __pyx_t_5; @@ -4487,7 +4741,7 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "allnan.pyx":384 + /* "allnan.pyx":396 * if ai == ai: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< @@ -4495,23 +4749,23 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; - /* "allnan.pyx":372 + /* "allnan.pyx":384 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float along axis=None." + * def allnan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float64 along axis=None." * cdef int f = 1 */ @@ -4523,7 +4777,7 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4534,27 +4788,27 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "allnan.pyx":388 +/* "allnan.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float32 along axis=None." + * def allnan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_23allnan_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_22allnan_1d_float32_axisNone[] = "allnan_1d_float32_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=float32 along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_23allnan_1d_float32_axisNone = {"allnan_1d_float32_axisNone", (PyCFunction)__pyx_pw_6allnan_23allnan_1d_float32_axisNone, METH_O, __pyx_doc_6allnan_22allnan_1d_float32_axisNone}; -static PyObject *__pyx_pw_6allnan_23allnan_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_23allnan_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_22allnan_2d_float_axisNone[] = "allnan_2d_float_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=float along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_23allnan_2d_float_axisNone = {"allnan_2d_float_axisNone", (PyCFunction)__pyx_pw_6allnan_23allnan_2d_float_axisNone, METH_O, __pyx_doc_6allnan_22allnan_2d_float_axisNone}; +static PyObject *__pyx_pw_6allnan_23allnan_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_1d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_22allnan_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_22allnan_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4565,12 +4819,14 @@ static PyObject *__pyx_pw_6allnan_23allnan_1d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6allnan_22allnan_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_22allnan_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -4578,140 +4834,165 @@ static PyObject *__pyx_pf_6allnan_22allnan_1d_float32_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":390 - * def allnan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): - * "Check for all NaNs in 1d array with dtype=float32 along axis=None." + /* "allnan.pyx":402 + * def allnan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=float along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai - * cdef Py_ssize_t i0 + * cdef np.float_t ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":394 - * cdef Py_ssize_t i0 + /* "allnan.pyx":406 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":395 + /* "allnan.pyx":407 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":396 + /* "allnan.pyx":408 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "allnan.pyx":409 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "allnan.pyx":397 - * cdef Py_ssize_t n0 = dim[0] + /* "allnan.pyx":410 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * return np.bool_(False) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "allnan.pyx":398 + /* "allnan.pyx":411 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * return np.bool_(False) + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * return np.bool_(False) + */ + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "allnan.pyx":412 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * return np.bool_(False) * return np.bool_(True) */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { - /* "allnan.pyx":399 - * ai = a[i0] - * if ai == ai: - * return np.bool_(False) # <<<<<<<<<<<<<< + /* "allnan.pyx":413 + * ai = a[i0, i1] + * if ai == ai: + * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; + } } } - /* "allnan.pyx":400 - * if ai == ai: - * return np.bool_(False) + /* "allnan.pyx":414 + * if ai == ai: + * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; goto __pyx_L0; - /* "allnan.pyx":388 + /* "allnan.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float32 along axis=None." + * def allnan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4722,27 +5003,27 @@ static PyObject *__pyx_pf_6allnan_22allnan_1d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "allnan.pyx":404 +/* "allnan.pyx":418 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float64 along axis=None." + * def allnan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_25allnan_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_24allnan_1d_float64_axisNone[] = "allnan_1d_float64_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=float64 along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_25allnan_1d_float64_axisNone = {"allnan_1d_float64_axisNone", (PyCFunction)__pyx_pw_6allnan_25allnan_1d_float64_axisNone, METH_O, __pyx_doc_6allnan_24allnan_1d_float64_axisNone}; -static PyObject *__pyx_pw_6allnan_25allnan_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_25allnan_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_24allnan_2d_float32_axisNone[] = "allnan_2d_float32_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=float32 along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_25allnan_2d_float32_axisNone = {"allnan_2d_float32_axisNone", (PyCFunction)__pyx_pw_6allnan_25allnan_2d_float32_axisNone, METH_O, __pyx_doc_6allnan_24allnan_2d_float32_axisNone}; +static PyObject *__pyx_pw_6allnan_25allnan_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_1d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_24allnan_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_24allnan_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4753,12 +5034,14 @@ static PyObject *__pyx_pw_6allnan_25allnan_1d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6allnan_24allnan_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_24allnan_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -4766,265 +5049,75 @@ static PyObject *__pyx_pf_6allnan_24allnan_1d_float64_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_1d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":406 - * def allnan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): - * "Check for all NaNs in 1d array with dtype=float64 along axis=None." + /* "allnan.pyx":420 + * def allnan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=float32 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai - * cdef Py_ssize_t i0 + * cdef np.float32_t ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":410 - * cdef Py_ssize_t i0 + /* "allnan.pyx":424 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":411 + /* "allnan.pyx":425 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":412 + /* "allnan.pyx":426 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "allnan.pyx":427 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "allnan.pyx":413 - * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * return np.bool_(False) - */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - - /* "allnan.pyx":414 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * return np.bool_(False) - * return np.bool_(True) - */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { - - /* "allnan.pyx":415 - * ai = a[i0] - * if ai == ai: - * return np.bool_(False) # <<<<<<<<<<<<<< - * return np.bool_(True) - * - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; - } - } - - /* "allnan.pyx":416 - * if ai == ai: - * return np.bool_(False) - * return np.bool_(True) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; - - /* "allnan.pyx":404 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def allnan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float64 along axis=None." - * cdef int f = 1 - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; - __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - goto __pyx_L2; - __pyx_L0:; - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __pyx_L2:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "allnan.pyx":420 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def allnan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=None." - * cdef int f = 1 - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_6allnan_27allnan_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_26allnan_2d_float_axisNone[] = "allnan_2d_float_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=float along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_27allnan_2d_float_axisNone = {"allnan_2d_float_axisNone", (PyCFunction)__pyx_pw_6allnan_27allnan_2d_float_axisNone, METH_O, __pyx_doc_6allnan_26allnan_2d_float_axisNone}; -static PyObject *__pyx_pw_6allnan_27allnan_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_lineno = 0; - CYTHON_UNUSED const char *__pyx_filename = NULL; - CYTHON_UNUSED int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_26allnan_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_6allnan_26allnan_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; - npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - __Pyx_LocalBuf_ND __pyx_pybuffernd_a; - __Pyx_Buffer __pyx_pybuffer_a; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_float_axisNone", 0); - __pyx_pybuffer_a.pybuffer.buf = NULL; - __pyx_pybuffer_a.refcount = 0; - __pyx_pybuffernd_a.data = NULL; - __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "allnan.pyx":422 - * def allnan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=float along axis=None." - * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_f = 1; - - /* "allnan.pyx":426 - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - */ - __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - - /* "allnan.pyx":427 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "allnan.pyx":428 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "allnan.pyx":429 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; - - /* "allnan.pyx":430 - * cdef Py_ssize_t n1 = dim[1] + /* "allnan.pyx":428 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] @@ -5034,7 +5127,7 @@ static PyObject *__pyx_pf_6allnan_26allnan_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "allnan.pyx":431 + /* "allnan.pyx":429 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -5043,9 +5136,9 @@ static PyObject *__pyx_pf_6allnan_26allnan_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_t_5 = __pyx_v_i0; __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "allnan.pyx":432 + /* "allnan.pyx":430 * for i1 in range(n1): * ai = a[i0, i1] * if ai == ai: # <<<<<<<<<<<<<< @@ -5055,7 +5148,7 @@ static PyObject *__pyx_pf_6allnan_26allnan_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "allnan.pyx":433 + /* "allnan.pyx":431 * ai = a[i0, i1] * if ai == ai: * return np.bool_(False) # <<<<<<<<<<<<<< @@ -5063,12 +5156,12 @@ static PyObject *__pyx_pf_6allnan_26allnan_2d_float_axisNone(CYTHON_UNUSED PyObj * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_8; @@ -5078,7 +5171,7 @@ static PyObject *__pyx_pf_6allnan_26allnan_2d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "allnan.pyx":434 + /* "allnan.pyx":432 * if ai == ai: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< @@ -5086,23 +5179,23 @@ static PyObject *__pyx_pf_6allnan_26allnan_2d_float_axisNone(CYTHON_UNUSED PyObj * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_8; __pyx_t_8 = 0; goto __pyx_L0; - /* "allnan.pyx":420 + /* "allnan.pyx":418 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=None." + * def allnan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=None." * cdef int f = 1 */ @@ -5114,7 +5207,7 @@ static PyObject *__pyx_pf_6allnan_26allnan_2d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5125,27 +5218,27 @@ static PyObject *__pyx_pf_6allnan_26allnan_2d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "allnan.pyx":438 +/* "allnan.pyx":436 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=None." + * def allnan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_29allnan_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_28allnan_2d_float32_axisNone[] = "allnan_2d_float32_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=float32 along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_29allnan_2d_float32_axisNone = {"allnan_2d_float32_axisNone", (PyCFunction)__pyx_pw_6allnan_29allnan_2d_float32_axisNone, METH_O, __pyx_doc_6allnan_28allnan_2d_float32_axisNone}; -static PyObject *__pyx_pw_6allnan_29allnan_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_27allnan_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_26allnan_2d_float64_axisNone[] = "allnan_2d_float64_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=float64 along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_27allnan_2d_float64_axisNone = {"allnan_2d_float64_axisNone", (PyCFunction)__pyx_pw_6allnan_27allnan_2d_float64_axisNone, METH_O, __pyx_doc_6allnan_26allnan_2d_float64_axisNone}; +static PyObject *__pyx_pw_6allnan_27allnan_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_28allnan_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_26allnan_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5156,9 +5249,9 @@ static PyObject *__pyx_pw_6allnan_29allnan_2d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_26allnan_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -5180,27 +5273,27 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":440 - * def allnan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=float32 along axis=None." + /* "allnan.pyx":438 + * def allnan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=float64 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":444 + /* "allnan.pyx":442 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5209,7 +5302,7 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":445 + /* "allnan.pyx":443 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5218,7 +5311,7 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":446 + /* "allnan.pyx":444 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5227,7 +5320,7 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":447 + /* "allnan.pyx":445 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5238,7 +5331,7 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "allnan.pyx":448 + /* "allnan.pyx":446 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -5249,7 +5342,7 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "allnan.pyx":449 + /* "allnan.pyx":447 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -5258,9 +5351,9 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_t_5 = __pyx_v_i0; __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "allnan.pyx":450 + /* "allnan.pyx":448 * for i1 in range(n1): * ai = a[i0, i1] * if ai == ai: # <<<<<<<<<<<<<< @@ -5270,7 +5363,7 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "allnan.pyx":451 + /* "allnan.pyx":449 * ai = a[i0, i1] * if ai == ai: * return np.bool_(False) # <<<<<<<<<<<<<< @@ -5278,12 +5371,12 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_8; @@ -5293,7 +5386,7 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO } } - /* "allnan.pyx":452 + /* "allnan.pyx":450 * if ai == ai: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< @@ -5301,23 +5394,23 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_8; __pyx_t_8 = 0; goto __pyx_L0; - /* "allnan.pyx":438 + /* "allnan.pyx":436 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=None." + * def allnan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=None." * cdef int f = 1 */ @@ -5329,7 +5422,7 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5340,27 +5433,27 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "allnan.pyx":456 +/* "allnan.pyx":454 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=None." + * def allnan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_31allnan_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_30allnan_2d_float64_axisNone[] = "allnan_2d_float64_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=float64 along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_31allnan_2d_float64_axisNone = {"allnan_2d_float64_axisNone", (PyCFunction)__pyx_pw_6allnan_31allnan_2d_float64_axisNone, METH_O, __pyx_doc_6allnan_30allnan_2d_float64_axisNone}; -static PyObject *__pyx_pw_6allnan_31allnan_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_29allnan_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_28allnan_1d_int_axisNone[] = "allnan_1d_int_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=int along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_29allnan_1d_int_axisNone = {"allnan_1d_int_axisNone", (PyCFunction)__pyx_pw_6allnan_29allnan_1d_int_axisNone, METH_O, __pyx_doc_6allnan_28allnan_1d_int_axisNone}; +static PyObject *__pyx_pw_6allnan_29allnan_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_30allnan_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_1d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_28allnan_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5371,180 +5464,128 @@ static PyObject *__pyx_pw_6allnan_31allnan_2d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6allnan_30allnan_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_28allnan_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_1d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "allnan.pyx":458 - * def allnan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=float64 along axis=None." + /* "allnan.pyx":456 + * def allnan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): + * "Check for all NaNs in 1d array with dtype=int along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.int_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "allnan.pyx":462 - * cdef Py_ssize_t i0, i1 + /* "allnan.pyx":460 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":463 + /* "allnan.pyx":461 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * if n0 == 0: + * return np.bool_(True) */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":464 + /* "allnan.pyx":462 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * if n0 == 0: # <<<<<<<<<<<<<< + * return np.bool_(True) + * else: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "allnan.pyx":465 + /* "allnan.pyx":463 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; - - /* "allnan.pyx":466 - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; - - /* "allnan.pyx":467 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * return np.bool_(False) - */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "allnan.pyx":468 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * return np.bool_(False) - * return np.bool_(True) - */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { - - /* "allnan.pyx":469 - * ai = a[i0, i1] - * if ai == ai: - * return np.bool_(False) # <<<<<<<<<<<<<< - * return np.bool_(True) - * + * if n0 == 0: + * return np.bool_(True) # <<<<<<<<<<<<<< + * else: + * return np.bool_(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; - } - } + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "allnan.pyx":470 - * if ai == ai: - * return np.bool_(False) - * return np.bool_(True) # <<<<<<<<<<<<<< + /* "allnan.pyx":465 + * return np.bool_(True) + * else: + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "allnan.pyx":456 + /* "allnan.pyx":454 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=None." + * def allnan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5555,27 +5596,27 @@ static PyObject *__pyx_pf_6allnan_30allnan_2d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "allnan.pyx":474 +/* "allnan.pyx":469 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=0." + * def allnan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int8 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_33allnan_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_32allnan_2d_float_axis0[] = "allnan_2d_float_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_6allnan_33allnan_2d_float_axis0 = {"allnan_2d_float_axis0", (PyCFunction)__pyx_pw_6allnan_33allnan_2d_float_axis0, METH_O, __pyx_doc_6allnan_32allnan_2d_float_axis0}; -static PyObject *__pyx_pw_6allnan_33allnan_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_31allnan_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_30allnan_1d_int8_axisNone[] = "allnan_1d_int8_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=int8 along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_31allnan_1d_int8_axisNone = {"allnan_1d_int8_axisNone", (PyCFunction)__pyx_pw_6allnan_31allnan_1d_int8_axisNone, METH_O, __pyx_doc_6allnan_30allnan_1d_int8_axisNone}; +static PyObject *__pyx_pw_6allnan_31allnan_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_32allnan_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_1d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_30allnan_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5586,289 +5627,159 @@ static PyObject *__pyx_pw_6allnan_33allnan_2d_float_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6allnan_32allnan_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6allnan_30allnan_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_float_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("allnan_1d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "allnan.pyx":476 - * def allnan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=float along axis=0." + /* "allnan.pyx":471 + * def allnan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): + * "Check for all NaNs in 1d array with dtype=int8 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.int8_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "allnan.pyx":480 - * cdef Py_ssize_t i0, i1 + /* "allnan.pyx":475 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":481 + /* "allnan.pyx":476 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 == 0: + * return np.bool_(True) */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":482 + /* "allnan.pyx":477 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * if n0 == 0: # <<<<<<<<<<<<<< + * return np.bool_(True) + * else: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "allnan.pyx":483 + /* "allnan.pyx":478 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "allnan.pyx":484 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i1 in range(n1): + * if n0 == 0: + * return np.bool_(True) # <<<<<<<<<<<<<< + * else: + * return np.bool_(False) */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + /*else*/ { - /* "allnan.pyx":486 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * f = 1 - * for i0 in range(n0): + /* "allnan.pyx":480 + * return np.bool_(True) + * else: + * return np.bool_(False) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "allnan.pyx":487 - * NPY_BOOL, 0) - * for i1 in range(n1): - * f = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; - - /* "allnan.pyx":488 - * for i1 in range(n1): - * f = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "allnan.pyx":489 - * f = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * y[i1] = 0 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "allnan.pyx":490 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * y[i1] = 0 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "allnan.pyx":491 - * ai = a[i0, i1] - * if ai == ai: - * y[i1] = 0 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - - /* "allnan.pyx":492 - * if ai == ai: - * y[i1] = 0 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; - - /* "allnan.pyx":493 - * y[i1] = 0 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i1] = 1 - */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; - - /* "allnan.pyx":494 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i1] = 1 - * return y - */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { - - /* "allnan.pyx":495 - * break - * if f == 1: - * y[i1] = 1 # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "allnan.pyx":496 - * if f == 1: - * y[i1] = 1 - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "allnan.pyx":474 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def allnan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=0." - * cdef int f = 1 + /* "allnan.pyx":469 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def allnan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int8 along axis=None." + * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":500 +/* "allnan.pyx":484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=1." + * def allnan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int32 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_35allnan_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_34allnan_2d_float_axis1[] = "allnan_2d_float_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=float along axis=1."; -static PyMethodDef __pyx_mdef_6allnan_35allnan_2d_float_axis1 = {"allnan_2d_float_axis1", (PyCFunction)__pyx_pw_6allnan_35allnan_2d_float_axis1, METH_O, __pyx_doc_6allnan_34allnan_2d_float_axis1}; -static PyObject *__pyx_pw_6allnan_35allnan_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_33allnan_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_32allnan_1d_int32_axisNone[] = "allnan_1d_int32_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=int32 along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_33allnan_1d_int32_axisNone = {"allnan_1d_int32_axisNone", (PyCFunction)__pyx_pw_6allnan_33allnan_1d_int32_axisNone, METH_O, __pyx_doc_6allnan_32allnan_1d_int32_axisNone}; +static PyObject *__pyx_pw_6allnan_33allnan_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_float_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_34allnan_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_1d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_32allnan_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5879,289 +5790,159 @@ static PyObject *__pyx_pw_6allnan_35allnan_2d_float_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6allnan_34allnan_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6allnan_32allnan_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_float_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("allnan_1d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "allnan.pyx":502 - * def allnan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=float along axis=1." + /* "allnan.pyx":486 + * def allnan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): + * "Check for all NaNs in 1d array with dtype=int32 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.int32_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "allnan.pyx":506 - * cdef Py_ssize_t i0, i1 + /* "allnan.pyx":490 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":507 + /* "allnan.pyx":491 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 == 0: + * return np.bool_(True) */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":508 + /* "allnan.pyx":492 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * if n0 == 0: # <<<<<<<<<<<<<< + * return np.bool_(True) + * else: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "allnan.pyx":509 + /* "allnan.pyx":493 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "allnan.pyx":510 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "allnan.pyx":512 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * f = 1 - * for i1 in range(n1): - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "allnan.pyx":513 - * NPY_BOOL, 0) - * for i0 in range(n0): - * f = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; - - /* "allnan.pyx":514 - * for i0 in range(n0): - * f = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "allnan.pyx":515 - * f = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * y[i0] = 0 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "allnan.pyx":516 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * y[i0] = 0 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "allnan.pyx":517 - * ai = a[i0, i1] - * if ai == ai: - * y[i0] = 0 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - - /* "allnan.pyx":518 - * if ai == ai: - * y[i0] = 0 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; - - /* "allnan.pyx":519 - * y[i0] = 0 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i0] = 1 - */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; - - /* "allnan.pyx":520 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i0] = 1 - * return y - */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { - - /* "allnan.pyx":521 - * break - * if f == 1: - * y[i0] = 1 # <<<<<<<<<<<<<< - * return y - * + * if n0 == 0: + * return np.bool_(True) # <<<<<<<<<<<<<< + * else: + * return np.bool_(False) */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; - } - __pyx_L8:; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "allnan.pyx":522 - * if f == 1: - * y[i0] = 1 - * return y # <<<<<<<<<<<<<< + /* "allnan.pyx":495 + * return np.bool_(True) + * else: + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "allnan.pyx":500 + /* "allnan.pyx":484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=1." + * def allnan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int32 along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":526 +/* "allnan.pyx":499 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=0." + * def allnan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int64 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_37allnan_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_36allnan_2d_float32_axis0[] = "allnan_2d_float32_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_6allnan_37allnan_2d_float32_axis0 = {"allnan_2d_float32_axis0", (PyCFunction)__pyx_pw_6allnan_37allnan_2d_float32_axis0, METH_O, __pyx_doc_6allnan_36allnan_2d_float32_axis0}; -static PyObject *__pyx_pw_6allnan_37allnan_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_35allnan_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_34allnan_1d_int64_axisNone[] = "allnan_1d_int64_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=int64 along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_35allnan_1d_int64_axisNone = {"allnan_1d_int64_axisNone", (PyCFunction)__pyx_pw_6allnan_35allnan_1d_int64_axisNone, METH_O, __pyx_doc_6allnan_34allnan_1d_int64_axisNone}; +static PyObject *__pyx_pw_6allnan_35allnan_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_36allnan_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_1d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_34allnan_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6172,289 +5953,159 @@ static PyObject *__pyx_pw_6allnan_37allnan_2d_float32_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6allnan_36allnan_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6allnan_34allnan_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_float32_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("allnan_1d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "allnan.pyx":528 - * def allnan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=float32 along axis=0." + /* "allnan.pyx":501 + * def allnan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): + * "Check for all NaNs in 1d array with dtype=int64 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.int64_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "allnan.pyx":532 - * cdef Py_ssize_t i0, i1 + /* "allnan.pyx":505 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":533 + /* "allnan.pyx":506 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "allnan.pyx":534 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "allnan.pyx":535 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "allnan.pyx":536 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "allnan.pyx":538 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * f = 1 - * for i0 in range(n0): - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "allnan.pyx":539 - * NPY_BOOL, 0) - * for i1 in range(n1): - * f = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; - - /* "allnan.pyx":540 - * for i1 in range(n1): - * f = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "allnan.pyx":541 - * f = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * y[i1] = 0 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "allnan.pyx":542 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * y[i1] = 0 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "allnan.pyx":543 - * ai = a[i0, i1] - * if ai == ai: - * y[i1] = 0 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - - /* "allnan.pyx":544 - * if ai == ai: - * y[i1] = 0 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; - - /* "allnan.pyx":545 - * y[i1] = 0 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i1] = 1 + * if n0 == 0: + * return np.bool_(True) */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":546 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i1] = 1 - * return y + /* "allnan.pyx":507 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: # <<<<<<<<<<<<<< + * return np.bool_(True) + * else: */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "allnan.pyx":547 - * break - * if f == 1: - * y[i1] = 1 # <<<<<<<<<<<<<< - * return y - * + /* "allnan.pyx":508 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: + * return np.bool_(True) # <<<<<<<<<<<<<< + * else: + * return np.bool_(False) */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; - } - __pyx_L8:; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "allnan.pyx":548 - * if f == 1: - * y[i1] = 1 - * return y # <<<<<<<<<<<<<< + /* "allnan.pyx":510 + * return np.bool_(True) + * else: + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "allnan.pyx":526 + /* "allnan.pyx":499 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=0." + * def allnan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int64 along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":552 +/* "allnan.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=1." + * def allnan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_39allnan_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_38allnan_2d_float32_axis1[] = "allnan_2d_float32_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=float32 along axis=1."; -static PyMethodDef __pyx_mdef_6allnan_39allnan_2d_float32_axis1 = {"allnan_2d_float32_axis1", (PyCFunction)__pyx_pw_6allnan_39allnan_2d_float32_axis1, METH_O, __pyx_doc_6allnan_38allnan_2d_float32_axis1}; -static PyObject *__pyx_pw_6allnan_39allnan_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_37allnan_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_36allnan_2d_int_axisNone[] = "allnan_2d_int_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=int along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_37allnan_2d_int_axisNone = {"allnan_2d_int_axisNone", (PyCFunction)__pyx_pw_6allnan_37allnan_2d_int_axisNone, METH_O, __pyx_doc_6allnan_36allnan_2d_int_axisNone}; +static PyObject *__pyx_pw_6allnan_37allnan_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_float32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_38allnan_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_36allnan_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6465,61 +6116,42 @@ static PyObject *__pyx_pw_6allnan_39allnan_2d_float32_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6allnan_38allnan_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6allnan_36allnan_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_float32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("allnan_2d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":554 - * def allnan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=float32 along axis=1." + /* "allnan.pyx":516 + * def allnan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai + * cdef np.int_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":558 + /* "allnan.pyx":520 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6528,226 +6160,125 @@ static PyObject *__pyx_pf_6allnan_38allnan_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":559 + /* "allnan.pyx":521 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0* n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":560 + /* "allnan.pyx":522 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * if n0* n1 == 0: + * return np.bool_(True) */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":561 + /* "allnan.pyx":523 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) + * if n0* n1 == 0: # <<<<<<<<<<<<<< + * return np.bool_(True) + * else: */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "allnan.pyx":562 + /* "allnan.pyx":524 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "allnan.pyx":564 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * f = 1 - * for i1 in range(n1): - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "allnan.pyx":565 - * NPY_BOOL, 0) - * for i0 in range(n0): - * f = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; - - /* "allnan.pyx":566 - * for i0 in range(n0): - * f = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "allnan.pyx":567 - * f = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * y[i0] = 0 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "allnan.pyx":568 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * y[i0] = 0 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "allnan.pyx":569 - * ai = a[i0, i1] - * if ai == ai: - * y[i0] = 0 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - - /* "allnan.pyx":570 - * if ai == ai: - * y[i0] = 0 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; - - /* "allnan.pyx":571 - * y[i0] = 0 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i0] = 1 - */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; - - /* "allnan.pyx":572 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i0] = 1 - * return y - */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { - - /* "allnan.pyx":573 - * break - * if f == 1: - * y[i0] = 1 # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; - } - __pyx_L8:; + * if n0* n1 == 0: + * return np.bool_(True) # <<<<<<<<<<<<<< + * else: + * return np.bool_(False) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "allnan.pyx":574 - * if f == 1: - * y[i0] = 1 - * return y # <<<<<<<<<<<<<< + /* "allnan.pyx":526 + * return np.bool_(True) + * else: + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__22, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "allnan.pyx":552 + /* "allnan.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=1." + * def allnan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":578 +/* "allnan.pyx":530 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=0." + * def allnan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_41allnan_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_40allnan_2d_float64_axis0[] = "allnan_2d_float64_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_6allnan_41allnan_2d_float64_axis0 = {"allnan_2d_float64_axis0", (PyCFunction)__pyx_pw_6allnan_41allnan_2d_float64_axis0, METH_O, __pyx_doc_6allnan_40allnan_2d_float64_axis0}; -static PyObject *__pyx_pw_6allnan_41allnan_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_39allnan_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_38allnan_2d_int8_axisNone[] = "allnan_2d_int8_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=int8 along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_39allnan_2d_int8_axisNone = {"allnan_2d_int8_axisNone", (PyCFunction)__pyx_pw_6allnan_39allnan_2d_int8_axisNone, METH_O, __pyx_doc_6allnan_38allnan_2d_int8_axisNone}; +static PyObject *__pyx_pw_6allnan_39allnan_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_40allnan_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_38allnan_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6758,61 +6289,42 @@ static PyObject *__pyx_pw_6allnan_41allnan_2d_float64_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6allnan_40allnan_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6allnan_38allnan_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_float64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("allnan_2d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":580 - * def allnan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=float64 along axis=0." + /* "allnan.pyx":532 + * def allnan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int8 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai + * cdef np.int8_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":584 + /* "allnan.pyx":536 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6821,226 +6333,125 @@ static PyObject *__pyx_pf_6allnan_40allnan_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":585 + /* "allnan.pyx":537 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0* n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":586 + /* "allnan.pyx":538 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * if n0* n1 == 0: + * return np.bool_(True) */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":587 + /* "allnan.pyx":539 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) + * if n0* n1 == 0: # <<<<<<<<<<<<<< + * return np.bool_(True) + * else: */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "allnan.pyx":588 + /* "allnan.pyx":540 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "allnan.pyx":590 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * f = 1 - * for i0 in range(n0): - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "allnan.pyx":591 - * NPY_BOOL, 0) - * for i1 in range(n1): - * f = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; - - /* "allnan.pyx":592 - * for i1 in range(n1): - * f = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "allnan.pyx":593 - * f = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * y[i1] = 0 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "allnan.pyx":594 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * y[i1] = 0 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "allnan.pyx":595 - * ai = a[i0, i1] - * if ai == ai: - * y[i1] = 0 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - - /* "allnan.pyx":596 - * if ai == ai: - * y[i1] = 0 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; - - /* "allnan.pyx":597 - * y[i1] = 0 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i1] = 1 - */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; - - /* "allnan.pyx":598 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i1] = 1 - * return y - */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { - - /* "allnan.pyx":599 - * break - * if f == 1: - * y[i1] = 1 # <<<<<<<<<<<<<< - * return y - * + * if n0* n1 == 0: + * return np.bool_(True) # <<<<<<<<<<<<<< + * else: + * return np.bool_(False) */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; - } - __pyx_L8:; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__23, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "allnan.pyx":600 - * if f == 1: - * y[i1] = 1 - * return y # <<<<<<<<<<<<<< + /* "allnan.pyx":542 + * return np.bool_(True) + * else: + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "allnan.pyx":578 + /* "allnan.pyx":530 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=0." + * def allnan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":604 +/* "allnan.pyx":546 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=1." + * def allnan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_43allnan_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_42allnan_2d_float64_axis1[] = "allnan_2d_float64_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=float64 along axis=1."; -static PyMethodDef __pyx_mdef_6allnan_43allnan_2d_float64_axis1 = {"allnan_2d_float64_axis1", (PyCFunction)__pyx_pw_6allnan_43allnan_2d_float64_axis1, METH_O, __pyx_doc_6allnan_42allnan_2d_float64_axis1}; -static PyObject *__pyx_pw_6allnan_43allnan_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_41allnan_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_40allnan_2d_int32_axisNone[] = "allnan_2d_int32_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=int32 along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_41allnan_2d_int32_axisNone = {"allnan_2d_int32_axisNone", (PyCFunction)__pyx_pw_6allnan_41allnan_2d_int32_axisNone, METH_O, __pyx_doc_6allnan_40allnan_2d_int32_axisNone}; +static PyObject *__pyx_pw_6allnan_41allnan_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_float64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_42allnan_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_40allnan_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7051,61 +6462,42 @@ static PyObject *__pyx_pw_6allnan_43allnan_2d_float64_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6allnan_42allnan_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6allnan_40allnan_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_float64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("allnan_2d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":606 - * def allnan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=float64 along axis=1." + /* "allnan.pyx":548 + * def allnan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int32 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai + * cdef np.int32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":610 + /* "allnan.pyx":552 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7114,226 +6506,298 @@ static PyObject *__pyx_pf_6allnan_42allnan_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":611 + /* "allnan.pyx":553 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0* n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":612 + /* "allnan.pyx":554 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * if n0* n1 == 0: + * return np.bool_(True) */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":613 + /* "allnan.pyx":555 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) + * if n0* n1 == 0: # <<<<<<<<<<<<<< + * return np.bool_(True) + * else: */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "allnan.pyx":614 + /* "allnan.pyx":556 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i0 in range(n0): + * if n0* n1 == 0: + * return np.bool_(True) # <<<<<<<<<<<<<< + * else: + * return np.bool_(False) */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + /*else*/ { - /* "allnan.pyx":616 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * f = 1 - * for i1 in range(n1): + /* "allnan.pyx":558 + * return np.bool_(True) + * else: + * return np.bool_(False) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "allnan.pyx":617 - * NPY_BOOL, 0) - * for i0 in range(n0): - * f = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "allnan.pyx":546 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def allnan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=None." + * cdef int f = 1 */ - __pyx_v_f = 1; - /* "allnan.pyx":618 - * for i0 in range(n0): - * f = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("allnan.allnan_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __pyx_L2:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} - /* "allnan.pyx":619 - * f = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * y[i0] = 0 +/* "allnan.pyx":562 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def allnan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=None." + * cdef int f = 1 */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "allnan.pyx":620 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * y[i0] = 0 - * f = 0 +/* Python wrapper */ +static PyObject *__pyx_pw_6allnan_43allnan_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_42allnan_2d_int64_axisNone[] = "allnan_2d_int64_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=int64 along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_43allnan_2d_int64_axisNone = {"allnan_2d_int64_axisNone", (PyCFunction)__pyx_pw_6allnan_43allnan_2d_int64_axisNone, METH_O, __pyx_doc_6allnan_42allnan_2d_int64_axisNone}; +static PyObject *__pyx_pw_6allnan_43allnan_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_lineno = 0; + CYTHON_UNUSED const char *__pyx_filename = NULL; + CYTHON_UNUSED int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("allnan_2d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_42allnan_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_6allnan_42allnan_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; + npy_intp *__pyx_v_dim; + Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + __Pyx_LocalBuf_ND __pyx_pybuffernd_a; + __Pyx_Buffer __pyx_pybuffer_a; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("allnan_2d_int64_axisNone", 0); + __pyx_pybuffer_a.pybuffer.buf = NULL; + __pyx_pybuffer_a.refcount = 0; + __pyx_pybuffernd_a.data = NULL; + __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + + /* "allnan.pyx":564 + * def allnan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int64 along axis=None." + * cdef int f = 1 # <<<<<<<<<<<<<< + * cdef np.int64_t ai + * cdef Py_ssize_t i0, i1 */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_f = 1; - /* "allnan.pyx":621 - * ai = a[i0, i1] - * if ai == ai: - * y[i0] = 0 # <<<<<<<<<<<<<< - * f = 0 - * break + /* "allnan.pyx":568 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] */ - __pyx_t_11 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":622 - * if ai == ai: - * y[i0] = 0 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: + /* "allnan.pyx":569 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * if n0* n1 == 0: */ - __pyx_v_f = 0; + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":623 - * y[i0] = 0 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i0] = 1 + /* "allnan.pyx":570 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * if n0* n1 == 0: + * return np.bool_(True) */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":624 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i0] = 1 - * return y + /* "allnan.pyx":571 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * if n0* n1 == 0: # <<<<<<<<<<<<<< + * return np.bool_(True) + * else: */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "allnan.pyx":625 - * break - * if f == 1: - * y[i0] = 1 # <<<<<<<<<<<<<< - * return y - * + /* "allnan.pyx":572 + * cdef Py_ssize_t n1 = dim[1] + * if n0* n1 == 0: + * return np.bool_(True) # <<<<<<<<<<<<<< + * else: + * return np.bool_(False) */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; - } - __pyx_L8:; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__27, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "allnan.pyx":626 - * if f == 1: - * y[i0] = 1 - * return y # <<<<<<<<<<<<<< + /* "allnan.pyx":574 + * return np.bool_(True) + * else: + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__28, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "allnan.pyx":604 + /* "allnan.pyx":562 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=1." + * def allnan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":630 +/* "allnan.pyx":578 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int along axis=None." + * def allnan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_45allnan_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_44allnan_1d_int_axisNone[] = "allnan_1d_int_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=int along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_45allnan_1d_int_axisNone = {"allnan_1d_int_axisNone", (PyCFunction)__pyx_pw_6allnan_45allnan_1d_int_axisNone, METH_O, __pyx_doc_6allnan_44allnan_1d_int_axisNone}; -static PyObject *__pyx_pw_6allnan_45allnan_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_45allnan_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_44allnan_2d_int_axis0[] = "allnan_2d_int_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_6allnan_45allnan_2d_int_axis0 = {"allnan_2d_int_axis0", (PyCFunction)__pyx_pw_6allnan_45allnan_2d_int_axis0, METH_O, __pyx_doc_6allnan_44allnan_2d_int_axis0}; +static PyObject *__pyx_pw_6allnan_45allnan_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_1d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_44allnan_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_44allnan_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7344,159 +6808,231 @@ static PyObject *__pyx_pw_6allnan_45allnan_1d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6allnan_44allnan_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6allnan_44allnan_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_1d_int_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":632 - * def allnan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): - * "Check for all NaNs in 1d array with dtype=int along axis=None." + /* "allnan.pyx":580 + * def allnan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< * cdef np.int_t ai - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":636 - * cdef Py_ssize_t i0 + /* "allnan.pyx":584 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":637 + /* "allnan.pyx":585 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * return np.bool_(True) + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":638 + /* "allnan.pyx":586 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "allnan.pyx":587 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "allnan.pyx":588 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * if n0 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "allnan.pyx":590 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) * if n0 == 0: # <<<<<<<<<<<<<< - * return np.bool_(True) + * f = 1 * else: */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "allnan.pyx":639 - * cdef Py_ssize_t n0 = dim[0] + /* "allnan.pyx":591 + * NPY_BOOL, 0) * if n0 == 0: - * return np.bool_(True) # <<<<<<<<<<<<<< + * f = 1 # <<<<<<<<<<<<<< * else: - * return np.bool_(False) + * f = 0 */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_v_f = 1; + goto __pyx_L3; } /*else*/ { - /* "allnan.pyx":641 - * return np.bool_(True) + /* "allnan.pyx":593 + * f = 1 * else: - * return np.bool_(False) # <<<<<<<<<<<<<< + * f = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * y[i1] = f + */ + __pyx_v_f = 0; + } + __pyx_L3:; + + /* "allnan.pyx":594 + * else: + * f = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i1] = f + * return y + */ + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; + + /* "allnan.pyx":595 + * f = 0 + * for i1 in range(n1): + * y[i1] = f # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; } - /* "allnan.pyx":630 + /* "allnan.pyx":596 + * for i1 in range(n1): + * y[i1] = f + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "allnan.pyx":578 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int along axis=None." + * def allnan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=0." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":645 +/* "allnan.pyx":600 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int8 along axis=None." + * def allnan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_47allnan_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_46allnan_1d_int8_axisNone[] = "allnan_1d_int8_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=int8 along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_47allnan_1d_int8_axisNone = {"allnan_1d_int8_axisNone", (PyCFunction)__pyx_pw_6allnan_47allnan_1d_int8_axisNone, METH_O, __pyx_doc_6allnan_46allnan_1d_int8_axisNone}; -static PyObject *__pyx_pw_6allnan_47allnan_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_47allnan_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_46allnan_2d_int_axis1[] = "allnan_2d_int_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=int along axis=1."; +static PyMethodDef __pyx_mdef_6allnan_47allnan_2d_int_axis1 = {"allnan_2d_int_axis1", (PyCFunction)__pyx_pw_6allnan_47allnan_2d_int_axis1, METH_O, __pyx_doc_6allnan_46allnan_2d_int_axis1}; +static PyObject *__pyx_pw_6allnan_47allnan_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_1d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_46allnan_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_46allnan_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7507,159 +7043,231 @@ static PyObject *__pyx_pw_6allnan_47allnan_1d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6allnan_46allnan_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6allnan_46allnan_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_1d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":647 - * def allnan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): - * "Check for all NaNs in 1d array with dtype=int8 along axis=None." + /* "allnan.pyx":602 + * def allnan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t ai - * cdef Py_ssize_t i0 + * cdef np.int_t ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":651 - * cdef Py_ssize_t i0 + /* "allnan.pyx":606 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":652 + /* "allnan.pyx":607 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * return np.bool_(True) + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":653 + /* "allnan.pyx":608 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * return np.bool_(True) - * else: + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":654 + /* "allnan.pyx":609 * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: - * return np.bool_(True) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "allnan.pyx":610 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * if n1 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "allnan.pyx":612 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * f = 1 * else: - * return np.bool_(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "allnan.pyx":613 + * NPY_BOOL, 0) + * if n1 == 0: + * f = 1 # <<<<<<<<<<<<<< + * else: + * f = 0 + */ + __pyx_v_f = 1; + goto __pyx_L3; } /*else*/ { - /* "allnan.pyx":656 - * return np.bool_(True) + /* "allnan.pyx":615 + * f = 1 * else: - * return np.bool_(False) # <<<<<<<<<<<<<< + * f = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * y[i0] = f + */ + __pyx_v_f = 0; + } + __pyx_L3:; + + /* "allnan.pyx":616 + * else: + * f = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * y[i0] = f + * return y + */ + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; + + /* "allnan.pyx":617 + * f = 0 + * for i0 in range(n0): + * y[i0] = f # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; } - /* "allnan.pyx":645 + /* "allnan.pyx":618 + * for i0 in range(n0): + * y[i0] = f + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "allnan.pyx":600 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int8 along axis=None." + * def allnan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=1." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":660 +/* "allnan.pyx":622 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int32 along axis=None." + * def allnan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_49allnan_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_48allnan_1d_int32_axisNone[] = "allnan_1d_int32_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=int32 along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_49allnan_1d_int32_axisNone = {"allnan_1d_int32_axisNone", (PyCFunction)__pyx_pw_6allnan_49allnan_1d_int32_axisNone, METH_O, __pyx_doc_6allnan_48allnan_1d_int32_axisNone}; -static PyObject *__pyx_pw_6allnan_49allnan_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_49allnan_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_48allnan_2d_int8_axis0[] = "allnan_2d_int8_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_6allnan_49allnan_2d_int8_axis0 = {"allnan_2d_int8_axis0", (PyCFunction)__pyx_pw_6allnan_49allnan_2d_int8_axis0, METH_O, __pyx_doc_6allnan_48allnan_2d_int8_axis0}; +static PyObject *__pyx_pw_6allnan_49allnan_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_1d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_48allnan_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_48allnan_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7670,159 +7278,231 @@ static PyObject *__pyx_pw_6allnan_49allnan_1d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6allnan_48allnan_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6allnan_48allnan_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_1d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_int8_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":662 - * def allnan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): - * "Check for all NaNs in 1d array with dtype=int32 along axis=None." + /* "allnan.pyx":624 + * def allnan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int8 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t ai - * cdef Py_ssize_t i0 + * cdef np.int8_t ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":666 - * cdef Py_ssize_t i0 + /* "allnan.pyx":628 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] + */ + __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); + + /* "allnan.pyx":629 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + */ + __pyx_v_n0 = (__pyx_v_dim[0]); + + /* "allnan.pyx":630 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "allnan.pyx":631 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) */ - __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "allnan.pyx":667 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + /* "allnan.pyx":632 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) * if n0 == 0: - * return np.bool_(True) */ - __pyx_v_n0 = (__pyx_v_dim[0]); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "allnan.pyx":668 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] + /* "allnan.pyx":634 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) * if n0 == 0: # <<<<<<<<<<<<<< - * return np.bool_(True) + * f = 1 * else: */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "allnan.pyx":669 - * cdef Py_ssize_t n0 = dim[0] + /* "allnan.pyx":635 + * NPY_BOOL, 0) * if n0 == 0: - * return np.bool_(True) # <<<<<<<<<<<<<< + * f = 1 # <<<<<<<<<<<<<< * else: - * return np.bool_(False) + * f = 0 */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 669; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 669; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 669; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_v_f = 1; + goto __pyx_L3; } /*else*/ { - /* "allnan.pyx":671 - * return np.bool_(True) + /* "allnan.pyx":637 + * f = 1 * else: - * return np.bool_(False) # <<<<<<<<<<<<<< + * f = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * y[i1] = f + */ + __pyx_v_f = 0; + } + __pyx_L3:; + + /* "allnan.pyx":638 + * else: + * f = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i1] = f + * return y + */ + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; + + /* "allnan.pyx":639 + * f = 0 + * for i1 in range(n1): + * y[i1] = f # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; } - /* "allnan.pyx":660 + /* "allnan.pyx":640 + * for i1 in range(n1): + * y[i1] = f + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "allnan.pyx":622 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int32 along axis=None." + * def allnan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=0." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":675 +/* "allnan.pyx":644 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int64 along axis=None." + * def allnan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_51allnan_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_50allnan_1d_int64_axisNone[] = "allnan_1d_int64_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=int64 along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_51allnan_1d_int64_axisNone = {"allnan_1d_int64_axisNone", (PyCFunction)__pyx_pw_6allnan_51allnan_1d_int64_axisNone, METH_O, __pyx_doc_6allnan_50allnan_1d_int64_axisNone}; -static PyObject *__pyx_pw_6allnan_51allnan_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_51allnan_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_50allnan_2d_int8_axis1[] = "allnan_2d_int8_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=int8 along axis=1."; +static PyMethodDef __pyx_mdef_6allnan_51allnan_2d_int8_axis1 = {"allnan_2d_int8_axis1", (PyCFunction)__pyx_pw_6allnan_51allnan_2d_int8_axis1, METH_O, __pyx_doc_6allnan_50allnan_2d_int8_axis1}; +static PyObject *__pyx_pw_6allnan_51allnan_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_1d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_50allnan_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int8_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_50allnan_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7833,159 +7513,231 @@ static PyObject *__pyx_pw_6allnan_51allnan_1d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6allnan_50allnan_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6allnan_50allnan_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_1d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_int8_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":677 - * def allnan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): - * "Check for all NaNs in 1d array with dtype=int64 along axis=None." + /* "allnan.pyx":646 + * def allnan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int8 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t ai - * cdef Py_ssize_t i0 + * cdef np.int8_t ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":681 - * cdef Py_ssize_t i0 + /* "allnan.pyx":650 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":682 + /* "allnan.pyx":651 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * return np.bool_(True) + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":683 + /* "allnan.pyx":652 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * return np.bool_(True) - * else: + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":684 + /* "allnan.pyx":653 * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: - * return np.bool_(True) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "allnan.pyx":654 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * if n1 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "allnan.pyx":656 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * f = 1 * else: - * return np.bool_(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "allnan.pyx":657 + * NPY_BOOL, 0) + * if n1 == 0: + * f = 1 # <<<<<<<<<<<<<< + * else: + * f = 0 + */ + __pyx_v_f = 1; + goto __pyx_L3; + } + /*else*/ { + + /* "allnan.pyx":659 + * f = 1 + * else: + * f = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * y[i0] = f + */ + __pyx_v_f = 0; + } + __pyx_L3:; + + /* "allnan.pyx":660 + * else: + * f = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * y[i0] = f + * return y + */ + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; + + /* "allnan.pyx":661 + * f = 0 + * for i0 in range(n0): + * y[i0] = f # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; } - /*else*/ { - /* "allnan.pyx":686 - * return np.bool_(True) - * else: - * return np.bool_(False) # <<<<<<<<<<<<<< + /* "allnan.pyx":662 + * for i0 in range(n0): + * y[i0] = f + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "allnan.pyx":675 + /* "allnan.pyx":644 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int64 along axis=None." + * def allnan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=1." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":690 +/* "allnan.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=None." + * def allnan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_53allnan_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_52allnan_2d_int_axisNone[] = "allnan_2d_int_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=int along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_53allnan_2d_int_axisNone = {"allnan_2d_int_axisNone", (PyCFunction)__pyx_pw_6allnan_53allnan_2d_int_axisNone, METH_O, __pyx_doc_6allnan_52allnan_2d_int_axisNone}; -static PyObject *__pyx_pw_6allnan_53allnan_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_53allnan_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_52allnan_2d_int32_axis0[] = "allnan_2d_int32_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_6allnan_53allnan_2d_int32_axis0 = {"allnan_2d_int32_axis0", (PyCFunction)__pyx_pw_6allnan_53allnan_2d_int32_axis0, METH_O, __pyx_doc_6allnan_52allnan_2d_int32_axis0}; +static PyObject *__pyx_pw_6allnan_53allnan_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_52allnan_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_52allnan_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7996,42 +7748,55 @@ static PyObject *__pyx_pw_6allnan_53allnan_2d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6allnan_52allnan_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6allnan_52allnan_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_int32_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":692 - * def allnan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int along axis=None." + /* "allnan.pyx":668 + * def allnan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int32 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int_t ai + * cdef np.int32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":696 + /* "allnan.pyx":672 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8040,125 +7805,174 @@ static PyObject *__pyx_pf_6allnan_52allnan_2d_int_axisNone(CYTHON_UNUSED PyObjec */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":697 + /* "allnan.pyx":673 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":698 + /* "allnan.pyx":674 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0* n1 == 0: - * return np.bool_(True) + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":699 + /* "allnan.pyx":675 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: # <<<<<<<<<<<<<< - * return np.bool_(True) - * else: + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "allnan.pyx":700 + /* "allnan.pyx":676 * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: - * return np.bool_(True) # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * if n0 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "allnan.pyx":678 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * f = 1 * else: - * return np.bool_(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { + + /* "allnan.pyx":679 + * NPY_BOOL, 0) + * if n0 == 0: + * f = 1 # <<<<<<<<<<<<<< + * else: + * f = 0 + */ + __pyx_v_f = 1; + goto __pyx_L3; } /*else*/ { - /* "allnan.pyx":702 - * return np.bool_(True) + /* "allnan.pyx":681 + * f = 1 * else: - * return np.bool_(False) # <<<<<<<<<<<<<< + * f = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * y[i1] = f + */ + __pyx_v_f = 0; + } + __pyx_L3:; + + /* "allnan.pyx":682 + * else: + * f = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i1] = f + * return y + */ + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; + + /* "allnan.pyx":683 + * f = 0 + * for i1 in range(n1): + * y[i1] = f # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__22, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; } - /* "allnan.pyx":690 + /* "allnan.pyx":684 + * for i1 in range(n1): + * y[i1] = f + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "allnan.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=None." + * def allnan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=0." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":706 +/* "allnan.pyx":688 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=None." + * def allnan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_55allnan_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_54allnan_2d_int8_axisNone[] = "allnan_2d_int8_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=int8 along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_55allnan_2d_int8_axisNone = {"allnan_2d_int8_axisNone", (PyCFunction)__pyx_pw_6allnan_55allnan_2d_int8_axisNone, METH_O, __pyx_doc_6allnan_54allnan_2d_int8_axisNone}; -static PyObject *__pyx_pw_6allnan_55allnan_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_55allnan_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_54allnan_2d_int32_axis1[] = "allnan_2d_int32_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=int32 along axis=1."; +static PyMethodDef __pyx_mdef_6allnan_55allnan_2d_int32_axis1 = {"allnan_2d_int32_axis1", (PyCFunction)__pyx_pw_6allnan_55allnan_2d_int32_axis1, METH_O, __pyx_doc_6allnan_54allnan_2d_int32_axis1}; +static PyObject *__pyx_pw_6allnan_55allnan_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_54allnan_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_54allnan_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8169,42 +7983,55 @@ static PyObject *__pyx_pw_6allnan_55allnan_2d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6allnan_54allnan_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6allnan_54allnan_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_int32_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":708 - * def allnan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int8 along axis=None." + /* "allnan.pyx":690 + * def allnan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int32 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t ai + * cdef np.int32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":712 + /* "allnan.pyx":694 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8213,125 +8040,174 @@ static PyObject *__pyx_pf_6allnan_54allnan_2d_int8_axisNone(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":713 + /* "allnan.pyx":695 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":714 + /* "allnan.pyx":696 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0* n1 == 0: - * return np.bool_(True) + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":715 - * cdef Py_ssize_t n0 = dim[0] + /* "allnan.pyx":697 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "allnan.pyx":698 * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: # <<<<<<<<<<<<<< - * return np.bool_(True) + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * if n1 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "allnan.pyx":700 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * f = 1 * else: */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { - /* "allnan.pyx":716 - * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: - * return np.bool_(True) # <<<<<<<<<<<<<< + /* "allnan.pyx":701 + * NPY_BOOL, 0) + * if n1 == 0: + * f = 1 # <<<<<<<<<<<<<< * else: - * return np.bool_(False) + * f = 0 */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__23, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_v_f = 1; + goto __pyx_L3; } /*else*/ { - /* "allnan.pyx":718 - * return np.bool_(True) + /* "allnan.pyx":703 + * f = 1 * else: - * return np.bool_(False) # <<<<<<<<<<<<<< + * f = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * y[i0] = f + */ + __pyx_v_f = 0; + } + __pyx_L3:; + + /* "allnan.pyx":704 + * else: + * f = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * y[i0] = f + * return y + */ + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; + + /* "allnan.pyx":705 + * f = 0 + * for i0 in range(n0): + * y[i0] = f # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; } /* "allnan.pyx":706 + * for i0 in range(n0): + * y[i0] = f + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "allnan.pyx":688 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=None." + * def allnan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=1." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":722 +/* "allnan.pyx":710 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=None." + * def allnan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_57allnan_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_56allnan_2d_int32_axisNone[] = "allnan_2d_int32_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=int32 along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_57allnan_2d_int32_axisNone = {"allnan_2d_int32_axisNone", (PyCFunction)__pyx_pw_6allnan_57allnan_2d_int32_axisNone, METH_O, __pyx_doc_6allnan_56allnan_2d_int32_axisNone}; -static PyObject *__pyx_pw_6allnan_57allnan_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_57allnan_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_56allnan_2d_int64_axis0[] = "allnan_2d_int64_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_6allnan_57allnan_2d_int64_axis0 = {"allnan_2d_int64_axis0", (PyCFunction)__pyx_pw_6allnan_57allnan_2d_int64_axis0, METH_O, __pyx_doc_6allnan_56allnan_2d_int64_axis0}; +static PyObject *__pyx_pw_6allnan_57allnan_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_56allnan_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_56allnan_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8342,42 +8218,55 @@ static PyObject *__pyx_pw_6allnan_57allnan_2d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6allnan_56allnan_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6allnan_56allnan_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_int64_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":724 - * def allnan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int32 along axis=None." + /* "allnan.pyx":712 + * def allnan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int64 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t ai + * cdef np.int64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":728 + /* "allnan.pyx":716 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8386,125 +8275,174 @@ static PyObject *__pyx_pf_6allnan_56allnan_2d_int32_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":729 + /* "allnan.pyx":717 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":730 + /* "allnan.pyx":718 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0* n1 == 0: - * return np.bool_(True) + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":731 + /* "allnan.pyx":719 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: # <<<<<<<<<<<<<< - * return np.bool_(True) - * else: + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "allnan.pyx":732 + /* "allnan.pyx":720 * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: - * return np.bool_(True) # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * if n0 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "allnan.pyx":722 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * f = 1 * else: - * return np.bool_(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { + + /* "allnan.pyx":723 + * NPY_BOOL, 0) + * if n0 == 0: + * f = 1 # <<<<<<<<<<<<<< + * else: + * f = 0 + */ + __pyx_v_f = 1; + goto __pyx_L3; } /*else*/ { - /* "allnan.pyx":734 - * return np.bool_(True) + /* "allnan.pyx":725 + * f = 1 * else: - * return np.bool_(False) # <<<<<<<<<<<<<< + * f = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * y[i1] = f + */ + __pyx_v_f = 0; + } + __pyx_L3:; + + /* "allnan.pyx":726 + * else: + * f = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i1] = f + * return y + */ + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; + + /* "allnan.pyx":727 + * f = 0 + * for i1 in range(n1): + * y[i1] = f # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; } - /* "allnan.pyx":722 + /* "allnan.pyx":728 + * for i1 in range(n1): + * y[i1] = f + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "allnan.pyx":710 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=None." + * def allnan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=0." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":738 +/* "allnan.pyx":732 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=None." + * def allnan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_59allnan_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_58allnan_2d_int64_axisNone[] = "allnan_2d_int64_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=int64 along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_59allnan_2d_int64_axisNone = {"allnan_2d_int64_axisNone", (PyCFunction)__pyx_pw_6allnan_59allnan_2d_int64_axisNone, METH_O, __pyx_doc_6allnan_58allnan_2d_int64_axisNone}; -static PyObject *__pyx_pw_6allnan_59allnan_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_59allnan_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_58allnan_2d_int64_axis1[] = "allnan_2d_int64_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=int64 along axis=1."; +static PyMethodDef __pyx_mdef_6allnan_59allnan_2d_int64_axis1 = {"allnan_2d_int64_axis1", (PyCFunction)__pyx_pw_6allnan_59allnan_2d_int64_axis1, METH_O, __pyx_doc_6allnan_58allnan_2d_int64_axis1}; +static PyObject *__pyx_pw_6allnan_59allnan_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_58allnan_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_58allnan_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8515,42 +8453,55 @@ static PyObject *__pyx_pw_6allnan_59allnan_2d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6allnan_58allnan_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6allnan_58allnan_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_int64_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":740 - * def allnan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int64 along axis=None." + /* "allnan.pyx":734 + * def allnan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int64 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< * cdef np.int64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":744 + /* "allnan.pyx":738 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8559,106 +8510,155 @@ static PyObject *__pyx_pf_6allnan_58allnan_2d_int64_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":745 + /* "allnan.pyx":739 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":746 + /* "allnan.pyx":740 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0* n1 == 0: - * return np.bool_(True) + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":747 + /* "allnan.pyx":741 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: # <<<<<<<<<<<<<< - * return np.bool_(True) - * else: + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "allnan.pyx":748 + /* "allnan.pyx":742 * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: - * return np.bool_(True) # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * if n1 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "allnan.pyx":744 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * f = 1 * else: - * return np.bool_(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__27, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "allnan.pyx":745 + * NPY_BOOL, 0) + * if n1 == 0: + * f = 1 # <<<<<<<<<<<<<< + * else: + * f = 0 + */ + __pyx_v_f = 1; + goto __pyx_L3; } /*else*/ { - /* "allnan.pyx":750 - * return np.bool_(True) + /* "allnan.pyx":747 + * f = 1 * else: - * return np.bool_(False) # <<<<<<<<<<<<<< + * f = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * y[i0] = f + */ + __pyx_v_f = 0; + } + __pyx_L3:; + + /* "allnan.pyx":748 + * else: + * f = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * y[i0] = f + * return y + */ + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; + + /* "allnan.pyx":749 + * f = 0 + * for i0 in range(n0): + * y[i0] = f # <<<<<<<<<<<<<< + * return y * - * cdef dict allnan_dict = {} */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__28, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; } - /* "allnan.pyx":738 + /* "allnan.pyx":750 + * for i0 in range(n0): + * y[i0] = f + * return y # <<<<<<<<<<<<<< + * + * cdef dict allnan_dict = {} + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "allnan.pyx":732 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=None." + * def allnan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=1." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "allnan.pyx":789 - * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone + * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 * * def allnan_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) allnan along axis 0." @@ -8726,7 +8726,7 @@ static PyObject *__pyx_pf_6allnan_60allnan_slow_axis0(CYTHON_UNUSED PyObject *__ goto __pyx_L0; /* "allnan.pyx":789 - * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone + * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 * * def allnan_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) allnan along axis 0." @@ -11717,7 +11717,7 @@ static PyObject *__pyx_pf_6allnan_126allnan_slow_axisNone(CYTHON_UNUSED PyObject return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -11767,7 +11767,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -11780,7 +11780,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -11789,7 +11789,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -11798,7 +11798,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -11807,7 +11807,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -11817,7 +11817,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -11829,7 +11829,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -11840,7 +11840,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -11856,7 +11856,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -11868,7 +11868,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -11882,7 +11882,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -11898,7 +11898,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -11910,7 +11910,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -11924,7 +11924,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -11933,7 +11933,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -11942,7 +11942,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -11952,7 +11952,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -11961,7 +11961,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -11970,7 +11970,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -11981,7 +11981,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -11990,7 +11990,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -12003,7 +12003,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -12012,7 +12012,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -12023,7 +12023,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -12032,7 +12032,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -12041,7 +12041,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -12050,7 +12050,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -12059,7 +12059,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -12071,7 +12071,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -12080,7 +12080,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -12100,7 +12100,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -12116,7 +12116,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -12131,7 +12131,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -12141,7 +12141,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -12151,7 +12151,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -12174,7 +12174,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -12194,7 +12194,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -12208,7 +12208,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -12217,7 +12217,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -12228,7 +12228,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -12239,7 +12239,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -12250,7 +12250,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -12261,7 +12261,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -12272,7 +12272,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -12283,7 +12283,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -12294,7 +12294,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -12305,7 +12305,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -12316,7 +12316,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -12327,7 +12327,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -12338,7 +12338,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -12349,7 +12349,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -12360,7 +12360,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -12371,7 +12371,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -12382,7 +12382,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -12393,7 +12393,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -12405,7 +12405,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -12431,7 +12431,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -12440,7 +12440,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -12452,7 +12452,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -12461,7 +12461,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -12470,7 +12470,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -12479,7 +12479,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -12489,7 +12489,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -12499,7 +12499,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -12531,7 +12531,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -12555,7 +12555,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -12565,7 +12565,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -12577,7 +12577,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -12587,7 +12587,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -12599,7 +12599,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -12611,7 +12611,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -12628,7 +12628,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -12642,7 +12642,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -12661,7 +12661,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -12678,7 +12678,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -12692,7 +12692,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -12711,7 +12711,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -12728,7 +12728,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -12742,7 +12742,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -12761,7 +12761,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -12778,7 +12778,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -12792,7 +12792,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -12811,7 +12811,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -12828,7 +12828,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -12842,7 +12842,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -12861,7 +12861,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -12893,7 +12893,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -12902,7 +12902,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -12911,7 +12911,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -12933,7 +12933,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -12946,7 +12946,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -12985,7 +12985,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -13002,7 +13002,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -13016,7 +13016,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -13039,7 +13039,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -13059,7 +13059,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -13073,7 +13073,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -13089,7 +13089,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -13098,7 +13098,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -13107,7 +13107,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -13118,7 +13118,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -13128,7 +13128,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -13138,7 +13138,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -13150,7 +13150,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -13160,7 +13160,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -13174,7 +13174,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -13192,7 +13192,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -13210,7 +13210,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -13228,7 +13228,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -13246,7 +13246,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -13264,7 +13264,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -13282,7 +13282,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -13300,7 +13300,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -13318,7 +13318,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -13336,7 +13336,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -13354,7 +13354,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -13372,7 +13372,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -13390,7 +13390,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -13408,7 +13408,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -13428,7 +13428,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -13448,7 +13448,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -13468,7 +13468,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -13487,7 +13487,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -13510,7 +13510,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -13522,7 +13522,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -13534,7 +13534,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -13544,7 +13544,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -13554,7 +13554,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -13579,7 +13579,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -13594,7 +13594,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -13605,7 +13605,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -13617,7 +13617,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -13626,7 +13626,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -13637,7 +13637,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -13646,7 +13646,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -13655,7 +13655,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -13667,7 +13667,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -13681,7 +13681,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -13691,7 +13691,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -13705,7 +13705,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -13716,7 +13716,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -13754,7 +13754,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -13768,6 +13767,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_u_Test_whether_all_array_elements, __pyx_k_Test_whether_all_array_elements, sizeof(__pyx_k_Test_whether_all_array_elements), 0, 1, 0, 0}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__35, __pyx_k__35, sizeof(__pyx_k__35), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -13891,7 +13891,7 @@ static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; @@ -13901,315 +13901,315 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "allnan.pyx":383 + /* "allnan.pyx":363 * ai = a[i0] * if ai == ai: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple_ = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple_ = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "allnan.pyx":384 + /* "allnan.pyx":364 * if ai == ai: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__2 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__2 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "allnan.pyx":399 + /* "allnan.pyx":379 * ai = a[i0] * if ai == ai: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__3 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__3 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "allnan.pyx":400 + /* "allnan.pyx":380 * if ai == ai: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__4 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__4 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "allnan.pyx":415 + /* "allnan.pyx":395 * ai = a[i0] * if ai == ai: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__5 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__5 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "allnan.pyx":416 + /* "allnan.pyx":396 * if ai == ai: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__6 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__6 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6); - /* "allnan.pyx":433 + /* "allnan.pyx":413 * ai = a[i0, i1] * if ai == ai: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__7 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__7 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7); - /* "allnan.pyx":434 + /* "allnan.pyx":414 * if ai == ai: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__8 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__8 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8); - /* "allnan.pyx":451 + /* "allnan.pyx":431 * ai = a[i0, i1] * if ai == ai: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__9 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__9 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - /* "allnan.pyx":452 + /* "allnan.pyx":432 * if ai == ai: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__10 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__10 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); - /* "allnan.pyx":469 + /* "allnan.pyx":449 * ai = a[i0, i1] * if ai == ai: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__11 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__11 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - /* "allnan.pyx":470 + /* "allnan.pyx":450 * if ai == ai: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__12 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__12 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__12); __Pyx_GIVEREF(__pyx_tuple__12); - /* "allnan.pyx":639 + /* "allnan.pyx":463 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * return np.bool_(True) # <<<<<<<<<<<<<< * else: * return np.bool_(False) */ - __pyx_tuple__13 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__13 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - /* "allnan.pyx":641 + /* "allnan.pyx":465 * return np.bool_(True) * else: * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__14 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__14 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14); - /* "allnan.pyx":654 + /* "allnan.pyx":478 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * return np.bool_(True) # <<<<<<<<<<<<<< * else: * return np.bool_(False) */ - __pyx_tuple__15 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__15 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - /* "allnan.pyx":656 + /* "allnan.pyx":480 * return np.bool_(True) * else: * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__16 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__16 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__16); __Pyx_GIVEREF(__pyx_tuple__16); - /* "allnan.pyx":669 + /* "allnan.pyx":493 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * return np.bool_(True) # <<<<<<<<<<<<<< * else: * return np.bool_(False) */ - __pyx_tuple__17 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 669; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__17 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - /* "allnan.pyx":671 + /* "allnan.pyx":495 * return np.bool_(True) * else: * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__18 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__18 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18); - /* "allnan.pyx":684 + /* "allnan.pyx":508 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * return np.bool_(True) # <<<<<<<<<<<<<< * else: * return np.bool_(False) */ - __pyx_tuple__19 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - /* "allnan.pyx":686 + /* "allnan.pyx":510 * return np.bool_(True) * else: * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__20 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__20 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__20); __Pyx_GIVEREF(__pyx_tuple__20); - /* "allnan.pyx":700 + /* "allnan.pyx":524 * cdef Py_ssize_t n1 = dim[1] * if n0* n1 == 0: * return np.bool_(True) # <<<<<<<<<<<<<< * else: * return np.bool_(False) */ - __pyx_tuple__21 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - /* "allnan.pyx":702 + /* "allnan.pyx":526 * return np.bool_(True) * else: * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__22 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__22 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22); - /* "allnan.pyx":716 + /* "allnan.pyx":540 * cdef Py_ssize_t n1 = dim[1] * if n0* n1 == 0: * return np.bool_(True) # <<<<<<<<<<<<<< * else: * return np.bool_(False) */ - __pyx_tuple__23 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - /* "allnan.pyx":718 + /* "allnan.pyx":542 * return np.bool_(True) * else: * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__24 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__24 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__24); __Pyx_GIVEREF(__pyx_tuple__24); - /* "allnan.pyx":732 + /* "allnan.pyx":556 * cdef Py_ssize_t n1 = dim[1] * if n0* n1 == 0: * return np.bool_(True) # <<<<<<<<<<<<<< * else: * return np.bool_(False) */ - __pyx_tuple__25 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - /* "allnan.pyx":734 + /* "allnan.pyx":558 * return np.bool_(True) * else: * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__26 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__26 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__26); __Pyx_GIVEREF(__pyx_tuple__26); - /* "allnan.pyx":748 + /* "allnan.pyx":572 * cdef Py_ssize_t n1 = dim[1] * if n0* n1 == 0: * return np.bool_(True) # <<<<<<<<<<<<<< * else: * return np.bool_(False) */ - __pyx_tuple__27 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - /* "allnan.pyx":750 + /* "allnan.pyx":574 * return np.bool_(True) * else: * return np.bool_(False) # <<<<<<<<<<<<<< * - * cdef dict allnan_dict = {} + * @cython.boundscheck(False) */ - __pyx_tuple__28 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__28 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__28); __Pyx_GIVEREF(__pyx_tuple__28); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -14220,7 +14220,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -14231,7 +14231,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14242,7 +14242,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -14253,7 +14253,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__32); __Pyx_GIVEREF(__pyx_tuple__32); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14264,7 +14264,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -14296,7 +14296,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__37 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":124 * return func(arr) @@ -14308,346 +14308,346 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__39 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_selector, 124, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_selector, 124, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":196 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=0." + * def allnan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=0." * cdef int f = 1 */ __pyx_tuple__41 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int_axis0, 196, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_float_axis0, 196, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":218 + /* "allnan.pyx":222 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=1." + * def allnan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=1." * cdef int f = 1 */ - __pyx_tuple__43 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int_axis1, 218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_float_axis1, 222, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":240 + /* "allnan.pyx":248 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=0." + * def allnan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=0." * cdef int f = 1 */ - __pyx_tuple__45 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int8_axis0, 240, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_float32_axis0, 248, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":262 + /* "allnan.pyx":274 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=1." + * def allnan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=1." * cdef int f = 1 */ - __pyx_tuple__47 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int8_axis1, 262, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_float32_axis1, 274, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":284 + /* "allnan.pyx":300 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=0." + * def allnan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=0." * cdef int f = 1 */ - __pyx_tuple__49 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int32_axis0, 284, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_float64_axis0, 300, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":306 + /* "allnan.pyx":326 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=1." + * def allnan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=1." * cdef int f = 1 */ - __pyx_tuple__51 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int32_axis1, 306, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_float64_axis1, 326, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":328 + /* "allnan.pyx":352 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=0." + * def allnan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float along axis=None." * cdef int f = 1 */ - __pyx_tuple__53 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int64_axis0, 328, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_1d_float_axisNone, 352, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":350 + /* "allnan.pyx":368 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=1." + * def allnan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float32 along axis=None." * cdef int f = 1 */ - __pyx_tuple__55 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int64_axis1, 350, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_1d_float32_axisNone, 368, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":372 + /* "allnan.pyx":384 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float along axis=None." + * def allnan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float64 along axis=None." * cdef int f = 1 */ - __pyx_tuple__57 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_1d_float_axisNone, 372, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_1d_float64_axisNone, 384, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":388 + /* "allnan.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float32 along axis=None." + * def allnan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=None." * cdef int f = 1 */ - __pyx_tuple__59 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_1d_float32_axisNone, 388, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_float_axisNone, 400, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":404 + /* "allnan.pyx":418 * @cython.boundscheck(False) - * @cython.wraparound(False) - * def allnan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float64 along axis=None." + * @cython.wraparound(False) + * def allnan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=None." * cdef int f = 1 */ - __pyx_tuple__61 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_1d_float64_axisNone, 404, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_float32_axisNone, 418, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":420 + /* "allnan.pyx":436 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=None." + * def allnan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=None." * cdef int f = 1 */ - __pyx_tuple__63 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_float_axisNone, 420, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_float64_axisNone, 436, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":438 + /* "allnan.pyx":454 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=None." + * def allnan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int along axis=None." * cdef int f = 1 */ - __pyx_tuple__65 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_float32_axisNone, 438, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_1d_int_axisNone, 454, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":456 + /* "allnan.pyx":469 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=None." + * def allnan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int8 along axis=None." * cdef int f = 1 */ - __pyx_tuple__67 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_float64_axisNone, 456, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_1d_int8_axisNone, 469, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":474 + /* "allnan.pyx":484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=0." + * def allnan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int32 along axis=None." * cdef int f = 1 */ - __pyx_tuple__69 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__69 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_float_axis0, 474, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_1d_int32_axisNone, 484, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":500 + /* "allnan.pyx":499 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=1." + * def allnan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int64 along axis=None." * cdef int f = 1 */ - __pyx_tuple__71 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__71 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_float_axis1, 500, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_1d_int64_axisNone, 499, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":526 + /* "allnan.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=0." + * def allnan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=None." * cdef int f = 1 */ - __pyx_tuple__73 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__73 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_float32_axis0, 526, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int_axisNone, 514, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":552 + /* "allnan.pyx":530 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=1." + * def allnan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=None." * cdef int f = 1 */ - __pyx_tuple__75 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__75 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_float32_axis1, 552, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int8_axisNone, 530, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":578 + /* "allnan.pyx":546 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=0." + * def allnan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=None." * cdef int f = 1 */ - __pyx_tuple__77 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__77 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_float64_axis0, 578, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int32_axisNone, 546, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":604 + /* "allnan.pyx":562 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=1." + * def allnan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=None." * cdef int f = 1 */ - __pyx_tuple__79 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__79 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_float64_axis1, 604, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int64_axisNone, 562, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":630 + /* "allnan.pyx":578 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int along axis=None." + * def allnan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=0." * cdef int f = 1 */ - __pyx_tuple__81 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__81 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_1d_int_axisNone, 630, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int_axis0, 578, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":645 + /* "allnan.pyx":600 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int8 along axis=None." + * def allnan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=1." * cdef int f = 1 */ - __pyx_tuple__83 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__83 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_1d_int8_axisNone, 645, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int_axis1, 600, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":660 + /* "allnan.pyx":622 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int32 along axis=None." + * def allnan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=0." * cdef int f = 1 */ - __pyx_tuple__85 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__85 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_1d_int32_axisNone, 660, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int8_axis0, 622, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":675 + /* "allnan.pyx":644 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int64 along axis=None." + * def allnan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=1." * cdef int f = 1 */ - __pyx_tuple__87 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__87 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_1d_int64_axisNone, 675, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int8_axis1, 644, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":690 + /* "allnan.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=None." + * def allnan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=0." * cdef int f = 1 */ - __pyx_tuple__89 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__89 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int_axisNone, 690, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int32_axis0, 666, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":706 + /* "allnan.pyx":688 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=None." + * def allnan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=1." * cdef int f = 1 */ - __pyx_tuple__91 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__91 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int8_axisNone, 706, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int32_axis1, 688, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":722 + /* "allnan.pyx":710 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=None." + * def allnan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=0." * cdef int f = 1 */ - __pyx_tuple__93 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__93 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int32_axisNone, 722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int64_axis0, 710, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":738 + /* "allnan.pyx":732 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=None." + * def allnan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=1." * cdef int f = 1 */ - __pyx_tuple__95 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__95 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int64_axisNone, 738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int64_axis1, 732, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":789 - * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone + * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 * * def allnan_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) allnan along axis 0." @@ -14656,7 +14656,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis0, 789, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis0, 789, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":793 * return bn.slow.allnan(arr, axis=0) @@ -14668,7 +14668,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis1, 793, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis1, 793, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":797 * return bn.slow.allnan(arr, axis=1) @@ -14680,7 +14680,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis2, 797, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis2, 797, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":801 * return bn.slow.allnan(arr, axis=2) @@ -14692,7 +14692,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis3, 801, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis3, 801, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":805 * return bn.slow.allnan(arr, axis=3) @@ -14704,7 +14704,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis4, 805, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis4, 805, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":809 * return bn.slow.allnan(arr, axis=4) @@ -14716,7 +14716,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis5, 809, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis5, 809, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":813 * return bn.slow.allnan(arr, axis=5) @@ -14728,7 +14728,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis6, 813, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis6, 813, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":817 * return bn.slow.allnan(arr, axis=6) @@ -14740,7 +14740,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis7, 817, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis7, 817, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":821 * return bn.slow.allnan(arr, axis=7) @@ -14752,7 +14752,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis8, 821, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis8, 821, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":825 * return bn.slow.allnan(arr, axis=8) @@ -14764,7 +14764,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis9, 825, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis9, 825, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":829 * return bn.slow.allnan(arr, axis=9) @@ -14776,7 +14776,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis10, 829, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis10, 829, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":833 * return bn.slow.allnan(arr, axis=10) @@ -14788,7 +14788,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis11, 833, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis11, 833, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":837 * return bn.slow.allnan(arr, axis=11) @@ -14800,7 +14800,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis12, 837, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis12, 837, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":841 * return bn.slow.allnan(arr, axis=12) @@ -14812,7 +14812,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis13, 841, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis13, 841, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":845 * return bn.slow.allnan(arr, axis=13) @@ -14824,7 +14824,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis14, 845, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis14, 845, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":849 * return bn.slow.allnan(arr, axis=14) @@ -14836,7 +14836,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis15, 849, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis15, 849, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":853 * return bn.slow.allnan(arr, axis=15) @@ -14848,7 +14848,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis16, 853, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis16, 853, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":857 * return bn.slow.allnan(arr, axis=16) @@ -14860,7 +14860,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis17, 857, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis17, 857, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":861 * return bn.slow.allnan(arr, axis=17) @@ -14872,7 +14872,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis18, 861, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis18, 861, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":865 * return bn.slow.allnan(arr, axis=18) @@ -14884,7 +14884,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis19, 865, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis19, 865, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":869 * return bn.slow.allnan(arr, axis=19) @@ -14896,7 +14896,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__137 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__137); __Pyx_GIVEREF(__pyx_tuple__137); - __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis20, 869, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis20, 869, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":873 * return bn.slow.allnan(arr, axis=20) @@ -14908,7 +14908,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__139 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__139); __Pyx_GIVEREF(__pyx_tuple__139); - __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis21, 873, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis21, 873, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":877 * return bn.slow.allnan(arr, axis=21) @@ -14920,7 +14920,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__141 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__141); __Pyx_GIVEREF(__pyx_tuple__141); - __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis22, 877, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis22, 877, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":881 * return bn.slow.allnan(arr, axis=22) @@ -14932,7 +14932,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__143 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__143); __Pyx_GIVEREF(__pyx_tuple__143); - __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis23, 881, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis23, 881, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":885 * return bn.slow.allnan(arr, axis=23) @@ -14944,7 +14944,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__145 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__145); __Pyx_GIVEREF(__pyx_tuple__145); - __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis24, 885, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis24, 885, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":889 * return bn.slow.allnan(arr, axis=24) @@ -14956,7 +14956,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__147 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 889; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__147); __Pyx_GIVEREF(__pyx_tuple__147); - __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis25, 889, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 889; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis25, 889, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 889; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":893 * return bn.slow.allnan(arr, axis=25) @@ -14968,7 +14968,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__149 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__149); __Pyx_GIVEREF(__pyx_tuple__149); - __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis26, 893, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis26, 893, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":897 * return bn.slow.allnan(arr, axis=26) @@ -14980,7 +14980,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__151 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__151); __Pyx_GIVEREF(__pyx_tuple__151); - __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis27, 897, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis27, 897, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":901 * return bn.slow.allnan(arr, axis=27) @@ -14992,7 +14992,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__153 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__153); __Pyx_GIVEREF(__pyx_tuple__153); - __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis28, 901, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis28, 901, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":905 * return bn.slow.allnan(arr, axis=28) @@ -15004,7 +15004,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__155 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__155); __Pyx_GIVEREF(__pyx_tuple__155); - __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis29, 905, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis29, 905, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":909 * return bn.slow.allnan(arr, axis=29) @@ -15016,7 +15016,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__157 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__157); __Pyx_GIVEREF(__pyx_tuple__157); - __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis30, 909, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis30, 909, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":913 * return bn.slow.allnan(arr, axis=30) @@ -15028,7 +15028,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__159 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__159); __Pyx_GIVEREF(__pyx_tuple__159); - __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis31, 913, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis31, 913, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":917 * return bn.slow.allnan(arr, axis=31) @@ -15040,7 +15040,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__161 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__161); __Pyx_GIVEREF(__pyx_tuple__161); - __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis32, 917, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis32, 917, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":921 * return bn.slow.allnan(arr, axis=32) @@ -15052,7 +15052,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__163 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__163); __Pyx_GIVEREF(__pyx_tuple__163); - __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axisNone, 921, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axisNone, 921, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -16018,345 +16018,345 @@ PyMODINIT_FUNC PyInit_allnan(void) /* "allnan.pyx":196 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=0." + * def allnan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_5allnan_2d_int_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_5allnan_2d_float_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":218 + /* "allnan.pyx":222 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=1." + * def allnan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_7allnan_2d_int_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_7allnan_2d_float_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":240 + /* "allnan.pyx":248 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=0." + * def allnan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_9allnan_2d_int8_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_9allnan_2d_float32_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":262 + /* "allnan.pyx":274 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=1." + * def allnan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_11allnan_2d_int8_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_11allnan_2d_float32_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":284 + /* "allnan.pyx":300 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=0." + * def allnan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_13allnan_2d_int32_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_13allnan_2d_float64_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":306 + /* "allnan.pyx":326 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=1." + * def allnan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_15allnan_2d_int32_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_15allnan_2d_float64_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":328 + /* "allnan.pyx":352 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=0." + * def allnan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_17allnan_2d_int64_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_17allnan_1d_float_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":350 + /* "allnan.pyx":368 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=1." + * def allnan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float32 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_19allnan_2d_int64_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_19allnan_1d_float32_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":372 + /* "allnan.pyx":384 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float along axis=None." + * def allnan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float64 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_21allnan_1d_float_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_21allnan_1d_float64_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":388 + /* "allnan.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float32 along axis=None." + * def allnan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_23allnan_1d_float32_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_23allnan_2d_float_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":404 + /* "allnan.pyx":418 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float64 along axis=None." + * def allnan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_25allnan_1d_float64_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_25allnan_2d_float32_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":420 + /* "allnan.pyx":436 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=None." + * def allnan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_27allnan_2d_float_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_27allnan_2d_float64_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":438 + /* "allnan.pyx":454 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=None." + * def allnan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_29allnan_2d_float32_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_29allnan_1d_int_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":456 + /* "allnan.pyx":469 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=None." + * def allnan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int8 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_31allnan_2d_float64_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_31allnan_1d_int8_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":474 + /* "allnan.pyx":484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=0." + * def allnan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int32 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_33allnan_2d_float_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_33allnan_1d_int32_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":500 + /* "allnan.pyx":499 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=1." + * def allnan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int64 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_35allnan_2d_float_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_35allnan_1d_int64_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":526 + /* "allnan.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=0." + * def allnan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_37allnan_2d_float32_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_37allnan_2d_int_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":552 + /* "allnan.pyx":530 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=1." + * def allnan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_39allnan_2d_float32_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_39allnan_2d_int8_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":578 + /* "allnan.pyx":546 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=0." + * def allnan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_41allnan_2d_float64_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_41allnan_2d_int32_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":604 + /* "allnan.pyx":562 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=1." + * def allnan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_43allnan_2d_float64_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_43allnan_2d_int64_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":630 + /* "allnan.pyx":578 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int along axis=None." + * def allnan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_45allnan_1d_int_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_45allnan_2d_int_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":645 + /* "allnan.pyx":600 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int8 along axis=None." + * def allnan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_47allnan_1d_int8_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_47allnan_2d_int_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":660 + /* "allnan.pyx":622 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int32 along axis=None." + * def allnan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_49allnan_1d_int32_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_49allnan_2d_int8_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":675 + /* "allnan.pyx":644 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int64 along axis=None." + * def allnan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_51allnan_1d_int64_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_51allnan_2d_int8_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":690 + /* "allnan.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=None." + * def allnan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_53allnan_2d_int_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_53allnan_2d_int32_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":706 + /* "allnan.pyx":688 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=None." + * def allnan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_55allnan_2d_int8_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_55allnan_2d_int32_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":722 + /* "allnan.pyx":710 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=None." + * def allnan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_57allnan_2d_int32_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_57allnan_2d_int64_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":738 + /* "allnan.pyx":732 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=None." + * def allnan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_59allnan_2d_int64_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_59allnan_2d_int64_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":752 - * return np.bool_(False) + * return y * * cdef dict allnan_dict = {} # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int, 0)] = allnan_2d_int_axis0 - * allnan_dict[(2, NPY_int, 1)] = allnan_2d_int_axis1 + * allnan_dict[(2, NPY_float, 0)] = allnan_2d_float_axis0 + * allnan_dict[(2, NPY_float, 1)] = allnan_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -16368,17 +16368,17 @@ PyMODINIT_FUNC PyInit_allnan(void) /* "allnan.pyx":753 * * cdef dict allnan_dict = {} - * allnan_dict[(2, NPY_int, 0)] = allnan_2d_int_axis0 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int, 1)] = allnan_2d_int_axis1 - * allnan_dict[(2, NPY_int8, 0)] = allnan_2d_int8_axis0 + * allnan_dict[(2, NPY_float, 0)] = allnan_2d_float_axis0 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float, 1)] = allnan_2d_float_axis1 + * allnan_dict[(2, NPY_float32, 0)] = allnan_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16397,18 +16397,18 @@ PyMODINIT_FUNC PyInit_allnan(void) /* "allnan.pyx":754 * cdef dict allnan_dict = {} - * allnan_dict[(2, NPY_int, 0)] = allnan_2d_int_axis0 - * allnan_dict[(2, NPY_int, 1)] = allnan_2d_int_axis1 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int8, 0)] = allnan_2d_int8_axis0 - * allnan_dict[(2, NPY_int8, 1)] = allnan_2d_int8_axis1 + * allnan_dict[(2, NPY_float, 0)] = allnan_2d_float_axis0 + * allnan_dict[(2, NPY_float, 1)] = allnan_2d_float_axis1 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float32, 0)] = allnan_2d_float32_axis0 + * allnan_dict[(2, NPY_float32, 1)] = allnan_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16426,19 +16426,19 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":755 - * allnan_dict[(2, NPY_int, 0)] = allnan_2d_int_axis0 - * allnan_dict[(2, NPY_int, 1)] = allnan_2d_int_axis1 - * allnan_dict[(2, NPY_int8, 0)] = allnan_2d_int8_axis0 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int8, 1)] = allnan_2d_int8_axis1 - * allnan_dict[(2, NPY_int32, 0)] = allnan_2d_int32_axis0 + * allnan_dict[(2, NPY_float, 0)] = allnan_2d_float_axis0 + * allnan_dict[(2, NPY_float, 1)] = allnan_2d_float_axis1 + * allnan_dict[(2, NPY_float32, 0)] = allnan_2d_float32_axis0 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float32, 1)] = allnan_2d_float32_axis1 + * allnan_dict[(2, NPY_float64, 0)] = allnan_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16456,19 +16456,19 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":756 - * allnan_dict[(2, NPY_int, 1)] = allnan_2d_int_axis1 - * allnan_dict[(2, NPY_int8, 0)] = allnan_2d_int8_axis0 - * allnan_dict[(2, NPY_int8, 1)] = allnan_2d_int8_axis1 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int32, 0)] = allnan_2d_int32_axis0 - * allnan_dict[(2, NPY_int32, 1)] = allnan_2d_int32_axis1 + * allnan_dict[(2, NPY_float, 1)] = allnan_2d_float_axis1 + * allnan_dict[(2, NPY_float32, 0)] = allnan_2d_float32_axis0 + * allnan_dict[(2, NPY_float32, 1)] = allnan_2d_float32_axis1 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float64, 0)] = allnan_2d_float64_axis0 + * allnan_dict[(2, NPY_float64, 1)] = allnan_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16486,19 +16486,19 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":757 - * allnan_dict[(2, NPY_int8, 0)] = allnan_2d_int8_axis0 - * allnan_dict[(2, NPY_int8, 1)] = allnan_2d_int8_axis1 - * allnan_dict[(2, NPY_int32, 0)] = allnan_2d_int32_axis0 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int32, 1)] = allnan_2d_int32_axis1 - * allnan_dict[(2, NPY_int64, 0)] = allnan_2d_int64_axis0 + * allnan_dict[(2, NPY_float32, 0)] = allnan_2d_float32_axis0 + * allnan_dict[(2, NPY_float32, 1)] = allnan_2d_float32_axis1 + * allnan_dict[(2, NPY_float64, 0)] = allnan_2d_float64_axis0 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float64, 1)] = allnan_2d_float64_axis1 + * allnan_dict[(1, NPY_float, 0)] = allnan_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16516,19 +16516,19 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":758 - * allnan_dict[(2, NPY_int8, 1)] = allnan_2d_int8_axis1 - * allnan_dict[(2, NPY_int32, 0)] = allnan_2d_int32_axis0 - * allnan_dict[(2, NPY_int32, 1)] = allnan_2d_int32_axis1 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int64, 0)] = allnan_2d_int64_axis0 - * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 + * allnan_dict[(2, NPY_float32, 1)] = allnan_2d_float32_axis1 + * allnan_dict[(2, NPY_float64, 0)] = allnan_2d_float64_axis0 + * allnan_dict[(2, NPY_float64, 1)] = allnan_2d_float64_axis1 # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float, 0)] = allnan_1d_float_axisNone + * allnan_dict[(1, NPY_float, None)] = allnan_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16546,25 +16546,25 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":759 - * allnan_dict[(2, NPY_int32, 0)] = allnan_2d_int32_axis0 - * allnan_dict[(2, NPY_int32, 1)] = allnan_2d_int32_axis1 - * allnan_dict[(2, NPY_int64, 0)] = allnan_2d_int64_axis0 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 - * allnan_dict[(1, NPY_float, 0)] = allnan_1d_float_axisNone + * allnan_dict[(2, NPY_float64, 0)] = allnan_2d_float64_axis0 + * allnan_dict[(2, NPY_float64, 1)] = allnan_2d_float64_axis1 + * allnan_dict[(1, NPY_float, 0)] = allnan_1d_float_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float, None)] = allnan_1d_float_axisNone + * allnan_dict[(1, NPY_float32, 0)] = allnan_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -16576,49 +16576,49 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":760 - * allnan_dict[(2, NPY_int32, 1)] = allnan_2d_int32_axis1 - * allnan_dict[(2, NPY_int64, 0)] = allnan_2d_int64_axis0 - * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float64, 1)] = allnan_2d_float64_axis1 * allnan_dict[(1, NPY_float, 0)] = allnan_1d_float_axisNone - * allnan_dict[(1, NPY_float, None)] = allnan_1d_float_axisNone + * allnan_dict[(1, NPY_float, None)] = allnan_1d_float_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float32, 0)] = allnan_1d_float32_axisNone + * allnan_dict[(1, NPY_float32, None)] = allnan_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":761 - * allnan_dict[(2, NPY_int64, 0)] = allnan_2d_int64_axis0 - * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 - * allnan_dict[(1, NPY_float, 0)] = allnan_1d_float_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float, 0)] = allnan_1d_float_axisNone * allnan_dict[(1, NPY_float, None)] = allnan_1d_float_axisNone - * allnan_dict[(1, NPY_float32, 0)] = allnan_1d_float32_axisNone + * allnan_dict[(1, NPY_float32, 0)] = allnan_1d_float32_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float32, None)] = allnan_1d_float32_axisNone + * allnan_dict[(1, NPY_float64, 0)] = allnan_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16636,19 +16636,19 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":762 - * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 - * allnan_dict[(1, NPY_float, 0)] = allnan_1d_float_axisNone - * allnan_dict[(1, NPY_float, None)] = allnan_1d_float_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float, None)] = allnan_1d_float_axisNone * allnan_dict[(1, NPY_float32, 0)] = allnan_1d_float32_axisNone - * allnan_dict[(1, NPY_float32, None)] = allnan_1d_float32_axisNone + * allnan_dict[(1, NPY_float32, None)] = allnan_1d_float32_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float64, 0)] = allnan_1d_float64_axisNone + * allnan_dict[(1, NPY_float64, None)] = allnan_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16666,19 +16666,19 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":763 - * allnan_dict[(1, NPY_float, 0)] = allnan_1d_float_axisNone - * allnan_dict[(1, NPY_float, None)] = allnan_1d_float_axisNone - * allnan_dict[(1, NPY_float32, 0)] = allnan_1d_float32_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float32, 0)] = allnan_1d_float32_axisNone * allnan_dict[(1, NPY_float32, None)] = allnan_1d_float32_axisNone - * allnan_dict[(1, NPY_float64, 0)] = allnan_1d_float64_axisNone + * allnan_dict[(1, NPY_float64, 0)] = allnan_1d_float64_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float64, None)] = allnan_1d_float64_axisNone + * allnan_dict[(2, NPY_float, None)] = allnan_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16696,19 +16696,19 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":764 - * allnan_dict[(1, NPY_float, None)] = allnan_1d_float_axisNone - * allnan_dict[(1, NPY_float32, 0)] = allnan_1d_float32_axisNone - * allnan_dict[(1, NPY_float32, None)] = allnan_1d_float32_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float32, None)] = allnan_1d_float32_axisNone * allnan_dict[(1, NPY_float64, 0)] = allnan_1d_float64_axisNone - * allnan_dict[(1, NPY_float64, None)] = allnan_1d_float64_axisNone + * allnan_dict[(1, NPY_float64, None)] = allnan_1d_float64_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float, None)] = allnan_2d_float_axisNone + * allnan_dict[(2, NPY_float32, None)] = allnan_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16726,55 +16726,55 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":765 - * allnan_dict[(1, NPY_float32, 0)] = allnan_1d_float32_axisNone - * allnan_dict[(1, NPY_float32, None)] = allnan_1d_float32_axisNone - * allnan_dict[(1, NPY_float64, 0)] = allnan_1d_float64_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float64, 0)] = allnan_1d_float64_axisNone * allnan_dict[(1, NPY_float64, None)] = allnan_1d_float64_axisNone - * allnan_dict[(2, NPY_float, None)] = allnan_2d_float_axisNone + * allnan_dict[(2, NPY_float, None)] = allnan_2d_float_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float32, None)] = allnan_2d_float32_axisNone + * allnan_dict[(2, NPY_float64, None)] = allnan_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":766 - * allnan_dict[(1, NPY_float32, None)] = allnan_1d_float32_axisNone - * allnan_dict[(1, NPY_float64, 0)] = allnan_1d_float64_axisNone - * allnan_dict[(1, NPY_float64, None)] = allnan_1d_float64_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float64, None)] = allnan_1d_float64_axisNone * allnan_dict[(2, NPY_float, None)] = allnan_2d_float_axisNone - * allnan_dict[(2, NPY_float32, None)] = allnan_2d_float32_axisNone + * allnan_dict[(2, NPY_float32, None)] = allnan_2d_float32_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float64, None)] = allnan_2d_float64_axisNone + * allnan_dict[(1, NPY_int, 0)] = allnan_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -16786,19 +16786,19 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":767 - * allnan_dict[(1, NPY_float64, 0)] = allnan_1d_float64_axisNone - * allnan_dict[(1, NPY_float64, None)] = allnan_1d_float64_axisNone - * allnan_dict[(2, NPY_float, None)] = allnan_2d_float_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float, None)] = allnan_2d_float_axisNone * allnan_dict[(2, NPY_float32, None)] = allnan_2d_float32_axisNone - * allnan_dict[(2, NPY_float64, None)] = allnan_2d_float64_axisNone + * allnan_dict[(2, NPY_float64, None)] = allnan_2d_float64_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_int, 0)] = allnan_1d_int_axisNone + * allnan_dict[(1, NPY_int, None)] = allnan_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16816,55 +16816,55 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":768 - * allnan_dict[(1, NPY_float64, None)] = allnan_1d_float64_axisNone - * allnan_dict[(2, NPY_float, None)] = allnan_2d_float_axisNone - * allnan_dict[(2, NPY_float32, None)] = allnan_2d_float32_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float32, None)] = allnan_2d_float32_axisNone * allnan_dict[(2, NPY_float64, None)] = allnan_2d_float64_axisNone - * allnan_dict[(2, NPY_float, 0)] = allnan_2d_float_axis0 + * allnan_dict[(1, NPY_int, 0)] = allnan_1d_int_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_int, None)] = allnan_1d_int_axisNone + * allnan_dict[(1, NPY_int8, 0)] = allnan_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":769 - * allnan_dict[(2, NPY_float, None)] = allnan_2d_float_axisNone - * allnan_dict[(2, NPY_float32, None)] = allnan_2d_float32_axisNone - * allnan_dict[(2, NPY_float64, None)] = allnan_2d_float64_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_float, 0)] = allnan_2d_float_axis0 - * allnan_dict[(2, NPY_float, 1)] = allnan_2d_float_axis1 + * allnan_dict[(2, NPY_float64, None)] = allnan_2d_float64_axisNone + * allnan_dict[(1, NPY_int, 0)] = allnan_1d_int_axisNone + * allnan_dict[(1, NPY_int, None)] = allnan_1d_int_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_int8, 0)] = allnan_1d_int8_axisNone + * allnan_dict[(1, NPY_int8, None)] = allnan_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -16876,25 +16876,25 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":770 - * allnan_dict[(2, NPY_float32, None)] = allnan_2d_float32_axisNone - * allnan_dict[(2, NPY_float64, None)] = allnan_2d_float64_axisNone - * allnan_dict[(2, NPY_float, 0)] = allnan_2d_float_axis0 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_float, 1)] = allnan_2d_float_axis1 - * allnan_dict[(2, NPY_float32, 0)] = allnan_2d_float32_axis0 + * allnan_dict[(1, NPY_int, 0)] = allnan_1d_int_axisNone + * allnan_dict[(1, NPY_int, None)] = allnan_1d_int_axisNone + * allnan_dict[(1, NPY_int8, 0)] = allnan_1d_int8_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_int8, None)] = allnan_1d_int8_axisNone + * allnan_dict[(1, NPY_int32, 0)] = allnan_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16906,55 +16906,55 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":771 - * allnan_dict[(2, NPY_float64, None)] = allnan_2d_float64_axisNone - * allnan_dict[(2, NPY_float, 0)] = allnan_2d_float_axis0 - * allnan_dict[(2, NPY_float, 1)] = allnan_2d_float_axis1 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_float32, 0)] = allnan_2d_float32_axis0 - * allnan_dict[(2, NPY_float32, 1)] = allnan_2d_float32_axis1 + * allnan_dict[(1, NPY_int, None)] = allnan_1d_int_axisNone + * allnan_dict[(1, NPY_int8, 0)] = allnan_1d_int8_axisNone + * allnan_dict[(1, NPY_int8, None)] = allnan_1d_int8_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_int32, 0)] = allnan_1d_int32_axisNone + * allnan_dict[(1, NPY_int32, None)] = allnan_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":772 - * allnan_dict[(2, NPY_float, 0)] = allnan_2d_float_axis0 - * allnan_dict[(2, NPY_float, 1)] = allnan_2d_float_axis1 - * allnan_dict[(2, NPY_float32, 0)] = allnan_2d_float32_axis0 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_float32, 1)] = allnan_2d_float32_axis1 - * allnan_dict[(2, NPY_float64, 0)] = allnan_2d_float64_axis0 + * allnan_dict[(1, NPY_int8, 0)] = allnan_1d_int8_axisNone + * allnan_dict[(1, NPY_int8, None)] = allnan_1d_int8_axisNone + * allnan_dict[(1, NPY_int32, 0)] = allnan_1d_int32_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_int32, None)] = allnan_1d_int32_axisNone + * allnan_dict[(1, NPY_int64, 0)] = allnan_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16966,55 +16966,55 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":773 - * allnan_dict[(2, NPY_float, 1)] = allnan_2d_float_axis1 - * allnan_dict[(2, NPY_float32, 0)] = allnan_2d_float32_axis0 - * allnan_dict[(2, NPY_float32, 1)] = allnan_2d_float32_axis1 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_float64, 0)] = allnan_2d_float64_axis0 - * allnan_dict[(2, NPY_float64, 1)] = allnan_2d_float64_axis1 + * allnan_dict[(1, NPY_int8, None)] = allnan_1d_int8_axisNone + * allnan_dict[(1, NPY_int32, 0)] = allnan_1d_int32_axisNone + * allnan_dict[(1, NPY_int32, None)] = allnan_1d_int32_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_int64, 0)] = allnan_1d_int64_axisNone + * allnan_dict[(1, NPY_int64, None)] = allnan_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":774 - * allnan_dict[(2, NPY_float32, 0)] = allnan_2d_float32_axis0 - * allnan_dict[(2, NPY_float32, 1)] = allnan_2d_float32_axis1 - * allnan_dict[(2, NPY_float64, 0)] = allnan_2d_float64_axis0 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_float64, 1)] = allnan_2d_float64_axis1 - * allnan_dict[(1, NPY_int, 0)] = allnan_1d_int_axisNone + * allnan_dict[(1, NPY_int32, 0)] = allnan_1d_int32_axisNone + * allnan_dict[(1, NPY_int32, None)] = allnan_1d_int32_axisNone + * allnan_dict[(1, NPY_int64, 0)] = allnan_1d_int64_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_int64, None)] = allnan_1d_int64_axisNone + * allnan_dict[(2, NPY_int, None)] = allnan_2d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -17026,43 +17026,43 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":775 - * allnan_dict[(2, NPY_float32, 1)] = allnan_2d_float32_axis1 - * allnan_dict[(2, NPY_float64, 0)] = allnan_2d_float64_axis0 - * allnan_dict[(2, NPY_float64, 1)] = allnan_2d_float64_axis1 # <<<<<<<<<<<<<< - * allnan_dict[(1, NPY_int, 0)] = allnan_1d_int_axisNone - * allnan_dict[(1, NPY_int, None)] = allnan_1d_int_axisNone + * allnan_dict[(1, NPY_int32, None)] = allnan_1d_int32_axisNone + * allnan_dict[(1, NPY_int64, 0)] = allnan_1d_int64_axisNone + * allnan_dict[(1, NPY_int64, None)] = allnan_1d_int64_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int, None)] = allnan_2d_int_axisNone + * allnan_dict[(2, NPY_int8, None)] = allnan_2d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":776 - * allnan_dict[(2, NPY_float64, 0)] = allnan_2d_float64_axis0 - * allnan_dict[(2, NPY_float64, 1)] = allnan_2d_float64_axis1 - * allnan_dict[(1, NPY_int, 0)] = allnan_1d_int_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(1, NPY_int, None)] = allnan_1d_int_axisNone - * allnan_dict[(1, NPY_int8, 0)] = allnan_1d_int8_axisNone + * allnan_dict[(1, NPY_int64, 0)] = allnan_1d_int64_axisNone + * allnan_dict[(1, NPY_int64, None)] = allnan_1d_int64_axisNone + * allnan_dict[(2, NPY_int, None)] = allnan_2d_int_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int8, None)] = allnan_2d_int8_axisNone + * allnan_dict[(2, NPY_int32, None)] = allnan_2d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -17072,39 +17072,39 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":777 - * allnan_dict[(2, NPY_float64, 1)] = allnan_2d_float64_axis1 - * allnan_dict[(1, NPY_int, 0)] = allnan_1d_int_axisNone - * allnan_dict[(1, NPY_int, None)] = allnan_1d_int_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(1, NPY_int8, 0)] = allnan_1d_int8_axisNone - * allnan_dict[(1, NPY_int8, None)] = allnan_1d_int8_axisNone + * allnan_dict[(1, NPY_int64, None)] = allnan_1d_int64_axisNone + * allnan_dict[(2, NPY_int, None)] = allnan_2d_int_axisNone + * allnan_dict[(2, NPY_int8, None)] = allnan_2d_int8_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int32, None)] = allnan_2d_int32_axisNone + * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -17116,55 +17116,55 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":778 - * allnan_dict[(1, NPY_int, 0)] = allnan_1d_int_axisNone - * allnan_dict[(1, NPY_int, None)] = allnan_1d_int_axisNone - * allnan_dict[(1, NPY_int8, 0)] = allnan_1d_int8_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(1, NPY_int8, None)] = allnan_1d_int8_axisNone - * allnan_dict[(1, NPY_int32, 0)] = allnan_1d_int32_axisNone + * allnan_dict[(2, NPY_int, None)] = allnan_2d_int_axisNone + * allnan_dict[(2, NPY_int8, None)] = allnan_2d_int8_axisNone + * allnan_dict[(2, NPY_int32, None)] = allnan_2d_int32_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone + * allnan_dict[(2, NPY_int, 0)] = allnan_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":779 - * allnan_dict[(1, NPY_int, None)] = allnan_1d_int_axisNone - * allnan_dict[(1, NPY_int8, 0)] = allnan_1d_int8_axisNone - * allnan_dict[(1, NPY_int8, None)] = allnan_1d_int8_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(1, NPY_int32, 0)] = allnan_1d_int32_axisNone - * allnan_dict[(1, NPY_int32, None)] = allnan_1d_int32_axisNone + * allnan_dict[(2, NPY_int8, None)] = allnan_2d_int8_axisNone + * allnan_dict[(2, NPY_int32, None)] = allnan_2d_int32_axisNone + * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int, 0)] = allnan_2d_int_axis0 + * allnan_dict[(2, NPY_int, 1)] = allnan_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -17176,25 +17176,25 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":780 - * allnan_dict[(1, NPY_int8, 0)] = allnan_1d_int8_axisNone - * allnan_dict[(1, NPY_int8, None)] = allnan_1d_int8_axisNone - * allnan_dict[(1, NPY_int32, 0)] = allnan_1d_int32_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(1, NPY_int32, None)] = allnan_1d_int32_axisNone - * allnan_dict[(1, NPY_int64, 0)] = allnan_1d_int64_axisNone + * allnan_dict[(2, NPY_int32, None)] = allnan_2d_int32_axisNone + * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone + * allnan_dict[(2, NPY_int, 0)] = allnan_2d_int_axis0 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int, 1)] = allnan_2d_int_axis1 + * allnan_dict[(2, NPY_int8, 0)] = allnan_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -17206,55 +17206,55 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":781 - * allnan_dict[(1, NPY_int8, None)] = allnan_1d_int8_axisNone - * allnan_dict[(1, NPY_int32, 0)] = allnan_1d_int32_axisNone - * allnan_dict[(1, NPY_int32, None)] = allnan_1d_int32_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(1, NPY_int64, 0)] = allnan_1d_int64_axisNone - * allnan_dict[(1, NPY_int64, None)] = allnan_1d_int64_axisNone + * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone + * allnan_dict[(2, NPY_int, 0)] = allnan_2d_int_axis0 + * allnan_dict[(2, NPY_int, 1)] = allnan_2d_int_axis1 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int8, 0)] = allnan_2d_int8_axis0 + * allnan_dict[(2, NPY_int8, 1)] = allnan_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":782 - * allnan_dict[(1, NPY_int32, 0)] = allnan_1d_int32_axisNone - * allnan_dict[(1, NPY_int32, None)] = allnan_1d_int32_axisNone - * allnan_dict[(1, NPY_int64, 0)] = allnan_1d_int64_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(1, NPY_int64, None)] = allnan_1d_int64_axisNone - * allnan_dict[(2, NPY_int, None)] = allnan_2d_int_axisNone + * allnan_dict[(2, NPY_int, 0)] = allnan_2d_int_axis0 + * allnan_dict[(2, NPY_int, 1)] = allnan_2d_int_axis1 + * allnan_dict[(2, NPY_int8, 0)] = allnan_2d_int8_axis0 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int8, 1)] = allnan_2d_int8_axis1 + * allnan_dict[(2, NPY_int32, 0)] = allnan_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -17266,49 +17266,49 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":783 - * allnan_dict[(1, NPY_int32, None)] = allnan_1d_int32_axisNone - * allnan_dict[(1, NPY_int64, 0)] = allnan_1d_int64_axisNone - * allnan_dict[(1, NPY_int64, None)] = allnan_1d_int64_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int, None)] = allnan_2d_int_axisNone - * allnan_dict[(2, NPY_int8, None)] = allnan_2d_int8_axisNone + * allnan_dict[(2, NPY_int, 1)] = allnan_2d_int_axis1 + * allnan_dict[(2, NPY_int8, 0)] = allnan_2d_int8_axis0 + * allnan_dict[(2, NPY_int8, 1)] = allnan_2d_int8_axis1 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int32, 0)] = allnan_2d_int32_axis0 + * allnan_dict[(2, NPY_int32, 1)] = allnan_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":784 - * allnan_dict[(1, NPY_int64, 0)] = allnan_1d_int64_axisNone - * allnan_dict[(1, NPY_int64, None)] = allnan_1d_int64_axisNone - * allnan_dict[(2, NPY_int, None)] = allnan_2d_int_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int8, None)] = allnan_2d_int8_axisNone - * allnan_dict[(2, NPY_int32, None)] = allnan_2d_int32_axisNone + * allnan_dict[(2, NPY_int8, 0)] = allnan_2d_int8_axis0 + * allnan_dict[(2, NPY_int8, 1)] = allnan_2d_int8_axis1 + * allnan_dict[(2, NPY_int32, 0)] = allnan_2d_int32_axis0 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int32, 1)] = allnan_2d_int32_axis1 + * allnan_dict[(2, NPY_int64, 0)] = allnan_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17317,28 +17317,28 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":785 - * allnan_dict[(1, NPY_int64, None)] = allnan_1d_int64_axisNone - * allnan_dict[(2, NPY_int, None)] = allnan_2d_int_axisNone - * allnan_dict[(2, NPY_int8, None)] = allnan_2d_int8_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int32, None)] = allnan_2d_int32_axisNone - * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone + * allnan_dict[(2, NPY_int8, 1)] = allnan_2d_int8_axis1 + * allnan_dict[(2, NPY_int32, 0)] = allnan_2d_int32_axis0 + * allnan_dict[(2, NPY_int32, 1)] = allnan_2d_int32_axis1 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int64, 0)] = allnan_2d_int64_axis0 + * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17347,28 +17347,28 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":786 - * allnan_dict[(2, NPY_int, None)] = allnan_2d_int_axisNone - * allnan_dict[(2, NPY_int8, None)] = allnan_2d_int8_axisNone - * allnan_dict[(2, NPY_int32, None)] = allnan_2d_int32_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone + * allnan_dict[(2, NPY_int32, 0)] = allnan_2d_int32_axis0 + * allnan_dict[(2, NPY_int32, 1)] = allnan_2d_int32_axis1 + * allnan_dict[(2, NPY_int64, 0)] = allnan_2d_int64_axis0 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17377,22 +17377,22 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":787 - * allnan_dict[(2, NPY_int8, None)] = allnan_2d_int8_axisNone - * allnan_dict[(2, NPY_int32, None)] = allnan_2d_int32_axisNone - * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int32, 1)] = allnan_2d_int32_axis1 + * allnan_dict[(2, NPY_int64, 0)] = allnan_2d_int64_axis0 + * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 # <<<<<<<<<<<<<< * * def allnan_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -17407,16 +17407,16 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":789 - * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone + * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 * * def allnan_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) allnan along axis 0." @@ -18390,7 +18390,7 @@ PyMODINIT_FUNC PyInit_allnan(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/anynan.c b/bottlechest/src/func/32bit/anynan.c index f99a81b7ca..fe0bdd22c2 100644 --- a/bottlechest/src/func/32bit/anynan.c +++ b/bottlechest/src/func/32bit/anynan.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -870,8 +870,8 @@ static CYTHON_INLINE int __Pyx_GetBufferAndValidate(Py_buffer* buf, PyObject* o __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack); static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info); -#define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0) #define __Pyx_BufPtrStrided2d(type, buf, i0, s0, i1, s1) (type)((char*)buf + i0 * s0 + i1 * s1) +#define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0) static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); typedef struct { @@ -1096,14 +1096,14 @@ static __pyx_t_5numpy_float32_t __pyx_v_6anynan_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_6anynan_MAXfloat64; static PyObject *__pyx_v_6anynan_anynan_dict = 0; static PyObject *__pyx_v_6anynan_anynan_slow_dict = 0; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t = { "uint8_t", NULL, sizeof(__pyx_t_5numpy_uint8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_uint8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_uint8_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "anynan" int __pyx_module_is_main_anynan = 0; @@ -1115,34 +1115,34 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_6anynan_anynan(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_6anynan_2anynan_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_6anynan_4anynan_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_10anynan_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_16anynan_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_18anynan_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_24anynan_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_32anynan_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_34anynan_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_36anynan_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_38anynan_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_40anynan_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_42anynan_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_44anynan_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_46anynan_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_48anynan_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_50anynan_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_52anynan_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_54anynan_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_56anynan_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_58anynan_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_4anynan_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_6anynan_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_8anynan_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_10anynan_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_12anynan_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_14anynan_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_16anynan_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_18anynan_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_20anynan_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_22anynan_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_24anynan_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_26anynan_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_28anynan_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_30anynan_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_32anynan_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_34anynan_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_36anynan_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_38anynan_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_40anynan_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_42anynan_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_44anynan_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_46anynan_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_48anynan_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_50anynan_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_52anynan_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_54anynan_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_56anynan_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_58anynan_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_6anynan_60anynan_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6anynan_62anynan_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6anynan_64anynan_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1317,15 +1317,14 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Test_whether_any_array_element[] = "\n Test whether any array element along a given axis is NaN.\n\n Returns single boolean unless `axis` is not ``None``.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}, optional\n Axis along which NaNs are searched. The default (`axis` = ``None``)\n is to search for NaNs over a flattened input array. `axis` may be\n negative, in which case it counts from the last to the first axis.\n\n Returns\n -------\n y : bool or ndarray\n A new boolean or `ndarray` is returned.\n\n See also\n --------\n bottlechest.allnan: Test if all array elements along given axis are NaN\n\n Examples\n --------\n >>> bn.anynan(1)\n False\n >>> bn.anynan(np.nan)\n True\n >>> bn.anynan([1, np.nan])\n True\n >>> a = np.array([[1, 4], [1, np.nan]])\n >>> bn.anynan(a)\n True\n >>> bn.anynan(a, axis=0)\n array([False, True], dtype=bool) \n\n "; static char __pyx_k_Return_anynan_function_and_arra[] = "\n Return anynan function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in bn.anynan()\n is in checking that `axis` is within range, converting `arr` into an\n array (if it is not already an array), and selecting the function to use.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which NaNs are searched.\n \n Returns\n -------\n func : function\n The anynan function that matches the number of dimensions and\n dtype of the input array and the axis.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine if there are any NaN in `arr`:\n\n >>> func, a = bn.func.anynan_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine if there are any\n NaNs:\n \n >>> func(a)\n False\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/anynan.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\anynan.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1339,6 +1338,7 @@ static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_kp_u_Test_whether_any_array_element; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__27; static PyObject *__pyx_n_s_a; @@ -2461,24 +2461,24 @@ static PyObject *__pyx_pf_6anynan_2anynan_selector(CYTHON_UNUSED PyObject *__pyx /* "anynan.pyx":182 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=0." + * def anynan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_5anynan_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_4anynan_2d_int_axis0[] = "anynan_2d_int_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_6anynan_5anynan_2d_int_axis0 = {"anynan_2d_int_axis0", (PyCFunction)__pyx_pw_6anynan_5anynan_2d_int_axis0, METH_O, __pyx_doc_6anynan_4anynan_2d_int_axis0}; -static PyObject *__pyx_pw_6anynan_5anynan_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_5anynan_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_4anynan_2d_float_axis0[] = "anynan_2d_float_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_6anynan_5anynan_2d_float_axis0 = {"anynan_2d_float_axis0", (PyCFunction)__pyx_pw_6anynan_5anynan_2d_float_axis0, METH_O, __pyx_doc_6anynan_4anynan_2d_float_axis0}; +static PyObject *__pyx_pw_6anynan_5anynan_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("anynan_2d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_4anynan_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6anynan_4anynan_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2489,11 +2489,13 @@ static PyObject *__pyx_pw_6anynan_5anynan_2d_int_axis0(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6anynan_4anynan_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6anynan_4anynan_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + __pyx_t_5numpy_float_t __pyx_v_ai; + Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; - CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; @@ -2509,10 +2511,15 @@ static PyObject *__pyx_pf_6anynan_4anynan_2d_int_axis0(CYTHON_UNUSED PyObject *_ Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("anynan_2d_float_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2523,15 +2530,15 @@ static PyObject *__pyx_pf_6anynan_4anynan_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "anynan.pyx":184 - * def anynan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int along axis=0." + * def anynan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=float along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int_t ai + * cdef np.float_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -2600,8 +2607,8 @@ static PyObject *__pyx_pf_6anynan_4anynan_2d_int_axis0(CYTHON_UNUSED PyObject *_ * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i1] = 0 - * return y + * f = 1 + * for i0 in range(n0): */ __pyx_t_4 = __pyx_v_n1; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { @@ -2610,17 +2617,102 @@ static PyObject *__pyx_pf_6anynan_4anynan_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "anynan.pyx":195 * NPY_BOOL, 0) * for i1 in range(n1): - * y[i1] = 0 # <<<<<<<<<<<<<< + * f = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_f = 1; + + /* "anynan.pyx":196 + * for i1 in range(n1): + * f = 1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: + */ + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; + + /* "anynan.pyx":197 + * f = 1 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * y[i1] = 1 + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "anynan.pyx":198 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * y[i1] = 1 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":199 + * ai = a[i0, i1] + * if ai != ai: + * y[i1] = 1 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + + /* "anynan.pyx":200 + * if ai != ai: + * y[i1] = 1 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "anynan.pyx":201 + * y[i1] = 1 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i1] = 0 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "anynan.pyx":202 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i1] = 0 + * return y + */ + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":203 + * break + * if f == 1: + * y[i1] = 0 # <<<<<<<<<<<<<< * return y * */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + goto __pyx_L8; + } + __pyx_L8:; } - /* "anynan.pyx":196 - * for i1 in range(n1): - * y[i1] = 0 + /* "anynan.pyx":204 + * if f == 1: + * y[i1] = 0 * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2633,8 +2725,8 @@ static PyObject *__pyx_pf_6anynan_4anynan_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "anynan.pyx":182 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=0." + * def anynan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=0." * cdef int f = 1 */ @@ -2646,7 +2738,7 @@ static PyObject *__pyx_pf_6anynan_4anynan_2d_int_axis0(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2659,27 +2751,27 @@ static PyObject *__pyx_pf_6anynan_4anynan_2d_int_axis0(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "anynan.pyx":200 +/* "anynan.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=1." + * def anynan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_7anynan_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_6anynan_2d_int_axis1[] = "anynan_2d_int_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=int along axis=1."; -static PyMethodDef __pyx_mdef_6anynan_7anynan_2d_int_axis1 = {"anynan_2d_int_axis1", (PyCFunction)__pyx_pw_6anynan_7anynan_2d_int_axis1, METH_O, __pyx_doc_6anynan_6anynan_2d_int_axis1}; -static PyObject *__pyx_pw_6anynan_7anynan_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_7anynan_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_6anynan_2d_float_axis1[] = "anynan_2d_float_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=float along axis=1."; +static PyMethodDef __pyx_mdef_6anynan_7anynan_2d_float_axis1 = {"anynan_2d_float_axis1", (PyCFunction)__pyx_pw_6anynan_7anynan_2d_float_axis1, METH_O, __pyx_doc_6anynan_6anynan_2d_float_axis1}; +static PyObject *__pyx_pw_6anynan_7anynan_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_6anynan_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_float_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_6anynan_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2690,12 +2782,14 @@ static PyObject *__pyx_pw_6anynan_7anynan_2d_int_axis1(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6anynan_6anynan_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - CYTHON_UNUSED Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -2710,10 +2804,15 @@ static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *_ Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("anynan_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2724,20 +2823,20 @@ static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":202 - * def anynan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int along axis=1." + /* "anynan.pyx":210 + * def anynan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=float along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int_t ai + * cdef np.float_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":206 + /* "anynan.pyx":214 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2746,7 +2845,7 @@ static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":207 + /* "anynan.pyx":215 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2755,7 +2854,7 @@ static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":208 + /* "anynan.pyx":216 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -2764,7 +2863,7 @@ static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":209 + /* "anynan.pyx":217 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -2774,22 +2873,22 @@ static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "anynan.pyx":210 + /* "anynan.pyx":218 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2797,31 +2896,116 @@ static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":212 + /* "anynan.pyx":220 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = 0 - * return y + * f = 1 + * for i1 in range(n1): */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "anynan.pyx":213 + /* "anynan.pyx":221 * NPY_BOOL, 0) * for i0 in range(n0): - * y[i0] = 0 # <<<<<<<<<<<<<< + * f = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_f = 1; + + /* "anynan.pyx":222 + * for i0 in range(n0): + * f = 1 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: + */ + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; + + /* "anynan.pyx":223 + * f = 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * y[i0] = 1 + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "anynan.pyx":224 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * y[i0] = 1 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":225 + * ai = a[i0, i1] + * if ai != ai: + * y[i0] = 1 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + + /* "anynan.pyx":226 + * if ai != ai: + * y[i0] = 1 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "anynan.pyx":227 + * y[i0] = 1 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i0] = 0 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "anynan.pyx":228 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i0] = 0 + * return y + */ + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":229 + * break + * if f == 1: + * y[i0] = 0 # <<<<<<<<<<<<<< * return y * */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + goto __pyx_L8; + } + __pyx_L8:; } - /* "anynan.pyx":214 - * for i0 in range(n0): - * y[i0] = 0 + /* "anynan.pyx":230 + * if f == 1: + * y[i0] = 0 * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2831,11 +3015,11 @@ static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":200 + /* "anynan.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=1." + * def anynan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=1." * cdef int f = 1 */ @@ -2847,7 +3031,7 @@ static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2860,27 +3044,27 @@ static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "anynan.pyx":218 +/* "anynan.pyx":234 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=0." + * def anynan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float32 along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_9anynan_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_8anynan_2d_int8_axis0[] = "anynan_2d_int8_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_6anynan_9anynan_2d_int8_axis0 = {"anynan_2d_int8_axis0", (PyCFunction)__pyx_pw_6anynan_9anynan_2d_int8_axis0, METH_O, __pyx_doc_6anynan_8anynan_2d_int8_axis0}; -static PyObject *__pyx_pw_6anynan_9anynan_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_9anynan_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_8anynan_2d_float32_axis0[] = "anynan_2d_float32_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_6anynan_9anynan_2d_float32_axis0 = {"anynan_2d_float32_axis0", (PyCFunction)__pyx_pw_6anynan_9anynan_2d_float32_axis0, METH_O, __pyx_doc_6anynan_8anynan_2d_float32_axis0}; +static PyObject *__pyx_pw_6anynan_9anynan_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_8anynan_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_8anynan_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2891,11 +3075,13 @@ static PyObject *__pyx_pw_6anynan_9anynan_2d_int8_axis0(PyObject *__pyx_self, Py return __pyx_r; } -static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6anynan_8anynan_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + __pyx_t_5numpy_float32_t __pyx_v_ai; + Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; - CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; @@ -2911,10 +3097,15 @@ static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject * Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("anynan_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2925,20 +3116,20 @@ static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":220 - * def anynan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int8 along axis=0." + /* "anynan.pyx":236 + * def anynan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=float32 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t ai + * cdef np.float32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":224 + /* "anynan.pyx":240 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2947,7 +3138,7 @@ static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":225 + /* "anynan.pyx":241 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2956,7 +3147,7 @@ static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":226 + /* "anynan.pyx":242 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -2965,7 +3156,7 @@ static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":227 + /* "anynan.pyx":243 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -2975,22 +3166,22 @@ static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "anynan.pyx":228 + /* "anynan.pyx":244 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2998,31 +3189,116 @@ static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":230 + /* "anynan.pyx":246 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i1] = 0 - * return y + * f = 1 + * for i0 in range(n0): */ __pyx_t_4 = __pyx_v_n1; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i1 = __pyx_t_5; - /* "anynan.pyx":231 + /* "anynan.pyx":247 * NPY_BOOL, 0) * for i1 in range(n1): - * y[i1] = 0 # <<<<<<<<<<<<<< + * f = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_f = 1; + + /* "anynan.pyx":248 + * for i1 in range(n1): + * f = 1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: + */ + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; + + /* "anynan.pyx":249 + * f = 1 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * y[i1] = 1 + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "anynan.pyx":250 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * y[i1] = 1 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":251 + * ai = a[i0, i1] + * if ai != ai: + * y[i1] = 1 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + + /* "anynan.pyx":252 + * if ai != ai: + * y[i1] = 1 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "anynan.pyx":253 + * y[i1] = 1 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i1] = 0 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "anynan.pyx":254 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i1] = 0 + * return y + */ + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":255 + * break + * if f == 1: + * y[i1] = 0 # <<<<<<<<<<<<<< * return y * */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + goto __pyx_L8; + } + __pyx_L8:; } - /* "anynan.pyx":232 - * for i1 in range(n1): - * y[i1] = 0 + /* "anynan.pyx":256 + * if f == 1: + * y[i1] = 0 * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3032,11 +3308,11 @@ static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":218 + /* "anynan.pyx":234 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=0." + * def anynan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float32 along axis=0." * cdef int f = 1 */ @@ -3048,7 +3324,7 @@ static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject * __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3061,27 +3337,27 @@ static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "anynan.pyx":236 +/* "anynan.pyx":260 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=1." + * def anynan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float32 along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_11anynan_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_10anynan_2d_int8_axis1[] = "anynan_2d_int8_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=int8 along axis=1."; -static PyMethodDef __pyx_mdef_6anynan_11anynan_2d_int8_axis1 = {"anynan_2d_int8_axis1", (PyCFunction)__pyx_pw_6anynan_11anynan_2d_int8_axis1, METH_O, __pyx_doc_6anynan_10anynan_2d_int8_axis1}; -static PyObject *__pyx_pw_6anynan_11anynan_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_11anynan_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_10anynan_2d_float32_axis1[] = "anynan_2d_float32_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=float32 along axis=1."; +static PyMethodDef __pyx_mdef_6anynan_11anynan_2d_float32_axis1 = {"anynan_2d_float32_axis1", (PyCFunction)__pyx_pw_6anynan_11anynan_2d_float32_axis1, METH_O, __pyx_doc_6anynan_10anynan_2d_float32_axis1}; +static PyObject *__pyx_pw_6anynan_11anynan_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int8_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_10anynan_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_float32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_10anynan_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3092,12 +3368,14 @@ static PyObject *__pyx_pw_6anynan_11anynan_2d_int8_axis1(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_6anynan_10anynan_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6anynan_10anynan_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - CYTHON_UNUSED Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -3112,10 +3390,15 @@ static PyObject *__pyx_pf_6anynan_10anynan_2d_int8_axis1(CYTHON_UNUSED PyObject Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("anynan_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3126,20 +3409,20 @@ static PyObject *__pyx_pf_6anynan_10anynan_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":238 - * def anynan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int8 along axis=1." + /* "anynan.pyx":262 + * def anynan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=float32 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t ai + * cdef np.float32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":242 + /* "anynan.pyx":266 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3148,7 +3431,7 @@ static PyObject *__pyx_pf_6anynan_10anynan_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":243 + /* "anynan.pyx":267 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3157,7 +3440,7 @@ static PyObject *__pyx_pf_6anynan_10anynan_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":244 + /* "anynan.pyx":268 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -3166,7 +3449,7 @@ static PyObject *__pyx_pf_6anynan_10anynan_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":245 + /* "anynan.pyx":269 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -3176,22 +3459,22 @@ static PyObject *__pyx_pf_6anynan_10anynan_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "anynan.pyx":246 + /* "anynan.pyx":270 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3199,90 +3482,175 @@ static PyObject *__pyx_pf_6anynan_10anynan_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":248 + /* "anynan.pyx":272 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = 0 - * return y + * f = 1 + * for i1 in range(n1): */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "anynan.pyx":249 + /* "anynan.pyx":273 * NPY_BOOL, 0) * for i0 in range(n0): - * y[i0] = 0 # <<<<<<<<<<<<<< - * return y - * + * f = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - } + __pyx_v_f = 1; - /* "anynan.pyx":250 + /* "anynan.pyx":274 * for i0 in range(n0): - * y[i0] = 0 - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + * f = 1 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "anynan.pyx":236 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def anynan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=1." - * cdef int f = 1 + /* "anynan.pyx":275 + * f = 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * y[i0] = 1 */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; - __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - goto __pyx_L2; - __pyx_L0:; - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} + /* "anynan.pyx":276 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * y[i0] = 1 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_10) { -/* "anynan.pyx":254 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def anynan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=0." - * cdef int f = 1 + /* "anynan.pyx":277 + * ai = a[i0, i1] + * if ai != ai: + * y[i0] = 1 # <<<<<<<<<<<<<< + * f = 0 + * break */ + __pyx_t_11 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; -/* Python wrapper */ -static PyObject *__pyx_pw_6anynan_13anynan_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_12anynan_2d_int32_axis0[] = "anynan_2d_int32_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_6anynan_13anynan_2d_int32_axis0 = {"anynan_2d_int32_axis0", (PyCFunction)__pyx_pw_6anynan_13anynan_2d_int32_axis0, METH_O, __pyx_doc_6anynan_12anynan_2d_int32_axis0}; -static PyObject *__pyx_pw_6anynan_13anynan_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_lineno = 0; + /* "anynan.pyx":278 + * if ai != ai: + * y[i0] = 1 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "anynan.pyx":279 + * y[i0] = 1 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i0] = 0 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "anynan.pyx":280 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i0] = 0 + * return y + */ + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":281 + * break + * if f == 1: + * y[i0] = 0 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + goto __pyx_L8; + } + __pyx_L8:; + } + + /* "anynan.pyx":282 + * if f == 1: + * y[i0] = 0 + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "anynan.pyx":260 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def anynan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float32 along axis=1." + * cdef int f = 1 + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("anynan.anynan_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); + __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "anynan.pyx":286 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def anynan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float64 along axis=0." + * cdef int f = 1 + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_6anynan_13anynan_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_12anynan_2d_float64_axis0[] = "anynan_2d_float64_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_6anynan_13anynan_2d_float64_axis0 = {"anynan_2d_float64_axis0", (PyCFunction)__pyx_pw_6anynan_13anynan_2d_float64_axis0, METH_O, __pyx_doc_6anynan_12anynan_2d_float64_axis0}; +static PyObject *__pyx_pw_6anynan_13anynan_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_12anynan_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_12anynan_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3293,11 +3661,13 @@ static PyObject *__pyx_pw_6anynan_13anynan_2d_int32_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6anynan_12anynan_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; - CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; @@ -3313,10 +3683,15 @@ static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("anynan_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3327,20 +3702,20 @@ static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":256 - * def anynan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int32 along axis=0." + /* "anynan.pyx":288 + * def anynan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=float64 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":260 + /* "anynan.pyx":292 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3349,7 +3724,7 @@ static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":261 + /* "anynan.pyx":293 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3358,7 +3733,7 @@ static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":262 + /* "anynan.pyx":294 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -3367,7 +3742,7 @@ static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":263 + /* "anynan.pyx":295 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -3377,22 +3752,22 @@ static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "anynan.pyx":264 + /* "anynan.pyx":296 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3400,31 +3775,116 @@ static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":266 + /* "anynan.pyx":298 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i1] = 0 - * return y + * f = 1 + * for i0 in range(n0): */ __pyx_t_4 = __pyx_v_n1; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i1 = __pyx_t_5; - /* "anynan.pyx":267 + /* "anynan.pyx":299 * NPY_BOOL, 0) * for i1 in range(n1): - * y[i1] = 0 # <<<<<<<<<<<<<< + * f = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_f = 1; + + /* "anynan.pyx":300 + * for i1 in range(n1): + * f = 1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: + */ + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; + + /* "anynan.pyx":301 + * f = 1 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * y[i1] = 1 + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "anynan.pyx":302 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * y[i1] = 1 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":303 + * ai = a[i0, i1] + * if ai != ai: + * y[i1] = 1 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + + /* "anynan.pyx":304 + * if ai != ai: + * y[i1] = 1 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "anynan.pyx":305 + * y[i1] = 1 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i1] = 0 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "anynan.pyx":306 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i1] = 0 + * return y + */ + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":307 + * break + * if f == 1: + * y[i1] = 0 # <<<<<<<<<<<<<< * return y * */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + goto __pyx_L8; + } + __pyx_L8:; } - /* "anynan.pyx":268 - * for i1 in range(n1): - * y[i1] = 0 + /* "anynan.pyx":308 + * if f == 1: + * y[i1] = 0 * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3434,11 +3894,11 @@ static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":254 + /* "anynan.pyx":286 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=0." + * def anynan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float64 along axis=0." * cdef int f = 1 */ @@ -3450,7 +3910,7 @@ static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3463,27 +3923,27 @@ static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "anynan.pyx":272 +/* "anynan.pyx":312 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=1." + * def anynan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float64 along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_15anynan_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_14anynan_2d_int32_axis1[] = "anynan_2d_int32_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=int32 along axis=1."; -static PyMethodDef __pyx_mdef_6anynan_15anynan_2d_int32_axis1 = {"anynan_2d_int32_axis1", (PyCFunction)__pyx_pw_6anynan_15anynan_2d_int32_axis1, METH_O, __pyx_doc_6anynan_14anynan_2d_int32_axis1}; -static PyObject *__pyx_pw_6anynan_15anynan_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_15anynan_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_14anynan_2d_float64_axis1[] = "anynan_2d_float64_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=float64 along axis=1."; +static PyMethodDef __pyx_mdef_6anynan_15anynan_2d_float64_axis1 = {"anynan_2d_float64_axis1", (PyCFunction)__pyx_pw_6anynan_15anynan_2d_float64_axis1, METH_O, __pyx_doc_6anynan_14anynan_2d_float64_axis1}; +static PyObject *__pyx_pw_6anynan_15anynan_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_14anynan_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_float64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_14anynan_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3494,12 +3954,14 @@ static PyObject *__pyx_pw_6anynan_15anynan_2d_int32_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6anynan_14anynan_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - CYTHON_UNUSED Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -3514,10 +3976,15 @@ static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("anynan_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3528,20 +3995,20 @@ static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":274 - * def anynan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int32 along axis=1." + /* "anynan.pyx":314 + * def anynan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=float64 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":278 + /* "anynan.pyx":318 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3550,7 +4017,7 @@ static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":279 + /* "anynan.pyx":319 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3559,7 +4026,7 @@ static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":280 + /* "anynan.pyx":320 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -3568,7 +4035,7 @@ static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":281 + /* "anynan.pyx":321 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -3578,22 +4045,22 @@ static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "anynan.pyx":282 + /* "anynan.pyx":322 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3601,31 +4068,116 @@ static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":284 + /* "anynan.pyx":324 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = 0 - * return y + * f = 1 + * for i1 in range(n1): */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "anynan.pyx":285 + /* "anynan.pyx":325 * NPY_BOOL, 0) * for i0 in range(n0): - * y[i0] = 0 # <<<<<<<<<<<<<< - * return y - * + * f = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - } + __pyx_v_f = 1; - /* "anynan.pyx":286 + /* "anynan.pyx":326 * for i0 in range(n0): - * y[i0] = 0 + * f = 1 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: + */ + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; + + /* "anynan.pyx":327 + * f = 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * y[i0] = 1 + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "anynan.pyx":328 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * y[i0] = 1 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":329 + * ai = a[i0, i1] + * if ai != ai: + * y[i0] = 1 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + + /* "anynan.pyx":330 + * if ai != ai: + * y[i0] = 1 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "anynan.pyx":331 + * y[i0] = 1 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i0] = 0 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "anynan.pyx":332 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i0] = 0 + * return y + */ + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":333 + * break + * if f == 1: + * y[i0] = 0 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + goto __pyx_L8; + } + __pyx_L8:; + } + + /* "anynan.pyx":334 + * if f == 1: + * y[i0] = 0 * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3635,11 +4187,11 @@ static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":272 + /* "anynan.pyx":312 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=1." + * def anynan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float64 along axis=1." * cdef int f = 1 */ @@ -3651,7 +4203,7 @@ static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3664,27 +4216,27 @@ static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "anynan.pyx":290 +/* "anynan.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=0." + * def anynan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_17anynan_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_16anynan_2d_int64_axis0[] = "anynan_2d_int64_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_6anynan_17anynan_2d_int64_axis0 = {"anynan_2d_int64_axis0", (PyCFunction)__pyx_pw_6anynan_17anynan_2d_int64_axis0, METH_O, __pyx_doc_6anynan_16anynan_2d_int64_axis0}; -static PyObject *__pyx_pw_6anynan_17anynan_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_17anynan_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_16anynan_1d_float_axisNone[] = "anynan_1d_float_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=float along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_17anynan_1d_float_axisNone = {"anynan_1d_float_axisNone", (PyCFunction)__pyx_pw_6anynan_17anynan_1d_float_axisNone, METH_O, __pyx_doc_6anynan_16anynan_1d_float_axisNone}; +static PyObject *__pyx_pw_6anynan_17anynan_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_16anynan_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_1d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_16anynan_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3695,398 +4247,184 @@ static PyObject *__pyx_pw_6anynan_17anynan_2d_int64_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6anynan_16anynan_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_16anynan_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; - Py_ssize_t __pyx_v_i1; + __pyx_t_5numpy_float_t __pyx_v_ai; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; - CYTHON_UNUSED Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; + Py_ssize_t __pyx_v_n0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("anynan_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "anynan.pyx":292 - * def anynan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int64 along axis=0." + /* "anynan.pyx":340 + * def anynan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): + * "Check for NaNs in 1d array with dtype=float along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.float_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "anynan.pyx":296 - * cdef Py_ssize_t i0, i1 + /* "anynan.pyx":344 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":297 + /* "anynan.pyx":345 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":298 + /* "anynan.pyx":346 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai != ai: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "anynan.pyx":299 + /* "anynan.pyx":347 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "anynan.pyx":300 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i1 in range(n1): + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai != ai: + * return np.bool_(True) */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "anynan.pyx":302 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i1] = 0 - * return y + /* "anynan.pyx":348 + * for i0 in range(n0): + * ai = a[i0] + * if ai != ai: # <<<<<<<<<<<<<< + * return np.bool_(True) + * return np.bool_(False) */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; + __pyx_t_4 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "anynan.pyx":303 - * NPY_BOOL, 0) - * for i1 in range(n1): - * y[i1] = 0 # <<<<<<<<<<<<<< - * return y + /* "anynan.pyx":349 + * ai = a[i0] + * if ai != ai: + * return np.bool_(True) # <<<<<<<<<<<<<< + * return np.bool_(False) * */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + } } - /* "anynan.pyx":304 - * for i1 in range(n1): - * y[i1] = 0 - * return y # <<<<<<<<<<<<<< + /* "anynan.pyx":350 + * if ai != ai: + * return np.bool_(True) + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; goto __pyx_L0; - /* "anynan.pyx":290 + /* "anynan.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=0." + * def anynan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "anynan.pyx":308 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def anynan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=1." - * cdef int f = 1 - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_6anynan_19anynan_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_18anynan_2d_int64_axis1[] = "anynan_2d_int64_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=int64 along axis=1."; -static PyMethodDef __pyx_mdef_6anynan_19anynan_2d_int64_axis1 = {"anynan_2d_int64_axis1", (PyCFunction)__pyx_pw_6anynan_19anynan_2d_int64_axis1, METH_O, __pyx_doc_6anynan_18anynan_2d_int64_axis1}; -static PyObject *__pyx_pw_6anynan_19anynan_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_lineno = 0; - CYTHON_UNUSED const char *__pyx_filename = NULL; - CYTHON_UNUSED int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_18anynan_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_6anynan_18anynan_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; - Py_ssize_t __pyx_v_i0; - npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - CYTHON_UNUSED Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - __Pyx_LocalBuf_ND __pyx_pybuffernd_a; - __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; - __pyx_pybuffer_a.pybuffer.buf = NULL; - __pyx_pybuffer_a.refcount = 0; - __pyx_pybuffernd_a.data = NULL; - __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "anynan.pyx":310 - * def anynan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int64 along axis=1." - * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_f = 1; - - /* "anynan.pyx":314 - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - */ - __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - - /* "anynan.pyx":315 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "anynan.pyx":316 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "anynan.pyx":317 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "anynan.pyx":318 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "anynan.pyx":320 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = 0 - * return y - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "anynan.pyx":321 - * NPY_BOOL, 0) - * for i0 in range(n0): - * y[i0] = 0 # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - } - - /* "anynan.pyx":322 - * for i0 in range(n0): - * y[i0] = 0 - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "anynan.pyx":308 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def anynan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=1." - * cdef int f = 1 - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; - __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - goto __pyx_L2; - __pyx_L0:; - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":326 +/* "anynan.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float along axis=None." + * def anynan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float32 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_21anynan_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_20anynan_1d_float_axisNone[] = "anynan_1d_float_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=float along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_21anynan_1d_float_axisNone = {"anynan_1d_float_axisNone", (PyCFunction)__pyx_pw_6anynan_21anynan_1d_float_axisNone, METH_O, __pyx_doc_6anynan_20anynan_1d_float_axisNone}; -static PyObject *__pyx_pw_6anynan_21anynan_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_19anynan_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_18anynan_1d_float32_axisNone[] = "anynan_1d_float32_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=float32 along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_19anynan_1d_float32_axisNone = {"anynan_1d_float32_axisNone", (PyCFunction)__pyx_pw_6anynan_19anynan_1d_float32_axisNone, METH_O, __pyx_doc_6anynan_18anynan_1d_float32_axisNone}; +static PyObject *__pyx_pw_6anynan_19anynan_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_1d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_20anynan_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_1d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_18anynan_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4097,9 +4435,9 @@ static PyObject *__pyx_pw_6anynan_21anynan_1d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_18anynan_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4116,27 +4454,27 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("anynan_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "anynan.pyx":328 - * def anynan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): - * "Check for NaNs in 1d array with dtype=float along axis=None." + /* "anynan.pyx":356 + * def anynan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): + * "Check for NaNs in 1d array with dtype=float32 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai + * cdef np.float32_t ai * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "anynan.pyx":332 + /* "anynan.pyx":360 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4145,7 +4483,7 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":333 + /* "anynan.pyx":361 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4154,7 +4492,7 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":334 + /* "anynan.pyx":362 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4165,7 +4503,7 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "anynan.pyx":335 + /* "anynan.pyx":363 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -4173,9 +4511,9 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj * return np.bool_(True) */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "anynan.pyx":336 + /* "anynan.pyx":364 * for i0 in range(n0): * ai = a[i0] * if ai != ai: # <<<<<<<<<<<<<< @@ -4185,7 +4523,7 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_4 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "anynan.pyx":337 + /* "anynan.pyx":365 * ai = a[i0] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< @@ -4193,12 +4531,12 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_r = __pyx_t_5; @@ -4207,7 +4545,7 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "anynan.pyx":338 + /* "anynan.pyx":366 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< @@ -4215,23 +4553,23 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; - /* "anynan.pyx":326 + /* "anynan.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float along axis=None." + * def anynan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float32 along axis=None." * cdef int f = 1 */ @@ -4243,7 +4581,7 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4254,27 +4592,27 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "anynan.pyx":342 +/* "anynan.pyx":370 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float32 along axis=None." + * def anynan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float64 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_23anynan_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_22anynan_1d_float32_axisNone[] = "anynan_1d_float32_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=float32 along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_23anynan_1d_float32_axisNone = {"anynan_1d_float32_axisNone", (PyCFunction)__pyx_pw_6anynan_23anynan_1d_float32_axisNone, METH_O, __pyx_doc_6anynan_22anynan_1d_float32_axisNone}; -static PyObject *__pyx_pw_6anynan_23anynan_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_21anynan_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_20anynan_1d_float64_axisNone[] = "anynan_1d_float64_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=float64 along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_21anynan_1d_float64_axisNone = {"anynan_1d_float64_axisNone", (PyCFunction)__pyx_pw_6anynan_21anynan_1d_float64_axisNone, METH_O, __pyx_doc_6anynan_20anynan_1d_float64_axisNone}; +static PyObject *__pyx_pw_6anynan_21anynan_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_1d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_22anynan_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_1d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_20anynan_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4285,9 +4623,9 @@ static PyObject *__pyx_pw_6anynan_23anynan_1d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_20anynan_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4304,27 +4642,27 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("anynan_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "anynan.pyx":344 - * def anynan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): - * "Check for NaNs in 1d array with dtype=float32 along axis=None." + /* "anynan.pyx":372 + * def anynan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): + * "Check for NaNs in 1d array with dtype=float64 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "anynan.pyx":348 + /* "anynan.pyx":376 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4333,7 +4671,7 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":349 + /* "anynan.pyx":377 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4342,7 +4680,7 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":350 + /* "anynan.pyx":378 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4353,7 +4691,7 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "anynan.pyx":351 + /* "anynan.pyx":379 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -4361,9 +4699,9 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO * return np.bool_(True) */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "anynan.pyx":352 + /* "anynan.pyx":380 * for i0 in range(n0): * ai = a[i0] * if ai != ai: # <<<<<<<<<<<<<< @@ -4373,7 +4711,7 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO __pyx_t_4 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "anynan.pyx":353 + /* "anynan.pyx":381 * ai = a[i0] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< @@ -4381,12 +4719,12 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_r = __pyx_t_5; @@ -4395,7 +4733,7 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO } } - /* "anynan.pyx":354 + /* "anynan.pyx":382 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< @@ -4403,23 +4741,23 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; - /* "anynan.pyx":342 + /* "anynan.pyx":370 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float32 along axis=None." + * def anynan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float64 along axis=None." * cdef int f = 1 */ @@ -4431,7 +4769,7 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4442,27 +4780,27 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "anynan.pyx":358 +/* "anynan.pyx":386 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float64 along axis=None." + * def anynan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_25anynan_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_24anynan_1d_float64_axisNone[] = "anynan_1d_float64_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=float64 along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_25anynan_1d_float64_axisNone = {"anynan_1d_float64_axisNone", (PyCFunction)__pyx_pw_6anynan_25anynan_1d_float64_axisNone, METH_O, __pyx_doc_6anynan_24anynan_1d_float64_axisNone}; -static PyObject *__pyx_pw_6anynan_25anynan_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_23anynan_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_22anynan_2d_float_axisNone[] = "anynan_2d_float_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=float along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_23anynan_2d_float_axisNone = {"anynan_2d_float_axisNone", (PyCFunction)__pyx_pw_6anynan_23anynan_2d_float_axisNone, METH_O, __pyx_doc_6anynan_22anynan_2d_float_axisNone}; +static PyObject *__pyx_pw_6anynan_23anynan_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_1d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_24anynan_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_22anynan_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4473,202 +4811,14 @@ static PyObject *__pyx_pw_6anynan_25anynan_1d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6anynan_24anynan_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_22anynan_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - __Pyx_LocalBuf_ND __pyx_pybuffernd_a; - __Pyx_Buffer __pyx_pybuffer_a; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_1d_float64_axisNone", 0); - __pyx_pybuffer_a.pybuffer.buf = NULL; - __pyx_pybuffer_a.refcount = 0; - __pyx_pybuffernd_a.data = NULL; - __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - - /* "anynan.pyx":360 - * def anynan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): - * "Check for NaNs in 1d array with dtype=float64 along axis=None." - * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai - * cdef Py_ssize_t i0 - */ - __pyx_v_f = 1; - - /* "anynan.pyx":364 - * cdef Py_ssize_t i0 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): - */ - __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - - /* "anynan.pyx":365 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "anynan.pyx":366 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai != ai: - */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; - - /* "anynan.pyx":367 - * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai != ai: - * return np.bool_(True) - */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - - /* "anynan.pyx":368 - * for i0 in range(n0): - * ai = a[i0] - * if ai != ai: # <<<<<<<<<<<<<< - * return np.bool_(True) - * return np.bool_(False) - */ - __pyx_t_4 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_4) { - - /* "anynan.pyx":369 - * ai = a[i0] - * if ai != ai: - * return np.bool_(True) # <<<<<<<<<<<<<< - * return np.bool_(False) - * - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; - } - } - - /* "anynan.pyx":370 - * if ai != ai: - * return np.bool_(True) - * return np.bool_(False) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; - - /* "anynan.pyx":358 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def anynan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float64 along axis=None." - * cdef int f = 1 - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; - __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - goto __pyx_L2; - __pyx_L0:; - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __pyx_L2:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "anynan.pyx":374 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def anynan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=None." - * cdef int f = 1 - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_6anynan_27anynan_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_26anynan_2d_float_axisNone[] = "anynan_2d_float_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=float along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_27anynan_2d_float_axisNone = {"anynan_2d_float_axisNone", (PyCFunction)__pyx_pw_6anynan_27anynan_2d_float_axisNone, METH_O, __pyx_doc_6anynan_26anynan_2d_float_axisNone}; -static PyObject *__pyx_pw_6anynan_27anynan_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_lineno = 0; - CYTHON_UNUSED const char *__pyx_filename = NULL; - CYTHON_UNUSED int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_26anynan_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; - npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -4692,11 +4842,11 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":376 + /* "anynan.pyx":388 * def anynan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): * "Check for NaNs in 2d array with dtype=float along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< @@ -4705,7 +4855,7 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_f = 1; - /* "anynan.pyx":380 + /* "anynan.pyx":392 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4714,7 +4864,7 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":381 + /* "anynan.pyx":393 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4723,7 +4873,7 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":382 + /* "anynan.pyx":394 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -4732,7 +4882,7 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":383 + /* "anynan.pyx":395 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4743,7 +4893,7 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "anynan.pyx":384 + /* "anynan.pyx":396 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -4754,7 +4904,7 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "anynan.pyx":385 + /* "anynan.pyx":397 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -4765,7 +4915,7 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_6 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "anynan.pyx":386 + /* "anynan.pyx":398 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -4775,7 +4925,7 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_7 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "anynan.pyx":387 + /* "anynan.pyx":399 * ai = a[i0, i1] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< @@ -4783,12 +4933,12 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_8; @@ -4798,7 +4948,7 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "anynan.pyx":388 + /* "anynan.pyx":400 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< @@ -4806,19 +4956,19 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_8; __pyx_t_8 = 0; goto __pyx_L0; - /* "anynan.pyx":374 + /* "anynan.pyx":386 * @cython.boundscheck(False) * @cython.wraparound(False) * def anynan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< @@ -4845,7 +4995,7 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "anynan.pyx":392 +/* "anynan.pyx":404 * @cython.boundscheck(False) * @cython.wraparound(False) * def anynan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< @@ -4854,18 +5004,18 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_29anynan_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_28anynan_2d_float32_axisNone[] = "anynan_2d_float32_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=float32 along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_29anynan_2d_float32_axisNone = {"anynan_2d_float32_axisNone", (PyCFunction)__pyx_pw_6anynan_29anynan_2d_float32_axisNone, METH_O, __pyx_doc_6anynan_28anynan_2d_float32_axisNone}; -static PyObject *__pyx_pw_6anynan_29anynan_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_25anynan_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_24anynan_2d_float32_axisNone[] = "anynan_2d_float32_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=float32 along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_25anynan_2d_float32_axisNone = {"anynan_2d_float32_axisNone", (PyCFunction)__pyx_pw_6anynan_25anynan_2d_float32_axisNone, METH_O, __pyx_doc_6anynan_24anynan_2d_float32_axisNone}; +static PyObject *__pyx_pw_6anynan_25anynan_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("anynan_2d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_28anynan_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_24anynan_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4876,7 +5026,7 @@ static PyObject *__pyx_pw_6anynan_29anynan_2d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_24anynan_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; @@ -4907,11 +5057,11 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":394 + /* "anynan.pyx":406 * def anynan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): * "Check for NaNs in 2d array with dtype=float32 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< @@ -4920,7 +5070,7 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_f = 1; - /* "anynan.pyx":398 + /* "anynan.pyx":410 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4929,7 +5079,7 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":399 + /* "anynan.pyx":411 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4938,7 +5088,7 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":400 + /* "anynan.pyx":412 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -4947,7 +5097,7 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":401 + /* "anynan.pyx":413 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4958,7 +5108,7 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "anynan.pyx":402 + /* "anynan.pyx":414 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -4969,7 +5119,7 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "anynan.pyx":403 + /* "anynan.pyx":415 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -4980,7 +5130,7 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO __pyx_t_6 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "anynan.pyx":404 + /* "anynan.pyx":416 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -4990,7 +5140,7 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO __pyx_t_7 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "anynan.pyx":405 + /* "anynan.pyx":417 * ai = a[i0, i1] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< @@ -4998,12 +5148,12 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_8; @@ -5013,7 +5163,7 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO } } - /* "anynan.pyx":406 + /* "anynan.pyx":418 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< @@ -5021,19 +5171,19 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_8; __pyx_t_8 = 0; goto __pyx_L0; - /* "anynan.pyx":392 + /* "anynan.pyx":404 * @cython.boundscheck(False) * @cython.wraparound(False) * def anynan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< @@ -5060,7 +5210,7 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "anynan.pyx":410 +/* "anynan.pyx":422 * @cython.boundscheck(False) * @cython.wraparound(False) * def anynan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< @@ -5069,18 +5219,18 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_31anynan_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_30anynan_2d_float64_axisNone[] = "anynan_2d_float64_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=float64 along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_31anynan_2d_float64_axisNone = {"anynan_2d_float64_axisNone", (PyCFunction)__pyx_pw_6anynan_31anynan_2d_float64_axisNone, METH_O, __pyx_doc_6anynan_30anynan_2d_float64_axisNone}; -static PyObject *__pyx_pw_6anynan_31anynan_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_27anynan_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_26anynan_2d_float64_axisNone[] = "anynan_2d_float64_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=float64 along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_27anynan_2d_float64_axisNone = {"anynan_2d_float64_axisNone", (PyCFunction)__pyx_pw_6anynan_27anynan_2d_float64_axisNone, METH_O, __pyx_doc_6anynan_26anynan_2d_float64_axisNone}; +static PyObject *__pyx_pw_6anynan_27anynan_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("anynan_2d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_30anynan_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_26anynan_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5091,7 +5241,7 @@ static PyObject *__pyx_pw_6anynan_31anynan_2d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_26anynan_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; @@ -5122,11 +5272,11 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":412 + /* "anynan.pyx":424 * def anynan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): * "Check for NaNs in 2d array with dtype=float64 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< @@ -5135,7 +5285,7 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO */ __pyx_v_f = 1; - /* "anynan.pyx":416 + /* "anynan.pyx":428 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5144,7 +5294,7 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":417 + /* "anynan.pyx":429 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5153,7 +5303,7 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":418 + /* "anynan.pyx":430 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5162,7 +5312,7 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":419 + /* "anynan.pyx":431 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5173,7 +5323,7 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "anynan.pyx":420 + /* "anynan.pyx":432 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -5184,7 +5334,7 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "anynan.pyx":421 + /* "anynan.pyx":433 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -5195,7 +5345,7 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO __pyx_t_6 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "anynan.pyx":422 + /* "anynan.pyx":434 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -5205,7 +5355,7 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO __pyx_t_7 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "anynan.pyx":423 + /* "anynan.pyx":435 * ai = a[i0, i1] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< @@ -5213,12 +5363,12 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_8; @@ -5228,7 +5378,7 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO } } - /* "anynan.pyx":424 + /* "anynan.pyx":436 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< @@ -5236,19 +5386,19 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_8; __pyx_t_8 = 0; goto __pyx_L0; - /* "anynan.pyx":410 + /* "anynan.pyx":422 * @cython.boundscheck(False) * @cython.wraparound(False) * def anynan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< @@ -5275,27 +5425,27 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "anynan.pyx":428 +/* "anynan.pyx":440 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=0." + * def anynan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_33anynan_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_32anynan_2d_float_axis0[] = "anynan_2d_float_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_6anynan_33anynan_2d_float_axis0 = {"anynan_2d_float_axis0", (PyCFunction)__pyx_pw_6anynan_33anynan_2d_float_axis0, METH_O, __pyx_doc_6anynan_32anynan_2d_float_axis0}; -static PyObject *__pyx_pw_6anynan_33anynan_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_29anynan_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_28anynan_1d_int_axisNone[] = "anynan_1d_int_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=int along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_29anynan_1d_int_axisNone = {"anynan_1d_int_axisNone", (PyCFunction)__pyx_pw_6anynan_29anynan_1d_int_axisNone, METH_O, __pyx_doc_6anynan_28anynan_1d_int_axisNone}; +static PyObject *__pyx_pw_6anynan_29anynan_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_32anynan_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_1d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_28anynan_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5306,289 +5456,125 @@ static PyObject *__pyx_pw_6anynan_33anynan_2d_float_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6anynan_32anynan_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6anynan_28anynan_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_float_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("anynan_1d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "anynan.pyx":430 - * def anynan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=float along axis=0." + /* "anynan.pyx":442 + * def anynan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): + * "Check for NaNs in 1d array with dtype=int along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.int_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "anynan.pyx":434 - * cdef Py_ssize_t i0, i1 + /* "anynan.pyx":446 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * return np.bool_(False) */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":435 + /* "anynan.pyx":447 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * return np.bool_(False) + * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":436 + /* "anynan.pyx":448 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "anynan.pyx":437 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "anynan.pyx":438 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "anynan.pyx":440 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * f = 1 - * for i0 in range(n0): - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "anynan.pyx":441 - * NPY_BOOL, 0) - * for i1 in range(n1): - * f = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; - - /* "anynan.pyx":442 - * for i1 in range(n1): - * f = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "anynan.pyx":443 - * f = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * y[i1] = 1 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "anynan.pyx":444 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * y[i1] = 1 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "anynan.pyx":445 - * ai = a[i0, i1] - * if ai != ai: - * y[i1] = 1 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - - /* "anynan.pyx":446 - * if ai != ai: - * y[i1] = 1 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; - - /* "anynan.pyx":447 - * y[i1] = 1 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i1] = 0 - */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; - - /* "anynan.pyx":448 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i1] = 0 - * return y - */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { - - /* "anynan.pyx":449 - * break - * if f == 1: - * y[i1] = 0 # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "anynan.pyx":450 - * if f == 1: - * y[i1] = 0 - * return y # <<<<<<<<<<<<<< + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; goto __pyx_L0; - /* "anynan.pyx":428 + /* "anynan.pyx":440 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=0." + * def anynan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":454 +/* "anynan.pyx":452 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=1." + * def anynan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int8 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_35anynan_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_34anynan_2d_float_axis1[] = "anynan_2d_float_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=float along axis=1."; -static PyMethodDef __pyx_mdef_6anynan_35anynan_2d_float_axis1 = {"anynan_2d_float_axis1", (PyCFunction)__pyx_pw_6anynan_35anynan_2d_float_axis1, METH_O, __pyx_doc_6anynan_34anynan_2d_float_axis1}; -static PyObject *__pyx_pw_6anynan_35anynan_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_31anynan_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_30anynan_1d_int8_axisNone[] = "anynan_1d_int8_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=int8 along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_31anynan_1d_int8_axisNone = {"anynan_1d_int8_axisNone", (PyCFunction)__pyx_pw_6anynan_31anynan_1d_int8_axisNone, METH_O, __pyx_doc_6anynan_30anynan_1d_int8_axisNone}; +static PyObject *__pyx_pw_6anynan_31anynan_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_float_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_34anynan_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_1d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_30anynan_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5599,289 +5585,125 @@ static PyObject *__pyx_pw_6anynan_35anynan_2d_float_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6anynan_34anynan_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6anynan_30anynan_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_float_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("anynan_1d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "anynan.pyx":456 - * def anynan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=float along axis=1." + /* "anynan.pyx":454 + * def anynan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): + * "Check for NaNs in 1d array with dtype=int8 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.int8_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "anynan.pyx":460 - * cdef Py_ssize_t i0, i1 + /* "anynan.pyx":458 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * return np.bool_(False) */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":461 + /* "anynan.pyx":459 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * return np.bool_(False) + * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":462 + /* "anynan.pyx":460 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * return np.bool_(False) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; - /* "anynan.pyx":463 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "anynan.pyx":464 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "anynan.pyx":466 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * f = 1 - * for i1 in range(n1): - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "anynan.pyx":467 - * NPY_BOOL, 0) - * for i0 in range(n0): - * f = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; - - /* "anynan.pyx":468 - * for i0 in range(n0): - * f = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "anynan.pyx":469 - * f = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * y[i0] = 1 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "anynan.pyx":470 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * y[i0] = 1 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "anynan.pyx":471 - * ai = a[i0, i1] - * if ai != ai: - * y[i0] = 1 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - - /* "anynan.pyx":472 - * if ai != ai: - * y[i0] = 1 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; - - /* "anynan.pyx":473 - * y[i0] = 1 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i0] = 0 - */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; - - /* "anynan.pyx":474 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i0] = 0 - * return y - */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { - - /* "anynan.pyx":475 - * break - * if f == 1: - * y[i0] = 0 # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "anynan.pyx":476 - * if f == 1: - * y[i0] = 0 - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "anynan.pyx":454 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def anynan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=1." - * cdef int f = 1 + /* "anynan.pyx":452 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def anynan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int8 along axis=None." + * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":480 +/* "anynan.pyx":464 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float32 along axis=0." + * def anynan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int32 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_37anynan_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_36anynan_2d_float32_axis0[] = "anynan_2d_float32_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_6anynan_37anynan_2d_float32_axis0 = {"anynan_2d_float32_axis0", (PyCFunction)__pyx_pw_6anynan_37anynan_2d_float32_axis0, METH_O, __pyx_doc_6anynan_36anynan_2d_float32_axis0}; -static PyObject *__pyx_pw_6anynan_37anynan_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_33anynan_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_32anynan_1d_int32_axisNone[] = "anynan_1d_int32_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=int32 along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_33anynan_1d_int32_axisNone = {"anynan_1d_int32_axisNone", (PyCFunction)__pyx_pw_6anynan_33anynan_1d_int32_axisNone, METH_O, __pyx_doc_6anynan_32anynan_1d_int32_axisNone}; +static PyObject *__pyx_pw_6anynan_33anynan_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_36anynan_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_1d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_32anynan_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5892,289 +5714,254 @@ static PyObject *__pyx_pw_6anynan_37anynan_2d_float32_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6anynan_36anynan_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6anynan_32anynan_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_float32_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("anynan_1d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "anynan.pyx":482 - * def anynan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=float32 along axis=0." + /* "anynan.pyx":466 + * def anynan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): + * "Check for NaNs in 1d array with dtype=int32 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.int32_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "anynan.pyx":486 - * cdef Py_ssize_t i0, i1 + /* "anynan.pyx":470 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * return np.bool_(False) */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":487 + /* "anynan.pyx":471 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * return np.bool_(False) + * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":488 + /* "anynan.pyx":472 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "anynan.pyx":489 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "anynan.pyx":490 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i1 in range(n1): + * return np.bool_(False) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; - /* "anynan.pyx":492 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * f = 1 - * for i0 in range(n0): + /* "anynan.pyx":464 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def anynan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int32 along axis=None." + * cdef int f = 1 */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - /* "anynan.pyx":493 - * NPY_BOOL, 0) - * for i1 in range(n1): - * f = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("anynan.anynan_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __pyx_L2:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} - /* "anynan.pyx":494 - * for i1 in range(n1): - * f = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: +/* "anynan.pyx":476 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def anynan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int64 along axis=None." + * cdef int f = 1 */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - /* "anynan.pyx":495 - * f = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * y[i1] = 1 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "anynan.pyx":496 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * y[i1] = 1 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_10) { +/* Python wrapper */ +static PyObject *__pyx_pw_6anynan_35anynan_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_34anynan_1d_int64_axisNone[] = "anynan_1d_int64_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=int64 along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_35anynan_1d_int64_axisNone = {"anynan_1d_int64_axisNone", (PyCFunction)__pyx_pw_6anynan_35anynan_1d_int64_axisNone, METH_O, __pyx_doc_6anynan_34anynan_1d_int64_axisNone}; +static PyObject *__pyx_pw_6anynan_35anynan_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_lineno = 0; + CYTHON_UNUSED const char *__pyx_filename = NULL; + CYTHON_UNUSED int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("anynan_1d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_34anynan_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":497 - * ai = a[i0, i1] - * if ai != ai: - * y[i1] = 1 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} - /* "anynan.pyx":498 - * if ai != ai: - * y[i1] = 1 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; +static PyObject *__pyx_pf_6anynan_34anynan_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; + npy_intp *__pyx_v_dim; + CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + __Pyx_LocalBuf_ND __pyx_pybuffernd_a; + __Pyx_Buffer __pyx_pybuffer_a; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("anynan_1d_int64_axisNone", 0); + __pyx_pybuffer_a.pybuffer.buf = NULL; + __pyx_pybuffer_a.refcount = 0; + __pyx_pybuffernd_a.data = NULL; + __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "anynan.pyx":499 - * y[i1] = 1 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i1] = 0 + /* "anynan.pyx":478 + * def anynan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): + * "Check for NaNs in 1d array with dtype=int64 along axis=None." + * cdef int f = 1 # <<<<<<<<<<<<<< + * cdef np.int64_t ai + * cdef Py_ssize_t i0 */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; + __pyx_v_f = 1; - /* "anynan.pyx":500 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i1] = 0 - * return y + /* "anynan.pyx":482 + * cdef Py_ssize_t i0 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n0 = dim[0] + * return np.bool_(False) */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { - - /* "anynan.pyx":501 - * break - * if f == 1: - * y[i1] = 0 # <<<<<<<<<<<<<< - * return y + __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); + + /* "anynan.pyx":483 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * return np.bool_(False) * */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - goto __pyx_L8; - } - __pyx_L8:; - } + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":502 - * if f == 1: - * y[i1] = 0 - * return y # <<<<<<<<<<<<<< + /* "anynan.pyx":484 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; goto __pyx_L0; - /* "anynan.pyx":480 + /* "anynan.pyx":476 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float32 along axis=0." + * def anynan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int64 along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":506 +/* "anynan.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float32 along axis=1." + * def anynan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_39anynan_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_38anynan_2d_float32_axis1[] = "anynan_2d_float32_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=float32 along axis=1."; -static PyMethodDef __pyx_mdef_6anynan_39anynan_2d_float32_axis1 = {"anynan_2d_float32_axis1", (PyCFunction)__pyx_pw_6anynan_39anynan_2d_float32_axis1, METH_O, __pyx_doc_6anynan_38anynan_2d_float32_axis1}; -static PyObject *__pyx_pw_6anynan_39anynan_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_37anynan_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_36anynan_2d_int_axisNone[] = "anynan_2d_int_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=int along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_37anynan_2d_int_axisNone = {"anynan_2d_int_axisNone", (PyCFunction)__pyx_pw_6anynan_37anynan_2d_int_axisNone, METH_O, __pyx_doc_6anynan_36anynan_2d_int_axisNone}; +static PyObject *__pyx_pw_6anynan_37anynan_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_float32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_38anynan_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_36anynan_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6185,61 +5972,41 @@ static PyObject *__pyx_pw_6anynan_39anynan_2d_float32_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6anynan_38anynan_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6anynan_36anynan_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_float32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("anynan_2d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":508 - * def anynan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=float32 along axis=1." + /* "anynan.pyx":490 + * def anynan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai + * cdef np.int_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":512 + /* "anynan.pyx":494 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6248,226 +6015,231 @@ static PyObject *__pyx_pf_6anynan_38anynan_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":513 + /* "anynan.pyx":495 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * return np.bool_(False) */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":514 + /* "anynan.pyx":496 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * return np.bool_(False) + * */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":515 + /* "anynan.pyx":497 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "anynan.pyx":516 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i0 in range(n0): + * return np.bool_(False) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; - /* "anynan.pyx":518 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * f = 1 - * for i1 in range(n1): + /* "anynan.pyx":488 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def anynan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=None." + * cdef int f = 1 */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - /* "anynan.pyx":519 - * NPY_BOOL, 0) - * for i0 in range(n0): - * f = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("anynan.anynan_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __pyx_L2:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} - /* "anynan.pyx":520 - * for i0 in range(n0): - * f = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: +/* "anynan.pyx":501 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def anynan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=None." + * cdef int f = 1 */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - /* "anynan.pyx":521 - * f = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * y[i0] = 1 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); +/* Python wrapper */ +static PyObject *__pyx_pw_6anynan_39anynan_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_38anynan_2d_int8_axisNone[] = "anynan_2d_int8_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=int8 along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_39anynan_2d_int8_axisNone = {"anynan_2d_int8_axisNone", (PyCFunction)__pyx_pw_6anynan_39anynan_2d_int8_axisNone, METH_O, __pyx_doc_6anynan_38anynan_2d_int8_axisNone}; +static PyObject *__pyx_pw_6anynan_39anynan_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_lineno = 0; + CYTHON_UNUSED const char *__pyx_filename = NULL; + CYTHON_UNUSED int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("anynan_2d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_38anynan_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":522 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * y[i0] = 1 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_10) { + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} - /* "anynan.pyx":523 - * ai = a[i0, i1] - * if ai != ai: - * y[i0] = 1 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; +static PyObject *__pyx_pf_6anynan_38anynan_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; + npy_intp *__pyx_v_dim; + CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n1; + __Pyx_LocalBuf_ND __pyx_pybuffernd_a; + __Pyx_Buffer __pyx_pybuffer_a; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("anynan_2d_int8_axisNone", 0); + __pyx_pybuffer_a.pybuffer.buf = NULL; + __pyx_pybuffer_a.refcount = 0; + __pyx_pybuffernd_a.data = NULL; + __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":524 - * if ai != ai: - * y[i0] = 1 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: + /* "anynan.pyx":503 + * def anynan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int8 along axis=None." + * cdef int f = 1 # <<<<<<<<<<<<<< + * cdef np.int8_t ai + * cdef Py_ssize_t i0, i1 */ - __pyx_v_f = 0; + __pyx_v_f = 1; - /* "anynan.pyx":525 - * y[i0] = 1 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i0] = 0 + /* "anynan.pyx":507 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; + __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":526 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i0] = 0 - * return y + /* "anynan.pyx":508 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * return np.bool_(False) */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":527 - * break - * if f == 1: - * y[i0] = 0 # <<<<<<<<<<<<<< - * return y + /* "anynan.pyx":509 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * return np.bool_(False) * */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - goto __pyx_L8; - } - __pyx_L8:; - } + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":528 - * if f == 1: - * y[i0] = 0 - * return y # <<<<<<<<<<<<<< + /* "anynan.pyx":510 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; goto __pyx_L0; - /* "anynan.pyx":506 + /* "anynan.pyx":501 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float32 along axis=1." + * def anynan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":532 +/* "anynan.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float64 along axis=0." + * def anynan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_41anynan_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_40anynan_2d_float64_axis0[] = "anynan_2d_float64_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_6anynan_41anynan_2d_float64_axis0 = {"anynan_2d_float64_axis0", (PyCFunction)__pyx_pw_6anynan_41anynan_2d_float64_axis0, METH_O, __pyx_doc_6anynan_40anynan_2d_float64_axis0}; -static PyObject *__pyx_pw_6anynan_41anynan_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_41anynan_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_40anynan_2d_int32_axisNone[] = "anynan_2d_int32_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=int32 along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_41anynan_2d_int32_axisNone = {"anynan_2d_int32_axisNone", (PyCFunction)__pyx_pw_6anynan_41anynan_2d_int32_axisNone, METH_O, __pyx_doc_6anynan_40anynan_2d_int32_axisNone}; +static PyObject *__pyx_pw_6anynan_41anynan_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_40anynan_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_40anynan_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6478,61 +6250,41 @@ static PyObject *__pyx_pw_6anynan_41anynan_2d_float64_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6anynan_40anynan_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6anynan_40anynan_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_float64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("anynan_2d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":534 - * def anynan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=float64 along axis=0." + /* "anynan.pyx":516 + * def anynan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int32 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai + * cdef np.int32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":538 + /* "anynan.pyx":520 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6541,226 +6293,92 @@ static PyObject *__pyx_pf_6anynan_40anynan_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":539 + /* "anynan.pyx":521 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * return np.bool_(False) */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":540 + /* "anynan.pyx":522 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * return np.bool_(False) + * */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":541 + /* "anynan.pyx":523 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "anynan.pyx":542 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "anynan.pyx":544 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * f = 1 - * for i0 in range(n0): - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "anynan.pyx":545 - * NPY_BOOL, 0) - * for i1 in range(n1): - * f = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; - - /* "anynan.pyx":546 - * for i1 in range(n1): - * f = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "anynan.pyx":547 - * f = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * y[i1] = 1 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "anynan.pyx":548 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * y[i1] = 1 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "anynan.pyx":549 - * ai = a[i0, i1] - * if ai != ai: - * y[i1] = 1 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - - /* "anynan.pyx":550 - * if ai != ai: - * y[i1] = 1 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; - - /* "anynan.pyx":551 - * y[i1] = 1 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i1] = 0 - */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; - - /* "anynan.pyx":552 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i1] = 0 - * return y - */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { - - /* "anynan.pyx":553 - * break - * if f == 1: - * y[i1] = 0 # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "anynan.pyx":554 - * if f == 1: - * y[i1] = 0 - * return y # <<<<<<<<<<<<<< + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; goto __pyx_L0; - /* "anynan.pyx":532 + /* "anynan.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float64 along axis=0." + * def anynan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":558 +/* "anynan.pyx":527 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float64 along axis=1." + * def anynan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_43anynan_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_42anynan_2d_float64_axis1[] = "anynan_2d_float64_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=float64 along axis=1."; -static PyMethodDef __pyx_mdef_6anynan_43anynan_2d_float64_axis1 = {"anynan_2d_float64_axis1", (PyCFunction)__pyx_pw_6anynan_43anynan_2d_float64_axis1, METH_O, __pyx_doc_6anynan_42anynan_2d_float64_axis1}; -static PyObject *__pyx_pw_6anynan_43anynan_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_43anynan_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_42anynan_2d_int64_axisNone[] = "anynan_2d_int64_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=int64 along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_43anynan_2d_int64_axisNone = {"anynan_2d_int64_axisNone", (PyCFunction)__pyx_pw_6anynan_43anynan_2d_int64_axisNone, METH_O, __pyx_doc_6anynan_42anynan_2d_int64_axisNone}; +static PyObject *__pyx_pw_6anynan_43anynan_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_float64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_42anynan_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_42anynan_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6771,61 +6389,41 @@ static PyObject *__pyx_pw_6anynan_43anynan_2d_float64_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6anynan_42anynan_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6anynan_42anynan_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_float64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("anynan_2d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":560 - * def anynan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=float64 along axis=1." + /* "anynan.pyx":529 + * def anynan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int64 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai + * cdef np.int64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":564 + /* "anynan.pyx":533 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6834,226 +6432,92 @@ static PyObject *__pyx_pf_6anynan_42anynan_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":565 + /* "anynan.pyx":534 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * return np.bool_(False) */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":566 + /* "anynan.pyx":535 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * return np.bool_(False) + * */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":567 + /* "anynan.pyx":536 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "anynan.pyx":568 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "anynan.pyx":570 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * f = 1 - * for i1 in range(n1): - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "anynan.pyx":571 - * NPY_BOOL, 0) - * for i0 in range(n0): - * f = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; - - /* "anynan.pyx":572 - * for i0 in range(n0): - * f = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "anynan.pyx":573 - * f = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * y[i0] = 1 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "anynan.pyx":574 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * y[i0] = 1 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "anynan.pyx":575 - * ai = a[i0, i1] - * if ai != ai: - * y[i0] = 1 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - - /* "anynan.pyx":576 - * if ai != ai: - * y[i0] = 1 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; - - /* "anynan.pyx":577 - * y[i0] = 1 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i0] = 0 - */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; - - /* "anynan.pyx":578 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i0] = 0 - * return y - */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { - - /* "anynan.pyx":579 - * break - * if f == 1: - * y[i0] = 0 # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "anynan.pyx":580 - * if f == 1: - * y[i0] = 0 - * return y # <<<<<<<<<<<<<< + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; goto __pyx_L0; - /* "anynan.pyx":558 + /* "anynan.pyx":527 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float64 along axis=1." + * def anynan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":584 +/* "anynan.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int along axis=None." + * def anynan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_45anynan_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_44anynan_1d_int_axisNone[] = "anynan_1d_int_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=int along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_45anynan_1d_int_axisNone = {"anynan_1d_int_axisNone", (PyCFunction)__pyx_pw_6anynan_45anynan_1d_int_axisNone, METH_O, __pyx_doc_6anynan_44anynan_1d_int_axisNone}; -static PyObject *__pyx_pw_6anynan_45anynan_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_45anynan_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_44anynan_2d_int_axis0[] = "anynan_2d_int_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_6anynan_45anynan_2d_int_axis0 = {"anynan_2d_int_axis0", (PyCFunction)__pyx_pw_6anynan_45anynan_2d_int_axis0, METH_O, __pyx_doc_6anynan_44anynan_2d_int_axis0}; +static PyObject *__pyx_pw_6anynan_45anynan_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_1d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_44anynan_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_44anynan_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7064,125 +6528,197 @@ static PyObject *__pyx_pw_6anynan_45anynan_1d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6anynan_44anynan_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_44anynan_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_1d_int_axisNone", 0); + __Pyx_RefNannySetupContext("anynan_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":586 - * def anynan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): - * "Check for NaNs in 1d array with dtype=int along axis=None." + /* "anynan.pyx":542 + * def anynan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< * cdef np.int_t ai - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":590 - * cdef Py_ssize_t i0 + /* "anynan.pyx":546 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * return np.bool_(False) + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":591 + /* "anynan.pyx":547 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * return np.bool_(False) - * + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":592 + /* "anynan.pyx":548 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * return np.bool_(False) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "anynan.pyx":549 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "anynan.pyx":550 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "anynan.pyx":552 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i1] = 0 + * return y + */ + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "anynan.pyx":553 + * NPY_BOOL, 0) + * for i1 in range(n1): + * y[i1] = 0 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + } + + /* "anynan.pyx":554 + * for i1 in range(n1): + * y[i1] = 0 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":584 + /* "anynan.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int along axis=None." + * def anynan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=0." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":596 +/* "anynan.pyx":558 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int8 along axis=None." + * def anynan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_47anynan_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_46anynan_1d_int8_axisNone[] = "anynan_1d_int8_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=int8 along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_47anynan_1d_int8_axisNone = {"anynan_1d_int8_axisNone", (PyCFunction)__pyx_pw_6anynan_47anynan_1d_int8_axisNone, METH_O, __pyx_doc_6anynan_46anynan_1d_int8_axisNone}; -static PyObject *__pyx_pw_6anynan_47anynan_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_47anynan_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_46anynan_2d_int_axis1[] = "anynan_2d_int_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=int along axis=1."; +static PyMethodDef __pyx_mdef_6anynan_47anynan_2d_int_axis1 = {"anynan_2d_int_axis1", (PyCFunction)__pyx_pw_6anynan_47anynan_2d_int_axis1, METH_O, __pyx_doc_6anynan_46anynan_2d_int_axis1}; +static PyObject *__pyx_pw_6anynan_47anynan_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_1d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_46anynan_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_46anynan_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7193,125 +6729,197 @@ static PyObject *__pyx_pw_6anynan_47anynan_1d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6anynan_46anynan_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_46anynan_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; - CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_1d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("anynan_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":598 - * def anynan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): - * "Check for NaNs in 1d array with dtype=int8 along axis=None." + /* "anynan.pyx":560 + * def anynan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t ai - * cdef Py_ssize_t i0 + * cdef np.int_t ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":602 - * cdef Py_ssize_t i0 + /* "anynan.pyx":564 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * return np.bool_(False) + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":603 + /* "anynan.pyx":565 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * return np.bool_(False) - * + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":604 + /* "anynan.pyx":566 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * return np.bool_(False) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "anynan.pyx":567 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "anynan.pyx":568 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "anynan.pyx":570 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * y[i0] = 0 + * return y + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; + + /* "anynan.pyx":571 + * NPY_BOOL, 0) + * for i0 in range(n0): + * y[i0] = 0 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + } + + /* "anynan.pyx":572 + * for i0 in range(n0): + * y[i0] = 0 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":596 + /* "anynan.pyx":558 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int8 along axis=None." + * def anynan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=1." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":608 +/* "anynan.pyx":576 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int32 along axis=None." + * def anynan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_49anynan_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_48anynan_1d_int32_axisNone[] = "anynan_1d_int32_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=int32 along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_49anynan_1d_int32_axisNone = {"anynan_1d_int32_axisNone", (PyCFunction)__pyx_pw_6anynan_49anynan_1d_int32_axisNone, METH_O, __pyx_doc_6anynan_48anynan_1d_int32_axisNone}; -static PyObject *__pyx_pw_6anynan_49anynan_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_49anynan_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_48anynan_2d_int8_axis0[] = "anynan_2d_int8_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_6anynan_49anynan_2d_int8_axis0 = {"anynan_2d_int8_axis0", (PyCFunction)__pyx_pw_6anynan_49anynan_2d_int8_axis0, METH_O, __pyx_doc_6anynan_48anynan_2d_int8_axis0}; +static PyObject *__pyx_pw_6anynan_49anynan_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_1d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_48anynan_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_48anynan_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7322,125 +6930,197 @@ static PyObject *__pyx_pw_6anynan_49anynan_1d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6anynan_48anynan_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_48anynan_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_1d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("anynan_2d_int8_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":610 - * def anynan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): - * "Check for NaNs in 1d array with dtype=int32 along axis=None." - * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t ai - * cdef Py_ssize_t i0 + /* "anynan.pyx":578 + * def anynan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int8 along axis=0." + * cdef int f = 1 # <<<<<<<<<<<<<< + * cdef np.int8_t ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":614 - * cdef Py_ssize_t i0 + /* "anynan.pyx":582 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * return np.bool_(False) + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":615 + /* "anynan.pyx":583 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * return np.bool_(False) - * + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":616 + /* "anynan.pyx":584 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * return np.bool_(False) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "anynan.pyx":585 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "anynan.pyx":586 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "anynan.pyx":588 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i1] = 0 + * return y + */ + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "anynan.pyx":589 + * NPY_BOOL, 0) + * for i1 in range(n1): + * y[i1] = 0 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + } + + /* "anynan.pyx":590 + * for i1 in range(n1): + * y[i1] = 0 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":608 + /* "anynan.pyx":576 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int32 along axis=None." + * def anynan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=0." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":620 +/* "anynan.pyx":594 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int64 along axis=None." + * def anynan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_51anynan_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_50anynan_1d_int64_axisNone[] = "anynan_1d_int64_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=int64 along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_51anynan_1d_int64_axisNone = {"anynan_1d_int64_axisNone", (PyCFunction)__pyx_pw_6anynan_51anynan_1d_int64_axisNone, METH_O, __pyx_doc_6anynan_50anynan_1d_int64_axisNone}; -static PyObject *__pyx_pw_6anynan_51anynan_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_51anynan_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_50anynan_2d_int8_axis1[] = "anynan_2d_int8_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=int8 along axis=1."; +static PyMethodDef __pyx_mdef_6anynan_51anynan_2d_int8_axis1 = {"anynan_2d_int8_axis1", (PyCFunction)__pyx_pw_6anynan_51anynan_2d_int8_axis1, METH_O, __pyx_doc_6anynan_50anynan_2d_int8_axis1}; +static PyObject *__pyx_pw_6anynan_51anynan_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_1d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_50anynan_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int8_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_50anynan_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7451,125 +7131,197 @@ static PyObject *__pyx_pw_6anynan_51anynan_1d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6anynan_50anynan_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_50anynan_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; - CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_1d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("anynan_2d_int8_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":622 - * def anynan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): - * "Check for NaNs in 1d array with dtype=int64 along axis=None." + /* "anynan.pyx":596 + * def anynan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int8 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t ai - * cdef Py_ssize_t i0 + * cdef np.int8_t ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":626 - * cdef Py_ssize_t i0 + /* "anynan.pyx":600 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * return np.bool_(False) + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":627 + /* "anynan.pyx":601 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * return np.bool_(False) - * + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":628 + /* "anynan.pyx":602 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * return np.bool_(False) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "anynan.pyx":603 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "anynan.pyx":604 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "anynan.pyx":606 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * y[i0] = 0 + * return y + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; + + /* "anynan.pyx":607 + * NPY_BOOL, 0) + * for i0 in range(n0): + * y[i0] = 0 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + } + + /* "anynan.pyx":608 + * for i0 in range(n0): + * y[i0] = 0 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":620 + /* "anynan.pyx":594 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int64 along axis=None." + * def anynan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=1." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":632 +/* "anynan.pyx":612 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=None." + * def anynan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_53anynan_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_52anynan_2d_int_axisNone[] = "anynan_2d_int_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=int along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_53anynan_2d_int_axisNone = {"anynan_2d_int_axisNone", (PyCFunction)__pyx_pw_6anynan_53anynan_2d_int_axisNone, METH_O, __pyx_doc_6anynan_52anynan_2d_int_axisNone}; -static PyObject *__pyx_pw_6anynan_53anynan_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_53anynan_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_52anynan_2d_int32_axis0[] = "anynan_2d_int32_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_6anynan_53anynan_2d_int32_axis0 = {"anynan_2d_int32_axis0", (PyCFunction)__pyx_pw_6anynan_53anynan_2d_int32_axis0, METH_O, __pyx_doc_6anynan_52anynan_2d_int32_axis0}; +static PyObject *__pyx_pw_6anynan_53anynan_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_52anynan_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_52anynan_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7580,41 +7332,54 @@ static PyObject *__pyx_pw_6anynan_53anynan_2d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6anynan_52anynan_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_52anynan_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; CYTHON_UNUSED Py_ssize_t __pyx_v_n0; - CYTHON_UNUSED Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int_axisNone", 0); + __Pyx_RefNannySetupContext("anynan_2d_int32_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":634 - * def anynan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int along axis=None." + /* "anynan.pyx":614 + * def anynan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int32 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int_t ai + * cdef np.int32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":638 + /* "anynan.pyx":618 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7623,92 +7388,141 @@ static PyObject *__pyx_pf_6anynan_52anynan_2d_int_axisNone(CYTHON_UNUSED PyObjec */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":639 + /* "anynan.pyx":619 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * return np.bool_(False) + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":640 + /* "anynan.pyx":620 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * return np.bool_(False) - * + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":641 + /* "anynan.pyx":621 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * return np.bool_(False) # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "anynan.pyx":622 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "anynan.pyx":624 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i1] = 0 + * return y + */ + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "anynan.pyx":625 + * NPY_BOOL, 0) + * for i1 in range(n1): + * y[i1] = 0 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + } + + /* "anynan.pyx":626 + * for i1 in range(n1): + * y[i1] = 0 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":632 + /* "anynan.pyx":612 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=None." + * def anynan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=0." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":645 +/* "anynan.pyx":630 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=None." + * def anynan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_55anynan_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_54anynan_2d_int8_axisNone[] = "anynan_2d_int8_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=int8 along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_55anynan_2d_int8_axisNone = {"anynan_2d_int8_axisNone", (PyCFunction)__pyx_pw_6anynan_55anynan_2d_int8_axisNone, METH_O, __pyx_doc_6anynan_54anynan_2d_int8_axisNone}; -static PyObject *__pyx_pw_6anynan_55anynan_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_55anynan_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_54anynan_2d_int32_axis1[] = "anynan_2d_int32_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=int32 along axis=1."; +static PyMethodDef __pyx_mdef_6anynan_55anynan_2d_int32_axis1 = {"anynan_2d_int32_axis1", (PyCFunction)__pyx_pw_6anynan_55anynan_2d_int32_axis1, METH_O, __pyx_doc_6anynan_54anynan_2d_int32_axis1}; +static PyObject *__pyx_pw_6anynan_55anynan_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_54anynan_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_54anynan_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7719,41 +7533,54 @@ static PyObject *__pyx_pw_6anynan_55anynan_2d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6anynan_54anynan_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_54anynan_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; - CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n0; CYTHON_UNUSED Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("anynan_2d_int32_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":647 - * def anynan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int8 along axis=None." + /* "anynan.pyx":632 + * def anynan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int32 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t ai + * cdef np.int32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":651 + /* "anynan.pyx":636 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7762,92 +7589,141 @@ static PyObject *__pyx_pf_6anynan_54anynan_2d_int8_axisNone(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":652 + /* "anynan.pyx":637 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * return np.bool_(False) + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":653 + /* "anynan.pyx":638 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * return np.bool_(False) - * + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":654 + /* "anynan.pyx":639 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * return np.bool_(False) # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "anynan.pyx":640 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "anynan.pyx":642 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * y[i0] = 0 + * return y + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; + + /* "anynan.pyx":643 + * NPY_BOOL, 0) + * for i0 in range(n0): + * y[i0] = 0 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + } + + /* "anynan.pyx":644 + * for i0 in range(n0): + * y[i0] = 0 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":645 + /* "anynan.pyx":630 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=None." + * def anynan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=1." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":658 +/* "anynan.pyx":648 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=None." + * def anynan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_57anynan_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_56anynan_2d_int32_axisNone[] = "anynan_2d_int32_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=int32 along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_57anynan_2d_int32_axisNone = {"anynan_2d_int32_axisNone", (PyCFunction)__pyx_pw_6anynan_57anynan_2d_int32_axisNone, METH_O, __pyx_doc_6anynan_56anynan_2d_int32_axisNone}; -static PyObject *__pyx_pw_6anynan_57anynan_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_57anynan_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_56anynan_2d_int64_axis0[] = "anynan_2d_int64_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_6anynan_57anynan_2d_int64_axis0 = {"anynan_2d_int64_axis0", (PyCFunction)__pyx_pw_6anynan_57anynan_2d_int64_axis0, METH_O, __pyx_doc_6anynan_56anynan_2d_int64_axis0}; +static PyObject *__pyx_pw_6anynan_57anynan_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_56anynan_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_56anynan_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7858,135 +7734,197 @@ static PyObject *__pyx_pw_6anynan_57anynan_2d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6anynan_56anynan_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_56anynan_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; CYTHON_UNUSED Py_ssize_t __pyx_v_n0; - CYTHON_UNUSED Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("anynan_2d_int64_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":660 - * def anynan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int32 along axis=None." + /* "anynan.pyx":650 + * def anynan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int64 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t ai + * cdef np.int64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":664 + /* "anynan.pyx":654 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] */ - __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); + __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); + + /* "anynan.pyx":655 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + */ + __pyx_v_n0 = (__pyx_v_dim[0]); + + /* "anynan.pyx":656 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "anynan.pyx":657 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "anynan.pyx":658 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "anynan.pyx":665 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * return np.bool_(False) + /* "anynan.pyx":660 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i1] = 0 + * return y */ - __pyx_v_n0 = (__pyx_v_dim[0]); + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "anynan.pyx":666 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * return np.bool_(False) + /* "anynan.pyx":661 + * NPY_BOOL, 0) + * for i1 in range(n1): + * y[i1] = 0 # <<<<<<<<<<<<<< + * return y * */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + } - /* "anynan.pyx":667 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * return np.bool_(False) # <<<<<<<<<<<<<< + /* "anynan.pyx":662 + * for i1 in range(n1): + * y[i1] = 0 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":658 + /* "anynan.pyx":648 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=None." + * def anynan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=0." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":671 +/* "anynan.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=None." + * def anynan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_59anynan_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_58anynan_2d_int64_axisNone[] = "anynan_2d_int64_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=int64 along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_59anynan_2d_int64_axisNone = {"anynan_2d_int64_axisNone", (PyCFunction)__pyx_pw_6anynan_59anynan_2d_int64_axisNone, METH_O, __pyx_doc_6anynan_58anynan_2d_int64_axisNone}; -static PyObject *__pyx_pw_6anynan_59anynan_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_59anynan_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_58anynan_2d_int64_axis1[] = "anynan_2d_int64_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=int64 along axis=1."; +static PyMethodDef __pyx_mdef_6anynan_59anynan_2d_int64_axis1 = {"anynan_2d_int64_axis1", (PyCFunction)__pyx_pw_6anynan_59anynan_2d_int64_axis1, METH_O, __pyx_doc_6anynan_58anynan_2d_int64_axis1}; +static PyObject *__pyx_pw_6anynan_59anynan_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_58anynan_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_58anynan_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7997,41 +7935,54 @@ static PyObject *__pyx_pw_6anynan_59anynan_2d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6anynan_58anynan_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_58anynan_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; - CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n0; CYTHON_UNUSED Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("anynan_2d_int64_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":673 - * def anynan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int64 along axis=None." + /* "anynan.pyx":668 + * def anynan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int64 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< * cdef np.int64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":677 + /* "anynan.pyx":672 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8040,73 +7991,122 @@ static PyObject *__pyx_pf_6anynan_58anynan_2d_int64_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":678 + /* "anynan.pyx":673 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * return np.bool_(False) + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":679 + /* "anynan.pyx":674 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * return np.bool_(False) - * + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":680 + /* "anynan.pyx":675 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * return np.bool_(False) # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "anynan.pyx":676 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "anynan.pyx":678 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * y[i0] = 0 + * return y + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; + + /* "anynan.pyx":679 + * NPY_BOOL, 0) + * for i0 in range(n0): + * y[i0] = 0 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + } + + /* "anynan.pyx":680 + * for i0 in range(n0): + * y[i0] = 0 + * return y # <<<<<<<<<<<<<< * * cdef dict anynan_dict = {} */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":671 + /* "anynan.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=None." + * def anynan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=1." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "anynan.pyx":719 - * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone + * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 * * def anynan_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) anynan along axis 0." @@ -8174,7 +8174,7 @@ static PyObject *__pyx_pf_6anynan_60anynan_slow_axis0(CYTHON_UNUSED PyObject *__ goto __pyx_L0; /* "anynan.pyx":719 - * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone + * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 * * def anynan_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) anynan along axis 0." @@ -11165,7 +11165,7 @@ static PyObject *__pyx_pf_6anynan_126anynan_slow_axisNone(CYTHON_UNUSED PyObject return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -11215,7 +11215,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -11228,7 +11228,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -11237,7 +11237,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -11246,7 +11246,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -11255,7 +11255,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -11265,7 +11265,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -11277,7 +11277,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -11288,7 +11288,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -11304,7 +11304,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -11316,7 +11316,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -11330,7 +11330,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -11346,7 +11346,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -11358,7 +11358,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -11372,7 +11372,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -11381,7 +11381,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -11390,7 +11390,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -11400,7 +11400,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -11409,7 +11409,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -11418,7 +11418,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -11429,7 +11429,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -11438,7 +11438,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -11451,7 +11451,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -11460,7 +11460,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -11471,7 +11471,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -11480,7 +11480,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -11489,7 +11489,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -11498,7 +11498,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -11507,7 +11507,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -11519,7 +11519,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -11528,7 +11528,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -11548,7 +11548,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -11564,7 +11564,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -11579,7 +11579,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -11589,7 +11589,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -11599,7 +11599,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -11622,7 +11622,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -11642,7 +11642,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -11656,7 +11656,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -11665,7 +11665,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -11676,7 +11676,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -11687,7 +11687,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -11698,7 +11698,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -11709,7 +11709,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -11720,7 +11720,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -11731,7 +11731,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -11742,7 +11742,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -11753,7 +11753,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -11764,7 +11764,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -11775,7 +11775,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -11786,7 +11786,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -11797,7 +11797,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -11808,7 +11808,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -11819,7 +11819,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -11830,7 +11830,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -11841,7 +11841,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -11853,7 +11853,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -11879,7 +11879,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -11888,7 +11888,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -11900,7 +11900,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -11909,7 +11909,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -11918,7 +11918,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -11927,7 +11927,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -11937,7 +11937,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -11947,7 +11947,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -11979,7 +11979,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -12003,7 +12003,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -12013,7 +12013,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -12025,7 +12025,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -12035,7 +12035,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -12047,7 +12047,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -12059,7 +12059,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -12076,7 +12076,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -12090,7 +12090,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -12109,7 +12109,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -12126,7 +12126,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -12140,7 +12140,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -12159,7 +12159,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -12176,7 +12176,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -12190,7 +12190,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -12209,7 +12209,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -12226,7 +12226,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -12240,7 +12240,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -12259,7 +12259,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -12276,7 +12276,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -12290,7 +12290,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -12309,7 +12309,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -12341,7 +12341,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -12350,7 +12350,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -12359,7 +12359,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -12381,7 +12381,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -12394,7 +12394,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -12433,7 +12433,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -12450,7 +12450,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -12464,7 +12464,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -12487,7 +12487,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -12507,7 +12507,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -12521,7 +12521,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -12537,7 +12537,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -12546,7 +12546,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -12555,7 +12555,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -12566,7 +12566,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -12576,7 +12576,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -12586,7 +12586,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -12598,7 +12598,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -12608,7 +12608,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -12622,7 +12622,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -12640,7 +12640,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -12658,7 +12658,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -12676,7 +12676,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -12694,7 +12694,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -12712,7 +12712,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -12730,7 +12730,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -12748,7 +12748,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -12766,7 +12766,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -12784,7 +12784,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -12802,7 +12802,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -12820,7 +12820,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -12838,7 +12838,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -12856,7 +12856,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -12876,7 +12876,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -12896,7 +12896,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -12916,7 +12916,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -12935,7 +12935,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -12958,7 +12958,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -12970,7 +12970,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -12982,7 +12982,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -12992,7 +12992,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -13002,7 +13002,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -13027,7 +13027,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -13042,7 +13042,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -13053,7 +13053,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -13065,7 +13065,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -13074,7 +13074,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -13085,7 +13085,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -13094,7 +13094,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -13103,7 +13103,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -13115,7 +13115,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -13129,7 +13129,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -13139,7 +13139,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -13153,7 +13153,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -13164,7 +13164,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -13202,7 +13202,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -13216,6 +13215,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_u_Test_whether_any_array_element, __pyx_k_Test_whether_any_array_element, sizeof(__pyx_k_Test_whether_any_array_element), 0, 1, 0, 0}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__27, __pyx_k__27, sizeof(__pyx_k__27), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -13349,227 +13349,227 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "anynan.pyx":337 + /* "anynan.pyx":349 * ai = a[i0] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< * return np.bool_(False) * */ - __pyx_tuple_ = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple_ = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "anynan.pyx":338 + /* "anynan.pyx":350 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__2 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__2 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "anynan.pyx":353 + /* "anynan.pyx":365 * ai = a[i0] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< * return np.bool_(False) * */ - __pyx_tuple__3 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__3 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "anynan.pyx":354 + /* "anynan.pyx":366 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__4 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__4 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "anynan.pyx":369 + /* "anynan.pyx":381 * ai = a[i0] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< * return np.bool_(False) * */ - __pyx_tuple__5 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__5 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "anynan.pyx":370 + /* "anynan.pyx":382 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__6 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__6 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6); - /* "anynan.pyx":387 + /* "anynan.pyx":399 * ai = a[i0, i1] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< * return np.bool_(False) * */ - __pyx_tuple__7 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__7 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7); - /* "anynan.pyx":388 + /* "anynan.pyx":400 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__8 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__8 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8); - /* "anynan.pyx":405 + /* "anynan.pyx":417 * ai = a[i0, i1] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< * return np.bool_(False) * */ - __pyx_tuple__9 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__9 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - /* "anynan.pyx":406 + /* "anynan.pyx":418 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__10 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__10 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); - /* "anynan.pyx":423 + /* "anynan.pyx":435 * ai = a[i0, i1] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< * return np.bool_(False) * */ - __pyx_tuple__11 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__11 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - /* "anynan.pyx":424 + /* "anynan.pyx":436 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__12 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__12 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__12); __Pyx_GIVEREF(__pyx_tuple__12); - /* "anynan.pyx":592 + /* "anynan.pyx":448 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__13 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__13 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - /* "anynan.pyx":604 + /* "anynan.pyx":460 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__14 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__14 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14); - /* "anynan.pyx":616 + /* "anynan.pyx":472 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__15 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__15 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - /* "anynan.pyx":628 + /* "anynan.pyx":484 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__16 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__16 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__16); __Pyx_GIVEREF(__pyx_tuple__16); - /* "anynan.pyx":641 + /* "anynan.pyx":497 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__17 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__17 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - /* "anynan.pyx":654 + /* "anynan.pyx":510 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__18 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__18 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18); - /* "anynan.pyx":667 + /* "anynan.pyx":523 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__19 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - /* "anynan.pyx":680 + /* "anynan.pyx":536 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * return np.bool_(False) # <<<<<<<<<<<<<< * - * cdef dict anynan_dict = {} + * @cython.boundscheck(False) */ - __pyx_tuple__20 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__20 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__20); __Pyx_GIVEREF(__pyx_tuple__20); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -13580,7 +13580,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -13591,7 +13591,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -13602,7 +13602,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -13613,7 +13613,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__24); __Pyx_GIVEREF(__pyx_tuple__24); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -13624,7 +13624,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -13656,7 +13656,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__29 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":110 * return func(arr) @@ -13668,346 +13668,346 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__31 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_selector, 110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_selector, 110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":182 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=0." + * def anynan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=0." * cdef int f = 1 */ __pyx_tuple__33 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int_axis0, 182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_float_axis0, 182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":200 + /* "anynan.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=1." + * def anynan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=1." * cdef int f = 1 */ - __pyx_tuple__35 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int_axis1, 200, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_float_axis1, 208, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":218 + /* "anynan.pyx":234 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=0." + * def anynan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float32 along axis=0." * cdef int f = 1 */ - __pyx_tuple__37 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int8_axis0, 218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_float32_axis0, 234, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":236 + /* "anynan.pyx":260 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=1." + * def anynan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float32 along axis=1." * cdef int f = 1 */ - __pyx_tuple__39 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int8_axis1, 236, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_float32_axis1, 260, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":254 + /* "anynan.pyx":286 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=0." + * def anynan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float64 along axis=0." * cdef int f = 1 */ - __pyx_tuple__41 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int32_axis0, 254, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_float64_axis0, 286, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":272 + /* "anynan.pyx":312 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=1." + * def anynan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float64 along axis=1." * cdef int f = 1 */ - __pyx_tuple__43 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int32_axis1, 272, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_float64_axis1, 312, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":290 + /* "anynan.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=0." + * def anynan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float along axis=None." * cdef int f = 1 */ - __pyx_tuple__45 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int64_axis0, 290, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_1d_float_axisNone, 338, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":308 + /* "anynan.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=1." + * def anynan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float32 along axis=None." * cdef int f = 1 */ - __pyx_tuple__47 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int64_axis1, 308, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_1d_float32_axisNone, 354, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":326 + /* "anynan.pyx":370 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float along axis=None." + * def anynan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float64 along axis=None." * cdef int f = 1 */ - __pyx_tuple__49 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_1d_float_axisNone, 326, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_1d_float64_axisNone, 370, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":342 + /* "anynan.pyx":386 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float32 along axis=None." + * def anynan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=None." * cdef int f = 1 */ - __pyx_tuple__51 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_1d_float32_axisNone, 342, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_float_axisNone, 386, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":358 + /* "anynan.pyx":404 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float64 along axis=None." + * def anynan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float32 along axis=None." * cdef int f = 1 */ - __pyx_tuple__53 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_1d_float64_axisNone, 358, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_float32_axisNone, 404, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":374 + /* "anynan.pyx":422 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=None." + * def anynan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float64 along axis=None." * cdef int f = 1 */ - __pyx_tuple__55 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_float_axisNone, 374, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_float64_axisNone, 422, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":392 + /* "anynan.pyx":440 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float32 along axis=None." + * def anynan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int along axis=None." * cdef int f = 1 */ - __pyx_tuple__57 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_float32_axisNone, 392, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_1d_int_axisNone, 440, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":410 + /* "anynan.pyx":452 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float64 along axis=None." + * def anynan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int8 along axis=None." * cdef int f = 1 */ - __pyx_tuple__59 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_float64_axisNone, 410, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_1d_int8_axisNone, 452, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":428 + /* "anynan.pyx":464 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=0." + * def anynan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int32 along axis=None." * cdef int f = 1 */ - __pyx_tuple__61 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_float_axis0, 428, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_1d_int32_axisNone, 464, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":454 + /* "anynan.pyx":476 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=1." + * def anynan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int64 along axis=None." * cdef int f = 1 */ - __pyx_tuple__63 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_float_axis1, 454, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_1d_int64_axisNone, 476, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":480 + /* "anynan.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float32 along axis=0." + * def anynan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=None." * cdef int f = 1 */ - __pyx_tuple__65 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_float32_axis0, 480, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int_axisNone, 488, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":506 + /* "anynan.pyx":501 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float32 along axis=1." + * def anynan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=None." * cdef int f = 1 */ - __pyx_tuple__67 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_float32_axis1, 506, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int8_axisNone, 501, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":532 + /* "anynan.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float64 along axis=0." + * def anynan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=None." * cdef int f = 1 */ - __pyx_tuple__69 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__69 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_float64_axis0, 532, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int32_axisNone, 514, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":558 + /* "anynan.pyx":527 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float64 along axis=1." + * def anynan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=None." * cdef int f = 1 */ - __pyx_tuple__71 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__71 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_float64_axis1, 558, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int64_axisNone, 527, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":584 + /* "anynan.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int along axis=None." + * def anynan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=0." * cdef int f = 1 */ - __pyx_tuple__73 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__73 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_1d_int_axisNone, 584, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int_axis0, 540, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":596 + /* "anynan.pyx":558 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int8 along axis=None." + * def anynan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=1." * cdef int f = 1 */ - __pyx_tuple__75 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__75 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_1d_int8_axisNone, 596, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int_axis1, 558, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":608 + /* "anynan.pyx":576 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int32 along axis=None." + * def anynan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=0." * cdef int f = 1 */ - __pyx_tuple__77 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__77 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_1d_int32_axisNone, 608, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int8_axis0, 576, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":620 + /* "anynan.pyx":594 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int64 along axis=None." + * def anynan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=1." * cdef int f = 1 */ - __pyx_tuple__79 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__79 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_1d_int64_axisNone, 620, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int8_axis1, 594, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":632 + /* "anynan.pyx":612 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=None." + * def anynan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=0." * cdef int f = 1 */ - __pyx_tuple__81 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__81 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int_axisNone, 632, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int32_axis0, 612, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":645 + /* "anynan.pyx":630 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=None." + * def anynan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=1." * cdef int f = 1 */ - __pyx_tuple__83 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__83 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int8_axisNone, 645, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int32_axis1, 630, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":658 + /* "anynan.pyx":648 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=None." + * def anynan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=0." * cdef int f = 1 */ - __pyx_tuple__85 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__85 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int32_axisNone, 658, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int64_axis0, 648, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":671 + /* "anynan.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=None." + * def anynan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=1." * cdef int f = 1 */ - __pyx_tuple__87 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__87 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int64_axisNone, 671, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int64_axis1, 666, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":719 - * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone + * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 * * def anynan_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) anynan along axis 0." @@ -14016,7 +14016,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis0, 719, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis0, 719, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":723 * return bn.slow.anynan(arr, axis=0) @@ -14028,7 +14028,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis1, 723, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis1, 723, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":727 * return bn.slow.anynan(arr, axis=1) @@ -14040,7 +14040,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis2, 727, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis2, 727, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":731 * return bn.slow.anynan(arr, axis=2) @@ -14052,7 +14052,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis3, 731, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis3, 731, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":735 * return bn.slow.anynan(arr, axis=3) @@ -14064,7 +14064,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis4, 735, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis4, 735, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":739 * return bn.slow.anynan(arr, axis=4) @@ -14076,7 +14076,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis5, 739, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis5, 739, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":743 * return bn.slow.anynan(arr, axis=5) @@ -14088,7 +14088,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis6, 743, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis6, 743, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":747 * return bn.slow.anynan(arr, axis=6) @@ -14100,7 +14100,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis7, 747, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis7, 747, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":751 * return bn.slow.anynan(arr, axis=7) @@ -14112,7 +14112,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis8, 751, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis8, 751, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":755 * return bn.slow.anynan(arr, axis=8) @@ -14124,7 +14124,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis9, 755, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis9, 755, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":759 * return bn.slow.anynan(arr, axis=9) @@ -14136,7 +14136,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis10, 759, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis10, 759, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":763 * return bn.slow.anynan(arr, axis=10) @@ -14148,7 +14148,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis11, 763, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis11, 763, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":767 * return bn.slow.anynan(arr, axis=11) @@ -14160,7 +14160,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis12, 767, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis12, 767, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":771 * return bn.slow.anynan(arr, axis=12) @@ -14172,7 +14172,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis13, 771, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis13, 771, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":775 * return bn.slow.anynan(arr, axis=13) @@ -14184,7 +14184,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis14, 775, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis14, 775, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":779 * return bn.slow.anynan(arr, axis=14) @@ -14196,7 +14196,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis15, 779, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis15, 779, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":783 * return bn.slow.anynan(arr, axis=15) @@ -14208,7 +14208,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis16, 783, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis16, 783, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":787 * return bn.slow.anynan(arr, axis=16) @@ -14220,7 +14220,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis17, 787, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis17, 787, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":791 * return bn.slow.anynan(arr, axis=17) @@ -14232,7 +14232,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis18, 791, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis18, 791, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":795 * return bn.slow.anynan(arr, axis=18) @@ -14244,7 +14244,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis19, 795, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis19, 795, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":799 * return bn.slow.anynan(arr, axis=19) @@ -14256,7 +14256,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis20, 799, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis20, 799, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":803 * return bn.slow.anynan(arr, axis=20) @@ -14268,7 +14268,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis21, 803, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis21, 803, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":807 * return bn.slow.anynan(arr, axis=21) @@ -14280,7 +14280,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis22, 807, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis22, 807, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":811 * return bn.slow.anynan(arr, axis=22) @@ -14292,7 +14292,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis23, 811, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis23, 811, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":815 * return bn.slow.anynan(arr, axis=23) @@ -14304,7 +14304,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__137 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__137); __Pyx_GIVEREF(__pyx_tuple__137); - __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis24, 815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis24, 815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":819 * return bn.slow.anynan(arr, axis=24) @@ -14316,7 +14316,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__139 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__139); __Pyx_GIVEREF(__pyx_tuple__139); - __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis25, 819, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis25, 819, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":823 * return bn.slow.anynan(arr, axis=25) @@ -14328,7 +14328,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__141 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__141); __Pyx_GIVEREF(__pyx_tuple__141); - __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis26, 823, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis26, 823, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":827 * return bn.slow.anynan(arr, axis=26) @@ -14340,7 +14340,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__143 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__143); __Pyx_GIVEREF(__pyx_tuple__143); - __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis27, 827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis27, 827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":831 * return bn.slow.anynan(arr, axis=27) @@ -14352,7 +14352,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__145 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__145); __Pyx_GIVEREF(__pyx_tuple__145); - __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis28, 831, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis28, 831, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":835 * return bn.slow.anynan(arr, axis=28) @@ -14364,7 +14364,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__147 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__147); __Pyx_GIVEREF(__pyx_tuple__147); - __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis29, 835, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis29, 835, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":839 * return bn.slow.anynan(arr, axis=29) @@ -14376,7 +14376,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__149 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__149); __Pyx_GIVEREF(__pyx_tuple__149); - __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis30, 839, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis30, 839, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":843 * return bn.slow.anynan(arr, axis=30) @@ -14388,7 +14388,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__151 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__151); __Pyx_GIVEREF(__pyx_tuple__151); - __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis31, 843, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis31, 843, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":847 * return bn.slow.anynan(arr, axis=31) @@ -14400,7 +14400,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__153 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__153); __Pyx_GIVEREF(__pyx_tuple__153); - __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis32, 847, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis32, 847, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":851 * return bn.slow.anynan(arr, axis=32) @@ -14412,7 +14412,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__155 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__155); __Pyx_GIVEREF(__pyx_tuple__155); - __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axisNone, 851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axisNone, 851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -15378,345 +15378,345 @@ PyMODINIT_FUNC PyInit_anynan(void) /* "anynan.pyx":182 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=0." + * def anynan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_5anynan_2d_int_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_5anynan_2d_float_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":200 + /* "anynan.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=1." + * def anynan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_7anynan_2d_int_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_7anynan_2d_float_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":218 + /* "anynan.pyx":234 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=0." + * def anynan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float32 along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_9anynan_2d_int8_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_9anynan_2d_float32_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":236 + /* "anynan.pyx":260 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=1." + * def anynan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float32 along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_11anynan_2d_int8_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_11anynan_2d_float32_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":254 + /* "anynan.pyx":286 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=0." + * def anynan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float64 along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_13anynan_2d_int32_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_13anynan_2d_float64_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":272 + /* "anynan.pyx":312 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=1." + * def anynan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float64 along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_15anynan_2d_int32_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_15anynan_2d_float64_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":290 + /* "anynan.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=0." + * def anynan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_17anynan_2d_int64_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_17anynan_1d_float_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":308 + /* "anynan.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=1." + * def anynan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float32 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_19anynan_2d_int64_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_19anynan_1d_float32_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":326 + /* "anynan.pyx":370 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float along axis=None." + * def anynan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float64 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_21anynan_1d_float_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_21anynan_1d_float64_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":342 + /* "anynan.pyx":386 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float32 along axis=None." + * def anynan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_23anynan_1d_float32_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_23anynan_2d_float_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":358 + /* "anynan.pyx":404 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float64 along axis=None." + * def anynan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float32 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_25anynan_1d_float64_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_25anynan_2d_float32_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":374 + /* "anynan.pyx":422 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=None." + * def anynan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float64 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_27anynan_2d_float_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_27anynan_2d_float64_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":392 + /* "anynan.pyx":440 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float32 along axis=None." + * def anynan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_29anynan_2d_float32_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_29anynan_1d_int_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":410 + /* "anynan.pyx":452 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float64 along axis=None." + * def anynan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int8 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_31anynan_2d_float64_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_31anynan_1d_int8_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":428 + /* "anynan.pyx":464 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=0." + * def anynan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int32 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_33anynan_2d_float_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_33anynan_1d_int32_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":454 + /* "anynan.pyx":476 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=1." + * def anynan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int64 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_35anynan_2d_float_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_35anynan_1d_int64_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":480 + /* "anynan.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float32 along axis=0." + * def anynan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_37anynan_2d_float32_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_37anynan_2d_int_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":506 + /* "anynan.pyx":501 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float32 along axis=1." + * def anynan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_39anynan_2d_float32_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_39anynan_2d_int8_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":532 + /* "anynan.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float64 along axis=0." + * def anynan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_41anynan_2d_float64_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_41anynan_2d_int32_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":558 + /* "anynan.pyx":527 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float64 along axis=1." + * def anynan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_43anynan_2d_float64_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_43anynan_2d_int64_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":584 + /* "anynan.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int along axis=None." + * def anynan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_45anynan_1d_int_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_45anynan_2d_int_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":596 + /* "anynan.pyx":558 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int8 along axis=None." + * def anynan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_47anynan_1d_int8_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_47anynan_2d_int_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":608 + /* "anynan.pyx":576 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int32 along axis=None." + * def anynan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_49anynan_1d_int32_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_49anynan_2d_int8_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":620 + /* "anynan.pyx":594 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int64 along axis=None." + * def anynan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_51anynan_1d_int64_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_51anynan_2d_int8_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":632 + /* "anynan.pyx":612 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=None." + * def anynan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_53anynan_2d_int_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_53anynan_2d_int32_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":645 + /* "anynan.pyx":630 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=None." + * def anynan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_55anynan_2d_int8_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_55anynan_2d_int32_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":658 + /* "anynan.pyx":648 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=None." + * def anynan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_57anynan_2d_int32_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_57anynan_2d_int64_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":671 + /* "anynan.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=None." + * def anynan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_59anynan_2d_int64_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_59anynan_2d_int64_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":682 - * return np.bool_(False) + * return y * * cdef dict anynan_dict = {} # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int, 0)] = anynan_2d_int_axis0 - * anynan_dict[(2, NPY_int, 1)] = anynan_2d_int_axis1 + * anynan_dict[(2, NPY_float, 0)] = anynan_2d_float_axis0 + * anynan_dict[(2, NPY_float, 1)] = anynan_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -15728,17 +15728,17 @@ PyMODINIT_FUNC PyInit_anynan(void) /* "anynan.pyx":683 * * cdef dict anynan_dict = {} - * anynan_dict[(2, NPY_int, 0)] = anynan_2d_int_axis0 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int, 1)] = anynan_2d_int_axis1 - * anynan_dict[(2, NPY_int8, 0)] = anynan_2d_int8_axis0 + * anynan_dict[(2, NPY_float, 0)] = anynan_2d_float_axis0 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float, 1)] = anynan_2d_float_axis1 + * anynan_dict[(2, NPY_float32, 0)] = anynan_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -15757,18 +15757,18 @@ PyMODINIT_FUNC PyInit_anynan(void) /* "anynan.pyx":684 * cdef dict anynan_dict = {} - * anynan_dict[(2, NPY_int, 0)] = anynan_2d_int_axis0 - * anynan_dict[(2, NPY_int, 1)] = anynan_2d_int_axis1 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int8, 0)] = anynan_2d_int8_axis0 - * anynan_dict[(2, NPY_int8, 1)] = anynan_2d_int8_axis1 + * anynan_dict[(2, NPY_float, 0)] = anynan_2d_float_axis0 + * anynan_dict[(2, NPY_float, 1)] = anynan_2d_float_axis1 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float32, 0)] = anynan_2d_float32_axis0 + * anynan_dict[(2, NPY_float32, 1)] = anynan_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -15786,19 +15786,19 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":685 - * anynan_dict[(2, NPY_int, 0)] = anynan_2d_int_axis0 - * anynan_dict[(2, NPY_int, 1)] = anynan_2d_int_axis1 - * anynan_dict[(2, NPY_int8, 0)] = anynan_2d_int8_axis0 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int8, 1)] = anynan_2d_int8_axis1 - * anynan_dict[(2, NPY_int32, 0)] = anynan_2d_int32_axis0 + * anynan_dict[(2, NPY_float, 0)] = anynan_2d_float_axis0 + * anynan_dict[(2, NPY_float, 1)] = anynan_2d_float_axis1 + * anynan_dict[(2, NPY_float32, 0)] = anynan_2d_float32_axis0 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float32, 1)] = anynan_2d_float32_axis1 + * anynan_dict[(2, NPY_float64, 0)] = anynan_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -15816,19 +15816,19 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":686 - * anynan_dict[(2, NPY_int, 1)] = anynan_2d_int_axis1 - * anynan_dict[(2, NPY_int8, 0)] = anynan_2d_int8_axis0 - * anynan_dict[(2, NPY_int8, 1)] = anynan_2d_int8_axis1 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int32, 0)] = anynan_2d_int32_axis0 - * anynan_dict[(2, NPY_int32, 1)] = anynan_2d_int32_axis1 + * anynan_dict[(2, NPY_float, 1)] = anynan_2d_float_axis1 + * anynan_dict[(2, NPY_float32, 0)] = anynan_2d_float32_axis0 + * anynan_dict[(2, NPY_float32, 1)] = anynan_2d_float32_axis1 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float64, 0)] = anynan_2d_float64_axis0 + * anynan_dict[(2, NPY_float64, 1)] = anynan_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -15846,19 +15846,19 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":687 - * anynan_dict[(2, NPY_int8, 0)] = anynan_2d_int8_axis0 - * anynan_dict[(2, NPY_int8, 1)] = anynan_2d_int8_axis1 - * anynan_dict[(2, NPY_int32, 0)] = anynan_2d_int32_axis0 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int32, 1)] = anynan_2d_int32_axis1 - * anynan_dict[(2, NPY_int64, 0)] = anynan_2d_int64_axis0 + * anynan_dict[(2, NPY_float32, 0)] = anynan_2d_float32_axis0 + * anynan_dict[(2, NPY_float32, 1)] = anynan_2d_float32_axis1 + * anynan_dict[(2, NPY_float64, 0)] = anynan_2d_float64_axis0 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float64, 1)] = anynan_2d_float64_axis1 + * anynan_dict[(1, NPY_float, 0)] = anynan_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -15876,19 +15876,19 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":688 - * anynan_dict[(2, NPY_int8, 1)] = anynan_2d_int8_axis1 - * anynan_dict[(2, NPY_int32, 0)] = anynan_2d_int32_axis0 - * anynan_dict[(2, NPY_int32, 1)] = anynan_2d_int32_axis1 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int64, 0)] = anynan_2d_int64_axis0 - * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 + * anynan_dict[(2, NPY_float32, 1)] = anynan_2d_float32_axis1 + * anynan_dict[(2, NPY_float64, 0)] = anynan_2d_float64_axis0 + * anynan_dict[(2, NPY_float64, 1)] = anynan_2d_float64_axis1 # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float, 0)] = anynan_1d_float_axisNone + * anynan_dict[(1, NPY_float, None)] = anynan_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -15906,25 +15906,25 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":689 - * anynan_dict[(2, NPY_int32, 0)] = anynan_2d_int32_axis0 - * anynan_dict[(2, NPY_int32, 1)] = anynan_2d_int32_axis1 - * anynan_dict[(2, NPY_int64, 0)] = anynan_2d_int64_axis0 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 - * anynan_dict[(1, NPY_float, 0)] = anynan_1d_float_axisNone + * anynan_dict[(2, NPY_float64, 0)] = anynan_2d_float64_axis0 + * anynan_dict[(2, NPY_float64, 1)] = anynan_2d_float64_axis1 + * anynan_dict[(1, NPY_float, 0)] = anynan_1d_float_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float, None)] = anynan_1d_float_axisNone + * anynan_dict[(1, NPY_float32, 0)] = anynan_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -15936,49 +15936,49 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":690 - * anynan_dict[(2, NPY_int32, 1)] = anynan_2d_int32_axis1 - * anynan_dict[(2, NPY_int64, 0)] = anynan_2d_int64_axis0 - * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float64, 1)] = anynan_2d_float64_axis1 * anynan_dict[(1, NPY_float, 0)] = anynan_1d_float_axisNone - * anynan_dict[(1, NPY_float, None)] = anynan_1d_float_axisNone + * anynan_dict[(1, NPY_float, None)] = anynan_1d_float_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float32, 0)] = anynan_1d_float32_axisNone + * anynan_dict[(1, NPY_float32, None)] = anynan_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":691 - * anynan_dict[(2, NPY_int64, 0)] = anynan_2d_int64_axis0 - * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 - * anynan_dict[(1, NPY_float, 0)] = anynan_1d_float_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float, 0)] = anynan_1d_float_axisNone * anynan_dict[(1, NPY_float, None)] = anynan_1d_float_axisNone - * anynan_dict[(1, NPY_float32, 0)] = anynan_1d_float32_axisNone + * anynan_dict[(1, NPY_float32, 0)] = anynan_1d_float32_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float32, None)] = anynan_1d_float32_axisNone + * anynan_dict[(1, NPY_float64, 0)] = anynan_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -15996,19 +15996,19 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":692 - * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 - * anynan_dict[(1, NPY_float, 0)] = anynan_1d_float_axisNone - * anynan_dict[(1, NPY_float, None)] = anynan_1d_float_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float, None)] = anynan_1d_float_axisNone * anynan_dict[(1, NPY_float32, 0)] = anynan_1d_float32_axisNone - * anynan_dict[(1, NPY_float32, None)] = anynan_1d_float32_axisNone + * anynan_dict[(1, NPY_float32, None)] = anynan_1d_float32_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float64, 0)] = anynan_1d_float64_axisNone + * anynan_dict[(1, NPY_float64, None)] = anynan_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16026,19 +16026,19 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":693 - * anynan_dict[(1, NPY_float, 0)] = anynan_1d_float_axisNone - * anynan_dict[(1, NPY_float, None)] = anynan_1d_float_axisNone - * anynan_dict[(1, NPY_float32, 0)] = anynan_1d_float32_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float32, 0)] = anynan_1d_float32_axisNone * anynan_dict[(1, NPY_float32, None)] = anynan_1d_float32_axisNone - * anynan_dict[(1, NPY_float64, 0)] = anynan_1d_float64_axisNone + * anynan_dict[(1, NPY_float64, 0)] = anynan_1d_float64_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float64, None)] = anynan_1d_float64_axisNone + * anynan_dict[(2, NPY_float, None)] = anynan_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16056,19 +16056,19 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":694 - * anynan_dict[(1, NPY_float, None)] = anynan_1d_float_axisNone - * anynan_dict[(1, NPY_float32, 0)] = anynan_1d_float32_axisNone - * anynan_dict[(1, NPY_float32, None)] = anynan_1d_float32_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float32, None)] = anynan_1d_float32_axisNone * anynan_dict[(1, NPY_float64, 0)] = anynan_1d_float64_axisNone - * anynan_dict[(1, NPY_float64, None)] = anynan_1d_float64_axisNone + * anynan_dict[(1, NPY_float64, None)] = anynan_1d_float64_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float, None)] = anynan_2d_float_axisNone + * anynan_dict[(2, NPY_float32, None)] = anynan_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16086,55 +16086,55 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":695 - * anynan_dict[(1, NPY_float32, 0)] = anynan_1d_float32_axisNone - * anynan_dict[(1, NPY_float32, None)] = anynan_1d_float32_axisNone - * anynan_dict[(1, NPY_float64, 0)] = anynan_1d_float64_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float64, 0)] = anynan_1d_float64_axisNone * anynan_dict[(1, NPY_float64, None)] = anynan_1d_float64_axisNone - * anynan_dict[(2, NPY_float, None)] = anynan_2d_float_axisNone + * anynan_dict[(2, NPY_float, None)] = anynan_2d_float_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float32, None)] = anynan_2d_float32_axisNone + * anynan_dict[(2, NPY_float64, None)] = anynan_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":696 - * anynan_dict[(1, NPY_float32, None)] = anynan_1d_float32_axisNone - * anynan_dict[(1, NPY_float64, 0)] = anynan_1d_float64_axisNone - * anynan_dict[(1, NPY_float64, None)] = anynan_1d_float64_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float64, None)] = anynan_1d_float64_axisNone * anynan_dict[(2, NPY_float, None)] = anynan_2d_float_axisNone - * anynan_dict[(2, NPY_float32, None)] = anynan_2d_float32_axisNone + * anynan_dict[(2, NPY_float32, None)] = anynan_2d_float32_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float64, None)] = anynan_2d_float64_axisNone + * anynan_dict[(1, NPY_int, 0)] = anynan_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -16146,19 +16146,19 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":697 - * anynan_dict[(1, NPY_float64, 0)] = anynan_1d_float64_axisNone - * anynan_dict[(1, NPY_float64, None)] = anynan_1d_float64_axisNone - * anynan_dict[(2, NPY_float, None)] = anynan_2d_float_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float, None)] = anynan_2d_float_axisNone * anynan_dict[(2, NPY_float32, None)] = anynan_2d_float32_axisNone - * anynan_dict[(2, NPY_float64, None)] = anynan_2d_float64_axisNone + * anynan_dict[(2, NPY_float64, None)] = anynan_2d_float64_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_int, 0)] = anynan_1d_int_axisNone + * anynan_dict[(1, NPY_int, None)] = anynan_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16176,55 +16176,55 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":698 - * anynan_dict[(1, NPY_float64, None)] = anynan_1d_float64_axisNone - * anynan_dict[(2, NPY_float, None)] = anynan_2d_float_axisNone - * anynan_dict[(2, NPY_float32, None)] = anynan_2d_float32_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float32, None)] = anynan_2d_float32_axisNone * anynan_dict[(2, NPY_float64, None)] = anynan_2d_float64_axisNone - * anynan_dict[(2, NPY_float, 0)] = anynan_2d_float_axis0 + * anynan_dict[(1, NPY_int, 0)] = anynan_1d_int_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_int, None)] = anynan_1d_int_axisNone + * anynan_dict[(1, NPY_int8, 0)] = anynan_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":699 - * anynan_dict[(2, NPY_float, None)] = anynan_2d_float_axisNone - * anynan_dict[(2, NPY_float32, None)] = anynan_2d_float32_axisNone - * anynan_dict[(2, NPY_float64, None)] = anynan_2d_float64_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_float, 0)] = anynan_2d_float_axis0 - * anynan_dict[(2, NPY_float, 1)] = anynan_2d_float_axis1 + * anynan_dict[(2, NPY_float64, None)] = anynan_2d_float64_axisNone + * anynan_dict[(1, NPY_int, 0)] = anynan_1d_int_axisNone + * anynan_dict[(1, NPY_int, None)] = anynan_1d_int_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_int8, 0)] = anynan_1d_int8_axisNone + * anynan_dict[(1, NPY_int8, None)] = anynan_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -16236,25 +16236,25 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":700 - * anynan_dict[(2, NPY_float32, None)] = anynan_2d_float32_axisNone - * anynan_dict[(2, NPY_float64, None)] = anynan_2d_float64_axisNone - * anynan_dict[(2, NPY_float, 0)] = anynan_2d_float_axis0 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_float, 1)] = anynan_2d_float_axis1 - * anynan_dict[(2, NPY_float32, 0)] = anynan_2d_float32_axis0 + * anynan_dict[(1, NPY_int, 0)] = anynan_1d_int_axisNone + * anynan_dict[(1, NPY_int, None)] = anynan_1d_int_axisNone + * anynan_dict[(1, NPY_int8, 0)] = anynan_1d_int8_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_int8, None)] = anynan_1d_int8_axisNone + * anynan_dict[(1, NPY_int32, 0)] = anynan_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16266,55 +16266,55 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":701 - * anynan_dict[(2, NPY_float64, None)] = anynan_2d_float64_axisNone - * anynan_dict[(2, NPY_float, 0)] = anynan_2d_float_axis0 - * anynan_dict[(2, NPY_float, 1)] = anynan_2d_float_axis1 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_float32, 0)] = anynan_2d_float32_axis0 - * anynan_dict[(2, NPY_float32, 1)] = anynan_2d_float32_axis1 + * anynan_dict[(1, NPY_int, None)] = anynan_1d_int_axisNone + * anynan_dict[(1, NPY_int8, 0)] = anynan_1d_int8_axisNone + * anynan_dict[(1, NPY_int8, None)] = anynan_1d_int8_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_int32, 0)] = anynan_1d_int32_axisNone + * anynan_dict[(1, NPY_int32, None)] = anynan_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":702 - * anynan_dict[(2, NPY_float, 0)] = anynan_2d_float_axis0 - * anynan_dict[(2, NPY_float, 1)] = anynan_2d_float_axis1 - * anynan_dict[(2, NPY_float32, 0)] = anynan_2d_float32_axis0 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_float32, 1)] = anynan_2d_float32_axis1 - * anynan_dict[(2, NPY_float64, 0)] = anynan_2d_float64_axis0 + * anynan_dict[(1, NPY_int8, 0)] = anynan_1d_int8_axisNone + * anynan_dict[(1, NPY_int8, None)] = anynan_1d_int8_axisNone + * anynan_dict[(1, NPY_int32, 0)] = anynan_1d_int32_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_int32, None)] = anynan_1d_int32_axisNone + * anynan_dict[(1, NPY_int64, 0)] = anynan_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16326,55 +16326,55 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":703 - * anynan_dict[(2, NPY_float, 1)] = anynan_2d_float_axis1 - * anynan_dict[(2, NPY_float32, 0)] = anynan_2d_float32_axis0 - * anynan_dict[(2, NPY_float32, 1)] = anynan_2d_float32_axis1 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_float64, 0)] = anynan_2d_float64_axis0 - * anynan_dict[(2, NPY_float64, 1)] = anynan_2d_float64_axis1 + * anynan_dict[(1, NPY_int8, None)] = anynan_1d_int8_axisNone + * anynan_dict[(1, NPY_int32, 0)] = anynan_1d_int32_axisNone + * anynan_dict[(1, NPY_int32, None)] = anynan_1d_int32_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_int64, 0)] = anynan_1d_int64_axisNone + * anynan_dict[(1, NPY_int64, None)] = anynan_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":704 - * anynan_dict[(2, NPY_float32, 0)] = anynan_2d_float32_axis0 - * anynan_dict[(2, NPY_float32, 1)] = anynan_2d_float32_axis1 - * anynan_dict[(2, NPY_float64, 0)] = anynan_2d_float64_axis0 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_float64, 1)] = anynan_2d_float64_axis1 - * anynan_dict[(1, NPY_int, 0)] = anynan_1d_int_axisNone + * anynan_dict[(1, NPY_int32, 0)] = anynan_1d_int32_axisNone + * anynan_dict[(1, NPY_int32, None)] = anynan_1d_int32_axisNone + * anynan_dict[(1, NPY_int64, 0)] = anynan_1d_int64_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_int64, None)] = anynan_1d_int64_axisNone + * anynan_dict[(2, NPY_int, None)] = anynan_2d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16386,43 +16386,43 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":705 - * anynan_dict[(2, NPY_float32, 1)] = anynan_2d_float32_axis1 - * anynan_dict[(2, NPY_float64, 0)] = anynan_2d_float64_axis0 - * anynan_dict[(2, NPY_float64, 1)] = anynan_2d_float64_axis1 # <<<<<<<<<<<<<< - * anynan_dict[(1, NPY_int, 0)] = anynan_1d_int_axisNone - * anynan_dict[(1, NPY_int, None)] = anynan_1d_int_axisNone + * anynan_dict[(1, NPY_int32, None)] = anynan_1d_int32_axisNone + * anynan_dict[(1, NPY_int64, 0)] = anynan_1d_int64_axisNone + * anynan_dict[(1, NPY_int64, None)] = anynan_1d_int64_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int, None)] = anynan_2d_int_axisNone + * anynan_dict[(2, NPY_int8, None)] = anynan_2d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":706 - * anynan_dict[(2, NPY_float64, 0)] = anynan_2d_float64_axis0 - * anynan_dict[(2, NPY_float64, 1)] = anynan_2d_float64_axis1 - * anynan_dict[(1, NPY_int, 0)] = anynan_1d_int_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(1, NPY_int, None)] = anynan_1d_int_axisNone - * anynan_dict[(1, NPY_int8, 0)] = anynan_1d_int8_axisNone + * anynan_dict[(1, NPY_int64, 0)] = anynan_1d_int64_axisNone + * anynan_dict[(1, NPY_int64, None)] = anynan_1d_int64_axisNone + * anynan_dict[(2, NPY_int, None)] = anynan_2d_int_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int8, None)] = anynan_2d_int8_axisNone + * anynan_dict[(2, NPY_int32, None)] = anynan_2d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -16432,39 +16432,39 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":707 - * anynan_dict[(2, NPY_float64, 1)] = anynan_2d_float64_axis1 - * anynan_dict[(1, NPY_int, 0)] = anynan_1d_int_axisNone - * anynan_dict[(1, NPY_int, None)] = anynan_1d_int_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(1, NPY_int8, 0)] = anynan_1d_int8_axisNone - * anynan_dict[(1, NPY_int8, None)] = anynan_1d_int8_axisNone + * anynan_dict[(1, NPY_int64, None)] = anynan_1d_int64_axisNone + * anynan_dict[(2, NPY_int, None)] = anynan_2d_int_axisNone + * anynan_dict[(2, NPY_int8, None)] = anynan_2d_int8_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int32, None)] = anynan_2d_int32_axisNone + * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -16476,55 +16476,55 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":708 - * anynan_dict[(1, NPY_int, 0)] = anynan_1d_int_axisNone - * anynan_dict[(1, NPY_int, None)] = anynan_1d_int_axisNone - * anynan_dict[(1, NPY_int8, 0)] = anynan_1d_int8_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(1, NPY_int8, None)] = anynan_1d_int8_axisNone - * anynan_dict[(1, NPY_int32, 0)] = anynan_1d_int32_axisNone + * anynan_dict[(2, NPY_int, None)] = anynan_2d_int_axisNone + * anynan_dict[(2, NPY_int8, None)] = anynan_2d_int8_axisNone + * anynan_dict[(2, NPY_int32, None)] = anynan_2d_int32_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone + * anynan_dict[(2, NPY_int, 0)] = anynan_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":709 - * anynan_dict[(1, NPY_int, None)] = anynan_1d_int_axisNone - * anynan_dict[(1, NPY_int8, 0)] = anynan_1d_int8_axisNone - * anynan_dict[(1, NPY_int8, None)] = anynan_1d_int8_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(1, NPY_int32, 0)] = anynan_1d_int32_axisNone - * anynan_dict[(1, NPY_int32, None)] = anynan_1d_int32_axisNone + * anynan_dict[(2, NPY_int8, None)] = anynan_2d_int8_axisNone + * anynan_dict[(2, NPY_int32, None)] = anynan_2d_int32_axisNone + * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int, 0)] = anynan_2d_int_axis0 + * anynan_dict[(2, NPY_int, 1)] = anynan_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -16536,25 +16536,25 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":710 - * anynan_dict[(1, NPY_int8, 0)] = anynan_1d_int8_axisNone - * anynan_dict[(1, NPY_int8, None)] = anynan_1d_int8_axisNone - * anynan_dict[(1, NPY_int32, 0)] = anynan_1d_int32_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(1, NPY_int32, None)] = anynan_1d_int32_axisNone - * anynan_dict[(1, NPY_int64, 0)] = anynan_1d_int64_axisNone + * anynan_dict[(2, NPY_int32, None)] = anynan_2d_int32_axisNone + * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone + * anynan_dict[(2, NPY_int, 0)] = anynan_2d_int_axis0 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int, 1)] = anynan_2d_int_axis1 + * anynan_dict[(2, NPY_int8, 0)] = anynan_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16566,55 +16566,55 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":711 - * anynan_dict[(1, NPY_int8, None)] = anynan_1d_int8_axisNone - * anynan_dict[(1, NPY_int32, 0)] = anynan_1d_int32_axisNone - * anynan_dict[(1, NPY_int32, None)] = anynan_1d_int32_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(1, NPY_int64, 0)] = anynan_1d_int64_axisNone - * anynan_dict[(1, NPY_int64, None)] = anynan_1d_int64_axisNone + * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone + * anynan_dict[(2, NPY_int, 0)] = anynan_2d_int_axis0 + * anynan_dict[(2, NPY_int, 1)] = anynan_2d_int_axis1 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int8, 0)] = anynan_2d_int8_axis0 + * anynan_dict[(2, NPY_int8, 1)] = anynan_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":712 - * anynan_dict[(1, NPY_int32, 0)] = anynan_1d_int32_axisNone - * anynan_dict[(1, NPY_int32, None)] = anynan_1d_int32_axisNone - * anynan_dict[(1, NPY_int64, 0)] = anynan_1d_int64_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(1, NPY_int64, None)] = anynan_1d_int64_axisNone - * anynan_dict[(2, NPY_int, None)] = anynan_2d_int_axisNone + * anynan_dict[(2, NPY_int, 0)] = anynan_2d_int_axis0 + * anynan_dict[(2, NPY_int, 1)] = anynan_2d_int_axis1 + * anynan_dict[(2, NPY_int8, 0)] = anynan_2d_int8_axis0 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int8, 1)] = anynan_2d_int8_axis1 + * anynan_dict[(2, NPY_int32, 0)] = anynan_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16626,49 +16626,49 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":713 - * anynan_dict[(1, NPY_int32, None)] = anynan_1d_int32_axisNone - * anynan_dict[(1, NPY_int64, 0)] = anynan_1d_int64_axisNone - * anynan_dict[(1, NPY_int64, None)] = anynan_1d_int64_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int, None)] = anynan_2d_int_axisNone - * anynan_dict[(2, NPY_int8, None)] = anynan_2d_int8_axisNone + * anynan_dict[(2, NPY_int, 1)] = anynan_2d_int_axis1 + * anynan_dict[(2, NPY_int8, 0)] = anynan_2d_int8_axis0 + * anynan_dict[(2, NPY_int8, 1)] = anynan_2d_int8_axis1 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int32, 0)] = anynan_2d_int32_axis0 + * anynan_dict[(2, NPY_int32, 1)] = anynan_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":714 - * anynan_dict[(1, NPY_int64, 0)] = anynan_1d_int64_axisNone - * anynan_dict[(1, NPY_int64, None)] = anynan_1d_int64_axisNone - * anynan_dict[(2, NPY_int, None)] = anynan_2d_int_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int8, None)] = anynan_2d_int8_axisNone - * anynan_dict[(2, NPY_int32, None)] = anynan_2d_int32_axisNone + * anynan_dict[(2, NPY_int8, 0)] = anynan_2d_int8_axis0 + * anynan_dict[(2, NPY_int8, 1)] = anynan_2d_int8_axis1 + * anynan_dict[(2, NPY_int32, 0)] = anynan_2d_int32_axis0 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int32, 1)] = anynan_2d_int32_axis1 + * anynan_dict[(2, NPY_int64, 0)] = anynan_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16677,28 +16677,28 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":715 - * anynan_dict[(1, NPY_int64, None)] = anynan_1d_int64_axisNone - * anynan_dict[(2, NPY_int, None)] = anynan_2d_int_axisNone - * anynan_dict[(2, NPY_int8, None)] = anynan_2d_int8_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int32, None)] = anynan_2d_int32_axisNone - * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone + * anynan_dict[(2, NPY_int8, 1)] = anynan_2d_int8_axis1 + * anynan_dict[(2, NPY_int32, 0)] = anynan_2d_int32_axis0 + * anynan_dict[(2, NPY_int32, 1)] = anynan_2d_int32_axis1 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int64, 0)] = anynan_2d_int64_axis0 + * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16707,28 +16707,28 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":716 - * anynan_dict[(2, NPY_int, None)] = anynan_2d_int_axisNone - * anynan_dict[(2, NPY_int8, None)] = anynan_2d_int8_axisNone - * anynan_dict[(2, NPY_int32, None)] = anynan_2d_int32_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone + * anynan_dict[(2, NPY_int32, 0)] = anynan_2d_int32_axis0 + * anynan_dict[(2, NPY_int32, 1)] = anynan_2d_int32_axis1 + * anynan_dict[(2, NPY_int64, 0)] = anynan_2d_int64_axis0 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16737,22 +16737,22 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":717 - * anynan_dict[(2, NPY_int8, None)] = anynan_2d_int8_axisNone - * anynan_dict[(2, NPY_int32, None)] = anynan_2d_int32_axisNone - * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int32, 1)] = anynan_2d_int32_axis1 + * anynan_dict[(2, NPY_int64, 0)] = anynan_2d_int64_axis0 + * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 # <<<<<<<<<<<<<< * * def anynan_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -16767,16 +16767,16 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":719 - * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone + * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 * * def anynan_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) anynan along axis 0." @@ -17750,7 +17750,7 @@ PyMODINIT_FUNC PyInit_anynan(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/argpartsort.c b/bottlechest/src/func/32bit/argpartsort.c index d1055a6b0e..93f4edc419 100644 --- a/bottlechest/src/func/32bit/argpartsort.c +++ b/bottlechest/src/func/32bit/argpartsort.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1101,14 +1101,14 @@ static __pyx_t_5numpy_float32_t __pyx_v_11argpartsort_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_11argpartsort_MAXfloat64; static PyObject *__pyx_v_11argpartsort_argpartsort_dict = 0; static PyObject *__pyx_v_11argpartsort_argpartsort_slow_dict = 0; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t = { "intp_t", NULL, sizeof(__pyx_t_5numpy_intp_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_intp_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_intp_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "argpartsort" int __pyx_module_is_main_argpartsort = 0; @@ -1120,48 +1120,48 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_11argpartsort_argpartsort(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_n, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_11argpartsort_2argpartsort_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_22argpartsort_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_24argpartsort_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_26argpartsort_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_40argpartsort_3d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_42argpartsort_3d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_44argpartsort_3d_int32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_46argpartsort_3d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_48argpartsort_3d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_50argpartsort_3d_int64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_52argpartsort_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_54argpartsort_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_56argpartsort_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_64argpartsort_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_66argpartsort_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_68argpartsort_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_10argpartsort_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_22argpartsort_3d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_24argpartsort_3d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_26argpartsort_3d_float_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_float32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_float64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_40argpartsort_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_42argpartsort_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_44argpartsort_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_46argpartsort_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_48argpartsort_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_50argpartsort_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_52argpartsort_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_54argpartsort_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_56argpartsort_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_64argpartsort_3d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_66argpartsort_3d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_68argpartsort_3d_int_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_int8_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_int32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_int64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ static PyObject *__pyx_pf_11argpartsort_88argpartsort_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_n); /* proto */ static PyObject *__pyx_pf_11argpartsort_90argpartsort_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_n); /* proto */ static PyObject *__pyx_pf_11argpartsort_92argpartsort_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_n); /* proto */ @@ -1357,15 +1357,14 @@ static char __pyx_k_argpartsort_selector_line_149[] = "argpartsort_selector (lin static char __pyx_k_Return_argpartsort_function_and[] = "\n Return argpartsort function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.argpartsort() is in checking that `axis` is within range, converting\n `arr` into an array (if it is not already an array), and selecting the\n function to use to partially sort.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which to partially sort.\n \n Returns\n -------\n func : function\n The argpartsort function that matches the number of dimensions and\n dtype of the input array and the axis along which you wish to partially\n sort.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1, 0, 3, 4, 2])\n \n Obtain the function needed to find the indices of a partial sort of `arr`\n along axis=0:\n\n >>> func, a = bn.func.argpartsort_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to find the indices of the partial\n sort:\n\n >>> func(a, n=3)\n array([0, 1, 4, 3, 2])\n\n "; static char __pyx_k_Return_indices_that_would_parti[] = "\n Return indices that would partially sort an array.\n\n A partially sorted array is one in which the `n` smallest values appear\n (in any order) in the first `n` elements. The remaining largest elements\n are also unordered. Due to the algorithm used (Wirth's method), the nth\n smallest element is in its sorted position (at index `n-1`).\n\n Shuffling the input array may change the output. The only guarantee is\n that the first `n` elements will be the `n` smallest and the remaining\n element will appear in the remainder of the output.\n\n This functions is not protected against NaN. Therefore, you may get\n unexpected results if the input contains NaN.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n n : int \n The indices of the `n` smallest elements will appear in the first `n`\n elements of the output array along the given `axis`.\n axis : {int, None}, optional\n Axis along which the partial sort is performed. The default (axis=-1)\n is to sort along the last axis.\n\n Returns\n -------\n y : ndarray\n An array the same shape as the input array containing the indices\n that partially sort `arr` such that the `n` smallest elements will\n appear (unordered) in the first `n` elements.\n\n See Also\n --------\n bottlechest.partsort: Partial sorting of array elements along given axis.\n \n Notes\n -----\n Unexpected results may occur if the input array contains NaN.\n\n Examples\n --------\n Create a numpy array:\n\n >>> a = np.array([1, 0, 3, 4, 2])\n \n Find the indices that partially sort that array so that the first 3\n elements are the smallest 3 elements:\n\n >>> index = bn.argpartsort(a, n=3)\n >>> index\n array([0, 1, 4, 3, 2])\n\n Let's use the indices to partially sort the array (note, as in this\n example, that the small""est 3 elements may not be in order):\n\n >>> a[index]\n array([1, 0, 2, 4, 3])\n \n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/argpartsort.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\argpartsort.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1379,6 +1378,7 @@ static PyObject *__pyx_kp_u_Return_indices_that_would_parti; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__7; static PyObject *__pyx_n_s_a; @@ -2566,16 +2566,16 @@ static PyObject *__pyx_pf_11argpartsort_2argpartsort_selector(CYTHON_UNUSED PyOb /* "argpartsort.pyx":229 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int along axis=0." + * def argpartsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_5argpartsort_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_4argpartsort_1d_int_axis0[] = "argpartsort_1d_int_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_5argpartsort_1d_int_axis0 = {"argpartsort_1d_int_axis0", (PyCFunction)__pyx_pw_11argpartsort_5argpartsort_1d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_4argpartsort_1d_int_axis0}; -static PyObject *__pyx_pw_11argpartsort_5argpartsort_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_5argpartsort_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_4argpartsort_1d_float_axis0[] = "argpartsort_1d_float_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_5argpartsort_1d_float_axis0 = {"argpartsort_1d_float_axis0", (PyCFunction)__pyx_pw_11argpartsort_5argpartsort_1d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_4argpartsort_1d_float_axis0}; +static PyObject *__pyx_pw_11argpartsort_5argpartsort_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -2583,7 +2583,7 @@ static PyObject *__pyx_pw_11argpartsort_5argpartsort_1d_int_axis0(PyObject *__py int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_1d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -2604,11 +2604,11 @@ static PyObject *__pyx_pw_11argpartsort_5argpartsort_1d_int_axis0(PyObject *__py case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -2621,14 +2621,14 @@ static PyObject *__pyx_pw_11argpartsort_5argpartsort_1d_int_axis0(PyObject *__py } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_4argpartsort_1d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -2639,15 +2639,15 @@ static PyObject *__pyx_pw_11argpartsort_5argpartsort_1d_int_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -2688,7 +2688,7 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_1d_int_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_float_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -2703,24 +2703,24 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "argpartsort.pyx":231 - * def argpartsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=int along axis=0." + * def argpartsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":233 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ @@ -2730,7 +2730,7 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; @@ -2945,7 +2945,7 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED * j = r */ __pyx_t_13 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); /* "argpartsort.pyx":252 * while l < r: @@ -2983,7 +2983,7 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED */ while (1) { __pyx_t_14 = __pyx_v_i; - __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); if (!__pyx_t_8) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -2997,7 +2997,7 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED */ while (1) { __pyx_t_15 = __pyx_v_j; - __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); if (!__pyx_t_8) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -3020,7 +3020,7 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED * b[j] = tmp */ __pyx_t_16 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); /* "argpartsort.pyx":259 * if i <= j: @@ -3031,7 +3031,7 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED */ __pyx_t_17 = __pyx_v_j; __pyx_t_18 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); /* "argpartsort.pyx":260 * tmp = b[i] @@ -3041,7 +3041,7 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED * y[i] = y[j] */ __pyx_t_19 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; /* "argpartsort.pyx":261 * b[i] = b[j] @@ -3172,8 +3172,8 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED /* "argpartsort.pyx":229 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int along axis=0." + * def argpartsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -3189,7 +3189,7 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3207,16 +3207,16 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED /* "argpartsort.pyx":273 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int8 along axis=0." + * def argpartsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_7argpartsort_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_6argpartsort_1d_int8_axis0[] = "argpartsort_1d_int8_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_7argpartsort_1d_int8_axis0 = {"argpartsort_1d_int8_axis0", (PyCFunction)__pyx_pw_11argpartsort_7argpartsort_1d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_6argpartsort_1d_int8_axis0}; -static PyObject *__pyx_pw_11argpartsort_7argpartsort_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_7argpartsort_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_6argpartsort_1d_float32_axis0[] = "argpartsort_1d_float32_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_7argpartsort_1d_float32_axis0 = {"argpartsort_1d_float32_axis0", (PyCFunction)__pyx_pw_11argpartsort_7argpartsort_1d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_6argpartsort_1d_float32_axis0}; +static PyObject *__pyx_pw_11argpartsort_7argpartsort_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -3224,7 +3224,7 @@ static PyObject *__pyx_pw_11argpartsort_7argpartsort_1d_int8_axis0(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_1d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -3245,11 +3245,11 @@ static PyObject *__pyx_pw_11argpartsort_7argpartsort_1d_int8_axis0(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3262,14 +3262,14 @@ static PyObject *__pyx_pw_11argpartsort_7argpartsort_1d_int8_axis0(PyObject *__p } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_6argpartsort_1d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -3280,15 +3280,15 @@ static PyObject *__pyx_pw_11argpartsort_7argpartsort_1d_int8_axis0(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -3329,7 +3329,7 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_1d_int8_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_float32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -3344,24 +3344,24 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "argpartsort.pyx":275 - * def argpartsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=int8 along axis=0." + * def argpartsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":277 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ @@ -3371,7 +3371,7 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; @@ -3586,7 +3586,7 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED * j = r */ __pyx_t_13 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); /* "argpartsort.pyx":296 * while l < r: @@ -3624,7 +3624,7 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED */ while (1) { __pyx_t_14 = __pyx_v_i; - __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); if (!__pyx_t_8) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -3638,7 +3638,7 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED */ while (1) { __pyx_t_15 = __pyx_v_j; - __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); if (!__pyx_t_8) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -3661,7 +3661,7 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED * b[j] = tmp */ __pyx_t_16 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); /* "argpartsort.pyx":303 * if i <= j: @@ -3672,7 +3672,7 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED */ __pyx_t_17 = __pyx_v_j; __pyx_t_18 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); /* "argpartsort.pyx":304 * tmp = b[i] @@ -3682,7 +3682,7 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED * y[i] = y[j] */ __pyx_t_19 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; /* "argpartsort.pyx":305 * b[i] = b[j] @@ -3813,8 +3813,8 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED /* "argpartsort.pyx":273 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int8 along axis=0." + * def argpartsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -3830,7 +3830,7 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3848,16 +3848,16 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED /* "argpartsort.pyx":317 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int32 along axis=0." + * def argpartsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_9argpartsort_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_8argpartsort_1d_int32_axis0[] = "argpartsort_1d_int32_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_9argpartsort_1d_int32_axis0 = {"argpartsort_1d_int32_axis0", (PyCFunction)__pyx_pw_11argpartsort_9argpartsort_1d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_8argpartsort_1d_int32_axis0}; -static PyObject *__pyx_pw_11argpartsort_9argpartsort_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_9argpartsort_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_8argpartsort_1d_float64_axis0[] = "argpartsort_1d_float64_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_9argpartsort_1d_float64_axis0 = {"argpartsort_1d_float64_axis0", (PyCFunction)__pyx_pw_11argpartsort_9argpartsort_1d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_8argpartsort_1d_float64_axis0}; +static PyObject *__pyx_pw_11argpartsort_9argpartsort_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -3865,7 +3865,7 @@ static PyObject *__pyx_pw_11argpartsort_9argpartsort_1d_int32_axis0(PyObject *__ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_1d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -3886,11 +3886,11 @@ static PyObject *__pyx_pw_11argpartsort_9argpartsort_1d_int32_axis0(PyObject *__ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3903,14 +3903,14 @@ static PyObject *__pyx_pw_11argpartsort_9argpartsort_1d_int32_axis0(PyObject *__ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_8argpartsort_1d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -3921,15 +3921,15 @@ static PyObject *__pyx_pw_11argpartsort_9argpartsort_1d_int32_axis0(PyObject *__ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -3970,7 +3970,7 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_1d_int32_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_float64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -3985,24 +3985,24 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "argpartsort.pyx":319 - * def argpartsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=int32 along axis=0." + * def argpartsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":321 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ @@ -4012,7 +4012,7 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; @@ -4227,7 +4227,7 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE * j = r */ __pyx_t_13 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); /* "argpartsort.pyx":340 * while l < r: @@ -4265,7 +4265,7 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE */ while (1) { __pyx_t_14 = __pyx_v_i; - __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); if (!__pyx_t_8) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -4279,7 +4279,7 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE */ while (1) { __pyx_t_15 = __pyx_v_j; - __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); if (!__pyx_t_8) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -4302,7 +4302,7 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE * b[j] = tmp */ __pyx_t_16 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); /* "argpartsort.pyx":347 * if i <= j: @@ -4313,7 +4313,7 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE */ __pyx_t_17 = __pyx_v_j; __pyx_t_18 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); /* "argpartsort.pyx":348 * tmp = b[i] @@ -4323,7 +4323,7 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE * y[i] = y[j] */ __pyx_t_19 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; /* "argpartsort.pyx":349 * b[i] = b[j] @@ -4454,8 +4454,8 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE /* "argpartsort.pyx":317 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int32 along axis=0." + * def argpartsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -4471,7 +4471,7 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4489,16 +4489,16 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE /* "argpartsort.pyx":361 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int64 along axis=0." + * def argpartsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_11argpartsort_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_10argpartsort_1d_int64_axis0[] = "argpartsort_1d_int64_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_11argpartsort_1d_int64_axis0 = {"argpartsort_1d_int64_axis0", (PyCFunction)__pyx_pw_11argpartsort_11argpartsort_1d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_10argpartsort_1d_int64_axis0}; -static PyObject *__pyx_pw_11argpartsort_11argpartsort_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_11argpartsort_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_10argpartsort_2d_float_axis0[] = "argpartsort_2d_float_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_11argpartsort_2d_float_axis0 = {"argpartsort_2d_float_axis0", (PyCFunction)__pyx_pw_11argpartsort_11argpartsort_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_10argpartsort_2d_float_axis0}; +static PyObject *__pyx_pw_11argpartsort_11argpartsort_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -4506,7 +4506,7 @@ static PyObject *__pyx_pw_11argpartsort_11argpartsort_1d_int64_axis0(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_1d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -4527,11 +4527,11 @@ static PyObject *__pyx_pw_11argpartsort_11argpartsort_1d_int64_axis0(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4544,14 +4544,14 @@ static PyObject *__pyx_pw_11argpartsort_11argpartsort_1d_int64_axis0(PyObject *_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_10argpartsort_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -4562,19 +4562,21 @@ static PyObject *__pyx_pw_11argpartsort_11argpartsort_1d_int64_axis0(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_10argpartsort_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -4587,31 +4589,43 @@ static PyObject *__pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[1]; + npy_intp __pyx_t_3[2]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - int __pyx_t_8; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - npy_intp __pyx_t_13; - npy_intp __pyx_t_14; - npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + int __pyx_t_11; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; npy_intp __pyx_t_18; - npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_19; npy_intp __pyx_t_20; - npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_21; npy_intp __pyx_t_22; - npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_23; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_29; + npy_intp __pyx_t_30; + Py_ssize_t __pyx_t_31; + npy_intp __pyx_t_32; + Py_ssize_t __pyx_t_33; + npy_intp __pyx_t_34; + Py_ssize_t __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_1d_int64_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -4626,25 +4640,25 @@ static PyObject *__pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "argpartsort.pyx":363 - * def argpartsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=int64 along axis=0." + * def argpartsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":365 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -4653,10 +4667,10 @@ static PyObject *__pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(CYTHON_UNUS __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; @@ -4664,11 +4678,11 @@ static PyObject *__pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(CYTHON_UNUS __pyx_t_1 = 0; /* "argpartsort.pyx":368 - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); @@ -4676,78 +4690,101 @@ static PyObject *__pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(CYTHON_UNUS * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); /* "argpartsort.pyx":370 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "argpartsort.pyx":371 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; + __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":371 - * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":372 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":373 - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + /* "argpartsort.pyx":374 + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = i0 - * if n0 == 0: + * for i1 in range(n1): + * y[i0, i1] = i0 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":374 + /* "argpartsort.pyx":375 * NPY_intp, 0) * for i0 in range(n0): - * y[i0] = i0 # <<<<<<<<<<<<<< + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i0, i1] = i0 + * if n0 == 0: + */ + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; + + /* "argpartsort.pyx":376 + * for i0 in range(n0): + * for i1 in range(n1): + * y[i0, i1] = i0 # <<<<<<<<<<<<<< * if n0 == 0: * return y */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; + } } - /* "argpartsort.pyx":375 - * for i0 in range(n0): - * y[i0] = i0 + /* "argpartsort.pyx":377 + * for i1 in range(n1): + * y[i0, i1] = i0 * if n0 == 0: # <<<<<<<<<<<<<< * return y * if (n < 1) or (n > n0): */ - __pyx_t_8 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_8) { + __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":376 - * y[i0] = i0 + /* "argpartsort.pyx":378 + * y[i0, i1] = i0 * if n0 == 0: * return y # <<<<<<<<<<<<<< * if (n < 1) or (n > n0): @@ -4759,328 +4796,318 @@ static PyObject *__pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":377 + /* "argpartsort.pyx":379 * if n0 == 0: * return y * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 + * for i1 in range(n1): */ - __pyx_t_9 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_9) { - goto __pyx_L8_next_or; + __pyx_t_12 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_12) { + goto __pyx_L10_next_or; } else { - __pyx_t_8 = __pyx_t_9; - goto __pyx_L7_bool_binop_done; + __pyx_t_11 = __pyx_t_12; + goto __pyx_L9_bool_binop_done; } - __pyx_L8_next_or:; - __pyx_t_9 = ((__pyx_v_n > __pyx_v_n0) != 0); - __pyx_t_8 = __pyx_t_9; - __pyx_L7_bool_binop_done:; - if (__pyx_t_8) { + __pyx_L10_next_or:; + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_11 = __pyx_t_12; + __pyx_L9_bool_binop_done:; + if (__pyx_t_11) { - /* "argpartsort.pyx":378 + /* "argpartsort.pyx":380 * return y * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * for i1 in range(n1): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_10 = 0; - __pyx_t_11 = 0; - __pyx_t_11 = PyNumber_Remainder(__pyx_t_1, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_13 = 0; + __pyx_t_14 = 0; + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_Raise(__pyx_t_11, 0, 0, 0); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_Raise(__pyx_t_14, 0, 0, 0); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":379 + /* "argpartsort.pyx":381 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_v_l = 0; + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":380 + /* "argpartsort.pyx":382 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "argpartsort.pyx":381 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":383 + * for i1 in range(n1): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[k, i1] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":382 - * r = n0 - 1 - * with nogil: + /* "argpartsort.pyx":384 + * l = 0 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[k, i1] * i = l */ - while (1) { - __pyx_t_8 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_8) break; + while (1) { + __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_11) break; - /* "argpartsort.pyx":383 - * with nogil: + /* "argpartsort.pyx":385 + * r = n0 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_13 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_16 = __pyx_v_k; + __pyx_t_7 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":384 + /* "argpartsort.pyx":386 * while l < r: - * x = b[k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":385 - * x = b[k] + /* "argpartsort.pyx":387 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":386 + /* "argpartsort.pyx":388 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ - while (1) { + while (1) { - /* "argpartsort.pyx":387 + /* "argpartsort.pyx":389 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_14 = __pyx_v_i; - __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_8) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_17 = __pyx_v_i; + __pyx_t_8 = __pyx_v_i1; + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_11) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":388 + /* "argpartsort.pyx":390 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i, i1] */ - while (1) { - __pyx_t_15 = __pyx_v_j; - __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_8) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_11) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":389 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "argpartsort.pyx":391 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ - __pyx_t_8 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_8) { + __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":390 - * while x < b[j]: j -= 1 + /* "argpartsort.pyx":392 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_16 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":391 + /* "argpartsort.pyx":393 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp - * itmp = y[i] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp + * itmp = y[i, i1] */ - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":392 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i] - * y[i] = y[j] - */ - __pyx_t_19 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + /* "argpartsort.pyx":394 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] + */ + __pyx_t_26 = __pyx_v_j; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":393 - * b[i] = b[j] - * b[j] = tmp - * itmp = y[i] # <<<<<<<<<<<<<< - * y[i] = y[j] - * y[j] = itmp + /* "argpartsort.pyx":395 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp + * itmp = y[i, i1] # <<<<<<<<<<<<<< + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp */ - __pyx_t_20 = __pyx_v_i; - __pyx_v_itmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_y.diminfo[0].strides)); + __pyx_t_28 = __pyx_v_i; + __pyx_t_29 = __pyx_v_i1; + __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":394 - * b[j] = tmp - * itmp = y[i] - * y[i] = y[j] # <<<<<<<<<<<<<< - * y[j] = itmp + /* "argpartsort.pyx":396 + * b[j, i1] = tmp + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< + * y[j, i1] = itmp * i += 1 */ - __pyx_t_21 = __pyx_v_j; - __pyx_t_22 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_y.diminfo[0].strides)); + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_i; + __pyx_t_33 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":395 - * itmp = y[i] - * y[i] = y[j] - * y[j] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":397 + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_itmp; + __pyx_t_34 = __pyx_v_j; + __pyx_t_35 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":396 - * y[i] = y[j] - * y[j] = itmp + /* "argpartsort.pyx":398 + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":397 - * y[j] = itmp + /* "argpartsort.pyx":399 + * y[j, i1] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L20; - } - __pyx_L20:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L21; + } + __pyx_L21:; - /* "argpartsort.pyx":398 + /* "argpartsort.pyx":400 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_8 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_8) { - goto __pyx_L15_break; - } - } - __pyx_L15_break:; + __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_11) { + goto __pyx_L16_break; + } + } + __pyx_L16_break:; - /* "argpartsort.pyx":399 + /* "argpartsort.pyx":401 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j * return y */ - __pyx_t_8 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_8) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L22; - } - __pyx_L22:; + __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_11) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L23; + } + __pyx_L23:; - /* "argpartsort.pyx":400 + /* "argpartsort.pyx":402 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_8) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L23; - } - __pyx_L23:; - } - } - - /* "argpartsort.pyx":381 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] - */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L11; - } - __pyx_L11:; + __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_11) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L24; } + __pyx_L24:; + } } - /* "argpartsort.pyx":401 + /* "argpartsort.pyx":403 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -5095,24 +5122,24 @@ static PyObject *__pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(CYTHON_UNUS /* "argpartsort.pyx":361 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int64 along axis=0." + * def argpartsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5127,19 +5154,19 @@ static PyObject *__pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":405 +/* "argpartsort.pyx":407 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=0." + * def argpartsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_13argpartsort_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_12argpartsort_2d_int_axis0[] = "argpartsort_2d_int_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_13argpartsort_2d_int_axis0 = {"argpartsort_2d_int_axis0", (PyCFunction)__pyx_pw_11argpartsort_13argpartsort_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_12argpartsort_2d_int_axis0}; -static PyObject *__pyx_pw_11argpartsort_13argpartsort_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_13argpartsort_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_12argpartsort_2d_float_axis1[] = "argpartsort_2d_float_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_13argpartsort_2d_float_axis1 = {"argpartsort_2d_float_axis1", (PyCFunction)__pyx_pw_11argpartsort_13argpartsort_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_12argpartsort_2d_float_axis1}; +static PyObject *__pyx_pw_11argpartsort_13argpartsort_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -5147,7 +5174,7 @@ static PyObject *__pyx_pw_11argpartsort_13argpartsort_2d_int_axis0(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -5168,11 +5195,11 @@ static PyObject *__pyx_pw_11argpartsort_13argpartsort_2d_int_axis0(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5181,18 +5208,18 @@ static PyObject *__pyx_pw_11argpartsort_13argpartsort_2d_int_axis0(PyObject *__p values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_12argpartsort_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -5203,15 +5230,15 @@ static PyObject *__pyx_pw_11argpartsort_13argpartsort_2d_int_axis0(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -5245,28 +5272,28 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; - Py_ssize_t __pyx_t_29; - npy_intp __pyx_t_30; - Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; - Py_ssize_t __pyx_t_33; - npy_intp __pyx_t_34; - Py_ssize_t __pyx_t_35; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; + Py_ssize_t __pyx_t_26; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; + npy_intp __pyx_t_29; + Py_ssize_t __pyx_t_30; + npy_intp __pyx_t_31; + Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_34; + npy_intp __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -5281,36 +5308,36 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":407 - * def argpartsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int along axis=0." + /* "argpartsort.pyx":409 + * def argpartsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":409 + /* "argpartsort.pyx":411 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -5318,7 +5345,7 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":412 + /* "argpartsort.pyx":414 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5327,7 +5354,7 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":413 + /* "argpartsort.pyx":415 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5336,7 +5363,7 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":414 + /* "argpartsort.pyx":416 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5345,7 +5372,7 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":415 + /* "argpartsort.pyx":417 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -5356,22 +5383,22 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":416 + /* "argpartsort.pyx":418 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -5379,57 +5406,57 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":418 + /* "argpartsort.pyx":420 * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i0 + * y[i0, i1] = i1 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":419 + /* "argpartsort.pyx":421 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i0 - * if n0 == 0: + * y[i0, i1] = i1 + * if n1 == 0: */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":420 + /* "argpartsort.pyx":422 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i0 # <<<<<<<<<<<<<< - * if n0 == 0: + * y[i0, i1] = i1 # <<<<<<<<<<<<<< + * if n1 == 0: * return y */ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; } } - /* "argpartsort.pyx":421 + /* "argpartsort.pyx":423 * for i1 in range(n1): - * y[i0, i1] = i0 - * if n0 == 0: # <<<<<<<<<<<<<< + * y[i0, i1] = i1 + * if n1 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":422 - * y[i0, i1] = i0 - * if n0 == 0: + /* "argpartsort.pyx":424 + * y[i0, i1] = i1 + * if n1 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -5437,12 +5464,12 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED goto __pyx_L0; } - /* "argpartsort.pyx":423 - * if n0 == 0: + /* "argpartsort.pyx":425 + * if n1 == 0: * return y - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_12 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_12) { @@ -5452,25 +5479,25 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED goto __pyx_L9_bool_binop_done; } __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L9_bool_binop_done:; if (__pyx_t_11) { - /* "argpartsort.pyx":424 + /* "argpartsort.pyx":426 * return y - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -5478,222 +5505,222 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED __Pyx_GIVEREF(__pyx_t_14); __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_Raise(__pyx_t_14, 0, 0, 0); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":425 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "argpartsort.pyx":427 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_t_5 = __pyx_v_n1; + __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":426 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + /* "argpartsort.pyx":428 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "argpartsort.pyx":427 - * for i1 in range(n1): + /* "argpartsort.pyx":429 + * for i0 in range(n0): * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":428 + /* "argpartsort.pyx":430 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_11) break; - /* "argpartsort.pyx":429 - * r = n0 - 1 + /* "argpartsort.pyx":431 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ + __pyx_t_7 = __pyx_v_i0; __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":430 + /* "argpartsort.pyx":432 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":431 - * x = b[k, i1] + /* "argpartsort.pyx":433 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":432 + /* "argpartsort.pyx":434 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "argpartsort.pyx":433 + /* "argpartsort.pyx":435 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { + __pyx_t_8 = __pyx_v_i0; __pyx_t_17 = __pyx_v_i; - __pyx_t_8 = __pyx_v_i1; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_11) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":434 + /* "argpartsort.pyx":436 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_11) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":435 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":437 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":436 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":438 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":437 + /* "argpartsort.pyx":439 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp - * itmp = y[i, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp + * itmp = y[i0, i] */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":438 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] + /* "argpartsort.pyx":440 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] */ - __pyx_t_26 = __pyx_v_j; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":439 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp - * itmp = y[i, i1] # <<<<<<<<<<<<<< - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":441 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp + * itmp = y[i0, i] # <<<<<<<<<<<<<< + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp */ - __pyx_t_28 = __pyx_v_i; - __pyx_t_29 = __pyx_v_i1; + __pyx_t_28 = __pyx_v_i0; + __pyx_t_29 = __pyx_v_i; __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":440 - * b[j, i1] = tmp - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< - * y[j, i1] = itmp + /* "argpartsort.pyx":442 + * b[i0, j] = tmp + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< + * y[i0, j] = itmp * i += 1 */ - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_i; - __pyx_t_33 = __pyx_v_i1; + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":441 - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":443 + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_34 = __pyx_v_j; - __pyx_t_35 = __pyx_v_i1; + __pyx_t_34 = __pyx_v_i0; + __pyx_t_35 = __pyx_v_j; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":442 - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":444 + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":443 - * y[j, i1] = itmp + /* "argpartsort.pyx":445 + * y[i0, j] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -5704,7 +5731,7 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED } __pyx_L21:; - /* "argpartsort.pyx":444 + /* "argpartsort.pyx":446 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -5718,7 +5745,7 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED } __pyx_L16_break:; - /* "argpartsort.pyx":445 + /* "argpartsort.pyx":447 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -5732,7 +5759,7 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED } __pyx_L23:; - /* "argpartsort.pyx":446 + /* "argpartsort.pyx":448 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -5748,7 +5775,7 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED } } - /* "argpartsort.pyx":447 + /* "argpartsort.pyx":449 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -5760,11 +5787,11 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":405 + /* "argpartsort.pyx":407 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=0." + * def argpartsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -5780,7 +5807,7 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5795,19 +5822,19 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED return __pyx_r; } -/* "argpartsort.pyx":451 +/* "argpartsort.pyx":453 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=1." + * def argpartsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_15argpartsort_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_14argpartsort_2d_int_axis1[] = "argpartsort_2d_int_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_15argpartsort_2d_int_axis1 = {"argpartsort_2d_int_axis1", (PyCFunction)__pyx_pw_11argpartsort_15argpartsort_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_14argpartsort_2d_int_axis1}; -static PyObject *__pyx_pw_11argpartsort_15argpartsort_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_15argpartsort_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_14argpartsort_2d_float32_axis0[] = "argpartsort_2d_float32_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_15argpartsort_2d_float32_axis0 = {"argpartsort_2d_float32_axis0", (PyCFunction)__pyx_pw_11argpartsort_15argpartsort_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_14argpartsort_2d_float32_axis0}; +static PyObject *__pyx_pw_11argpartsort_15argpartsort_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -5815,7 +5842,7 @@ static PyObject *__pyx_pw_11argpartsort_15argpartsort_2d_int_axis1(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_int_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -5836,11 +5863,11 @@ static PyObject *__pyx_pw_11argpartsort_15argpartsort_2d_int_axis1(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5849,18 +5876,18 @@ static PyObject *__pyx_pw_11argpartsort_15argpartsort_2d_int_axis1(PyObject *__p values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_14argpartsort_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -5871,15 +5898,15 @@ static PyObject *__pyx_pw_11argpartsort_15argpartsort_2d_int_axis1(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -5913,28 +5940,28 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; - Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; - Py_ssize_t __pyx_t_28; - npy_intp __pyx_t_29; - Py_ssize_t __pyx_t_30; - npy_intp __pyx_t_31; - Py_ssize_t __pyx_t_32; - npy_intp __pyx_t_33; - Py_ssize_t __pyx_t_34; - npy_intp __pyx_t_35; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_29; + npy_intp __pyx_t_30; + Py_ssize_t __pyx_t_31; + npy_intp __pyx_t_32; + Py_ssize_t __pyx_t_33; + npy_intp __pyx_t_34; + Py_ssize_t __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -5949,36 +5976,36 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":453 - * def argpartsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int along axis=1." - * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) + /* "argpartsort.pyx":455 + * def argpartsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float32 along axis=0." + * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":455 + /* "argpartsort.pyx":457 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -5986,7 +6013,7 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":458 + /* "argpartsort.pyx":460 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5995,7 +6022,7 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":459 + /* "argpartsort.pyx":461 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -6004,7 +6031,7 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":460 + /* "argpartsort.pyx":462 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -6013,7 +6040,7 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":461 + /* "argpartsort.pyx":463 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -6024,22 +6051,22 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":462 + /* "argpartsort.pyx":464 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -6047,57 +6074,57 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":464 + /* "argpartsort.pyx":466 * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i1 + * y[i0, i1] = i0 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":465 + /* "argpartsort.pyx":467 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i1 - * if n1 == 0: + * y[i0, i1] = i0 + * if n0 == 0: */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":466 + /* "argpartsort.pyx":468 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i1 # <<<<<<<<<<<<<< - * if n1 == 0: + * y[i0, i1] = i0 # <<<<<<<<<<<<<< + * if n0 == 0: * return y */ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; } } - /* "argpartsort.pyx":467 + /* "argpartsort.pyx":469 * for i1 in range(n1): - * y[i0, i1] = i1 - * if n1 == 0: # <<<<<<<<<<<<<< + * y[i0, i1] = i0 + * if n0 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":468 - * y[i0, i1] = i1 - * if n1 == 0: + /* "argpartsort.pyx":470 + * y[i0, i1] = i0 + * if n0 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -6105,12 +6132,12 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED goto __pyx_L0; } - /* "argpartsort.pyx":469 - * if n1 == 0: + /* "argpartsort.pyx":471 + * if n0 == 0: * return y - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ __pyx_t_12 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_12) { @@ -6120,25 +6147,25 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED goto __pyx_L9_bool_binop_done; } __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L9_bool_binop_done:; if (__pyx_t_11) { - /* "argpartsort.pyx":470 + /* "argpartsort.pyx":472 * return y - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -6146,222 +6173,222 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED __Pyx_GIVEREF(__pyx_t_14); __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_Raise(__pyx_t_14, 0, 0, 0); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":471 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "argpartsort.pyx":473 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< * l = 0 - * r = n1 - 1 + * r = n0 - 1 */ - __pyx_t_5 = __pyx_v_n0; + __pyx_t_5 = __pyx_v_n1; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":472 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + /* "argpartsort.pyx":474 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 + * r = n0 - 1 * while l < r: */ __pyx_v_l = 0; - /* "argpartsort.pyx":473 - * for i0 in range(n0): + /* "argpartsort.pyx":475 + * for i1 in range(n1): * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[i0, k] + * x = b[k, i1] */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":474 + /* "argpartsort.pyx":476 * l = 0 - * r = n1 - 1 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] + * x = b[k, i1] * i = l */ while (1) { __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_11) break; - /* "argpartsort.pyx":475 - * r = n1 - 1 + /* "argpartsort.pyx":477 + * r = n0 - 1 * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_7 = __pyx_v_i0; __pyx_t_16 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_7 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":476 + /* "argpartsort.pyx":478 * while l < r: - * x = b[i0, k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":477 - * x = b[i0, k] + /* "argpartsort.pyx":479 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i0, i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":478 + /* "argpartsort.pyx":480 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ while (1) { - /* "argpartsort.pyx":479 + /* "argpartsort.pyx":481 * j = r * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_8 = __pyx_v_i0; __pyx_t_17 = __pyx_v_i; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_8 = __pyx_v_i1; + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_11) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":480 + /* "argpartsort.pyx":482 * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i0, i] + * tmp = b[i, i1] */ while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_11) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":481 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "argpartsort.pyx":483 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":482 - * while x < b[i0, j]: j -= 1 + /* "argpartsort.pyx":484 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":483 + /* "argpartsort.pyx":485 * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * itmp = y[i0, i] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp + * itmp = y[i, i1] */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":484 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] + /* "argpartsort.pyx":486 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_j; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":485 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * itmp = y[i0, i] # <<<<<<<<<<<<<< - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp + /* "argpartsort.pyx":487 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp + * itmp = y[i, i1] # <<<<<<<<<<<<<< + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp */ - __pyx_t_28 = __pyx_v_i0; - __pyx_t_29 = __pyx_v_i; + __pyx_t_28 = __pyx_v_i; + __pyx_t_29 = __pyx_v_i1; __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":486 - * b[i0, j] = tmp - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< - * y[i0, j] = itmp + /* "argpartsort.pyx":488 + * b[j, i1] = tmp + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< + * y[j, i1] = itmp * i += 1 */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i; + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_i; + __pyx_t_33 = __pyx_v_i1; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":487 - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":489 + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_34 = __pyx_v_i0; - __pyx_t_35 = __pyx_v_j; + __pyx_t_34 = __pyx_v_j; + __pyx_t_35 = __pyx_v_i1; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":488 - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp + /* "argpartsort.pyx":490 + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":489 - * y[i0, j] = itmp + /* "argpartsort.pyx":491 + * y[j, i1] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -6372,7 +6399,7 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED } __pyx_L21:; - /* "argpartsort.pyx":490 + /* "argpartsort.pyx":492 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -6386,7 +6413,7 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED } __pyx_L16_break:; - /* "argpartsort.pyx":491 + /* "argpartsort.pyx":493 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -6400,7 +6427,7 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED } __pyx_L23:; - /* "argpartsort.pyx":492 + /* "argpartsort.pyx":494 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -6416,7 +6443,7 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED } } - /* "argpartsort.pyx":493 + /* "argpartsort.pyx":495 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -6428,11 +6455,11 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":451 + /* "argpartsort.pyx":453 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=1." + * def argpartsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -6448,7 +6475,7 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6463,19 +6490,19 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED return __pyx_r; } -/* "argpartsort.pyx":497 +/* "argpartsort.pyx":499 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=0." + * def argpartsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_17argpartsort_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_16argpartsort_2d_int8_axis0[] = "argpartsort_2d_int8_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_17argpartsort_2d_int8_axis0 = {"argpartsort_2d_int8_axis0", (PyCFunction)__pyx_pw_11argpartsort_17argpartsort_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_16argpartsort_2d_int8_axis0}; -static PyObject *__pyx_pw_11argpartsort_17argpartsort_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_17argpartsort_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_16argpartsort_2d_float32_axis1[] = "argpartsort_2d_float32_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float32 along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_17argpartsort_2d_float32_axis1 = {"argpartsort_2d_float32_axis1", (PyCFunction)__pyx_pw_11argpartsort_17argpartsort_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_16argpartsort_2d_float32_axis1}; +static PyObject *__pyx_pw_11argpartsort_17argpartsort_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -6483,7 +6510,7 @@ static PyObject *__pyx_pw_11argpartsort_17argpartsort_2d_int8_axis0(PyObject *__ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -6504,11 +6531,11 @@ static PyObject *__pyx_pw_11argpartsort_17argpartsort_2d_int8_axis0(PyObject *__ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6517,18 +6544,18 @@ static PyObject *__pyx_pw_11argpartsort_17argpartsort_2d_int8_axis0(PyObject *__ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_16argpartsort_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -6539,15 +6566,15 @@ static PyObject *__pyx_pw_11argpartsort_17argpartsort_2d_int8_axis0(PyObject *__ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -6581,28 +6608,28 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; - Py_ssize_t __pyx_t_29; - npy_intp __pyx_t_30; - Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; - Py_ssize_t __pyx_t_33; - npy_intp __pyx_t_34; - Py_ssize_t __pyx_t_35; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; + Py_ssize_t __pyx_t_26; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; + npy_intp __pyx_t_29; + Py_ssize_t __pyx_t_30; + npy_intp __pyx_t_31; + Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_34; + npy_intp __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float32_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -6617,36 +6644,36 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":499 - * def argpartsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int8 along axis=0." + /* "argpartsort.pyx":501 + * def argpartsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":501 + /* "argpartsort.pyx":503 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -6654,7 +6681,7 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":504 + /* "argpartsort.pyx":506 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6663,7 +6690,7 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":505 + /* "argpartsort.pyx":507 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -6672,7 +6699,7 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":506 + /* "argpartsort.pyx":508 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -6681,7 +6708,7 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":507 + /* "argpartsort.pyx":509 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -6692,22 +6719,22 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":508 + /* "argpartsort.pyx":510 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -6715,57 +6742,57 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":510 + /* "argpartsort.pyx":512 * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i0 + * y[i0, i1] = i1 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":511 + /* "argpartsort.pyx":513 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i0 - * if n0 == 0: + * y[i0, i1] = i1 + * if n1 == 0: */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":512 + /* "argpartsort.pyx":514 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i0 # <<<<<<<<<<<<<< - * if n0 == 0: + * y[i0, i1] = i1 # <<<<<<<<<<<<<< + * if n1 == 0: * return y */ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; } } - /* "argpartsort.pyx":513 + /* "argpartsort.pyx":515 * for i1 in range(n1): - * y[i0, i1] = i0 - * if n0 == 0: # <<<<<<<<<<<<<< + * y[i0, i1] = i1 + * if n1 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":514 - * y[i0, i1] = i0 - * if n0 == 0: + /* "argpartsort.pyx":516 + * y[i0, i1] = i1 + * if n1 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -6773,12 +6800,12 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE goto __pyx_L0; } - /* "argpartsort.pyx":515 - * if n0 == 0: + /* "argpartsort.pyx":517 + * if n1 == 0: * return y - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_12 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_12) { @@ -6788,25 +6815,25 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE goto __pyx_L9_bool_binop_done; } __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L9_bool_binop_done:; if (__pyx_t_11) { - /* "argpartsort.pyx":516 + /* "argpartsort.pyx":518 * return y - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -6814,222 +6841,222 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE __Pyx_GIVEREF(__pyx_t_14); __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_Raise(__pyx_t_14, 0, 0, 0); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":517 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "argpartsort.pyx":519 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_t_5 = __pyx_v_n1; + __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":518 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + /* "argpartsort.pyx":520 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "argpartsort.pyx":519 - * for i1 in range(n1): + /* "argpartsort.pyx":521 + * for i0 in range(n0): * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":520 + /* "argpartsort.pyx":522 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_11) break; - /* "argpartsort.pyx":521 - * r = n0 - 1 + /* "argpartsort.pyx":523 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ + __pyx_t_7 = __pyx_v_i0; __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":522 + /* "argpartsort.pyx":524 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":523 - * x = b[k, i1] + /* "argpartsort.pyx":525 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":524 + /* "argpartsort.pyx":526 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "argpartsort.pyx":525 + /* "argpartsort.pyx":527 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { + __pyx_t_8 = __pyx_v_i0; __pyx_t_17 = __pyx_v_i; - __pyx_t_8 = __pyx_v_i1; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_11) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":526 + /* "argpartsort.pyx":528 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_11) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":527 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":529 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":528 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":530 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":529 + /* "argpartsort.pyx":531 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp - * itmp = y[i, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp + * itmp = y[i0, i] */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":530 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] + /* "argpartsort.pyx":532 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] */ - __pyx_t_26 = __pyx_v_j; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":531 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp - * itmp = y[i, i1] # <<<<<<<<<<<<<< - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":533 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp + * itmp = y[i0, i] # <<<<<<<<<<<<<< + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp */ - __pyx_t_28 = __pyx_v_i; - __pyx_t_29 = __pyx_v_i1; + __pyx_t_28 = __pyx_v_i0; + __pyx_t_29 = __pyx_v_i; __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":532 - * b[j, i1] = tmp - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< - * y[j, i1] = itmp + /* "argpartsort.pyx":534 + * b[i0, j] = tmp + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< + * y[i0, j] = itmp * i += 1 */ - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_i; - __pyx_t_33 = __pyx_v_i1; + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":533 - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":535 + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_34 = __pyx_v_j; - __pyx_t_35 = __pyx_v_i1; + __pyx_t_34 = __pyx_v_i0; + __pyx_t_35 = __pyx_v_j; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":534 - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":536 + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":535 - * y[j, i1] = itmp + /* "argpartsort.pyx":537 + * y[i0, j] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -7040,7 +7067,7 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE } __pyx_L21:; - /* "argpartsort.pyx":536 + /* "argpartsort.pyx":538 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -7054,7 +7081,7 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE } __pyx_L16_break:; - /* "argpartsort.pyx":537 + /* "argpartsort.pyx":539 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -7068,7 +7095,7 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE } __pyx_L23:; - /* "argpartsort.pyx":538 + /* "argpartsort.pyx":540 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -7084,7 +7111,7 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE } } - /* "argpartsort.pyx":539 + /* "argpartsort.pyx":541 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -7096,11 +7123,11 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":497 + /* "argpartsort.pyx":499 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=0." + * def argpartsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -7116,7 +7143,7 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7131,19 +7158,19 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE return __pyx_r; } -/* "argpartsort.pyx":543 +/* "argpartsort.pyx":545 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=1." + * def argpartsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_19argpartsort_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_18argpartsort_2d_int8_axis1[] = "argpartsort_2d_int8_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int8 along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_19argpartsort_2d_int8_axis1 = {"argpartsort_2d_int8_axis1", (PyCFunction)__pyx_pw_11argpartsort_19argpartsort_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_18argpartsort_2d_int8_axis1}; -static PyObject *__pyx_pw_11argpartsort_19argpartsort_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_19argpartsort_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_18argpartsort_2d_float64_axis0[] = "argpartsort_2d_float64_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_19argpartsort_2d_float64_axis0 = {"argpartsort_2d_float64_axis0", (PyCFunction)__pyx_pw_11argpartsort_19argpartsort_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_18argpartsort_2d_float64_axis0}; +static PyObject *__pyx_pw_11argpartsort_19argpartsort_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -7151,7 +7178,7 @@ static PyObject *__pyx_pw_11argpartsort_19argpartsort_2d_int8_axis1(PyObject *__ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_int8_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -7172,11 +7199,11 @@ static PyObject *__pyx_pw_11argpartsort_19argpartsort_2d_int8_axis1(PyObject *__ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7185,18 +7212,18 @@ static PyObject *__pyx_pw_11argpartsort_19argpartsort_2d_int8_axis1(PyObject *__ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_18argpartsort_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -7207,15 +7234,15 @@ static PyObject *__pyx_pw_11argpartsort_19argpartsort_2d_int8_axis1(PyObject *__ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -7249,28 +7276,28 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; - Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; - Py_ssize_t __pyx_t_28; - npy_intp __pyx_t_29; - Py_ssize_t __pyx_t_30; - npy_intp __pyx_t_31; - Py_ssize_t __pyx_t_32; - npy_intp __pyx_t_33; - Py_ssize_t __pyx_t_34; - npy_intp __pyx_t_35; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_29; + npy_intp __pyx_t_30; + Py_ssize_t __pyx_t_31; + npy_intp __pyx_t_32; + Py_ssize_t __pyx_t_33; + npy_intp __pyx_t_34; + Py_ssize_t __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -7285,36 +7312,36 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":545 - * def argpartsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int8 along axis=1." + /* "argpartsort.pyx":547 + * def argpartsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":547 + /* "argpartsort.pyx":549 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -7322,7 +7349,7 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":550 + /* "argpartsort.pyx":552 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7331,7 +7358,7 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":551 + /* "argpartsort.pyx":553 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7340,7 +7367,7 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":552 + /* "argpartsort.pyx":554 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7349,7 +7376,7 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":553 + /* "argpartsort.pyx":555 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -7360,22 +7387,22 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":554 + /* "argpartsort.pyx":556 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -7383,57 +7410,57 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":556 + /* "argpartsort.pyx":558 * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i1 + * y[i0, i1] = i0 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":557 + /* "argpartsort.pyx":559 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i1 - * if n1 == 0: + * y[i0, i1] = i0 + * if n0 == 0: */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":558 + /* "argpartsort.pyx":560 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i1 # <<<<<<<<<<<<<< - * if n1 == 0: + * y[i0, i1] = i0 # <<<<<<<<<<<<<< + * if n0 == 0: * return y */ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; } } - /* "argpartsort.pyx":559 + /* "argpartsort.pyx":561 * for i1 in range(n1): - * y[i0, i1] = i1 - * if n1 == 0: # <<<<<<<<<<<<<< + * y[i0, i1] = i0 + * if n0 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":560 - * y[i0, i1] = i1 - * if n1 == 0: + /* "argpartsort.pyx":562 + * y[i0, i1] = i0 + * if n0 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -7441,12 +7468,12 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE goto __pyx_L0; } - /* "argpartsort.pyx":561 - * if n1 == 0: + /* "argpartsort.pyx":563 + * if n0 == 0: * return y - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ __pyx_t_12 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_12) { @@ -7456,25 +7483,25 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE goto __pyx_L9_bool_binop_done; } __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L9_bool_binop_done:; if (__pyx_t_11) { - /* "argpartsort.pyx":562 + /* "argpartsort.pyx":564 * return y - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -7482,222 +7509,222 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE __Pyx_GIVEREF(__pyx_t_14); __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_Raise(__pyx_t_14, 0, 0, 0); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":563 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "argpartsort.pyx":565 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< * l = 0 - * r = n1 - 1 + * r = n0 - 1 */ - __pyx_t_5 = __pyx_v_n0; + __pyx_t_5 = __pyx_v_n1; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":564 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + /* "argpartsort.pyx":566 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 + * r = n0 - 1 * while l < r: */ __pyx_v_l = 0; - /* "argpartsort.pyx":565 - * for i0 in range(n0): + /* "argpartsort.pyx":567 + * for i1 in range(n1): * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[i0, k] + * x = b[k, i1] */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":566 + /* "argpartsort.pyx":568 * l = 0 - * r = n1 - 1 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] + * x = b[k, i1] * i = l */ while (1) { __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_11) break; - /* "argpartsort.pyx":567 - * r = n1 - 1 + /* "argpartsort.pyx":569 + * r = n0 - 1 * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_7 = __pyx_v_i0; __pyx_t_16 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_7 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":568 + /* "argpartsort.pyx":570 * while l < r: - * x = b[i0, k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":569 - * x = b[i0, k] + /* "argpartsort.pyx":571 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i0, i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":570 + /* "argpartsort.pyx":572 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ while (1) { - /* "argpartsort.pyx":571 + /* "argpartsort.pyx":573 * j = r * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_8 = __pyx_v_i0; __pyx_t_17 = __pyx_v_i; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_8 = __pyx_v_i1; + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_11) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":572 + /* "argpartsort.pyx":574 * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i0, i] + * tmp = b[i, i1] */ while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_11) break; + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_11) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":573 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "argpartsort.pyx":575 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":574 - * while x < b[i0, j]: j -= 1 + /* "argpartsort.pyx":576 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":575 + /* "argpartsort.pyx":577 * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * itmp = y[i0, i] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp + * itmp = y[i, i1] */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":576 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] + /* "argpartsort.pyx":578 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_j; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":577 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * itmp = y[i0, i] # <<<<<<<<<<<<<< - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp + /* "argpartsort.pyx":579 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp + * itmp = y[i, i1] # <<<<<<<<<<<<<< + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp */ - __pyx_t_28 = __pyx_v_i0; - __pyx_t_29 = __pyx_v_i; + __pyx_t_28 = __pyx_v_i; + __pyx_t_29 = __pyx_v_i1; __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":578 - * b[i0, j] = tmp - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< - * y[i0, j] = itmp + /* "argpartsort.pyx":580 + * b[j, i1] = tmp + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< + * y[j, i1] = itmp * i += 1 */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i; + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_i; + __pyx_t_33 = __pyx_v_i1; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":579 - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":581 + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_34 = __pyx_v_i0; - __pyx_t_35 = __pyx_v_j; + __pyx_t_34 = __pyx_v_j; + __pyx_t_35 = __pyx_v_i1; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":580 - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp + /* "argpartsort.pyx":582 + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":581 - * y[i0, j] = itmp + /* "argpartsort.pyx":583 + * y[j, i1] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -7708,7 +7735,7 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE } __pyx_L21:; - /* "argpartsort.pyx":582 + /* "argpartsort.pyx":584 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -7722,7 +7749,7 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE } __pyx_L16_break:; - /* "argpartsort.pyx":583 + /* "argpartsort.pyx":585 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -7736,7 +7763,7 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE } __pyx_L23:; - /* "argpartsort.pyx":584 + /* "argpartsort.pyx":586 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -7752,7 +7779,7 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE } } - /* "argpartsort.pyx":585 + /* "argpartsort.pyx":587 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -7764,11 +7791,11 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":543 + /* "argpartsort.pyx":545 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=1." + * def argpartsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -7784,7 +7811,7 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7799,19 +7826,19 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE return __pyx_r; } -/* "argpartsort.pyx":589 +/* "argpartsort.pyx":591 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=0." + * def argpartsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_21argpartsort_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_20argpartsort_2d_int32_axis0[] = "argpartsort_2d_int32_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_21argpartsort_2d_int32_axis0 = {"argpartsort_2d_int32_axis0", (PyCFunction)__pyx_pw_11argpartsort_21argpartsort_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_20argpartsort_2d_int32_axis0}; -static PyObject *__pyx_pw_11argpartsort_21argpartsort_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_21argpartsort_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_20argpartsort_2d_float64_axis1[] = "argpartsort_2d_float64_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float64 along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_21argpartsort_2d_float64_axis1 = {"argpartsort_2d_float64_axis1", (PyCFunction)__pyx_pw_11argpartsort_21argpartsort_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_20argpartsort_2d_float64_axis1}; +static PyObject *__pyx_pw_11argpartsort_21argpartsort_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -7819,7 +7846,7 @@ static PyObject *__pyx_pw_11argpartsort_21argpartsort_2d_int32_axis0(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -7840,11 +7867,11 @@ static PyObject *__pyx_pw_11argpartsort_21argpartsort_2d_int32_axis0(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7853,18 +7880,18 @@ static PyObject *__pyx_pw_11argpartsort_21argpartsort_2d_int32_axis0(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_20argpartsort_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -7875,15 +7902,15 @@ static PyObject *__pyx_pw_11argpartsort_21argpartsort_2d_int32_axis0(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -7917,28 +7944,28 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; - Py_ssize_t __pyx_t_29; - npy_intp __pyx_t_30; - Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; - Py_ssize_t __pyx_t_33; - npy_intp __pyx_t_34; - Py_ssize_t __pyx_t_35; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; + Py_ssize_t __pyx_t_26; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; + npy_intp __pyx_t_29; + Py_ssize_t __pyx_t_30; + npy_intp __pyx_t_31; + Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_34; + npy_intp __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float64_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -7953,36 +7980,36 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":591 - * def argpartsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int32 along axis=0." + /* "argpartsort.pyx":593 + * def argpartsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":593 + /* "argpartsort.pyx":595 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -7990,7 +8017,7 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":596 + /* "argpartsort.pyx":598 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7999,7 +8026,7 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":597 + /* "argpartsort.pyx":599 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -8008,7 +8035,7 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":598 + /* "argpartsort.pyx":600 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -8017,7 +8044,7 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":599 + /* "argpartsort.pyx":601 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -8028,22 +8055,22 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":600 + /* "argpartsort.pyx":602 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -8051,57 +8078,57 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":602 + /* "argpartsort.pyx":604 * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i0 + * y[i0, i1] = i1 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":603 + /* "argpartsort.pyx":605 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i0 - * if n0 == 0: + * y[i0, i1] = i1 + * if n1 == 0: */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":604 + /* "argpartsort.pyx":606 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i0 # <<<<<<<<<<<<<< - * if n0 == 0: + * y[i0, i1] = i1 # <<<<<<<<<<<<<< + * if n1 == 0: * return y */ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; } } - /* "argpartsort.pyx":605 + /* "argpartsort.pyx":607 * for i1 in range(n1): - * y[i0, i1] = i0 - * if n0 == 0: # <<<<<<<<<<<<<< + * y[i0, i1] = i1 + * if n1 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":606 - * y[i0, i1] = i0 - * if n0 == 0: + /* "argpartsort.pyx":608 + * y[i0, i1] = i1 + * if n1 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -8109,12 +8136,12 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":607 - * if n0 == 0: + /* "argpartsort.pyx":609 + * if n1 == 0: * return y - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_12 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_12) { @@ -8124,25 +8151,25 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS goto __pyx_L9_bool_binop_done; } __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L9_bool_binop_done:; if (__pyx_t_11) { - /* "argpartsort.pyx":608 + /* "argpartsort.pyx":610 * return y - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -8150,222 +8177,222 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS __Pyx_GIVEREF(__pyx_t_14); __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_Raise(__pyx_t_14, 0, 0, 0); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":609 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "argpartsort.pyx":611 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_t_5 = __pyx_v_n1; + __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":610 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + /* "argpartsort.pyx":612 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "argpartsort.pyx":611 - * for i1 in range(n1): + /* "argpartsort.pyx":613 + * for i0 in range(n0): * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":612 + /* "argpartsort.pyx":614 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_11) break; - /* "argpartsort.pyx":613 - * r = n0 - 1 + /* "argpartsort.pyx":615 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ + __pyx_t_7 = __pyx_v_i0; __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":614 + /* "argpartsort.pyx":616 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":615 - * x = b[k, i1] + /* "argpartsort.pyx":617 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":616 + /* "argpartsort.pyx":618 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "argpartsort.pyx":617 + /* "argpartsort.pyx":619 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { + __pyx_t_8 = __pyx_v_i0; __pyx_t_17 = __pyx_v_i; - __pyx_t_8 = __pyx_v_i1; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_11) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":618 + /* "argpartsort.pyx":620 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_11) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":619 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":621 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":620 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":622 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":621 + /* "argpartsort.pyx":623 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp - * itmp = y[i, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp + * itmp = y[i0, i] */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":622 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] + /* "argpartsort.pyx":624 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] */ - __pyx_t_26 = __pyx_v_j; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":623 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp - * itmp = y[i, i1] # <<<<<<<<<<<<<< - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":625 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp + * itmp = y[i0, i] # <<<<<<<<<<<<<< + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp */ - __pyx_t_28 = __pyx_v_i; - __pyx_t_29 = __pyx_v_i1; + __pyx_t_28 = __pyx_v_i0; + __pyx_t_29 = __pyx_v_i; __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":624 - * b[j, i1] = tmp - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< - * y[j, i1] = itmp + /* "argpartsort.pyx":626 + * b[i0, j] = tmp + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< + * y[i0, j] = itmp * i += 1 */ - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_i; - __pyx_t_33 = __pyx_v_i1; + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":625 - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":627 + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_34 = __pyx_v_j; - __pyx_t_35 = __pyx_v_i1; + __pyx_t_34 = __pyx_v_i0; + __pyx_t_35 = __pyx_v_j; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":626 - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":628 + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":627 - * y[j, i1] = itmp + /* "argpartsort.pyx":629 + * y[i0, j] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -8376,7 +8403,7 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS } __pyx_L21:; - /* "argpartsort.pyx":628 + /* "argpartsort.pyx":630 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -8390,7 +8417,7 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS } __pyx_L16_break:; - /* "argpartsort.pyx":629 + /* "argpartsort.pyx":631 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -8404,7 +8431,7 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS } __pyx_L23:; - /* "argpartsort.pyx":630 + /* "argpartsort.pyx":632 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -8420,7 +8447,7 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS } } - /* "argpartsort.pyx":631 + /* "argpartsort.pyx":633 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -8432,11 +8459,11 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":589 + /* "argpartsort.pyx":591 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=0." + * def argpartsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -8452,7 +8479,7 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8467,19 +8494,19 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":635 +/* "argpartsort.pyx":637 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=1." + * def argpartsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_23argpartsort_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_22argpartsort_2d_int32_axis1[] = "argpartsort_2d_int32_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int32 along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_23argpartsort_2d_int32_axis1 = {"argpartsort_2d_int32_axis1", (PyCFunction)__pyx_pw_11argpartsort_23argpartsort_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_22argpartsort_2d_int32_axis1}; -static PyObject *__pyx_pw_11argpartsort_23argpartsort_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_23argpartsort_3d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_22argpartsort_3d_float_axis0[] = "argpartsort_3d_float_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_23argpartsort_3d_float_axis0 = {"argpartsort_3d_float_axis0", (PyCFunction)__pyx_pw_11argpartsort_23argpartsort_3d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_22argpartsort_3d_float_axis0}; +static PyObject *__pyx_pw_11argpartsort_23argpartsort_3d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -8487,7 +8514,7 @@ static PyObject *__pyx_pw_11argpartsort_23argpartsort_2d_int32_axis1(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_int32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -8508,11 +8535,11 @@ static PyObject *__pyx_pw_11argpartsort_23argpartsort_2d_int32_axis1(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -8521,18 +8548,18 @@ static PyObject *__pyx_pw_11argpartsort_23argpartsort_2d_int32_axis1(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_22argpartsort_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_22argpartsort_3d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -8543,21 +8570,23 @@ static PyObject *__pyx_pw_11argpartsort_23argpartsort_2d_int32_axis1(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_22argpartsort_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_22argpartsort_3d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -8570,7 +8599,7 @@ static PyObject *__pyx_pf_11argpartsort_22argpartsort_2d_int32_axis1(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[2]; + npy_intp __pyx_t_3[3]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; @@ -8578,35 +8607,49 @@ static PyObject *__pyx_pf_11argpartsort_22argpartsort_2d_int32_axis1(CYTHON_UNUS Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - int __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - npy_intp __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + int __pyx_t_14; + int __pyx_t_15; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; Py_ssize_t __pyx_t_22; npy_intp __pyx_t_23; Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; - Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_25; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; Py_ssize_t __pyx_t_28; npy_intp __pyx_t_29; Py_ssize_t __pyx_t_30; - npy_intp __pyx_t_31; - Py_ssize_t __pyx_t_32; - npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_31; + npy_intp __pyx_t_32; + Py_ssize_t __pyx_t_33; Py_ssize_t __pyx_t_34; npy_intp __pyx_t_35; + Py_ssize_t __pyx_t_36; + Py_ssize_t __pyx_t_37; + npy_intp __pyx_t_38; + Py_ssize_t __pyx_t_39; + Py_ssize_t __pyx_t_40; + npy_intp __pyx_t_41; + Py_ssize_t __pyx_t_42; + Py_ssize_t __pyx_t_43; + npy_intp __pyx_t_44; + Py_ssize_t __pyx_t_45; + Py_ssize_t __pyx_t_46; + npy_intp __pyx_t_47; + Py_ssize_t __pyx_t_48; + Py_ssize_t __pyx_t_49; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -8621,45 +8664,45 @@ static PyObject *__pyx_pf_11argpartsort_22argpartsort_2d_int32_axis1(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":637 - * def argpartsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int32 along axis=1." + /* "argpartsort.pyx":639 + * def argpartsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":639 + /* "argpartsort.pyx":641 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":642 - * cdef Py_ssize_t i0, i1 + /* "argpartsort.pyx":644 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -8667,109 +8710,132 @@ static PyObject *__pyx_pf_11argpartsort_22argpartsort_2d_int32_axis1(CYTHON_UNUS */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":643 + /* "argpartsort.pyx":645 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":644 + /* "argpartsort.pyx":646 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":645 + /* "argpartsort.pyx":647 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + */ + __pyx_v_n2 = (__pyx_v_dim[2]); + + /* "argpartsort.pyx":648 + * cdef Py_ssize_t n1 = dim[1] + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; __pyx_t_3[1] = __pyx_v_n1; + __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":646 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":649 + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":648 - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + /* "argpartsort.pyx":651 + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i1 + * for i2 in range(n2): */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":649 + /* "argpartsort.pyx":652 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i1 - * if n1 == 0: + * for i2 in range(n2): + * y[i0, i1, i2] = i0 */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":650 + /* "argpartsort.pyx":653 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i1 # <<<<<<<<<<<<<< - * if n1 == 0: + * for i2 in range(n2): # <<<<<<<<<<<<<< + * y[i0, i1, i2] = i0 + * if n0 == 0: + */ + __pyx_t_9 = __pyx_v_n2; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i2 = __pyx_t_10; + + /* "argpartsort.pyx":654 + * for i1 in range(n1): + * for i2 in range(n2): + * y[i0, i1, i2] = i0 # <<<<<<<<<<<<<< + * if n0 == 0: * return y */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_t_13 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i0; + } } } - /* "argpartsort.pyx":651 - * for i1 in range(n1): - * y[i0, i1] = i1 - * if n1 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":655 + * for i2 in range(n2): + * y[i0, i1, i2] = i0 + * if n0 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_11) { + __pyx_t_14 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":652 - * y[i0, i1] = i1 - * if n1 == 0: + /* "argpartsort.pyx":656 + * y[i0, i1, i2] = i0 + * if n0 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -8777,320 +8843,343 @@ static PyObject *__pyx_pf_11argpartsort_22argpartsort_2d_int32_axis1(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":653 - * if n1 == 0: + /* "argpartsort.pyx":657 + * if n0 == 0: * return y - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ - __pyx_t_12 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_12) { - goto __pyx_L10_next_or; + __pyx_t_15 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_15) { + goto __pyx_L12_next_or; } else { - __pyx_t_11 = __pyx_t_12; - goto __pyx_L9_bool_binop_done; + __pyx_t_14 = __pyx_t_15; + goto __pyx_L11_bool_binop_done; } - __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); - __pyx_t_11 = __pyx_t_12; - __pyx_L9_bool_binop_done:; - if (__pyx_t_11) { + __pyx_L12_next_or:; + __pyx_t_15 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_14 = __pyx_t_15; + __pyx_L11_bool_binop_done:; + if (__pyx_t_14) { - /* "argpartsort.pyx":654 + /* "argpartsort.pyx":658 * return y - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * l = 0 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); - __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); + __Pyx_GIVEREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_16 = 0; + __pyx_t_17 = 0; + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_Raise(__pyx_t_14, 0, 0, 0); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_17 = 0; + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_Raise(__pyx_t_17, 0, 0, 0); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":655 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + /* "argpartsort.pyx":659 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * for i2 in range(n2): + * l = 0 */ - __pyx_t_5 = __pyx_v_n0; + __pyx_t_5 = __pyx_v_n1; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":656 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + /* "argpartsort.pyx":660 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): + * for i2 in range(n2): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_v_l = 0; + __pyx_t_7 = __pyx_v_n2; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i2 = __pyx_t_8; - /* "argpartsort.pyx":657 - * for i0 in range(n0): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k] + /* "argpartsort.pyx":661 + * for i1 in range(n1): + * for i2 in range(n2): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_l = 0; - /* "argpartsort.pyx":658 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] - * i = l + /* "argpartsort.pyx":662 + * for i2 in range(n2): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[k, i1, i2] */ - while (1) { - __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_11) break; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":659 - * r = n1 - 1 - * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":663 + * l = 0 + * r = n0 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[k, i1, i2] + * i = l */ - __pyx_t_7 = __pyx_v_i0; - __pyx_t_16 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_14) break; - /* "argpartsort.pyx":660 - * while l < r: - * x = b[i0, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":664 + * r = n0 - 1 + * while l < r: + * x = b[k, i1, i2] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_19 = __pyx_v_k; + __pyx_t_9 = __pyx_v_i1; + __pyx_t_10 = __pyx_v_i2; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":661 - * x = b[i0, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i] < x: i += 1 + /* "argpartsort.pyx":665 + * while l < r: + * x = b[k, i1, i2] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":662 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "argpartsort.pyx":666 + * x = b[k, i1, i2] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i, i1, i2] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":663 - * j = r - * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 - * if i <= j: + /* "argpartsort.pyx":667 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 */ while (1) { - __pyx_t_8 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_11) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "argpartsort.pyx":664 - * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i] + /* "argpartsort.pyx":668 + * j = r + * while 1: + * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_11) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + __pyx_t_22 = __pyx_v_i2; + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_14) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":665 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + /* "argpartsort.pyx":669 + * while 1: + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i, i1, i2] */ - __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_11) { + while (1) { + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i1; + __pyx_t_25 = __pyx_v_i2; + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_14) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":666 - * while x < b[i0, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "argpartsort.pyx":670 + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":667 - * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * itmp = y[i0, i] + /* "argpartsort.pyx":671 + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: + * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_26 = __pyx_v_i; + __pyx_t_27 = __pyx_v_i1; + __pyx_t_28 = __pyx_v_i2; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":668 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] + /* "argpartsort.pyx":672 + * if i <= j: + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< + * b[j, i1, i2] = tmp + * itmp = y[i, i1, i2] */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_29 = __pyx_v_j; + __pyx_t_30 = __pyx_v_i1; + __pyx_t_31 = __pyx_v_i2; + __pyx_t_32 = __pyx_v_i; + __pyx_t_33 = __pyx_v_i1; + __pyx_t_34 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":669 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * itmp = y[i0, i] # <<<<<<<<<<<<<< - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp + /* "argpartsort.pyx":673 + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< + * itmp = y[i, i1, i2] + * y[i, i1, i2] = y[j, i1, i2] */ - __pyx_t_28 = __pyx_v_i0; - __pyx_t_29 = __pyx_v_i; - __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_35 = __pyx_v_j; + __pyx_t_36 = __pyx_v_i1; + __pyx_t_37 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":670 - * b[i0, j] = tmp - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< - * y[i0, j] = itmp - * i += 1 + /* "argpartsort.pyx":674 + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp + * itmp = y[i, i1, i2] # <<<<<<<<<<<<<< + * y[i, i1, i2] = y[j, i1, i2] + * y[j, i1, i2] = itmp */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_38 = __pyx_v_i; + __pyx_t_39 = __pyx_v_i1; + __pyx_t_40 = __pyx_v_i2; + __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":671 - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":675 + * b[j, i1, i2] = tmp + * itmp = y[i, i1, i2] + * y[i, i1, i2] = y[j, i1, i2] # <<<<<<<<<<<<<< + * y[j, i1, i2] = itmp + * i += 1 */ - __pyx_t_34 = __pyx_v_i0; - __pyx_t_35 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; + __pyx_t_41 = __pyx_v_j; + __pyx_t_42 = __pyx_v_i1; + __pyx_t_43 = __pyx_v_i2; + __pyx_t_44 = __pyx_v_i; + __pyx_t_45 = __pyx_v_i1; + __pyx_t_46 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":672 - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":676 + * itmp = y[i, i1, i2] + * y[i, i1, i2] = y[j, i1, i2] + * y[j, i1, i2] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_t_47 = __pyx_v_j; + __pyx_t_48 = __pyx_v_i1; + __pyx_t_49 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":673 - * y[i0, j] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":677 + * y[i, i1, i2] = y[j, i1, i2] + * y[j, i1, i2] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L21; - } - __pyx_L21:; + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":674 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":678 + * y[j, i1, i2] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_11) { - goto __pyx_L16_break; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L25; + } + __pyx_L25:; + + /* "argpartsort.pyx":679 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j + */ + __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_14) { + goto __pyx_L20_break; + } } - } - __pyx_L16_break:; + __pyx_L20_break:; - /* "argpartsort.pyx":675 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":680 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return y */ - __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_11) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L23; - } - __pyx_L23:; + __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_14) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L27; + } + __pyx_L27:; - /* "argpartsort.pyx":676 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "argpartsort.pyx":681 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_11) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L24; + __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_14) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L28; + } + __pyx_L28:; } - __pyx_L24:; } } - /* "argpartsort.pyx":677 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":682 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -9100,27 +9189,27 @@ static PyObject *__pyx_pf_11argpartsort_22argpartsort_2d_int32_axis1(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":635 + /* "argpartsort.pyx":637 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=1." + * def argpartsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); + __Pyx_XDECREF(__pyx_t_16); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_XDECREF(__pyx_t_18); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9135,19 +9224,19 @@ static PyObject *__pyx_pf_11argpartsort_22argpartsort_2d_int32_axis1(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":681 +/* "argpartsort.pyx":686 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=0." + * def argpartsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_25argpartsort_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_24argpartsort_2d_int64_axis0[] = "argpartsort_2d_int64_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_25argpartsort_2d_int64_axis0 = {"argpartsort_2d_int64_axis0", (PyCFunction)__pyx_pw_11argpartsort_25argpartsort_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_24argpartsort_2d_int64_axis0}; -static PyObject *__pyx_pw_11argpartsort_25argpartsort_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_25argpartsort_3d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_24argpartsort_3d_float_axis1[] = "argpartsort_3d_float_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_25argpartsort_3d_float_axis1 = {"argpartsort_3d_float_axis1", (PyCFunction)__pyx_pw_11argpartsort_25argpartsort_3d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_24argpartsort_3d_float_axis1}; +static PyObject *__pyx_pw_11argpartsort_25argpartsort_3d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -9155,7 +9244,7 @@ static PyObject *__pyx_pw_11argpartsort_25argpartsort_2d_int64_axis0(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -9176,11 +9265,11 @@ static PyObject *__pyx_pw_11argpartsort_25argpartsort_2d_int64_axis0(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9189,18 +9278,18 @@ static PyObject *__pyx_pw_11argpartsort_25argpartsort_2d_int64_axis0(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_24argpartsort_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_24argpartsort_3d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -9211,21 +9300,23 @@ static PyObject *__pyx_pw_11argpartsort_25argpartsort_2d_int64_axis0(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_24argpartsort_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_24argpartsort_3d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -9238,7 +9329,7 @@ static PyObject *__pyx_pf_11argpartsort_24argpartsort_2d_int64_axis0(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[2]; + npy_intp __pyx_t_3[3]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; @@ -9246,35 +9337,49 @@ static PyObject *__pyx_pf_11argpartsort_24argpartsort_2d_int64_axis0(CYTHON_UNUS Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - int __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - npy_intp __pyx_t_16; - npy_intp __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + int __pyx_t_14; + int __pyx_t_15; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; Py_ssize_t __pyx_t_23; npy_intp __pyx_t_24; Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_26; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; Py_ssize_t __pyx_t_29; npy_intp __pyx_t_30; Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; - Py_ssize_t __pyx_t_33; - npy_intp __pyx_t_34; + Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_34; Py_ssize_t __pyx_t_35; + npy_intp __pyx_t_36; + Py_ssize_t __pyx_t_37; + Py_ssize_t __pyx_t_38; + npy_intp __pyx_t_39; + Py_ssize_t __pyx_t_40; + Py_ssize_t __pyx_t_41; + npy_intp __pyx_t_42; + Py_ssize_t __pyx_t_43; + Py_ssize_t __pyx_t_44; + npy_intp __pyx_t_45; + Py_ssize_t __pyx_t_46; + Py_ssize_t __pyx_t_47; + npy_intp __pyx_t_48; + Py_ssize_t __pyx_t_49; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_int64_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -9289,45 +9394,45 @@ static PyObject *__pyx_pf_11argpartsort_24argpartsort_2d_int64_axis0(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":683 - * def argpartsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int64 along axis=0." + /* "argpartsort.pyx":688 + * def argpartsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":685 + /* "argpartsort.pyx":690 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":688 - * cdef Py_ssize_t i0, i1 + /* "argpartsort.pyx":693 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -9335,109 +9440,132 @@ static PyObject *__pyx_pf_11argpartsort_24argpartsort_2d_int64_axis0(CYTHON_UNUS */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":689 + /* "argpartsort.pyx":694 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":690 + /* "argpartsort.pyx":695 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":691 + /* "argpartsort.pyx":696 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + */ + __pyx_v_n2 = (__pyx_v_dim[2]); + + /* "argpartsort.pyx":697 + * cdef Py_ssize_t n1 = dim[1] + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; __pyx_t_3[1] = __pyx_v_n1; + __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":692 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":698 + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":694 - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + /* "argpartsort.pyx":700 + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i0 + * for i2 in range(n2): */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":695 + /* "argpartsort.pyx":701 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i0 - * if n0 == 0: + * for i2 in range(n2): + * y[i0, i1, i2] = i1 */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":696 + /* "argpartsort.pyx":702 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i0 # <<<<<<<<<<<<<< - * if n0 == 0: + * for i2 in range(n2): # <<<<<<<<<<<<<< + * y[i0, i1, i2] = i1 + * if n1 == 0: + */ + __pyx_t_9 = __pyx_v_n2; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i2 = __pyx_t_10; + + /* "argpartsort.pyx":703 + * for i1 in range(n1): + * for i2 in range(n2): + * y[i0, i1, i2] = i1 # <<<<<<<<<<<<<< + * if n1 == 0: * return y */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_t_13 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i1; + } } } - /* "argpartsort.pyx":697 - * for i1 in range(n1): - * y[i0, i1] = i0 - * if n0 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":704 + * for i2 in range(n2): + * y[i0, i1, i2] = i1 + * if n1 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_11) { + __pyx_t_14 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":698 - * y[i0, i1] = i0 - * if n0 == 0: + /* "argpartsort.pyx":705 + * y[i0, i1, i2] = i1 + * if n1 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -9445,320 +9573,343 @@ static PyObject *__pyx_pf_11argpartsort_24argpartsort_2d_int64_axis0(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":699 - * if n0 == 0: + /* "argpartsort.pyx":706 + * if n1 == 0: * return y - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ - __pyx_t_12 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_12) { - goto __pyx_L10_next_or; + __pyx_t_15 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_15) { + goto __pyx_L12_next_or; } else { - __pyx_t_11 = __pyx_t_12; - goto __pyx_L9_bool_binop_done; + __pyx_t_14 = __pyx_t_15; + goto __pyx_L11_bool_binop_done; } - __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); - __pyx_t_11 = __pyx_t_12; - __pyx_L9_bool_binop_done:; - if (__pyx_t_11) { + __pyx_L12_next_or:; + __pyx_t_15 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_14 = __pyx_t_15; + __pyx_L11_bool_binop_done:; + if (__pyx_t_14) { - /* "argpartsort.pyx":700 + /* "argpartsort.pyx":707 * return y - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * l = 0 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); - __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); + __Pyx_GIVEREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_16 = 0; + __pyx_t_17 = 0; + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_Raise(__pyx_t_14, 0, 0, 0); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_17 = 0; + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_Raise(__pyx_t_17, 0, 0, 0); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":701 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + /* "argpartsort.pyx":708 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i2 in range(n2): + * l = 0 */ - __pyx_t_5 = __pyx_v_n1; + __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":702 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * while l < r: + /* "argpartsort.pyx":709 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): + * for i2 in range(n2): # <<<<<<<<<<<<<< + * l = 0 + * r = n1 - 1 */ - __pyx_v_l = 0; + __pyx_t_7 = __pyx_v_n2; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i2 = __pyx_t_8; - /* "argpartsort.pyx":703 - * for i1 in range(n1): - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[k, i1] + /* "argpartsort.pyx":710 + * for i0 in range(n0): + * for i2 in range(n2): + * l = 0 # <<<<<<<<<<<<<< + * r = n1 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "argpartsort.pyx":704 - * l = 0 - * r = n0 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] - * i = l + /* "argpartsort.pyx":711 + * for i2 in range(n2): + * l = 0 + * r = n1 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[i0, k, i2] */ - while (1) { - __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_11) break; + __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":705 - * r = n0 - 1 - * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":712 + * l = 0 + * r = n1 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[i0, k, i2] + * i = l */ - __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_14) break; - /* "argpartsort.pyx":706 - * while l < r: - * x = b[k, i1] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":713 + * r = n1 - 1 + * while l < r: + * x = b[i0, k, i2] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_k; + __pyx_t_10 = __pyx_v_i2; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":707 - * x = b[k, i1] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i, i1] < x: i += 1 + /* "argpartsort.pyx":714 + * while l < r: + * x = b[i0, k, i2] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":708 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":715 + * x = b[i0, k, i2] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i0, i, i2] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":709 - * j = r - * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 - * if i <= j: + /* "argpartsort.pyx":716 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 */ while (1) { - __pyx_t_17 = __pyx_v_i; - __pyx_t_8 = __pyx_v_i1; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_11) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "argpartsort.pyx":710 - * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i, i1] + /* "argpartsort.pyx":717 + * j = r + * while 1: + * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_11) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + __pyx_t_22 = __pyx_v_i2; + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_14) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":711 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + /* "argpartsort.pyx":718 + * while 1: + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i0, i, i2] */ - __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_11) { + while (1) { + __pyx_t_23 = __pyx_v_i0; + __pyx_t_24 = __pyx_v_j; + __pyx_t_25 = __pyx_v_i2; + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_14) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":712 - * while x < b[j, i1]: j -= 1 - * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "argpartsort.pyx":719 + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] */ - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":713 - * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp - * itmp = y[i, i1] + /* "argpartsort.pyx":720 + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: + * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_i; + __pyx_t_28 = __pyx_v_i2; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":714 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] + /* "argpartsort.pyx":721 + * if i <= j: + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< + * b[i0, j, i2] = tmp + * itmp = y[i0, i, i2] */ - __pyx_t_26 = __pyx_v_j; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_29 = __pyx_v_i0; + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i2; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i; + __pyx_t_34 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":715 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp - * itmp = y[i, i1] # <<<<<<<<<<<<<< - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":722 + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i, i2] + * y[i0, i, i2] = y[i0, j, i2] */ - __pyx_t_28 = __pyx_v_i; - __pyx_t_29 = __pyx_v_i1; - __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_35 = __pyx_v_i0; + __pyx_t_36 = __pyx_v_j; + __pyx_t_37 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":716 - * b[j, i1] = tmp - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< - * y[j, i1] = itmp - * i += 1 + /* "argpartsort.pyx":723 + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp + * itmp = y[i0, i, i2] # <<<<<<<<<<<<<< + * y[i0, i, i2] = y[i0, j, i2] + * y[i0, j, i2] = itmp */ - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_i; - __pyx_t_33 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_38 = __pyx_v_i0; + __pyx_t_39 = __pyx_v_i; + __pyx_t_40 = __pyx_v_i2; + __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); + + /* "argpartsort.pyx":724 + * b[i0, j, i2] = tmp + * itmp = y[i0, i, i2] + * y[i0, i, i2] = y[i0, j, i2] # <<<<<<<<<<<<<< + * y[i0, j, i2] = itmp + * i += 1 + */ + __pyx_t_41 = __pyx_v_i0; + __pyx_t_42 = __pyx_v_j; + __pyx_t_43 = __pyx_v_i2; + __pyx_t_44 = __pyx_v_i0; + __pyx_t_45 = __pyx_v_i; + __pyx_t_46 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":717 - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":725 + * itmp = y[i0, i, i2] + * y[i0, i, i2] = y[i0, j, i2] + * y[i0, j, i2] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_34 = __pyx_v_j; - __pyx_t_35 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; + __pyx_t_47 = __pyx_v_i0; + __pyx_t_48 = __pyx_v_j; + __pyx_t_49 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":718 - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":726 + * y[i0, i, i2] = y[i0, j, i2] + * y[i0, j, i2] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":719 - * y[j, i1] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":727 + * y[i0, j, i2] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L21; - } - __pyx_L21:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L25; + } + __pyx_L25:; - /* "argpartsort.pyx":720 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":728 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_11) { - goto __pyx_L16_break; + __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_14) { + goto __pyx_L20_break; + } } - } - __pyx_L16_break:; + __pyx_L20_break:; - /* "argpartsort.pyx":721 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":729 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return y */ - __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_11) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L23; - } - __pyx_L23:; + __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_14) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L27; + } + __pyx_L27:; - /* "argpartsort.pyx":722 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "argpartsort.pyx":730 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_11) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L24; + __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_14) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L28; + } + __pyx_L28:; } - __pyx_L24:; } } - /* "argpartsort.pyx":723 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":731 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -9768,27 +9919,27 @@ static PyObject *__pyx_pf_11argpartsort_24argpartsort_2d_int64_axis0(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":681 + /* "argpartsort.pyx":686 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=0." + * def argpartsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); + __Pyx_XDECREF(__pyx_t_16); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_XDECREF(__pyx_t_18); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9803,19 +9954,19 @@ static PyObject *__pyx_pf_11argpartsort_24argpartsort_2d_int64_axis0(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":727 +/* "argpartsort.pyx":735 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=1." + * def argpartsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_27argpartsort_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_26argpartsort_2d_int64_axis1[] = "argpartsort_2d_int64_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int64 along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_27argpartsort_2d_int64_axis1 = {"argpartsort_2d_int64_axis1", (PyCFunction)__pyx_pw_11argpartsort_27argpartsort_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_26argpartsort_2d_int64_axis1}; -static PyObject *__pyx_pw_11argpartsort_27argpartsort_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_27argpartsort_3d_float_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_26argpartsort_3d_float_axis2[] = "argpartsort_3d_float_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=2."; +static PyMethodDef __pyx_mdef_11argpartsort_27argpartsort_3d_float_axis2 = {"argpartsort_3d_float_axis2", (PyCFunction)__pyx_pw_11argpartsort_27argpartsort_3d_float_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_26argpartsort_3d_float_axis2}; +static PyObject *__pyx_pw_11argpartsort_27argpartsort_3d_float_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -9823,7 +9974,7 @@ static PyObject *__pyx_pw_11argpartsort_27argpartsort_2d_int64_axis1(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_int64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -9844,11 +9995,11 @@ static PyObject *__pyx_pw_11argpartsort_27argpartsort_2d_int64_axis1(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9857,18 +10008,18 @@ static PyObject *__pyx_pw_11argpartsort_27argpartsort_2d_int64_axis1(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_26argpartsort_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_26argpartsort_3d_float_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -9879,21 +10030,23 @@ static PyObject *__pyx_pw_11argpartsort_27argpartsort_2d_int64_axis1(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_26argpartsort_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_26argpartsort_3d_float_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -9906,7 +10059,7 @@ static PyObject *__pyx_pf_11argpartsort_26argpartsort_2d_int64_axis1(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[2]; + npy_intp __pyx_t_3[3]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; @@ -9914,35 +10067,49 @@ static PyObject *__pyx_pf_11argpartsort_26argpartsort_2d_int64_axis1(CYTHON_UNUS Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - int __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - npy_intp __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + int __pyx_t_14; + int __pyx_t_15; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; npy_intp __pyx_t_19; Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; Py_ssize_t __pyx_t_24; npy_intp __pyx_t_25; Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; - Py_ssize_t __pyx_t_28; - npy_intp __pyx_t_29; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_29; Py_ssize_t __pyx_t_30; npy_intp __pyx_t_31; Py_ssize_t __pyx_t_32; - npy_intp __pyx_t_33; - Py_ssize_t __pyx_t_34; - npy_intp __pyx_t_35; + Py_ssize_t __pyx_t_33; + npy_intp __pyx_t_34; + Py_ssize_t __pyx_t_35; + Py_ssize_t __pyx_t_36; + npy_intp __pyx_t_37; + Py_ssize_t __pyx_t_38; + Py_ssize_t __pyx_t_39; + npy_intp __pyx_t_40; + Py_ssize_t __pyx_t_41; + Py_ssize_t __pyx_t_42; + npy_intp __pyx_t_43; + Py_ssize_t __pyx_t_44; + Py_ssize_t __pyx_t_45; + npy_intp __pyx_t_46; + Py_ssize_t __pyx_t_47; + Py_ssize_t __pyx_t_48; + npy_intp __pyx_t_49; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_int64_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -9957,45 +10124,45 @@ static PyObject *__pyx_pf_11argpartsort_26argpartsort_2d_int64_axis1(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":729 - * def argpartsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int64 along axis=1." + /* "argpartsort.pyx":737 + * def argpartsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":731 + /* "argpartsort.pyx":739 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":734 - * cdef Py_ssize_t i0, i1 + /* "argpartsort.pyx":742 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -10003,109 +10170,132 @@ static PyObject *__pyx_pf_11argpartsort_26argpartsort_2d_int64_axis1(CYTHON_UNUS */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":735 + /* "argpartsort.pyx":743 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":736 + /* "argpartsort.pyx":744 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":737 + /* "argpartsort.pyx":745 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + */ + __pyx_v_n2 = (__pyx_v_dim[2]); + + /* "argpartsort.pyx":746 + * cdef Py_ssize_t n1 = dim[1] + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; __pyx_t_3[1] = __pyx_v_n1; + __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":738 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":747 + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":740 - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + /* "argpartsort.pyx":749 + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i1 + * for i2 in range(n2): */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":741 + /* "argpartsort.pyx":750 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i1 - * if n1 == 0: + * for i2 in range(n2): + * y[i0, i1, i2] = i2 */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":742 + /* "argpartsort.pyx":751 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i1 # <<<<<<<<<<<<<< - * if n1 == 0: + * for i2 in range(n2): # <<<<<<<<<<<<<< + * y[i0, i1, i2] = i2 + * if n2 == 0: + */ + __pyx_t_9 = __pyx_v_n2; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i2 = __pyx_t_10; + + /* "argpartsort.pyx":752 + * for i1 in range(n1): + * for i2 in range(n2): + * y[i0, i1, i2] = i2 # <<<<<<<<<<<<<< + * if n2 == 0: * return y */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_t_13 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i2; + } } } - /* "argpartsort.pyx":743 - * for i1 in range(n1): - * y[i0, i1] = i1 - * if n1 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":753 + * for i2 in range(n2): + * y[i0, i1, i2] = i2 + * if n2 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n2): */ - __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_11) { + __pyx_t_14 = ((__pyx_v_n2 == 0) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":744 - * y[i0, i1] = i1 - * if n1 == 0: + /* "argpartsort.pyx":754 + * y[i0, i1, i2] = i2 + * if n2 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -10113,320 +10303,343 @@ static PyObject *__pyx_pf_11argpartsort_26argpartsort_2d_int64_axis1(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":745 - * if n1 == 0: + /* "argpartsort.pyx":755 + * if n2 == 0: * return y - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): */ - __pyx_t_12 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_12) { - goto __pyx_L10_next_or; + __pyx_t_15 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_15) { + goto __pyx_L12_next_or; } else { - __pyx_t_11 = __pyx_t_12; - goto __pyx_L9_bool_binop_done; + __pyx_t_14 = __pyx_t_15; + goto __pyx_L11_bool_binop_done; } - __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); - __pyx_t_11 = __pyx_t_12; - __pyx_L9_bool_binop_done:; - if (__pyx_t_11) { + __pyx_L12_next_or:; + __pyx_t_15 = ((__pyx_v_n > __pyx_v_n2) != 0); + __pyx_t_14 = __pyx_t_15; + __pyx_L11_bool_binop_done:; + if (__pyx_t_14) { - /* "argpartsort.pyx":746 + /* "argpartsort.pyx":756 * return y - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< * for i0 in range(n0): - * l = 0 + * for i1 in range(n1): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); - __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); + __Pyx_GIVEREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_16 = 0; + __pyx_t_17 = 0; + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_Raise(__pyx_t_14, 0, 0, 0); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_17 = 0; + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_Raise(__pyx_t_17, 0, 0, 0); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":747 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + /* "argpartsort.pyx":757 + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + * for i1 in range(n1): + * l = 0 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":748 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + /* "argpartsort.pyx":758 + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n2 - 1 */ - __pyx_v_l = 0; + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":749 + /* "argpartsort.pyx":759 * for i0 in range(n0): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k] + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n2 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_l = 0; - /* "argpartsort.pyx":750 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] - * i = l + /* "argpartsort.pyx":760 + * for i1 in range(n1): + * l = 0 + * r = n2 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[i0, i1, k] */ - while (1) { - __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_11) break; + __pyx_v_r = (__pyx_v_n2 - 1); - /* "argpartsort.pyx":751 - * r = n1 - 1 - * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":761 + * l = 0 + * r = n2 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[i0, i1, k] + * i = l */ - __pyx_t_7 = __pyx_v_i0; - __pyx_t_16 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_14) break; - /* "argpartsort.pyx":752 - * while l < r: - * x = b[i0, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":762 + * r = n2 - 1 + * while l < r: + * x = b[i0, i1, k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_t_19 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":753 - * x = b[i0, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i] < x: i += 1 + /* "argpartsort.pyx":763 + * while l < r: + * x = b[i0, i1, k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":754 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "argpartsort.pyx":764 + * x = b[i0, i1, k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i0, i1, i] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":755 - * j = r - * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 - * if i <= j: + /* "argpartsort.pyx":765 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 */ while (1) { - __pyx_t_8 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_11) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "argpartsort.pyx":756 - * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i] + /* "argpartsort.pyx":766 + * j = r + * while 1: + * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: + */ + while (1) { + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i1; + __pyx_t_22 = __pyx_v_i; + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_14) break; + __pyx_v_i = (__pyx_v_i + 1); + } + + /* "argpartsort.pyx":767 + * while 1: + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i0, i1, i] */ - while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_11) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_23 = __pyx_v_i0; + __pyx_t_24 = __pyx_v_i1; + __pyx_t_25 = __pyx_v_j; + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_14) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":757 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + /* "argpartsort.pyx":768 + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] */ - __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_11) { + __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":758 - * while x < b[i0, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "argpartsort.pyx":769 + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: + * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_i1; + __pyx_t_28 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":759 - * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * itmp = y[i0, i] + /* "argpartsort.pyx":770 + * if i <= j: + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< + * b[i0, i1, j] = tmp + * itmp = y[i0, i1, i] */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_29 = __pyx_v_i0; + __pyx_t_30 = __pyx_v_i1; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i1; + __pyx_t_34 = __pyx_v_i; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":760 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] + /* "argpartsort.pyx":771 + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i1, i] + * y[i0, i1, i] = y[i0, i1, j] */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_35 = __pyx_v_i0; + __pyx_t_36 = __pyx_v_i1; + __pyx_t_37 = __pyx_v_j; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":761 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * itmp = y[i0, i] # <<<<<<<<<<<<<< - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp + /* "argpartsort.pyx":772 + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp + * itmp = y[i0, i1, i] # <<<<<<<<<<<<<< + * y[i0, i1, i] = y[i0, i1, j] + * y[i0, i1, j] = itmp */ - __pyx_t_28 = __pyx_v_i0; - __pyx_t_29 = __pyx_v_i; - __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_38 = __pyx_v_i0; + __pyx_t_39 = __pyx_v_i1; + __pyx_t_40 = __pyx_v_i; + __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":762 - * b[i0, j] = tmp - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< - * y[i0, j] = itmp - * i += 1 + /* "argpartsort.pyx":773 + * b[i0, i1, j] = tmp + * itmp = y[i0, i1, i] + * y[i0, i1, i] = y[i0, i1, j] # <<<<<<<<<<<<<< + * y[i0, i1, j] = itmp + * i += 1 */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_41 = __pyx_v_i0; + __pyx_t_42 = __pyx_v_i1; + __pyx_t_43 = __pyx_v_j; + __pyx_t_44 = __pyx_v_i0; + __pyx_t_45 = __pyx_v_i1; + __pyx_t_46 = __pyx_v_i; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":763 - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":774 + * itmp = y[i0, i1, i] + * y[i0, i1, i] = y[i0, i1, j] + * y[i0, i1, j] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_34 = __pyx_v_i0; - __pyx_t_35 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; + __pyx_t_47 = __pyx_v_i0; + __pyx_t_48 = __pyx_v_i1; + __pyx_t_49 = __pyx_v_j; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":764 - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":775 + * y[i0, i1, i] = y[i0, i1, j] + * y[i0, i1, j] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":765 - * y[i0, j] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":776 + * y[i0, i1, j] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L21; - } - __pyx_L21:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L25; + } + __pyx_L25:; - /* "argpartsort.pyx":766 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":777 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_11) { - goto __pyx_L16_break; + __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_14) { + goto __pyx_L20_break; + } } - } - __pyx_L16_break:; + __pyx_L20_break:; - /* "argpartsort.pyx":767 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":778 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return y */ - __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_11) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L23; - } - __pyx_L23:; + __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_14) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L27; + } + __pyx_L27:; - /* "argpartsort.pyx":768 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "argpartsort.pyx":779 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_11) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L24; + __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_14) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L28; + } + __pyx_L28:; } - __pyx_L24:; } } - /* "argpartsort.pyx":769 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":780 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -10436,27 +10649,27 @@ static PyObject *__pyx_pf_11argpartsort_26argpartsort_2d_int64_axis1(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":727 + /* "argpartsort.pyx":735 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=1." + * def argpartsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); + __Pyx_XDECREF(__pyx_t_16); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_XDECREF(__pyx_t_18); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -10471,19 +10684,19 @@ static PyObject *__pyx_pf_11argpartsort_26argpartsort_2d_int64_axis1(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":773 +/* "argpartsort.pyx":784 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=0." + * def argpartsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_29argpartsort_3d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_28argpartsort_3d_int_axis0[] = "argpartsort_3d_int_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_29argpartsort_3d_int_axis0 = {"argpartsort_3d_int_axis0", (PyCFunction)__pyx_pw_11argpartsort_29argpartsort_3d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_28argpartsort_3d_int_axis0}; -static PyObject *__pyx_pw_11argpartsort_29argpartsort_3d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_29argpartsort_3d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_28argpartsort_3d_float32_axis0[] = "argpartsort_3d_float32_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_29argpartsort_3d_float32_axis0 = {"argpartsort_3d_float32_axis0", (PyCFunction)__pyx_pw_11argpartsort_29argpartsort_3d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_28argpartsort_3d_float32_axis0}; +static PyObject *__pyx_pw_11argpartsort_29argpartsort_3d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -10491,7 +10704,7 @@ static PyObject *__pyx_pw_11argpartsort_29argpartsort_3d_int_axis0(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -10512,11 +10725,11 @@ static PyObject *__pyx_pw_11argpartsort_29argpartsort_3d_int_axis0(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -10525,18 +10738,18 @@ static PyObject *__pyx_pw_11argpartsort_29argpartsort_3d_int_axis0(PyObject *__p values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_28argpartsort_3d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -10547,15 +10760,15 @@ static PyObject *__pyx_pw_11argpartsort_29argpartsort_3d_int_axis0(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -10626,7 +10839,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -10641,36 +10854,36 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":775 - * def argpartsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int along axis=0." + /* "argpartsort.pyx":786 + * def argpartsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":777 + /* "argpartsort.pyx":788 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -10678,7 +10891,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":780 + /* "argpartsort.pyx":791 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10687,7 +10900,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":781 + /* "argpartsort.pyx":792 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -10696,7 +10909,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":782 + /* "argpartsort.pyx":793 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -10705,7 +10918,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":783 + /* "argpartsort.pyx":794 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -10714,7 +10927,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "argpartsort.pyx":784 + /* "argpartsort.pyx":795 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< @@ -10726,22 +10939,22 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":785 + /* "argpartsort.pyx":796 * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } @@ -10749,7 +10962,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":787 + /* "argpartsort.pyx":798 * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -10760,7 +10973,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":788 + /* "argpartsort.pyx":799 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -10771,7 +10984,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":789 + /* "argpartsort.pyx":800 * for i0 in range(n0): * for i1 in range(n1): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -10782,7 +10995,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { __pyx_v_i2 = __pyx_t_10; - /* "argpartsort.pyx":790 + /* "argpartsort.pyx":801 * for i1 in range(n1): * for i2 in range(n2): * y[i0, i1, i2] = i0 # <<<<<<<<<<<<<< @@ -10797,7 +11010,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED } } - /* "argpartsort.pyx":791 + /* "argpartsort.pyx":802 * for i2 in range(n2): * y[i0, i1, i2] = i0 * if n0 == 0: # <<<<<<<<<<<<<< @@ -10807,7 +11020,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_14 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":792 + /* "argpartsort.pyx":803 * y[i0, i1, i2] = i0 * if n0 == 0: * return y # <<<<<<<<<<<<<< @@ -10820,7 +11033,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED goto __pyx_L0; } - /* "argpartsort.pyx":793 + /* "argpartsort.pyx":804 * if n0 == 0: * return y * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< @@ -10840,20 +11053,20 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_L11_bool_binop_done:; if (__pyx_t_14) { - /* "argpartsort.pyx":794 + /* "argpartsort.pyx":805 * return y * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< * for i1 in range(n1): * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_16); @@ -10861,24 +11074,24 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __Pyx_GIVEREF(__pyx_t_17); __pyx_t_16 = 0; __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":795 + /* "argpartsort.pyx":806 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -10889,7 +11102,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":796 + /* "argpartsort.pyx":807 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) * for i1 in range(n1): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -10900,7 +11113,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i2 = __pyx_t_8; - /* "argpartsort.pyx":797 + /* "argpartsort.pyx":808 * for i1 in range(n1): * for i2 in range(n2): * l = 0 # <<<<<<<<<<<<<< @@ -10909,7 +11122,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED */ __pyx_v_l = 0; - /* "argpartsort.pyx":798 + /* "argpartsort.pyx":809 * for i2 in range(n2): * l = 0 * r = n0 - 1 # <<<<<<<<<<<<<< @@ -10918,7 +11131,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED */ __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":799 + /* "argpartsort.pyx":810 * l = 0 * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -10929,7 +11142,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_14) break; - /* "argpartsort.pyx":800 + /* "argpartsort.pyx":811 * r = n0 - 1 * while l < r: * x = b[k, i1, i2] # <<<<<<<<<<<<<< @@ -10939,9 +11152,9 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_19 = __pyx_v_k; __pyx_t_9 = __pyx_v_i1; __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":801 + /* "argpartsort.pyx":812 * while l < r: * x = b[k, i1, i2] * i = l # <<<<<<<<<<<<<< @@ -10950,7 +11163,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":802 + /* "argpartsort.pyx":813 * x = b[k, i1, i2] * i = l * j = r # <<<<<<<<<<<<<< @@ -10959,7 +11172,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":803 + /* "argpartsort.pyx":814 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -10968,7 +11181,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED */ while (1) { - /* "argpartsort.pyx":804 + /* "argpartsort.pyx":815 * j = r * while 1: * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< @@ -10979,12 +11192,12 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_20 = __pyx_v_i; __pyx_t_21 = __pyx_v_i1; __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":805 + /* "argpartsort.pyx":816 * while 1: * while b[i, i1, i2] < x: i += 1 * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< @@ -10995,12 +11208,12 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_23 = __pyx_v_j; __pyx_t_24 = __pyx_v_i1; __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":806 + /* "argpartsort.pyx":817 * while b[i, i1, i2] < x: i += 1 * while x < b[j, i1, i2]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -11010,7 +11223,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":807 + /* "argpartsort.pyx":818 * while x < b[j, i1, i2]: j -= 1 * if i <= j: * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< @@ -11020,9 +11233,9 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_26 = __pyx_v_i; __pyx_t_27 = __pyx_v_i1; __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":808 + /* "argpartsort.pyx":819 * if i <= j: * tmp = b[i, i1, i2] * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< @@ -11035,9 +11248,9 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_32 = __pyx_v_i; __pyx_t_33 = __pyx_v_i1; __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":809 + /* "argpartsort.pyx":820 * tmp = b[i, i1, i2] * b[i, i1, i2] = b[j, i1, i2] * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< @@ -11047,9 +11260,9 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_35 = __pyx_v_j; __pyx_t_36 = __pyx_v_i1; __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":810 + /* "argpartsort.pyx":821 * b[i, i1, i2] = b[j, i1, i2] * b[j, i1, i2] = tmp * itmp = y[i, i1, i2] # <<<<<<<<<<<<<< @@ -11061,7 +11274,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_40 = __pyx_v_i2; __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":811 + /* "argpartsort.pyx":822 * b[j, i1, i2] = tmp * itmp = y[i, i1, i2] * y[i, i1, i2] = y[j, i1, i2] # <<<<<<<<<<<<<< @@ -11076,7 +11289,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_46 = __pyx_v_i2; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":812 + /* "argpartsort.pyx":823 * itmp = y[i, i1, i2] * y[i, i1, i2] = y[j, i1, i2] * y[j, i1, i2] = itmp # <<<<<<<<<<<<<< @@ -11088,7 +11301,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_49 = __pyx_v_i2; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":813 + /* "argpartsort.pyx":824 * y[i, i1, i2] = y[j, i1, i2] * y[j, i1, i2] = itmp * i += 1 # <<<<<<<<<<<<<< @@ -11097,7 +11310,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":814 + /* "argpartsort.pyx":825 * y[j, i1, i2] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -11109,7 +11322,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED } __pyx_L25:; - /* "argpartsort.pyx":815 + /* "argpartsort.pyx":826 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -11123,7 +11336,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED } __pyx_L20_break:; - /* "argpartsort.pyx":816 + /* "argpartsort.pyx":827 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -11137,7 +11350,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED } __pyx_L27:; - /* "argpartsort.pyx":817 + /* "argpartsort.pyx":828 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -11154,7 +11367,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED } } - /* "argpartsort.pyx":818 + /* "argpartsort.pyx":829 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -11166,11 +11379,11 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":773 + /* "argpartsort.pyx":784 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=0." + * def argpartsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -11186,7 +11399,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -11201,19 +11414,19 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED return __pyx_r; } -/* "argpartsort.pyx":822 +/* "argpartsort.pyx":833 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=1." + * def argpartsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_31argpartsort_3d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_30argpartsort_3d_int_axis1[] = "argpartsort_3d_int_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_31argpartsort_3d_int_axis1 = {"argpartsort_3d_int_axis1", (PyCFunction)__pyx_pw_11argpartsort_31argpartsort_3d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_30argpartsort_3d_int_axis1}; -static PyObject *__pyx_pw_11argpartsort_31argpartsort_3d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_31argpartsort_3d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_30argpartsort_3d_float32_axis1[] = "argpartsort_3d_float32_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_31argpartsort_3d_float32_axis1 = {"argpartsort_3d_float32_axis1", (PyCFunction)__pyx_pw_11argpartsort_31argpartsort_3d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_30argpartsort_3d_float32_axis1}; +static PyObject *__pyx_pw_11argpartsort_31argpartsort_3d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -11221,7 +11434,7 @@ static PyObject *__pyx_pw_11argpartsort_31argpartsort_3d_int_axis1(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -11242,11 +11455,11 @@ static PyObject *__pyx_pw_11argpartsort_31argpartsort_3d_int_axis1(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -11255,18 +11468,18 @@ static PyObject *__pyx_pw_11argpartsort_31argpartsort_3d_int_axis1(PyObject *__p values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_30argpartsort_3d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -11277,15 +11490,15 @@ static PyObject *__pyx_pw_11argpartsort_31argpartsort_3d_int_axis1(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -11356,7 +11569,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -11371,36 +11584,36 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":824 - * def argpartsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int along axis=1." + /* "argpartsort.pyx":835 + * def argpartsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":826 + /* "argpartsort.pyx":837 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -11408,7 +11621,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":829 + /* "argpartsort.pyx":840 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -11417,7 +11630,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":830 + /* "argpartsort.pyx":841 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -11426,7 +11639,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":831 + /* "argpartsort.pyx":842 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -11435,7 +11648,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":832 + /* "argpartsort.pyx":843 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -11444,7 +11657,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "argpartsort.pyx":833 + /* "argpartsort.pyx":844 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< @@ -11456,22 +11669,22 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":834 + /* "argpartsort.pyx":845 * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } @@ -11479,7 +11692,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":836 + /* "argpartsort.pyx":847 * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -11490,7 +11703,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":837 + /* "argpartsort.pyx":848 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -11501,7 +11714,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":838 + /* "argpartsort.pyx":849 * for i0 in range(n0): * for i1 in range(n1): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -11512,7 +11725,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { __pyx_v_i2 = __pyx_t_10; - /* "argpartsort.pyx":839 + /* "argpartsort.pyx":850 * for i1 in range(n1): * for i2 in range(n2): * y[i0, i1, i2] = i1 # <<<<<<<<<<<<<< @@ -11527,7 +11740,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED } } - /* "argpartsort.pyx":840 + /* "argpartsort.pyx":851 * for i2 in range(n2): * y[i0, i1, i2] = i1 * if n1 == 0: # <<<<<<<<<<<<<< @@ -11537,7 +11750,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_14 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":841 + /* "argpartsort.pyx":852 * y[i0, i1, i2] = i1 * if n1 == 0: * return y # <<<<<<<<<<<<<< @@ -11550,7 +11763,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED goto __pyx_L0; } - /* "argpartsort.pyx":842 + /* "argpartsort.pyx":853 * if n1 == 0: * return y * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< @@ -11570,20 +11783,20 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_L11_bool_binop_done:; if (__pyx_t_14) { - /* "argpartsort.pyx":843 + /* "argpartsort.pyx":854 * return y * if (n < 1) or (n > n1): * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< * for i0 in range(n0): * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_16); @@ -11591,24 +11804,24 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __Pyx_GIVEREF(__pyx_t_17); __pyx_t_16 = 0; __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":844 + /* "argpartsort.pyx":855 * if (n < 1) or (n > n1): * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -11619,7 +11832,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":845 + /* "argpartsort.pyx":856 * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -11630,7 +11843,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i2 = __pyx_t_8; - /* "argpartsort.pyx":846 + /* "argpartsort.pyx":857 * for i0 in range(n0): * for i2 in range(n2): * l = 0 # <<<<<<<<<<<<<< @@ -11639,7 +11852,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED */ __pyx_v_l = 0; - /* "argpartsort.pyx":847 + /* "argpartsort.pyx":858 * for i2 in range(n2): * l = 0 * r = n1 - 1 # <<<<<<<<<<<<<< @@ -11648,7 +11861,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED */ __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":848 + /* "argpartsort.pyx":859 * l = 0 * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -11659,7 +11872,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_14) break; - /* "argpartsort.pyx":849 + /* "argpartsort.pyx":860 * r = n1 - 1 * while l < r: * x = b[i0, k, i2] # <<<<<<<<<<<<<< @@ -11669,9 +11882,9 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_9 = __pyx_v_i0; __pyx_t_19 = __pyx_v_k; __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":850 + /* "argpartsort.pyx":861 * while l < r: * x = b[i0, k, i2] * i = l # <<<<<<<<<<<<<< @@ -11680,7 +11893,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":851 + /* "argpartsort.pyx":862 * x = b[i0, k, i2] * i = l * j = r # <<<<<<<<<<<<<< @@ -11689,7 +11902,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":852 + /* "argpartsort.pyx":863 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -11698,7 +11911,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED */ while (1) { - /* "argpartsort.pyx":853 + /* "argpartsort.pyx":864 * j = r * while 1: * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< @@ -11709,12 +11922,12 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_i; __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":854 + /* "argpartsort.pyx":865 * while 1: * while b[i0, i, i2] < x: i += 1 * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< @@ -11725,12 +11938,12 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_23 = __pyx_v_i0; __pyx_t_24 = __pyx_v_j; __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":855 + /* "argpartsort.pyx":866 * while b[i0, i, i2] < x: i += 1 * while x < b[i0, j, i2]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -11740,7 +11953,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":856 + /* "argpartsort.pyx":867 * while x < b[i0, j, i2]: j -= 1 * if i <= j: * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< @@ -11750,9 +11963,9 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_26 = __pyx_v_i0; __pyx_t_27 = __pyx_v_i; __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":857 + /* "argpartsort.pyx":868 * if i <= j: * tmp = b[i0, i, i2] * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< @@ -11765,9 +11978,9 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_32 = __pyx_v_i0; __pyx_t_33 = __pyx_v_i; __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":858 + /* "argpartsort.pyx":869 * tmp = b[i0, i, i2] * b[i0, i, i2] = b[i0, j, i2] * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< @@ -11777,9 +11990,9 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_35 = __pyx_v_i0; __pyx_t_36 = __pyx_v_j; __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":859 + /* "argpartsort.pyx":870 * b[i0, i, i2] = b[i0, j, i2] * b[i0, j, i2] = tmp * itmp = y[i0, i, i2] # <<<<<<<<<<<<<< @@ -11791,7 +12004,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_40 = __pyx_v_i2; __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":860 + /* "argpartsort.pyx":871 * b[i0, j, i2] = tmp * itmp = y[i0, i, i2] * y[i0, i, i2] = y[i0, j, i2] # <<<<<<<<<<<<<< @@ -11806,7 +12019,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_46 = __pyx_v_i2; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":861 + /* "argpartsort.pyx":872 * itmp = y[i0, i, i2] * y[i0, i, i2] = y[i0, j, i2] * y[i0, j, i2] = itmp # <<<<<<<<<<<<<< @@ -11818,7 +12031,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_49 = __pyx_v_i2; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":862 + /* "argpartsort.pyx":873 * y[i0, i, i2] = y[i0, j, i2] * y[i0, j, i2] = itmp * i += 1 # <<<<<<<<<<<<<< @@ -11827,7 +12040,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":863 + /* "argpartsort.pyx":874 * y[i0, j, i2] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -11839,7 +12052,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED } __pyx_L25:; - /* "argpartsort.pyx":864 + /* "argpartsort.pyx":875 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -11853,7 +12066,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED } __pyx_L20_break:; - /* "argpartsort.pyx":865 + /* "argpartsort.pyx":876 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -11867,7 +12080,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED } __pyx_L27:; - /* "argpartsort.pyx":866 + /* "argpartsort.pyx":877 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -11884,7 +12097,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED } } - /* "argpartsort.pyx":867 + /* "argpartsort.pyx":878 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -11896,11 +12109,11 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":822 + /* "argpartsort.pyx":833 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=1." + * def argpartsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -11916,7 +12129,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -11931,19 +12144,19 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED return __pyx_r; } -/* "argpartsort.pyx":871 +/* "argpartsort.pyx":882 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=2." + * def argpartsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_33argpartsort_3d_int_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_32argpartsort_3d_int_axis2[] = "argpartsort_3d_int_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=2."; -static PyMethodDef __pyx_mdef_11argpartsort_33argpartsort_3d_int_axis2 = {"argpartsort_3d_int_axis2", (PyCFunction)__pyx_pw_11argpartsort_33argpartsort_3d_int_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_32argpartsort_3d_int_axis2}; -static PyObject *__pyx_pw_11argpartsort_33argpartsort_3d_int_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_33argpartsort_3d_float32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_32argpartsort_3d_float32_axis2[] = "argpartsort_3d_float32_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=2."; +static PyMethodDef __pyx_mdef_11argpartsort_33argpartsort_3d_float32_axis2 = {"argpartsort_3d_float32_axis2", (PyCFunction)__pyx_pw_11argpartsort_33argpartsort_3d_float32_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_32argpartsort_3d_float32_axis2}; +static PyObject *__pyx_pw_11argpartsort_33argpartsort_3d_float32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -11951,7 +12164,7 @@ static PyObject *__pyx_pw_11argpartsort_33argpartsort_3d_int_axis2(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -11972,11 +12185,11 @@ static PyObject *__pyx_pw_11argpartsort_33argpartsort_3d_int_axis2(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float32_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -11985,18 +12198,18 @@ static PyObject *__pyx_pw_11argpartsort_33argpartsort_3d_int_axis2(PyObject *__p values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_32argpartsort_3d_float32_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -12007,15 +12220,15 @@ static PyObject *__pyx_pw_11argpartsort_33argpartsort_3d_int_axis2(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_float32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -12086,7 +12299,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int_axis2", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -12101,36 +12314,36 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":873 - * def argpartsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int along axis=2." + /* "argpartsort.pyx":884 + * def argpartsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":875 + /* "argpartsort.pyx":886 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -12138,7 +12351,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":878 + /* "argpartsort.pyx":889 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -12147,7 +12360,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":879 + /* "argpartsort.pyx":890 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -12156,7 +12369,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":880 + /* "argpartsort.pyx":891 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -12165,7 +12378,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":881 + /* "argpartsort.pyx":892 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -12174,7 +12387,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "argpartsort.pyx":882 + /* "argpartsort.pyx":893 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< @@ -12186,22 +12399,22 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":883 + /* "argpartsort.pyx":894 * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } @@ -12209,7 +12422,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":885 + /* "argpartsort.pyx":896 * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -12220,7 +12433,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":886 + /* "argpartsort.pyx":897 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -12231,7 +12444,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":887 + /* "argpartsort.pyx":898 * for i0 in range(n0): * for i1 in range(n1): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -12242,7 +12455,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { __pyx_v_i2 = __pyx_t_10; - /* "argpartsort.pyx":888 + /* "argpartsort.pyx":899 * for i1 in range(n1): * for i2 in range(n2): * y[i0, i1, i2] = i2 # <<<<<<<<<<<<<< @@ -12257,7 +12470,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED } } - /* "argpartsort.pyx":889 + /* "argpartsort.pyx":900 * for i2 in range(n2): * y[i0, i1, i2] = i2 * if n2 == 0: # <<<<<<<<<<<<<< @@ -12267,7 +12480,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_14 = ((__pyx_v_n2 == 0) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":890 + /* "argpartsort.pyx":901 * y[i0, i1, i2] = i2 * if n2 == 0: * return y # <<<<<<<<<<<<<< @@ -12280,7 +12493,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED goto __pyx_L0; } - /* "argpartsort.pyx":891 + /* "argpartsort.pyx":902 * if n2 == 0: * return y * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< @@ -12300,20 +12513,20 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_L11_bool_binop_done:; if (__pyx_t_14) { - /* "argpartsort.pyx":892 + /* "argpartsort.pyx":903 * return y * if (n < 1) or (n > n2): * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< * for i0 in range(n0): * for i1 in range(n1): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_16); @@ -12321,24 +12534,24 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __Pyx_GIVEREF(__pyx_t_17); __pyx_t_16 = 0; __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":893 + /* "argpartsort.pyx":904 * if (n < 1) or (n > n2): * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -12349,7 +12562,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":894 + /* "argpartsort.pyx":905 * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -12360,7 +12573,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":895 + /* "argpartsort.pyx":906 * for i0 in range(n0): * for i1 in range(n1): * l = 0 # <<<<<<<<<<<<<< @@ -12369,7 +12582,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED */ __pyx_v_l = 0; - /* "argpartsort.pyx":896 + /* "argpartsort.pyx":907 * for i1 in range(n1): * l = 0 * r = n2 - 1 # <<<<<<<<<<<<<< @@ -12378,7 +12591,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED */ __pyx_v_r = (__pyx_v_n2 - 1); - /* "argpartsort.pyx":897 + /* "argpartsort.pyx":908 * l = 0 * r = n2 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -12389,7 +12602,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_14) break; - /* "argpartsort.pyx":898 + /* "argpartsort.pyx":909 * r = n2 - 1 * while l < r: * x = b[i0, i1, k] # <<<<<<<<<<<<<< @@ -12399,9 +12612,9 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_19 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":899 + /* "argpartsort.pyx":910 * while l < r: * x = b[i0, i1, k] * i = l # <<<<<<<<<<<<<< @@ -12410,7 +12623,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":900 + /* "argpartsort.pyx":911 * x = b[i0, i1, k] * i = l * j = r # <<<<<<<<<<<<<< @@ -12419,7 +12632,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":901 + /* "argpartsort.pyx":912 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -12428,7 +12641,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED */ while (1) { - /* "argpartsort.pyx":902 + /* "argpartsort.pyx":913 * j = r * while 1: * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< @@ -12439,12 +12652,12 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_i1; __pyx_t_22 = __pyx_v_i; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":903 + /* "argpartsort.pyx":914 * while 1: * while b[i0, i1, i] < x: i += 1 * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< @@ -12455,12 +12668,12 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_23 = __pyx_v_i0; __pyx_t_24 = __pyx_v_i1; __pyx_t_25 = __pyx_v_j; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":904 + /* "argpartsort.pyx":915 * while b[i0, i1, i] < x: i += 1 * while x < b[i0, i1, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -12470,7 +12683,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":905 + /* "argpartsort.pyx":916 * while x < b[i0, i1, j]: j -= 1 * if i <= j: * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< @@ -12480,9 +12693,9 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_26 = __pyx_v_i0; __pyx_t_27 = __pyx_v_i1; __pyx_t_28 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":906 + /* "argpartsort.pyx":917 * if i <= j: * tmp = b[i0, i1, i] * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< @@ -12495,9 +12708,9 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_32 = __pyx_v_i0; __pyx_t_33 = __pyx_v_i1; __pyx_t_34 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":907 + /* "argpartsort.pyx":918 * tmp = b[i0, i1, i] * b[i0, i1, i] = b[i0, i1, j] * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< @@ -12507,9 +12720,9 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_35 = __pyx_v_i0; __pyx_t_36 = __pyx_v_i1; __pyx_t_37 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":908 + /* "argpartsort.pyx":919 * b[i0, i1, i] = b[i0, i1, j] * b[i0, i1, j] = tmp * itmp = y[i0, i1, i] # <<<<<<<<<<<<<< @@ -12521,7 +12734,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_40 = __pyx_v_i; __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":909 + /* "argpartsort.pyx":920 * b[i0, i1, j] = tmp * itmp = y[i0, i1, i] * y[i0, i1, i] = y[i0, i1, j] # <<<<<<<<<<<<<< @@ -12536,7 +12749,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_46 = __pyx_v_i; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":910 + /* "argpartsort.pyx":921 * itmp = y[i0, i1, i] * y[i0, i1, i] = y[i0, i1, j] * y[i0, i1, j] = itmp # <<<<<<<<<<<<<< @@ -12548,7 +12761,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_49 = __pyx_v_j; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":911 + /* "argpartsort.pyx":922 * y[i0, i1, i] = y[i0, i1, j] * y[i0, i1, j] = itmp * i += 1 # <<<<<<<<<<<<<< @@ -12557,7 +12770,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":912 + /* "argpartsort.pyx":923 * y[i0, i1, j] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -12569,7 +12782,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED } __pyx_L25:; - /* "argpartsort.pyx":913 + /* "argpartsort.pyx":924 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -12583,7 +12796,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED } __pyx_L20_break:; - /* "argpartsort.pyx":914 + /* "argpartsort.pyx":925 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -12597,7 +12810,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED } __pyx_L27:; - /* "argpartsort.pyx":915 + /* "argpartsort.pyx":926 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -12614,7 +12827,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED } } - /* "argpartsort.pyx":916 + /* "argpartsort.pyx":927 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -12626,11 +12839,11 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":871 + /* "argpartsort.pyx":882 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=2." + * def argpartsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -12646,7 +12859,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -12661,19 +12874,19 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED return __pyx_r; } -/* "argpartsort.pyx":920 +/* "argpartsort.pyx":931 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=0." + * def argpartsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_35argpartsort_3d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_34argpartsort_3d_int8_axis0[] = "argpartsort_3d_int8_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_35argpartsort_3d_int8_axis0 = {"argpartsort_3d_int8_axis0", (PyCFunction)__pyx_pw_11argpartsort_35argpartsort_3d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_34argpartsort_3d_int8_axis0}; -static PyObject *__pyx_pw_11argpartsort_35argpartsort_3d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_35argpartsort_3d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_34argpartsort_3d_float64_axis0[] = "argpartsort_3d_float64_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_35argpartsort_3d_float64_axis0 = {"argpartsort_3d_float64_axis0", (PyCFunction)__pyx_pw_11argpartsort_35argpartsort_3d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_34argpartsort_3d_float64_axis0}; +static PyObject *__pyx_pw_11argpartsort_35argpartsort_3d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -12681,7 +12894,7 @@ static PyObject *__pyx_pw_11argpartsort_35argpartsort_3d_int8_axis0(PyObject *__ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -12702,11 +12915,11 @@ static PyObject *__pyx_pw_11argpartsort_35argpartsort_3d_int8_axis0(PyObject *__ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -12715,18 +12928,18 @@ static PyObject *__pyx_pw_11argpartsort_35argpartsort_3d_int8_axis0(PyObject *__ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_34argpartsort_3d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -12737,15 +12950,15 @@ static PyObject *__pyx_pw_11argpartsort_35argpartsort_3d_int8_axis0(PyObject *__ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -12816,7 +13029,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -12831,36 +13044,36 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":922 - * def argpartsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int8 along axis=0." + /* "argpartsort.pyx":933 + * def argpartsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":924 + /* "argpartsort.pyx":935 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -12868,7 +13081,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":927 + /* "argpartsort.pyx":938 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -12877,7 +13090,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":928 + /* "argpartsort.pyx":939 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -12886,7 +13099,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":929 + /* "argpartsort.pyx":940 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -12895,7 +13108,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":930 + /* "argpartsort.pyx":941 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -12904,7 +13117,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "argpartsort.pyx":931 + /* "argpartsort.pyx":942 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< @@ -12916,22 +13129,22 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":932 + /* "argpartsort.pyx":943 * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } @@ -12939,7 +13152,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":934 + /* "argpartsort.pyx":945 * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -12950,7 +13163,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":935 + /* "argpartsort.pyx":946 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -12961,7 +13174,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":936 + /* "argpartsort.pyx":947 * for i0 in range(n0): * for i1 in range(n1): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -12972,7 +13185,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { __pyx_v_i2 = __pyx_t_10; - /* "argpartsort.pyx":937 + /* "argpartsort.pyx":948 * for i1 in range(n1): * for i2 in range(n2): * y[i0, i1, i2] = i0 # <<<<<<<<<<<<<< @@ -12987,7 +13200,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE } } - /* "argpartsort.pyx":938 + /* "argpartsort.pyx":949 * for i2 in range(n2): * y[i0, i1, i2] = i0 * if n0 == 0: # <<<<<<<<<<<<<< @@ -12997,7 +13210,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_14 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":939 + /* "argpartsort.pyx":950 * y[i0, i1, i2] = i0 * if n0 == 0: * return y # <<<<<<<<<<<<<< @@ -13010,7 +13223,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE goto __pyx_L0; } - /* "argpartsort.pyx":940 + /* "argpartsort.pyx":951 * if n0 == 0: * return y * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< @@ -13030,20 +13243,20 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_L11_bool_binop_done:; if (__pyx_t_14) { - /* "argpartsort.pyx":941 + /* "argpartsort.pyx":952 * return y * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< * for i1 in range(n1): * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_16); @@ -13051,24 +13264,24 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __Pyx_GIVEREF(__pyx_t_17); __pyx_t_16 = 0; __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":942 + /* "argpartsort.pyx":953 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -13079,7 +13292,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":943 + /* "argpartsort.pyx":954 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) * for i1 in range(n1): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -13090,7 +13303,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i2 = __pyx_t_8; - /* "argpartsort.pyx":944 + /* "argpartsort.pyx":955 * for i1 in range(n1): * for i2 in range(n2): * l = 0 # <<<<<<<<<<<<<< @@ -13099,7 +13312,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE */ __pyx_v_l = 0; - /* "argpartsort.pyx":945 + /* "argpartsort.pyx":956 * for i2 in range(n2): * l = 0 * r = n0 - 1 # <<<<<<<<<<<<<< @@ -13108,7 +13321,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE */ __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":946 + /* "argpartsort.pyx":957 * l = 0 * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -13119,7 +13332,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_14) break; - /* "argpartsort.pyx":947 + /* "argpartsort.pyx":958 * r = n0 - 1 * while l < r: * x = b[k, i1, i2] # <<<<<<<<<<<<<< @@ -13129,9 +13342,9 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_19 = __pyx_v_k; __pyx_t_9 = __pyx_v_i1; __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":948 + /* "argpartsort.pyx":959 * while l < r: * x = b[k, i1, i2] * i = l # <<<<<<<<<<<<<< @@ -13140,7 +13353,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":949 + /* "argpartsort.pyx":960 * x = b[k, i1, i2] * i = l * j = r # <<<<<<<<<<<<<< @@ -13149,7 +13362,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":950 + /* "argpartsort.pyx":961 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -13158,7 +13371,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE */ while (1) { - /* "argpartsort.pyx":951 + /* "argpartsort.pyx":962 * j = r * while 1: * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< @@ -13169,12 +13382,12 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_20 = __pyx_v_i; __pyx_t_21 = __pyx_v_i1; __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":952 + /* "argpartsort.pyx":963 * while 1: * while b[i, i1, i2] < x: i += 1 * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< @@ -13185,12 +13398,12 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_23 = __pyx_v_j; __pyx_t_24 = __pyx_v_i1; __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":953 + /* "argpartsort.pyx":964 * while b[i, i1, i2] < x: i += 1 * while x < b[j, i1, i2]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -13200,7 +13413,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":954 + /* "argpartsort.pyx":965 * while x < b[j, i1, i2]: j -= 1 * if i <= j: * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< @@ -13210,9 +13423,9 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_26 = __pyx_v_i; __pyx_t_27 = __pyx_v_i1; __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":955 + /* "argpartsort.pyx":966 * if i <= j: * tmp = b[i, i1, i2] * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< @@ -13225,9 +13438,9 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_32 = __pyx_v_i; __pyx_t_33 = __pyx_v_i1; __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":956 + /* "argpartsort.pyx":967 * tmp = b[i, i1, i2] * b[i, i1, i2] = b[j, i1, i2] * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< @@ -13237,9 +13450,9 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_35 = __pyx_v_j; __pyx_t_36 = __pyx_v_i1; __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":957 + /* "argpartsort.pyx":968 * b[i, i1, i2] = b[j, i1, i2] * b[j, i1, i2] = tmp * itmp = y[i, i1, i2] # <<<<<<<<<<<<<< @@ -13251,7 +13464,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_40 = __pyx_v_i2; __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":958 + /* "argpartsort.pyx":969 * b[j, i1, i2] = tmp * itmp = y[i, i1, i2] * y[i, i1, i2] = y[j, i1, i2] # <<<<<<<<<<<<<< @@ -13266,7 +13479,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_46 = __pyx_v_i2; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":959 + /* "argpartsort.pyx":970 * itmp = y[i, i1, i2] * y[i, i1, i2] = y[j, i1, i2] * y[j, i1, i2] = itmp # <<<<<<<<<<<<<< @@ -13278,7 +13491,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_49 = __pyx_v_i2; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":960 + /* "argpartsort.pyx":971 * y[i, i1, i2] = y[j, i1, i2] * y[j, i1, i2] = itmp * i += 1 # <<<<<<<<<<<<<< @@ -13287,7 +13500,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":961 + /* "argpartsort.pyx":972 * y[j, i1, i2] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -13299,7 +13512,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE } __pyx_L25:; - /* "argpartsort.pyx":962 + /* "argpartsort.pyx":973 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -13313,7 +13526,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE } __pyx_L20_break:; - /* "argpartsort.pyx":963 + /* "argpartsort.pyx":974 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -13327,7 +13540,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE } __pyx_L27:; - /* "argpartsort.pyx":964 + /* "argpartsort.pyx":975 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -13344,7 +13557,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE } } - /* "argpartsort.pyx":965 + /* "argpartsort.pyx":976 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -13356,11 +13569,11 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":920 + /* "argpartsort.pyx":931 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=0." + * def argpartsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -13376,7 +13589,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -13391,19 +13604,19 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE return __pyx_r; } -/* "argpartsort.pyx":969 +/* "argpartsort.pyx":980 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=1." + * def argpartsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_37argpartsort_3d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_36argpartsort_3d_int8_axis1[] = "argpartsort_3d_int8_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_37argpartsort_3d_int8_axis1 = {"argpartsort_3d_int8_axis1", (PyCFunction)__pyx_pw_11argpartsort_37argpartsort_3d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_36argpartsort_3d_int8_axis1}; -static PyObject *__pyx_pw_11argpartsort_37argpartsort_3d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_37argpartsort_3d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_36argpartsort_3d_float64_axis1[] = "argpartsort_3d_float64_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_37argpartsort_3d_float64_axis1 = {"argpartsort_3d_float64_axis1", (PyCFunction)__pyx_pw_11argpartsort_37argpartsort_3d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_36argpartsort_3d_float64_axis1}; +static PyObject *__pyx_pw_11argpartsort_37argpartsort_3d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -13411,7 +13624,7 @@ static PyObject *__pyx_pw_11argpartsort_37argpartsort_3d_int8_axis1(PyObject *__ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -13432,11 +13645,11 @@ static PyObject *__pyx_pw_11argpartsort_37argpartsort_3d_int8_axis1(PyObject *__ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -13445,18 +13658,18 @@ static PyObject *__pyx_pw_11argpartsort_37argpartsort_3d_int8_axis1(PyObject *__ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_36argpartsort_3d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -13467,15 +13680,15 @@ static PyObject *__pyx_pw_11argpartsort_37argpartsort_3d_int8_axis1(PyObject *__ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -13546,7 +13759,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -13561,36 +13774,36 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":971 - * def argpartsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int8 along axis=1." + /* "argpartsort.pyx":982 + * def argpartsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":973 + /* "argpartsort.pyx":984 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -13598,7 +13811,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":976 + /* "argpartsort.pyx":987 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -13607,7 +13820,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":977 + /* "argpartsort.pyx":988 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -13616,7 +13829,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":978 + /* "argpartsort.pyx":989 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -13625,7 +13838,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":979 + /* "argpartsort.pyx":990 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -13634,7 +13847,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "argpartsort.pyx":980 + /* "argpartsort.pyx":991 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< @@ -13646,22 +13859,22 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":981 + /* "argpartsort.pyx":992 * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } @@ -13669,7 +13882,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":983 + /* "argpartsort.pyx":994 * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -13680,7 +13893,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":984 + /* "argpartsort.pyx":995 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -13691,7 +13904,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":985 + /* "argpartsort.pyx":996 * for i0 in range(n0): * for i1 in range(n1): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -13702,7 +13915,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { __pyx_v_i2 = __pyx_t_10; - /* "argpartsort.pyx":986 + /* "argpartsort.pyx":997 * for i1 in range(n1): * for i2 in range(n2): * y[i0, i1, i2] = i1 # <<<<<<<<<<<<<< @@ -13717,7 +13930,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE } } - /* "argpartsort.pyx":987 + /* "argpartsort.pyx":998 * for i2 in range(n2): * y[i0, i1, i2] = i1 * if n1 == 0: # <<<<<<<<<<<<<< @@ -13727,7 +13940,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_14 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":988 + /* "argpartsort.pyx":999 * y[i0, i1, i2] = i1 * if n1 == 0: * return y # <<<<<<<<<<<<<< @@ -13740,7 +13953,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE goto __pyx_L0; } - /* "argpartsort.pyx":989 + /* "argpartsort.pyx":1000 * if n1 == 0: * return y * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< @@ -13760,20 +13973,20 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_L11_bool_binop_done:; if (__pyx_t_14) { - /* "argpartsort.pyx":990 + /* "argpartsort.pyx":1001 * return y * if (n < 1) or (n > n1): * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< * for i0 in range(n0): * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_16); @@ -13781,24 +13994,24 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __Pyx_GIVEREF(__pyx_t_17); __pyx_t_16 = 0; __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":991 + /* "argpartsort.pyx":1002 * if (n < 1) or (n > n1): * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -13809,7 +14022,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":992 + /* "argpartsort.pyx":1003 * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -13820,7 +14033,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i2 = __pyx_t_8; - /* "argpartsort.pyx":993 + /* "argpartsort.pyx":1004 * for i0 in range(n0): * for i2 in range(n2): * l = 0 # <<<<<<<<<<<<<< @@ -13829,7 +14042,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE */ __pyx_v_l = 0; - /* "argpartsort.pyx":994 + /* "argpartsort.pyx":1005 * for i2 in range(n2): * l = 0 * r = n1 - 1 # <<<<<<<<<<<<<< @@ -13838,7 +14051,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE */ __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":995 + /* "argpartsort.pyx":1006 * l = 0 * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -13849,7 +14062,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_14) break; - /* "argpartsort.pyx":996 + /* "argpartsort.pyx":1007 * r = n1 - 1 * while l < r: * x = b[i0, k, i2] # <<<<<<<<<<<<<< @@ -13859,9 +14072,9 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_9 = __pyx_v_i0; __pyx_t_19 = __pyx_v_k; __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":997 + /* "argpartsort.pyx":1008 * while l < r: * x = b[i0, k, i2] * i = l # <<<<<<<<<<<<<< @@ -13870,7 +14083,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":998 + /* "argpartsort.pyx":1009 * x = b[i0, k, i2] * i = l * j = r # <<<<<<<<<<<<<< @@ -13879,7 +14092,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":999 + /* "argpartsort.pyx":1010 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -13888,7 +14101,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE */ while (1) { - /* "argpartsort.pyx":1000 + /* "argpartsort.pyx":1011 * j = r * while 1: * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< @@ -13899,12 +14112,12 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_i; __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":1001 + /* "argpartsort.pyx":1012 * while 1: * while b[i0, i, i2] < x: i += 1 * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< @@ -13915,12 +14128,12 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_23 = __pyx_v_i0; __pyx_t_24 = __pyx_v_j; __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":1002 + /* "argpartsort.pyx":1013 * while b[i0, i, i2] < x: i += 1 * while x < b[i0, j, i2]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -13930,7 +14143,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":1003 + /* "argpartsort.pyx":1014 * while x < b[i0, j, i2]: j -= 1 * if i <= j: * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< @@ -13940,9 +14153,9 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_26 = __pyx_v_i0; __pyx_t_27 = __pyx_v_i; __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1004 + /* "argpartsort.pyx":1015 * if i <= j: * tmp = b[i0, i, i2] * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< @@ -13955,9 +14168,9 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_32 = __pyx_v_i0; __pyx_t_33 = __pyx_v_i; __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1005 + /* "argpartsort.pyx":1016 * tmp = b[i0, i, i2] * b[i0, i, i2] = b[i0, j, i2] * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< @@ -13967,9 +14180,9 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_35 = __pyx_v_i0; __pyx_t_36 = __pyx_v_j; __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1006 + /* "argpartsort.pyx":1017 * b[i0, i, i2] = b[i0, j, i2] * b[i0, j, i2] = tmp * itmp = y[i0, i, i2] # <<<<<<<<<<<<<< @@ -13981,7 +14194,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_40 = __pyx_v_i2; __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":1007 + /* "argpartsort.pyx":1018 * b[i0, j, i2] = tmp * itmp = y[i0, i, i2] * y[i0, i, i2] = y[i0, j, i2] # <<<<<<<<<<<<<< @@ -13996,7 +14209,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_46 = __pyx_v_i2; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":1008 + /* "argpartsort.pyx":1019 * itmp = y[i0, i, i2] * y[i0, i, i2] = y[i0, j, i2] * y[i0, j, i2] = itmp # <<<<<<<<<<<<<< @@ -14008,7 +14221,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_49 = __pyx_v_i2; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1009 + /* "argpartsort.pyx":1020 * y[i0, i, i2] = y[i0, j, i2] * y[i0, j, i2] = itmp * i += 1 # <<<<<<<<<<<<<< @@ -14017,7 +14230,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1010 + /* "argpartsort.pyx":1021 * y[i0, j, i2] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -14029,7 +14242,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE } __pyx_L25:; - /* "argpartsort.pyx":1011 + /* "argpartsort.pyx":1022 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -14043,7 +14256,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE } __pyx_L20_break:; - /* "argpartsort.pyx":1012 + /* "argpartsort.pyx":1023 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -14057,7 +14270,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE } __pyx_L27:; - /* "argpartsort.pyx":1013 + /* "argpartsort.pyx":1024 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -14074,7 +14287,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE } } - /* "argpartsort.pyx":1014 + /* "argpartsort.pyx":1025 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -14086,11 +14299,11 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":969 + /* "argpartsort.pyx":980 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=1." + * def argpartsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -14106,7 +14319,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -14121,19 +14334,19 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE return __pyx_r; } -/* "argpartsort.pyx":1018 +/* "argpartsort.pyx":1029 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=2." + * def argpartsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_39argpartsort_3d_int8_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_38argpartsort_3d_int8_axis2[] = "argpartsort_3d_int8_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=2."; -static PyMethodDef __pyx_mdef_11argpartsort_39argpartsort_3d_int8_axis2 = {"argpartsort_3d_int8_axis2", (PyCFunction)__pyx_pw_11argpartsort_39argpartsort_3d_int8_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_38argpartsort_3d_int8_axis2}; -static PyObject *__pyx_pw_11argpartsort_39argpartsort_3d_int8_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_39argpartsort_3d_float64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_38argpartsort_3d_float64_axis2[] = "argpartsort_3d_float64_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=2."; +static PyMethodDef __pyx_mdef_11argpartsort_39argpartsort_3d_float64_axis2 = {"argpartsort_3d_float64_axis2", (PyCFunction)__pyx_pw_11argpartsort_39argpartsort_3d_float64_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_38argpartsort_3d_float64_axis2}; +static PyObject *__pyx_pw_11argpartsort_39argpartsort_3d_float64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -14141,7 +14354,7 @@ static PyObject *__pyx_pw_11argpartsort_39argpartsort_3d_int8_axis2(PyObject *__ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -14162,11 +14375,11 @@ static PyObject *__pyx_pw_11argpartsort_39argpartsort_3d_int8_axis2(PyObject *__ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int8_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float64_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -14175,18 +14388,18 @@ static PyObject *__pyx_pw_11argpartsort_39argpartsort_3d_int8_axis2(PyObject *__ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_38argpartsort_3d_float64_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -14197,15 +14410,15 @@ static PyObject *__pyx_pw_11argpartsort_39argpartsort_3d_int8_axis2(PyObject *__ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_float64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -14276,7 +14489,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis2", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -14291,36 +14504,36 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":1020 - * def argpartsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int8 along axis=2." + /* "argpartsort.pyx":1031 + * def argpartsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1022 + /* "argpartsort.pyx":1033 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1033; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1033; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1033; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -14328,7 +14541,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1025 + /* "argpartsort.pyx":1036 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -14337,7 +14550,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1026 + /* "argpartsort.pyx":1037 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -14346,7 +14559,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1027 + /* "argpartsort.pyx":1038 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -14355,7 +14568,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":1028 + /* "argpartsort.pyx":1039 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -14364,7 +14577,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "argpartsort.pyx":1029 + /* "argpartsort.pyx":1040 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< @@ -14376,22 +14589,22 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1030 + /* "argpartsort.pyx":1041 * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } @@ -14399,7 +14612,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1032 + /* "argpartsort.pyx":1043 * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -14410,7 +14623,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1033 + /* "argpartsort.pyx":1044 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -14421,7 +14634,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1034 + /* "argpartsort.pyx":1045 * for i0 in range(n0): * for i1 in range(n1): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -14432,7 +14645,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { __pyx_v_i2 = __pyx_t_10; - /* "argpartsort.pyx":1035 + /* "argpartsort.pyx":1046 * for i1 in range(n1): * for i2 in range(n2): * y[i0, i1, i2] = i2 # <<<<<<<<<<<<<< @@ -14447,7 +14660,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE } } - /* "argpartsort.pyx":1036 + /* "argpartsort.pyx":1047 * for i2 in range(n2): * y[i0, i1, i2] = i2 * if n2 == 0: # <<<<<<<<<<<<<< @@ -14457,7 +14670,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_14 = ((__pyx_v_n2 == 0) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":1037 + /* "argpartsort.pyx":1048 * y[i0, i1, i2] = i2 * if n2 == 0: * return y # <<<<<<<<<<<<<< @@ -14470,7 +14683,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE goto __pyx_L0; } - /* "argpartsort.pyx":1038 + /* "argpartsort.pyx":1049 * if n2 == 0: * return y * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< @@ -14490,20 +14703,20 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_L11_bool_binop_done:; if (__pyx_t_14) { - /* "argpartsort.pyx":1039 + /* "argpartsort.pyx":1050 * return y * if (n < 1) or (n > n2): * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< * for i0 in range(n0): * for i1 in range(n1): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_16); @@ -14511,24 +14724,24 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __Pyx_GIVEREF(__pyx_t_17); __pyx_t_16 = 0; __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1040 + /* "argpartsort.pyx":1051 * if (n < 1) or (n > n2): * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -14539,7 +14752,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1041 + /* "argpartsort.pyx":1052 * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -14550,7 +14763,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1042 + /* "argpartsort.pyx":1053 * for i0 in range(n0): * for i1 in range(n1): * l = 0 # <<<<<<<<<<<<<< @@ -14559,7 +14772,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE */ __pyx_v_l = 0; - /* "argpartsort.pyx":1043 + /* "argpartsort.pyx":1054 * for i1 in range(n1): * l = 0 * r = n2 - 1 # <<<<<<<<<<<<<< @@ -14568,7 +14781,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE */ __pyx_v_r = (__pyx_v_n2 - 1); - /* "argpartsort.pyx":1044 + /* "argpartsort.pyx":1055 * l = 0 * r = n2 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -14579,7 +14792,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_14) break; - /* "argpartsort.pyx":1045 + /* "argpartsort.pyx":1056 * r = n2 - 1 * while l < r: * x = b[i0, i1, k] # <<<<<<<<<<<<<< @@ -14589,9 +14802,9 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_19 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1046 + /* "argpartsort.pyx":1057 * while l < r: * x = b[i0, i1, k] * i = l # <<<<<<<<<<<<<< @@ -14600,7 +14813,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1047 + /* "argpartsort.pyx":1058 * x = b[i0, i1, k] * i = l * j = r # <<<<<<<<<<<<<< @@ -14609,7 +14822,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1048 + /* "argpartsort.pyx":1059 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -14618,7 +14831,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE */ while (1) { - /* "argpartsort.pyx":1049 + /* "argpartsort.pyx":1060 * j = r * while 1: * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< @@ -14629,12 +14842,12 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_i1; __pyx_t_22 = __pyx_v_i; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":1050 + /* "argpartsort.pyx":1061 * while 1: * while b[i0, i1, i] < x: i += 1 * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< @@ -14645,12 +14858,12 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_23 = __pyx_v_i0; __pyx_t_24 = __pyx_v_i1; __pyx_t_25 = __pyx_v_j; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":1051 + /* "argpartsort.pyx":1062 * while b[i0, i1, i] < x: i += 1 * while x < b[i0, i1, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -14660,7 +14873,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":1052 + /* "argpartsort.pyx":1063 * while x < b[i0, i1, j]: j -= 1 * if i <= j: * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< @@ -14670,9 +14883,9 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_26 = __pyx_v_i0; __pyx_t_27 = __pyx_v_i1; __pyx_t_28 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1053 + /* "argpartsort.pyx":1064 * if i <= j: * tmp = b[i0, i1, i] * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< @@ -14685,9 +14898,9 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_32 = __pyx_v_i0; __pyx_t_33 = __pyx_v_i1; __pyx_t_34 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1054 + /* "argpartsort.pyx":1065 * tmp = b[i0, i1, i] * b[i0, i1, i] = b[i0, i1, j] * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< @@ -14697,9 +14910,9 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_35 = __pyx_v_i0; __pyx_t_36 = __pyx_v_i1; __pyx_t_37 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1055 + /* "argpartsort.pyx":1066 * b[i0, i1, i] = b[i0, i1, j] * b[i0, i1, j] = tmp * itmp = y[i0, i1, i] # <<<<<<<<<<<<<< @@ -14711,7 +14924,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_40 = __pyx_v_i; __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":1056 + /* "argpartsort.pyx":1067 * b[i0, i1, j] = tmp * itmp = y[i0, i1, i] * y[i0, i1, i] = y[i0, i1, j] # <<<<<<<<<<<<<< @@ -14726,7 +14939,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_46 = __pyx_v_i; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":1057 + /* "argpartsort.pyx":1068 * itmp = y[i0, i1, i] * y[i0, i1, i] = y[i0, i1, j] * y[i0, i1, j] = itmp # <<<<<<<<<<<<<< @@ -14738,7 +14951,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_49 = __pyx_v_j; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1058 + /* "argpartsort.pyx":1069 * y[i0, i1, i] = y[i0, i1, j] * y[i0, i1, j] = itmp * i += 1 # <<<<<<<<<<<<<< @@ -14747,7 +14960,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1059 + /* "argpartsort.pyx":1070 * y[i0, i1, j] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -14759,7 +14972,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE } __pyx_L25:; - /* "argpartsort.pyx":1060 + /* "argpartsort.pyx":1071 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -14773,7 +14986,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE } __pyx_L20_break:; - /* "argpartsort.pyx":1061 + /* "argpartsort.pyx":1072 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -14787,7 +15000,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE } __pyx_L27:; - /* "argpartsort.pyx":1062 + /* "argpartsort.pyx":1073 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -14804,7 +15017,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE } } - /* "argpartsort.pyx":1063 + /* "argpartsort.pyx":1074 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -14816,11 +15029,11 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1018 + /* "argpartsort.pyx":1029 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=2." + * def argpartsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -14836,7 +15049,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -14851,19 +15064,19 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE return __pyx_r; } -/* "argpartsort.pyx":1067 +/* "argpartsort.pyx":1078 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=0." + * def argpartsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_41argpartsort_3d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_40argpartsort_3d_int32_axis0[] = "argpartsort_3d_int32_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_41argpartsort_3d_int32_axis0 = {"argpartsort_3d_int32_axis0", (PyCFunction)__pyx_pw_11argpartsort_41argpartsort_3d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_40argpartsort_3d_int32_axis0}; -static PyObject *__pyx_pw_11argpartsort_41argpartsort_3d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_41argpartsort_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_40argpartsort_1d_int_axis0[] = "argpartsort_1d_int_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_41argpartsort_1d_int_axis0 = {"argpartsort_1d_int_axis0", (PyCFunction)__pyx_pw_11argpartsort_41argpartsort_1d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_40argpartsort_1d_int_axis0}; +static PyObject *__pyx_pw_11argpartsort_41argpartsort_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -14871,7 +15084,7 @@ static PyObject *__pyx_pw_11argpartsort_41argpartsort_3d_int32_axis0(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_int_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -14892,11 +15105,11 @@ static PyObject *__pyx_pw_11argpartsort_41argpartsort_3d_int32_axis0(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -14905,18 +15118,18 @@ static PyObject *__pyx_pw_11argpartsort_41argpartsort_3d_int32_axis0(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_40argpartsort_3d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_40argpartsort_1d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -14927,23 +15140,19 @@ static PyObject *__pyx_pw_11argpartsort_41argpartsort_3d_int32_axis0(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_40argpartsort_3d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_40argpartsort_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; - Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -14956,57 +15165,31 @@ static PyObject *__pyx_pf_11argpartsort_40argpartsort_3d_int32_axis0(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[3]; + npy_intp __pyx_t_3[1]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - int __pyx_t_14; - int __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; + int __pyx_t_8; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + npy_intp __pyx_t_13; + npy_intp __pyx_t_14; + npy_intp __pyx_t_15; + npy_intp __pyx_t_16; + npy_intp __pyx_t_17; + npy_intp __pyx_t_18; npy_intp __pyx_t_19; npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_21; + npy_intp __pyx_t_22; npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - Py_ssize_t __pyx_t_28; - npy_intp __pyx_t_29; - Py_ssize_t __pyx_t_30; - Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; - Py_ssize_t __pyx_t_33; - Py_ssize_t __pyx_t_34; - npy_intp __pyx_t_35; - Py_ssize_t __pyx_t_36; - Py_ssize_t __pyx_t_37; - npy_intp __pyx_t_38; - Py_ssize_t __pyx_t_39; - Py_ssize_t __pyx_t_40; - npy_intp __pyx_t_41; - Py_ssize_t __pyx_t_42; - Py_ssize_t __pyx_t_43; - npy_intp __pyx_t_44; - Py_ssize_t __pyx_t_45; - Py_ssize_t __pyx_t_46; - npy_intp __pyx_t_47; - Py_ssize_t __pyx_t_48; - Py_ssize_t __pyx_t_49; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_int_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -15021,174 +15204,128 @@ static PyObject *__pyx_pf_11argpartsort_40argpartsort_3d_int32_axis0(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "argpartsort.pyx":1069 - * def argpartsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int32 along axis=0." + /* "argpartsort.pyx":1080 + * def argpartsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1071 + /* "argpartsort.pyx":1082 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1074 - * cdef Py_ssize_t i0, i1, i2 + /* "argpartsort.pyx":1085 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1075 + /* "argpartsort.pyx":1086 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1076 + /* "argpartsort.pyx":1087 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "argpartsort.pyx":1077 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "argpartsort.pyx":1078 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; - __pyx_t_3[1] = __pyx_v_n1; - __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1079 - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1088 + * cdef Py_ssize_t n0 = dim[0] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1081 - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, - * NPY_intp, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * for i2 in range(n2): - */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; - - /* "argpartsort.pyx":1082 + /* "argpartsort.pyx":1090 + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * y[i0, i1, i2] = i0 - */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; - - /* "argpartsort.pyx":1083 - * for i0 in range(n0): - * for i1 in range(n1): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * y[i0, i1, i2] = i0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * y[i0] = i0 * if n0 == 0: */ - __pyx_t_9 = __pyx_v_n2; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i2 = __pyx_t_10; + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1084 - * for i1 in range(n1): - * for i2 in range(n2): - * y[i0, i1, i2] = i0 # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1091 + * NPY_intp, 0) + * for i0 in range(n0): + * y[i0] = i0 # <<<<<<<<<<<<<< * if n0 == 0: * return y */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_t_13 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i0; - } - } + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_i0; } - /* "argpartsort.pyx":1085 - * for i2 in range(n2): - * y[i0, i1, i2] = i0 + /* "argpartsort.pyx":1092 + * for i0 in range(n0): + * y[i0] = i0 * if n0 == 0: # <<<<<<<<<<<<<< * return y * if (n < 1) or (n > n0): */ - __pyx_t_14 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_14) { + __pyx_t_8 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_8) { - /* "argpartsort.pyx":1086 - * y[i0, i1, i2] = i0 + /* "argpartsort.pyx":1093 + * y[i0] = i0 * if n0 == 0: * return y # <<<<<<<<<<<<<< * if (n < 1) or (n > n0): @@ -15200,343 +15337,330 @@ static PyObject *__pyx_pf_11argpartsort_40argpartsort_3d_int32_axis0(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":1087 + /* "argpartsort.pyx":1094 * if n0 == 0: * return y * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * l = 0 */ - __pyx_t_15 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_15) { - goto __pyx_L12_next_or; + __pyx_t_9 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_9) { + goto __pyx_L8_next_or; } else { - __pyx_t_14 = __pyx_t_15; - goto __pyx_L11_bool_binop_done; + __pyx_t_8 = __pyx_t_9; + goto __pyx_L7_bool_binop_done; } - __pyx_L12_next_or:; - __pyx_t_15 = ((__pyx_v_n > __pyx_v_n0) != 0); - __pyx_t_14 = __pyx_t_15; - __pyx_L11_bool_binop_done:; - if (__pyx_t_14) { + __pyx_L8_next_or:; + __pyx_t_9 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_8 = __pyx_t_9; + __pyx_L7_bool_binop_done:; + if (__pyx_t_8) { - /* "argpartsort.pyx":1088 + /* "argpartsort.pyx":1095 * return y * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * for i2 in range(n2): + * l = 0 + * r = n0 - 1 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_16 = 0; - __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); + __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_10 = 0; + __pyx_t_11 = 0; + __pyx_t_11 = PyNumber_Remainder(__pyx_t_1, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_Raise(__pyx_t_17, 0, 0, 0); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_Raise(__pyx_t_11, 0, 0, 0); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1089 + /* "argpartsort.pyx":1096 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * l = 0 + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_l = 0; - /* "argpartsort.pyx":1090 + /* "argpartsort.pyx":1097 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: + * while l < r: */ - __pyx_t_7 = __pyx_v_n2; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i2 = __pyx_t_8; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":1091 - * for i1 in range(n1): - * for i2 in range(n2): - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * while l < r: + /* "argpartsort.pyx":1098 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_v_l = 0; + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { - /* "argpartsort.pyx":1092 - * for i2 in range(n2): - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[k, i1, i2] + /* "argpartsort.pyx":1099 + * r = n0 - 1 + * with nogil: + * while l < r: # <<<<<<<<<<<<<< + * x = b[k] + * i = l */ - __pyx_v_r = (__pyx_v_n0 - 1); + while (1) { + __pyx_t_8 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_8) break; - /* "argpartsort.pyx":1093 - * l = 0 - * r = n0 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1, i2] - * i = l + /* "argpartsort.pyx":1100 + * with nogil: + * while l < r: + * x = b[k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - while (1) { - __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_14) break; + __pyx_t_13 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1094 - * r = n0 - 1 - * while l < r: - * x = b[k, i1, i2] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":1101 + * while l < r: + * x = b[k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_t_19 = __pyx_v_k; - __pyx_t_9 = __pyx_v_i1; - __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1095 - * while l < r: - * x = b[k, i1, i2] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":1102 + * x = b[k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i] < x: i += 1 */ - __pyx_v_i = __pyx_v_l; + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1096 - * x = b[k, i1, i2] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i, i1, i2] < x: i += 1 + /* "argpartsort.pyx":1103 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ - __pyx_v_j = __pyx_v_r; + while (1) { - /* "argpartsort.pyx":1097 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 + /* "argpartsort.pyx":1104 + * j = r + * while 1: + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 + * if i <= j: */ - while (1) { + while (1) { + __pyx_t_14 = __pyx_v_i; + __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_8) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1098 - * j = r - * while 1: - * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: + /* "argpartsort.pyx":1105 + * while 1: + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i] */ - while (1) { - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_14) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_15 = __pyx_v_j; + __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_8) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":1099 - * while 1: - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i, i1, i2] + /* "argpartsort.pyx":1106 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i] + * b[i] = b[j] */ - while (1) { - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i1; - __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_14) break; - __pyx_v_j = (__pyx_v_j - 1); - } + __pyx_t_8 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_8) { - /* "argpartsort.pyx":1100 - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] + /* "argpartsort.pyx":1107 + * while x < b[j]: j -= 1 + * if i <= j: + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_14) { + __pyx_t_16 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1101 - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: - * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp + /* "argpartsort.pyx":1108 + * if i <= j: + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp + * itmp = y[i] */ - __pyx_t_26 = __pyx_v_i; - __pyx_t_27 = __pyx_v_i1; - __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1102 - * if i <= j: - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< - * b[j, i1, i2] = tmp - * itmp = y[i, i1, i2] + /* "argpartsort.pyx":1109 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i] + * y[i] = y[j] */ - __pyx_t_29 = __pyx_v_j; - __pyx_t_30 = __pyx_v_i1; - __pyx_t_31 = __pyx_v_i2; - __pyx_t_32 = __pyx_v_i; - __pyx_t_33 = __pyx_v_i1; - __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_19 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1103 - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< - * itmp = y[i, i1, i2] - * y[i, i1, i2] = y[j, i1, i2] + /* "argpartsort.pyx":1110 + * b[i] = b[j] + * b[j] = tmp + * itmp = y[i] # <<<<<<<<<<<<<< + * y[i] = y[j] + * y[j] = itmp */ - __pyx_t_35 = __pyx_v_j; - __pyx_t_36 = __pyx_v_i1; - __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_i; + __pyx_v_itmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_y.diminfo[0].strides)); - /* "argpartsort.pyx":1104 - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp - * itmp = y[i, i1, i2] # <<<<<<<<<<<<<< - * y[i, i1, i2] = y[j, i1, i2] - * y[j, i1, i2] = itmp + /* "argpartsort.pyx":1111 + * b[j] = tmp + * itmp = y[i] + * y[i] = y[j] # <<<<<<<<<<<<<< + * y[j] = itmp + * i += 1 */ - __pyx_t_38 = __pyx_v_i; - __pyx_t_39 = __pyx_v_i1; - __pyx_t_40 = __pyx_v_i2; - __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_21 = __pyx_v_j; + __pyx_t_22 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_y.diminfo[0].strides)); - /* "argpartsort.pyx":1105 - * b[j, i1, i2] = tmp - * itmp = y[i, i1, i2] - * y[i, i1, i2] = y[j, i1, i2] # <<<<<<<<<<<<<< - * y[j, i1, i2] = itmp - * i += 1 + /* "argpartsort.pyx":1112 + * itmp = y[i] + * y[i] = y[j] + * y[j] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_41 = __pyx_v_j; - __pyx_t_42 = __pyx_v_i1; - __pyx_t_43 = __pyx_v_i2; - __pyx_t_44 = __pyx_v_i; - __pyx_t_45 = __pyx_v_i1; - __pyx_t_46 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1106 - * itmp = y[i, i1, i2] - * y[i, i1, i2] = y[j, i1, i2] - * y[j, i1, i2] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":1113 + * y[i] = y[j] + * y[j] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_t_47 = __pyx_v_j; - __pyx_t_48 = __pyx_v_i1; - __pyx_t_49 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1107 - * y[i, i1, i2] = y[j, i1, i2] - * y[j, i1, i2] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":1114 + * y[j] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L20; + } + __pyx_L20:; - /* "argpartsort.pyx":1108 - * y[j, i1, i2] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":1115 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L25; + __pyx_t_8 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_8) { + goto __pyx_L15_break; + } } - __pyx_L25:; + __pyx_L15_break:; - /* "argpartsort.pyx":1109 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1116 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j + * return y */ - __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_14) { - goto __pyx_L20_break; + __pyx_t_8 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_8) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L22; } - } - __pyx_L20_break:; + __pyx_L22:; - /* "argpartsort.pyx":1110 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":1117 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y + * */ - __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_14) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L27; + __pyx_t_8 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_8) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L23; + } + __pyx_L23:; } - __pyx_L27:; + } - /* "argpartsort.pyx":1111 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< - * return y - * + /* "argpartsort.pyx":1098 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_14) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L28; + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L11; } - __pyx_L28:; + __pyx_L11:; } - } } - /* "argpartsort.pyx":1112 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1118 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -15546,27 +15670,27 @@ static PyObject *__pyx_pf_11argpartsort_40argpartsort_3d_int32_axis0(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1067 + /* "argpartsort.pyx":1078 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=0." + * def argpartsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -15581,19 +15705,19 @@ static PyObject *__pyx_pf_11argpartsort_40argpartsort_3d_int32_axis0(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":1116 +/* "argpartsort.pyx":1122 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=1." + * def argpartsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_43argpartsort_3d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_42argpartsort_3d_int32_axis1[] = "argpartsort_3d_int32_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_43argpartsort_3d_int32_axis1 = {"argpartsort_3d_int32_axis1", (PyCFunction)__pyx_pw_11argpartsort_43argpartsort_3d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_42argpartsort_3d_int32_axis1}; -static PyObject *__pyx_pw_11argpartsort_43argpartsort_3d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_43argpartsort_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_42argpartsort_1d_int8_axis0[] = "argpartsort_1d_int8_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_43argpartsort_1d_int8_axis0 = {"argpartsort_1d_int8_axis0", (PyCFunction)__pyx_pw_11argpartsort_43argpartsort_1d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_42argpartsort_1d_int8_axis0}; +static PyObject *__pyx_pw_11argpartsort_43argpartsort_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -15601,7 +15725,7 @@ static PyObject *__pyx_pw_11argpartsort_43argpartsort_3d_int32_axis1(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_int8_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -15622,11 +15746,11 @@ static PyObject *__pyx_pw_11argpartsort_43argpartsort_3d_int32_axis1(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -15635,18 +15759,18 @@ static PyObject *__pyx_pw_11argpartsort_43argpartsort_3d_int32_axis1(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_42argpartsort_3d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_42argpartsort_1d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -15657,23 +15781,19 @@ static PyObject *__pyx_pw_11argpartsort_43argpartsort_3d_int32_axis1(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_42argpartsort_3d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_42argpartsort_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; - Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -15686,57 +15806,31 @@ static PyObject *__pyx_pf_11argpartsort_42argpartsort_3d_int32_axis1(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[3]; + npy_intp __pyx_t_3[1]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - int __pyx_t_14; - int __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; + int __pyx_t_8; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + npy_intp __pyx_t_13; + npy_intp __pyx_t_14; + npy_intp __pyx_t_15; + npy_intp __pyx_t_16; + npy_intp __pyx_t_17; + npy_intp __pyx_t_18; npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_20; npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - Py_ssize_t __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; - Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; - Py_ssize_t __pyx_t_28; - Py_ssize_t __pyx_t_29; - npy_intp __pyx_t_30; - Py_ssize_t __pyx_t_31; - Py_ssize_t __pyx_t_32; - npy_intp __pyx_t_33; - Py_ssize_t __pyx_t_34; - Py_ssize_t __pyx_t_35; - npy_intp __pyx_t_36; - Py_ssize_t __pyx_t_37; - Py_ssize_t __pyx_t_38; - npy_intp __pyx_t_39; - Py_ssize_t __pyx_t_40; - Py_ssize_t __pyx_t_41; - npy_intp __pyx_t_42; - Py_ssize_t __pyx_t_43; - Py_ssize_t __pyx_t_44; - npy_intp __pyx_t_45; - Py_ssize_t __pyx_t_46; - Py_ssize_t __pyx_t_47; - npy_intp __pyx_t_48; - Py_ssize_t __pyx_t_49; + npy_intp __pyx_t_22; + npy_intp __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_int8_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -15751,178 +15845,132 @@ static PyObject *__pyx_pf_11argpartsort_42argpartsort_3d_int32_axis1(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "argpartsort.pyx":1118 - * def argpartsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int32 along axis=1." + /* "argpartsort.pyx":1124 + * def argpartsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1120 + /* "argpartsort.pyx":1126 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1123 - * cdef Py_ssize_t i0, i1, i2 + /* "argpartsort.pyx":1129 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1124 + /* "argpartsort.pyx":1130 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1125 + /* "argpartsort.pyx":1131 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "argpartsort.pyx":1126 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "argpartsort.pyx":1127 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; - __pyx_t_3[1] = __pyx_v_n1; - __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1128 - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1132 + * cdef Py_ssize_t n0 = dim[0] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1130 - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + /* "argpartsort.pyx":1134 + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * for i2 in range(n2): + * y[i0] = i0 + * if n0 == 0: */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1131 + /* "argpartsort.pyx":1135 * NPY_intp, 0) * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * y[i0, i1, i2] = i1 - */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; - - /* "argpartsort.pyx":1132 - * for i0 in range(n0): - * for i1 in range(n1): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * y[i0, i1, i2] = i1 - * if n1 == 0: - */ - __pyx_t_9 = __pyx_v_n2; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i2 = __pyx_t_10; - - /* "argpartsort.pyx":1133 - * for i1 in range(n1): - * for i2 in range(n2): - * y[i0, i1, i2] = i1 # <<<<<<<<<<<<<< - * if n1 == 0: + * y[i0] = i0 # <<<<<<<<<<<<<< + * if n0 == 0: * return y */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_t_13 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i1; - } - } + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_i0; } - /* "argpartsort.pyx":1134 - * for i2 in range(n2): - * y[i0, i1, i2] = i1 - * if n1 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1136 + * for i0 in range(n0): + * y[i0] = i0 + * if n0 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_14 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_14) { + __pyx_t_8 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_8) { - /* "argpartsort.pyx":1135 - * y[i0, i1, i2] = i1 - * if n1 == 0: + /* "argpartsort.pyx":1137 + * y[i0] = i0 + * if n0 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -15930,343 +15978,330 @@ static PyObject *__pyx_pf_11argpartsort_42argpartsort_3d_int32_axis1(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":1136 - * if n1 == 0: + /* "argpartsort.pyx":1138 + * if n0 == 0: * return y - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 */ - __pyx_t_15 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_15) { - goto __pyx_L12_next_or; + __pyx_t_9 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_9) { + goto __pyx_L8_next_or; } else { - __pyx_t_14 = __pyx_t_15; - goto __pyx_L11_bool_binop_done; + __pyx_t_8 = __pyx_t_9; + goto __pyx_L7_bool_binop_done; } - __pyx_L12_next_or:; - __pyx_t_15 = ((__pyx_v_n > __pyx_v_n1) != 0); - __pyx_t_14 = __pyx_t_15; - __pyx_L11_bool_binop_done:; - if (__pyx_t_14) { + __pyx_L8_next_or:; + __pyx_t_9 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_8 = __pyx_t_9; + __pyx_L7_bool_binop_done:; + if (__pyx_t_8) { - /* "argpartsort.pyx":1137 + /* "argpartsort.pyx":1139 * return y - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i2 in range(n2): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_16 = 0; - __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); + __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_10 = 0; + __pyx_t_11 = 0; + __pyx_t_11 = PyNumber_Remainder(__pyx_t_1, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_Raise(__pyx_t_17, 0, 0, 0); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_Raise(__pyx_t_11, 0, 0, 0); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1138 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * l = 0 - */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; - - /* "argpartsort.pyx":1139 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 - */ - __pyx_t_7 = __pyx_v_n2; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i2 = __pyx_t_8; - - /* "argpartsort.pyx":1140 - * for i0 in range(n0): - * for i2 in range(n2): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + /* "argpartsort.pyx":1140 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_v_l = 0; + __pyx_v_l = 0; - /* "argpartsort.pyx":1141 - * for i2 in range(n2): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k, i2] + /* "argpartsort.pyx":1141 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: + * while l < r: */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":1142 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k, i2] - * i = l + /* "argpartsort.pyx":1142 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - while (1) { - __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_14) break; + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { /* "argpartsort.pyx":1143 - * r = n1 - 1 - * while l < r: - * x = b[i0, k, i2] # <<<<<<<<<<<<<< - * i = l - * j = r + * r = n0 - 1 + * with nogil: + * while l < r: # <<<<<<<<<<<<<< + * x = b[k] + * i = l */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_k; - __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + while (1) { + __pyx_t_8 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_8) break; - /* "argpartsort.pyx":1144 - * while l < r: - * x = b[i0, k, i2] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":1144 + * with nogil: + * while l < r: + * x = b[k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_13 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1145 - * x = b[i0, k, i2] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i, i2] < x: i += 1 + /* "argpartsort.pyx":1145 + * while l < r: + * x = b[k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1146 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 + /* "argpartsort.pyx":1146 + * x = b[k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; /* "argpartsort.pyx":1147 - * j = r - * while 1: - * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ while (1) { - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_14) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "argpartsort.pyx":1148 - * while 1: - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i, i2] + /* "argpartsort.pyx":1148 + * j = r + * while 1: + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_23 = __pyx_v_i0; - __pyx_t_24 = __pyx_v_j; - __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_14) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_14 = __pyx_v_i; + __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_8) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1149 - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] + /* "argpartsort.pyx":1149 + * while 1: + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i] */ - __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_14) { + while (1) { + __pyx_t_15 = __pyx_v_j; + __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_8) break; + __pyx_v_j = (__pyx_v_j - 1); + } /* "argpartsort.pyx":1150 - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: - * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i] + * b[i] = b[j] */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_i; - __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_8 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_8) { - /* "argpartsort.pyx":1151 - * if i <= j: - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< - * b[i0, j, i2] = tmp - * itmp = y[i0, i, i2] + /* "argpartsort.pyx":1151 + * while x < b[j]: j -= 1 + * if i <= j: + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_29 = __pyx_v_i0; - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i2; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i; - __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_16 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1152 - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i, i2] - * y[i0, i, i2] = y[i0, j, i2] + /* "argpartsort.pyx":1152 + * if i <= j: + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp + * itmp = y[i] + */ + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + + /* "argpartsort.pyx":1153 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i] + * y[i] = y[j] + */ + __pyx_t_19 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + + /* "argpartsort.pyx":1154 + * b[i] = b[j] + * b[j] = tmp + * itmp = y[i] # <<<<<<<<<<<<<< + * y[i] = y[j] + * y[j] = itmp */ - __pyx_t_35 = __pyx_v_i0; - __pyx_t_36 = __pyx_v_j; - __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_i; + __pyx_v_itmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_y.diminfo[0].strides)); - /* "argpartsort.pyx":1153 - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp - * itmp = y[i0, i, i2] # <<<<<<<<<<<<<< - * y[i0, i, i2] = y[i0, j, i2] - * y[i0, j, i2] = itmp + /* "argpartsort.pyx":1155 + * b[j] = tmp + * itmp = y[i] + * y[i] = y[j] # <<<<<<<<<<<<<< + * y[j] = itmp + * i += 1 */ - __pyx_t_38 = __pyx_v_i0; - __pyx_t_39 = __pyx_v_i; - __pyx_t_40 = __pyx_v_i2; - __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_21 = __pyx_v_j; + __pyx_t_22 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_y.diminfo[0].strides)); - /* "argpartsort.pyx":1154 - * b[i0, j, i2] = tmp - * itmp = y[i0, i, i2] - * y[i0, i, i2] = y[i0, j, i2] # <<<<<<<<<<<<<< - * y[i0, j, i2] = itmp - * i += 1 + /* "argpartsort.pyx":1156 + * itmp = y[i] + * y[i] = y[j] + * y[j] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_41 = __pyx_v_i0; - __pyx_t_42 = __pyx_v_j; - __pyx_t_43 = __pyx_v_i2; - __pyx_t_44 = __pyx_v_i0; - __pyx_t_45 = __pyx_v_i; - __pyx_t_46 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1155 - * itmp = y[i0, i, i2] - * y[i0, i, i2] = y[i0, j, i2] - * y[i0, j, i2] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":1157 + * y[i] = y[j] + * y[j] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_t_47 = __pyx_v_i0; - __pyx_t_48 = __pyx_v_j; - __pyx_t_49 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1156 - * y[i0, i, i2] = y[i0, j, i2] - * y[i0, j, i2] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":1158 + * y[j] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L20; + } + __pyx_L20:; - /* "argpartsort.pyx":1157 - * y[i0, j, i2] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":1159 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L25; + __pyx_t_8 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_8) { + goto __pyx_L15_break; + } } - __pyx_L25:; + __pyx_L15_break:; - /* "argpartsort.pyx":1158 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1160 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j + * return y */ - __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_14) { - goto __pyx_L20_break; + __pyx_t_8 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_8) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L22; } - } - __pyx_L20_break:; + __pyx_L22:; - /* "argpartsort.pyx":1159 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":1161 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y + * */ - __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_14) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L27; + __pyx_t_8 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_8) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L23; + } + __pyx_L23:; } - __pyx_L27:; + } - /* "argpartsort.pyx":1160 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< - * return y - * + /* "argpartsort.pyx":1142 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_14) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L28; + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L11; } - __pyx_L28:; + __pyx_L11:; } - } } - /* "argpartsort.pyx":1161 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1162 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -16276,27 +16311,27 @@ static PyObject *__pyx_pf_11argpartsort_42argpartsort_3d_int32_axis1(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1116 + /* "argpartsort.pyx":1122 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=1." + * def argpartsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -16311,19 +16346,19 @@ static PyObject *__pyx_pf_11argpartsort_42argpartsort_3d_int32_axis1(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":1165 +/* "argpartsort.pyx":1166 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=2." + * def argpartsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_45argpartsort_3d_int32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_44argpartsort_3d_int32_axis2[] = "argpartsort_3d_int32_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=2."; -static PyMethodDef __pyx_mdef_11argpartsort_45argpartsort_3d_int32_axis2 = {"argpartsort_3d_int32_axis2", (PyCFunction)__pyx_pw_11argpartsort_45argpartsort_3d_int32_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_44argpartsort_3d_int32_axis2}; -static PyObject *__pyx_pw_11argpartsort_45argpartsort_3d_int32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_45argpartsort_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_44argpartsort_1d_int32_axis0[] = "argpartsort_1d_int32_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_45argpartsort_1d_int32_axis0 = {"argpartsort_1d_int32_axis0", (PyCFunction)__pyx_pw_11argpartsort_45argpartsort_1d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_44argpartsort_1d_int32_axis0}; +static PyObject *__pyx_pw_11argpartsort_45argpartsort_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -16331,7 +16366,7 @@ static PyObject *__pyx_pw_11argpartsort_45argpartsort_3d_int32_axis2(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_int32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -16352,11 +16387,11 @@ static PyObject *__pyx_pw_11argpartsort_45argpartsort_3d_int32_axis2(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int32_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -16365,18 +16400,18 @@ static PyObject *__pyx_pw_11argpartsort_45argpartsort_3d_int32_axis2(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_44argpartsort_3d_int32_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_44argpartsort_1d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -16387,7 +16422,7 @@ static PyObject *__pyx_pw_11argpartsort_45argpartsort_3d_int32_axis2(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_44argpartsort_3d_int32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_44argpartsort_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; @@ -16398,12 +16433,8 @@ static PyObject *__pyx_pf_11argpartsort_44argpartsort_3d_int32_axis2(CYTHON_UNUS __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; - Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -16416,57 +16447,31 @@ static PyObject *__pyx_pf_11argpartsort_44argpartsort_3d_int32_axis2(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[3]; + npy_intp __pyx_t_3[1]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - int __pyx_t_14; - int __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; + int __pyx_t_8; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + npy_intp __pyx_t_13; + npy_intp __pyx_t_14; + npy_intp __pyx_t_15; + npy_intp __pyx_t_16; + npy_intp __pyx_t_17; + npy_intp __pyx_t_18; npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_20; + npy_intp __pyx_t_21; npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; - Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; - Py_ssize_t __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; - Py_ssize_t __pyx_t_29; - Py_ssize_t __pyx_t_30; - npy_intp __pyx_t_31; - Py_ssize_t __pyx_t_32; - Py_ssize_t __pyx_t_33; - npy_intp __pyx_t_34; - Py_ssize_t __pyx_t_35; - Py_ssize_t __pyx_t_36; - npy_intp __pyx_t_37; - Py_ssize_t __pyx_t_38; - Py_ssize_t __pyx_t_39; - npy_intp __pyx_t_40; - Py_ssize_t __pyx_t_41; - Py_ssize_t __pyx_t_42; - npy_intp __pyx_t_43; - Py_ssize_t __pyx_t_44; - Py_ssize_t __pyx_t_45; - npy_intp __pyx_t_46; - Py_ssize_t __pyx_t_47; - Py_ssize_t __pyx_t_48; - npy_intp __pyx_t_49; + npy_intp __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis2", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_int32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -16481,178 +16486,132 @@ static PyObject *__pyx_pf_11argpartsort_44argpartsort_3d_int32_axis2(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "argpartsort.pyx":1167 - * def argpartsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int32 along axis=2." + /* "argpartsort.pyx":1168 + * def argpartsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1169 + /* "argpartsort.pyx":1170 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1172 - * cdef Py_ssize_t i0, i1, i2 + /* "argpartsort.pyx":1173 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1173 + /* "argpartsort.pyx":1174 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1174 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":1175 + * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "argpartsort.pyx":1176 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; - __pyx_t_3[1] = __pyx_v_n1; - __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1177 - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1176 + * cdef Py_ssize_t n0 = dim[0] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1179 - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + /* "argpartsort.pyx":1178 + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * for i2 in range(n2): + * y[i0] = i0 + * if n0 == 0: */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1180 + /* "argpartsort.pyx":1179 * NPY_intp, 0) * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * y[i0, i1, i2] = i2 - */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; - - /* "argpartsort.pyx":1181 - * for i0 in range(n0): - * for i1 in range(n1): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * y[i0, i1, i2] = i2 - * if n2 == 0: - */ - __pyx_t_9 = __pyx_v_n2; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i2 = __pyx_t_10; - - /* "argpartsort.pyx":1182 - * for i1 in range(n1): - * for i2 in range(n2): - * y[i0, i1, i2] = i2 # <<<<<<<<<<<<<< - * if n2 == 0: + * y[i0] = i0 # <<<<<<<<<<<<<< + * if n0 == 0: * return y */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_t_13 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i2; - } - } + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_i0; } - /* "argpartsort.pyx":1183 - * for i2 in range(n2): - * y[i0, i1, i2] = i2 - * if n2 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1180 + * for i0 in range(n0): + * y[i0] = i0 + * if n0 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n2): + * if (n < 1) or (n > n0): */ - __pyx_t_14 = ((__pyx_v_n2 == 0) != 0); - if (__pyx_t_14) { + __pyx_t_8 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_8) { - /* "argpartsort.pyx":1184 - * y[i0, i1, i2] = i2 - * if n2 == 0: + /* "argpartsort.pyx":1181 + * y[i0] = i0 + * if n0 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -16660,343 +16619,330 @@ static PyObject *__pyx_pf_11argpartsort_44argpartsort_3d_int32_axis2(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":1185 - * if n2 == 0: + /* "argpartsort.pyx":1182 + * if n0 == 0: * return y - * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 */ - __pyx_t_15 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_15) { - goto __pyx_L12_next_or; + __pyx_t_9 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_9) { + goto __pyx_L8_next_or; } else { - __pyx_t_14 = __pyx_t_15; - goto __pyx_L11_bool_binop_done; + __pyx_t_8 = __pyx_t_9; + goto __pyx_L7_bool_binop_done; } - __pyx_L12_next_or:; - __pyx_t_15 = ((__pyx_v_n > __pyx_v_n2) != 0); - __pyx_t_14 = __pyx_t_15; - __pyx_L11_bool_binop_done:; - if (__pyx_t_14) { + __pyx_L8_next_or:; + __pyx_t_9 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_8 = __pyx_t_9; + __pyx_L7_bool_binop_done:; + if (__pyx_t_8) { - /* "argpartsort.pyx":1186 + /* "argpartsort.pyx":1183 * return y - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_16 = 0; - __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); + __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_10 = 0; + __pyx_t_11 = 0; + __pyx_t_11 = PyNumber_Remainder(__pyx_t_1, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_Raise(__pyx_t_17, 0, 0, 0); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_Raise(__pyx_t_11, 0, 0, 0); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1187 - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * l = 0 + /* "argpartsort.pyx":1184 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_l = 0; - /* "argpartsort.pyx":1188 - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * l = 0 - * r = n2 - 1 + /* "argpartsort.pyx":1185 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: + * while l < r: */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":1189 - * for i0 in range(n0): - * for i1 in range(n1): - * l = 0 # <<<<<<<<<<<<<< - * r = n2 - 1 - * while l < r: + /* "argpartsort.pyx":1186 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_v_l = 0; + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { - /* "argpartsort.pyx":1190 - * for i1 in range(n1): - * l = 0 - * r = n2 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, i1, k] + /* "argpartsort.pyx":1187 + * r = n0 - 1 + * with nogil: + * while l < r: # <<<<<<<<<<<<<< + * x = b[k] + * i = l */ - __pyx_v_r = (__pyx_v_n2 - 1); + while (1) { + __pyx_t_8 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_8) break; - /* "argpartsort.pyx":1191 - * l = 0 - * r = n2 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, i1, k] - * i = l + /* "argpartsort.pyx":1188 + * with nogil: + * while l < r: + * x = b[k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - while (1) { - __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_14) break; + __pyx_t_13 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1192 - * r = n2 - 1 - * while l < r: - * x = b[i0, i1, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":1189 + * while l < r: + * x = b[k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_t_19 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1193 - * while l < r: - * x = b[i0, i1, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":1190 + * x = b[k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i] < x: i += 1 */ - __pyx_v_i = __pyx_v_l; + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1194 - * x = b[i0, i1, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i1, i] < x: i += 1 + /* "argpartsort.pyx":1191 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ - __pyx_v_j = __pyx_v_r; + while (1) { - /* "argpartsort.pyx":1195 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 + /* "argpartsort.pyx":1192 + * j = r + * while 1: + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 + * if i <= j: */ - while (1) { + while (1) { + __pyx_t_14 = __pyx_v_i; + __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_8) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1196 - * j = r - * while 1: - * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: + /* "argpartsort.pyx":1193 + * while 1: + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i] */ - while (1) { - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i1; - __pyx_t_22 = __pyx_v_i; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_14) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_15 = __pyx_v_j; + __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_8) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":1197 - * while 1: - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i1, i] + /* "argpartsort.pyx":1194 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i] + * b[i] = b[j] */ - while (1) { - __pyx_t_23 = __pyx_v_i0; - __pyx_t_24 = __pyx_v_i1; - __pyx_t_25 = __pyx_v_j; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_14) break; - __pyx_v_j = (__pyx_v_j - 1); - } + __pyx_t_8 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_8) { - /* "argpartsort.pyx":1198 - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] + /* "argpartsort.pyx":1195 + * while x < b[j]: j -= 1 + * if i <= j: + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_14) { + __pyx_t_16 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1199 - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp + /* "argpartsort.pyx":1196 + * if i <= j: + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp + * itmp = y[i] */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_i1; - __pyx_t_28 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1200 - * if i <= j: - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< - * b[i0, i1, j] = tmp - * itmp = y[i0, i1, i] + /* "argpartsort.pyx":1197 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i] + * y[i] = y[j] */ - __pyx_t_29 = __pyx_v_i0; - __pyx_t_30 = __pyx_v_i1; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i1; - __pyx_t_34 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_19 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1201 - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i1, i] - * y[i0, i1, i] = y[i0, i1, j] + /* "argpartsort.pyx":1198 + * b[i] = b[j] + * b[j] = tmp + * itmp = y[i] # <<<<<<<<<<<<<< + * y[i] = y[j] + * y[j] = itmp */ - __pyx_t_35 = __pyx_v_i0; - __pyx_t_36 = __pyx_v_i1; - __pyx_t_37 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_i; + __pyx_v_itmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_y.diminfo[0].strides)); - /* "argpartsort.pyx":1202 - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp - * itmp = y[i0, i1, i] # <<<<<<<<<<<<<< - * y[i0, i1, i] = y[i0, i1, j] - * y[i0, i1, j] = itmp + /* "argpartsort.pyx":1199 + * b[j] = tmp + * itmp = y[i] + * y[i] = y[j] # <<<<<<<<<<<<<< + * y[j] = itmp + * i += 1 */ - __pyx_t_38 = __pyx_v_i0; - __pyx_t_39 = __pyx_v_i1; - __pyx_t_40 = __pyx_v_i; - __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_21 = __pyx_v_j; + __pyx_t_22 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_y.diminfo[0].strides)); - /* "argpartsort.pyx":1203 - * b[i0, i1, j] = tmp - * itmp = y[i0, i1, i] - * y[i0, i1, i] = y[i0, i1, j] # <<<<<<<<<<<<<< - * y[i0, i1, j] = itmp - * i += 1 + /* "argpartsort.pyx":1200 + * itmp = y[i] + * y[i] = y[j] + * y[j] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_41 = __pyx_v_i0; - __pyx_t_42 = __pyx_v_i1; - __pyx_t_43 = __pyx_v_j; - __pyx_t_44 = __pyx_v_i0; - __pyx_t_45 = __pyx_v_i1; - __pyx_t_46 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1204 - * itmp = y[i0, i1, i] - * y[i0, i1, i] = y[i0, i1, j] - * y[i0, i1, j] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":1201 + * y[i] = y[j] + * y[j] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_t_47 = __pyx_v_i0; - __pyx_t_48 = __pyx_v_i1; - __pyx_t_49 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1205 - * y[i0, i1, i] = y[i0, i1, j] - * y[i0, i1, j] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":1202 + * y[j] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L20; + } + __pyx_L20:; - /* "argpartsort.pyx":1206 - * y[i0, i1, j] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":1203 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L25; + __pyx_t_8 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_8) { + goto __pyx_L15_break; + } } - __pyx_L25:; + __pyx_L15_break:; - /* "argpartsort.pyx":1207 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1204 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j + * return y */ - __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_14) { - goto __pyx_L20_break; + __pyx_t_8 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_8) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L22; } - } - __pyx_L20_break:; + __pyx_L22:; - /* "argpartsort.pyx":1208 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":1205 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y + * */ - __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_14) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L27; + __pyx_t_8 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_8) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L23; + } + __pyx_L23:; } - __pyx_L27:; + } - /* "argpartsort.pyx":1209 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< - * return y - * + /* "argpartsort.pyx":1186 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_14) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L28; + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L11; } - __pyx_L28:; + __pyx_L11:; } - } } - /* "argpartsort.pyx":1210 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1206 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -17006,27 +16952,27 @@ static PyObject *__pyx_pf_11argpartsort_44argpartsort_3d_int32_axis2(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1165 + /* "argpartsort.pyx":1166 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=2." + * def argpartsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -17041,19 +16987,19 @@ static PyObject *__pyx_pf_11argpartsort_44argpartsort_3d_int32_axis2(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":1214 +/* "argpartsort.pyx":1210 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=0." + * def argpartsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_47argpartsort_3d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_46argpartsort_3d_int64_axis0[] = "argpartsort_3d_int64_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_47argpartsort_3d_int64_axis0 = {"argpartsort_3d_int64_axis0", (PyCFunction)__pyx_pw_11argpartsort_47argpartsort_3d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_46argpartsort_3d_int64_axis0}; -static PyObject *__pyx_pw_11argpartsort_47argpartsort_3d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_47argpartsort_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_46argpartsort_1d_int64_axis0[] = "argpartsort_1d_int64_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_47argpartsort_1d_int64_axis0 = {"argpartsort_1d_int64_axis0", (PyCFunction)__pyx_pw_11argpartsort_47argpartsort_1d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_46argpartsort_1d_int64_axis0}; +static PyObject *__pyx_pw_11argpartsort_47argpartsort_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -17061,7 +17007,7 @@ static PyObject *__pyx_pw_11argpartsort_47argpartsort_3d_int64_axis0(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_int64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -17082,11 +17028,11 @@ static PyObject *__pyx_pw_11argpartsort_47argpartsort_3d_int64_axis0(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -17095,18 +17041,18 @@ static PyObject *__pyx_pw_11argpartsort_47argpartsort_3d_int64_axis0(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_46argpartsort_3d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_46argpartsort_1d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -17117,7 +17063,7 @@ static PyObject *__pyx_pw_11argpartsort_47argpartsort_3d_int64_axis0(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_46argpartsort_3d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_46argpartsort_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; @@ -17128,12 +17074,8 @@ static PyObject *__pyx_pf_11argpartsort_46argpartsort_3d_int64_axis0(CYTHON_UNUS __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; - Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -17146,57 +17088,31 @@ static PyObject *__pyx_pf_11argpartsort_46argpartsort_3d_int64_axis0(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[3]; + npy_intp __pyx_t_3[1]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - int __pyx_t_14; - int __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; + int __pyx_t_8; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + npy_intp __pyx_t_13; + npy_intp __pyx_t_14; + npy_intp __pyx_t_15; + npy_intp __pyx_t_16; + npy_intp __pyx_t_17; + npy_intp __pyx_t_18; npy_intp __pyx_t_19; npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_21; + npy_intp __pyx_t_22; npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - Py_ssize_t __pyx_t_28; - npy_intp __pyx_t_29; - Py_ssize_t __pyx_t_30; - Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; - Py_ssize_t __pyx_t_33; - Py_ssize_t __pyx_t_34; - npy_intp __pyx_t_35; - Py_ssize_t __pyx_t_36; - Py_ssize_t __pyx_t_37; - npy_intp __pyx_t_38; - Py_ssize_t __pyx_t_39; - Py_ssize_t __pyx_t_40; - npy_intp __pyx_t_41; - Py_ssize_t __pyx_t_42; - Py_ssize_t __pyx_t_43; - npy_intp __pyx_t_44; - Py_ssize_t __pyx_t_45; - Py_ssize_t __pyx_t_46; - npy_intp __pyx_t_47; - Py_ssize_t __pyx_t_48; - Py_ssize_t __pyx_t_49; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_int64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -17211,174 +17127,128 @@ static PyObject *__pyx_pf_11argpartsort_46argpartsort_3d_int64_axis0(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "argpartsort.pyx":1216 - * def argpartsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int64 along axis=0." + /* "argpartsort.pyx":1212 + * def argpartsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1218 + /* "argpartsort.pyx":1214 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1221 - * cdef Py_ssize_t i0, i1, i2 + /* "argpartsort.pyx":1217 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1222 + /* "argpartsort.pyx":1218 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1223 + /* "argpartsort.pyx":1219 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "argpartsort.pyx":1224 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "argpartsort.pyx":1225 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; - __pyx_t_3[1] = __pyx_v_n1; - __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1226 - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1220 + * cdef Py_ssize_t n0 = dim[0] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1228 - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + /* "argpartsort.pyx":1222 + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * for i2 in range(n2): + * y[i0] = i0 + * if n0 == 0: */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1229 + /* "argpartsort.pyx":1223 * NPY_intp, 0) * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * y[i0, i1, i2] = i0 - */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; - - /* "argpartsort.pyx":1230 - * for i0 in range(n0): - * for i1 in range(n1): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * y[i0, i1, i2] = i0 - * if n0 == 0: - */ - __pyx_t_9 = __pyx_v_n2; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i2 = __pyx_t_10; - - /* "argpartsort.pyx":1231 - * for i1 in range(n1): - * for i2 in range(n2): - * y[i0, i1, i2] = i0 # <<<<<<<<<<<<<< + * y[i0] = i0 # <<<<<<<<<<<<<< * if n0 == 0: * return y */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_t_13 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i0; - } - } + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_i0; } - - /* "argpartsort.pyx":1232 - * for i2 in range(n2): - * y[i0, i1, i2] = i0 + + /* "argpartsort.pyx":1224 + * for i0 in range(n0): + * y[i0] = i0 * if n0 == 0: # <<<<<<<<<<<<<< * return y * if (n < 1) or (n > n0): */ - __pyx_t_14 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_14) { + __pyx_t_8 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_8) { - /* "argpartsort.pyx":1233 - * y[i0, i1, i2] = i0 + /* "argpartsort.pyx":1225 + * y[i0] = i0 * if n0 == 0: * return y # <<<<<<<<<<<<<< * if (n < 1) or (n > n0): @@ -17390,343 +17260,330 @@ static PyObject *__pyx_pf_11argpartsort_46argpartsort_3d_int64_axis0(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":1234 + /* "argpartsort.pyx":1226 * if n0 == 0: * return y * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * l = 0 */ - __pyx_t_15 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_15) { - goto __pyx_L12_next_or; + __pyx_t_9 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_9) { + goto __pyx_L8_next_or; } else { - __pyx_t_14 = __pyx_t_15; - goto __pyx_L11_bool_binop_done; + __pyx_t_8 = __pyx_t_9; + goto __pyx_L7_bool_binop_done; } - __pyx_L12_next_or:; - __pyx_t_15 = ((__pyx_v_n > __pyx_v_n0) != 0); - __pyx_t_14 = __pyx_t_15; - __pyx_L11_bool_binop_done:; - if (__pyx_t_14) { + __pyx_L8_next_or:; + __pyx_t_9 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_8 = __pyx_t_9; + __pyx_L7_bool_binop_done:; + if (__pyx_t_8) { - /* "argpartsort.pyx":1235 + /* "argpartsort.pyx":1227 * return y * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * for i2 in range(n2): + * l = 0 + * r = n0 - 1 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_16 = 0; - __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); + __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_10 = 0; + __pyx_t_11 = 0; + __pyx_t_11 = PyNumber_Remainder(__pyx_t_1, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_Raise(__pyx_t_17, 0, 0, 0); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_Raise(__pyx_t_11, 0, 0, 0); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1236 + /* "argpartsort.pyx":1228 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * l = 0 + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_l = 0; - /* "argpartsort.pyx":1237 + /* "argpartsort.pyx":1229 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: + * while l < r: */ - __pyx_t_7 = __pyx_v_n2; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i2 = __pyx_t_8; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":1238 - * for i1 in range(n1): - * for i2 in range(n2): - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * while l < r: + /* "argpartsort.pyx":1230 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_v_l = 0; + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { - /* "argpartsort.pyx":1239 - * for i2 in range(n2): - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[k, i1, i2] + /* "argpartsort.pyx":1231 + * r = n0 - 1 + * with nogil: + * while l < r: # <<<<<<<<<<<<<< + * x = b[k] + * i = l */ - __pyx_v_r = (__pyx_v_n0 - 1); + while (1) { + __pyx_t_8 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_8) break; - /* "argpartsort.pyx":1240 - * l = 0 - * r = n0 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1, i2] - * i = l + /* "argpartsort.pyx":1232 + * with nogil: + * while l < r: + * x = b[k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - while (1) { - __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_14) break; + __pyx_t_13 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1241 - * r = n0 - 1 - * while l < r: - * x = b[k, i1, i2] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":1233 + * while l < r: + * x = b[k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_t_19 = __pyx_v_k; - __pyx_t_9 = __pyx_v_i1; - __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1242 - * while l < r: - * x = b[k, i1, i2] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":1234 + * x = b[k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i] < x: i += 1 */ - __pyx_v_i = __pyx_v_l; + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1243 - * x = b[k, i1, i2] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i, i1, i2] < x: i += 1 + /* "argpartsort.pyx":1235 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ - __pyx_v_j = __pyx_v_r; + while (1) { - /* "argpartsort.pyx":1244 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 + /* "argpartsort.pyx":1236 + * j = r + * while 1: + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 + * if i <= j: */ - while (1) { + while (1) { + __pyx_t_14 = __pyx_v_i; + __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_8) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1245 - * j = r - * while 1: - * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: + /* "argpartsort.pyx":1237 + * while 1: + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i] */ - while (1) { - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_14) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_15 = __pyx_v_j; + __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_8) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":1246 - * while 1: - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i, i1, i2] + /* "argpartsort.pyx":1238 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i] + * b[i] = b[j] */ - while (1) { - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i1; - __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_14) break; - __pyx_v_j = (__pyx_v_j - 1); - } + __pyx_t_8 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_8) { - /* "argpartsort.pyx":1247 - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] + /* "argpartsort.pyx":1239 + * while x < b[j]: j -= 1 + * if i <= j: + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_14) { + __pyx_t_16 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1248 - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: - * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp + /* "argpartsort.pyx":1240 + * if i <= j: + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp + * itmp = y[i] */ - __pyx_t_26 = __pyx_v_i; - __pyx_t_27 = __pyx_v_i1; - __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1249 - * if i <= j: - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< - * b[j, i1, i2] = tmp - * itmp = y[i, i1, i2] + /* "argpartsort.pyx":1241 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i] + * y[i] = y[j] */ - __pyx_t_29 = __pyx_v_j; - __pyx_t_30 = __pyx_v_i1; - __pyx_t_31 = __pyx_v_i2; - __pyx_t_32 = __pyx_v_i; - __pyx_t_33 = __pyx_v_i1; - __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_19 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1250 - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< - * itmp = y[i, i1, i2] - * y[i, i1, i2] = y[j, i1, i2] + /* "argpartsort.pyx":1242 + * b[i] = b[j] + * b[j] = tmp + * itmp = y[i] # <<<<<<<<<<<<<< + * y[i] = y[j] + * y[j] = itmp */ - __pyx_t_35 = __pyx_v_j; - __pyx_t_36 = __pyx_v_i1; - __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_i; + __pyx_v_itmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_y.diminfo[0].strides)); - /* "argpartsort.pyx":1251 - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp - * itmp = y[i, i1, i2] # <<<<<<<<<<<<<< - * y[i, i1, i2] = y[j, i1, i2] - * y[j, i1, i2] = itmp + /* "argpartsort.pyx":1243 + * b[j] = tmp + * itmp = y[i] + * y[i] = y[j] # <<<<<<<<<<<<<< + * y[j] = itmp + * i += 1 */ - __pyx_t_38 = __pyx_v_i; - __pyx_t_39 = __pyx_v_i1; - __pyx_t_40 = __pyx_v_i2; - __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_21 = __pyx_v_j; + __pyx_t_22 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_y.diminfo[0].strides)); - /* "argpartsort.pyx":1252 - * b[j, i1, i2] = tmp - * itmp = y[i, i1, i2] - * y[i, i1, i2] = y[j, i1, i2] # <<<<<<<<<<<<<< - * y[j, i1, i2] = itmp - * i += 1 + /* "argpartsort.pyx":1244 + * itmp = y[i] + * y[i] = y[j] + * y[j] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_41 = __pyx_v_j; - __pyx_t_42 = __pyx_v_i1; - __pyx_t_43 = __pyx_v_i2; - __pyx_t_44 = __pyx_v_i; - __pyx_t_45 = __pyx_v_i1; - __pyx_t_46 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1253 - * itmp = y[i, i1, i2] - * y[i, i1, i2] = y[j, i1, i2] - * y[j, i1, i2] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":1245 + * y[i] = y[j] + * y[j] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_t_47 = __pyx_v_j; - __pyx_t_48 = __pyx_v_i1; - __pyx_t_49 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1254 - * y[i, i1, i2] = y[j, i1, i2] - * y[j, i1, i2] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":1246 + * y[j] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L20; + } + __pyx_L20:; - /* "argpartsort.pyx":1255 - * y[j, i1, i2] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":1247 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L25; + __pyx_t_8 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_8) { + goto __pyx_L15_break; + } } - __pyx_L25:; + __pyx_L15_break:; - /* "argpartsort.pyx":1256 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1248 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j + * return y */ - __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_14) { - goto __pyx_L20_break; + __pyx_t_8 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_8) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L22; } - } - __pyx_L20_break:; + __pyx_L22:; - /* "argpartsort.pyx":1257 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":1249 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y + * */ - __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_14) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L27; + __pyx_t_8 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_8) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L23; + } + __pyx_L23:; } - __pyx_L27:; + } - /* "argpartsort.pyx":1258 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< - * return y - * + /* "argpartsort.pyx":1230 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_14) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L28; + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L11; } - __pyx_L28:; + __pyx_L11:; } - } } - /* "argpartsort.pyx":1259 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1250 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -17736,27 +17593,27 @@ static PyObject *__pyx_pf_11argpartsort_46argpartsort_3d_int64_axis0(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1214 + /* "argpartsort.pyx":1210 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=0." + * def argpartsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -17771,19 +17628,19 @@ static PyObject *__pyx_pf_11argpartsort_46argpartsort_3d_int64_axis0(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":1263 +/* "argpartsort.pyx":1254 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=1." + * def argpartsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_49argpartsort_3d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_48argpartsort_3d_int64_axis1[] = "argpartsort_3d_int64_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_49argpartsort_3d_int64_axis1 = {"argpartsort_3d_int64_axis1", (PyCFunction)__pyx_pw_11argpartsort_49argpartsort_3d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_48argpartsort_3d_int64_axis1}; -static PyObject *__pyx_pw_11argpartsort_49argpartsort_3d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_49argpartsort_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_48argpartsort_2d_int_axis0[] = "argpartsort_2d_int_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_49argpartsort_2d_int_axis0 = {"argpartsort_2d_int_axis0", (PyCFunction)__pyx_pw_11argpartsort_49argpartsort_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_48argpartsort_2d_int_axis0}; +static PyObject *__pyx_pw_11argpartsort_49argpartsort_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -17791,7 +17648,7 @@ static PyObject *__pyx_pw_11argpartsort_49argpartsort_3d_int64_axis1(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -17812,11 +17669,11 @@ static PyObject *__pyx_pw_11argpartsort_49argpartsort_3d_int64_axis1(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -17825,18 +17682,18 @@ static PyObject *__pyx_pw_11argpartsort_49argpartsort_3d_int64_axis1(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_48argpartsort_3d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_48argpartsort_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -17847,23 +17704,21 @@ static PyObject *__pyx_pw_11argpartsort_49argpartsort_3d_int64_axis1(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_48argpartsort_3d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_48argpartsort_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; - Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -17876,7 +17731,7 @@ static PyObject *__pyx_pf_11argpartsort_48argpartsort_3d_int64_axis1(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[3]; + npy_intp __pyx_t_3[2]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; @@ -17884,49 +17739,35 @@ static PyObject *__pyx_pf_11argpartsort_48argpartsort_3d_int64_axis1(CYTHON_UNUS Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - int __pyx_t_14; - int __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; + int __pyx_t_11; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + npy_intp __pyx_t_16; + npy_intp __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; Py_ssize_t __pyx_t_23; npy_intp __pyx_t_24; Py_ssize_t __pyx_t_25; - Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; - Py_ssize_t __pyx_t_28; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; Py_ssize_t __pyx_t_29; npy_intp __pyx_t_30; Py_ssize_t __pyx_t_31; - Py_ssize_t __pyx_t_32; - npy_intp __pyx_t_33; - Py_ssize_t __pyx_t_34; + npy_intp __pyx_t_32; + Py_ssize_t __pyx_t_33; + npy_intp __pyx_t_34; Py_ssize_t __pyx_t_35; - npy_intp __pyx_t_36; - Py_ssize_t __pyx_t_37; - Py_ssize_t __pyx_t_38; - npy_intp __pyx_t_39; - Py_ssize_t __pyx_t_40; - Py_ssize_t __pyx_t_41; - npy_intp __pyx_t_42; - Py_ssize_t __pyx_t_43; - Py_ssize_t __pyx_t_44; - npy_intp __pyx_t_45; - Py_ssize_t __pyx_t_46; - Py_ssize_t __pyx_t_47; - npy_intp __pyx_t_48; - Py_ssize_t __pyx_t_49; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -17941,45 +17782,45 @@ static PyObject *__pyx_pf_11argpartsort_48argpartsort_3d_int64_axis1(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":1265 - * def argpartsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int64 along axis=1." + /* "argpartsort.pyx":1256 + * def argpartsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1267 + /* "argpartsort.pyx":1258 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1270 - * cdef Py_ssize_t i0, i1, i2 + /* "argpartsort.pyx":1261 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -17987,132 +17828,109 @@ static PyObject *__pyx_pf_11argpartsort_48argpartsort_3d_int64_axis1(CYTHON_UNUS */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1271 + /* "argpartsort.pyx":1262 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1272 + /* "argpartsort.pyx":1263 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":1273 + /* "argpartsort.pyx":1264 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "argpartsort.pyx":1274 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; __pyx_t_3[1] = __pyx_v_n1; - __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1275 - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1265 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1277 - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + /* "argpartsort.pyx":1267 + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * for i2 in range(n2): + * y[i0, i1] = i0 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1278 + /* "argpartsort.pyx":1268 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * y[i0, i1, i2] = i1 + * y[i0, i1] = i0 + * if n0 == 0: */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1279 + /* "argpartsort.pyx":1269 * for i0 in range(n0): * for i1 in range(n1): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * y[i0, i1, i2] = i1 - * if n1 == 0: - */ - __pyx_t_9 = __pyx_v_n2; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i2 = __pyx_t_10; - - /* "argpartsort.pyx":1280 - * for i1 in range(n1): - * for i2 in range(n2): - * y[i0, i1, i2] = i1 # <<<<<<<<<<<<<< - * if n1 == 0: + * y[i0, i1] = i0 # <<<<<<<<<<<<<< + * if n0 == 0: * return y */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_t_13 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i1; - } + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; } } - /* "argpartsort.pyx":1281 - * for i2 in range(n2): - * y[i0, i1, i2] = i1 - * if n1 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1270 + * for i1 in range(n1): + * y[i0, i1] = i0 + * if n0 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_14 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_14) { + __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":1282 - * y[i0, i1, i2] = i1 - * if n1 == 0: + /* "argpartsort.pyx":1271 + * y[i0, i1] = i0 + * if n0 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -18120,343 +17938,320 @@ static PyObject *__pyx_pf_11argpartsort_48argpartsort_3d_int64_axis1(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":1283 - * if n1 == 0: + /* "argpartsort.pyx":1272 + * if n0 == 0: * return y - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ - __pyx_t_15 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_15) { - goto __pyx_L12_next_or; + __pyx_t_12 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_12) { + goto __pyx_L10_next_or; } else { - __pyx_t_14 = __pyx_t_15; - goto __pyx_L11_bool_binop_done; + __pyx_t_11 = __pyx_t_12; + goto __pyx_L9_bool_binop_done; } - __pyx_L12_next_or:; - __pyx_t_15 = ((__pyx_v_n > __pyx_v_n1) != 0); - __pyx_t_14 = __pyx_t_15; - __pyx_L11_bool_binop_done:; - if (__pyx_t_14) { + __pyx_L10_next_or:; + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_11 = __pyx_t_12; + __pyx_L9_bool_binop_done:; + if (__pyx_t_11) { - /* "argpartsort.pyx":1284 + /* "argpartsort.pyx":1273 * return y - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i2 in range(n2): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_16 = 0; - __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_13 = 0; + __pyx_t_14 = 0; + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_Raise(__pyx_t_17, 0, 0, 0); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_Raise(__pyx_t_14, 0, 0, 0); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1285 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * l = 0 + /* "argpartsort.pyx":1274 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_t_5 = __pyx_v_n0; + __pyx_t_5 = __pyx_v_n1; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":1286 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + /* "argpartsort.pyx":1275 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * while l < r: */ - __pyx_t_7 = __pyx_v_n2; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i2 = __pyx_t_8; + __pyx_v_l = 0; - /* "argpartsort.pyx":1287 - * for i0 in range(n0): - * for i2 in range(n2): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + /* "argpartsort.pyx":1276 + * for i1 in range(n1): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[k, i1] */ - __pyx_v_l = 0; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":1288 - * for i2 in range(n2): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k, i2] + /* "argpartsort.pyx":1277 + * l = 0 + * r = n0 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[k, i1] + * i = l */ - __pyx_v_r = (__pyx_v_n1 - 1); + while (1) { + __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_11) break; - /* "argpartsort.pyx":1289 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k, i2] - * i = l + /* "argpartsort.pyx":1278 + * r = n0 - 1 + * while l < r: + * x = b[k, i1] # <<<<<<<<<<<<<< + * i = l + * j = r */ - while (1) { - __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_14) break; + __pyx_t_16 = __pyx_v_k; + __pyx_t_7 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1290 - * r = n1 - 1 - * while l < r: - * x = b[i0, k, i2] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":1279 + * while l < r: + * x = b[k, i1] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_k; - __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1291 - * while l < r: - * x = b[i0, k, i2] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":1280 + * x = b[k, i1] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i, i1] < x: i += 1 */ - __pyx_v_i = __pyx_v_l; + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1292 - * x = b[i0, k, i2] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i, i2] < x: i += 1 + /* "argpartsort.pyx":1281 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ - __pyx_v_j = __pyx_v_r; + while (1) { - /* "argpartsort.pyx":1293 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 + /* "argpartsort.pyx":1282 + * j = r + * while 1: + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 + * if i <= j: */ while (1) { + __pyx_t_17 = __pyx_v_i; + __pyx_t_8 = __pyx_v_i1; + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_11) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1294 - * j = r - * while 1: - * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: - */ - while (1) { - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_14) break; - __pyx_v_i = (__pyx_v_i + 1); - } - - /* "argpartsort.pyx":1295 - * while 1: - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i, i2] + /* "argpartsort.pyx":1283 + * while 1: + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i, i1] */ - while (1) { - __pyx_t_23 = __pyx_v_i0; - __pyx_t_24 = __pyx_v_j; - __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_14) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_11) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":1296 - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] + /* "argpartsort.pyx":1284 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ - __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_14) { + __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":1297 - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: - * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp + /* "argpartsort.pyx":1285 + * while x < b[j, i1]: j -= 1 + * if i <= j: + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_i; - __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1298 - * if i <= j: - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< - * b[i0, j, i2] = tmp - * itmp = y[i0, i, i2] + /* "argpartsort.pyx":1286 + * if i <= j: + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp + * itmp = y[i, i1] */ - __pyx_t_29 = __pyx_v_i0; - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i2; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i; - __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1299 - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i, i2] - * y[i0, i, i2] = y[i0, j, i2] + /* "argpartsort.pyx":1287 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] */ - __pyx_t_35 = __pyx_v_i0; - __pyx_t_36 = __pyx_v_j; - __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_j; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1300 - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp - * itmp = y[i0, i, i2] # <<<<<<<<<<<<<< - * y[i0, i, i2] = y[i0, j, i2] - * y[i0, j, i2] = itmp + /* "argpartsort.pyx":1288 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp + * itmp = y[i, i1] # <<<<<<<<<<<<<< + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp */ - __pyx_t_38 = __pyx_v_i0; - __pyx_t_39 = __pyx_v_i; - __pyx_t_40 = __pyx_v_i2; - __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_28 = __pyx_v_i; + __pyx_t_29 = __pyx_v_i1; + __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1301 - * b[i0, j, i2] = tmp - * itmp = y[i0, i, i2] - * y[i0, i, i2] = y[i0, j, i2] # <<<<<<<<<<<<<< - * y[i0, j, i2] = itmp - * i += 1 + /* "argpartsort.pyx":1289 + * b[j, i1] = tmp + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< + * y[j, i1] = itmp + * i += 1 */ - __pyx_t_41 = __pyx_v_i0; - __pyx_t_42 = __pyx_v_j; - __pyx_t_43 = __pyx_v_i2; - __pyx_t_44 = __pyx_v_i0; - __pyx_t_45 = __pyx_v_i; - __pyx_t_46 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_i; + __pyx_t_33 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1302 - * itmp = y[i0, i, i2] - * y[i0, i, i2] = y[i0, j, i2] - * y[i0, j, i2] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":1290 + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_47 = __pyx_v_i0; - __pyx_t_48 = __pyx_v_j; - __pyx_t_49 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; + __pyx_t_34 = __pyx_v_j; + __pyx_t_35 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1303 - * y[i0, i, i2] = y[i0, j, i2] - * y[i0, j, i2] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":1291 + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1304 - * y[i0, j, i2] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":1292 + * y[j, i1] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L25; - } - __pyx_L25:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L21; + } + __pyx_L21:; - /* "argpartsort.pyx":1305 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1293 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_14) { - goto __pyx_L20_break; - } + __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_11) { + goto __pyx_L16_break; } - __pyx_L20_break:; + } + __pyx_L16_break:; - /* "argpartsort.pyx":1306 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":1294 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return y */ - __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_14) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L27; - } - __pyx_L27:; + __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_11) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L23; + } + __pyx_L23:; - /* "argpartsort.pyx":1307 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1295 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_14) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L28; - } - __pyx_L28:; + __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_11) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L24; } + __pyx_L24:; } } - /* "argpartsort.pyx":1308 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1296 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -18466,27 +18261,27 @@ static PyObject *__pyx_pf_11argpartsort_48argpartsort_3d_int64_axis1(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1263 + /* "argpartsort.pyx":1254 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=1." + * def argpartsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -18501,19 +18296,19 @@ static PyObject *__pyx_pf_11argpartsort_48argpartsort_3d_int64_axis1(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":1312 +/* "argpartsort.pyx":1300 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=2." + * def argpartsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_51argpartsort_3d_int64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_50argpartsort_3d_int64_axis2[] = "argpartsort_3d_int64_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=2."; -static PyMethodDef __pyx_mdef_11argpartsort_51argpartsort_3d_int64_axis2 = {"argpartsort_3d_int64_axis2", (PyCFunction)__pyx_pw_11argpartsort_51argpartsort_3d_int64_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_50argpartsort_3d_int64_axis2}; -static PyObject *__pyx_pw_11argpartsort_51argpartsort_3d_int64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_51argpartsort_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_50argpartsort_2d_int_axis1[] = "argpartsort_2d_int_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_51argpartsort_2d_int_axis1 = {"argpartsort_2d_int_axis1", (PyCFunction)__pyx_pw_11argpartsort_51argpartsort_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_50argpartsort_2d_int_axis1}; +static PyObject *__pyx_pw_11argpartsort_51argpartsort_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -18521,7 +18316,7 @@ static PyObject *__pyx_pw_11argpartsort_51argpartsort_3d_int64_axis2(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -18542,11 +18337,11 @@ static PyObject *__pyx_pw_11argpartsort_51argpartsort_3d_int64_axis2(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int64_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -18555,18 +18350,18 @@ static PyObject *__pyx_pw_11argpartsort_51argpartsort_3d_int64_axis2(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_50argpartsort_3d_int64_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_50argpartsort_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -18577,23 +18372,21 @@ static PyObject *__pyx_pw_11argpartsort_51argpartsort_3d_int64_axis2(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_50argpartsort_3d_int64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_50argpartsort_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; - Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -18606,7 +18399,7 @@ static PyObject *__pyx_pf_11argpartsort_50argpartsort_3d_int64_axis2(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[3]; + npy_intp __pyx_t_3[2]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; @@ -18614,49 +18407,35 @@ static PyObject *__pyx_pf_11argpartsort_50argpartsort_3d_int64_axis2(CYTHON_UNUS Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - int __pyx_t_14; - int __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; + int __pyx_t_11; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + npy_intp __pyx_t_16; + npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; npy_intp __pyx_t_19; Py_ssize_t __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; Py_ssize_t __pyx_t_24; npy_intp __pyx_t_25; Py_ssize_t __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; - Py_ssize_t __pyx_t_29; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; + npy_intp __pyx_t_29; Py_ssize_t __pyx_t_30; npy_intp __pyx_t_31; Py_ssize_t __pyx_t_32; - Py_ssize_t __pyx_t_33; - npy_intp __pyx_t_34; - Py_ssize_t __pyx_t_35; - Py_ssize_t __pyx_t_36; - npy_intp __pyx_t_37; - Py_ssize_t __pyx_t_38; - Py_ssize_t __pyx_t_39; - npy_intp __pyx_t_40; - Py_ssize_t __pyx_t_41; - Py_ssize_t __pyx_t_42; - npy_intp __pyx_t_43; - Py_ssize_t __pyx_t_44; - Py_ssize_t __pyx_t_45; - npy_intp __pyx_t_46; - Py_ssize_t __pyx_t_47; - Py_ssize_t __pyx_t_48; - npy_intp __pyx_t_49; + npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_34; + npy_intp __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis2", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -18671,45 +18450,45 @@ static PyObject *__pyx_pf_11argpartsort_50argpartsort_3d_int64_axis2(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":1314 - * def argpartsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int64 along axis=2." + /* "argpartsort.pyx":1302 + * def argpartsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1316 + /* "argpartsort.pyx":1304 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1319 - * cdef Py_ssize_t i0, i1, i2 + /* "argpartsort.pyx":1307 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -18717,132 +18496,109 @@ static PyObject *__pyx_pf_11argpartsort_50argpartsort_3d_int64_axis2(CYTHON_UNUS */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1320 + /* "argpartsort.pyx":1308 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1321 + /* "argpartsort.pyx":1309 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":1322 + /* "argpartsort.pyx":1310 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "argpartsort.pyx":1323 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; __pyx_t_3[1] = __pyx_v_n1; - __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1324 - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1311 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1326 - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + /* "argpartsort.pyx":1313 + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * for i2 in range(n2): + * y[i0, i1] = i1 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1327 + /* "argpartsort.pyx":1314 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * y[i0, i1, i2] = i2 + * y[i0, i1] = i1 + * if n1 == 0: */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1328 + /* "argpartsort.pyx":1315 * for i0 in range(n0): * for i1 in range(n1): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * y[i0, i1, i2] = i2 - * if n2 == 0: - */ - __pyx_t_9 = __pyx_v_n2; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i2 = __pyx_t_10; - - /* "argpartsort.pyx":1329 - * for i1 in range(n1): - * for i2 in range(n2): - * y[i0, i1, i2] = i2 # <<<<<<<<<<<<<< - * if n2 == 0: + * y[i0, i1] = i1 # <<<<<<<<<<<<<< + * if n1 == 0: * return y */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_t_13 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i2; - } + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; } } - /* "argpartsort.pyx":1330 - * for i2 in range(n2): - * y[i0, i1, i2] = i2 - * if n2 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1316 + * for i1 in range(n1): + * y[i0, i1] = i1 + * if n1 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n2): + * if (n < 1) or (n > n1): */ - __pyx_t_14 = ((__pyx_v_n2 == 0) != 0); - if (__pyx_t_14) { + __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":1331 - * y[i0, i1, i2] = i2 - * if n2 == 0: + /* "argpartsort.pyx":1317 + * y[i0, i1] = i1 + * if n1 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -18850,343 +18606,320 @@ static PyObject *__pyx_pf_11argpartsort_50argpartsort_3d_int64_axis2(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":1332 - * if n2 == 0: + /* "argpartsort.pyx":1318 + * if n1 == 0: * return y - * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): */ - __pyx_t_15 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_15) { - goto __pyx_L12_next_or; + __pyx_t_12 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_12) { + goto __pyx_L10_next_or; } else { - __pyx_t_14 = __pyx_t_15; - goto __pyx_L11_bool_binop_done; + __pyx_t_11 = __pyx_t_12; + goto __pyx_L9_bool_binop_done; } - __pyx_L12_next_or:; - __pyx_t_15 = ((__pyx_v_n > __pyx_v_n2) != 0); - __pyx_t_14 = __pyx_t_15; - __pyx_L11_bool_binop_done:; - if (__pyx_t_14) { + __pyx_L10_next_or:; + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_11 = __pyx_t_12; + __pyx_L9_bool_binop_done:; + if (__pyx_t_11) { - /* "argpartsort.pyx":1333 + /* "argpartsort.pyx":1319 * return y - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_16 = 0; - __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_13 = 0; + __pyx_t_14 = 0; + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_Raise(__pyx_t_17, 0, 0, 0); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_Raise(__pyx_t_14, 0, 0, 0); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1334 - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) + /* "argpartsort.pyx":1320 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * l = 0 + * l = 0 + * r = n1 - 1 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1335 - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) + /* "argpartsort.pyx":1321 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * l = 0 - * r = n2 - 1 + * l = 0 # <<<<<<<<<<<<<< + * r = n1 - 1 + * while l < r: */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_v_l = 0; - /* "argpartsort.pyx":1336 + /* "argpartsort.pyx":1322 * for i0 in range(n0): - * for i1 in range(n1): - * l = 0 # <<<<<<<<<<<<<< - * r = n2 - 1 - * while l < r: + * l = 0 + * r = n1 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[i0, k] */ - __pyx_v_l = 0; + __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":1337 - * for i1 in range(n1): - * l = 0 - * r = n2 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, i1, k] + /* "argpartsort.pyx":1323 + * l = 0 + * r = n1 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[i0, k] + * i = l */ - __pyx_v_r = (__pyx_v_n2 - 1); + while (1) { + __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_11) break; - /* "argpartsort.pyx":1338 - * l = 0 - * r = n2 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, i1, k] - * i = l + /* "argpartsort.pyx":1324 + * r = n1 - 1 + * while l < r: + * x = b[i0, k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - while (1) { - __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_14) break; + __pyx_t_7 = __pyx_v_i0; + __pyx_t_16 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1339 - * r = n2 - 1 - * while l < r: - * x = b[i0, i1, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":1325 + * while l < r: + * x = b[i0, k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_t_19 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1340 - * while l < r: - * x = b[i0, i1, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":1326 + * x = b[i0, k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i0, i] < x: i += 1 */ - __pyx_v_i = __pyx_v_l; + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1341 - * x = b[i0, i1, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i1, i] < x: i += 1 + /* "argpartsort.pyx":1327 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ - __pyx_v_j = __pyx_v_r; + while (1) { - /* "argpartsort.pyx":1342 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 + /* "argpartsort.pyx":1328 + * j = r + * while 1: + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 + * if i <= j: */ while (1) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_i; + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_11) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1343 - * j = r - * while 1: - * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: - */ - while (1) { - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i1; - __pyx_t_22 = __pyx_v_i; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_14) break; - __pyx_v_i = (__pyx_v_i + 1); - } - - /* "argpartsort.pyx":1344 - * while 1: - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i1, i] + /* "argpartsort.pyx":1329 + * while 1: + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i0, i] */ - while (1) { - __pyx_t_23 = __pyx_v_i0; - __pyx_t_24 = __pyx_v_i1; - __pyx_t_25 = __pyx_v_j; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_14) break; - __pyx_v_j = (__pyx_v_j - 1); - } - - /* "argpartsort.pyx":1345 - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] + while (1) { + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_11) break; + __pyx_v_j = (__pyx_v_j - 1); + } + + /* "argpartsort.pyx":1330 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ - __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_14) { + __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":1346 - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp + /* "argpartsort.pyx":1331 + * while x < b[i0, j]: j -= 1 + * if i <= j: + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_i1; - __pyx_t_28 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1347 - * if i <= j: - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< - * b[i0, i1, j] = tmp - * itmp = y[i0, i1, i] + /* "argpartsort.pyx":1332 + * if i <= j: + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp + * itmp = y[i0, i] */ - __pyx_t_29 = __pyx_v_i0; - __pyx_t_30 = __pyx_v_i1; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i1; - __pyx_t_34 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1348 - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i1, i] - * y[i0, i1, i] = y[i0, i1, j] + /* "argpartsort.pyx":1333 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] */ - __pyx_t_35 = __pyx_v_i0; - __pyx_t_36 = __pyx_v_i1; - __pyx_t_37 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1349 - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp - * itmp = y[i0, i1, i] # <<<<<<<<<<<<<< - * y[i0, i1, i] = y[i0, i1, j] - * y[i0, i1, j] = itmp + /* "argpartsort.pyx":1334 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp + * itmp = y[i0, i] # <<<<<<<<<<<<<< + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp */ - __pyx_t_38 = __pyx_v_i0; - __pyx_t_39 = __pyx_v_i1; - __pyx_t_40 = __pyx_v_i; - __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_28 = __pyx_v_i0; + __pyx_t_29 = __pyx_v_i; + __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1350 - * b[i0, i1, j] = tmp - * itmp = y[i0, i1, i] - * y[i0, i1, i] = y[i0, i1, j] # <<<<<<<<<<<<<< - * y[i0, i1, j] = itmp - * i += 1 + /* "argpartsort.pyx":1335 + * b[i0, j] = tmp + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< + * y[i0, j] = itmp + * i += 1 */ - __pyx_t_41 = __pyx_v_i0; - __pyx_t_42 = __pyx_v_i1; - __pyx_t_43 = __pyx_v_j; - __pyx_t_44 = __pyx_v_i0; - __pyx_t_45 = __pyx_v_i1; - __pyx_t_46 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1351 - * itmp = y[i0, i1, i] - * y[i0, i1, i] = y[i0, i1, j] - * y[i0, i1, j] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":1336 + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_47 = __pyx_v_i0; - __pyx_t_48 = __pyx_v_i1; - __pyx_t_49 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; + __pyx_t_34 = __pyx_v_i0; + __pyx_t_35 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1352 - * y[i0, i1, i] = y[i0, i1, j] - * y[i0, i1, j] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":1337 + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1353 - * y[i0, i1, j] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":1338 + * y[i0, j] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L25; - } - __pyx_L25:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L21; + } + __pyx_L21:; - /* "argpartsort.pyx":1354 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1339 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_14) { - goto __pyx_L20_break; - } + __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_11) { + goto __pyx_L16_break; } - __pyx_L20_break:; + } + __pyx_L16_break:; - /* "argpartsort.pyx":1355 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":1340 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return y */ - __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_14) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L27; - } - __pyx_L27:; + __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_11) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L23; + } + __pyx_L23:; - /* "argpartsort.pyx":1356 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1341 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_14) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L28; - } - __pyx_L28:; + __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_11) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L24; } + __pyx_L24:; } } - /* "argpartsort.pyx":1357 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1342 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -19196,27 +18929,27 @@ static PyObject *__pyx_pf_11argpartsort_50argpartsort_3d_int64_axis2(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1312 + /* "argpartsort.pyx":1300 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=2." + * def argpartsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -19231,19 +18964,19 @@ static PyObject *__pyx_pf_11argpartsort_50argpartsort_3d_int64_axis2(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":1361 +/* "argpartsort.pyx":1346 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float along axis=0." + * def argpartsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_53argpartsort_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_52argpartsort_1d_float_axis0[] = "argpartsort_1d_float_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_53argpartsort_1d_float_axis0 = {"argpartsort_1d_float_axis0", (PyCFunction)__pyx_pw_11argpartsort_53argpartsort_1d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_52argpartsort_1d_float_axis0}; -static PyObject *__pyx_pw_11argpartsort_53argpartsort_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_53argpartsort_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_52argpartsort_2d_int8_axis0[] = "argpartsort_2d_int8_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_53argpartsort_2d_int8_axis0 = {"argpartsort_2d_int8_axis0", (PyCFunction)__pyx_pw_11argpartsort_53argpartsort_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_52argpartsort_2d_int8_axis0}; +static PyObject *__pyx_pw_11argpartsort_53argpartsort_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -19251,7 +18984,7 @@ static PyObject *__pyx_pw_11argpartsort_53argpartsort_1d_float_axis0(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_1d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int8_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -19272,11 +19005,11 @@ static PyObject *__pyx_pw_11argpartsort_53argpartsort_1d_float_axis0(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -19285,18 +19018,18 @@ static PyObject *__pyx_pw_11argpartsort_53argpartsort_1d_float_axis0(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_52argpartsort_1d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_52argpartsort_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -19307,19 +19040,21 @@ static PyObject *__pyx_pw_11argpartsort_53argpartsort_1d_float_axis0(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_52argpartsort_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_52argpartsort_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -19332,31 +19067,43 @@ static PyObject *__pyx_pf_11argpartsort_52argpartsort_1d_float_axis0(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[1]; + npy_intp __pyx_t_3[2]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - int __pyx_t_8; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - npy_intp __pyx_t_13; - npy_intp __pyx_t_14; - npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + int __pyx_t_11; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; npy_intp __pyx_t_18; - npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_19; npy_intp __pyx_t_20; - npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_21; npy_intp __pyx_t_22; - npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_23; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_29; + npy_intp __pyx_t_30; + Py_ssize_t __pyx_t_31; + npy_intp __pyx_t_32; + Py_ssize_t __pyx_t_33; + npy_intp __pyx_t_34; + Py_ssize_t __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_1d_float_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int8_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -19371,128 +19118,151 @@ static PyObject *__pyx_pf_11argpartsort_52argpartsort_1d_float_axis0(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":1363 - * def argpartsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=float along axis=0." + /* "argpartsort.pyx":1348 + * def argpartsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1365 + /* "argpartsort.pyx":1350 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1368 - * cdef Py_ssize_t i0 + /* "argpartsort.pyx":1353 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1369 + /* "argpartsort.pyx":1354 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1370 + /* "argpartsort.pyx":1355 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "argpartsort.pyx":1356 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; + __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1371 - * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1357 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1373 - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + /* "argpartsort.pyx":1359 + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = i0 - * if n0 == 0: + * for i1 in range(n1): + * y[i0, i1] = i0 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1374 + /* "argpartsort.pyx":1360 * NPY_intp, 0) * for i0 in range(n0): - * y[i0] = i0 # <<<<<<<<<<<<<< + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i0, i1] = i0 + * if n0 == 0: + */ + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; + + /* "argpartsort.pyx":1361 + * for i0 in range(n0): + * for i1 in range(n1): + * y[i0, i1] = i0 # <<<<<<<<<<<<<< * if n0 == 0: * return y */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; + } } - /* "argpartsort.pyx":1375 - * for i0 in range(n0): - * y[i0] = i0 + /* "argpartsort.pyx":1362 + * for i1 in range(n1): + * y[i0, i1] = i0 * if n0 == 0: # <<<<<<<<<<<<<< * return y * if (n < 1) or (n > n0): */ - __pyx_t_8 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_8) { + __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":1376 - * y[i0] = i0 + /* "argpartsort.pyx":1363 + * y[i0, i1] = i0 * if n0 == 0: * return y # <<<<<<<<<<<<<< * if (n < 1) or (n > n0): @@ -19504,328 +19274,318 @@ static PyObject *__pyx_pf_11argpartsort_52argpartsort_1d_float_axis0(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":1377 + /* "argpartsort.pyx":1364 * if n0 == 0: * return y * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 + * for i1 in range(n1): */ - __pyx_t_9 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_9) { - goto __pyx_L8_next_or; + __pyx_t_12 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_12) { + goto __pyx_L10_next_or; } else { - __pyx_t_8 = __pyx_t_9; - goto __pyx_L7_bool_binop_done; + __pyx_t_11 = __pyx_t_12; + goto __pyx_L9_bool_binop_done; } - __pyx_L8_next_or:; - __pyx_t_9 = ((__pyx_v_n > __pyx_v_n0) != 0); - __pyx_t_8 = __pyx_t_9; - __pyx_L7_bool_binop_done:; - if (__pyx_t_8) { + __pyx_L10_next_or:; + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_11 = __pyx_t_12; + __pyx_L9_bool_binop_done:; + if (__pyx_t_11) { - /* "argpartsort.pyx":1378 + /* "argpartsort.pyx":1365 * return y * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * for i1 in range(n1): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_10 = 0; - __pyx_t_11 = 0; - __pyx_t_11 = PyNumber_Remainder(__pyx_t_1, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_13 = 0; + __pyx_t_14 = 0; + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_Raise(__pyx_t_11, 0, 0, 0); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_Raise(__pyx_t_14, 0, 0, 0); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1379 + /* "argpartsort.pyx":1366 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_v_l = 0; + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":1380 + /* "argpartsort.pyx":1367 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "argpartsort.pyx":1381 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1368 + * for i1 in range(n1): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[k, i1] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":1382 - * r = n0 - 1 - * with nogil: + /* "argpartsort.pyx":1369 + * l = 0 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[k, i1] * i = l */ - while (1) { - __pyx_t_8 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_8) break; + while (1) { + __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_11) break; - /* "argpartsort.pyx":1383 - * with nogil: + /* "argpartsort.pyx":1370 + * r = n0 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_13 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_16 = __pyx_v_k; + __pyx_t_7 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1384 + /* "argpartsort.pyx":1371 * while l < r: - * x = b[k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1385 - * x = b[k] + /* "argpartsort.pyx":1372 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1386 + /* "argpartsort.pyx":1373 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ - while (1) { + while (1) { - /* "argpartsort.pyx":1387 + /* "argpartsort.pyx":1374 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_14 = __pyx_v_i; - __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_8) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_17 = __pyx_v_i; + __pyx_t_8 = __pyx_v_i1; + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_11) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1388 + /* "argpartsort.pyx":1375 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i, i1] */ - while (1) { - __pyx_t_15 = __pyx_v_j; - __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_8) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_11) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":1389 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "argpartsort.pyx":1376 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ - __pyx_t_8 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_8) { + __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":1390 - * while x < b[j]: j -= 1 + /* "argpartsort.pyx":1377 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_16 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1391 + /* "argpartsort.pyx":1378 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp - * itmp = y[i] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp + * itmp = y[i, i1] */ - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1392 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i] - * y[i] = y[j] + /* "argpartsort.pyx":1379 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] */ - __pyx_t_19 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_j; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1393 - * b[i] = b[j] - * b[j] = tmp - * itmp = y[i] # <<<<<<<<<<<<<< - * y[i] = y[j] - * y[j] = itmp + /* "argpartsort.pyx":1380 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp + * itmp = y[i, i1] # <<<<<<<<<<<<<< + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp */ - __pyx_t_20 = __pyx_v_i; - __pyx_v_itmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_y.diminfo[0].strides)); + __pyx_t_28 = __pyx_v_i; + __pyx_t_29 = __pyx_v_i1; + __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1394 - * b[j] = tmp - * itmp = y[i] - * y[i] = y[j] # <<<<<<<<<<<<<< - * y[j] = itmp + /* "argpartsort.pyx":1381 + * b[j, i1] = tmp + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< + * y[j, i1] = itmp * i += 1 */ - __pyx_t_21 = __pyx_v_j; - __pyx_t_22 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_y.diminfo[0].strides)); + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_i; + __pyx_t_33 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1395 - * itmp = y[i] - * y[i] = y[j] - * y[j] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1382 + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_itmp; + __pyx_t_34 = __pyx_v_j; + __pyx_t_35 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1396 - * y[i] = y[j] - * y[j] = itmp + /* "argpartsort.pyx":1383 + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1397 - * y[j] = itmp + /* "argpartsort.pyx":1384 + * y[j, i1] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L20; - } - __pyx_L20:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L21; + } + __pyx_L21:; - /* "argpartsort.pyx":1398 + /* "argpartsort.pyx":1385 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_8 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_8) { - goto __pyx_L15_break; - } - } - __pyx_L15_break:; + __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_11) { + goto __pyx_L16_break; + } + } + __pyx_L16_break:; - /* "argpartsort.pyx":1399 + /* "argpartsort.pyx":1386 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j * return y */ - __pyx_t_8 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_8) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L22; - } - __pyx_L22:; + __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_11) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L23; + } + __pyx_L23:; - /* "argpartsort.pyx":1400 + /* "argpartsort.pyx":1387 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_8) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L23; - } - __pyx_L23:; - } - } - - /* "argpartsort.pyx":1381 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] - */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L11; - } - __pyx_L11:; + __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_11) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L24; } + __pyx_L24:; + } } - /* "argpartsort.pyx":1401 + /* "argpartsort.pyx":1388 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -19837,27 +19597,27 @@ static PyObject *__pyx_pf_11argpartsort_52argpartsort_1d_float_axis0(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1361 + /* "argpartsort.pyx":1346 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float along axis=0." + * def argpartsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -19872,19 +19632,19 @@ static PyObject *__pyx_pf_11argpartsort_52argpartsort_1d_float_axis0(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":1405 +/* "argpartsort.pyx":1392 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float32 along axis=0." + * def argpartsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_55argpartsort_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_54argpartsort_1d_float32_axis0[] = "argpartsort_1d_float32_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_55argpartsort_1d_float32_axis0 = {"argpartsort_1d_float32_axis0", (PyCFunction)__pyx_pw_11argpartsort_55argpartsort_1d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_54argpartsort_1d_float32_axis0}; -static PyObject *__pyx_pw_11argpartsort_55argpartsort_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_55argpartsort_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_54argpartsort_2d_int8_axis1[] = "argpartsort_2d_int8_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int8 along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_55argpartsort_2d_int8_axis1 = {"argpartsort_2d_int8_axis1", (PyCFunction)__pyx_pw_11argpartsort_55argpartsort_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_54argpartsort_2d_int8_axis1}; +static PyObject *__pyx_pw_11argpartsort_55argpartsort_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -19892,7 +19652,7 @@ static PyObject *__pyx_pw_11argpartsort_55argpartsort_1d_float32_axis0(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_1d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int8_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -19913,11 +19673,11 @@ static PyObject *__pyx_pw_11argpartsort_55argpartsort_1d_float32_axis0(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -19926,18 +19686,18 @@ static PyObject *__pyx_pw_11argpartsort_55argpartsort_1d_float32_axis0(PyObject values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_54argpartsort_1d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_54argpartsort_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -19948,19 +19708,21 @@ static PyObject *__pyx_pw_11argpartsort_55argpartsort_1d_float32_axis0(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_54argpartsort_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_54argpartsort_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -19973,31 +19735,43 @@ static PyObject *__pyx_pf_11argpartsort_54argpartsort_1d_float32_axis0(CYTHON_UN __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[1]; + npy_intp __pyx_t_3[2]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - int __pyx_t_8; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - npy_intp __pyx_t_13; - npy_intp __pyx_t_14; - npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + int __pyx_t_11; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; - npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_18; npy_intp __pyx_t_19; - npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_20; npy_intp __pyx_t_21; - npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_22; npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; + Py_ssize_t __pyx_t_26; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; + npy_intp __pyx_t_29; + Py_ssize_t __pyx_t_30; + npy_intp __pyx_t_31; + Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_34; + npy_intp __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_1d_float32_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int8_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -20012,132 +19786,155 @@ static PyObject *__pyx_pf_11argpartsort_54argpartsort_1d_float32_axis0(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":1407 - * def argpartsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=float32 along axis=0." + /* "argpartsort.pyx":1394 + * def argpartsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1409 + /* "argpartsort.pyx":1396 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1412 - * cdef Py_ssize_t i0 + /* "argpartsort.pyx":1399 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1413 + /* "argpartsort.pyx":1400 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1414 + /* "argpartsort.pyx":1401 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "argpartsort.pyx":1402 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; + __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1415 - * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1403 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1417 - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + /* "argpartsort.pyx":1405 + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = i0 - * if n0 == 0: + * for i1 in range(n1): + * y[i0, i1] = i1 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1418 + /* "argpartsort.pyx":1406 * NPY_intp, 0) * for i0 in range(n0): - * y[i0] = i0 # <<<<<<<<<<<<<< - * if n0 == 0: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i0, i1] = i1 + * if n1 == 0: + */ + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; + + /* "argpartsort.pyx":1407 + * for i0 in range(n0): + * for i1 in range(n1): + * y[i0, i1] = i1 # <<<<<<<<<<<<<< + * if n1 == 0: * return y */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; + } } - /* "argpartsort.pyx":1419 - * for i0 in range(n0): - * y[i0] = i0 - * if n0 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1408 + * for i1 in range(n1): + * y[i0, i1] = i1 + * if n1 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_8 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_8) { + __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":1420 - * y[i0] = i0 - * if n0 == 0: + /* "argpartsort.pyx":1409 + * y[i0, i1] = i1 + * if n1 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -20145,328 +19942,318 @@ static PyObject *__pyx_pf_11argpartsort_54argpartsort_1d_float32_axis0(CYTHON_UN goto __pyx_L0; } - /* "argpartsort.pyx":1421 - * if n0 == 0: + /* "argpartsort.pyx":1410 + * if n1 == 0: * return y - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ - __pyx_t_9 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_9) { - goto __pyx_L8_next_or; + __pyx_t_12 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_12) { + goto __pyx_L10_next_or; } else { - __pyx_t_8 = __pyx_t_9; - goto __pyx_L7_bool_binop_done; + __pyx_t_11 = __pyx_t_12; + goto __pyx_L9_bool_binop_done; } - __pyx_L8_next_or:; - __pyx_t_9 = ((__pyx_v_n > __pyx_v_n0) != 0); - __pyx_t_8 = __pyx_t_9; - __pyx_L7_bool_binop_done:; - if (__pyx_t_8) { + __pyx_L10_next_or:; + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_11 = __pyx_t_12; + __pyx_L9_bool_binop_done:; + if (__pyx_t_11) { - /* "argpartsort.pyx":1422 + /* "argpartsort.pyx":1411 * return y - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_10 = 0; - __pyx_t_11 = 0; - __pyx_t_11 = PyNumber_Remainder(__pyx_t_1, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_13 = 0; + __pyx_t_14 = 0; + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_Raise(__pyx_t_11, 0, 0, 0); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_Raise(__pyx_t_14, 0, 0, 0); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1423 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + /* "argpartsort.pyx":1412 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * l = 0 + * r = n1 - 1 */ - __pyx_v_l = 0; + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1424 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + /* "argpartsort.pyx":1413 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): + * l = 0 # <<<<<<<<<<<<<< + * r = n1 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "argpartsort.pyx":1425 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1414 + * for i0 in range(n0): + * l = 0 + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[i0, k] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":1426 - * r = n0 - 1 - * with nogil: + /* "argpartsort.pyx":1415 + * l = 0 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[i0, k] * i = l */ - while (1) { - __pyx_t_8 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_8) break; + while (1) { + __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_11) break; - /* "argpartsort.pyx":1427 - * with nogil: + /* "argpartsort.pyx":1416 + * r = n1 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_13 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_7 = __pyx_v_i0; + __pyx_t_16 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1428 + /* "argpartsort.pyx":1417 * while l < r: - * x = b[k] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1429 - * x = b[k] + /* "argpartsort.pyx":1418 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i0, i] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1430 + /* "argpartsort.pyx":1419 * i = l * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ - while (1) { + while (1) { - /* "argpartsort.pyx":1431 + /* "argpartsort.pyx":1420 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_14 = __pyx_v_i; - __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_8) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_i; + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_11) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1432 + /* "argpartsort.pyx":1421 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i0, i] */ - while (1) { - __pyx_t_15 = __pyx_v_j; - __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_8) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_11) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":1433 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "argpartsort.pyx":1422 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ - __pyx_t_8 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_8) { + __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":1434 - * while x < b[j]: j -= 1 + /* "argpartsort.pyx":1423 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_16 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1435 + /* "argpartsort.pyx":1424 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp - * itmp = y[i] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp + * itmp = y[i0, i] */ - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1436 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i] - * y[i] = y[j] + /* "argpartsort.pyx":1425 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] */ - __pyx_t_19 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1437 - * b[i] = b[j] - * b[j] = tmp - * itmp = y[i] # <<<<<<<<<<<<<< - * y[i] = y[j] - * y[j] = itmp + /* "argpartsort.pyx":1426 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp + * itmp = y[i0, i] # <<<<<<<<<<<<<< + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp */ - __pyx_t_20 = __pyx_v_i; - __pyx_v_itmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_y.diminfo[0].strides)); + __pyx_t_28 = __pyx_v_i0; + __pyx_t_29 = __pyx_v_i; + __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1438 - * b[j] = tmp - * itmp = y[i] - * y[i] = y[j] # <<<<<<<<<<<<<< - * y[j] = itmp + /* "argpartsort.pyx":1427 + * b[i0, j] = tmp + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< + * y[i0, j] = itmp * i += 1 */ - __pyx_t_21 = __pyx_v_j; - __pyx_t_22 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_y.diminfo[0].strides)); + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1439 - * itmp = y[i] - * y[i] = y[j] - * y[j] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1428 + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_itmp; + __pyx_t_34 = __pyx_v_i0; + __pyx_t_35 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1440 - * y[i] = y[j] - * y[j] = itmp + /* "argpartsort.pyx":1429 + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1441 - * y[j] = itmp + /* "argpartsort.pyx":1430 + * y[i0, j] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L20; - } - __pyx_L20:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L21; + } + __pyx_L21:; - /* "argpartsort.pyx":1442 + /* "argpartsort.pyx":1431 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_8 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_8) { - goto __pyx_L15_break; - } - } - __pyx_L15_break:; + __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_11) { + goto __pyx_L16_break; + } + } + __pyx_L16_break:; - /* "argpartsort.pyx":1443 + /* "argpartsort.pyx":1432 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j * return y */ - __pyx_t_8 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_8) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L22; - } - __pyx_L22:; + __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_11) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L23; + } + __pyx_L23:; - /* "argpartsort.pyx":1444 + /* "argpartsort.pyx":1433 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_8) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L23; - } - __pyx_L23:; - } - } - - /* "argpartsort.pyx":1425 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] - */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L11; - } - __pyx_L11:; + __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_11) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L24; } + __pyx_L24:; + } } - /* "argpartsort.pyx":1445 + /* "argpartsort.pyx":1434 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -20478,27 +20265,27 @@ static PyObject *__pyx_pf_11argpartsort_54argpartsort_1d_float32_axis0(CYTHON_UN __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1405 + /* "argpartsort.pyx":1392 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float32 along axis=0." + * def argpartsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -20513,19 +20300,19 @@ static PyObject *__pyx_pf_11argpartsort_54argpartsort_1d_float32_axis0(CYTHON_UN return __pyx_r; } -/* "argpartsort.pyx":1449 +/* "argpartsort.pyx":1438 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float64 along axis=0." + * def argpartsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_57argpartsort_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_56argpartsort_1d_float64_axis0[] = "argpartsort_1d_float64_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_57argpartsort_1d_float64_axis0 = {"argpartsort_1d_float64_axis0", (PyCFunction)__pyx_pw_11argpartsort_57argpartsort_1d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_56argpartsort_1d_float64_axis0}; -static PyObject *__pyx_pw_11argpartsort_57argpartsort_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_57argpartsort_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_56argpartsort_2d_int32_axis0[] = "argpartsort_2d_int32_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_57argpartsort_2d_int32_axis0 = {"argpartsort_2d_int32_axis0", (PyCFunction)__pyx_pw_11argpartsort_57argpartsort_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_56argpartsort_2d_int32_axis0}; +static PyObject *__pyx_pw_11argpartsort_57argpartsort_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -20533,7 +20320,7 @@ static PyObject *__pyx_pw_11argpartsort_57argpartsort_1d_float64_axis0(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_1d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -20554,11 +20341,11 @@ static PyObject *__pyx_pw_11argpartsort_57argpartsort_1d_float64_axis0(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -20567,18 +20354,18 @@ static PyObject *__pyx_pw_11argpartsort_57argpartsort_1d_float64_axis0(PyObject values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_56argpartsort_1d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_56argpartsort_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -20589,19 +20376,21 @@ static PyObject *__pyx_pw_11argpartsort_57argpartsort_1d_float64_axis0(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_56argpartsort_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_56argpartsort_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -20614,31 +20403,43 @@ static PyObject *__pyx_pf_11argpartsort_56argpartsort_1d_float64_axis0(CYTHON_UN __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[1]; + npy_intp __pyx_t_3[2]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - int __pyx_t_8; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - npy_intp __pyx_t_13; - npy_intp __pyx_t_14; - npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + int __pyx_t_11; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; npy_intp __pyx_t_18; - npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_19; npy_intp __pyx_t_20; - npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_21; npy_intp __pyx_t_22; - npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_23; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_29; + npy_intp __pyx_t_30; + Py_ssize_t __pyx_t_31; + npy_intp __pyx_t_32; + Py_ssize_t __pyx_t_33; + npy_intp __pyx_t_34; + Py_ssize_t __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_1d_float64_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -20653,128 +20454,151 @@ static PyObject *__pyx_pf_11argpartsort_56argpartsort_1d_float64_axis0(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":1451 - * def argpartsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=float64 along axis=0." + /* "argpartsort.pyx":1440 + * def argpartsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1453 + /* "argpartsort.pyx":1442 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1456 - * cdef Py_ssize_t i0 + /* "argpartsort.pyx":1445 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1457 + /* "argpartsort.pyx":1446 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1458 + /* "argpartsort.pyx":1447 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "argpartsort.pyx":1448 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; + __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1459 - * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1449 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1461 - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + /* "argpartsort.pyx":1451 + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = i0 - * if n0 == 0: + * for i1 in range(n1): + * y[i0, i1] = i0 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1462 + /* "argpartsort.pyx":1452 * NPY_intp, 0) * for i0 in range(n0): - * y[i0] = i0 # <<<<<<<<<<<<<< + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i0, i1] = i0 + * if n0 == 0: + */ + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; + + /* "argpartsort.pyx":1453 + * for i0 in range(n0): + * for i1 in range(n1): + * y[i0, i1] = i0 # <<<<<<<<<<<<<< * if n0 == 0: * return y */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; + } } - /* "argpartsort.pyx":1463 - * for i0 in range(n0): - * y[i0] = i0 + /* "argpartsort.pyx":1454 + * for i1 in range(n1): + * y[i0, i1] = i0 * if n0 == 0: # <<<<<<<<<<<<<< * return y * if (n < 1) or (n > n0): */ - __pyx_t_8 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_8) { + __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":1464 - * y[i0] = i0 + /* "argpartsort.pyx":1455 + * y[i0, i1] = i0 * if n0 == 0: * return y # <<<<<<<<<<<<<< * if (n < 1) or (n > n0): @@ -20786,328 +20610,318 @@ static PyObject *__pyx_pf_11argpartsort_56argpartsort_1d_float64_axis0(CYTHON_UN goto __pyx_L0; } - /* "argpartsort.pyx":1465 + /* "argpartsort.pyx":1456 * if n0 == 0: * return y * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 + * for i1 in range(n1): */ - __pyx_t_9 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_9) { - goto __pyx_L8_next_or; + __pyx_t_12 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_12) { + goto __pyx_L10_next_or; } else { - __pyx_t_8 = __pyx_t_9; - goto __pyx_L7_bool_binop_done; + __pyx_t_11 = __pyx_t_12; + goto __pyx_L9_bool_binop_done; } - __pyx_L8_next_or:; - __pyx_t_9 = ((__pyx_v_n > __pyx_v_n0) != 0); - __pyx_t_8 = __pyx_t_9; - __pyx_L7_bool_binop_done:; - if (__pyx_t_8) { + __pyx_L10_next_or:; + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_11 = __pyx_t_12; + __pyx_L9_bool_binop_done:; + if (__pyx_t_11) { - /* "argpartsort.pyx":1466 + /* "argpartsort.pyx":1457 * return y * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * for i1 in range(n1): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_10 = 0; - __pyx_t_11 = 0; - __pyx_t_11 = PyNumber_Remainder(__pyx_t_1, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_13 = 0; + __pyx_t_14 = 0; + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_Raise(__pyx_t_11, 0, 0, 0); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_Raise(__pyx_t_14, 0, 0, 0); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1467 + /* "argpartsort.pyx":1458 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_v_l = 0; + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":1468 + /* "argpartsort.pyx":1459 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "argpartsort.pyx":1469 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1460 + * for i1 in range(n1): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[k, i1] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":1470 - * r = n0 - 1 - * with nogil: + /* "argpartsort.pyx":1461 + * l = 0 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[k, i1] * i = l */ - while (1) { - __pyx_t_8 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_8) break; + while (1) { + __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_11) break; - /* "argpartsort.pyx":1471 - * with nogil: + /* "argpartsort.pyx":1462 + * r = n0 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_13 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_16 = __pyx_v_k; + __pyx_t_7 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1472 + /* "argpartsort.pyx":1463 * while l < r: - * x = b[k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1473 - * x = b[k] + /* "argpartsort.pyx":1464 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1474 + /* "argpartsort.pyx":1465 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ - while (1) { + while (1) { - /* "argpartsort.pyx":1475 + /* "argpartsort.pyx":1466 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_14 = __pyx_v_i; - __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_8) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_17 = __pyx_v_i; + __pyx_t_8 = __pyx_v_i1; + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_11) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1476 + /* "argpartsort.pyx":1467 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i, i1] */ - while (1) { - __pyx_t_15 = __pyx_v_j; - __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_8) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_11) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":1477 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "argpartsort.pyx":1468 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ - __pyx_t_8 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_8) { + __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":1478 - * while x < b[j]: j -= 1 + /* "argpartsort.pyx":1469 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_16 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1479 + /* "argpartsort.pyx":1470 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp - * itmp = y[i] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp + * itmp = y[i, i1] */ - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1480 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i] - * y[i] = y[j] + /* "argpartsort.pyx":1471 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] */ - __pyx_t_19 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_j; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1481 - * b[i] = b[j] - * b[j] = tmp - * itmp = y[i] # <<<<<<<<<<<<<< - * y[i] = y[j] - * y[j] = itmp + /* "argpartsort.pyx":1472 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp + * itmp = y[i, i1] # <<<<<<<<<<<<<< + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp */ - __pyx_t_20 = __pyx_v_i; - __pyx_v_itmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_y.diminfo[0].strides)); + __pyx_t_28 = __pyx_v_i; + __pyx_t_29 = __pyx_v_i1; + __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1482 - * b[j] = tmp - * itmp = y[i] - * y[i] = y[j] # <<<<<<<<<<<<<< - * y[j] = itmp + /* "argpartsort.pyx":1473 + * b[j, i1] = tmp + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< + * y[j, i1] = itmp * i += 1 */ - __pyx_t_21 = __pyx_v_j; - __pyx_t_22 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_y.diminfo[0].strides)); + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_i; + __pyx_t_33 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1483 - * itmp = y[i] - * y[i] = y[j] - * y[j] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1474 + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_itmp; + __pyx_t_34 = __pyx_v_j; + __pyx_t_35 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1484 - * y[i] = y[j] - * y[j] = itmp + /* "argpartsort.pyx":1475 + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1485 - * y[j] = itmp + /* "argpartsort.pyx":1476 + * y[j, i1] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L20; - } - __pyx_L20:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L21; + } + __pyx_L21:; - /* "argpartsort.pyx":1486 + /* "argpartsort.pyx":1477 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_8 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_8) { - goto __pyx_L15_break; - } - } - __pyx_L15_break:; + __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_11) { + goto __pyx_L16_break; + } + } + __pyx_L16_break:; - /* "argpartsort.pyx":1487 + /* "argpartsort.pyx":1478 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j * return y */ - __pyx_t_8 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_8) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L22; - } - __pyx_L22:; + __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_11) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L23; + } + __pyx_L23:; - /* "argpartsort.pyx":1488 + /* "argpartsort.pyx":1479 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_8) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L23; - } - __pyx_L23:; - } - } - - /* "argpartsort.pyx":1469 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] - */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L11; - } - __pyx_L11:; + __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_11) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L24; } + __pyx_L24:; + } } - /* "argpartsort.pyx":1489 + /* "argpartsort.pyx":1480 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -21119,27 +20933,27 @@ static PyObject *__pyx_pf_11argpartsort_56argpartsort_1d_float64_axis0(CYTHON_UN __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1449 + /* "argpartsort.pyx":1438 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float64 along axis=0." + * def argpartsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -21154,19 +20968,19 @@ static PyObject *__pyx_pf_11argpartsort_56argpartsort_1d_float64_axis0(CYTHON_UN return __pyx_r; } -/* "argpartsort.pyx":1493 +/* "argpartsort.pyx":1484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=0." + * def argpartsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_59argpartsort_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_58argpartsort_2d_float_axis0[] = "argpartsort_2d_float_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_59argpartsort_2d_float_axis0 = {"argpartsort_2d_float_axis0", (PyCFunction)__pyx_pw_11argpartsort_59argpartsort_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_58argpartsort_2d_float_axis0}; -static PyObject *__pyx_pw_11argpartsort_59argpartsort_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_59argpartsort_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_58argpartsort_2d_int32_axis1[] = "argpartsort_2d_int32_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int32 along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_59argpartsort_2d_int32_axis1 = {"argpartsort_2d_int32_axis1", (PyCFunction)__pyx_pw_11argpartsort_59argpartsort_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_58argpartsort_2d_int32_axis1}; +static PyObject *__pyx_pw_11argpartsort_59argpartsort_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -21174,7 +20988,7 @@ static PyObject *__pyx_pw_11argpartsort_59argpartsort_2d_float_axis0(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -21195,11 +21009,11 @@ static PyObject *__pyx_pw_11argpartsort_59argpartsort_2d_float_axis0(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -21208,18 +21022,18 @@ static PyObject *__pyx_pw_11argpartsort_59argpartsort_2d_float_axis0(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_58argpartsort_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -21230,15 +21044,15 @@ static PyObject *__pyx_pw_11argpartsort_59argpartsort_2d_float_axis0(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -21272,28 +21086,28 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; - Py_ssize_t __pyx_t_29; - npy_intp __pyx_t_30; - Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; - Py_ssize_t __pyx_t_33; - npy_intp __pyx_t_34; - Py_ssize_t __pyx_t_35; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; + Py_ssize_t __pyx_t_26; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; + npy_intp __pyx_t_29; + Py_ssize_t __pyx_t_30; + npy_intp __pyx_t_31; + Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_34; + npy_intp __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_float_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int32_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -21308,36 +21122,36 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":1495 - * def argpartsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float along axis=0." + /* "argpartsort.pyx":1486 + * def argpartsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1497 + /* "argpartsort.pyx":1488 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -21345,7 +21159,7 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1500 + /* "argpartsort.pyx":1491 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -21354,7 +21168,7 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1501 + /* "argpartsort.pyx":1492 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -21363,7 +21177,7 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1502 + /* "argpartsort.pyx":1493 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -21372,7 +21186,7 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":1503 + /* "argpartsort.pyx":1494 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -21383,22 +21197,22 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1504 + /* "argpartsort.pyx":1495 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -21406,57 +21220,57 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1506 + /* "argpartsort.pyx":1497 * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i0 + * y[i0, i1] = i1 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1507 + /* "argpartsort.pyx":1498 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i0 - * if n0 == 0: + * y[i0, i1] = i1 + * if n1 == 0: */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1508 + /* "argpartsort.pyx":1499 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i0 # <<<<<<<<<<<<<< - * if n0 == 0: + * y[i0, i1] = i1 # <<<<<<<<<<<<<< + * if n1 == 0: * return y */ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; } } - /* "argpartsort.pyx":1509 + /* "argpartsort.pyx":1500 * for i1 in range(n1): - * y[i0, i1] = i0 - * if n0 == 0: # <<<<<<<<<<<<<< + * y[i0, i1] = i1 + * if n1 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":1510 - * y[i0, i1] = i0 - * if n0 == 0: + /* "argpartsort.pyx":1501 + * y[i0, i1] = i1 + * if n1 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -21464,12 +21278,12 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":1511 - * if n0 == 0: + /* "argpartsort.pyx":1502 + * if n1 == 0: * return y - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_12 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_12) { @@ -21479,25 +21293,25 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS goto __pyx_L9_bool_binop_done; } __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L9_bool_binop_done:; if (__pyx_t_11) { - /* "argpartsort.pyx":1512 + /* "argpartsort.pyx":1503 * return y - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -21505,222 +21319,222 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS __Pyx_GIVEREF(__pyx_t_14); __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_Raise(__pyx_t_14, 0, 0, 0); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1513 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1504 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_t_5 = __pyx_v_n1; + __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1514 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + /* "argpartsort.pyx":1505 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "argpartsort.pyx":1515 - * for i1 in range(n1): + /* "argpartsort.pyx":1506 + * for i0 in range(n0): * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":1516 + /* "argpartsort.pyx":1507 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_11) break; - /* "argpartsort.pyx":1517 - * r = n0 - 1 + /* "argpartsort.pyx":1508 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ + __pyx_t_7 = __pyx_v_i0; __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1518 + /* "argpartsort.pyx":1509 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1519 - * x = b[k, i1] + /* "argpartsort.pyx":1510 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1520 + /* "argpartsort.pyx":1511 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "argpartsort.pyx":1521 + /* "argpartsort.pyx":1512 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { + __pyx_t_8 = __pyx_v_i0; __pyx_t_17 = __pyx_v_i; - __pyx_t_8 = __pyx_v_i1; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_11) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":1522 + /* "argpartsort.pyx":1513 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_11) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":1523 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":1514 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":1524 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":1515 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1525 + /* "argpartsort.pyx":1516 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp - * itmp = y[i, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp + * itmp = y[i0, i] */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1526 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] + /* "argpartsort.pyx":1517 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] */ - __pyx_t_26 = __pyx_v_j; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1527 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp - * itmp = y[i, i1] # <<<<<<<<<<<<<< - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":1518 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp + * itmp = y[i0, i] # <<<<<<<<<<<<<< + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp */ - __pyx_t_28 = __pyx_v_i; - __pyx_t_29 = __pyx_v_i1; + __pyx_t_28 = __pyx_v_i0; + __pyx_t_29 = __pyx_v_i; __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1528 - * b[j, i1] = tmp - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< - * y[j, i1] = itmp + /* "argpartsort.pyx":1519 + * b[i0, j] = tmp + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< + * y[i0, j] = itmp * i += 1 */ - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_i; - __pyx_t_33 = __pyx_v_i1; + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1529 - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1520 + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_34 = __pyx_v_j; - __pyx_t_35 = __pyx_v_i1; + __pyx_t_34 = __pyx_v_i0; + __pyx_t_35 = __pyx_v_j; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1530 - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":1521 + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1531 - * y[j, i1] = itmp + /* "argpartsort.pyx":1522 + * y[i0, j] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -21731,7 +21545,7 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS } __pyx_L21:; - /* "argpartsort.pyx":1532 + /* "argpartsort.pyx":1523 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -21745,7 +21559,7 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS } __pyx_L16_break:; - /* "argpartsort.pyx":1533 + /* "argpartsort.pyx":1524 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -21759,7 +21573,7 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS } __pyx_L23:; - /* "argpartsort.pyx":1534 + /* "argpartsort.pyx":1525 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -21775,7 +21589,7 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS } } - /* "argpartsort.pyx":1535 + /* "argpartsort.pyx":1526 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -21787,11 +21601,11 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1493 + /* "argpartsort.pyx":1484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=0." + * def argpartsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -21807,7 +21621,7 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -21822,19 +21636,19 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":1539 +/* "argpartsort.pyx":1530 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=1." + * def argpartsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_61argpartsort_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_60argpartsort_2d_float_axis1[] = "argpartsort_2d_float_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_61argpartsort_2d_float_axis1 = {"argpartsort_2d_float_axis1", (PyCFunction)__pyx_pw_11argpartsort_61argpartsort_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_60argpartsort_2d_float_axis1}; -static PyObject *__pyx_pw_11argpartsort_61argpartsort_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_61argpartsort_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_60argpartsort_2d_int64_axis0[] = "argpartsort_2d_int64_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_61argpartsort_2d_int64_axis0 = {"argpartsort_2d_int64_axis0", (PyCFunction)__pyx_pw_11argpartsort_61argpartsort_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_60argpartsort_2d_int64_axis0}; +static PyObject *__pyx_pw_11argpartsort_61argpartsort_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -21842,7 +21656,7 @@ static PyObject *__pyx_pw_11argpartsort_61argpartsort_2d_float_axis1(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -21863,11 +21677,11 @@ static PyObject *__pyx_pw_11argpartsort_61argpartsort_2d_float_axis1(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -21876,18 +21690,18 @@ static PyObject *__pyx_pw_11argpartsort_61argpartsort_2d_float_axis1(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_60argpartsort_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -21898,15 +21712,15 @@ static PyObject *__pyx_pw_11argpartsort_61argpartsort_2d_float_axis1(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -21940,28 +21754,28 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; - Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; - Py_ssize_t __pyx_t_28; - npy_intp __pyx_t_29; - Py_ssize_t __pyx_t_30; - npy_intp __pyx_t_31; - Py_ssize_t __pyx_t_32; - npy_intp __pyx_t_33; - Py_ssize_t __pyx_t_34; - npy_intp __pyx_t_35; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_29; + npy_intp __pyx_t_30; + Py_ssize_t __pyx_t_31; + npy_intp __pyx_t_32; + Py_ssize_t __pyx_t_33; + npy_intp __pyx_t_34; + Py_ssize_t __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_float_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -21976,36 +21790,36 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":1541 - * def argpartsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float along axis=1." + /* "argpartsort.pyx":1532 + * def argpartsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1543 + /* "argpartsort.pyx":1534 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -22013,7 +21827,7 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1546 + /* "argpartsort.pyx":1537 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -22022,7 +21836,7 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1547 + /* "argpartsort.pyx":1538 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -22031,7 +21845,7 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1548 + /* "argpartsort.pyx":1539 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -22040,7 +21854,7 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":1549 + /* "argpartsort.pyx":1540 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -22051,22 +21865,22 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1550 + /* "argpartsort.pyx":1541 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -22074,57 +21888,57 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1552 + /* "argpartsort.pyx":1543 * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i1 + * y[i0, i1] = i0 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1553 + /* "argpartsort.pyx":1544 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i1 - * if n1 == 0: + * y[i0, i1] = i0 + * if n0 == 0: */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1554 + /* "argpartsort.pyx":1545 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i1 # <<<<<<<<<<<<<< - * if n1 == 0: + * y[i0, i1] = i0 # <<<<<<<<<<<<<< + * if n0 == 0: * return y */ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; } } - /* "argpartsort.pyx":1555 + /* "argpartsort.pyx":1546 * for i1 in range(n1): - * y[i0, i1] = i1 - * if n1 == 0: # <<<<<<<<<<<<<< + * y[i0, i1] = i0 + * if n0 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":1556 - * y[i0, i1] = i1 - * if n1 == 0: + /* "argpartsort.pyx":1547 + * y[i0, i1] = i0 + * if n0 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -22132,12 +21946,12 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":1557 - * if n1 == 0: + /* "argpartsort.pyx":1548 + * if n0 == 0: * return y - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ __pyx_t_12 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_12) { @@ -22147,25 +21961,25 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS goto __pyx_L9_bool_binop_done; } __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L9_bool_binop_done:; if (__pyx_t_11) { - /* "argpartsort.pyx":1558 + /* "argpartsort.pyx":1549 * return y - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -22173,222 +21987,222 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS __Pyx_GIVEREF(__pyx_t_14); __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_Raise(__pyx_t_14, 0, 0, 0); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1559 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1550 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< * l = 0 - * r = n1 - 1 + * r = n0 - 1 */ - __pyx_t_5 = __pyx_v_n0; + __pyx_t_5 = __pyx_v_n1; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":1560 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + /* "argpartsort.pyx":1551 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 + * r = n0 - 1 * while l < r: */ __pyx_v_l = 0; - /* "argpartsort.pyx":1561 - * for i0 in range(n0): + /* "argpartsort.pyx":1552 + * for i1 in range(n1): * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[i0, k] + * x = b[k, i1] */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":1562 + /* "argpartsort.pyx":1553 * l = 0 - * r = n1 - 1 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] + * x = b[k, i1] * i = l */ while (1) { __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_11) break; - /* "argpartsort.pyx":1563 - * r = n1 - 1 + /* "argpartsort.pyx":1554 + * r = n0 - 1 * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_7 = __pyx_v_i0; __pyx_t_16 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_7 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1564 + /* "argpartsort.pyx":1555 * while l < r: - * x = b[i0, k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1565 - * x = b[i0, k] + /* "argpartsort.pyx":1556 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i0, i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1566 + /* "argpartsort.pyx":1557 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ while (1) { - /* "argpartsort.pyx":1567 + /* "argpartsort.pyx":1558 * j = r * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_8 = __pyx_v_i0; __pyx_t_17 = __pyx_v_i; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_8 = __pyx_v_i1; + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_11) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":1568 + /* "argpartsort.pyx":1559 * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i0, i] + * tmp = b[i, i1] */ while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_11) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":1569 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "argpartsort.pyx":1560 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":1570 - * while x < b[i0, j]: j -= 1 + /* "argpartsort.pyx":1561 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1571 + /* "argpartsort.pyx":1562 * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * itmp = y[i0, i] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp + * itmp = y[i, i1] */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1572 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] + /* "argpartsort.pyx":1563 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_j; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1573 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * itmp = y[i0, i] # <<<<<<<<<<<<<< - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp + /* "argpartsort.pyx":1564 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp + * itmp = y[i, i1] # <<<<<<<<<<<<<< + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp */ - __pyx_t_28 = __pyx_v_i0; - __pyx_t_29 = __pyx_v_i; + __pyx_t_28 = __pyx_v_i; + __pyx_t_29 = __pyx_v_i1; __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1574 - * b[i0, j] = tmp - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< - * y[i0, j] = itmp + /* "argpartsort.pyx":1565 + * b[j, i1] = tmp + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< + * y[j, i1] = itmp * i += 1 */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i; + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_i; + __pyx_t_33 = __pyx_v_i1; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1575 - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1566 + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_34 = __pyx_v_i0; - __pyx_t_35 = __pyx_v_j; + __pyx_t_34 = __pyx_v_j; + __pyx_t_35 = __pyx_v_i1; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1576 - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp + /* "argpartsort.pyx":1567 + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1577 - * y[i0, j] = itmp + /* "argpartsort.pyx":1568 + * y[j, i1] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -22399,7 +22213,7 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS } __pyx_L21:; - /* "argpartsort.pyx":1578 + /* "argpartsort.pyx":1569 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -22413,7 +22227,7 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS } __pyx_L16_break:; - /* "argpartsort.pyx":1579 + /* "argpartsort.pyx":1570 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -22427,7 +22241,7 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS } __pyx_L23:; - /* "argpartsort.pyx":1580 + /* "argpartsort.pyx":1571 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -22443,7 +22257,7 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS } } - /* "argpartsort.pyx":1581 + /* "argpartsort.pyx":1572 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -22455,11 +22269,11 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1539 + /* "argpartsort.pyx":1530 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=1." + * def argpartsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -22475,7 +22289,7 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -22490,19 +22304,19 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":1585 +/* "argpartsort.pyx":1576 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=0." + * def argpartsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_63argpartsort_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_62argpartsort_2d_float32_axis0[] = "argpartsort_2d_float32_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_63argpartsort_2d_float32_axis0 = {"argpartsort_2d_float32_axis0", (PyCFunction)__pyx_pw_11argpartsort_63argpartsort_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_62argpartsort_2d_float32_axis0}; -static PyObject *__pyx_pw_11argpartsort_63argpartsort_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_63argpartsort_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_62argpartsort_2d_int64_axis1[] = "argpartsort_2d_int64_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int64 along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_63argpartsort_2d_int64_axis1 = {"argpartsort_2d_int64_axis1", (PyCFunction)__pyx_pw_11argpartsort_63argpartsort_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_62argpartsort_2d_int64_axis1}; +static PyObject *__pyx_pw_11argpartsort_63argpartsort_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -22510,7 +22324,7 @@ static PyObject *__pyx_pw_11argpartsort_63argpartsort_2d_float32_axis0(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -22531,11 +22345,11 @@ static PyObject *__pyx_pw_11argpartsort_63argpartsort_2d_float32_axis0(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -22544,18 +22358,18 @@ static PyObject *__pyx_pw_11argpartsort_63argpartsort_2d_float32_axis0(PyObject values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_62argpartsort_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -22566,15 +22380,15 @@ static PyObject *__pyx_pw_11argpartsort_63argpartsort_2d_float32_axis0(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -22608,28 +22422,28 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; - Py_ssize_t __pyx_t_29; - npy_intp __pyx_t_30; - Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; - Py_ssize_t __pyx_t_33; - npy_intp __pyx_t_34; - Py_ssize_t __pyx_t_35; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; + Py_ssize_t __pyx_t_26; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; + npy_intp __pyx_t_29; + Py_ssize_t __pyx_t_30; + npy_intp __pyx_t_31; + Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_34; + npy_intp __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_float32_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int64_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -22644,36 +22458,36 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":1587 - * def argpartsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float32 along axis=0." + /* "argpartsort.pyx":1578 + * def argpartsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1589 + /* "argpartsort.pyx":1580 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -22681,7 +22495,7 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1592 + /* "argpartsort.pyx":1583 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -22690,7 +22504,7 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1593 + /* "argpartsort.pyx":1584 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -22699,7 +22513,7 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1594 + /* "argpartsort.pyx":1585 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -22708,7 +22522,7 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":1595 + /* "argpartsort.pyx":1586 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -22719,22 +22533,22 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1596 + /* "argpartsort.pyx":1587 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -22742,57 +22556,57 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1598 + /* "argpartsort.pyx":1589 * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i0 + * y[i0, i1] = i1 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1599 + /* "argpartsort.pyx":1590 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i0 - * if n0 == 0: + * y[i0, i1] = i1 + * if n1 == 0: */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1600 + /* "argpartsort.pyx":1591 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i0 # <<<<<<<<<<<<<< - * if n0 == 0: + * y[i0, i1] = i1 # <<<<<<<<<<<<<< + * if n1 == 0: * return y */ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; } } - /* "argpartsort.pyx":1601 + /* "argpartsort.pyx":1592 * for i1 in range(n1): - * y[i0, i1] = i0 - * if n0 == 0: # <<<<<<<<<<<<<< + * y[i0, i1] = i1 + * if n1 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":1602 - * y[i0, i1] = i0 - * if n0 == 0: + /* "argpartsort.pyx":1593 + * y[i0, i1] = i1 + * if n1 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -22800,12 +22614,12 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN goto __pyx_L0; } - /* "argpartsort.pyx":1603 - * if n0 == 0: + /* "argpartsort.pyx":1594 + * if n1 == 0: * return y - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_12 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_12) { @@ -22815,25 +22629,25 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN goto __pyx_L9_bool_binop_done; } __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L9_bool_binop_done:; if (__pyx_t_11) { - /* "argpartsort.pyx":1604 + /* "argpartsort.pyx":1595 * return y - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -22841,222 +22655,222 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN __Pyx_GIVEREF(__pyx_t_14); __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_Raise(__pyx_t_14, 0, 0, 0); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1605 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1596 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_t_5 = __pyx_v_n1; + __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1606 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + /* "argpartsort.pyx":1597 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "argpartsort.pyx":1607 - * for i1 in range(n1): + /* "argpartsort.pyx":1598 + * for i0 in range(n0): * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":1608 + /* "argpartsort.pyx":1599 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_11) break; - /* "argpartsort.pyx":1609 - * r = n0 - 1 + /* "argpartsort.pyx":1600 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ + __pyx_t_7 = __pyx_v_i0; __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1610 + /* "argpartsort.pyx":1601 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1611 - * x = b[k, i1] + /* "argpartsort.pyx":1602 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1612 + /* "argpartsort.pyx":1603 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "argpartsort.pyx":1613 + /* "argpartsort.pyx":1604 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { + __pyx_t_8 = __pyx_v_i0; __pyx_t_17 = __pyx_v_i; - __pyx_t_8 = __pyx_v_i1; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_11) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":1614 + /* "argpartsort.pyx":1605 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_11) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":1615 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":1606 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":1616 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":1607 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1617 + /* "argpartsort.pyx":1608 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp - * itmp = y[i, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp + * itmp = y[i0, i] */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1618 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] + /* "argpartsort.pyx":1609 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] */ - __pyx_t_26 = __pyx_v_j; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1619 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp - * itmp = y[i, i1] # <<<<<<<<<<<<<< - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":1610 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp + * itmp = y[i0, i] # <<<<<<<<<<<<<< + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp */ - __pyx_t_28 = __pyx_v_i; - __pyx_t_29 = __pyx_v_i1; + __pyx_t_28 = __pyx_v_i0; + __pyx_t_29 = __pyx_v_i; __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1620 - * b[j, i1] = tmp - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< - * y[j, i1] = itmp + /* "argpartsort.pyx":1611 + * b[i0, j] = tmp + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< + * y[i0, j] = itmp * i += 1 - */ - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_i; - __pyx_t_33 = __pyx_v_i1; + */ + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1621 - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1612 + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_34 = __pyx_v_j; - __pyx_t_35 = __pyx_v_i1; + __pyx_t_34 = __pyx_v_i0; + __pyx_t_35 = __pyx_v_j; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1622 - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":1613 + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1623 - * y[j, i1] = itmp + /* "argpartsort.pyx":1614 + * y[i0, j] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -23067,7 +22881,7 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN } __pyx_L21:; - /* "argpartsort.pyx":1624 + /* "argpartsort.pyx":1615 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -23081,7 +22895,7 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN } __pyx_L16_break:; - /* "argpartsort.pyx":1625 + /* "argpartsort.pyx":1616 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -23095,7 +22909,7 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN } __pyx_L23:; - /* "argpartsort.pyx":1626 + /* "argpartsort.pyx":1617 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -23111,7 +22925,7 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN } } - /* "argpartsort.pyx":1627 + /* "argpartsort.pyx":1618 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -23123,11 +22937,11 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1585 + /* "argpartsort.pyx":1576 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=0." + * def argpartsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -23143,7 +22957,7 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -23158,19 +22972,19 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN return __pyx_r; } -/* "argpartsort.pyx":1631 +/* "argpartsort.pyx":1622 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=1." + * def argpartsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_65argpartsort_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_64argpartsort_2d_float32_axis1[] = "argpartsort_2d_float32_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float32 along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_65argpartsort_2d_float32_axis1 = {"argpartsort_2d_float32_axis1", (PyCFunction)__pyx_pw_11argpartsort_65argpartsort_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_64argpartsort_2d_float32_axis1}; -static PyObject *__pyx_pw_11argpartsort_65argpartsort_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_65argpartsort_3d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_64argpartsort_3d_int_axis0[] = "argpartsort_3d_int_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_65argpartsort_3d_int_axis0 = {"argpartsort_3d_int_axis0", (PyCFunction)__pyx_pw_11argpartsort_65argpartsort_3d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_64argpartsort_3d_int_axis0}; +static PyObject *__pyx_pw_11argpartsort_65argpartsort_3d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -23178,7 +22992,7 @@ static PyObject *__pyx_pw_11argpartsort_65argpartsort_2d_float32_axis1(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -23199,11 +23013,11 @@ static PyObject *__pyx_pw_11argpartsort_65argpartsort_2d_float32_axis1(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -23212,18 +23026,18 @@ static PyObject *__pyx_pw_11argpartsort_65argpartsort_2d_float32_axis1(PyObject values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_64argpartsort_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_64argpartsort_3d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -23234,21 +23048,23 @@ static PyObject *__pyx_pw_11argpartsort_65argpartsort_2d_float32_axis1(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_64argpartsort_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_64argpartsort_3d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -23261,7 +23077,7 @@ static PyObject *__pyx_pf_11argpartsort_64argpartsort_2d_float32_axis1(CYTHON_UN __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[2]; + npy_intp __pyx_t_3[3]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; @@ -23269,35 +23085,49 @@ static PyObject *__pyx_pf_11argpartsort_64argpartsort_2d_float32_axis1(CYTHON_UN Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - int __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - npy_intp __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + int __pyx_t_14; + int __pyx_t_15; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; Py_ssize_t __pyx_t_22; npy_intp __pyx_t_23; Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; - Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_25; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; Py_ssize_t __pyx_t_28; npy_intp __pyx_t_29; Py_ssize_t __pyx_t_30; - npy_intp __pyx_t_31; - Py_ssize_t __pyx_t_32; - npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_31; + npy_intp __pyx_t_32; + Py_ssize_t __pyx_t_33; Py_ssize_t __pyx_t_34; npy_intp __pyx_t_35; + Py_ssize_t __pyx_t_36; + Py_ssize_t __pyx_t_37; + npy_intp __pyx_t_38; + Py_ssize_t __pyx_t_39; + Py_ssize_t __pyx_t_40; + npy_intp __pyx_t_41; + Py_ssize_t __pyx_t_42; + Py_ssize_t __pyx_t_43; + npy_intp __pyx_t_44; + Py_ssize_t __pyx_t_45; + Py_ssize_t __pyx_t_46; + npy_intp __pyx_t_47; + Py_ssize_t __pyx_t_48; + Py_ssize_t __pyx_t_49; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_float32_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -23312,45 +23142,45 @@ static PyObject *__pyx_pf_11argpartsort_64argpartsort_2d_float32_axis1(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":1633 - * def argpartsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float32 along axis=1." + /* "argpartsort.pyx":1624 + * def argpartsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1635 + /* "argpartsort.pyx":1626 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1638 - * cdef Py_ssize_t i0, i1 + /* "argpartsort.pyx":1629 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -23358,109 +23188,132 @@ static PyObject *__pyx_pf_11argpartsort_64argpartsort_2d_float32_axis1(CYTHON_UN */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1639 + /* "argpartsort.pyx":1630 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1640 + /* "argpartsort.pyx":1631 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":1641 + /* "argpartsort.pyx":1632 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + */ + __pyx_v_n2 = (__pyx_v_dim[2]); + + /* "argpartsort.pyx":1633 + * cdef Py_ssize_t n1 = dim[1] + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; __pyx_t_3[1] = __pyx_v_n1; + __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1642 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1634 + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1644 - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + /* "argpartsort.pyx":1636 + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i1 + * for i2 in range(n2): */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1645 + /* "argpartsort.pyx":1637 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i1 - * if n1 == 0: + * for i2 in range(n2): + * y[i0, i1, i2] = i0 */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1646 + /* "argpartsort.pyx":1638 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i1 # <<<<<<<<<<<<<< - * if n1 == 0: + * for i2 in range(n2): # <<<<<<<<<<<<<< + * y[i0, i1, i2] = i0 + * if n0 == 0: + */ + __pyx_t_9 = __pyx_v_n2; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i2 = __pyx_t_10; + + /* "argpartsort.pyx":1639 + * for i1 in range(n1): + * for i2 in range(n2): + * y[i0, i1, i2] = i0 # <<<<<<<<<<<<<< + * if n0 == 0: * return y */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_t_13 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i0; + } } } - /* "argpartsort.pyx":1647 - * for i1 in range(n1): - * y[i0, i1] = i1 - * if n1 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1640 + * for i2 in range(n2): + * y[i0, i1, i2] = i0 + * if n0 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_11) { + __pyx_t_14 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":1648 - * y[i0, i1] = i1 - * if n1 == 0: + /* "argpartsort.pyx":1641 + * y[i0, i1, i2] = i0 + * if n0 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -23468,320 +23321,343 @@ static PyObject *__pyx_pf_11argpartsort_64argpartsort_2d_float32_axis1(CYTHON_UN goto __pyx_L0; } - /* "argpartsort.pyx":1649 - * if n1 == 0: + /* "argpartsort.pyx":1642 + * if n0 == 0: * return y - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ - __pyx_t_12 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_12) { - goto __pyx_L10_next_or; + __pyx_t_15 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_15) { + goto __pyx_L12_next_or; } else { - __pyx_t_11 = __pyx_t_12; - goto __pyx_L9_bool_binop_done; + __pyx_t_14 = __pyx_t_15; + goto __pyx_L11_bool_binop_done; } - __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); - __pyx_t_11 = __pyx_t_12; - __pyx_L9_bool_binop_done:; - if (__pyx_t_11) { + __pyx_L12_next_or:; + __pyx_t_15 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_14 = __pyx_t_15; + __pyx_L11_bool_binop_done:; + if (__pyx_t_14) { - /* "argpartsort.pyx":1650 + /* "argpartsort.pyx":1643 * return y - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * l = 0 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); - __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); + __Pyx_GIVEREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_16 = 0; + __pyx_t_17 = 0; + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_Raise(__pyx_t_14, 0, 0, 0); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_17 = 0; + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_Raise(__pyx_t_17, 0, 0, 0); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1651 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + /* "argpartsort.pyx":1644 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * for i2 in range(n2): + * l = 0 */ - __pyx_t_5 = __pyx_v_n0; + __pyx_t_5 = __pyx_v_n1; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":1652 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + /* "argpartsort.pyx":1645 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): + * for i2 in range(n2): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_v_l = 0; + __pyx_t_7 = __pyx_v_n2; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i2 = __pyx_t_8; - /* "argpartsort.pyx":1653 - * for i0 in range(n0): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k] + /* "argpartsort.pyx":1646 + * for i1 in range(n1): + * for i2 in range(n2): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_l = 0; - /* "argpartsort.pyx":1654 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] - * i = l + /* "argpartsort.pyx":1647 + * for i2 in range(n2): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[k, i1, i2] */ - while (1) { - __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_11) break; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":1655 - * r = n1 - 1 - * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":1648 + * l = 0 + * r = n0 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[k, i1, i2] + * i = l */ - __pyx_t_7 = __pyx_v_i0; - __pyx_t_16 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_14) break; - /* "argpartsort.pyx":1656 - * while l < r: - * x = b[i0, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":1649 + * r = n0 - 1 + * while l < r: + * x = b[k, i1, i2] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_19 = __pyx_v_k; + __pyx_t_9 = __pyx_v_i1; + __pyx_t_10 = __pyx_v_i2; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1657 - * x = b[i0, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i] < x: i += 1 + /* "argpartsort.pyx":1650 + * while l < r: + * x = b[k, i1, i2] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1658 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "argpartsort.pyx":1651 + * x = b[k, i1, i2] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i, i1, i2] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1659 - * j = r - * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 - * if i <= j: + /* "argpartsort.pyx":1652 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 */ while (1) { - __pyx_t_8 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_11) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "argpartsort.pyx":1660 - * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i] + /* "argpartsort.pyx":1653 + * j = r + * while 1: + * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_11) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + __pyx_t_22 = __pyx_v_i2; + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_14) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1661 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + /* "argpartsort.pyx":1654 + * while 1: + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i, i1, i2] */ - __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_11) { + while (1) { + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i1; + __pyx_t_25 = __pyx_v_i2; + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_14) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":1662 - * while x < b[i0, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "argpartsort.pyx":1655 + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":1663 - * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * itmp = y[i0, i] + /* "argpartsort.pyx":1656 + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: + * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_26 = __pyx_v_i; + __pyx_t_27 = __pyx_v_i1; + __pyx_t_28 = __pyx_v_i2; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1664 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] + /* "argpartsort.pyx":1657 + * if i <= j: + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< + * b[j, i1, i2] = tmp + * itmp = y[i, i1, i2] */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_29 = __pyx_v_j; + __pyx_t_30 = __pyx_v_i1; + __pyx_t_31 = __pyx_v_i2; + __pyx_t_32 = __pyx_v_i; + __pyx_t_33 = __pyx_v_i1; + __pyx_t_34 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + + /* "argpartsort.pyx":1658 + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< + * itmp = y[i, i1, i2] + * y[i, i1, i2] = y[j, i1, i2] + */ + __pyx_t_35 = __pyx_v_j; + __pyx_t_36 = __pyx_v_i1; + __pyx_t_37 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1665 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * itmp = y[i0, i] # <<<<<<<<<<<<<< - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp + /* "argpartsort.pyx":1659 + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp + * itmp = y[i, i1, i2] # <<<<<<<<<<<<<< + * y[i, i1, i2] = y[j, i1, i2] + * y[j, i1, i2] = itmp */ - __pyx_t_28 = __pyx_v_i0; - __pyx_t_29 = __pyx_v_i; - __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_38 = __pyx_v_i; + __pyx_t_39 = __pyx_v_i1; + __pyx_t_40 = __pyx_v_i2; + __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":1666 - * b[i0, j] = tmp - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< - * y[i0, j] = itmp - * i += 1 + /* "argpartsort.pyx":1660 + * b[j, i1, i2] = tmp + * itmp = y[i, i1, i2] + * y[i, i1, i2] = y[j, i1, i2] # <<<<<<<<<<<<<< + * y[j, i1, i2] = itmp + * i += 1 */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_41 = __pyx_v_j; + __pyx_t_42 = __pyx_v_i1; + __pyx_t_43 = __pyx_v_i2; + __pyx_t_44 = __pyx_v_i; + __pyx_t_45 = __pyx_v_i1; + __pyx_t_46 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":1667 - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":1661 + * itmp = y[i, i1, i2] + * y[i, i1, i2] = y[j, i1, i2] + * y[j, i1, i2] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_34 = __pyx_v_i0; - __pyx_t_35 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; + __pyx_t_47 = __pyx_v_j; + __pyx_t_48 = __pyx_v_i1; + __pyx_t_49 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1668 - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":1662 + * y[i, i1, i2] = y[j, i1, i2] + * y[j, i1, i2] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1669 - * y[i0, j] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":1663 + * y[j, i1, i2] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L21; - } - __pyx_L21:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L25; + } + __pyx_L25:; - /* "argpartsort.pyx":1670 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1664 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_11) { - goto __pyx_L16_break; + __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_14) { + goto __pyx_L20_break; + } } - } - __pyx_L16_break:; + __pyx_L20_break:; - /* "argpartsort.pyx":1671 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":1665 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return y */ - __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_11) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L23; - } - __pyx_L23:; + __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_14) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L27; + } + __pyx_L27:; - /* "argpartsort.pyx":1672 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1666 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_11) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L24; + __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_14) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L28; + } + __pyx_L28:; } - __pyx_L24:; } } - /* "argpartsort.pyx":1673 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1667 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -23791,27 +23667,27 @@ static PyObject *__pyx_pf_11argpartsort_64argpartsort_2d_float32_axis1(CYTHON_UN __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1631 + /* "argpartsort.pyx":1622 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=1." + * def argpartsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); + __Pyx_XDECREF(__pyx_t_16); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_XDECREF(__pyx_t_18); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -23826,19 +23702,19 @@ static PyObject *__pyx_pf_11argpartsort_64argpartsort_2d_float32_axis1(CYTHON_UN return __pyx_r; } -/* "argpartsort.pyx":1677 +/* "argpartsort.pyx":1671 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=0." + * def argpartsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_67argpartsort_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_66argpartsort_2d_float64_axis0[] = "argpartsort_2d_float64_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_67argpartsort_2d_float64_axis0 = {"argpartsort_2d_float64_axis0", (PyCFunction)__pyx_pw_11argpartsort_67argpartsort_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_66argpartsort_2d_float64_axis0}; -static PyObject *__pyx_pw_11argpartsort_67argpartsort_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_67argpartsort_3d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_66argpartsort_3d_int_axis1[] = "argpartsort_3d_int_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_67argpartsort_3d_int_axis1 = {"argpartsort_3d_int_axis1", (PyCFunction)__pyx_pw_11argpartsort_67argpartsort_3d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_66argpartsort_3d_int_axis1}; +static PyObject *__pyx_pw_11argpartsort_67argpartsort_3d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -23846,7 +23722,7 @@ static PyObject *__pyx_pw_11argpartsort_67argpartsort_2d_float64_axis0(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -23867,11 +23743,11 @@ static PyObject *__pyx_pw_11argpartsort_67argpartsort_2d_float64_axis0(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -23880,18 +23756,18 @@ static PyObject *__pyx_pw_11argpartsort_67argpartsort_2d_float64_axis0(PyObject values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_66argpartsort_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_66argpartsort_3d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -23902,21 +23778,23 @@ static PyObject *__pyx_pw_11argpartsort_67argpartsort_2d_float64_axis0(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_66argpartsort_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_66argpartsort_3d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -23929,7 +23807,7 @@ static PyObject *__pyx_pf_11argpartsort_66argpartsort_2d_float64_axis0(CYTHON_UN __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[2]; + npy_intp __pyx_t_3[3]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; @@ -23937,35 +23815,49 @@ static PyObject *__pyx_pf_11argpartsort_66argpartsort_2d_float64_axis0(CYTHON_UN Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - int __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - npy_intp __pyx_t_16; - npy_intp __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + int __pyx_t_14; + int __pyx_t_15; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; Py_ssize_t __pyx_t_23; npy_intp __pyx_t_24; Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_26; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; Py_ssize_t __pyx_t_29; npy_intp __pyx_t_30; Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; - Py_ssize_t __pyx_t_33; - npy_intp __pyx_t_34; + Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_34; Py_ssize_t __pyx_t_35; + npy_intp __pyx_t_36; + Py_ssize_t __pyx_t_37; + Py_ssize_t __pyx_t_38; + npy_intp __pyx_t_39; + Py_ssize_t __pyx_t_40; + Py_ssize_t __pyx_t_41; + npy_intp __pyx_t_42; + Py_ssize_t __pyx_t_43; + Py_ssize_t __pyx_t_44; + npy_intp __pyx_t_45; + Py_ssize_t __pyx_t_46; + Py_ssize_t __pyx_t_47; + npy_intp __pyx_t_48; + Py_ssize_t __pyx_t_49; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_float64_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -23980,45 +23872,45 @@ static PyObject *__pyx_pf_11argpartsort_66argpartsort_2d_float64_axis0(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":1679 - * def argpartsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float64 along axis=0." + /* "argpartsort.pyx":1673 + * def argpartsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1681 + /* "argpartsort.pyx":1675 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1684 - * cdef Py_ssize_t i0, i1 + /* "argpartsort.pyx":1678 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -24026,109 +23918,132 @@ static PyObject *__pyx_pf_11argpartsort_66argpartsort_2d_float64_axis0(CYTHON_UN */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1685 + /* "argpartsort.pyx":1679 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1686 + /* "argpartsort.pyx":1680 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":1687 + /* "argpartsort.pyx":1681 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + */ + __pyx_v_n2 = (__pyx_v_dim[2]); + + /* "argpartsort.pyx":1682 + * cdef Py_ssize_t n1 = dim[1] + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; __pyx_t_3[1] = __pyx_v_n1; + __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1688 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1683 + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1690 - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + /* "argpartsort.pyx":1685 + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i0 + * for i2 in range(n2): */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1691 + /* "argpartsort.pyx":1686 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i0 - * if n0 == 0: + * for i2 in range(n2): + * y[i0, i1, i2] = i1 */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1692 + /* "argpartsort.pyx":1687 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i0 # <<<<<<<<<<<<<< - * if n0 == 0: + * for i2 in range(n2): # <<<<<<<<<<<<<< + * y[i0, i1, i2] = i1 + * if n1 == 0: + */ + __pyx_t_9 = __pyx_v_n2; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i2 = __pyx_t_10; + + /* "argpartsort.pyx":1688 + * for i1 in range(n1): + * for i2 in range(n2): + * y[i0, i1, i2] = i1 # <<<<<<<<<<<<<< + * if n1 == 0: * return y */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_t_13 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i1; + } } } - /* "argpartsort.pyx":1693 - * for i1 in range(n1): - * y[i0, i1] = i0 - * if n0 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1689 + * for i2 in range(n2): + * y[i0, i1, i2] = i1 + * if n1 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_11) { + __pyx_t_14 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":1694 - * y[i0, i1] = i0 - * if n0 == 0: + /* "argpartsort.pyx":1690 + * y[i0, i1, i2] = i1 + * if n1 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -24136,320 +24051,343 @@ static PyObject *__pyx_pf_11argpartsort_66argpartsort_2d_float64_axis0(CYTHON_UN goto __pyx_L0; } - /* "argpartsort.pyx":1695 - * if n0 == 0: + /* "argpartsort.pyx":1691 + * if n1 == 0: * return y - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ - __pyx_t_12 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_12) { - goto __pyx_L10_next_or; + __pyx_t_15 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_15) { + goto __pyx_L12_next_or; } else { - __pyx_t_11 = __pyx_t_12; - goto __pyx_L9_bool_binop_done; + __pyx_t_14 = __pyx_t_15; + goto __pyx_L11_bool_binop_done; } - __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); - __pyx_t_11 = __pyx_t_12; - __pyx_L9_bool_binop_done:; - if (__pyx_t_11) { + __pyx_L12_next_or:; + __pyx_t_15 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_14 = __pyx_t_15; + __pyx_L11_bool_binop_done:; + if (__pyx_t_14) { - /* "argpartsort.pyx":1696 + /* "argpartsort.pyx":1692 * return y - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * l = 0 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); - __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); + __Pyx_GIVEREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_16 = 0; + __pyx_t_17 = 0; + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_Raise(__pyx_t_14, 0, 0, 0); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_17 = 0; + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_Raise(__pyx_t_17, 0, 0, 0); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1697 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + /* "argpartsort.pyx":1693 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i2 in range(n2): + * l = 0 */ - __pyx_t_5 = __pyx_v_n1; + __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1698 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * while l < r: + /* "argpartsort.pyx":1694 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): + * for i2 in range(n2): # <<<<<<<<<<<<<< + * l = 0 + * r = n1 - 1 */ - __pyx_v_l = 0; + __pyx_t_7 = __pyx_v_n2; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i2 = __pyx_t_8; - /* "argpartsort.pyx":1699 - * for i1 in range(n1): - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[k, i1] + /* "argpartsort.pyx":1695 + * for i0 in range(n0): + * for i2 in range(n2): + * l = 0 # <<<<<<<<<<<<<< + * r = n1 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "argpartsort.pyx":1700 - * l = 0 - * r = n0 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] - * i = l + /* "argpartsort.pyx":1696 + * for i2 in range(n2): + * l = 0 + * r = n1 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[i0, k, i2] */ - while (1) { - __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_11) break; + __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":1701 - * r = n0 - 1 - * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":1697 + * l = 0 + * r = n1 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[i0, k, i2] + * i = l */ - __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_14) break; - /* "argpartsort.pyx":1702 - * while l < r: - * x = b[k, i1] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":1698 + * r = n1 - 1 + * while l < r: + * x = b[i0, k, i2] # <<<<<<<<<<<<<< + * i = l + * j = r + */ + __pyx_t_9 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_k; + __pyx_t_10 = __pyx_v_i2; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + + /* "argpartsort.pyx":1699 + * while l < r: + * x = b[i0, k, i2] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1703 - * x = b[k, i1] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i, i1] < x: i += 1 + /* "argpartsort.pyx":1700 + * x = b[i0, k, i2] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i0, i, i2] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1704 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":1701 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 */ - while (1) { + while (1) { - /* "argpartsort.pyx":1705 - * j = r - * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 - * if i <= j: + /* "argpartsort.pyx":1702 + * j = r + * while 1: + * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_17 = __pyx_v_i; - __pyx_t_8 = __pyx_v_i1; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_11) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + __pyx_t_22 = __pyx_v_i2; + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_14) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1706 - * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i, i1] + /* "argpartsort.pyx":1703 + * while 1: + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i0, i, i2] */ - while (1) { - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_11) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_23 = __pyx_v_i0; + __pyx_t_24 = __pyx_v_j; + __pyx_t_25 = __pyx_v_i2; + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_14) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":1707 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + /* "argpartsort.pyx":1704 + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] */ - __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_11) { + __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":1708 - * while x < b[j, i1]: j -= 1 - * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "argpartsort.pyx":1705 + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: + * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp */ - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_i; + __pyx_t_28 = __pyx_v_i2; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1709 - * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp - * itmp = y[i, i1] + /* "argpartsort.pyx":1706 + * if i <= j: + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< + * b[i0, j, i2] = tmp + * itmp = y[i0, i, i2] */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_29 = __pyx_v_i0; + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i2; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i; + __pyx_t_34 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1710 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] + /* "argpartsort.pyx":1707 + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i, i2] + * y[i0, i, i2] = y[i0, j, i2] */ - __pyx_t_26 = __pyx_v_j; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_35 = __pyx_v_i0; + __pyx_t_36 = __pyx_v_j; + __pyx_t_37 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1711 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp - * itmp = y[i, i1] # <<<<<<<<<<<<<< - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":1708 + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp + * itmp = y[i0, i, i2] # <<<<<<<<<<<<<< + * y[i0, i, i2] = y[i0, j, i2] + * y[i0, j, i2] = itmp */ - __pyx_t_28 = __pyx_v_i; - __pyx_t_29 = __pyx_v_i1; - __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_38 = __pyx_v_i0; + __pyx_t_39 = __pyx_v_i; + __pyx_t_40 = __pyx_v_i2; + __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":1712 - * b[j, i1] = tmp - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< - * y[j, i1] = itmp - * i += 1 + /* "argpartsort.pyx":1709 + * b[i0, j, i2] = tmp + * itmp = y[i0, i, i2] + * y[i0, i, i2] = y[i0, j, i2] # <<<<<<<<<<<<<< + * y[i0, j, i2] = itmp + * i += 1 */ - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_i; - __pyx_t_33 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_41 = __pyx_v_i0; + __pyx_t_42 = __pyx_v_j; + __pyx_t_43 = __pyx_v_i2; + __pyx_t_44 = __pyx_v_i0; + __pyx_t_45 = __pyx_v_i; + __pyx_t_46 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":1713 - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":1710 + * itmp = y[i0, i, i2] + * y[i0, i, i2] = y[i0, j, i2] + * y[i0, j, i2] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_34 = __pyx_v_j; - __pyx_t_35 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; + __pyx_t_47 = __pyx_v_i0; + __pyx_t_48 = __pyx_v_j; + __pyx_t_49 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1714 - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":1711 + * y[i0, i, i2] = y[i0, j, i2] + * y[i0, j, i2] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1715 - * y[j, i1] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":1712 + * y[i0, j, i2] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L21; - } - __pyx_L21:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L25; + } + __pyx_L25:; - /* "argpartsort.pyx":1716 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1713 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_11) { - goto __pyx_L16_break; + __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_14) { + goto __pyx_L20_break; + } } - } - __pyx_L16_break:; + __pyx_L20_break:; - /* "argpartsort.pyx":1717 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":1714 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return y */ - __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_11) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L23; - } - __pyx_L23:; + __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_14) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L27; + } + __pyx_L27:; - /* "argpartsort.pyx":1718 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1715 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_11) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L24; + __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_14) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L28; + } + __pyx_L28:; } - __pyx_L24:; } } - /* "argpartsort.pyx":1719 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1716 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -24459,27 +24397,27 @@ static PyObject *__pyx_pf_11argpartsort_66argpartsort_2d_float64_axis0(CYTHON_UN __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1677 + /* "argpartsort.pyx":1671 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=0." + * def argpartsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); + __Pyx_XDECREF(__pyx_t_16); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_XDECREF(__pyx_t_18); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -24494,19 +24432,19 @@ static PyObject *__pyx_pf_11argpartsort_66argpartsort_2d_float64_axis0(CYTHON_UN return __pyx_r; } -/* "argpartsort.pyx":1723 +/* "argpartsort.pyx":1720 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=1." + * def argpartsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_69argpartsort_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_68argpartsort_2d_float64_axis1[] = "argpartsort_2d_float64_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float64 along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_69argpartsort_2d_float64_axis1 = {"argpartsort_2d_float64_axis1", (PyCFunction)__pyx_pw_11argpartsort_69argpartsort_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_68argpartsort_2d_float64_axis1}; -static PyObject *__pyx_pw_11argpartsort_69argpartsort_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_69argpartsort_3d_int_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_68argpartsort_3d_int_axis2[] = "argpartsort_3d_int_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=2."; +static PyMethodDef __pyx_mdef_11argpartsort_69argpartsort_3d_int_axis2 = {"argpartsort_3d_int_axis2", (PyCFunction)__pyx_pw_11argpartsort_69argpartsort_3d_int_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_68argpartsort_3d_int_axis2}; +static PyObject *__pyx_pw_11argpartsort_69argpartsort_3d_int_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -24514,7 +24452,7 @@ static PyObject *__pyx_pw_11argpartsort_69argpartsort_2d_float64_axis1(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -24535,11 +24473,11 @@ static PyObject *__pyx_pw_11argpartsort_69argpartsort_2d_float64_axis1(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -24548,18 +24486,18 @@ static PyObject *__pyx_pw_11argpartsort_69argpartsort_2d_float64_axis1(PyObject values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_68argpartsort_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_68argpartsort_3d_int_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -24570,21 +24508,23 @@ static PyObject *__pyx_pw_11argpartsort_69argpartsort_2d_float64_axis1(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_68argpartsort_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_68argpartsort_3d_int_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -24597,7 +24537,7 @@ static PyObject *__pyx_pf_11argpartsort_68argpartsort_2d_float64_axis1(CYTHON_UN __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[2]; + npy_intp __pyx_t_3[3]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; @@ -24605,35 +24545,49 @@ static PyObject *__pyx_pf_11argpartsort_68argpartsort_2d_float64_axis1(CYTHON_UN Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - int __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - npy_intp __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + int __pyx_t_14; + int __pyx_t_15; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; npy_intp __pyx_t_19; Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; Py_ssize_t __pyx_t_24; npy_intp __pyx_t_25; Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; - Py_ssize_t __pyx_t_28; - npy_intp __pyx_t_29; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_29; Py_ssize_t __pyx_t_30; npy_intp __pyx_t_31; Py_ssize_t __pyx_t_32; - npy_intp __pyx_t_33; - Py_ssize_t __pyx_t_34; - npy_intp __pyx_t_35; + Py_ssize_t __pyx_t_33; + npy_intp __pyx_t_34; + Py_ssize_t __pyx_t_35; + Py_ssize_t __pyx_t_36; + npy_intp __pyx_t_37; + Py_ssize_t __pyx_t_38; + Py_ssize_t __pyx_t_39; + npy_intp __pyx_t_40; + Py_ssize_t __pyx_t_41; + Py_ssize_t __pyx_t_42; + npy_intp __pyx_t_43; + Py_ssize_t __pyx_t_44; + Py_ssize_t __pyx_t_45; + npy_intp __pyx_t_46; + Py_ssize_t __pyx_t_47; + Py_ssize_t __pyx_t_48; + npy_intp __pyx_t_49; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_float64_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -24648,45 +24602,45 @@ static PyObject *__pyx_pf_11argpartsort_68argpartsort_2d_float64_axis1(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":1725 - * def argpartsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float64 along axis=1." + /* "argpartsort.pyx":1722 + * def argpartsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1727 + /* "argpartsort.pyx":1724 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1730 - * cdef Py_ssize_t i0, i1 + /* "argpartsort.pyx":1727 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -24694,109 +24648,132 @@ static PyObject *__pyx_pf_11argpartsort_68argpartsort_2d_float64_axis1(CYTHON_UN */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1731 + /* "argpartsort.pyx":1728 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1732 + /* "argpartsort.pyx":1729 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":1733 + /* "argpartsort.pyx":1730 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + */ + __pyx_v_n2 = (__pyx_v_dim[2]); + + /* "argpartsort.pyx":1731 + * cdef Py_ssize_t n1 = dim[1] + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; __pyx_t_3[1] = __pyx_v_n1; + __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1734 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1732 + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1736 - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + /* "argpartsort.pyx":1734 + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i1 + * for i2 in range(n2): */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1737 + /* "argpartsort.pyx":1735 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i1 - * if n1 == 0: + * for i2 in range(n2): + * y[i0, i1, i2] = i2 */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1738 + /* "argpartsort.pyx":1736 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i1 # <<<<<<<<<<<<<< - * if n1 == 0: + * for i2 in range(n2): # <<<<<<<<<<<<<< + * y[i0, i1, i2] = i2 + * if n2 == 0: + */ + __pyx_t_9 = __pyx_v_n2; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i2 = __pyx_t_10; + + /* "argpartsort.pyx":1737 + * for i1 in range(n1): + * for i2 in range(n2): + * y[i0, i1, i2] = i2 # <<<<<<<<<<<<<< + * if n2 == 0: * return y */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_t_13 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i2; + } } } - /* "argpartsort.pyx":1739 - * for i1 in range(n1): - * y[i0, i1] = i1 - * if n1 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1738 + * for i2 in range(n2): + * y[i0, i1, i2] = i2 + * if n2 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n2): */ - __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_11) { + __pyx_t_14 = ((__pyx_v_n2 == 0) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":1740 - * y[i0, i1] = i1 - * if n1 == 0: + /* "argpartsort.pyx":1739 + * y[i0, i1, i2] = i2 + * if n2 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -24804,320 +24781,343 @@ static PyObject *__pyx_pf_11argpartsort_68argpartsort_2d_float64_axis1(CYTHON_UN goto __pyx_L0; } - /* "argpartsort.pyx":1741 - * if n1 == 0: + /* "argpartsort.pyx":1740 + * if n2 == 0: * return y - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): */ - __pyx_t_12 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_12) { - goto __pyx_L10_next_or; + __pyx_t_15 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_15) { + goto __pyx_L12_next_or; } else { - __pyx_t_11 = __pyx_t_12; - goto __pyx_L9_bool_binop_done; + __pyx_t_14 = __pyx_t_15; + goto __pyx_L11_bool_binop_done; } - __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); - __pyx_t_11 = __pyx_t_12; - __pyx_L9_bool_binop_done:; - if (__pyx_t_11) { + __pyx_L12_next_or:; + __pyx_t_15 = ((__pyx_v_n > __pyx_v_n2) != 0); + __pyx_t_14 = __pyx_t_15; + __pyx_L11_bool_binop_done:; + if (__pyx_t_14) { - /* "argpartsort.pyx":1742 + /* "argpartsort.pyx":1741 * return y - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< * for i0 in range(n0): - * l = 0 + * for i1 in range(n1): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); - __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); + __Pyx_GIVEREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_16 = 0; + __pyx_t_17 = 0; + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_Raise(__pyx_t_14, 0, 0, 0); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_17 = 0; + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_Raise(__pyx_t_17, 0, 0, 0); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1743 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + /* "argpartsort.pyx":1742 + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + * for i1 in range(n1): + * l = 0 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1744 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + /* "argpartsort.pyx":1743 + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n2 - 1 */ - __pyx_v_l = 0; + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1745 + /* "argpartsort.pyx":1744 * for i0 in range(n0): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k] + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n2 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_l = 0; - /* "argpartsort.pyx":1746 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] - * i = l + /* "argpartsort.pyx":1745 + * for i1 in range(n1): + * l = 0 + * r = n2 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[i0, i1, k] */ - while (1) { - __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_11) break; + __pyx_v_r = (__pyx_v_n2 - 1); - /* "argpartsort.pyx":1747 - * r = n1 - 1 - * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":1746 + * l = 0 + * r = n2 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[i0, i1, k] + * i = l */ - __pyx_t_7 = __pyx_v_i0; - __pyx_t_16 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_14) break; - /* "argpartsort.pyx":1748 - * while l < r: - * x = b[i0, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":1747 + * r = n2 - 1 + * while l < r: + * x = b[i0, i1, k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_t_19 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1749 - * x = b[i0, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i] < x: i += 1 + /* "argpartsort.pyx":1748 + * while l < r: + * x = b[i0, i1, k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1750 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "argpartsort.pyx":1749 + * x = b[i0, i1, k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i0, i1, i] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1751 - * j = r - * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 - * if i <= j: + /* "argpartsort.pyx":1750 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 */ while (1) { - __pyx_t_8 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_11) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "argpartsort.pyx":1752 - * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i] + /* "argpartsort.pyx":1751 + * j = r + * while 1: + * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_11) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i1; + __pyx_t_22 = __pyx_v_i; + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_14) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1753 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + /* "argpartsort.pyx":1752 + * while 1: + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i0, i1, i] */ - __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_11) { + while (1) { + __pyx_t_23 = __pyx_v_i0; + __pyx_t_24 = __pyx_v_i1; + __pyx_t_25 = __pyx_v_j; + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_14) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":1754 - * while x < b[i0, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "argpartsort.pyx":1753 + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":1755 - * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * itmp = y[i0, i] + /* "argpartsort.pyx":1754 + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: + * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_i1; + __pyx_t_28 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1756 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] + /* "argpartsort.pyx":1755 + * if i <= j: + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< + * b[i0, i1, j] = tmp + * itmp = y[i0, i1, i] */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_29 = __pyx_v_i0; + __pyx_t_30 = __pyx_v_i1; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i1; + __pyx_t_34 = __pyx_v_i; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1757 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * itmp = y[i0, i] # <<<<<<<<<<<<<< - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp + /* "argpartsort.pyx":1756 + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i1, i] + * y[i0, i1, i] = y[i0, i1, j] */ - __pyx_t_28 = __pyx_v_i0; - __pyx_t_29 = __pyx_v_i; - __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_35 = __pyx_v_i0; + __pyx_t_36 = __pyx_v_i1; + __pyx_t_37 = __pyx_v_j; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1758 - * b[i0, j] = tmp - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< - * y[i0, j] = itmp - * i += 1 + /* "argpartsort.pyx":1757 + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp + * itmp = y[i0, i1, i] # <<<<<<<<<<<<<< + * y[i0, i1, i] = y[i0, i1, j] + * y[i0, i1, j] = itmp */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_38 = __pyx_v_i0; + __pyx_t_39 = __pyx_v_i1; + __pyx_t_40 = __pyx_v_i; + __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":1759 - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":1758 + * b[i0, i1, j] = tmp + * itmp = y[i0, i1, i] + * y[i0, i1, i] = y[i0, i1, j] # <<<<<<<<<<<<<< + * y[i0, i1, j] = itmp + * i += 1 */ - __pyx_t_34 = __pyx_v_i0; - __pyx_t_35 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; + __pyx_t_41 = __pyx_v_i0; + __pyx_t_42 = __pyx_v_i1; + __pyx_t_43 = __pyx_v_j; + __pyx_t_44 = __pyx_v_i0; + __pyx_t_45 = __pyx_v_i1; + __pyx_t_46 = __pyx_v_i; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":1760 - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":1759 + * itmp = y[i0, i1, i] + * y[i0, i1, i] = y[i0, i1, j] + * y[i0, i1, j] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_t_47 = __pyx_v_i0; + __pyx_t_48 = __pyx_v_i1; + __pyx_t_49 = __pyx_v_j; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1761 - * y[i0, j] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":1760 + * y[i0, i1, i] = y[i0, i1, j] + * y[i0, i1, j] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L21; - } - __pyx_L21:; + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1762 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1761 + * y[i0, i1, j] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_11) { - goto __pyx_L16_break; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L25; + } + __pyx_L25:; + + /* "argpartsort.pyx":1762 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j + */ + __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_14) { + goto __pyx_L20_break; + } } - } - __pyx_L16_break:; + __pyx_L20_break:; - /* "argpartsort.pyx":1763 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":1763 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return y */ - __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_11) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L23; - } - __pyx_L23:; + __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_14) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L27; + } + __pyx_L27:; - /* "argpartsort.pyx":1764 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1764 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_11) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L24; + __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_14) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L28; + } + __pyx_L28:; } - __pyx_L24:; } } /* "argpartsort.pyx":1765 - * if j < k: l = i - * if k < i: r = j + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -25127,27 +25127,27 @@ static PyObject *__pyx_pf_11argpartsort_68argpartsort_2d_float64_axis1(CYTHON_UN __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1723 + /* "argpartsort.pyx":1720 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=1." + * def argpartsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); + __Pyx_XDECREF(__pyx_t_16); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_XDECREF(__pyx_t_18); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -25165,16 +25165,16 @@ static PyObject *__pyx_pf_11argpartsort_68argpartsort_2d_float64_axis1(CYTHON_UN /* "argpartsort.pyx":1769 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=0." + * def argpartsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_71argpartsort_3d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_70argpartsort_3d_float_axis0[] = "argpartsort_3d_float_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_71argpartsort_3d_float_axis0 = {"argpartsort_3d_float_axis0", (PyCFunction)__pyx_pw_11argpartsort_71argpartsort_3d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_70argpartsort_3d_float_axis0}; -static PyObject *__pyx_pw_11argpartsort_71argpartsort_3d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_71argpartsort_3d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_70argpartsort_3d_int8_axis0[] = "argpartsort_3d_int8_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_71argpartsort_3d_int8_axis0 = {"argpartsort_3d_int8_axis0", (PyCFunction)__pyx_pw_11argpartsort_71argpartsort_3d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_70argpartsort_3d_int8_axis0}; +static PyObject *__pyx_pw_11argpartsort_71argpartsort_3d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -25182,7 +25182,7 @@ static PyObject *__pyx_pw_11argpartsort_71argpartsort_3d_float_axis0(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -25203,11 +25203,11 @@ static PyObject *__pyx_pw_11argpartsort_71argpartsort_3d_float_axis0(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -25220,14 +25220,14 @@ static PyObject *__pyx_pw_11argpartsort_71argpartsort_3d_float_axis0(PyObject *_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_70argpartsort_3d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -25238,15 +25238,15 @@ static PyObject *__pyx_pw_11argpartsort_71argpartsort_3d_float_axis0(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -25317,7 +25317,7 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_float_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -25332,24 +25332,24 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "argpartsort.pyx":1771 - * def argpartsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float along axis=0." + * def argpartsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":1773 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -25359,7 +25359,7 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -25630,7 +25630,7 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS __pyx_t_19 = __pyx_v_k; __pyx_t_9 = __pyx_v_i1; __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1797 * while l < r: @@ -25670,7 +25670,7 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS __pyx_t_20 = __pyx_v_i; __pyx_t_21 = __pyx_v_i1; __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -25686,7 +25686,7 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS __pyx_t_23 = __pyx_v_j; __pyx_t_24 = __pyx_v_i1; __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -25711,7 +25711,7 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS __pyx_t_26 = __pyx_v_i; __pyx_t_27 = __pyx_v_i1; __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1804 * if i <= j: @@ -25726,7 +25726,7 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS __pyx_t_32 = __pyx_v_i; __pyx_t_33 = __pyx_v_i1; __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1805 * tmp = b[i, i1, i2] @@ -25738,7 +25738,7 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS __pyx_t_35 = __pyx_v_j; __pyx_t_36 = __pyx_v_i1; __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "argpartsort.pyx":1806 * b[i, i1, i2] = b[j, i1, i2] @@ -25860,8 +25860,8 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS /* "argpartsort.pyx":1769 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=0." + * def argpartsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -25877,7 +25877,7 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -25895,16 +25895,16 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS /* "argpartsort.pyx":1818 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=1." + * def argpartsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_73argpartsort_3d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_72argpartsort_3d_float_axis1[] = "argpartsort_3d_float_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_73argpartsort_3d_float_axis1 = {"argpartsort_3d_float_axis1", (PyCFunction)__pyx_pw_11argpartsort_73argpartsort_3d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_72argpartsort_3d_float_axis1}; -static PyObject *__pyx_pw_11argpartsort_73argpartsort_3d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_73argpartsort_3d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_72argpartsort_3d_int8_axis1[] = "argpartsort_3d_int8_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_73argpartsort_3d_int8_axis1 = {"argpartsort_3d_int8_axis1", (PyCFunction)__pyx_pw_11argpartsort_73argpartsort_3d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_72argpartsort_3d_int8_axis1}; +static PyObject *__pyx_pw_11argpartsort_73argpartsort_3d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -25912,7 +25912,7 @@ static PyObject *__pyx_pw_11argpartsort_73argpartsort_3d_float_axis1(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -25933,11 +25933,11 @@ static PyObject *__pyx_pw_11argpartsort_73argpartsort_3d_float_axis1(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -25950,14 +25950,14 @@ static PyObject *__pyx_pw_11argpartsort_73argpartsort_3d_float_axis1(PyObject *_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_72argpartsort_3d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -25968,15 +25968,15 @@ static PyObject *__pyx_pw_11argpartsort_73argpartsort_3d_float_axis1(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -26047,7 +26047,7 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_float_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -26062,24 +26062,24 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "argpartsort.pyx":1820 - * def argpartsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float along axis=1." + * def argpartsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":1822 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -26089,7 +26089,7 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -26360,7 +26360,7 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS __pyx_t_9 = __pyx_v_i0; __pyx_t_19 = __pyx_v_k; __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1846 * while l < r: @@ -26400,7 +26400,7 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_i; __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -26416,7 +26416,7 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS __pyx_t_23 = __pyx_v_i0; __pyx_t_24 = __pyx_v_j; __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -26441,7 +26441,7 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS __pyx_t_26 = __pyx_v_i0; __pyx_t_27 = __pyx_v_i; __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1853 * if i <= j: @@ -26456,7 +26456,7 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS __pyx_t_32 = __pyx_v_i0; __pyx_t_33 = __pyx_v_i; __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1854 * tmp = b[i0, i, i2] @@ -26468,7 +26468,7 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS __pyx_t_35 = __pyx_v_i0; __pyx_t_36 = __pyx_v_j; __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "argpartsort.pyx":1855 * b[i0, i, i2] = b[i0, j, i2] @@ -26590,8 +26590,8 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS /* "argpartsort.pyx":1818 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=1." + * def argpartsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -26607,7 +26607,7 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -26625,16 +26625,16 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS /* "argpartsort.pyx":1867 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=2." + * def argpartsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_75argpartsort_3d_float_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_74argpartsort_3d_float_axis2[] = "argpartsort_3d_float_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=2."; -static PyMethodDef __pyx_mdef_11argpartsort_75argpartsort_3d_float_axis2 = {"argpartsort_3d_float_axis2", (PyCFunction)__pyx_pw_11argpartsort_75argpartsort_3d_float_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_74argpartsort_3d_float_axis2}; -static PyObject *__pyx_pw_11argpartsort_75argpartsort_3d_float_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_75argpartsort_3d_int8_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_74argpartsort_3d_int8_axis2[] = "argpartsort_3d_int8_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=2."; +static PyMethodDef __pyx_mdef_11argpartsort_75argpartsort_3d_int8_axis2 = {"argpartsort_3d_int8_axis2", (PyCFunction)__pyx_pw_11argpartsort_75argpartsort_3d_int8_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_74argpartsort_3d_int8_axis2}; +static PyObject *__pyx_pw_11argpartsort_75argpartsort_3d_int8_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -26642,7 +26642,7 @@ static PyObject *__pyx_pw_11argpartsort_75argpartsort_3d_float_axis2(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_float_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -26663,11 +26663,11 @@ static PyObject *__pyx_pw_11argpartsort_75argpartsort_3d_float_axis2(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int8_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -26680,14 +26680,14 @@ static PyObject *__pyx_pw_11argpartsort_75argpartsort_3d_float_axis2(PyObject *_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_74argpartsort_3d_int8_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -26698,15 +26698,15 @@ static PyObject *__pyx_pw_11argpartsort_75argpartsort_3d_float_axis2(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_int8_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -26777,7 +26777,7 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_float_axis2", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -26792,24 +26792,24 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "argpartsort.pyx":1869 - * def argpartsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float along axis=2." + * def argpartsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int8 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":1871 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -26819,7 +26819,7 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -27090,7 +27090,7 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_19 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1895 * while l < r: @@ -27130,7 +27130,7 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_i1; __pyx_t_22 = __pyx_v_i; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -27146,7 +27146,7 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS __pyx_t_23 = __pyx_v_i0; __pyx_t_24 = __pyx_v_i1; __pyx_t_25 = __pyx_v_j; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -27171,7 +27171,7 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS __pyx_t_26 = __pyx_v_i0; __pyx_t_27 = __pyx_v_i1; __pyx_t_28 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1902 * if i <= j: @@ -27186,7 +27186,7 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS __pyx_t_32 = __pyx_v_i0; __pyx_t_33 = __pyx_v_i1; __pyx_t_34 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1903 * tmp = b[i0, i1, i] @@ -27198,7 +27198,7 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS __pyx_t_35 = __pyx_v_i0; __pyx_t_36 = __pyx_v_i1; __pyx_t_37 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "argpartsort.pyx":1904 * b[i0, i1, i] = b[i0, i1, j] @@ -27320,8 +27320,8 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS /* "argpartsort.pyx":1867 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=2." + * def argpartsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -27337,7 +27337,7 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -27355,16 +27355,16 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS /* "argpartsort.pyx":1916 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=0." + * def argpartsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_77argpartsort_3d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_76argpartsort_3d_float32_axis0[] = "argpartsort_3d_float32_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_77argpartsort_3d_float32_axis0 = {"argpartsort_3d_float32_axis0", (PyCFunction)__pyx_pw_11argpartsort_77argpartsort_3d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_76argpartsort_3d_float32_axis0}; -static PyObject *__pyx_pw_11argpartsort_77argpartsort_3d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_77argpartsort_3d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_76argpartsort_3d_int32_axis0[] = "argpartsort_3d_int32_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_77argpartsort_3d_int32_axis0 = {"argpartsort_3d_int32_axis0", (PyCFunction)__pyx_pw_11argpartsort_77argpartsort_3d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_76argpartsort_3d_int32_axis0}; +static PyObject *__pyx_pw_11argpartsort_77argpartsort_3d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -27372,7 +27372,7 @@ static PyObject *__pyx_pw_11argpartsort_77argpartsort_3d_float32_axis0(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -27393,11 +27393,11 @@ static PyObject *__pyx_pw_11argpartsort_77argpartsort_3d_float32_axis0(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -27410,14 +27410,14 @@ static PyObject *__pyx_pw_11argpartsort_77argpartsort_3d_float32_axis0(PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_76argpartsort_3d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -27428,15 +27428,15 @@ static PyObject *__pyx_pw_11argpartsort_77argpartsort_3d_float32_axis0(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -27507,7 +27507,7 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -27522,24 +27522,24 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "argpartsort.pyx":1918 - * def argpartsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float32 along axis=0." + * def argpartsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":1920 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -27549,7 +27549,7 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -27820,7 +27820,7 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN __pyx_t_19 = __pyx_v_k; __pyx_t_9 = __pyx_v_i1; __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1944 * while l < r: @@ -27860,7 +27860,7 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN __pyx_t_20 = __pyx_v_i; __pyx_t_21 = __pyx_v_i1; __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -27876,7 +27876,7 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN __pyx_t_23 = __pyx_v_j; __pyx_t_24 = __pyx_v_i1; __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -27901,7 +27901,7 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN __pyx_t_26 = __pyx_v_i; __pyx_t_27 = __pyx_v_i1; __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1951 * if i <= j: @@ -27916,7 +27916,7 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN __pyx_t_32 = __pyx_v_i; __pyx_t_33 = __pyx_v_i1; __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1952 * tmp = b[i, i1, i2] @@ -27928,7 +27928,7 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN __pyx_t_35 = __pyx_v_j; __pyx_t_36 = __pyx_v_i1; __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "argpartsort.pyx":1953 * b[i, i1, i2] = b[j, i1, i2] @@ -28050,8 +28050,8 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN /* "argpartsort.pyx":1916 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=0." + * def argpartsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -28067,7 +28067,7 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -28085,16 +28085,16 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN /* "argpartsort.pyx":1965 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=1." + * def argpartsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_79argpartsort_3d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_78argpartsort_3d_float32_axis1[] = "argpartsort_3d_float32_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_79argpartsort_3d_float32_axis1 = {"argpartsort_3d_float32_axis1", (PyCFunction)__pyx_pw_11argpartsort_79argpartsort_3d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_78argpartsort_3d_float32_axis1}; -static PyObject *__pyx_pw_11argpartsort_79argpartsort_3d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_79argpartsort_3d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_78argpartsort_3d_int32_axis1[] = "argpartsort_3d_int32_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_79argpartsort_3d_int32_axis1 = {"argpartsort_3d_int32_axis1", (PyCFunction)__pyx_pw_11argpartsort_79argpartsort_3d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_78argpartsort_3d_int32_axis1}; +static PyObject *__pyx_pw_11argpartsort_79argpartsort_3d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -28102,7 +28102,7 @@ static PyObject *__pyx_pw_11argpartsort_79argpartsort_3d_float32_axis1(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -28123,11 +28123,11 @@ static PyObject *__pyx_pw_11argpartsort_79argpartsort_3d_float32_axis1(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -28140,14 +28140,14 @@ static PyObject *__pyx_pw_11argpartsort_79argpartsort_3d_float32_axis1(PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_78argpartsort_3d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -28158,15 +28158,15 @@ static PyObject *__pyx_pw_11argpartsort_79argpartsort_3d_float32_axis1(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -28237,7 +28237,7 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -28252,24 +28252,24 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "argpartsort.pyx":1967 - * def argpartsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float32 along axis=1." + * def argpartsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":1969 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -28279,7 +28279,7 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1969; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -28550,7 +28550,7 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN __pyx_t_9 = __pyx_v_i0; __pyx_t_19 = __pyx_v_k; __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1993 * while l < r: @@ -28590,7 +28590,7 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_i; __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -28606,7 +28606,7 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN __pyx_t_23 = __pyx_v_i0; __pyx_t_24 = __pyx_v_j; __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -28631,7 +28631,7 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN __pyx_t_26 = __pyx_v_i0; __pyx_t_27 = __pyx_v_i; __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2000 * if i <= j: @@ -28646,7 +28646,7 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN __pyx_t_32 = __pyx_v_i0; __pyx_t_33 = __pyx_v_i; __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2001 * tmp = b[i0, i, i2] @@ -28658,7 +28658,7 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN __pyx_t_35 = __pyx_v_i0; __pyx_t_36 = __pyx_v_j; __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "argpartsort.pyx":2002 * b[i0, i, i2] = b[i0, j, i2] @@ -28780,8 +28780,8 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN /* "argpartsort.pyx":1965 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=1." + * def argpartsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -28797,7 +28797,7 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -28815,16 +28815,16 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN /* "argpartsort.pyx":2014 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=2." + * def argpartsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_81argpartsort_3d_float32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_80argpartsort_3d_float32_axis2[] = "argpartsort_3d_float32_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=2."; -static PyMethodDef __pyx_mdef_11argpartsort_81argpartsort_3d_float32_axis2 = {"argpartsort_3d_float32_axis2", (PyCFunction)__pyx_pw_11argpartsort_81argpartsort_3d_float32_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_80argpartsort_3d_float32_axis2}; -static PyObject *__pyx_pw_11argpartsort_81argpartsort_3d_float32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_81argpartsort_3d_int32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_80argpartsort_3d_int32_axis2[] = "argpartsort_3d_int32_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=2."; +static PyMethodDef __pyx_mdef_11argpartsort_81argpartsort_3d_int32_axis2 = {"argpartsort_3d_int32_axis2", (PyCFunction)__pyx_pw_11argpartsort_81argpartsort_3d_int32_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_80argpartsort_3d_int32_axis2}; +static PyObject *__pyx_pw_11argpartsort_81argpartsort_3d_int32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -28832,7 +28832,7 @@ static PyObject *__pyx_pw_11argpartsort_81argpartsort_3d_float32_axis2(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -28853,11 +28853,11 @@ static PyObject *__pyx_pw_11argpartsort_81argpartsort_3d_float32_axis2(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float32_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int32_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -28870,14 +28870,14 @@ static PyObject *__pyx_pw_11argpartsort_81argpartsort_3d_float32_axis2(PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_80argpartsort_3d_int32_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -28888,15 +28888,15 @@ static PyObject *__pyx_pw_11argpartsort_81argpartsort_3d_float32_axis2(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_int32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -28967,7 +28967,7 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis2", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -28982,24 +28982,24 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "argpartsort.pyx":2016 - * def argpartsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float32 along axis=2." + * def argpartsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":2018 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -29009,7 +29009,7 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -29280,7 +29280,7 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_19 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2042 * while l < r: @@ -29320,7 +29320,7 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_i1; __pyx_t_22 = __pyx_v_i; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -29336,7 +29336,7 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN __pyx_t_23 = __pyx_v_i0; __pyx_t_24 = __pyx_v_i1; __pyx_t_25 = __pyx_v_j; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -29361,7 +29361,7 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN __pyx_t_26 = __pyx_v_i0; __pyx_t_27 = __pyx_v_i1; __pyx_t_28 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2049 * if i <= j: @@ -29376,7 +29376,7 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN __pyx_t_32 = __pyx_v_i0; __pyx_t_33 = __pyx_v_i1; __pyx_t_34 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2050 * tmp = b[i0, i1, i] @@ -29388,7 +29388,7 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN __pyx_t_35 = __pyx_v_i0; __pyx_t_36 = __pyx_v_i1; __pyx_t_37 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "argpartsort.pyx":2051 * b[i0, i1, i] = b[i0, i1, j] @@ -29510,8 +29510,8 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN /* "argpartsort.pyx":2014 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=2." + * def argpartsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -29527,7 +29527,7 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -29545,16 +29545,16 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN /* "argpartsort.pyx":2063 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=0." + * def argpartsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_83argpartsort_3d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_82argpartsort_3d_float64_axis0[] = "argpartsort_3d_float64_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_83argpartsort_3d_float64_axis0 = {"argpartsort_3d_float64_axis0", (PyCFunction)__pyx_pw_11argpartsort_83argpartsort_3d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_82argpartsort_3d_float64_axis0}; -static PyObject *__pyx_pw_11argpartsort_83argpartsort_3d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_83argpartsort_3d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_82argpartsort_3d_int64_axis0[] = "argpartsort_3d_int64_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_83argpartsort_3d_int64_axis0 = {"argpartsort_3d_int64_axis0", (PyCFunction)__pyx_pw_11argpartsort_83argpartsort_3d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_82argpartsort_3d_int64_axis0}; +static PyObject *__pyx_pw_11argpartsort_83argpartsort_3d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -29562,7 +29562,7 @@ static PyObject *__pyx_pw_11argpartsort_83argpartsort_3d_float64_axis0(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -29583,11 +29583,11 @@ static PyObject *__pyx_pw_11argpartsort_83argpartsort_3d_float64_axis0(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -29600,14 +29600,14 @@ static PyObject *__pyx_pw_11argpartsort_83argpartsort_3d_float64_axis0(PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_82argpartsort_3d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -29618,15 +29618,15 @@ static PyObject *__pyx_pw_11argpartsort_83argpartsort_3d_float64_axis0(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -29697,7 +29697,7 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -29712,24 +29712,24 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "argpartsort.pyx":2065 - * def argpartsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float64 along axis=0." + * def argpartsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":2067 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -29739,7 +29739,7 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -30010,7 +30010,7 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN __pyx_t_19 = __pyx_v_k; __pyx_t_9 = __pyx_v_i1; __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2091 * while l < r: @@ -30050,7 +30050,7 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN __pyx_t_20 = __pyx_v_i; __pyx_t_21 = __pyx_v_i1; __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -30066,7 +30066,7 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN __pyx_t_23 = __pyx_v_j; __pyx_t_24 = __pyx_v_i1; __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -30091,7 +30091,7 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN __pyx_t_26 = __pyx_v_i; __pyx_t_27 = __pyx_v_i1; __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2098 * if i <= j: @@ -30106,7 +30106,7 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN __pyx_t_32 = __pyx_v_i; __pyx_t_33 = __pyx_v_i1; __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2099 * tmp = b[i, i1, i2] @@ -30118,7 +30118,7 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN __pyx_t_35 = __pyx_v_j; __pyx_t_36 = __pyx_v_i1; __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "argpartsort.pyx":2100 * b[i, i1, i2] = b[j, i1, i2] @@ -30240,8 +30240,8 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN /* "argpartsort.pyx":2063 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=0." + * def argpartsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -30257,7 +30257,7 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -30275,16 +30275,16 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN /* "argpartsort.pyx":2112 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=1." + * def argpartsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_85argpartsort_3d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_84argpartsort_3d_float64_axis1[] = "argpartsort_3d_float64_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_85argpartsort_3d_float64_axis1 = {"argpartsort_3d_float64_axis1", (PyCFunction)__pyx_pw_11argpartsort_85argpartsort_3d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_84argpartsort_3d_float64_axis1}; -static PyObject *__pyx_pw_11argpartsort_85argpartsort_3d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_85argpartsort_3d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_84argpartsort_3d_int64_axis1[] = "argpartsort_3d_int64_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_85argpartsort_3d_int64_axis1 = {"argpartsort_3d_int64_axis1", (PyCFunction)__pyx_pw_11argpartsort_85argpartsort_3d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_84argpartsort_3d_int64_axis1}; +static PyObject *__pyx_pw_11argpartsort_85argpartsort_3d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -30292,7 +30292,7 @@ static PyObject *__pyx_pw_11argpartsort_85argpartsort_3d_float64_axis1(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -30313,11 +30313,11 @@ static PyObject *__pyx_pw_11argpartsort_85argpartsort_3d_float64_axis1(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -30330,14 +30330,14 @@ static PyObject *__pyx_pw_11argpartsort_85argpartsort_3d_float64_axis1(PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_84argpartsort_3d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -30348,15 +30348,15 @@ static PyObject *__pyx_pw_11argpartsort_85argpartsort_3d_float64_axis1(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -30427,7 +30427,7 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -30442,24 +30442,24 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "argpartsort.pyx":2114 - * def argpartsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float64 along axis=1." + * def argpartsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":2116 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -30469,7 +30469,7 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -30740,7 +30740,7 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN __pyx_t_9 = __pyx_v_i0; __pyx_t_19 = __pyx_v_k; __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2140 * while l < r: @@ -30780,7 +30780,7 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_i; __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -30796,7 +30796,7 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN __pyx_t_23 = __pyx_v_i0; __pyx_t_24 = __pyx_v_j; __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -30821,7 +30821,7 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN __pyx_t_26 = __pyx_v_i0; __pyx_t_27 = __pyx_v_i; __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2147 * if i <= j: @@ -30836,7 +30836,7 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN __pyx_t_32 = __pyx_v_i0; __pyx_t_33 = __pyx_v_i; __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2148 * tmp = b[i0, i, i2] @@ -30848,7 +30848,7 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN __pyx_t_35 = __pyx_v_i0; __pyx_t_36 = __pyx_v_j; __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "argpartsort.pyx":2149 * b[i0, i, i2] = b[i0, j, i2] @@ -30970,8 +30970,8 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN /* "argpartsort.pyx":2112 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=1." + * def argpartsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -30987,7 +30987,7 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -31005,16 +31005,16 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN /* "argpartsort.pyx":2161 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=2." + * def argpartsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_87argpartsort_3d_float64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_86argpartsort_3d_float64_axis2[] = "argpartsort_3d_float64_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=2."; -static PyMethodDef __pyx_mdef_11argpartsort_87argpartsort_3d_float64_axis2 = {"argpartsort_3d_float64_axis2", (PyCFunction)__pyx_pw_11argpartsort_87argpartsort_3d_float64_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_86argpartsort_3d_float64_axis2}; -static PyObject *__pyx_pw_11argpartsort_87argpartsort_3d_float64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_87argpartsort_3d_int64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_86argpartsort_3d_int64_axis2[] = "argpartsort_3d_int64_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=2."; +static PyMethodDef __pyx_mdef_11argpartsort_87argpartsort_3d_int64_axis2 = {"argpartsort_3d_int64_axis2", (PyCFunction)__pyx_pw_11argpartsort_87argpartsort_3d_int64_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_86argpartsort_3d_int64_axis2}; +static PyObject *__pyx_pw_11argpartsort_87argpartsort_3d_int64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -31022,7 +31022,7 @@ static PyObject *__pyx_pw_11argpartsort_87argpartsort_3d_float64_axis2(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -31043,11 +31043,11 @@ static PyObject *__pyx_pw_11argpartsort_87argpartsort_3d_float64_axis2(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float64_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int64_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -31060,14 +31060,14 @@ static PyObject *__pyx_pw_11argpartsort_87argpartsort_3d_float64_axis2(PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_86argpartsort_3d_int64_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -31078,15 +31078,15 @@ static PyObject *__pyx_pw_11argpartsort_87argpartsort_3d_float64_axis2(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_int64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -31157,7 +31157,7 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis2", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -31172,24 +31172,24 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "argpartsort.pyx":2163 - * def argpartsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float64 along axis=2." + * def argpartsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":2165 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -31199,7 +31199,7 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -31470,7 +31470,7 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_19 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2189 * while l < r: @@ -31510,7 +31510,7 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_i1; __pyx_t_22 = __pyx_v_i; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -31526,7 +31526,7 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN __pyx_t_23 = __pyx_v_i0; __pyx_t_24 = __pyx_v_i1; __pyx_t_25 = __pyx_v_j; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -31551,7 +31551,7 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN __pyx_t_26 = __pyx_v_i0; __pyx_t_27 = __pyx_v_i1; __pyx_t_28 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2196 * if i <= j: @@ -31566,7 +31566,7 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN __pyx_t_32 = __pyx_v_i0; __pyx_t_33 = __pyx_v_i1; __pyx_t_34 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2197 * tmp = b[i0, i1, i] @@ -31578,7 +31578,7 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN __pyx_t_35 = __pyx_v_i0; __pyx_t_36 = __pyx_v_i1; __pyx_t_37 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "argpartsort.pyx":2198 * b[i0, i1, i] = b[i0, i1, j] @@ -31700,8 +31700,8 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN /* "argpartsort.pyx":2161 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=2." + * def argpartsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -31717,7 +31717,7 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -31733,7 +31733,7 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN } /* "argpartsort.pyx":2252 - * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 + * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 * * def argpartsort_slow_axis0(arr, n): # <<<<<<<<<<<<<< * "Unaccelerated (slow) argpartsort along axis 0." @@ -31852,7 +31852,7 @@ static PyObject *__pyx_pf_11argpartsort_88argpartsort_slow_axis0(CYTHON_UNUSED P goto __pyx_L0; /* "argpartsort.pyx":2252 - * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 + * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 * * def argpartsort_slow_axis0(arr, n): # <<<<<<<<<<<<<< * "Unaccelerated (slow) argpartsort along axis 0." @@ -36526,7 +36526,7 @@ static PyObject *__pyx_pf_11argpartsort_154argpartsort_slow_axisNone(CYTHON_UNUS return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -36576,7 +36576,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -36589,7 +36589,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -36598,7 +36598,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -36607,7 +36607,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -36616,7 +36616,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -36626,7 +36626,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -36638,7 +36638,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -36649,7 +36649,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -36665,7 +36665,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -36677,7 +36677,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -36691,7 +36691,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -36707,7 +36707,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -36719,7 +36719,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -36733,7 +36733,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -36742,7 +36742,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -36751,7 +36751,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -36761,7 +36761,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -36770,7 +36770,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -36779,7 +36779,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -36790,7 +36790,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -36799,7 +36799,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -36812,7 +36812,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -36821,7 +36821,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -36832,7 +36832,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -36841,7 +36841,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -36850,7 +36850,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -36859,7 +36859,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -36868,7 +36868,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -36880,7 +36880,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -36889,7 +36889,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -36909,7 +36909,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -36925,7 +36925,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -36940,7 +36940,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -36950,7 +36950,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -36960,7 +36960,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -36983,7 +36983,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -37003,7 +37003,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -37017,7 +37017,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -37026,7 +37026,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -37037,7 +37037,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -37048,7 +37048,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -37059,7 +37059,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -37070,7 +37070,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -37081,7 +37081,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -37092,7 +37092,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -37103,7 +37103,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -37114,7 +37114,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -37125,7 +37125,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -37136,7 +37136,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -37147,7 +37147,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -37158,7 +37158,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -37169,7 +37169,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -37180,7 +37180,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -37191,7 +37191,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -37202,7 +37202,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -37214,7 +37214,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -37240,7 +37240,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -37249,7 +37249,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -37261,7 +37261,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -37270,7 +37270,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -37279,7 +37279,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -37288,7 +37288,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -37298,7 +37298,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -37308,7 +37308,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -37340,7 +37340,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -37364,7 +37364,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -37374,7 +37374,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -37386,7 +37386,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -37396,7 +37396,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -37408,7 +37408,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -37420,7 +37420,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -37437,7 +37437,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -37451,7 +37451,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -37470,7 +37470,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -37487,7 +37487,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -37501,7 +37501,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -37520,7 +37520,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -37537,7 +37537,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -37551,7 +37551,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -37570,7 +37570,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -37587,7 +37587,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -37601,7 +37601,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -37620,7 +37620,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -37637,7 +37637,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -37651,7 +37651,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -37670,7 +37670,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -37702,7 +37702,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -37711,7 +37711,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -37720,7 +37720,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -37742,7 +37742,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -37755,7 +37755,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -37794,7 +37794,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -37811,7 +37811,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -37825,7 +37825,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -37848,7 +37848,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -37868,7 +37868,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -37882,7 +37882,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -37898,7 +37898,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -37907,7 +37907,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -37916,7 +37916,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -37927,7 +37927,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -37937,7 +37937,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -37947,7 +37947,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -37959,7 +37959,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -37969,7 +37969,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -37983,7 +37983,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -38001,7 +38001,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -38019,7 +38019,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -38037,7 +38037,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -38055,7 +38055,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -38073,7 +38073,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -38091,7 +38091,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -38109,7 +38109,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -38127,7 +38127,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -38145,7 +38145,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -38163,7 +38163,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -38181,7 +38181,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -38199,7 +38199,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -38217,7 +38217,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -38237,7 +38237,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -38257,7 +38257,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -38277,7 +38277,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -38296,7 +38296,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -38319,7 +38319,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -38331,7 +38331,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -38343,7 +38343,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -38353,7 +38353,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -38363,7 +38363,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -38388,7 +38388,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -38403,7 +38403,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -38414,7 +38414,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -38426,7 +38426,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -38435,7 +38435,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -38446,7 +38446,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -38455,7 +38455,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -38464,7 +38464,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -38476,7 +38476,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -38490,7 +38490,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -38500,7 +38500,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -38514,7 +38514,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -38525,7 +38525,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -38563,7 +38563,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -38577,6 +38576,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -38733,7 +38733,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -38744,7 +38744,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -38755,7 +38755,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -38766,7 +38766,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -38777,7 +38777,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -38788,7 +38788,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -38820,7 +38820,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_n, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort, 84, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort, 84, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":149 * return func(arr, n) @@ -38832,514 +38832,514 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_key, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_selector, 149, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_selector, 149, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":229 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int along axis=0." + * def argpartsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__13 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_1d_int_axis0, 229, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_1d_float_axis0, 229, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":273 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int8 along axis=0." + * def argpartsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__15 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_1d_int8_axis0, 273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_1d_float32_axis0, 273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":317 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int32 along axis=0." + * def argpartsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__17 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_1d_int32_axis0, 317, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_1d_float64_axis0, 317, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":361 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int64 along axis=0." + * def argpartsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__19 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_1d_int64_axis0, 361, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_float_axis0, 361, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":405 + /* "argpartsort.pyx":407 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=0." + * def argpartsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__21 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_int_axis0, 405, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_float_axis1, 407, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":451 + /* "argpartsort.pyx":453 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=1." + * def argpartsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__23 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_int_axis1, 451, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_float32_axis0, 453, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":497 + /* "argpartsort.pyx":499 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=0." + * def argpartsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__25 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_int8_axis0, 497, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_float32_axis1, 499, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":543 + /* "argpartsort.pyx":545 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=1." + * def argpartsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__27 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_int8_axis1, 543, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_float64_axis0, 545, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":589 + /* "argpartsort.pyx":591 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=0." + * def argpartsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__29 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_int32_axis0, 589, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_float64_axis1, 591, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":635 + /* "argpartsort.pyx":637 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=1." + * def argpartsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__31 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_int32_axis1, 635, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_float_axis0, 637, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":681 + /* "argpartsort.pyx":686 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=0." + * def argpartsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__33 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_int64_axis0, 681, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_float_axis1, 686, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":727 + /* "argpartsort.pyx":735 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=1." + * def argpartsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__35 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_int64_axis1, 727, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_float_axis2, 735, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":773 + /* "argpartsort.pyx":784 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=0." + * def argpartsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__37 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int_axis0, 773, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_float32_axis0, 784, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":822 + /* "argpartsort.pyx":833 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=1." + * def argpartsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__39 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int_axis1, 822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_float32_axis1, 833, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":871 + /* "argpartsort.pyx":882 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=2." + * def argpartsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__41 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int_axis2, 871, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_float32_axis2, 882, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":920 + /* "argpartsort.pyx":931 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=0." + * def argpartsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__43 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int8_axis0, 920, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_float64_axis0, 931, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":969 + /* "argpartsort.pyx":980 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=1." + * def argpartsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__45 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int8_axis1, 969, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_float64_axis1, 980, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1018 + /* "argpartsort.pyx":1029 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=2." + * def argpartsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__47 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int8_axis2, 1018, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_float64_axis2, 1029, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1067 + /* "argpartsort.pyx":1078 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=0." + * def argpartsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__49 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int32_axis0, 1067, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_1d_int_axis0, 1078, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1116 + /* "argpartsort.pyx":1122 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=1." + * def argpartsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__51 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int32_axis1, 1116, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_1d_int8_axis0, 1122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1165 + /* "argpartsort.pyx":1166 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=2." + * def argpartsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__53 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int32_axis2, 1165, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_1d_int32_axis0, 1166, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1214 + /* "argpartsort.pyx":1210 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=0." + * def argpartsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__55 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int64_axis0, 1214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_1d_int64_axis0, 1210, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1263 + /* "argpartsort.pyx":1254 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=1." + * def argpartsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__57 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int64_axis1, 1263, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_int_axis0, 1254, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1312 + /* "argpartsort.pyx":1300 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=2." + * def argpartsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__59 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int64_axis2, 1312, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_int_axis1, 1300, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1361 + /* "argpartsort.pyx":1346 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float along axis=0." + * def argpartsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__61 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_1d_float_axis0, 1361, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_int8_axis0, 1346, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1405 + /* "argpartsort.pyx":1392 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float32 along axis=0." + * def argpartsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__63 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_1d_float32_axis0, 1405, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_int8_axis1, 1392, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1449 + /* "argpartsort.pyx":1438 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float64 along axis=0." + * def argpartsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__65 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_1d_float64_axis0, 1449, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_int32_axis0, 1438, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1493 + /* "argpartsort.pyx":1484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=0." + * def argpartsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__67 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_float_axis0, 1493, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_int32_axis1, 1484, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1539 + /* "argpartsort.pyx":1530 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=1." + * def argpartsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__69 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__69 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_float_axis1, 1539, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_int64_axis0, 1530, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1585 + /* "argpartsort.pyx":1576 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=0." + * def argpartsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__71 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__71 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_float32_axis0, 1585, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_int64_axis1, 1576, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1631 + /* "argpartsort.pyx":1622 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=1." + * def argpartsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__73 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__73 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_float32_axis1, 1631, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int_axis0, 1622, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1677 + /* "argpartsort.pyx":1671 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=0." + * def argpartsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__75 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__75 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_float64_axis0, 1677, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int_axis1, 1671, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1723 + /* "argpartsort.pyx":1720 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=1." + * def argpartsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__77 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__77 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_float64_axis1, 1723, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int_axis2, 1720, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":1769 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=0." + * def argpartsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__79 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_float_axis0, 1769, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int8_axis0, 1769, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":1818 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=1." + * def argpartsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__81 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_float_axis1, 1818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int8_axis1, 1818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":1867 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=2." + * def argpartsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__83 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_float_axis2, 1867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int8_axis2, 1867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":1916 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=0." + * def argpartsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__85 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_float32_axis0, 1916, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int32_axis0, 1916, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":1965 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=1." + * def argpartsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__87 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_float32_axis1, 1965, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int32_axis1, 1965, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2014 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=2." + * def argpartsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__89 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_float32_axis2, 2014, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int32_axis2, 2014, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2063 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=0." + * def argpartsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__91 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_float64_axis0, 2063, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int64_axis0, 2063, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2112 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=1." + * def argpartsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__93 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_float64_axis1, 2112, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int64_axis1, 2112, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2161 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=2." + * def argpartsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__95 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_float64_axis2, 2161, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int64_axis2, 2161, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2252 - * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 + * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 * * def argpartsort_slow_axis0(arr, n): # <<<<<<<<<<<<<< * "Unaccelerated (slow) argpartsort along axis 0." @@ -39348,7 +39348,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis0, 2252, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis0, 2252, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2256 * return bn.slow.argpartsort(arr, n, axis=0) @@ -39360,7 +39360,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis1, 2256, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis1, 2256, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2260 * return bn.slow.argpartsort(arr, n, axis=1) @@ -39372,7 +39372,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis2, 2260, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis2, 2260, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2264 * return bn.slow.argpartsort(arr, n, axis=2) @@ -39384,7 +39384,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis3, 2264, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis3, 2264, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2268 * return bn.slow.argpartsort(arr, n, axis=3) @@ -39396,7 +39396,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis4, 2268, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis4, 2268, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2272 * return bn.slow.argpartsort(arr, n, axis=4) @@ -39408,7 +39408,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis5, 2272, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis5, 2272, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2276 * return bn.slow.argpartsort(arr, n, axis=5) @@ -39420,7 +39420,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis6, 2276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis6, 2276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2280 * return bn.slow.argpartsort(arr, n, axis=6) @@ -39432,7 +39432,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis7, 2280, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis7, 2280, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2284 * return bn.slow.argpartsort(arr, n, axis=7) @@ -39444,7 +39444,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis8, 2284, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis8, 2284, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2288 * return bn.slow.argpartsort(arr, n, axis=8) @@ -39456,7 +39456,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis9, 2288, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis9, 2288, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2292 * return bn.slow.argpartsort(arr, n, axis=9) @@ -39468,7 +39468,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis10, 2292, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis10, 2292, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2296 * return bn.slow.argpartsort(arr, n, axis=10) @@ -39480,7 +39480,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis11, 2296, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis11, 2296, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2300 * return bn.slow.argpartsort(arr, n, axis=11) @@ -39492,7 +39492,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis12, 2300, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis12, 2300, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2304 * return bn.slow.argpartsort(arr, n, axis=12) @@ -39504,7 +39504,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis13, 2304, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis13, 2304, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2308 * return bn.slow.argpartsort(arr, n, axis=13) @@ -39516,7 +39516,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis14, 2308, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis14, 2308, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2312 * return bn.slow.argpartsort(arr, n, axis=14) @@ -39528,7 +39528,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis15, 2312, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis15, 2312, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2316 * return bn.slow.argpartsort(arr, n, axis=15) @@ -39540,7 +39540,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis16, 2316, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis16, 2316, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2320 * return bn.slow.argpartsort(arr, n, axis=16) @@ -39552,7 +39552,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis17, 2320, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis17, 2320, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2324 * return bn.slow.argpartsort(arr, n, axis=17) @@ -39564,7 +39564,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis18, 2324, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis18, 2324, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2328 * return bn.slow.argpartsort(arr, n, axis=18) @@ -39576,7 +39576,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis19, 2328, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis19, 2328, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2332 * return bn.slow.argpartsort(arr, n, axis=19) @@ -39588,7 +39588,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__137 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__137); __Pyx_GIVEREF(__pyx_tuple__137); - __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis20, 2332, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis20, 2332, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2336 * return bn.slow.argpartsort(arr, n, axis=20) @@ -39600,7 +39600,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__139 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__139); __Pyx_GIVEREF(__pyx_tuple__139); - __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis21, 2336, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis21, 2336, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2340 * return bn.slow.argpartsort(arr, n, axis=21) @@ -39612,7 +39612,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__141 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__141); __Pyx_GIVEREF(__pyx_tuple__141); - __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis22, 2340, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis22, 2340, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2344 * return bn.slow.argpartsort(arr, n, axis=22) @@ -39624,7 +39624,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__143 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__143); __Pyx_GIVEREF(__pyx_tuple__143); - __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis23, 2344, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis23, 2344, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2348 * return bn.slow.argpartsort(arr, n, axis=23) @@ -39636,7 +39636,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__145 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__145); __Pyx_GIVEREF(__pyx_tuple__145); - __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis24, 2348, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis24, 2348, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2352 * return bn.slow.argpartsort(arr, n, axis=24) @@ -39648,7 +39648,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__147 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__147); __Pyx_GIVEREF(__pyx_tuple__147); - __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis25, 2352, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis25, 2352, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2356 * return bn.slow.argpartsort(arr, n, axis=25) @@ -39660,7 +39660,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__149 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__149); __Pyx_GIVEREF(__pyx_tuple__149); - __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis26, 2356, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis26, 2356, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2360 * return bn.slow.argpartsort(arr, n, axis=26) @@ -39672,7 +39672,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__151 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__151); __Pyx_GIVEREF(__pyx_tuple__151); - __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis27, 2360, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis27, 2360, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2364 * return bn.slow.argpartsort(arr, n, axis=27) @@ -39684,7 +39684,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__153 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__153); __Pyx_GIVEREF(__pyx_tuple__153); - __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis28, 2364, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis28, 2364, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2368 * return bn.slow.argpartsort(arr, n, axis=28) @@ -39696,7 +39696,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__155 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__155); __Pyx_GIVEREF(__pyx_tuple__155); - __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis29, 2368, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis29, 2368, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2372 * return bn.slow.argpartsort(arr, n, axis=29) @@ -39708,7 +39708,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__157 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__157); __Pyx_GIVEREF(__pyx_tuple__157); - __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis30, 2372, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis30, 2372, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2376 * return bn.slow.argpartsort(arr, n, axis=30) @@ -39720,7 +39720,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__159 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__159); __Pyx_GIVEREF(__pyx_tuple__159); - __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis31, 2376, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis31, 2376, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2380 * return bn.slow.argpartsort(arr, n, axis=31) @@ -39732,7 +39732,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__161 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__161); __Pyx_GIVEREF(__pyx_tuple__161); - __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis32, 2380, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis32, 2380, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2384 * return bn.slow.argpartsort(arr, n, axis=32) @@ -39744,7 +39744,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__163 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__163); __Pyx_GIVEREF(__pyx_tuple__163); - __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axisNone, 2384, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axisNone, 2384, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -40711,513 +40711,513 @@ PyMODINIT_FUNC PyInit_argpartsort(void) /* "argpartsort.pyx":229 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int along axis=0." + * def argpartsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_5argpartsort_1d_int_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_5argpartsort_1d_float_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":273 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int8 along axis=0." + * def argpartsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_7argpartsort_1d_int8_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_7argpartsort_1d_float32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":317 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int32 along axis=0." + * def argpartsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_9argpartsort_1d_int32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_9argpartsort_1d_float64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":361 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int64 along axis=0." + * def argpartsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_11argpartsort_1d_int64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_11argpartsort_2d_float_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":405 + /* "argpartsort.pyx":407 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=0." + * def argpartsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_13argpartsort_2d_int_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_13argpartsort_2d_float_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":451 + /* "argpartsort.pyx":453 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=1." + * def argpartsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_15argpartsort_2d_int_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_15argpartsort_2d_float32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":497 + /* "argpartsort.pyx":499 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=0." + * def argpartsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_17argpartsort_2d_int8_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_17argpartsort_2d_float32_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":543 + /* "argpartsort.pyx":545 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=1." + * def argpartsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_19argpartsort_2d_int8_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_19argpartsort_2d_float64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":589 + /* "argpartsort.pyx":591 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=0." + * def argpartsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_21argpartsort_2d_int32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_21argpartsort_2d_float64_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":635 + /* "argpartsort.pyx":637 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=1." + * def argpartsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_23argpartsort_2d_int32_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_23argpartsort_3d_float_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":681 + /* "argpartsort.pyx":686 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=0." + * def argpartsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_25argpartsort_2d_int64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_25argpartsort_3d_float_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":727 + /* "argpartsort.pyx":735 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=1." + * def argpartsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_27argpartsort_2d_int64_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_27argpartsort_3d_float_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":773 + /* "argpartsort.pyx":784 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=0." + * def argpartsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_29argpartsort_3d_int_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_29argpartsort_3d_float32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":822 + /* "argpartsort.pyx":833 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=1." + * def argpartsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_31argpartsort_3d_int_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_31argpartsort_3d_float32_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":871 + /* "argpartsort.pyx":882 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=2." + * def argpartsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_33argpartsort_3d_int_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_33argpartsort_3d_float32_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float32_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":920 + /* "argpartsort.pyx":931 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=0." + * def argpartsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_35argpartsort_3d_int8_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_35argpartsort_3d_float64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":969 + /* "argpartsort.pyx":980 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=1." + * def argpartsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_37argpartsort_3d_int8_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_37argpartsort_3d_float64_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1018 + /* "argpartsort.pyx":1029 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=2." + * def argpartsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_39argpartsort_3d_int8_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_39argpartsort_3d_float64_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int8_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float64_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1067 + /* "argpartsort.pyx":1078 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=0." + * def argpartsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_41argpartsort_3d_int32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_41argpartsort_1d_int_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1116 + /* "argpartsort.pyx":1122 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=1." + * def argpartsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_43argpartsort_3d_int32_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_43argpartsort_1d_int8_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1165 + /* "argpartsort.pyx":1166 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=2." + * def argpartsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_45argpartsort_3d_int32_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_45argpartsort_1d_int32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int32_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1214 + /* "argpartsort.pyx":1210 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=0." + * def argpartsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_47argpartsort_3d_int64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_47argpartsort_1d_int64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1263 + /* "argpartsort.pyx":1254 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=1." + * def argpartsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_49argpartsort_3d_int64_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_49argpartsort_2d_int_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1312 + /* "argpartsort.pyx":1300 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=2." + * def argpartsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_51argpartsort_3d_int64_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_51argpartsort_2d_int_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int64_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1361 + /* "argpartsort.pyx":1346 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float along axis=0." + * def argpartsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_53argpartsort_1d_float_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_53argpartsort_2d_int8_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1405 + /* "argpartsort.pyx":1392 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float32 along axis=0." + * def argpartsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_55argpartsort_1d_float32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_55argpartsort_2d_int8_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1449 + /* "argpartsort.pyx":1438 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float64 along axis=0." + * def argpartsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_57argpartsort_1d_float64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_57argpartsort_2d_int32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1493 + /* "argpartsort.pyx":1484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=0." + * def argpartsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_59argpartsort_2d_float_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_59argpartsort_2d_int32_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1539 + /* "argpartsort.pyx":1530 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=1." + * def argpartsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_61argpartsort_2d_float_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_61argpartsort_2d_int64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1585 + /* "argpartsort.pyx":1576 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=0." + * def argpartsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_63argpartsort_2d_float32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_63argpartsort_2d_int64_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1631 + /* "argpartsort.pyx":1622 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=1." + * def argpartsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_65argpartsort_2d_float32_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_65argpartsort_3d_int_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1677 + /* "argpartsort.pyx":1671 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=0." + * def argpartsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_67argpartsort_2d_float64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_67argpartsort_3d_int_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1723 + /* "argpartsort.pyx":1720 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=1." + * def argpartsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_69argpartsort_2d_float64_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_69argpartsort_3d_int_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":1769 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=0." + * def argpartsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_71argpartsort_3d_float_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_71argpartsort_3d_int8_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":1818 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=1." + * def argpartsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_73argpartsort_3d_float_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_73argpartsort_3d_int8_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":1867 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=2." + * def argpartsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_75argpartsort_3d_float_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_75argpartsort_3d_int8_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int8_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":1916 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=0." + * def argpartsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_77argpartsort_3d_float32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_77argpartsort_3d_int32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":1965 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=1." + * def argpartsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_79argpartsort_3d_float32_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_79argpartsort_3d_int32_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2014 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=2." + * def argpartsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_81argpartsort_3d_float32_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_81argpartsort_3d_int32_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float32_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int32_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2063 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=0." + * def argpartsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_83argpartsort_3d_float64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_83argpartsort_3d_int64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2112 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=1." + * def argpartsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_85argpartsort_3d_float64_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_85argpartsort_3d_int64_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2161 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=2." + * def argpartsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_87argpartsort_3d_float64_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_87argpartsort_3d_int64_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float64_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int64_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2208 * return y * * cdef dict argpartsort_dict = {} # <<<<<<<<<<<<<< - * argpartsort_dict[(1, NPY_int, 0)] = argpartsort_1d_int_axis0 - * argpartsort_dict[(1, NPY_int8, 0)] = argpartsort_1d_int8_axis0 + * argpartsort_dict[(1, NPY_float, 0)] = argpartsort_1d_float_axis0 + * argpartsort_dict[(1, NPY_float32, 0)] = argpartsort_1d_float32_axis0 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -41229,17 +41229,17 @@ PyMODINIT_FUNC PyInit_argpartsort(void) /* "argpartsort.pyx":2209 * * cdef dict argpartsort_dict = {} - * argpartsort_dict[(1, NPY_int, 0)] = argpartsort_1d_int_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(1, NPY_int8, 0)] = argpartsort_1d_int8_axis0 - * argpartsort_dict[(1, NPY_int32, 0)] = argpartsort_1d_int32_axis0 + * argpartsort_dict[(1, NPY_float, 0)] = argpartsort_1d_float_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(1, NPY_float32, 0)] = argpartsort_1d_float32_axis0 + * argpartsort_dict[(1, NPY_float64, 0)] = argpartsort_1d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -41258,18 +41258,18 @@ PyMODINIT_FUNC PyInit_argpartsort(void) /* "argpartsort.pyx":2210 * cdef dict argpartsort_dict = {} - * argpartsort_dict[(1, NPY_int, 0)] = argpartsort_1d_int_axis0 - * argpartsort_dict[(1, NPY_int8, 0)] = argpartsort_1d_int8_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(1, NPY_int32, 0)] = argpartsort_1d_int32_axis0 - * argpartsort_dict[(1, NPY_int64, 0)] = argpartsort_1d_int64_axis0 + * argpartsort_dict[(1, NPY_float, 0)] = argpartsort_1d_float_axis0 + * argpartsort_dict[(1, NPY_float32, 0)] = argpartsort_1d_float32_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(1, NPY_float64, 0)] = argpartsort_1d_float64_axis0 + * argpartsort_dict[(2, NPY_float, 0)] = argpartsort_2d_float_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -41287,19 +41287,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2211 - * argpartsort_dict[(1, NPY_int, 0)] = argpartsort_1d_int_axis0 - * argpartsort_dict[(1, NPY_int8, 0)] = argpartsort_1d_int8_axis0 - * argpartsort_dict[(1, NPY_int32, 0)] = argpartsort_1d_int32_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(1, NPY_int64, 0)] = argpartsort_1d_int64_axis0 - * argpartsort_dict[(2, NPY_int, 0)] = argpartsort_2d_int_axis0 + * argpartsort_dict[(1, NPY_float, 0)] = argpartsort_1d_float_axis0 + * argpartsort_dict[(1, NPY_float32, 0)] = argpartsort_1d_float32_axis0 + * argpartsort_dict[(1, NPY_float64, 0)] = argpartsort_1d_float64_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_float, 0)] = argpartsort_2d_float_axis0 + * argpartsort_dict[(2, NPY_float, 1)] = argpartsort_2d_float_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -41317,25 +41317,25 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2212 - * argpartsort_dict[(1, NPY_int8, 0)] = argpartsort_1d_int8_axis0 - * argpartsort_dict[(1, NPY_int32, 0)] = argpartsort_1d_int32_axis0 - * argpartsort_dict[(1, NPY_int64, 0)] = argpartsort_1d_int64_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_int, 0)] = argpartsort_2d_int_axis0 - * argpartsort_dict[(2, NPY_int, 1)] = argpartsort_2d_int_axis1 + * argpartsort_dict[(1, NPY_float32, 0)] = argpartsort_1d_float32_axis0 + * argpartsort_dict[(1, NPY_float64, 0)] = argpartsort_1d_float64_axis0 + * argpartsort_dict[(2, NPY_float, 0)] = argpartsort_2d_float_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_float, 1)] = argpartsort_2d_float_axis1 + * argpartsort_dict[(2, NPY_float32, 0)] = argpartsort_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -41347,19 +41347,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2213 - * argpartsort_dict[(1, NPY_int32, 0)] = argpartsort_1d_int32_axis0 - * argpartsort_dict[(1, NPY_int64, 0)] = argpartsort_1d_int64_axis0 - * argpartsort_dict[(2, NPY_int, 0)] = argpartsort_2d_int_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_int, 1)] = argpartsort_2d_int_axis1 - * argpartsort_dict[(2, NPY_int8, 0)] = argpartsort_2d_int8_axis0 + * argpartsort_dict[(1, NPY_float64, 0)] = argpartsort_1d_float64_axis0 + * argpartsort_dict[(2, NPY_float, 0)] = argpartsort_2d_float_axis0 + * argpartsort_dict[(2, NPY_float, 1)] = argpartsort_2d_float_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_float32, 0)] = argpartsort_2d_float32_axis0 + * argpartsort_dict[(2, NPY_float32, 1)] = argpartsort_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -41368,28 +41368,28 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2214 - * argpartsort_dict[(1, NPY_int64, 0)] = argpartsort_1d_int64_axis0 - * argpartsort_dict[(2, NPY_int, 0)] = argpartsort_2d_int_axis0 - * argpartsort_dict[(2, NPY_int, 1)] = argpartsort_2d_int_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_int8, 0)] = argpartsort_2d_int8_axis0 - * argpartsort_dict[(2, NPY_int8, 1)] = argpartsort_2d_int8_axis1 + * argpartsort_dict[(2, NPY_float, 0)] = argpartsort_2d_float_axis0 + * argpartsort_dict[(2, NPY_float, 1)] = argpartsort_2d_float_axis1 + * argpartsort_dict[(2, NPY_float32, 0)] = argpartsort_2d_float32_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_float32, 1)] = argpartsort_2d_float32_axis1 + * argpartsort_dict[(2, NPY_float64, 0)] = argpartsort_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -41398,28 +41398,28 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2215 - * argpartsort_dict[(2, NPY_int, 0)] = argpartsort_2d_int_axis0 - * argpartsort_dict[(2, NPY_int, 1)] = argpartsort_2d_int_axis1 - * argpartsort_dict[(2, NPY_int8, 0)] = argpartsort_2d_int8_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_int8, 1)] = argpartsort_2d_int8_axis1 - * argpartsort_dict[(2, NPY_int32, 0)] = argpartsort_2d_int32_axis0 + * argpartsort_dict[(2, NPY_float, 1)] = argpartsort_2d_float_axis1 + * argpartsort_dict[(2, NPY_float32, 0)] = argpartsort_2d_float32_axis0 + * argpartsort_dict[(2, NPY_float32, 1)] = argpartsort_2d_float32_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_float64, 0)] = argpartsort_2d_float64_axis0 + * argpartsort_dict[(2, NPY_float64, 1)] = argpartsort_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -41428,28 +41428,28 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2216 - * argpartsort_dict[(2, NPY_int, 1)] = argpartsort_2d_int_axis1 - * argpartsort_dict[(2, NPY_int8, 0)] = argpartsort_2d_int8_axis0 - * argpartsort_dict[(2, NPY_int8, 1)] = argpartsort_2d_int8_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_int32, 0)] = argpartsort_2d_int32_axis0 - * argpartsort_dict[(2, NPY_int32, 1)] = argpartsort_2d_int32_axis1 + * argpartsort_dict[(2, NPY_float32, 0)] = argpartsort_2d_float32_axis0 + * argpartsort_dict[(2, NPY_float32, 1)] = argpartsort_2d_float32_axis1 + * argpartsort_dict[(2, NPY_float64, 0)] = argpartsort_2d_float64_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_float64, 1)] = argpartsort_2d_float64_axis1 + * argpartsort_dict[(3, NPY_float, 0)] = argpartsort_3d_float_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -41458,28 +41458,28 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":2217 - * argpartsort_dict[(2, NPY_int8, 0)] = argpartsort_2d_int8_axis0 - * argpartsort_dict[(2, NPY_int8, 1)] = argpartsort_2d_int8_axis1 - * argpartsort_dict[(2, NPY_int32, 0)] = argpartsort_2d_int32_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_int32, 1)] = argpartsort_2d_int32_axis1 - * argpartsort_dict[(2, NPY_int64, 0)] = argpartsort_2d_int64_axis0 + /* "argpartsort.pyx":2217 + * argpartsort_dict[(2, NPY_float32, 1)] = argpartsort_2d_float32_axis1 + * argpartsort_dict[(2, NPY_float64, 0)] = argpartsort_2d_float64_axis0 + * argpartsort_dict[(2, NPY_float64, 1)] = argpartsort_2d_float64_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_float, 0)] = argpartsort_3d_float_axis0 + * argpartsort_dict[(3, NPY_float, 1)] = argpartsort_3d_float_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -41488,118 +41488,118 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2218 - * argpartsort_dict[(2, NPY_int8, 1)] = argpartsort_2d_int8_axis1 - * argpartsort_dict[(2, NPY_int32, 0)] = argpartsort_2d_int32_axis0 - * argpartsort_dict[(2, NPY_int32, 1)] = argpartsort_2d_int32_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_int64, 0)] = argpartsort_2d_int64_axis0 - * argpartsort_dict[(2, NPY_int64, 1)] = argpartsort_2d_int64_axis1 + * argpartsort_dict[(2, NPY_float64, 0)] = argpartsort_2d_float64_axis0 + * argpartsort_dict[(2, NPY_float64, 1)] = argpartsort_2d_float64_axis1 + * argpartsort_dict[(3, NPY_float, 0)] = argpartsort_3d_float_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_float, 1)] = argpartsort_3d_float_axis1 + * argpartsort_dict[(3, NPY_float, 2)] = argpartsort_3d_float_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2219 - * argpartsort_dict[(2, NPY_int32, 0)] = argpartsort_2d_int32_axis0 - * argpartsort_dict[(2, NPY_int32, 1)] = argpartsort_2d_int32_axis1 - * argpartsort_dict[(2, NPY_int64, 0)] = argpartsort_2d_int64_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_int64, 1)] = argpartsort_2d_int64_axis1 - * argpartsort_dict[(3, NPY_int, 0)] = argpartsort_3d_int_axis0 + * argpartsort_dict[(2, NPY_float64, 1)] = argpartsort_2d_float64_axis1 + * argpartsort_dict[(3, NPY_float, 0)] = argpartsort_3d_float_axis0 + * argpartsort_dict[(3, NPY_float, 1)] = argpartsort_3d_float_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_float, 2)] = argpartsort_3d_float_axis2 + * argpartsort_dict[(3, NPY_float32, 0)] = argpartsort_3d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2220 - * argpartsort_dict[(2, NPY_int32, 1)] = argpartsort_2d_int32_axis1 - * argpartsort_dict[(2, NPY_int64, 0)] = argpartsort_2d_int64_axis0 - * argpartsort_dict[(2, NPY_int64, 1)] = argpartsort_2d_int64_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int, 0)] = argpartsort_3d_int_axis0 - * argpartsort_dict[(3, NPY_int, 1)] = argpartsort_3d_int_axis1 + * argpartsort_dict[(3, NPY_float, 0)] = argpartsort_3d_float_axis0 + * argpartsort_dict[(3, NPY_float, 1)] = argpartsort_3d_float_axis1 + * argpartsort_dict[(3, NPY_float, 2)] = argpartsort_3d_float_axis2 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_float32, 0)] = argpartsort_3d_float32_axis0 + * argpartsort_dict[(3, NPY_float32, 1)] = argpartsort_3d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2221 - * argpartsort_dict[(2, NPY_int64, 0)] = argpartsort_2d_int64_axis0 - * argpartsort_dict[(2, NPY_int64, 1)] = argpartsort_2d_int64_axis1 - * argpartsort_dict[(3, NPY_int, 0)] = argpartsort_3d_int_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int, 1)] = argpartsort_3d_int_axis1 - * argpartsort_dict[(3, NPY_int, 2)] = argpartsort_3d_int_axis2 + * argpartsort_dict[(3, NPY_float, 1)] = argpartsort_3d_float_axis1 + * argpartsort_dict[(3, NPY_float, 2)] = argpartsort_3d_float_axis2 + * argpartsort_dict[(3, NPY_float32, 0)] = argpartsort_3d_float32_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_float32, 1)] = argpartsort_3d_float32_axis1 + * argpartsort_dict[(3, NPY_float32, 2)] = argpartsort_3d_float32_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -41617,19 +41617,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2222 - * argpartsort_dict[(2, NPY_int64, 1)] = argpartsort_2d_int64_axis1 - * argpartsort_dict[(3, NPY_int, 0)] = argpartsort_3d_int_axis0 - * argpartsort_dict[(3, NPY_int, 1)] = argpartsort_3d_int_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int, 2)] = argpartsort_3d_int_axis2 - * argpartsort_dict[(3, NPY_int8, 0)] = argpartsort_3d_int8_axis0 + * argpartsort_dict[(3, NPY_float, 2)] = argpartsort_3d_float_axis2 + * argpartsort_dict[(3, NPY_float32, 0)] = argpartsort_3d_float32_axis0 + * argpartsort_dict[(3, NPY_float32, 1)] = argpartsort_3d_float32_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_float32, 2)] = argpartsort_3d_float32_axis2 + * argpartsort_dict[(3, NPY_float64, 0)] = argpartsort_3d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -41647,19 +41647,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2223 - * argpartsort_dict[(3, NPY_int, 0)] = argpartsort_3d_int_axis0 - * argpartsort_dict[(3, NPY_int, 1)] = argpartsort_3d_int_axis1 - * argpartsort_dict[(3, NPY_int, 2)] = argpartsort_3d_int_axis2 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int8, 0)] = argpartsort_3d_int8_axis0 - * argpartsort_dict[(3, NPY_int8, 1)] = argpartsort_3d_int8_axis1 + * argpartsort_dict[(3, NPY_float32, 0)] = argpartsort_3d_float32_axis0 + * argpartsort_dict[(3, NPY_float32, 1)] = argpartsort_3d_float32_axis1 + * argpartsort_dict[(3, NPY_float32, 2)] = argpartsort_3d_float32_axis2 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_float64, 0)] = argpartsort_3d_float64_axis0 + * argpartsort_dict[(3, NPY_float64, 1)] = argpartsort_3d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float32_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -41677,19 +41677,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2224 - * argpartsort_dict[(3, NPY_int, 1)] = argpartsort_3d_int_axis1 - * argpartsort_dict[(3, NPY_int, 2)] = argpartsort_3d_int_axis2 - * argpartsort_dict[(3, NPY_int8, 0)] = argpartsort_3d_int8_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int8, 1)] = argpartsort_3d_int8_axis1 - * argpartsort_dict[(3, NPY_int8, 2)] = argpartsort_3d_int8_axis2 + * argpartsort_dict[(3, NPY_float32, 1)] = argpartsort_3d_float32_axis1 + * argpartsort_dict[(3, NPY_float32, 2)] = argpartsort_3d_float32_axis2 + * argpartsort_dict[(3, NPY_float64, 0)] = argpartsort_3d_float64_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_float64, 1)] = argpartsort_3d_float64_axis1 + * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -41707,19 +41707,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2225 - * argpartsort_dict[(3, NPY_int, 2)] = argpartsort_3d_int_axis2 - * argpartsort_dict[(3, NPY_int8, 0)] = argpartsort_3d_int8_axis0 - * argpartsort_dict[(3, NPY_int8, 1)] = argpartsort_3d_int8_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int8, 2)] = argpartsort_3d_int8_axis2 - * argpartsort_dict[(3, NPY_int32, 0)] = argpartsort_3d_int32_axis0 + * argpartsort_dict[(3, NPY_float32, 2)] = argpartsort_3d_float32_axis2 + * argpartsort_dict[(3, NPY_float64, 0)] = argpartsort_3d_float64_axis0 + * argpartsort_dict[(3, NPY_float64, 1)] = argpartsort_3d_float64_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 + * argpartsort_dict[(1, NPY_int, 0)] = argpartsort_1d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -41737,19 +41737,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2226 - * argpartsort_dict[(3, NPY_int8, 0)] = argpartsort_3d_int8_axis0 - * argpartsort_dict[(3, NPY_int8, 1)] = argpartsort_3d_int8_axis1 - * argpartsort_dict[(3, NPY_int8, 2)] = argpartsort_3d_int8_axis2 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int32, 0)] = argpartsort_3d_int32_axis0 - * argpartsort_dict[(3, NPY_int32, 1)] = argpartsort_3d_int32_axis1 + * argpartsort_dict[(3, NPY_float64, 0)] = argpartsort_3d_float64_axis0 + * argpartsort_dict[(3, NPY_float64, 1)] = argpartsort_3d_float64_axis1 + * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 # <<<<<<<<<<<<<< + * argpartsort_dict[(1, NPY_int, 0)] = argpartsort_1d_int_axis0 + * argpartsort_dict[(1, NPY_int8, 0)] = argpartsort_1d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int8_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float64_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -41767,25 +41767,25 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2227 - * argpartsort_dict[(3, NPY_int8, 1)] = argpartsort_3d_int8_axis1 - * argpartsort_dict[(3, NPY_int8, 2)] = argpartsort_3d_int8_axis2 - * argpartsort_dict[(3, NPY_int32, 0)] = argpartsort_3d_int32_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int32, 1)] = argpartsort_3d_int32_axis1 - * argpartsort_dict[(3, NPY_int32, 2)] = argpartsort_3d_int32_axis2 + * argpartsort_dict[(3, NPY_float64, 1)] = argpartsort_3d_float64_axis1 + * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 + * argpartsort_dict[(1, NPY_int, 0)] = argpartsort_1d_int_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(1, NPY_int8, 0)] = argpartsort_1d_int8_axis0 + * argpartsort_dict[(1, NPY_int32, 0)] = argpartsort_1d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -41797,43 +41797,43 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2228 - * argpartsort_dict[(3, NPY_int8, 2)] = argpartsort_3d_int8_axis2 - * argpartsort_dict[(3, NPY_int32, 0)] = argpartsort_3d_int32_axis0 - * argpartsort_dict[(3, NPY_int32, 1)] = argpartsort_3d_int32_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int32, 2)] = argpartsort_3d_int32_axis2 - * argpartsort_dict[(3, NPY_int64, 0)] = argpartsort_3d_int64_axis0 + * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 + * argpartsort_dict[(1, NPY_int, 0)] = argpartsort_1d_int_axis0 + * argpartsort_dict[(1, NPY_int8, 0)] = argpartsort_1d_int8_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(1, NPY_int32, 0)] = argpartsort_1d_int32_axis0 + * argpartsort_dict[(1, NPY_int64, 0)] = argpartsort_1d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2229 - * argpartsort_dict[(3, NPY_int32, 0)] = argpartsort_3d_int32_axis0 - * argpartsort_dict[(3, NPY_int32, 1)] = argpartsort_3d_int32_axis1 - * argpartsort_dict[(3, NPY_int32, 2)] = argpartsort_3d_int32_axis2 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int64, 0)] = argpartsort_3d_int64_axis0 - * argpartsort_dict[(3, NPY_int64, 1)] = argpartsort_3d_int64_axis1 + * argpartsort_dict[(1, NPY_int, 0)] = argpartsort_1d_int_axis0 + * argpartsort_dict[(1, NPY_int8, 0)] = argpartsort_1d_int8_axis0 + * argpartsort_dict[(1, NPY_int32, 0)] = argpartsort_1d_int32_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(1, NPY_int64, 0)] = argpartsort_1d_int64_axis0 + * argpartsort_dict[(2, NPY_int, 0)] = argpartsort_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int32_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -41843,27 +41843,27 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2230 - * argpartsort_dict[(3, NPY_int32, 1)] = argpartsort_3d_int32_axis1 - * argpartsort_dict[(3, NPY_int32, 2)] = argpartsort_3d_int32_axis2 - * argpartsort_dict[(3, NPY_int64, 0)] = argpartsort_3d_int64_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int64, 1)] = argpartsort_3d_int64_axis1 - * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 + * argpartsort_dict[(1, NPY_int8, 0)] = argpartsort_1d_int8_axis0 + * argpartsort_dict[(1, NPY_int32, 0)] = argpartsort_1d_int32_axis0 + * argpartsort_dict[(1, NPY_int64, 0)] = argpartsort_1d_int64_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_int, 0)] = argpartsort_2d_int_axis0 + * argpartsort_dict[(2, NPY_int, 1)] = argpartsort_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -41873,9 +41873,9 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -41887,85 +41887,85 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2231 - * argpartsort_dict[(3, NPY_int32, 2)] = argpartsort_3d_int32_axis2 - * argpartsort_dict[(3, NPY_int64, 0)] = argpartsort_3d_int64_axis0 - * argpartsort_dict[(3, NPY_int64, 1)] = argpartsort_3d_int64_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 - * argpartsort_dict[(1, NPY_float, 0)] = argpartsort_1d_float_axis0 + * argpartsort_dict[(1, NPY_int32, 0)] = argpartsort_1d_int32_axis0 + * argpartsort_dict[(1, NPY_int64, 0)] = argpartsort_1d_int64_axis0 + * argpartsort_dict[(2, NPY_int, 0)] = argpartsort_2d_int_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_int, 1)] = argpartsort_2d_int_axis1 + * argpartsort_dict[(2, NPY_int8, 0)] = argpartsort_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2232 - * argpartsort_dict[(3, NPY_int64, 0)] = argpartsort_3d_int64_axis0 - * argpartsort_dict[(3, NPY_int64, 1)] = argpartsort_3d_int64_axis1 - * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 # <<<<<<<<<<<<<< - * argpartsort_dict[(1, NPY_float, 0)] = argpartsort_1d_float_axis0 - * argpartsort_dict[(1, NPY_float32, 0)] = argpartsort_1d_float32_axis0 + * argpartsort_dict[(1, NPY_int64, 0)] = argpartsort_1d_int64_axis0 + * argpartsort_dict[(2, NPY_int, 0)] = argpartsort_2d_int_axis0 + * argpartsort_dict[(2, NPY_int, 1)] = argpartsort_2d_int_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_int8, 0)] = argpartsort_2d_int8_axis0 + * argpartsort_dict[(2, NPY_int8, 1)] = argpartsort_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int64_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2233 - * argpartsort_dict[(3, NPY_int64, 1)] = argpartsort_3d_int64_axis1 - * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 - * argpartsort_dict[(1, NPY_float, 0)] = argpartsort_1d_float_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(1, NPY_float32, 0)] = argpartsort_1d_float32_axis0 - * argpartsort_dict[(1, NPY_float64, 0)] = argpartsort_1d_float64_axis0 + * argpartsort_dict[(2, NPY_int, 0)] = argpartsort_2d_int_axis0 + * argpartsort_dict[(2, NPY_int, 1)] = argpartsort_2d_int_axis1 + * argpartsort_dict[(2, NPY_int8, 0)] = argpartsort_2d_int8_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_int8, 1)] = argpartsort_2d_int8_axis1 + * argpartsort_dict[(2, NPY_int32, 0)] = argpartsort_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -41977,55 +41977,55 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2234 - * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 - * argpartsort_dict[(1, NPY_float, 0)] = argpartsort_1d_float_axis0 - * argpartsort_dict[(1, NPY_float32, 0)] = argpartsort_1d_float32_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(1, NPY_float64, 0)] = argpartsort_1d_float64_axis0 - * argpartsort_dict[(2, NPY_float, 0)] = argpartsort_2d_float_axis0 + * argpartsort_dict[(2, NPY_int, 1)] = argpartsort_2d_int_axis1 + * argpartsort_dict[(2, NPY_int8, 0)] = argpartsort_2d_int8_axis0 + * argpartsort_dict[(2, NPY_int8, 1)] = argpartsort_2d_int8_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_int32, 0)] = argpartsort_2d_int32_axis0 + * argpartsort_dict[(2, NPY_int32, 1)] = argpartsort_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2235 - * argpartsort_dict[(1, NPY_float, 0)] = argpartsort_1d_float_axis0 - * argpartsort_dict[(1, NPY_float32, 0)] = argpartsort_1d_float32_axis0 - * argpartsort_dict[(1, NPY_float64, 0)] = argpartsort_1d_float64_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_float, 0)] = argpartsort_2d_float_axis0 - * argpartsort_dict[(2, NPY_float, 1)] = argpartsort_2d_float_axis1 + * argpartsort_dict[(2, NPY_int8, 0)] = argpartsort_2d_int8_axis0 + * argpartsort_dict[(2, NPY_int8, 1)] = argpartsort_2d_int8_axis1 + * argpartsort_dict[(2, NPY_int32, 0)] = argpartsort_2d_int32_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_int32, 1)] = argpartsort_2d_int32_axis1 + * argpartsort_dict[(2, NPY_int64, 0)] = argpartsort_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -42037,19 +42037,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2236 - * argpartsort_dict[(1, NPY_float32, 0)] = argpartsort_1d_float32_axis0 - * argpartsort_dict[(1, NPY_float64, 0)] = argpartsort_1d_float64_axis0 - * argpartsort_dict[(2, NPY_float, 0)] = argpartsort_2d_float_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_float, 1)] = argpartsort_2d_float_axis1 - * argpartsort_dict[(2, NPY_float32, 0)] = argpartsort_2d_float32_axis0 + * argpartsort_dict[(2, NPY_int8, 1)] = argpartsort_2d_int8_axis1 + * argpartsort_dict[(2, NPY_int32, 0)] = argpartsort_2d_int32_axis0 + * argpartsort_dict[(2, NPY_int32, 1)] = argpartsort_2d_int32_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_int64, 0)] = argpartsort_2d_int64_axis0 + * argpartsort_dict[(2, NPY_int64, 1)] = argpartsort_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -42058,28 +42058,28 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2237 - * argpartsort_dict[(1, NPY_float64, 0)] = argpartsort_1d_float64_axis0 - * argpartsort_dict[(2, NPY_float, 0)] = argpartsort_2d_float_axis0 - * argpartsort_dict[(2, NPY_float, 1)] = argpartsort_2d_float_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_float32, 0)] = argpartsort_2d_float32_axis0 - * argpartsort_dict[(2, NPY_float32, 1)] = argpartsort_2d_float32_axis1 + * argpartsort_dict[(2, NPY_int32, 0)] = argpartsort_2d_int32_axis0 + * argpartsort_dict[(2, NPY_int32, 1)] = argpartsort_2d_int32_axis1 + * argpartsort_dict[(2, NPY_int64, 0)] = argpartsort_2d_int64_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_int64, 1)] = argpartsort_2d_int64_axis1 + * argpartsort_dict[(3, NPY_int, 0)] = argpartsort_3d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -42088,28 +42088,28 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2238 - * argpartsort_dict[(2, NPY_float, 0)] = argpartsort_2d_float_axis0 - * argpartsort_dict[(2, NPY_float, 1)] = argpartsort_2d_float_axis1 - * argpartsort_dict[(2, NPY_float32, 0)] = argpartsort_2d_float32_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_float32, 1)] = argpartsort_2d_float32_axis1 - * argpartsort_dict[(2, NPY_float64, 0)] = argpartsort_2d_float64_axis0 + * argpartsort_dict[(2, NPY_int32, 1)] = argpartsort_2d_int32_axis1 + * argpartsort_dict[(2, NPY_int64, 0)] = argpartsort_2d_int64_axis0 + * argpartsort_dict[(2, NPY_int64, 1)] = argpartsort_2d_int64_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int, 0)] = argpartsort_3d_int_axis0 + * argpartsort_dict[(3, NPY_int, 1)] = argpartsort_3d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -42118,118 +42118,118 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2239 - * argpartsort_dict[(2, NPY_float, 1)] = argpartsort_2d_float_axis1 - * argpartsort_dict[(2, NPY_float32, 0)] = argpartsort_2d_float32_axis0 - * argpartsort_dict[(2, NPY_float32, 1)] = argpartsort_2d_float32_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_float64, 0)] = argpartsort_2d_float64_axis0 - * argpartsort_dict[(2, NPY_float64, 1)] = argpartsort_2d_float64_axis1 + * argpartsort_dict[(2, NPY_int64, 0)] = argpartsort_2d_int64_axis0 + * argpartsort_dict[(2, NPY_int64, 1)] = argpartsort_2d_int64_axis1 + * argpartsort_dict[(3, NPY_int, 0)] = argpartsort_3d_int_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int, 1)] = argpartsort_3d_int_axis1 + * argpartsort_dict[(3, NPY_int, 2)] = argpartsort_3d_int_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2240 - * argpartsort_dict[(2, NPY_float32, 0)] = argpartsort_2d_float32_axis0 - * argpartsort_dict[(2, NPY_float32, 1)] = argpartsort_2d_float32_axis1 - * argpartsort_dict[(2, NPY_float64, 0)] = argpartsort_2d_float64_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_float64, 1)] = argpartsort_2d_float64_axis1 - * argpartsort_dict[(3, NPY_float, 0)] = argpartsort_3d_float_axis0 + * argpartsort_dict[(2, NPY_int64, 1)] = argpartsort_2d_int64_axis1 + * argpartsort_dict[(3, NPY_int, 0)] = argpartsort_3d_int_axis0 + * argpartsort_dict[(3, NPY_int, 1)] = argpartsort_3d_int_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int, 2)] = argpartsort_3d_int_axis2 + * argpartsort_dict[(3, NPY_int8, 0)] = argpartsort_3d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2241 - * argpartsort_dict[(2, NPY_float32, 1)] = argpartsort_2d_float32_axis1 - * argpartsort_dict[(2, NPY_float64, 0)] = argpartsort_2d_float64_axis0 - * argpartsort_dict[(2, NPY_float64, 1)] = argpartsort_2d_float64_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_float, 0)] = argpartsort_3d_float_axis0 - * argpartsort_dict[(3, NPY_float, 1)] = argpartsort_3d_float_axis1 + * argpartsort_dict[(3, NPY_int, 0)] = argpartsort_3d_int_axis0 + * argpartsort_dict[(3, NPY_int, 1)] = argpartsort_3d_int_axis1 + * argpartsort_dict[(3, NPY_int, 2)] = argpartsort_3d_int_axis2 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int8, 0)] = argpartsort_3d_int8_axis0 + * argpartsort_dict[(3, NPY_int8, 1)] = argpartsort_3d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2242 - * argpartsort_dict[(2, NPY_float64, 0)] = argpartsort_2d_float64_axis0 - * argpartsort_dict[(2, NPY_float64, 1)] = argpartsort_2d_float64_axis1 - * argpartsort_dict[(3, NPY_float, 0)] = argpartsort_3d_float_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_float, 1)] = argpartsort_3d_float_axis1 - * argpartsort_dict[(3, NPY_float, 2)] = argpartsort_3d_float_axis2 + * argpartsort_dict[(3, NPY_int, 1)] = argpartsort_3d_int_axis1 + * argpartsort_dict[(3, NPY_int, 2)] = argpartsort_3d_int_axis2 + * argpartsort_dict[(3, NPY_int8, 0)] = argpartsort_3d_int8_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int8, 1)] = argpartsort_3d_int8_axis1 + * argpartsort_dict[(3, NPY_int8, 2)] = argpartsort_3d_int8_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -42247,19 +42247,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2243 - * argpartsort_dict[(2, NPY_float64, 1)] = argpartsort_2d_float64_axis1 - * argpartsort_dict[(3, NPY_float, 0)] = argpartsort_3d_float_axis0 - * argpartsort_dict[(3, NPY_float, 1)] = argpartsort_3d_float_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_float, 2)] = argpartsort_3d_float_axis2 - * argpartsort_dict[(3, NPY_float32, 0)] = argpartsort_3d_float32_axis0 + * argpartsort_dict[(3, NPY_int, 2)] = argpartsort_3d_int_axis2 + * argpartsort_dict[(3, NPY_int8, 0)] = argpartsort_3d_int8_axis0 + * argpartsort_dict[(3, NPY_int8, 1)] = argpartsort_3d_int8_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int8, 2)] = argpartsort_3d_int8_axis2 + * argpartsort_dict[(3, NPY_int32, 0)] = argpartsort_3d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -42277,19 +42277,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2244 - * argpartsort_dict[(3, NPY_float, 0)] = argpartsort_3d_float_axis0 - * argpartsort_dict[(3, NPY_float, 1)] = argpartsort_3d_float_axis1 - * argpartsort_dict[(3, NPY_float, 2)] = argpartsort_3d_float_axis2 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_float32, 0)] = argpartsort_3d_float32_axis0 - * argpartsort_dict[(3, NPY_float32, 1)] = argpartsort_3d_float32_axis1 + * argpartsort_dict[(3, NPY_int8, 0)] = argpartsort_3d_int8_axis0 + * argpartsort_dict[(3, NPY_int8, 1)] = argpartsort_3d_int8_axis1 + * argpartsort_dict[(3, NPY_int8, 2)] = argpartsort_3d_int8_axis2 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int32, 0)] = argpartsort_3d_int32_axis0 + * argpartsort_dict[(3, NPY_int32, 1)] = argpartsort_3d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int8_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -42307,19 +42307,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2245 - * argpartsort_dict[(3, NPY_float, 1)] = argpartsort_3d_float_axis1 - * argpartsort_dict[(3, NPY_float, 2)] = argpartsort_3d_float_axis2 - * argpartsort_dict[(3, NPY_float32, 0)] = argpartsort_3d_float32_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_float32, 1)] = argpartsort_3d_float32_axis1 - * argpartsort_dict[(3, NPY_float32, 2)] = argpartsort_3d_float32_axis2 + * argpartsort_dict[(3, NPY_int8, 1)] = argpartsort_3d_int8_axis1 + * argpartsort_dict[(3, NPY_int8, 2)] = argpartsort_3d_int8_axis2 + * argpartsort_dict[(3, NPY_int32, 0)] = argpartsort_3d_int32_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int32, 1)] = argpartsort_3d_int32_axis1 + * argpartsort_dict[(3, NPY_int32, 2)] = argpartsort_3d_int32_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -42337,19 +42337,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2246 - * argpartsort_dict[(3, NPY_float, 2)] = argpartsort_3d_float_axis2 - * argpartsort_dict[(3, NPY_float32, 0)] = argpartsort_3d_float32_axis0 - * argpartsort_dict[(3, NPY_float32, 1)] = argpartsort_3d_float32_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_float32, 2)] = argpartsort_3d_float32_axis2 - * argpartsort_dict[(3, NPY_float64, 0)] = argpartsort_3d_float64_axis0 + * argpartsort_dict[(3, NPY_int8, 2)] = argpartsort_3d_int8_axis2 + * argpartsort_dict[(3, NPY_int32, 0)] = argpartsort_3d_int32_axis0 + * argpartsort_dict[(3, NPY_int32, 1)] = argpartsort_3d_int32_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int32, 2)] = argpartsort_3d_int32_axis2 + * argpartsort_dict[(3, NPY_int64, 0)] = argpartsort_3d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -42367,19 +42367,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2247 - * argpartsort_dict[(3, NPY_float32, 0)] = argpartsort_3d_float32_axis0 - * argpartsort_dict[(3, NPY_float32, 1)] = argpartsort_3d_float32_axis1 - * argpartsort_dict[(3, NPY_float32, 2)] = argpartsort_3d_float32_axis2 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_float64, 0)] = argpartsort_3d_float64_axis0 - * argpartsort_dict[(3, NPY_float64, 1)] = argpartsort_3d_float64_axis1 + * argpartsort_dict[(3, NPY_int32, 0)] = argpartsort_3d_int32_axis0 + * argpartsort_dict[(3, NPY_int32, 1)] = argpartsort_3d_int32_axis1 + * argpartsort_dict[(3, NPY_int32, 2)] = argpartsort_3d_int32_axis2 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int64, 0)] = argpartsort_3d_int64_axis0 + * argpartsort_dict[(3, NPY_int64, 1)] = argpartsort_3d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float32_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int32_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -42397,19 +42397,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2248 - * argpartsort_dict[(3, NPY_float32, 1)] = argpartsort_3d_float32_axis1 - * argpartsort_dict[(3, NPY_float32, 2)] = argpartsort_3d_float32_axis2 - * argpartsort_dict[(3, NPY_float64, 0)] = argpartsort_3d_float64_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_float64, 1)] = argpartsort_3d_float64_axis1 - * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 + * argpartsort_dict[(3, NPY_int32, 1)] = argpartsort_3d_int32_axis1 + * argpartsort_dict[(3, NPY_int32, 2)] = argpartsort_3d_int32_axis2 + * argpartsort_dict[(3, NPY_int64, 0)] = argpartsort_3d_int64_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int64, 1)] = argpartsort_3d_int64_axis1 + * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -42427,19 +42427,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2249 - * argpartsort_dict[(3, NPY_float32, 2)] = argpartsort_3d_float32_axis2 - * argpartsort_dict[(3, NPY_float64, 0)] = argpartsort_3d_float64_axis0 - * argpartsort_dict[(3, NPY_float64, 1)] = argpartsort_3d_float64_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 + * argpartsort_dict[(3, NPY_int32, 2)] = argpartsort_3d_int32_axis2 + * argpartsort_dict[(3, NPY_int64, 0)] = argpartsort_3d_int64_axis0 + * argpartsort_dict[(3, NPY_int64, 1)] = argpartsort_3d_int64_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -42457,19 +42457,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2250 - * argpartsort_dict[(3, NPY_float64, 0)] = argpartsort_3d_float64_axis0 - * argpartsort_dict[(3, NPY_float64, 1)] = argpartsort_3d_float64_axis1 - * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int64, 0)] = argpartsort_3d_int64_axis0 + * argpartsort_dict[(3, NPY_int64, 1)] = argpartsort_3d_int64_axis1 + * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 # <<<<<<<<<<<<<< * * def argpartsort_slow_axis0(arr, n): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float64_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int64_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -42487,7 +42487,7 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2252 - * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 + * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 * * def argpartsort_slow_axis0(arr, n): # <<<<<<<<<<<<<< * "Unaccelerated (slow) argpartsort along axis 0." @@ -43461,7 +43461,7 @@ PyMODINIT_FUNC PyInit_argpartsort(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/bincount.c b/bottlechest/src/func/32bit/bincount.c index d3c96545bb..f0454660a3 100644 --- a/bottlechest/src/func/32bit/bincount.c +++ b/bottlechest/src/func/32bit/bincount.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -809,7 +809,26 @@ static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \ PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \ const char* function_name); -static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name); +#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \ + __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) : \ + (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) : \ + __Pyx_GetItemInt_Generic(o, to_py_func(i)))) +#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \ + __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) : \ + (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \ + __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) : \ + (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, + int is_list, int wraparound, int boundscheck); #if CYTHON_COMPILING_IN_CPYTHON static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); @@ -817,6 +836,13 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg #define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) #endif +static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); +static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); + +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); + +static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name); + static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); @@ -858,11 +884,6 @@ static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); -static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); -static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); - -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); - static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, const char *name, int exact); @@ -872,27 +893,6 @@ static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info); #define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0) #define __Pyx_BufPtrStrided2d(type, buf, i0, s0, i1, s1) (type)((char*)buf + i0 * s0 + i1 * s1) -#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \ - __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) : \ - (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) : \ - __Pyx_GetItemInt_Generic(o, to_py_func(i)))) -#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \ - __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) : \ - (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \ - __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) : \ - (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, - int is_list, int wraparound, int boundscheck); - static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); typedef struct { @@ -949,10 +949,10 @@ static CYTHON_INLINE npy_int64 __Pyx_PyInt_As_npy_int64(PyObject *); static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); - static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); + static CYTHON_INLINE PyObject* __Pyx_PyInt_From_npy_int8(npy_int8 value); static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); @@ -1132,9 +1132,9 @@ int __pyx_module_is_main_bincount = 0; /* Implementation of 'bincount' */ static PyObject *__pyx_builtin_RuntimeError; +static PyObject *__pyx_builtin_ValueError; static PyObject *__pyx_builtin_KeyError; static PyObject *__pyx_builtin_TypeError; -static PyObject *__pyx_builtin_ValueError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_8bincount_bincount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_max_val, PyObject *__pyx_v_weights, PyObject *__pyx_v_mask); /* proto */ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, CYTHON_UNUSED PyObject *__pyx_v_max_val, PyObject *__pyx_v_weights, PyObject *__pyx_v_mask); /* proto */ @@ -1226,7 +1226,7 @@ static char __pyx_k_np[] = "np"; static char __pyx_k_ri[] = "ri"; static char __pyx_k_sp[] = "sp"; static char __pyx_k_wt[] = "wt"; -static char __pyx_k__63[] = "*"; +static char __pyx_k__65[] = "*"; static char __pyx_k_ain[] = "ain"; static char __pyx_k_arr[] = "arr"; static char __pyx_k_dim[] = "dim"; @@ -1341,17 +1341,18 @@ static char __pyx_k_bincount_1d_float32_axisNone[] = "bincount_1d_float32_axisNo static char __pyx_k_bincount_1d_float64_axisNone[] = "bincount_1d_float64_axisNone"; static char __pyx_k_bincount_2d_float32_axisNone[] = "bincount_2d_float32_axisNone"; static char __pyx_k_bincount_2d_float64_axisNone[] = "bincount_2d_float64_axisNone"; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/bincount.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; static char __pyx_k_value_i_is_greater_than_max_val[] = "value %i is greater than max_val (%i)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\bincount.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_invalid_length_of_the_weight_vec[] = "invalid length of the weight vector"; +static char __pyx_k_length_of_mask_does_not_match_th[] = "length of mask does not match the matrix size"; +static char __pyx_k_length_of_weights_does_not_match[] = "length of weights does not match the matrix size"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1363,8 +1364,9 @@ static PyObject *__pyx_n_s_PARTSORT_ERR_MSG; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; -static PyObject *__pyx_n_s__63; +static PyObject *__pyx_n_s__65; static PyObject *__pyx_n_s_a; static PyObject *__pyx_n_s_ai; static PyObject *__pyx_n_s_ain; @@ -1458,6 +1460,8 @@ static PyObject *__pyx_kp_s_invalid_length_of_the_weight_vec; static PyObject *__pyx_n_s_issparse; static PyObject *__pyx_n_s_itemsize; static PyObject *__pyx_n_s_key; +static PyObject *__pyx_kp_s_length_of_mask_does_not_match_th; +static PyObject *__pyx_kp_s_length_of_weights_does_not_match; static PyObject *__pyx_n_s_main; static PyObject *__pyx_n_s_mask; static PyObject *__pyx_n_s_max; @@ -1587,8 +1591,9 @@ static PyObject *__pyx_tuple__59; static PyObject *__pyx_tuple__60; static PyObject *__pyx_tuple__61; static PyObject *__pyx_tuple__62; +static PyObject *__pyx_tuple__63; static PyObject *__pyx_tuple__64; -static PyObject *__pyx_tuple__65; +static PyObject *__pyx_tuple__66; static PyObject *__pyx_tuple__67; static PyObject *__pyx_tuple__69; static PyObject *__pyx_tuple__71; @@ -1645,7 +1650,7 @@ static PyObject *__pyx_tuple__171; static PyObject *__pyx_tuple__173; static PyObject *__pyx_tuple__175; static PyObject *__pyx_tuple__177; -static PyObject *__pyx_codeobj__66; +static PyObject *__pyx_tuple__179; static PyObject *__pyx_codeobj__68; static PyObject *__pyx_codeobj__70; static PyObject *__pyx_codeobj__72; @@ -1702,6 +1707,7 @@ static PyObject *__pyx_codeobj__172; static PyObject *__pyx_codeobj__174; static PyObject *__pyx_codeobj__176; static PyObject *__pyx_codeobj__178; +static PyObject *__pyx_codeobj__180; /* "bincount.pyx":68 * "nanequal auto-generated from template" @@ -1801,14 +1807,17 @@ static PyObject *__pyx_pf_8bincount_bincount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_a = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; + int __pyx_t_1; + int __pyx_t_2; PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_4 = NULL; + Py_ssize_t __pyx_t_5; PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *(*__pyx_t_8)(PyObject *); + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *(*__pyx_t_11)(PyObject *); int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; @@ -1819,47 +1828,180 @@ static PyObject *__pyx_pf_8bincount_bincount(CYTHON_UNUSED PyObject *__pyx_self, /* "bincount.pyx":110 * * """ + * if mask is not None: # <<<<<<<<<<<<<< + * if arr.ndim == 2 and len(mask) != arr.shape[1] or arr.ndim == 1 and len(mask) != 1: + * raise ValueError('length of mask does not match the matrix size') + */ + __pyx_t_1 = (__pyx_v_mask != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "bincount.pyx":111 + * """ + * if mask is not None: + * if arr.ndim == 2 and len(mask) != arr.shape[1] or arr.ndim == 1 and len(mask) != 1: # <<<<<<<<<<<<<< + * raise ValueError('length of mask does not match the matrix size') + * if weights is not None and len(weights) != arr.shape[0]: + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_arr, __pyx_n_s_ndim); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_int_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (!__pyx_t_1) { + goto __pyx_L6_next_or; + } else { + goto __pyx_L7_next_and; + } + __pyx_L7_next_and:; + __pyx_t_5 = PyObject_Length(__pyx_v_mask); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_arr, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_t_6, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (!__pyx_t_1) { + goto __pyx_L6_next_or; + } else { + __pyx_t_2 = __pyx_t_1; + goto __pyx_L5_bool_binop_done; + } + __pyx_L6_next_or:; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_arr, __pyx_n_s_ndim); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = PyObject_RichCompare(__pyx_t_3, __pyx_int_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__pyx_t_1) { + goto __pyx_L8_next_and; + } else { + __pyx_t_2 = __pyx_t_1; + goto __pyx_L5_bool_binop_done; + } + __pyx_L8_next_and:; + __pyx_t_5 = PyObject_Length(__pyx_v_mask); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = ((__pyx_t_5 != 1) != 0); + __pyx_t_2 = __pyx_t_1; + __pyx_L5_bool_binop_done:; + if (__pyx_t_2) { + + /* "bincount.pyx":112 + * if mask is not None: + * if arr.ndim == 2 and len(mask) != arr.shape[1] or arr.ndim == 1 and len(mask) != 1: + * raise ValueError('length of mask does not match the matrix size') # <<<<<<<<<<<<<< + * if weights is not None and len(weights) != arr.shape[0]: + * raise ValueError('length of weights does not match the matrix size') + */ + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_Raise(__pyx_t_6, 0, 0, 0); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + goto __pyx_L3; + } + __pyx_L3:; + + /* "bincount.pyx":113 + * if arr.ndim == 2 and len(mask) != arr.shape[1] or arr.ndim == 1 and len(mask) != 1: + * raise ValueError('length of mask does not match the matrix size') + * if weights is not None and len(weights) != arr.shape[0]: # <<<<<<<<<<<<<< + * raise ValueError('length of weights does not match the matrix size') + * func, a, weights, mask = bincount_selector(arr, max_val, weights, mask) + */ + __pyx_t_1 = (__pyx_v_weights != Py_None); + __pyx_t_7 = (__pyx_t_1 != 0); + if (__pyx_t_7) { + goto __pyx_L11_next_and; + } else { + __pyx_t_2 = __pyx_t_7; + goto __pyx_L10_bool_binop_done; + } + __pyx_L11_next_and:; + __pyx_t_5 = PyObject_Length(__pyx_v_weights); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_arr, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyObject_RichCompare(__pyx_t_6, __pyx_t_4, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_2 = __pyx_t_7; + __pyx_L10_bool_binop_done:; + if (__pyx_t_2) { + + /* "bincount.pyx":114 + * raise ValueError('length of mask does not match the matrix size') + * if weights is not None and len(weights) != arr.shape[0]: + * raise ValueError('length of weights does not match the matrix size') # <<<<<<<<<<<<<< + * func, a, weights, mask = bincount_selector(arr, max_val, weights, mask) + * return func(a, max_val, weights, mask) + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + + /* "bincount.pyx":115 + * if weights is not None and len(weights) != arr.shape[0]: + * raise ValueError('length of weights does not match the matrix size') * func, a, weights, mask = bincount_selector(arr, max_val, weights, mask) # <<<<<<<<<<<<<< * return func(a, max_val, weights, mask) * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_selector); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_selector); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = NULL; + __pyx_t_5 = 0; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_5 = 1; } } - __pyx_t_5 = PyTuple_New(4+__pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_3) { - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + __pyx_t_8 = PyTuple_New(4+__pyx_t_5); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + if (__pyx_t_6) { + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_v_arr); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_arr); + PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_5, __pyx_v_arr); __Pyx_GIVEREF(__pyx_v_arr); __Pyx_INCREF(__pyx_v_max_val); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_max_val); + PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_5, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); __Pyx_INCREF(__pyx_v_weights); - PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_v_weights); + PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_5, __pyx_v_weights); __Pyx_GIVEREF(__pyx_v_weights); __Pyx_INCREF(__pyx_v_mask); - PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_4, __pyx_v_mask); + PyTuple_SET_ITEM(__pyx_t_8, 3+__pyx_t_5, __pyx_v_mask); __Pyx_GIVEREF(__pyx_v_mask); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { - PyObject* sequence = __pyx_t_1; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { + PyObject* sequence = __pyx_t_3; #if CYTHON_COMPILING_IN_CPYTHON Py_ssize_t size = Py_SIZE(sequence); #else @@ -1868,70 +2010,70 @@ static PyObject *__pyx_pf_8bincount_bincount(CYTHON_UNUSED PyObject *__pyx_self, if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } #if CYTHON_COMPILING_IN_CPYTHON if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); - __pyx_t_3 = PyTuple_GET_ITEM(sequence, 2); - __pyx_t_6 = PyTuple_GET_ITEM(sequence, 3); + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_6 = PyTuple_GET_ITEM(sequence, 2); + __pyx_t_9 = PyTuple_GET_ITEM(sequence, 3); } else { - __pyx_t_2 = PyList_GET_ITEM(sequence, 0); - __pyx_t_5 = PyList_GET_ITEM(sequence, 1); - __pyx_t_3 = PyList_GET_ITEM(sequence, 2); - __pyx_t_6 = PyList_GET_ITEM(sequence, 3); - } - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); + __pyx_t_4 = PyList_GET_ITEM(sequence, 0); + __pyx_t_8 = PyList_GET_ITEM(sequence, 1); + __pyx_t_6 = PyList_GET_ITEM(sequence, 2); + __pyx_t_9 = PyList_GET_ITEM(sequence, 3); + } + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(__pyx_t_9); #else { Py_ssize_t i; - PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_5,&__pyx_t_3,&__pyx_t_6}; + PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_8,&__pyx_t_6,&__pyx_t_9}; for (i=0; i < 4; i++) { - PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; - PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_5,&__pyx_t_3,&__pyx_t_6}; - __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext; + PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_8,&__pyx_t_6,&__pyx_t_9}; + __pyx_t_10 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_11 = Py_TYPE(__pyx_t_10)->tp_iternext; for (index=0; index < 4; index++) { - PyObject* item = __pyx_t_8(__pyx_t_7); if (unlikely(!item)) goto __pyx_L3_unpacking_failed; + PyObject* item = __pyx_t_11(__pyx_t_10); if (unlikely(!item)) goto __pyx_L12_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } - if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_8 = NULL; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - goto __pyx_L4_unpacking_done; - __pyx_L3_unpacking_failed:; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_8 = NULL; + if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = NULL; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L13_unpacking_done; + __pyx_L12_unpacking_failed:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_11 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_L4_unpacking_done:; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_L13_unpacking_done:; } - __pyx_v_func = __pyx_t_2; - __pyx_t_2 = 0; - __pyx_v_a = __pyx_t_5; - __pyx_t_5 = 0; - __Pyx_DECREF_SET(__pyx_v_weights, __pyx_t_3); - __pyx_t_3 = 0; - __Pyx_DECREF_SET(__pyx_v_mask, __pyx_t_6); + __pyx_v_func = __pyx_t_4; + __pyx_t_4 = 0; + __pyx_v_a = __pyx_t_8; + __pyx_t_8 = 0; + __Pyx_DECREF_SET(__pyx_v_weights, __pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF_SET(__pyx_v_mask, __pyx_t_9); + __pyx_t_9 = 0; - /* "bincount.pyx":111 - * """ + /* "bincount.pyx":116 + * raise ValueError('length of weights does not match the matrix size') * func, a, weights, mask = bincount_selector(arr, max_val, weights, mask) * return func(a, max_val, weights, mask) # <<<<<<<<<<<<<< * @@ -1939,41 +2081,41 @@ static PyObject *__pyx_pf_8bincount_bincount(CYTHON_UNUSED PyObject *__pyx_self, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_func); - __pyx_t_6 = __pyx_v_func; __pyx_t_3 = NULL; - __pyx_t_4 = 0; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); + __pyx_t_9 = __pyx_v_func; __pyx_t_6 = NULL; + __pyx_t_5 = 0; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_4 = 1; + __Pyx_DECREF_SET(__pyx_t_9, function); + __pyx_t_5 = 1; } } - __pyx_t_5 = PyTuple_New(4+__pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_3) { - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + __pyx_t_8 = PyTuple_New(4+__pyx_t_5); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + if (__pyx_t_6) { + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_v_a); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_a); + PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_5, __pyx_v_a); __Pyx_GIVEREF(__pyx_v_a); __Pyx_INCREF(__pyx_v_max_val); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_max_val); + PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_5, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); __Pyx_INCREF(__pyx_v_weights); - PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_v_weights); + PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_5, __pyx_v_weights); __Pyx_GIVEREF(__pyx_v_weights); __Pyx_INCREF(__pyx_v_mask); - PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_4, __pyx_v_mask); + PyTuple_SET_ITEM(__pyx_t_8, 3+__pyx_t_5, __pyx_v_mask); __Pyx_GIVEREF(__pyx_v_mask); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; /* "bincount.pyx":68 @@ -1986,12 +2128,12 @@ static PyObject *__pyx_pf_8bincount_bincount(CYTHON_UNUSED PyObject *__pyx_self, /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); __Pyx_AddTraceback("bincount.bincount", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; @@ -2004,7 +2146,7 @@ static PyObject *__pyx_pf_8bincount_bincount(CYTHON_UNUSED PyObject *__pyx_self, return __pyx_r; } -/* "bincount.pyx":116 +/* "bincount.pyx":121 * * * def bincount_selector(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -2049,21 +2191,21 @@ static PyObject *__pyx_pw_8bincount_3bincount_selector(PyObject *__pyx_self, PyO case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_selector", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_selector", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_selector", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_selector", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_selector", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_selector", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_selector") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_selector") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -2080,7 +2222,7 @@ static PyObject *__pyx_pw_8bincount_3bincount_selector(PyObject *__pyx_self, PyO } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_selector", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_selector", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_selector", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -2122,16 +2264,16 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __Pyx_INCREF(__pyx_v_weights); __Pyx_INCREF(__pyx_v_mask); - /* "bincount.pyx":120 + /* "bincount.pyx":125 * cdef tuple key * * if sp.issparse(arr): # <<<<<<<<<<<<<< * a = arr * dtype = PyArray_TYPE(arr.data) */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_sp); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_sp); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_issparse); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_issparse); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -2145,25 +2287,25 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ } } if (!__pyx_t_2) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_arr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_arr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); } else { - __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_arr); __Pyx_GIVEREF(__pyx_v_arr); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { - /* "bincount.pyx":121 + /* "bincount.pyx":126 * * if sp.issparse(arr): * a = arr # <<<<<<<<<<<<<< @@ -2173,20 +2315,20 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __Pyx_INCREF(__pyx_v_arr); __pyx_v_a = __pyx_v_arr; - /* "bincount.pyx":122 + /* "bincount.pyx":127 * if sp.issparse(arr): * a = arr * dtype = PyArray_TYPE(arr.data) # <<<<<<<<<<<<<< * ndim = 0 * key = (0, dtype, None) */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arr, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arr, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_dtype = PyArray_TYPE(((PyArrayObject *)__pyx_t_1)); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":123 + /* "bincount.pyx":128 * a = arr * dtype = PyArray_TYPE(arr.data) * ndim = 0 # <<<<<<<<<<<<<< @@ -2195,16 +2337,16 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ */ __pyx_v_ndim = 0; - /* "bincount.pyx":124 + /* "bincount.pyx":129 * dtype = PyArray_TYPE(arr.data) * ndim = 0 * key = (0, dtype, None) # <<<<<<<<<<<<<< * else: * if type(arr) is np.ndarray: */ - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); @@ -2221,7 +2363,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ } /*else*/ { - /* "bincount.pyx":126 + /* "bincount.pyx":131 * key = (0, dtype, None) * else: * if type(arr) is np.ndarray: # <<<<<<<<<<<<<< @@ -2232,7 +2374,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __pyx_t_6 = (__pyx_t_5 != 0); if (__pyx_t_6) { - /* "bincount.pyx":127 + /* "bincount.pyx":132 * else: * if type(arr) is np.ndarray: * a = arr # <<<<<<<<<<<<<< @@ -2245,27 +2387,27 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ } /*else*/ { - /* "bincount.pyx":129 + /* "bincount.pyx":134 * a = arr * else: * a = np.array(arr, copy=False) # <<<<<<<<<<<<<< * dtype = PyArray_TYPE(arr) * ndim = PyArray_NDIM(a) */ - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_arr); __Pyx_GIVEREF(__pyx_v_arr); - __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_copy, Py_False) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_copy, Py_False) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -2275,38 +2417,38 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ } __pyx_L4:; - /* "bincount.pyx":130 + /* "bincount.pyx":135 * else: * a = np.array(arr, copy=False) * dtype = PyArray_TYPE(arr) # <<<<<<<<<<<<<< * ndim = PyArray_NDIM(a) * key = (ndim, dtype, None) */ - if (!(likely(((__pyx_v_arr) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_arr, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_v_arr) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_arr, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_dtype = PyArray_TYPE(((PyArrayObject *)__pyx_v_arr)); - /* "bincount.pyx":131 + /* "bincount.pyx":136 * a = np.array(arr, copy=False) * dtype = PyArray_TYPE(arr) * ndim = PyArray_NDIM(a) # <<<<<<<<<<<<<< * key = (ndim, dtype, None) * */ - if (!(likely(((__pyx_v_a) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_a, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_v_a) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_a, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_ndim = PyArray_NDIM(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":132 + /* "bincount.pyx":137 * dtype = PyArray_TYPE(arr) * ndim = PyArray_NDIM(a) * key = (ndim, dtype, None) # <<<<<<<<<<<<<< * * if weights is not None and ( */ - __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v_ndim); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v_ndim); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); @@ -2322,7 +2464,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ } __pyx_L3:; - /* "bincount.pyx":134 + /* "bincount.pyx":139 * key = (ndim, dtype, None) * * if weights is not None and ( # <<<<<<<<<<<<<< @@ -2339,7 +2481,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ } __pyx_L7_next_and:; - /* "bincount.pyx":135 + /* "bincount.pyx":140 * * if weights is not None and ( * type(weights) is not np.ndarray or # <<<<<<<<<<<<<< @@ -2356,18 +2498,18 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ } __pyx_L8_next_or:; - /* "bincount.pyx":136 + /* "bincount.pyx":141 * if weights is not None and ( * type(weights) is not np.ndarray or * weights.dtype is not np.float): # <<<<<<<<<<<<<< * weights = np.array(weights, copy=False, dtype=np.float) * if type(mask) is np.ndarray: */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_weights, __pyx_n_s_dtype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_weights, __pyx_n_s_dtype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_5 = (__pyx_t_3 != __pyx_t_2); @@ -2378,34 +2520,34 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __pyx_L6_bool_binop_done:; if (__pyx_t_6) { - /* "bincount.pyx":137 + /* "bincount.pyx":142 * type(weights) is not np.ndarray or * weights.dtype is not np.float): * weights = np.array(weights, copy=False, dtype=np.float) # <<<<<<<<<<<<<< * if type(mask) is np.ndarray: * if mask.dtype is not np.int8: */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_weights); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_weights); __Pyx_GIVEREF(__pyx_v_weights); - __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_copy, Py_False) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_copy, Py_False) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -2416,7 +2558,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ } __pyx_L5:; - /* "bincount.pyx":138 + /* "bincount.pyx":143 * weights.dtype is not np.float): * weights = np.array(weights, copy=False, dtype=np.float) * if type(mask) is np.ndarray: # <<<<<<<<<<<<<< @@ -2427,18 +2569,18 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __pyx_t_7 = (__pyx_t_6 != 0); if (__pyx_t_7) { - /* "bincount.pyx":139 + /* "bincount.pyx":144 * weights = np.array(weights, copy=False, dtype=np.float) * if type(mask) is np.ndarray: * if mask.dtype is not np.int8: # <<<<<<<<<<<<<< * if mask.dtype.itemsize == 1: * mask = np.frombuffer(mask, dtype=np.int8) */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_mask, __pyx_n_s_dtype); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_mask, __pyx_n_s_dtype); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_int8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_int8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_7 = (__pyx_t_8 != __pyx_t_2); @@ -2447,51 +2589,51 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __pyx_t_6 = (__pyx_t_7 != 0); if (__pyx_t_6) { - /* "bincount.pyx":140 + /* "bincount.pyx":145 * if type(mask) is np.ndarray: * if mask.dtype is not np.int8: * if mask.dtype.itemsize == 1: # <<<<<<<<<<<<<< * mask = np.frombuffer(mask, dtype=np.int8) * else: */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_mask, __pyx_n_s_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_mask, __pyx_n_s_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_itemsize); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_itemsize); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_RichCompare(__pyx_t_8, __pyx_int_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyObject_RichCompare(__pyx_t_8, __pyx_int_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_6) { - /* "bincount.pyx":141 + /* "bincount.pyx":146 * if mask.dtype is not np.int8: * if mask.dtype.itemsize == 1: * mask = np.frombuffer(mask, dtype=np.int8) # <<<<<<<<<<<<<< * else: * mask = np.array(mask, copy=False, dtype=np.int8) */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_mask); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_mask); __Pyx_GIVEREF(__pyx_v_mask); - __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_int8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_int8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -2502,34 +2644,34 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ } /*else*/ { - /* "bincount.pyx":143 + /* "bincount.pyx":148 * mask = np.frombuffer(mask, dtype=np.int8) * else: * mask = np.array(mask, copy=False, dtype=np.int8) # <<<<<<<<<<<<<< * elif mask is not None: * mask = np.array(mask, copy=False, dtype=np.int8) */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_mask); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_mask); __Pyx_GIVEREF(__pyx_v_mask); - __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_copy, Py_False) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_copy, Py_False) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -2544,7 +2686,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ goto __pyx_L9; } - /* "bincount.pyx":144 + /* "bincount.pyx":149 * else: * mask = np.array(mask, copy=False, dtype=np.int8) * elif mask is not None: # <<<<<<<<<<<<<< @@ -2555,34 +2697,34 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __pyx_t_7 = (__pyx_t_6 != 0); if (__pyx_t_7) { - /* "bincount.pyx":145 + /* "bincount.pyx":150 * mask = np.array(mask, copy=False, dtype=np.int8) * elif mask is not None: * mask = np.array(mask, copy=False, dtype=np.int8) # <<<<<<<<<<<<<< * * try: */ - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_mask); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_mask); __Pyx_GIVEREF(__pyx_v_mask); - __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_copy, Py_False) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_copy, Py_False) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_int8); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_int8); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -2593,7 +2735,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ } __pyx_L9:; - /* "bincount.pyx":147 + /* "bincount.pyx":152 * mask = np.array(mask, copy=False, dtype=np.int8) * * try: # <<<<<<<<<<<<<< @@ -2607,7 +2749,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __Pyx_XGOTREF(__pyx_t_11); /*try:*/ { - /* "bincount.pyx":148 + /* "bincount.pyx":153 * * try: * func = bincount_dict[key] # <<<<<<<<<<<<<< @@ -2616,14 +2758,14 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ */ if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L12_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L12_error;} } - __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_8bincount_bincount_dict, __pyx_v_key); if (unlikely(__pyx_t_8 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L12_error;}; + __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_8bincount_bincount_dict, __pyx_v_key); if (unlikely(__pyx_t_8 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L12_error;}; __Pyx_GOTREF(__pyx_t_8); __pyx_v_func = __pyx_t_8; __pyx_t_8 = 0; - /* "bincount.pyx":149 + /* "bincount.pyx":154 * try: * func = bincount_dict[key] * return func, a, weights, mask # <<<<<<<<<<<<<< @@ -2631,7 +2773,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ * pass */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = PyTuple_New(4); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L12_error;} + __pyx_t_8 = PyTuple_New(4); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_v_func); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_func); @@ -2656,7 +2798,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "bincount.pyx":150 + /* "bincount.pyx":155 * func = bincount_dict[key] * return func, a, weights, mask * except KeyError: # <<<<<<<<<<<<<< @@ -2688,7 +2830,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); } - /* "bincount.pyx":153 + /* "bincount.pyx":158 * pass * * try: # <<<<<<<<<<<<<< @@ -2702,7 +2844,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __Pyx_XGOTREF(__pyx_t_9); /*try:*/ { - /* "bincount.pyx":154 + /* "bincount.pyx":159 * * try: * func = bincount_slow_dict[None] # <<<<<<<<<<<<<< @@ -2711,9 +2853,9 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ */ if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L20_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L20_error;} } - __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_8bincount_bincount_slow_dict, Py_None); if (unlikely(__pyx_t_8 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L20_error;}; + __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_8bincount_bincount_slow_dict, Py_None); if (unlikely(__pyx_t_8 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L20_error;}; __Pyx_GOTREF(__pyx_t_8); __Pyx_XDECREF_SET(__pyx_v_func, __pyx_t_8); __pyx_t_8 = 0; @@ -2729,7 +2871,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "bincount.pyx":155 + /* "bincount.pyx":160 * try: * func = bincount_slow_dict[None] * except KeyError: # <<<<<<<<<<<<<< @@ -2739,39 +2881,39 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __pyx_t_12 = PyErr_ExceptionMatches(__pyx_builtin_KeyError); if (__pyx_t_12) { __Pyx_AddTraceback("bincount.bincount_selector", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_1, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_1, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_3); - /* "bincount.pyx":156 + /* "bincount.pyx":161 * func = bincount_slow_dict[None] * except KeyError: * tup = (str(ndim), str(a.dtype)) # <<<<<<<<<<<<<< * raise TypeError("Unsupported ndim/dtype (%s/%s)." % tup) * return func, a, weights, mask */ - __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v_ndim); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v_ndim); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_13, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_13, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); @@ -2782,26 +2924,26 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __pyx_v_tup = ((PyObject*)__pyx_t_13); __pyx_t_13 = 0; - /* "bincount.pyx":157 + /* "bincount.pyx":162 * except KeyError: * tup = (str(ndim), str(a.dtype)) * raise TypeError("Unsupported ndim/dtype (%s/%s)." % tup) # <<<<<<<<<<<<<< * return func, a, weights, mask * */ - __pyx_t_13 = __Pyx_PyString_Format(__pyx_kp_s_Unsupported_ndim_dtype_s_s, __pyx_v_tup); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + __pyx_t_13 = __Pyx_PyString_Format(__pyx_kp_s_Unsupported_ndim_dtype_s_s, __pyx_v_tup); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_13, 0, 0, 0); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} } goto __pyx_L22_except_error; __pyx_L22_except_error:; @@ -2813,7 +2955,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __pyx_L27_try_end:; } - /* "bincount.pyx":158 + /* "bincount.pyx":163 * tup = (str(ndim), str(a.dtype)) * raise TypeError("Unsupported ndim/dtype (%s/%s)." % tup) * return func, a, weights, mask # <<<<<<<<<<<<<< @@ -2821,7 +2963,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_func); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_func); @@ -2839,7 +2981,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __pyx_t_3 = 0; goto __pyx_L0; - /* "bincount.pyx":116 + /* "bincount.pyx":121 * * * def bincount_selector(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -2869,7 +3011,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "bincount.pyx":162 +/* "bincount.pyx":167 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -2896,7 +3038,7 @@ static PyObject *__pyx_pw_8bincount_5bincount_1d_int_axisNone(PyObject *__pyx_se static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":164 + /* "bincount.pyx":169 * def bincount_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -2905,7 +3047,7 @@ static PyObject *__pyx_pw_8bincount_5bincount_1d_int_axisNone(PyObject *__pyx_se */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":165 + /* "bincount.pyx":170 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -2932,7 +3074,7 @@ static PyObject *__pyx_pw_8bincount_5bincount_1d_int_axisNone(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_1d_int_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_int_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -2946,7 +3088,7 @@ static PyObject *__pyx_pw_8bincount_5bincount_1d_int_axisNone(PyObject *__pyx_se } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -2959,24 +3101,24 @@ static PyObject *__pyx_pw_8bincount_5bincount_1d_int_axisNone(PyObject *__pyx_se } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_1d_int_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_int_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_4bincount_1d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":162 + /* "bincount.pyx":167 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -3048,21 +3190,21 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":170 + /* "bincount.pyx":175 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3071,7 +3213,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":171 + /* "bincount.pyx":176 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3080,7 +3222,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":172 + /* "bincount.pyx":177 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: # <<<<<<<<<<<<<< @@ -3096,27 +3238,27 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_v_n0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":173 + /* "bincount.pyx":178 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":176 + /* "bincount.pyx":181 * * cdef: * np.npy_intp *dims = [max_val+1] # <<<<<<<<<<<<<< @@ -3126,22 +3268,22 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_t_6[0] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_6; - /* "bincount.pyx":177 + /* "bincount.pyx":182 * cdef: * np.npy_intp *dims = [max_val+1] * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ai * if mask is not None and not mask[0]: */ - __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_7 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3149,7 +3291,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_v_y = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":179 + /* "bincount.pyx":184 * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) * int ai * if mask is not None and not mask[0]: # <<<<<<<<<<<<<< @@ -3171,7 +3313,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_L7_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":180 + /* "bincount.pyx":185 * int ai * if mask is not None and not mask[0]: * return y, 0.0 # <<<<<<<<<<<<<< @@ -3179,7 +3321,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb * for i0 in range(n0): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_y)); @@ -3192,7 +3334,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "bincount.pyx":181 + /* "bincount.pyx":186 * if mask is not None and not mask[0]: * return y, 0.0 * if w is None: # <<<<<<<<<<<<<< @@ -3203,7 +3345,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "bincount.pyx":182 + /* "bincount.pyx":187 * return y, 0.0 * if w is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -3214,7 +3356,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_4; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "bincount.pyx":183 + /* "bincount.pyx":188 * if w is None: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -3224,7 +3366,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_t_10 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":184 + /* "bincount.pyx":189 * for i0 in range(n0): * ai = a[i0] * if ai < 0: # <<<<<<<<<<<<<< @@ -3234,21 +3376,21 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_t_2 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_2) { - /* "bincount.pyx":185 + /* "bincount.pyx":190 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":186 + /* "bincount.pyx":191 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -3258,18 +3400,18 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_t_2 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":188 + /* "bincount.pyx":193 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[ai] += 1 * else: */ - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -3277,31 +3419,31 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_11); __pyx_t_5 = 0; __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - /* "bincount.pyx":187 + /* "bincount.pyx":192 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[ai] += 1 */ - __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_Raise(__pyx_t_11, 0, 0, 0); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":189 + /* "bincount.pyx":194 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[ai] += 1 # <<<<<<<<<<<<<< @@ -3315,7 +3457,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb } /*else*/ { - /* "bincount.pyx":191 + /* "bincount.pyx":196 * y[ai] += 1 * else: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -3326,7 +3468,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_4; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "bincount.pyx":192 + /* "bincount.pyx":197 * else: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -3336,7 +3478,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_t_14 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":193 + /* "bincount.pyx":198 * for i0 in range(n0): * ai = a[i0] * if ai < 0: # <<<<<<<<<<<<<< @@ -3346,21 +3488,21 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_t_2 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_2) { - /* "bincount.pyx":194 + /* "bincount.pyx":199 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_Raise(__pyx_t_11, 0, 0, 0); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":195 + /* "bincount.pyx":200 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -3370,18 +3512,18 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_t_2 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":197 + /* "bincount.pyx":202 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[ai] += w[i0] * return y, 0.0 */ - __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); @@ -3389,31 +3531,31 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_12); __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":196 + /* "bincount.pyx":201 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[ai] += w[i0] */ - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_12, 0, 0, 0); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":198 + /* "bincount.pyx":203 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[ai] += w[i0] # <<<<<<<<<<<<<< @@ -3427,7 +3569,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb } __pyx_L9:; - /* "bincount.pyx":199 + /* "bincount.pyx":204 * % (ai, max_val)) * y[ai] += w[i0] * return y, 0.0 # <<<<<<<<<<<<<< @@ -3435,7 +3577,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_12, 0, ((PyObject *)__pyx_v_y)); @@ -3447,7 +3589,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_t_12 = 0; goto __pyx_L0; - /* "bincount.pyx":162 + /* "bincount.pyx":167 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -3482,7 +3624,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb return __pyx_r; } -/* "bincount.pyx":203 +/* "bincount.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -3509,7 +3651,7 @@ static PyObject *__pyx_pw_8bincount_7bincount_1d_int8_axisNone(PyObject *__pyx_s static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":205 + /* "bincount.pyx":210 * def bincount_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -3518,7 +3660,7 @@ static PyObject *__pyx_pw_8bincount_7bincount_1d_int8_axisNone(PyObject *__pyx_s */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":206 + /* "bincount.pyx":211 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -3545,7 +3687,7 @@ static PyObject *__pyx_pw_8bincount_7bincount_1d_int8_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_1d_int8_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_int8_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -3559,7 +3701,7 @@ static PyObject *__pyx_pw_8bincount_7bincount_1d_int8_axisNone(PyObject *__pyx_s } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -3572,24 +3714,24 @@ static PyObject *__pyx_pw_8bincount_7bincount_1d_int8_axisNone(PyObject *__pyx_s } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_1d_int8_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_int8_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_6bincount_1d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":203 + /* "bincount.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -3661,21 +3803,21 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":211 + /* "bincount.pyx":216 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3684,7 +3826,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":212 + /* "bincount.pyx":217 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3693,7 +3835,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":213 + /* "bincount.pyx":218 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: # <<<<<<<<<<<<<< @@ -3709,27 +3851,27 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_v_n0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":214 + /* "bincount.pyx":219 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":217 + /* "bincount.pyx":222 * * cdef: * np.npy_intp *dims = [max_val+1] # <<<<<<<<<<<<<< @@ -3739,22 +3881,22 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_t_6[0] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_6; - /* "bincount.pyx":218 + /* "bincount.pyx":223 * cdef: * np.npy_intp *dims = [max_val+1] * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ai * if mask is not None and not mask[0]: */ - __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_7 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3762,7 +3904,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_v_y = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":220 + /* "bincount.pyx":225 * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) * int ai * if mask is not None and not mask[0]: # <<<<<<<<<<<<<< @@ -3784,7 +3926,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_L7_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":221 + /* "bincount.pyx":226 * int ai * if mask is not None and not mask[0]: * return y, 0.0 # <<<<<<<<<<<<<< @@ -3792,7 +3934,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO * for i0 in range(n0): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_y)); @@ -3805,7 +3947,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO goto __pyx_L0; } - /* "bincount.pyx":222 + /* "bincount.pyx":227 * if mask is not None and not mask[0]: * return y, 0.0 * if w is None: # <<<<<<<<<<<<<< @@ -3816,7 +3958,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "bincount.pyx":223 + /* "bincount.pyx":228 * return y, 0.0 * if w is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -3827,7 +3969,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_4; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "bincount.pyx":224 + /* "bincount.pyx":229 * if w is None: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -3837,7 +3979,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_t_10 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":225 + /* "bincount.pyx":230 * for i0 in range(n0): * ai = a[i0] * if ai < 0: # <<<<<<<<<<<<<< @@ -3847,21 +3989,21 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_t_2 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_2) { - /* "bincount.pyx":226 + /* "bincount.pyx":231 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":227 + /* "bincount.pyx":232 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -3871,18 +4013,18 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_t_2 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":229 + /* "bincount.pyx":234 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[ai] += 1 * else: */ - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -3890,31 +4032,31 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __Pyx_GIVEREF(__pyx_t_11); __pyx_t_5 = 0; __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - /* "bincount.pyx":228 + /* "bincount.pyx":233 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[ai] += 1 */ - __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_Raise(__pyx_t_11, 0, 0, 0); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":230 + /* "bincount.pyx":235 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[ai] += 1 # <<<<<<<<<<<<<< @@ -3928,7 +4070,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO } /*else*/ { - /* "bincount.pyx":232 + /* "bincount.pyx":237 * y[ai] += 1 * else: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -3939,7 +4081,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_4; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "bincount.pyx":233 + /* "bincount.pyx":238 * else: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -3949,7 +4091,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_t_14 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":234 + /* "bincount.pyx":239 * for i0 in range(n0): * ai = a[i0] * if ai < 0: # <<<<<<<<<<<<<< @@ -3959,21 +4101,21 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_t_2 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_2) { - /* "bincount.pyx":235 + /* "bincount.pyx":240 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_Raise(__pyx_t_11, 0, 0, 0); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":236 + /* "bincount.pyx":241 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -3983,18 +4125,18 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_t_2 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":238 + /* "bincount.pyx":243 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[ai] += w[i0] * return y, 0.0 */ - __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); @@ -4002,31 +4144,31 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __Pyx_GIVEREF(__pyx_t_12); __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":237 + /* "bincount.pyx":242 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[ai] += w[i0] */ - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_12, 0, 0, 0); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":239 + /* "bincount.pyx":244 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[ai] += w[i0] # <<<<<<<<<<<<<< @@ -4040,7 +4182,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO } __pyx_L9:; - /* "bincount.pyx":240 + /* "bincount.pyx":245 * % (ai, max_val)) * y[ai] += w[i0] * return y, 0.0 # <<<<<<<<<<<<<< @@ -4048,7 +4190,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_12, 0, ((PyObject *)__pyx_v_y)); @@ -4060,7 +4202,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_t_12 = 0; goto __pyx_L0; - /* "bincount.pyx":203 + /* "bincount.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -4095,7 +4237,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "bincount.pyx":244 +/* "bincount.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -4122,7 +4264,7 @@ static PyObject *__pyx_pw_8bincount_9bincount_1d_int32_axisNone(PyObject *__pyx_ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":246 + /* "bincount.pyx":251 * def bincount_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -4131,7 +4273,7 @@ static PyObject *__pyx_pw_8bincount_9bincount_1d_int32_axisNone(PyObject *__pyx_ */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":247 + /* "bincount.pyx":252 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -4158,7 +4300,7 @@ static PyObject *__pyx_pw_8bincount_9bincount_1d_int32_axisNone(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_1d_int32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_int32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -4172,7 +4314,7 @@ static PyObject *__pyx_pw_8bincount_9bincount_1d_int32_axisNone(PyObject *__pyx_ } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -4185,24 +4327,24 @@ static PyObject *__pyx_pw_8bincount_9bincount_1d_int32_axisNone(PyObject *__pyx_ } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_1d_int32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_int32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_8bincount_1d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":244 + /* "bincount.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -4274,21 +4416,21 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":252 + /* "bincount.pyx":257 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4297,7 +4439,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":253 + /* "bincount.pyx":258 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4306,7 +4448,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":254 + /* "bincount.pyx":259 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: # <<<<<<<<<<<<<< @@ -4322,27 +4464,27 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_v_n0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":255 + /* "bincount.pyx":260 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":258 + /* "bincount.pyx":263 * * cdef: * np.npy_intp *dims = [max_val+1] # <<<<<<<<<<<<<< @@ -4352,22 +4494,22 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_t_6[0] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_6; - /* "bincount.pyx":259 + /* "bincount.pyx":264 * cdef: * np.npy_intp *dims = [max_val+1] * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ai * if mask is not None and not mask[0]: */ - __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_7 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4375,7 +4517,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_v_y = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":261 + /* "bincount.pyx":266 * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) * int ai * if mask is not None and not mask[0]: # <<<<<<<<<<<<<< @@ -4397,7 +4539,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_L7_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":262 + /* "bincount.pyx":267 * int ai * if mask is not None and not mask[0]: * return y, 0.0 # <<<<<<<<<<<<<< @@ -4405,7 +4547,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py * for i0 in range(n0): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_y)); @@ -4418,7 +4560,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py goto __pyx_L0; } - /* "bincount.pyx":263 + /* "bincount.pyx":268 * if mask is not None and not mask[0]: * return y, 0.0 * if w is None: # <<<<<<<<<<<<<< @@ -4429,7 +4571,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "bincount.pyx":264 + /* "bincount.pyx":269 * return y, 0.0 * if w is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4440,7 +4582,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_4; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "bincount.pyx":265 + /* "bincount.pyx":270 * if w is None: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -4450,7 +4592,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_t_10 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":266 + /* "bincount.pyx":271 * for i0 in range(n0): * ai = a[i0] * if ai < 0: # <<<<<<<<<<<<<< @@ -4460,21 +4602,21 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_t_2 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_2) { - /* "bincount.pyx":267 + /* "bincount.pyx":272 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":268 + /* "bincount.pyx":273 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -4484,18 +4626,18 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_t_2 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":270 + /* "bincount.pyx":275 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[ai] += 1 * else: */ - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -4503,31 +4645,31 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_11); __pyx_t_5 = 0; __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - /* "bincount.pyx":269 + /* "bincount.pyx":274 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[ai] += 1 */ - __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_Raise(__pyx_t_11, 0, 0, 0); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":271 + /* "bincount.pyx":276 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[ai] += 1 # <<<<<<<<<<<<<< @@ -4541,7 +4683,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py } /*else*/ { - /* "bincount.pyx":273 + /* "bincount.pyx":278 * y[ai] += 1 * else: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4552,7 +4694,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_4; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "bincount.pyx":274 + /* "bincount.pyx":279 * else: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -4562,7 +4704,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_t_14 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":275 + /* "bincount.pyx":280 * for i0 in range(n0): * ai = a[i0] * if ai < 0: # <<<<<<<<<<<<<< @@ -4572,21 +4714,21 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_t_2 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_2) { - /* "bincount.pyx":276 + /* "bincount.pyx":281 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_Raise(__pyx_t_11, 0, 0, 0); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":277 + /* "bincount.pyx":282 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -4596,18 +4738,18 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_t_2 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":279 + /* "bincount.pyx":284 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[ai] += w[i0] * return y, 0.0 */ - __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); @@ -4615,31 +4757,31 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_12); __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":278 + /* "bincount.pyx":283 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[ai] += w[i0] */ - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_12, 0, 0, 0); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":280 + /* "bincount.pyx":285 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[ai] += w[i0] # <<<<<<<<<<<<<< @@ -4653,7 +4795,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py } __pyx_L9:; - /* "bincount.pyx":281 + /* "bincount.pyx":286 * % (ai, max_val)) * y[ai] += w[i0] * return y, 0.0 # <<<<<<<<<<<<<< @@ -4661,7 +4803,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_12, 0, ((PyObject *)__pyx_v_y)); @@ -4673,7 +4815,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_t_12 = 0; goto __pyx_L0; - /* "bincount.pyx":244 + /* "bincount.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -4708,7 +4850,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py return __pyx_r; } -/* "bincount.pyx":285 +/* "bincount.pyx":290 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -4735,7 +4877,7 @@ static PyObject *__pyx_pw_8bincount_11bincount_1d_int64_axisNone(PyObject *__pyx static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":287 + /* "bincount.pyx":292 * def bincount_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -4744,7 +4886,7 @@ static PyObject *__pyx_pw_8bincount_11bincount_1d_int64_axisNone(PyObject *__pyx */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":288 + /* "bincount.pyx":293 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -4771,7 +4913,7 @@ static PyObject *__pyx_pw_8bincount_11bincount_1d_int64_axisNone(PyObject *__pyx case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_1d_int64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_int64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -4785,7 +4927,7 @@ static PyObject *__pyx_pw_8bincount_11bincount_1d_int64_axisNone(PyObject *__pyx } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -4798,24 +4940,24 @@ static PyObject *__pyx_pw_8bincount_11bincount_1d_int64_axisNone(PyObject *__pyx } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_1d_int64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_int64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_10bincount_1d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":285 + /* "bincount.pyx":290 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -4887,21 +5029,21 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":293 + /* "bincount.pyx":298 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4910,7 +5052,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":294 + /* "bincount.pyx":299 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4919,7 +5061,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":295 + /* "bincount.pyx":300 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: # <<<<<<<<<<<<<< @@ -4935,27 +5077,27 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_v_n0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":296 + /* "bincount.pyx":301 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":299 + /* "bincount.pyx":304 * * cdef: * np.npy_intp *dims = [max_val+1] # <<<<<<<<<<<<<< @@ -4965,22 +5107,22 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_t_6[0] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_6; - /* "bincount.pyx":300 + /* "bincount.pyx":305 * cdef: * np.npy_intp *dims = [max_val+1] * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ai * if mask is not None and not mask[0]: */ - __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_7 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4988,7 +5130,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_v_y = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":302 + /* "bincount.pyx":307 * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) * int ai * if mask is not None and not mask[0]: # <<<<<<<<<<<<<< @@ -5010,7 +5152,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_L7_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":303 + /* "bincount.pyx":308 * int ai * if mask is not None and not mask[0]: * return y, 0.0 # <<<<<<<<<<<<<< @@ -5018,7 +5160,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P * for i0 in range(n0): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_y)); @@ -5031,7 +5173,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P goto __pyx_L0; } - /* "bincount.pyx":304 + /* "bincount.pyx":309 * if mask is not None and not mask[0]: * return y, 0.0 * if w is None: # <<<<<<<<<<<<<< @@ -5042,7 +5184,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "bincount.pyx":305 + /* "bincount.pyx":310 * return y, 0.0 * if w is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5053,7 +5195,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_4; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "bincount.pyx":306 + /* "bincount.pyx":311 * if w is None: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -5063,7 +5205,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_t_10 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":307 + /* "bincount.pyx":312 * for i0 in range(n0): * ai = a[i0] * if ai < 0: # <<<<<<<<<<<<<< @@ -5073,21 +5215,21 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_t_2 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_2) { - /* "bincount.pyx":308 + /* "bincount.pyx":313 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":309 + /* "bincount.pyx":314 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -5097,18 +5239,18 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_t_2 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":311 + /* "bincount.pyx":316 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[ai] += 1 * else: */ - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -5116,31 +5258,31 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __Pyx_GIVEREF(__pyx_t_11); __pyx_t_5 = 0; __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - /* "bincount.pyx":310 + /* "bincount.pyx":315 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[ai] += 1 */ - __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_Raise(__pyx_t_11, 0, 0, 0); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":312 + /* "bincount.pyx":317 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[ai] += 1 # <<<<<<<<<<<<<< @@ -5154,7 +5296,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P } /*else*/ { - /* "bincount.pyx":314 + /* "bincount.pyx":319 * y[ai] += 1 * else: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5165,7 +5307,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_4; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "bincount.pyx":315 + /* "bincount.pyx":320 * else: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -5175,7 +5317,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_t_14 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":316 + /* "bincount.pyx":321 * for i0 in range(n0): * ai = a[i0] * if ai < 0: # <<<<<<<<<<<<<< @@ -5185,21 +5327,21 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_t_2 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_2) { - /* "bincount.pyx":317 + /* "bincount.pyx":322 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_Raise(__pyx_t_11, 0, 0, 0); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":318 + /* "bincount.pyx":323 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -5209,18 +5351,18 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_t_2 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":320 + /* "bincount.pyx":325 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[ai] += w[i0] * return y, 0.0 */ - __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); @@ -5228,31 +5370,31 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __Pyx_GIVEREF(__pyx_t_12); __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":319 + /* "bincount.pyx":324 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[ai] += w[i0] */ - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_12, 0, 0, 0); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":321 + /* "bincount.pyx":326 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[ai] += w[i0] # <<<<<<<<<<<<<< @@ -5266,7 +5408,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P } __pyx_L9:; - /* "bincount.pyx":322 + /* "bincount.pyx":327 * % (ai, max_val)) * y[ai] += w[i0] * return y, 0.0 # <<<<<<<<<<<<<< @@ -5274,7 +5416,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_12, 0, ((PyObject *)__pyx_v_y)); @@ -5286,7 +5428,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_t_12 = 0; goto __pyx_L0; - /* "bincount.pyx":285 + /* "bincount.pyx":290 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -5321,7 +5463,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "bincount.pyx":326 +/* "bincount.pyx":331 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -5348,7 +5490,7 @@ static PyObject *__pyx_pw_8bincount_13bincount_2d_int_axisNone(PyObject *__pyx_s static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":328 + /* "bincount.pyx":333 * def bincount_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -5357,7 +5499,7 @@ static PyObject *__pyx_pw_8bincount_13bincount_2d_int_axisNone(PyObject *__pyx_s */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":329 + /* "bincount.pyx":334 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -5384,7 +5526,7 @@ static PyObject *__pyx_pw_8bincount_13bincount_2d_int_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_2d_int_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_int_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -5398,7 +5540,7 @@ static PyObject *__pyx_pw_8bincount_13bincount_2d_int_axisNone(PyObject *__pyx_s } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -5411,24 +5553,24 @@ static PyObject *__pyx_pw_8bincount_13bincount_2d_int_axisNone(PyObject *__pyx_s } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_2d_int_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_int_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_12bincount_2d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":326 + /* "bincount.pyx":331 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -5526,21 +5668,21 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":334 + /* "bincount.pyx":339 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5549,7 +5691,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":335 + /* "bincount.pyx":340 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5558,7 +5700,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":336 + /* "bincount.pyx":341 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5567,7 +5709,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "bincount.pyx":337 + /* "bincount.pyx":342 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): # <<<<<<<<<<<<<< @@ -5583,28 +5725,28 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_t_5) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":338 + /* "bincount.pyx":343 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":341 + /* "bincount.pyx":346 * * cdef: * np.npy_intp *dims = [n1, max_val+1] # <<<<<<<<<<<<<< @@ -5615,22 +5757,22 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":342 + /* "bincount.pyx":347 * cdef: * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.npy_intp *nandims = [n1] * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) */ - __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -5638,7 +5780,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_v_y = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":343 + /* "bincount.pyx":348 * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] # <<<<<<<<<<<<<< @@ -5648,22 +5790,22 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_9[0] = __pyx_v_n1; __pyx_v_nandims = __pyx_t_9; - /* "bincount.pyx":344 + /* "bincount.pyx":349 * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ai * float wt */ - __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -5671,7 +5813,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_v_nans = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":347 + /* "bincount.pyx":352 * int ai * float wt * if mask is None: # <<<<<<<<<<<<<< @@ -5682,7 +5824,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { - /* "bincount.pyx":348 + /* "bincount.pyx":353 * float wt * if mask is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5693,7 +5835,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i0 = __pyx_t_4; - /* "bincount.pyx":349 + /* "bincount.pyx":354 * if mask is None: * for i0 in range(n0): * wt = 1 if w is None else w[i0] # <<<<<<<<<<<<<< @@ -5709,7 +5851,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO } __pyx_v_wt = __pyx_t_11; - /* "bincount.pyx":350 + /* "bincount.pyx":355 * for i0 in range(n0): * wt = 1 if w is None else w[i0] * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -5720,7 +5862,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_i1 = __pyx_t_14; - /* "bincount.pyx":351 + /* "bincount.pyx":356 * wt = 1 if w is None else w[i0] * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -5731,7 +5873,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_16 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":352 + /* "bincount.pyx":357 * for i1 in range(n1): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -5741,21 +5883,21 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_3 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_3) { - /* "bincount.pyx":353 + /* "bincount.pyx":358 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":354 + /* "bincount.pyx":359 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -5765,18 +5907,18 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_3 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_3) { - /* "bincount.pyx":356 + /* "bincount.pyx":361 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += wt * elif w is None: */ - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); @@ -5784,31 +5926,31 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __Pyx_GIVEREF(__pyx_t_17); __pyx_t_6 = 0; __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - /* "bincount.pyx":355 + /* "bincount.pyx":360 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += wt */ - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":357 + /* "bincount.pyx":362 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += wt # <<<<<<<<<<<<<< @@ -5823,7 +5965,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO goto __pyx_L6; } - /* "bincount.pyx":358 + /* "bincount.pyx":363 * % (ai, max_val)) * y[i1, ai] += wt * elif w is None: # <<<<<<<<<<<<<< @@ -5834,7 +5976,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_1 = (__pyx_t_3 != 0); if (__pyx_t_1) { - /* "bincount.pyx":359 + /* "bincount.pyx":364 * y[i1, ai] += wt * elif w is None: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -5845,7 +5987,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":360 + /* "bincount.pyx":365 * elif w is None: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -5856,7 +5998,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":361 + /* "bincount.pyx":366 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5867,7 +6009,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO for (__pyx_t_21 = 0; __pyx_t_21 < __pyx_t_14; __pyx_t_21+=1) { __pyx_v_i0 = __pyx_t_21; - /* "bincount.pyx":362 + /* "bincount.pyx":367 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -5878,7 +6020,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_23 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":363 + /* "bincount.pyx":368 * for i0 in range(n0): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -5888,21 +6030,21 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_1 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_1) { - /* "bincount.pyx":364 + /* "bincount.pyx":369 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":365 + /* "bincount.pyx":370 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -5912,18 +6054,18 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_1 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":367 + /* "bincount.pyx":372 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += 1 * else: */ - __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); @@ -5931,31 +6073,31 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __Pyx_GIVEREF(__pyx_t_18); __pyx_t_17 = 0; __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_6); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_6); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":366 + /* "bincount.pyx":371 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += 1 */ - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_18, 0, 0, 0); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":368 + /* "bincount.pyx":373 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += 1 # <<<<<<<<<<<<<< @@ -5974,7 +6116,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO } /*else*/ { - /* "bincount.pyx":370 + /* "bincount.pyx":375 * y[i1, ai] += 1 * else: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -5985,7 +6127,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":371 + /* "bincount.pyx":376 * else: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -5996,7 +6138,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":372 + /* "bincount.pyx":377 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -6007,7 +6149,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO for (__pyx_t_26 = 0; __pyx_t_26 < __pyx_t_21; __pyx_t_26+=1) { __pyx_v_i0 = __pyx_t_26; - /* "bincount.pyx":373 + /* "bincount.pyx":378 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -6018,7 +6160,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_28 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":374 + /* "bincount.pyx":379 * for i0 in range(n0): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -6028,21 +6170,21 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_1 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_1) { - /* "bincount.pyx":375 + /* "bincount.pyx":380 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_Raise(__pyx_t_18, 0, 0, 0); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":376 + /* "bincount.pyx":381 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -6052,18 +6194,18 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_1 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":378 + /* "bincount.pyx":383 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += w[i0] * return y, nans */ - __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_18); @@ -6071,31 +6213,31 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __Pyx_GIVEREF(__pyx_t_6); __pyx_t_18 = 0; __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_17); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_17); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - /* "bincount.pyx":377 + /* "bincount.pyx":382 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += w[i0] */ - __pyx_t_17 = PyTuple_New(1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyTuple_New(1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_17, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_17, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":379 + /* "bincount.pyx":384 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += w[i0] # <<<<<<<<<<<<<< @@ -6114,7 +6256,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO } __pyx_L6:; - /* "bincount.pyx":380 + /* "bincount.pyx":385 * % (ai, max_val)) * y[i1, ai] += w[i0] * return y, nans # <<<<<<<<<<<<<< @@ -6122,7 +6264,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_y)); @@ -6134,7 +6276,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_6 = 0; goto __pyx_L0; - /* "bincount.pyx":326 + /* "bincount.pyx":331 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -6172,7 +6314,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "bincount.pyx":384 +/* "bincount.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -6199,7 +6341,7 @@ static PyObject *__pyx_pw_8bincount_15bincount_2d_int8_axisNone(PyObject *__pyx_ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":386 + /* "bincount.pyx":391 * def bincount_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -6208,7 +6350,7 @@ static PyObject *__pyx_pw_8bincount_15bincount_2d_int8_axisNone(PyObject *__pyx_ */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":387 + /* "bincount.pyx":392 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -6235,7 +6377,7 @@ static PyObject *__pyx_pw_8bincount_15bincount_2d_int8_axisNone(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_2d_int8_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_int8_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -6249,7 +6391,7 @@ static PyObject *__pyx_pw_8bincount_15bincount_2d_int8_axisNone(PyObject *__pyx_ } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -6262,24 +6404,24 @@ static PyObject *__pyx_pw_8bincount_15bincount_2d_int8_axisNone(PyObject *__pyx_ } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_2d_int8_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_int8_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_14bincount_2d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":384 + /* "bincount.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -6377,21 +6519,21 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":392 + /* "bincount.pyx":397 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6400,7 +6542,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":393 + /* "bincount.pyx":398 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -6409,7 +6551,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":394 + /* "bincount.pyx":399 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -6418,7 +6560,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "bincount.pyx":395 + /* "bincount.pyx":400 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): # <<<<<<<<<<<<<< @@ -6434,28 +6576,28 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_t_5) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":396 + /* "bincount.pyx":401 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":399 + /* "bincount.pyx":404 * * cdef: * np.npy_intp *dims = [n1, max_val+1] # <<<<<<<<<<<<<< @@ -6466,22 +6608,22 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":400 + /* "bincount.pyx":405 * cdef: * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.npy_intp *nandims = [n1] * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) */ - __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -6489,7 +6631,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_v_y = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":401 + /* "bincount.pyx":406 * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] # <<<<<<<<<<<<<< @@ -6499,22 +6641,22 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_9[0] = __pyx_v_n1; __pyx_v_nandims = __pyx_t_9; - /* "bincount.pyx":402 + /* "bincount.pyx":407 * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ai * float wt */ - __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -6522,7 +6664,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_v_nans = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":405 + /* "bincount.pyx":410 * int ai * float wt * if mask is None: # <<<<<<<<<<<<<< @@ -6533,7 +6675,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { - /* "bincount.pyx":406 + /* "bincount.pyx":411 * float wt * if mask is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -6544,7 +6686,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i0 = __pyx_t_4; - /* "bincount.pyx":407 + /* "bincount.pyx":412 * if mask is None: * for i0 in range(n0): * wt = 1 if w is None else w[i0] # <<<<<<<<<<<<<< @@ -6560,7 +6702,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py } __pyx_v_wt = __pyx_t_11; - /* "bincount.pyx":408 + /* "bincount.pyx":413 * for i0 in range(n0): * wt = 1 if w is None else w[i0] * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -6571,7 +6713,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_i1 = __pyx_t_14; - /* "bincount.pyx":409 + /* "bincount.pyx":414 * wt = 1 if w is None else w[i0] * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -6582,7 +6724,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_16 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":410 + /* "bincount.pyx":415 * for i1 in range(n1): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -6592,21 +6734,21 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_3 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_3) { - /* "bincount.pyx":411 + /* "bincount.pyx":416 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":412 + /* "bincount.pyx":417 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -6616,18 +6758,18 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_3 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_3) { - /* "bincount.pyx":414 + /* "bincount.pyx":419 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += wt * elif w is None: */ - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); @@ -6635,31 +6777,31 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_17); __pyx_t_6 = 0; __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - /* "bincount.pyx":413 + /* "bincount.pyx":418 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += wt */ - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":415 + /* "bincount.pyx":420 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += wt # <<<<<<<<<<<<<< @@ -6674,7 +6816,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py goto __pyx_L6; } - /* "bincount.pyx":416 + /* "bincount.pyx":421 * % (ai, max_val)) * y[i1, ai] += wt * elif w is None: # <<<<<<<<<<<<<< @@ -6685,7 +6827,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_1 = (__pyx_t_3 != 0); if (__pyx_t_1) { - /* "bincount.pyx":417 + /* "bincount.pyx":422 * y[i1, ai] += wt * elif w is None: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -6696,7 +6838,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":418 + /* "bincount.pyx":423 * elif w is None: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -6707,7 +6849,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":419 + /* "bincount.pyx":424 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -6718,7 +6860,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py for (__pyx_t_21 = 0; __pyx_t_21 < __pyx_t_14; __pyx_t_21+=1) { __pyx_v_i0 = __pyx_t_21; - /* "bincount.pyx":420 + /* "bincount.pyx":425 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -6729,7 +6871,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_23 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":421 + /* "bincount.pyx":426 * for i0 in range(n0): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -6739,21 +6881,21 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_1 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_1) { - /* "bincount.pyx":422 + /* "bincount.pyx":427 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":423 + /* "bincount.pyx":428 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -6763,18 +6905,18 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_1 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":425 + /* "bincount.pyx":430 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += 1 * else: */ - __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); @@ -6782,31 +6924,31 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_18); __pyx_t_17 = 0; __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_6); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_6); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":424 + /* "bincount.pyx":429 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += 1 */ - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_18, 0, 0, 0); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":426 + /* "bincount.pyx":431 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += 1 # <<<<<<<<<<<<<< @@ -6825,7 +6967,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py } /*else*/ { - /* "bincount.pyx":428 + /* "bincount.pyx":433 * y[i1, ai] += 1 * else: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -6836,7 +6978,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":429 + /* "bincount.pyx":434 * else: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -6847,7 +6989,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":430 + /* "bincount.pyx":435 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -6858,7 +7000,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py for (__pyx_t_26 = 0; __pyx_t_26 < __pyx_t_21; __pyx_t_26+=1) { __pyx_v_i0 = __pyx_t_26; - /* "bincount.pyx":431 + /* "bincount.pyx":436 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -6869,7 +7011,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_28 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":432 + /* "bincount.pyx":437 * for i0 in range(n0): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -6879,21 +7021,21 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_1 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_1) { - /* "bincount.pyx":433 + /* "bincount.pyx":438 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__22, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_Raise(__pyx_t_18, 0, 0, 0); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":434 + /* "bincount.pyx":439 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -6903,18 +7045,18 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_1 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":436 + /* "bincount.pyx":441 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += w[i0] * return y, nans */ - __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_18); @@ -6922,31 +7064,31 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_6); __pyx_t_18 = 0; __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_17); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_17); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - /* "bincount.pyx":435 + /* "bincount.pyx":440 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += w[i0] */ - __pyx_t_17 = PyTuple_New(1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyTuple_New(1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_17, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_17, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":437 + /* "bincount.pyx":442 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += w[i0] # <<<<<<<<<<<<<< @@ -6965,7 +7107,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py } __pyx_L6:; - /* "bincount.pyx":438 + /* "bincount.pyx":443 * % (ai, max_val)) * y[i1, ai] += w[i0] * return y, nans # <<<<<<<<<<<<<< @@ -6973,7 +7115,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_y)); @@ -6985,7 +7127,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_6 = 0; goto __pyx_L0; - /* "bincount.pyx":384 + /* "bincount.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -7023,7 +7165,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py return __pyx_r; } -/* "bincount.pyx":442 +/* "bincount.pyx":447 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -7050,7 +7192,7 @@ static PyObject *__pyx_pw_8bincount_17bincount_2d_int32_axisNone(PyObject *__pyx static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":444 + /* "bincount.pyx":449 * def bincount_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -7059,7 +7201,7 @@ static PyObject *__pyx_pw_8bincount_17bincount_2d_int32_axisNone(PyObject *__pyx */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":445 + /* "bincount.pyx":450 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -7086,7 +7228,7 @@ static PyObject *__pyx_pw_8bincount_17bincount_2d_int32_axisNone(PyObject *__pyx case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_2d_int32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_int32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -7100,7 +7242,7 @@ static PyObject *__pyx_pw_8bincount_17bincount_2d_int32_axisNone(PyObject *__pyx } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -7113,24 +7255,24 @@ static PyObject *__pyx_pw_8bincount_17bincount_2d_int32_axisNone(PyObject *__pyx } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_2d_int32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_int32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_16bincount_2d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":442 + /* "bincount.pyx":447 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -7228,21 +7370,21 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":450 + /* "bincount.pyx":455 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7251,7 +7393,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":451 + /* "bincount.pyx":456 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7260,7 +7402,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":452 + /* "bincount.pyx":457 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7269,7 +7411,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "bincount.pyx":453 + /* "bincount.pyx":458 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): # <<<<<<<<<<<<<< @@ -7285,28 +7427,28 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_t_5) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":454 + /* "bincount.pyx":459 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__23, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":457 + /* "bincount.pyx":462 * * cdef: * np.npy_intp *dims = [n1, max_val+1] # <<<<<<<<<<<<<< @@ -7317,22 +7459,22 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":458 + /* "bincount.pyx":463 * cdef: * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.npy_intp *nandims = [n1] * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) */ - __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -7340,7 +7482,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_v_y = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":459 + /* "bincount.pyx":464 * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] # <<<<<<<<<<<<<< @@ -7350,22 +7492,22 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_9[0] = __pyx_v_n1; __pyx_v_nandims = __pyx_t_9; - /* "bincount.pyx":460 + /* "bincount.pyx":465 * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ai * float wt */ - __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -7373,7 +7515,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_v_nans = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":463 + /* "bincount.pyx":468 * int ai * float wt * if mask is None: # <<<<<<<<<<<<<< @@ -7384,7 +7526,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { - /* "bincount.pyx":464 + /* "bincount.pyx":469 * float wt * if mask is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -7395,7 +7537,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i0 = __pyx_t_4; - /* "bincount.pyx":465 + /* "bincount.pyx":470 * if mask is None: * for i0 in range(n0): * wt = 1 if w is None else w[i0] # <<<<<<<<<<<<<< @@ -7411,7 +7553,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P } __pyx_v_wt = __pyx_t_11; - /* "bincount.pyx":466 + /* "bincount.pyx":471 * for i0 in range(n0): * wt = 1 if w is None else w[i0] * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -7422,7 +7564,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_i1 = __pyx_t_14; - /* "bincount.pyx":467 + /* "bincount.pyx":472 * wt = 1 if w is None else w[i0] * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -7433,7 +7575,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_16 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":468 + /* "bincount.pyx":473 * for i1 in range(n1): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -7443,21 +7585,21 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_3) { - /* "bincount.pyx":469 + /* "bincount.pyx":474 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__22, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":470 + /* "bincount.pyx":475 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -7467,18 +7609,18 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_3) { - /* "bincount.pyx":472 + /* "bincount.pyx":477 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += wt * elif w is None: */ - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); @@ -7486,31 +7628,31 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __Pyx_GIVEREF(__pyx_t_17); __pyx_t_6 = 0; __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - /* "bincount.pyx":471 + /* "bincount.pyx":476 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += wt */ - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":473 + /* "bincount.pyx":478 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += wt # <<<<<<<<<<<<<< @@ -7525,7 +7667,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P goto __pyx_L6; } - /* "bincount.pyx":474 + /* "bincount.pyx":479 * % (ai, max_val)) * y[i1, ai] += wt * elif w is None: # <<<<<<<<<<<<<< @@ -7536,7 +7678,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_1 = (__pyx_t_3 != 0); if (__pyx_t_1) { - /* "bincount.pyx":475 + /* "bincount.pyx":480 * y[i1, ai] += wt * elif w is None: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -7547,7 +7689,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":476 + /* "bincount.pyx":481 * elif w is None: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -7558,7 +7700,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":477 + /* "bincount.pyx":482 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -7569,7 +7711,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P for (__pyx_t_21 = 0; __pyx_t_21 < __pyx_t_14; __pyx_t_21+=1) { __pyx_v_i0 = __pyx_t_21; - /* "bincount.pyx":478 + /* "bincount.pyx":483 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -7580,7 +7722,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_23 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":479 + /* "bincount.pyx":484 * for i0 in range(n0): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -7590,21 +7732,21 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_1) { - /* "bincount.pyx":480 + /* "bincount.pyx":485 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__23, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":481 + /* "bincount.pyx":486 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -7614,18 +7756,18 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":483 + /* "bincount.pyx":488 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += 1 * else: */ - __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); @@ -7633,31 +7775,31 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __Pyx_GIVEREF(__pyx_t_18); __pyx_t_17 = 0; __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_6); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_6); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":482 + /* "bincount.pyx":487 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += 1 */ - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_18, 0, 0, 0); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":484 + /* "bincount.pyx":489 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += 1 # <<<<<<<<<<<<<< @@ -7676,7 +7818,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P } /*else*/ { - /* "bincount.pyx":486 + /* "bincount.pyx":491 * y[i1, ai] += 1 * else: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -7687,7 +7829,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":487 + /* "bincount.pyx":492 * else: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -7698,7 +7840,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":488 + /* "bincount.pyx":493 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -7709,7 +7851,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P for (__pyx_t_26 = 0; __pyx_t_26 < __pyx_t_21; __pyx_t_26+=1) { __pyx_v_i0 = __pyx_t_26; - /* "bincount.pyx":489 + /* "bincount.pyx":494 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -7720,7 +7862,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_28 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":490 + /* "bincount.pyx":495 * for i0 in range(n0): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -7730,21 +7872,21 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_1) { - /* "bincount.pyx":491 + /* "bincount.pyx":496 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_Raise(__pyx_t_18, 0, 0, 0); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":492 + /* "bincount.pyx":497 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -7754,18 +7896,18 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":494 + /* "bincount.pyx":499 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += w[i0] * return y, nans */ - __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_18); @@ -7773,31 +7915,31 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __Pyx_GIVEREF(__pyx_t_6); __pyx_t_18 = 0; __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_17); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_17); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - /* "bincount.pyx":493 + /* "bincount.pyx":498 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += w[i0] */ - __pyx_t_17 = PyTuple_New(1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyTuple_New(1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_17, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_17, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":495 + /* "bincount.pyx":500 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += w[i0] # <<<<<<<<<<<<<< @@ -7816,7 +7958,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P } __pyx_L6:; - /* "bincount.pyx":496 + /* "bincount.pyx":501 * % (ai, max_val)) * y[i1, ai] += w[i0] * return y, nans # <<<<<<<<<<<<<< @@ -7824,7 +7966,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_y)); @@ -7836,7 +7978,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_6 = 0; goto __pyx_L0; - /* "bincount.pyx":442 + /* "bincount.pyx":447 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -7874,7 +8016,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "bincount.pyx":500 +/* "bincount.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -7901,7 +8043,7 @@ static PyObject *__pyx_pw_8bincount_19bincount_2d_int64_axisNone(PyObject *__pyx static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":502 + /* "bincount.pyx":507 * def bincount_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -7910,7 +8052,7 @@ static PyObject *__pyx_pw_8bincount_19bincount_2d_int64_axisNone(PyObject *__pyx */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":503 + /* "bincount.pyx":508 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -7937,7 +8079,7 @@ static PyObject *__pyx_pw_8bincount_19bincount_2d_int64_axisNone(PyObject *__pyx case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_2d_int64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_int64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -7951,7 +8093,7 @@ static PyObject *__pyx_pw_8bincount_19bincount_2d_int64_axisNone(PyObject *__pyx } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -7964,24 +8106,24 @@ static PyObject *__pyx_pw_8bincount_19bincount_2d_int64_axisNone(PyObject *__pyx } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_2d_int64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_int64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_18bincount_2d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":500 + /* "bincount.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -8079,21 +8221,21 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":508 + /* "bincount.pyx":513 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8102,7 +8244,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":509 + /* "bincount.pyx":514 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -8111,7 +8253,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":510 + /* "bincount.pyx":515 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -8120,7 +8262,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "bincount.pyx":511 + /* "bincount.pyx":516 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): # <<<<<<<<<<<<<< @@ -8136,28 +8278,28 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_t_5) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":512 + /* "bincount.pyx":517 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__27, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":515 + /* "bincount.pyx":520 * * cdef: * np.npy_intp *dims = [n1, max_val+1] # <<<<<<<<<<<<<< @@ -8168,22 +8310,22 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":516 + /* "bincount.pyx":521 * cdef: * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.npy_intp *nandims = [n1] * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) */ - __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -8191,7 +8333,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_v_y = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":517 + /* "bincount.pyx":522 * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] # <<<<<<<<<<<<<< @@ -8201,22 +8343,22 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_9[0] = __pyx_v_n1; __pyx_v_nandims = __pyx_t_9; - /* "bincount.pyx":518 + /* "bincount.pyx":523 * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ai * float wt */ - __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -8224,7 +8366,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_v_nans = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":521 + /* "bincount.pyx":526 * int ai * float wt * if mask is None: # <<<<<<<<<<<<<< @@ -8235,7 +8377,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { - /* "bincount.pyx":522 + /* "bincount.pyx":527 * float wt * if mask is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -8246,7 +8388,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i0 = __pyx_t_4; - /* "bincount.pyx":523 + /* "bincount.pyx":528 * if mask is None: * for i0 in range(n0): * wt = 1 if w is None else w[i0] # <<<<<<<<<<<<<< @@ -8262,7 +8404,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P } __pyx_v_wt = __pyx_t_11; - /* "bincount.pyx":524 + /* "bincount.pyx":529 * for i0 in range(n0): * wt = 1 if w is None else w[i0] * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -8273,7 +8415,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_i1 = __pyx_t_14; - /* "bincount.pyx":525 + /* "bincount.pyx":530 * wt = 1 if w is None else w[i0] * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -8284,7 +8426,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_16 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":526 + /* "bincount.pyx":531 * for i1 in range(n1): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -8294,21 +8436,21 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_3) { - /* "bincount.pyx":527 + /* "bincount.pyx":532 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__28, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":528 + /* "bincount.pyx":533 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -8318,18 +8460,18 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_3) { - /* "bincount.pyx":530 + /* "bincount.pyx":535 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += wt * elif w is None: */ - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); @@ -8337,31 +8479,31 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __Pyx_GIVEREF(__pyx_t_17); __pyx_t_6 = 0; __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - /* "bincount.pyx":529 + /* "bincount.pyx":534 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += wt */ - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":531 + /* "bincount.pyx":536 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += wt # <<<<<<<<<<<<<< @@ -8376,7 +8518,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P goto __pyx_L6; } - /* "bincount.pyx":532 + /* "bincount.pyx":537 * % (ai, max_val)) * y[i1, ai] += wt * elif w is None: # <<<<<<<<<<<<<< @@ -8387,7 +8529,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_1 = (__pyx_t_3 != 0); if (__pyx_t_1) { - /* "bincount.pyx":533 + /* "bincount.pyx":538 * y[i1, ai] += wt * elif w is None: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -8398,7 +8540,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":534 + /* "bincount.pyx":539 * elif w is None: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -8409,7 +8551,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":535 + /* "bincount.pyx":540 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -8420,7 +8562,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P for (__pyx_t_21 = 0; __pyx_t_21 < __pyx_t_14; __pyx_t_21+=1) { __pyx_v_i0 = __pyx_t_21; - /* "bincount.pyx":536 + /* "bincount.pyx":541 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -8431,7 +8573,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_23 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":537 + /* "bincount.pyx":542 * for i0 in range(n0): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -8441,21 +8583,21 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_1) { - /* "bincount.pyx":538 + /* "bincount.pyx":543 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__27, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__29, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":539 + /* "bincount.pyx":544 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -8465,18 +8607,18 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":541 + /* "bincount.pyx":546 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += 1 * else: */ - __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); @@ -8484,31 +8626,31 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __Pyx_GIVEREF(__pyx_t_18); __pyx_t_17 = 0; __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_6); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_6); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":540 + /* "bincount.pyx":545 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += 1 */ - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_18, 0, 0, 0); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":542 + /* "bincount.pyx":547 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += 1 # <<<<<<<<<<<<<< @@ -8527,7 +8669,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P } /*else*/ { - /* "bincount.pyx":544 + /* "bincount.pyx":549 * y[i1, ai] += 1 * else: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -8538,7 +8680,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":545 + /* "bincount.pyx":550 * else: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -8549,7 +8691,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":546 + /* "bincount.pyx":551 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -8560,7 +8702,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P for (__pyx_t_26 = 0; __pyx_t_26 < __pyx_t_21; __pyx_t_26+=1) { __pyx_v_i0 = __pyx_t_26; - /* "bincount.pyx":547 + /* "bincount.pyx":552 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -8571,7 +8713,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_28 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":548 + /* "bincount.pyx":553 * for i0 in range(n0): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -8581,21 +8723,21 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_1) { - /* "bincount.pyx":549 + /* "bincount.pyx":554 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__28, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__30, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_Raise(__pyx_t_18, 0, 0, 0); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":550 + /* "bincount.pyx":555 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -8605,18 +8747,18 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":552 + /* "bincount.pyx":557 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += w[i0] * return y, nans */ - __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_18); @@ -8624,31 +8766,31 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __Pyx_GIVEREF(__pyx_t_6); __pyx_t_18 = 0; __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_17); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_17); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - /* "bincount.pyx":551 + /* "bincount.pyx":556 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += w[i0] */ - __pyx_t_17 = PyTuple_New(1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyTuple_New(1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_17, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_17, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":553 + /* "bincount.pyx":558 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += w[i0] # <<<<<<<<<<<<<< @@ -8667,7 +8809,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P } __pyx_L6:; - /* "bincount.pyx":554 + /* "bincount.pyx":559 * % (ai, max_val)) * y[i1, ai] += w[i0] * return y, nans # <<<<<<<<<<<<<< @@ -8675,7 +8817,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_y)); @@ -8687,7 +8829,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_6 = 0; goto __pyx_L0; - /* "bincount.pyx":500 + /* "bincount.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -8725,7 +8867,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "bincount.pyx":558 +/* "bincount.pyx":563 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int_axisNone(object a, # <<<<<<<<<<<<<< @@ -8752,7 +8894,7 @@ static PyObject *__pyx_pw_8bincount_21bincount_0d_int_axisNone(PyObject *__pyx_s static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":560 + /* "bincount.pyx":565 * def bincount_0d_int_axisNone(object a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -8761,7 +8903,7 @@ static PyObject *__pyx_pw_8bincount_21bincount_0d_int_axisNone(PyObject *__pyx_s */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":561 + /* "bincount.pyx":566 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -8788,7 +8930,7 @@ static PyObject *__pyx_pw_8bincount_21bincount_0d_int_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_0d_int_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_int_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -8802,7 +8944,7 @@ static PyObject *__pyx_pw_8bincount_21bincount_0d_int_axisNone(PyObject *__pyx_s } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -8815,23 +8957,23 @@ static PyObject *__pyx_pw_8bincount_21bincount_0d_int_axisNone(PyObject *__pyx_s } } __pyx_v_a = values[0]; - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_0d_int_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_int_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_0d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_20bincount_0d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":558 + /* "bincount.pyx":563 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int_axisNone(object a, # <<<<<<<<<<<<<< @@ -8936,48 +9078,48 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":566 + /* "bincount.pyx":571 * * cdef: * Py_ssize_t n_rows = a.shape[0] # <<<<<<<<<<<<<< * Py_ssize_t n_cols = a.shape[1] * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_n_rows = __pyx_t_3; - /* "bincount.pyx":567 + /* "bincount.pyx":572 * cdef: * Py_ssize_t n_rows = a.shape[0] * Py_ssize_t n_cols = a.shape[1] # <<<<<<<<<<<<<< * * if w is not None and len(w) != n_rows: */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n_cols = __pyx_t_3; - /* "bincount.pyx":569 + /* "bincount.pyx":574 * Py_ssize_t n_cols = a.shape[1] * * if w is not None and len(w) != n_rows: # <<<<<<<<<<<<<< @@ -8993,27 +9135,27 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = ((__pyx_t_3 != __pyx_v_n_rows) != 0); __pyx_t_4 = __pyx_t_6; __pyx_L4_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":570 + /* "bincount.pyx":575 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__29, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__31, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":573 + /* "bincount.pyx":578 * * cdef: * np.npy_intp *dims = [n_cols, max_val+1] # <<<<<<<<<<<<<< @@ -9024,22 +9166,22 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":574 + /* "bincount.pyx":579 * cdef: * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) * float wt */ - __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -9047,22 +9189,22 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":575 + /* "bincount.pyx":580 * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * float wt * */ - __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_9 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -9070,22 +9212,22 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO __pyx_v_nans = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":578 + /* "bincount.pyx":583 * float wt * * np.ndarray[np.int_t, ndim=1] data = a.data # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_data.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_data = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_data.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_data.diminfo[0].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_data.diminfo[0].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[0]; } } @@ -9093,22 +9235,22 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO __pyx_v_data = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":579 + /* "bincount.pyx":584 * * np.ndarray[np.int_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_11 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indices.diminfo[0].strides = __pyx_pybuffernd_indices.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indices.diminfo[0].shape = __pyx_pybuffernd_indices.rcbuffer->pybuffer.shape[0]; } } @@ -9116,22 +9258,22 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO __pyx_v_indices = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":580 + /* "bincount.pyx":585 * np.ndarray[np.int_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr # <<<<<<<<<<<<<< * int ri, i, ci * for ri in range(a.shape[0]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_12 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indptr.rcbuffer->pybuffer, (PyObject*)__pyx_t_12, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indptr = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indptr.diminfo[0].strides = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indptr.diminfo[0].shape = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.shape[0]; } } @@ -9139,24 +9281,24 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO __pyx_v_indptr = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":582 + /* "bincount.pyx":587 * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci * for ri in range(a.shape[0]): # <<<<<<<<<<<<<< * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_ri = __pyx_t_14; - /* "bincount.pyx":583 + /* "bincount.pyx":588 * int ri, i, ci * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] # <<<<<<<<<<<<<< @@ -9172,7 +9314,7 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO } __pyx_v_wt = __pyx_t_15; - /* "bincount.pyx":584 + /* "bincount.pyx":589 * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): # <<<<<<<<<<<<<< @@ -9185,7 +9327,7 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO for (__pyx_t_20 = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_indptr.diminfo[0].strides)); __pyx_t_20 < __pyx_t_18; __pyx_t_20+=1) { __pyx_v_i = __pyx_t_20; - /* "bincount.pyx":585 + /* "bincount.pyx":590 * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] # <<<<<<<<<<<<<< @@ -9195,7 +9337,7 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_21 = __pyx_v_i; __pyx_v_ci = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_indices.diminfo[0].strides)); - /* "bincount.pyx":586 + /* "bincount.pyx":591 * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] * if mask is None or mask[ci]: # <<<<<<<<<<<<<< @@ -9217,7 +9359,7 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO __pyx_L11_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":587 + /* "bincount.pyx":592 * ci = indices[i] * if mask is None or mask[ci]: * y[ci, data[i]] += wt # <<<<<<<<<<<<<< @@ -9234,7 +9376,7 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO } } - /* "bincount.pyx":588 + /* "bincount.pyx":593 * if mask is None or mask[ci]: * y[ci, data[i]] += wt * return y, nans # <<<<<<<<<<<<<< @@ -9242,7 +9384,7 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_y)); @@ -9254,7 +9396,7 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_2 = 0; goto __pyx_L0; - /* "bincount.pyx":558 + /* "bincount.pyx":563 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int_axisNone(object a, # <<<<<<<<<<<<<< @@ -9298,7 +9440,7 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "bincount.pyx":594 +/* "bincount.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int8_axisNone(object a, # <<<<<<<<<<<<<< @@ -9325,7 +9467,7 @@ static PyObject *__pyx_pw_8bincount_23bincount_0d_int8_axisNone(PyObject *__pyx_ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":596 + /* "bincount.pyx":601 * def bincount_0d_int8_axisNone(object a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -9334,7 +9476,7 @@ static PyObject *__pyx_pw_8bincount_23bincount_0d_int8_axisNone(PyObject *__pyx_ */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":597 + /* "bincount.pyx":602 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -9361,7 +9503,7 @@ static PyObject *__pyx_pw_8bincount_23bincount_0d_int8_axisNone(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_0d_int8_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_int8_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -9375,7 +9517,7 @@ static PyObject *__pyx_pw_8bincount_23bincount_0d_int8_axisNone(PyObject *__pyx_ } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -9388,23 +9530,23 @@ static PyObject *__pyx_pw_8bincount_23bincount_0d_int8_axisNone(PyObject *__pyx_ } } __pyx_v_a = values[0]; - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_0d_int8_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_int8_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_0d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_22bincount_0d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":594 + /* "bincount.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int8_axisNone(object a, # <<<<<<<<<<<<<< @@ -9509,48 +9651,48 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":602 + /* "bincount.pyx":607 * * cdef: * Py_ssize_t n_rows = a.shape[0] # <<<<<<<<<<<<<< * Py_ssize_t n_cols = a.shape[1] * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_n_rows = __pyx_t_3; - /* "bincount.pyx":603 + /* "bincount.pyx":608 * cdef: * Py_ssize_t n_rows = a.shape[0] * Py_ssize_t n_cols = a.shape[1] # <<<<<<<<<<<<<< * * if w is not None and len(w) != n_rows: */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n_cols = __pyx_t_3; - /* "bincount.pyx":605 + /* "bincount.pyx":610 * Py_ssize_t n_cols = a.shape[1] * * if w is not None and len(w) != n_rows: # <<<<<<<<<<<<<< @@ -9566,27 +9708,27 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = ((__pyx_t_3 != __pyx_v_n_rows) != 0); __pyx_t_4 = __pyx_t_6; __pyx_L4_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":606 + /* "bincount.pyx":611 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__30, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__32, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":609 + /* "bincount.pyx":614 * * cdef: * np.npy_intp *dims = [n_cols, max_val+1] # <<<<<<<<<<<<<< @@ -9597,22 +9739,22 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":610 + /* "bincount.pyx":615 * cdef: * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) * float wt */ - __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -9620,22 +9762,22 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":611 + /* "bincount.pyx":616 * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * float wt * */ - __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_9 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -9643,22 +9785,22 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py __pyx_v_nans = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":614 + /* "bincount.pyx":619 * float wt * * np.ndarray[np.int8_t, ndim=1] data = a.data # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_data.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_data = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_data.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_data.diminfo[0].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_data.diminfo[0].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[0]; } } @@ -9666,22 +9808,22 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py __pyx_v_data = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":615 + /* "bincount.pyx":620 * * np.ndarray[np.int8_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_11 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indices.diminfo[0].strides = __pyx_pybuffernd_indices.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indices.diminfo[0].shape = __pyx_pybuffernd_indices.rcbuffer->pybuffer.shape[0]; } } @@ -9689,22 +9831,22 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py __pyx_v_indices = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":616 + /* "bincount.pyx":621 * np.ndarray[np.int8_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr # <<<<<<<<<<<<<< * int ri, i, ci * for ri in range(a.shape[0]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_12 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indptr.rcbuffer->pybuffer, (PyObject*)__pyx_t_12, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indptr = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indptr.diminfo[0].strides = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indptr.diminfo[0].shape = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.shape[0]; } } @@ -9712,24 +9854,24 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py __pyx_v_indptr = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":618 + /* "bincount.pyx":623 * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci * for ri in range(a.shape[0]): # <<<<<<<<<<<<<< * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_ri = __pyx_t_14; - /* "bincount.pyx":619 + /* "bincount.pyx":624 * int ri, i, ci * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] # <<<<<<<<<<<<<< @@ -9745,7 +9887,7 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py } __pyx_v_wt = __pyx_t_15; - /* "bincount.pyx":620 + /* "bincount.pyx":625 * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): # <<<<<<<<<<<<<< @@ -9758,7 +9900,7 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py for (__pyx_t_20 = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_indptr.diminfo[0].strides)); __pyx_t_20 < __pyx_t_18; __pyx_t_20+=1) { __pyx_v_i = __pyx_t_20; - /* "bincount.pyx":621 + /* "bincount.pyx":626 * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] # <<<<<<<<<<<<<< @@ -9768,7 +9910,7 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_21 = __pyx_v_i; __pyx_v_ci = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_indices.diminfo[0].strides)); - /* "bincount.pyx":622 + /* "bincount.pyx":627 * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] * if mask is None or mask[ci]: # <<<<<<<<<<<<<< @@ -9790,7 +9932,7 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py __pyx_L11_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":623 + /* "bincount.pyx":628 * ci = indices[i] * if mask is None or mask[ci]: * y[ci, data[i]] += wt # <<<<<<<<<<<<<< @@ -9807,7 +9949,7 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py } } - /* "bincount.pyx":624 + /* "bincount.pyx":629 * if mask is None or mask[ci]: * y[ci, data[i]] += wt * return y, nans # <<<<<<<<<<<<<< @@ -9815,7 +9957,7 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_y)); @@ -9827,7 +9969,7 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_2 = 0; goto __pyx_L0; - /* "bincount.pyx":594 + /* "bincount.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int8_axisNone(object a, # <<<<<<<<<<<<<< @@ -9871,7 +10013,7 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py return __pyx_r; } -/* "bincount.pyx":630 +/* "bincount.pyx":635 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int32_axisNone(object a, # <<<<<<<<<<<<<< @@ -9898,7 +10040,7 @@ static PyObject *__pyx_pw_8bincount_25bincount_0d_int32_axisNone(PyObject *__pyx static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":632 + /* "bincount.pyx":637 * def bincount_0d_int32_axisNone(object a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -9907,7 +10049,7 @@ static PyObject *__pyx_pw_8bincount_25bincount_0d_int32_axisNone(PyObject *__pyx */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":633 + /* "bincount.pyx":638 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -9934,7 +10076,7 @@ static PyObject *__pyx_pw_8bincount_25bincount_0d_int32_axisNone(PyObject *__pyx case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_0d_int32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_int32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -9948,7 +10090,7 @@ static PyObject *__pyx_pw_8bincount_25bincount_0d_int32_axisNone(PyObject *__pyx } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -9961,23 +10103,23 @@ static PyObject *__pyx_pw_8bincount_25bincount_0d_int32_axisNone(PyObject *__pyx } } __pyx_v_a = values[0]; - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_0d_int32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_int32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_0d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_24bincount_0d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":630 + /* "bincount.pyx":635 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int32_axisNone(object a, # <<<<<<<<<<<<<< @@ -10082,48 +10224,48 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":638 + /* "bincount.pyx":643 * * cdef: * Py_ssize_t n_rows = a.shape[0] # <<<<<<<<<<<<<< * Py_ssize_t n_cols = a.shape[1] * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_n_rows = __pyx_t_3; - /* "bincount.pyx":639 + /* "bincount.pyx":644 * cdef: * Py_ssize_t n_rows = a.shape[0] * Py_ssize_t n_cols = a.shape[1] # <<<<<<<<<<<<<< * * if w is not None and len(w) != n_rows: */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n_cols = __pyx_t_3; - /* "bincount.pyx":641 + /* "bincount.pyx":646 * Py_ssize_t n_cols = a.shape[1] * * if w is not None and len(w) != n_rows: # <<<<<<<<<<<<<< @@ -10139,27 +10281,27 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = ((__pyx_t_3 != __pyx_v_n_rows) != 0); __pyx_t_4 = __pyx_t_6; __pyx_L4_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":642 + /* "bincount.pyx":647 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__31, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__33, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":645 + /* "bincount.pyx":650 * * cdef: * np.npy_intp *dims = [n_cols, max_val+1] # <<<<<<<<<<<<<< @@ -10170,22 +10312,22 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":646 + /* "bincount.pyx":651 * cdef: * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) * float wt */ - __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -10193,22 +10335,22 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":647 + /* "bincount.pyx":652 * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * float wt * */ - __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_9 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -10216,22 +10358,22 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P __pyx_v_nans = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":650 + /* "bincount.pyx":655 * float wt * * np.ndarray[np.int32_t, ndim=1] data = a.data # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_data.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_data = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_data.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_data.diminfo[0].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_data.diminfo[0].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[0]; } } @@ -10239,22 +10381,22 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P __pyx_v_data = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":651 + /* "bincount.pyx":656 * * np.ndarray[np.int32_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_11 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indices.diminfo[0].strides = __pyx_pybuffernd_indices.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indices.diminfo[0].shape = __pyx_pybuffernd_indices.rcbuffer->pybuffer.shape[0]; } } @@ -10262,22 +10404,22 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P __pyx_v_indices = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":652 + /* "bincount.pyx":657 * np.ndarray[np.int32_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr # <<<<<<<<<<<<<< * int ri, i, ci * for ri in range(a.shape[0]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_12 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indptr.rcbuffer->pybuffer, (PyObject*)__pyx_t_12, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indptr = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indptr.diminfo[0].strides = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indptr.diminfo[0].shape = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.shape[0]; } } @@ -10285,24 +10427,24 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P __pyx_v_indptr = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":654 + /* "bincount.pyx":659 * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci * for ri in range(a.shape[0]): # <<<<<<<<<<<<<< * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_ri = __pyx_t_14; - /* "bincount.pyx":655 + /* "bincount.pyx":660 * int ri, i, ci * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] # <<<<<<<<<<<<<< @@ -10318,7 +10460,7 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P } __pyx_v_wt = __pyx_t_15; - /* "bincount.pyx":656 + /* "bincount.pyx":661 * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): # <<<<<<<<<<<<<< @@ -10331,7 +10473,7 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P for (__pyx_t_20 = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_indptr.diminfo[0].strides)); __pyx_t_20 < __pyx_t_18; __pyx_t_20+=1) { __pyx_v_i = __pyx_t_20; - /* "bincount.pyx":657 + /* "bincount.pyx":662 * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] # <<<<<<<<<<<<<< @@ -10341,7 +10483,7 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P __pyx_t_21 = __pyx_v_i; __pyx_v_ci = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_indices.diminfo[0].strides)); - /* "bincount.pyx":658 + /* "bincount.pyx":663 * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] * if mask is None or mask[ci]: # <<<<<<<<<<<<<< @@ -10363,7 +10505,7 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P __pyx_L11_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":659 + /* "bincount.pyx":664 * ci = indices[i] * if mask is None or mask[ci]: * y[ci, data[i]] += wt # <<<<<<<<<<<<<< @@ -10380,7 +10522,7 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P } } - /* "bincount.pyx":660 + /* "bincount.pyx":665 * if mask is None or mask[ci]: * y[ci, data[i]] += wt * return y, nans # <<<<<<<<<<<<<< @@ -10388,7 +10530,7 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_y)); @@ -10400,7 +10542,7 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P __pyx_t_2 = 0; goto __pyx_L0; - /* "bincount.pyx":630 + /* "bincount.pyx":635 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int32_axisNone(object a, # <<<<<<<<<<<<<< @@ -10444,7 +10586,7 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "bincount.pyx":666 +/* "bincount.pyx":671 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int64_axisNone(object a, # <<<<<<<<<<<<<< @@ -10471,7 +10613,7 @@ static PyObject *__pyx_pw_8bincount_27bincount_0d_int64_axisNone(PyObject *__pyx static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":668 + /* "bincount.pyx":673 * def bincount_0d_int64_axisNone(object a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -10480,7 +10622,7 @@ static PyObject *__pyx_pw_8bincount_27bincount_0d_int64_axisNone(PyObject *__pyx */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":669 + /* "bincount.pyx":674 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -10507,7 +10649,7 @@ static PyObject *__pyx_pw_8bincount_27bincount_0d_int64_axisNone(PyObject *__pyx case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_0d_int64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_int64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -10521,7 +10663,7 @@ static PyObject *__pyx_pw_8bincount_27bincount_0d_int64_axisNone(PyObject *__pyx } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -10534,23 +10676,23 @@ static PyObject *__pyx_pw_8bincount_27bincount_0d_int64_axisNone(PyObject *__pyx } } __pyx_v_a = values[0]; - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_0d_int64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_int64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_0d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 669; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_26bincount_0d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":666 + /* "bincount.pyx":671 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int64_axisNone(object a, # <<<<<<<<<<<<<< @@ -10655,48 +10797,48 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":674 + /* "bincount.pyx":679 * * cdef: * Py_ssize_t n_rows = a.shape[0] # <<<<<<<<<<<<<< * Py_ssize_t n_cols = a.shape[1] * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_n_rows = __pyx_t_3; - /* "bincount.pyx":675 + /* "bincount.pyx":680 * cdef: * Py_ssize_t n_rows = a.shape[0] * Py_ssize_t n_cols = a.shape[1] # <<<<<<<<<<<<<< * * if w is not None and len(w) != n_rows: */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n_cols = __pyx_t_3; - /* "bincount.pyx":677 + /* "bincount.pyx":682 * Py_ssize_t n_cols = a.shape[1] * * if w is not None and len(w) != n_rows: # <<<<<<<<<<<<<< @@ -10712,27 +10854,27 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = ((__pyx_t_3 != __pyx_v_n_rows) != 0); __pyx_t_4 = __pyx_t_6; __pyx_L4_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":678 + /* "bincount.pyx":683 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__32, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__34, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":681 + /* "bincount.pyx":686 * * cdef: * np.npy_intp *dims = [n_cols, max_val+1] # <<<<<<<<<<<<<< @@ -10743,22 +10885,22 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":682 + /* "bincount.pyx":687 * cdef: * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) * float wt */ - __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -10766,22 +10908,22 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":683 + /* "bincount.pyx":688 * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * float wt * */ - __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_9 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -10789,22 +10931,22 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P __pyx_v_nans = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":686 + /* "bincount.pyx":691 * float wt * * np.ndarray[np.int64_t, ndim=1] data = a.data # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_data.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_data = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_data.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_data.diminfo[0].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_data.diminfo[0].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[0]; } } @@ -10812,22 +10954,22 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P __pyx_v_data = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":687 + /* "bincount.pyx":692 * * np.ndarray[np.int64_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_11 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indices.diminfo[0].strides = __pyx_pybuffernd_indices.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indices.diminfo[0].shape = __pyx_pybuffernd_indices.rcbuffer->pybuffer.shape[0]; } } @@ -10835,22 +10977,22 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P __pyx_v_indices = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":688 + /* "bincount.pyx":693 * np.ndarray[np.int64_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr # <<<<<<<<<<<<<< * int ri, i, ci * for ri in range(a.shape[0]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_12 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indptr.rcbuffer->pybuffer, (PyObject*)__pyx_t_12, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indptr = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indptr.diminfo[0].strides = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indptr.diminfo[0].shape = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.shape[0]; } } @@ -10858,24 +11000,24 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P __pyx_v_indptr = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":690 + /* "bincount.pyx":695 * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci * for ri in range(a.shape[0]): # <<<<<<<<<<<<<< * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_ri = __pyx_t_14; - /* "bincount.pyx":691 + /* "bincount.pyx":696 * int ri, i, ci * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] # <<<<<<<<<<<<<< @@ -10891,7 +11033,7 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P } __pyx_v_wt = __pyx_t_15; - /* "bincount.pyx":692 + /* "bincount.pyx":697 * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): # <<<<<<<<<<<<<< @@ -10904,7 +11046,7 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P for (__pyx_t_20 = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_indptr.diminfo[0].strides)); __pyx_t_20 < __pyx_t_18; __pyx_t_20+=1) { __pyx_v_i = __pyx_t_20; - /* "bincount.pyx":693 + /* "bincount.pyx":698 * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] # <<<<<<<<<<<<<< @@ -10914,7 +11056,7 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P __pyx_t_21 = __pyx_v_i; __pyx_v_ci = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_indices.diminfo[0].strides)); - /* "bincount.pyx":694 + /* "bincount.pyx":699 * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] * if mask is None or mask[ci]: # <<<<<<<<<<<<<< @@ -10936,7 +11078,7 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P __pyx_L11_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":695 + /* "bincount.pyx":700 * ci = indices[i] * if mask is None or mask[ci]: * y[ci, data[i]] += wt # <<<<<<<<<<<<<< @@ -10953,7 +11095,7 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P } } - /* "bincount.pyx":696 + /* "bincount.pyx":701 * if mask is None or mask[ci]: * y[ci, data[i]] += wt * return y, nans # <<<<<<<<<<<<<< @@ -10961,7 +11103,7 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_y)); @@ -10973,7 +11115,7 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P __pyx_t_2 = 0; goto __pyx_L0; - /* "bincount.pyx":666 + /* "bincount.pyx":671 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int64_axisNone(object a, # <<<<<<<<<<<<<< @@ -11017,7 +11159,7 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "bincount.pyx":702 +/* "bincount.pyx":707 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -11044,7 +11186,7 @@ static PyObject *__pyx_pw_8bincount_29bincount_1d_float_axisNone(PyObject *__pyx static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":704 + /* "bincount.pyx":709 * def bincount_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -11053,7 +11195,7 @@ static PyObject *__pyx_pw_8bincount_29bincount_1d_float_axisNone(PyObject *__pyx */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":705 + /* "bincount.pyx":710 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -11080,7 +11222,7 @@ static PyObject *__pyx_pw_8bincount_29bincount_1d_float_axisNone(PyObject *__pyx case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_1d_float_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_float_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -11094,7 +11236,7 @@ static PyObject *__pyx_pw_8bincount_29bincount_1d_float_axisNone(PyObject *__pyx } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -11107,24 +11249,24 @@ static PyObject *__pyx_pw_8bincount_29bincount_1d_float_axisNone(PyObject *__pyx } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_1d_float_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_float_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_28bincount_1d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":702 + /* "bincount.pyx":707 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -11200,21 +11342,21 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":710 + /* "bincount.pyx":715 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -11223,7 +11365,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":711 + /* "bincount.pyx":716 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -11232,7 +11374,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":712 + /* "bincount.pyx":717 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: # <<<<<<<<<<<<<< @@ -11248,27 +11390,27 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_v_n0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":713 + /* "bincount.pyx":718 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__33, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":716 + /* "bincount.pyx":721 * * cdef: * np.npy_intp *dims = [max_val+1] # <<<<<<<<<<<<<< @@ -11278,22 +11420,22 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_6[0] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_6; - /* "bincount.pyx":717 + /* "bincount.pyx":722 * cdef: * np.npy_intp *dims = [max_val+1] * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * float nans = 0 * int ain */ - __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_7 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -11301,7 +11443,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_v_y = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":718 + /* "bincount.pyx":723 * np.npy_intp *dims = [max_val+1] * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) * float nans = 0 # <<<<<<<<<<<<<< @@ -11310,7 +11452,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_nans = 0.0; - /* "bincount.pyx":721 + /* "bincount.pyx":726 * int ain * float ai, wt * if mask is not None and not mask[0]: # <<<<<<<<<<<<<< @@ -11332,7 +11474,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_L7_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":722 + /* "bincount.pyx":727 * float ai, wt * if mask is not None and not mask[0]: * return y, nans # <<<<<<<<<<<<<< @@ -11340,9 +11482,9 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P * for i0 in range(n0): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)__pyx_v_y)); @@ -11355,7 +11497,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P goto __pyx_L0; } - /* "bincount.pyx":723 + /* "bincount.pyx":728 * if mask is not None and not mask[0]: * return y, nans * if w is None: # <<<<<<<<<<<<<< @@ -11366,7 +11508,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "bincount.pyx":724 + /* "bincount.pyx":729 * return y, nans * if w is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -11377,7 +11519,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_4; __pyx_t_10+=1) { __pyx_v_i0 = __pyx_t_10; - /* "bincount.pyx":725 + /* "bincount.pyx":730 * if w is None: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -11387,7 +11529,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_11 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":726 + /* "bincount.pyx":731 * for i0 in range(n0): * ai = a[i0] * if ai != ai: # <<<<<<<<<<<<<< @@ -11397,7 +11539,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_2) { - /* "bincount.pyx":727 + /* "bincount.pyx":732 * ai = a[i0] * if ai != ai: * nans += 1 # <<<<<<<<<<<<<< @@ -11406,7 +11548,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_nans = (__pyx_v_nans + 1.0); - /* "bincount.pyx":728 + /* "bincount.pyx":733 * if ai != ai: * nans += 1 * continue # <<<<<<<<<<<<<< @@ -11416,7 +11558,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P goto __pyx_L10_continue; } - /* "bincount.pyx":729 + /* "bincount.pyx":734 * nans += 1 * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -11426,21 +11568,21 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_2 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_2) { - /* "bincount.pyx":730 + /* "bincount.pyx":735 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__34, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":731 + /* "bincount.pyx":736 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -11449,7 +11591,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":732 + /* "bincount.pyx":737 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -11464,32 +11606,32 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((!(__pyx_t_2 != 0)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":733 + /* "bincount.pyx":738 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":734 + /* "bincount.pyx":739 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -11499,18 +11641,18 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":736 + /* "bincount.pyx":741 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[ain] += 1 * else: */ - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -11519,30 +11661,30 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_5 = 0; __pyx_t_9 = 0; - /* "bincount.pyx":735 + /* "bincount.pyx":740 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[ain] += 1 */ - __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_13); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_13); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_13, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_13, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":737 + /* "bincount.pyx":742 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[ain] += 1 # <<<<<<<<<<<<<< @@ -11557,7 +11699,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P } /*else*/ { - /* "bincount.pyx":739 + /* "bincount.pyx":744 * y[ain] += 1 * else: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -11568,7 +11710,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_4; __pyx_t_10+=1) { __pyx_v_i0 = __pyx_t_10; - /* "bincount.pyx":740 + /* "bincount.pyx":745 * else: * for i0 in range(n0): * wt = w[i0] # <<<<<<<<<<<<<< @@ -11578,7 +11720,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_15 = __pyx_v_i0; __pyx_v_wt = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_w.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_w.diminfo[0].strides)); - /* "bincount.pyx":741 + /* "bincount.pyx":746 * for i0 in range(n0): * wt = w[i0] * ai = a[i0] # <<<<<<<<<<<<<< @@ -11588,7 +11730,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_16 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":742 + /* "bincount.pyx":747 * wt = w[i0] * ai = a[i0] * if ai != ai: # <<<<<<<<<<<<<< @@ -11598,7 +11740,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_1) { - /* "bincount.pyx":743 + /* "bincount.pyx":748 * ai = a[i0] * if ai != ai: * nans += wt # <<<<<<<<<<<<<< @@ -11607,7 +11749,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_nans = (__pyx_v_nans + __pyx_v_wt); - /* "bincount.pyx":744 + /* "bincount.pyx":749 * if ai != ai: * nans += wt * continue # <<<<<<<<<<<<<< @@ -11617,7 +11759,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P goto __pyx_L16_continue; } - /* "bincount.pyx":745 + /* "bincount.pyx":750 * nans += wt * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -11627,21 +11769,21 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_1) { - /* "bincount.pyx":746 + /* "bincount.pyx":751 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__37, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":747 + /* "bincount.pyx":752 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -11650,7 +11792,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":748 + /* "bincount.pyx":753 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -11665,32 +11807,32 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_2) { - /* "bincount.pyx":749 + /* "bincount.pyx":754 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_13 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_Raise(__pyx_t_13, 0, 0, 0); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":750 + /* "bincount.pyx":755 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -11700,18 +11842,18 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_2 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":752 + /* "bincount.pyx":757 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[ain] += wt * return y, nans */ - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -11720,30 +11862,30 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_13 = 0; __pyx_t_9 = 0; - /* "bincount.pyx":751 + /* "bincount.pyx":756 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[ain] += wt */ - __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":753 + /* "bincount.pyx":758 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[ain] += wt # <<<<<<<<<<<<<< @@ -11757,7 +11899,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P } __pyx_L9:; - /* "bincount.pyx":754 + /* "bincount.pyx":759 * (ain, max_val)) * y[ain] += wt * return y, nans # <<<<<<<<<<<<<< @@ -11765,9 +11907,9 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_y)); @@ -11779,7 +11921,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_5 = 0; goto __pyx_L0; - /* "bincount.pyx":702 + /* "bincount.pyx":707 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -11814,7 +11956,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "bincount.pyx":758 +/* "bincount.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -11841,7 +11983,7 @@ static PyObject *__pyx_pw_8bincount_31bincount_1d_float32_axisNone(PyObject *__p static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":760 + /* "bincount.pyx":765 * def bincount_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -11850,7 +11992,7 @@ static PyObject *__pyx_pw_8bincount_31bincount_1d_float32_axisNone(PyObject *__p */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":761 + /* "bincount.pyx":766 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -11877,7 +12019,7 @@ static PyObject *__pyx_pw_8bincount_31bincount_1d_float32_axisNone(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_1d_float32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_float32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -11891,7 +12033,7 @@ static PyObject *__pyx_pw_8bincount_31bincount_1d_float32_axisNone(PyObject *__p } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -11904,24 +12046,24 @@ static PyObject *__pyx_pw_8bincount_31bincount_1d_float32_axisNone(PyObject *__p } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_1d_float32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_float32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_30bincount_1d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":758 + /* "bincount.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -11997,21 +12139,21 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":766 + /* "bincount.pyx":771 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -12020,7 +12162,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":767 + /* "bincount.pyx":772 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -12029,7 +12171,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":768 + /* "bincount.pyx":773 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: # <<<<<<<<<<<<<< @@ -12045,27 +12187,27 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_v_n0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":769 + /* "bincount.pyx":774 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__38, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":772 + /* "bincount.pyx":777 * * cdef: * np.npy_intp *dims = [max_val+1] # <<<<<<<<<<<<<< @@ -12075,22 +12217,22 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_6[0] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_6; - /* "bincount.pyx":773 + /* "bincount.pyx":778 * cdef: * np.npy_intp *dims = [max_val+1] * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * float nans = 0 * int ain */ - __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_7 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -12098,7 +12240,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":774 + /* "bincount.pyx":779 * np.npy_intp *dims = [max_val+1] * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) * float nans = 0 # <<<<<<<<<<<<<< @@ -12107,7 +12249,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_nans = 0.0; - /* "bincount.pyx":777 + /* "bincount.pyx":782 * int ain * float ai, wt * if mask is not None and not mask[0]: # <<<<<<<<<<<<<< @@ -12129,7 +12271,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_L7_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":778 + /* "bincount.pyx":783 * float ai, wt * if mask is not None and not mask[0]: * return y, nans # <<<<<<<<<<<<<< @@ -12137,9 +12279,9 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED * for i0 in range(n0): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)__pyx_v_y)); @@ -12152,7 +12294,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED goto __pyx_L0; } - /* "bincount.pyx":779 + /* "bincount.pyx":784 * if mask is not None and not mask[0]: * return y, nans * if w is None: # <<<<<<<<<<<<<< @@ -12163,7 +12305,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "bincount.pyx":780 + /* "bincount.pyx":785 * return y, nans * if w is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -12174,7 +12316,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_4; __pyx_t_10+=1) { __pyx_v_i0 = __pyx_t_10; - /* "bincount.pyx":781 + /* "bincount.pyx":786 * if w is None: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -12184,7 +12326,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_11 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":782 + /* "bincount.pyx":787 * for i0 in range(n0): * ai = a[i0] * if ai != ai: # <<<<<<<<<<<<<< @@ -12194,7 +12336,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_2) { - /* "bincount.pyx":783 + /* "bincount.pyx":788 * ai = a[i0] * if ai != ai: * nans += 1 # <<<<<<<<<<<<<< @@ -12203,7 +12345,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_nans = (__pyx_v_nans + 1.0); - /* "bincount.pyx":784 + /* "bincount.pyx":789 * if ai != ai: * nans += 1 * continue # <<<<<<<<<<<<<< @@ -12213,7 +12355,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED goto __pyx_L10_continue; } - /* "bincount.pyx":785 + /* "bincount.pyx":790 * nans += 1 * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -12223,21 +12365,21 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_2 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_2) { - /* "bincount.pyx":786 + /* "bincount.pyx":791 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__37, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__39, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":787 + /* "bincount.pyx":792 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -12246,7 +12388,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":788 + /* "bincount.pyx":793 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -12261,32 +12403,32 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((!(__pyx_t_2 != 0)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":789 + /* "bincount.pyx":794 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":790 + /* "bincount.pyx":795 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -12296,18 +12438,18 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":792 + /* "bincount.pyx":797 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[ain] += 1 * else: */ - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -12316,30 +12458,30 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_5 = 0; __pyx_t_9 = 0; - /* "bincount.pyx":791 + /* "bincount.pyx":796 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[ain] += 1 */ - __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_13); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_13); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_13, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_13, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":793 + /* "bincount.pyx":798 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[ain] += 1 # <<<<<<<<<<<<<< @@ -12354,7 +12496,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED } /*else*/ { - /* "bincount.pyx":795 + /* "bincount.pyx":800 * y[ain] += 1 * else: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -12365,7 +12507,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_4; __pyx_t_10+=1) { __pyx_v_i0 = __pyx_t_10; - /* "bincount.pyx":796 + /* "bincount.pyx":801 * else: * for i0 in range(n0): * wt = w[i0] # <<<<<<<<<<<<<< @@ -12375,7 +12517,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_15 = __pyx_v_i0; __pyx_v_wt = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_w.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_w.diminfo[0].strides)); - /* "bincount.pyx":797 + /* "bincount.pyx":802 * for i0 in range(n0): * wt = w[i0] * ai = a[i0] # <<<<<<<<<<<<<< @@ -12385,7 +12527,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_16 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":798 + /* "bincount.pyx":803 * wt = w[i0] * ai = a[i0] * if ai != ai: # <<<<<<<<<<<<<< @@ -12395,7 +12537,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_1) { - /* "bincount.pyx":799 + /* "bincount.pyx":804 * ai = a[i0] * if ai != ai: * nans += wt # <<<<<<<<<<<<<< @@ -12404,7 +12546,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_nans = (__pyx_v_nans + __pyx_v_wt); - /* "bincount.pyx":800 + /* "bincount.pyx":805 * if ai != ai: * nans += wt * continue # <<<<<<<<<<<<<< @@ -12414,7 +12556,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED goto __pyx_L16_continue; } - /* "bincount.pyx":801 + /* "bincount.pyx":806 * nans += wt * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -12424,21 +12566,21 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_1) { - /* "bincount.pyx":802 + /* "bincount.pyx":807 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__38, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__40, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":803 + /* "bincount.pyx":808 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -12447,7 +12589,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":804 + /* "bincount.pyx":809 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -12462,32 +12604,32 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_2) { - /* "bincount.pyx":805 + /* "bincount.pyx":810 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_13 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_Raise(__pyx_t_13, 0, 0, 0); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":806 + /* "bincount.pyx":811 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -12497,18 +12639,18 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_2 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":808 + /* "bincount.pyx":813 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[ain] += wt * return y, nans */ - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -12517,30 +12659,30 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_13 = 0; __pyx_t_9 = 0; - /* "bincount.pyx":807 + /* "bincount.pyx":812 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[ain] += wt */ - __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":809 + /* "bincount.pyx":814 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[ain] += wt # <<<<<<<<<<<<<< @@ -12554,7 +12696,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED } __pyx_L9:; - /* "bincount.pyx":810 + /* "bincount.pyx":815 * (ain, max_val)) * y[ain] += wt * return y, nans # <<<<<<<<<<<<<< @@ -12562,9 +12704,9 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_y)); @@ -12576,7 +12718,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_5 = 0; goto __pyx_L0; - /* "bincount.pyx":758 + /* "bincount.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -12611,7 +12753,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED return __pyx_r; } -/* "bincount.pyx":814 +/* "bincount.pyx":819 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -12638,7 +12780,7 @@ static PyObject *__pyx_pw_8bincount_33bincount_1d_float64_axisNone(PyObject *__p static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":816 + /* "bincount.pyx":821 * def bincount_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -12647,7 +12789,7 @@ static PyObject *__pyx_pw_8bincount_33bincount_1d_float64_axisNone(PyObject *__p */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":817 + /* "bincount.pyx":822 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -12674,7 +12816,7 @@ static PyObject *__pyx_pw_8bincount_33bincount_1d_float64_axisNone(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_1d_float64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_float64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -12688,7 +12830,7 @@ static PyObject *__pyx_pw_8bincount_33bincount_1d_float64_axisNone(PyObject *__p } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -12701,24 +12843,24 @@ static PyObject *__pyx_pw_8bincount_33bincount_1d_float64_axisNone(PyObject *__p } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_1d_float64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_float64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_32bincount_1d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":814 + /* "bincount.pyx":819 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -12794,21 +12936,21 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":822 + /* "bincount.pyx":827 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -12817,7 +12959,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":823 + /* "bincount.pyx":828 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -12826,7 +12968,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":824 + /* "bincount.pyx":829 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: # <<<<<<<<<<<<<< @@ -12842,27 +12984,27 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_v_n0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":825 + /* "bincount.pyx":830 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__39, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__41, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":828 + /* "bincount.pyx":833 * * cdef: * np.npy_intp *dims = [max_val+1] # <<<<<<<<<<<<<< @@ -12872,22 +13014,22 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_6[0] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_6; - /* "bincount.pyx":829 + /* "bincount.pyx":834 * cdef: * np.npy_intp *dims = [max_val+1] * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * float nans = 0 * int ain */ - __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_7 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -12895,7 +13037,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":830 + /* "bincount.pyx":835 * np.npy_intp *dims = [max_val+1] * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) * float nans = 0 # <<<<<<<<<<<<<< @@ -12904,7 +13046,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_nans = 0.0; - /* "bincount.pyx":833 + /* "bincount.pyx":838 * int ain * float ai, wt * if mask is not None and not mask[0]: # <<<<<<<<<<<<<< @@ -12926,7 +13068,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_L7_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":834 + /* "bincount.pyx":839 * float ai, wt * if mask is not None and not mask[0]: * return y, nans # <<<<<<<<<<<<<< @@ -12934,9 +13076,9 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED * for i0 in range(n0): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)__pyx_v_y)); @@ -12949,7 +13091,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED goto __pyx_L0; } - /* "bincount.pyx":835 + /* "bincount.pyx":840 * if mask is not None and not mask[0]: * return y, nans * if w is None: # <<<<<<<<<<<<<< @@ -12960,7 +13102,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "bincount.pyx":836 + /* "bincount.pyx":841 * return y, nans * if w is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -12971,7 +13113,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_4; __pyx_t_10+=1) { __pyx_v_i0 = __pyx_t_10; - /* "bincount.pyx":837 + /* "bincount.pyx":842 * if w is None: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -12981,7 +13123,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_11 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":838 + /* "bincount.pyx":843 * for i0 in range(n0): * ai = a[i0] * if ai != ai: # <<<<<<<<<<<<<< @@ -12991,7 +13133,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_2) { - /* "bincount.pyx":839 + /* "bincount.pyx":844 * ai = a[i0] * if ai != ai: * nans += 1 # <<<<<<<<<<<<<< @@ -13000,7 +13142,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_nans = (__pyx_v_nans + 1.0); - /* "bincount.pyx":840 + /* "bincount.pyx":845 * if ai != ai: * nans += 1 * continue # <<<<<<<<<<<<<< @@ -13010,7 +13152,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED goto __pyx_L10_continue; } - /* "bincount.pyx":841 + /* "bincount.pyx":846 * nans += 1 * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -13020,21 +13162,21 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_2 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_2) { - /* "bincount.pyx":842 + /* "bincount.pyx":847 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__40, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__42, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":843 + /* "bincount.pyx":848 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -13043,7 +13185,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":844 + /* "bincount.pyx":849 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -13058,32 +13200,32 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((!(__pyx_t_2 != 0)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":845 + /* "bincount.pyx":850 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":846 + /* "bincount.pyx":851 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -13093,18 +13235,18 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":848 + /* "bincount.pyx":853 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[ain] += 1 * else: */ - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -13113,30 +13255,30 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_5 = 0; __pyx_t_9 = 0; - /* "bincount.pyx":847 + /* "bincount.pyx":852 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[ain] += 1 */ - __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_13); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_13); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_13, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_13, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":849 + /* "bincount.pyx":854 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[ain] += 1 # <<<<<<<<<<<<<< @@ -13151,7 +13293,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED } /*else*/ { - /* "bincount.pyx":851 + /* "bincount.pyx":856 * y[ain] += 1 * else: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -13162,7 +13304,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_4; __pyx_t_10+=1) { __pyx_v_i0 = __pyx_t_10; - /* "bincount.pyx":852 + /* "bincount.pyx":857 * else: * for i0 in range(n0): * wt = w[i0] # <<<<<<<<<<<<<< @@ -13172,7 +13314,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_15 = __pyx_v_i0; __pyx_v_wt = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_w.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_w.diminfo[0].strides)); - /* "bincount.pyx":853 + /* "bincount.pyx":858 * for i0 in range(n0): * wt = w[i0] * ai = a[i0] # <<<<<<<<<<<<<< @@ -13182,7 +13324,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_16 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":854 + /* "bincount.pyx":859 * wt = w[i0] * ai = a[i0] * if ai != ai: # <<<<<<<<<<<<<< @@ -13192,7 +13334,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_1) { - /* "bincount.pyx":855 + /* "bincount.pyx":860 * ai = a[i0] * if ai != ai: * nans += wt # <<<<<<<<<<<<<< @@ -13201,7 +13343,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_nans = (__pyx_v_nans + __pyx_v_wt); - /* "bincount.pyx":856 + /* "bincount.pyx":861 * if ai != ai: * nans += wt * continue # <<<<<<<<<<<<<< @@ -13211,7 +13353,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED goto __pyx_L16_continue; } - /* "bincount.pyx":857 + /* "bincount.pyx":862 * nans += wt * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -13221,21 +13363,21 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_1) { - /* "bincount.pyx":858 + /* "bincount.pyx":863 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__41, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__43, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":859 + /* "bincount.pyx":864 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -13244,7 +13386,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":860 + /* "bincount.pyx":865 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -13259,32 +13401,32 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_2) { - /* "bincount.pyx":861 + /* "bincount.pyx":866 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_13 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_Raise(__pyx_t_13, 0, 0, 0); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":862 + /* "bincount.pyx":867 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -13294,18 +13436,18 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_2 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":864 + /* "bincount.pyx":869 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[ain] += wt * return y, nans */ - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -13314,30 +13456,30 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_13 = 0; __pyx_t_9 = 0; - /* "bincount.pyx":863 + /* "bincount.pyx":868 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[ain] += wt */ - __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":865 + /* "bincount.pyx":870 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[ain] += wt # <<<<<<<<<<<<<< @@ -13351,7 +13493,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED } __pyx_L9:; - /* "bincount.pyx":866 + /* "bincount.pyx":871 * (ain, max_val)) * y[ain] += wt * return y, nans # <<<<<<<<<<<<<< @@ -13359,9 +13501,9 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_y)); @@ -13373,7 +13515,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_5 = 0; goto __pyx_L0; - /* "bincount.pyx":814 + /* "bincount.pyx":819 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -13408,7 +13550,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED return __pyx_r; } -/* "bincount.pyx":870 +/* "bincount.pyx":875 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -13435,7 +13577,7 @@ static PyObject *__pyx_pw_8bincount_35bincount_2d_float_axisNone(PyObject *__pyx static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":872 + /* "bincount.pyx":877 * def bincount_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -13444,7 +13586,7 @@ static PyObject *__pyx_pw_8bincount_35bincount_2d_float_axisNone(PyObject *__pyx */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":873 + /* "bincount.pyx":878 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -13471,7 +13613,7 @@ static PyObject *__pyx_pw_8bincount_35bincount_2d_float_axisNone(PyObject *__pyx case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_2d_float_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_float_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -13485,7 +13627,7 @@ static PyObject *__pyx_pw_8bincount_35bincount_2d_float_axisNone(PyObject *__pyx } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -13498,24 +13640,24 @@ static PyObject *__pyx_pw_8bincount_35bincount_2d_float_axisNone(PyObject *__pyx } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_2d_float_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_float_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 872; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_34bincount_2d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":870 + /* "bincount.pyx":875 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -13618,21 +13760,21 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":878 + /* "bincount.pyx":883 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -13641,7 +13783,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":879 + /* "bincount.pyx":884 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -13650,7 +13792,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":880 + /* "bincount.pyx":885 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -13659,7 +13801,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "bincount.pyx":881 + /* "bincount.pyx":886 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): # <<<<<<<<<<<<<< @@ -13675,28 +13817,28 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_t_5) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":882 + /* "bincount.pyx":887 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__42, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__44, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":885 + /* "bincount.pyx":890 * * cdef: * np.npy_intp *dims = [n1, max_val+1] # <<<<<<<<<<<<<< @@ -13707,22 +13849,22 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":886 + /* "bincount.pyx":891 * cdef: * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.npy_intp *nandims = [n1] * np.ndarray[np.float_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) */ - __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -13730,7 +13872,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_v_y = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":887 + /* "bincount.pyx":892 * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] # <<<<<<<<<<<<<< @@ -13740,22 +13882,22 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_9[0] = __pyx_v_n1; __pyx_v_nandims = __pyx_t_9; - /* "bincount.pyx":888 + /* "bincount.pyx":893 * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] * np.ndarray[np.float_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ain * float ai, wt */ - __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -13763,7 +13905,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_v_nans = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":891 + /* "bincount.pyx":896 * int ain * float ai, wt * if mask is None: # <<<<<<<<<<<<<< @@ -13774,7 +13916,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { - /* "bincount.pyx":892 + /* "bincount.pyx":897 * float ai, wt * if mask is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -13785,7 +13927,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i0 = __pyx_t_4; - /* "bincount.pyx":893 + /* "bincount.pyx":898 * if mask is None: * for i0 in range(n0): * wt = 1 if w is None else w[i0] # <<<<<<<<<<<<<< @@ -13801,7 +13943,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P } __pyx_v_wt = __pyx_t_11; - /* "bincount.pyx":894 + /* "bincount.pyx":899 * for i0 in range(n0): * wt = 1 if w is None else w[i0] * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -13812,7 +13954,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_i1 = __pyx_t_14; - /* "bincount.pyx":895 + /* "bincount.pyx":900 * wt = 1 if w is None else w[i0] * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -13823,7 +13965,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_16 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":896 + /* "bincount.pyx":901 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -13833,7 +13975,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_3) { - /* "bincount.pyx":897 + /* "bincount.pyx":902 * ai = a[i0, i1] * if ai != ai: * nans[i1] += wt # <<<<<<<<<<<<<< @@ -13843,7 +13985,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_17 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_nans.diminfo[0].strides) += __pyx_v_wt; - /* "bincount.pyx":898 + /* "bincount.pyx":903 * if ai != ai: * nans[i1] += wt * continue # <<<<<<<<<<<<<< @@ -13853,7 +13995,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P goto __pyx_L9_continue; } - /* "bincount.pyx":899 + /* "bincount.pyx":904 * nans[i1] += wt * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -13863,21 +14005,21 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_3) { - /* "bincount.pyx":900 + /* "bincount.pyx":905 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__43, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":901 + /* "bincount.pyx":906 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -13886,7 +14028,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":902 + /* "bincount.pyx":907 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -13901,32 +14043,32 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((!(__pyx_t_3 != 0)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":903 + /* "bincount.pyx":908 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_19, 0, 0, 0); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":904 + /* "bincount.pyx":909 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -13936,18 +14078,18 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":906 + /* "bincount.pyx":911 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[i1, ain] += wt * elif w is None: */ - __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); @@ -13956,30 +14098,30 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_19 = 0; __pyx_t_6 = 0; - /* "bincount.pyx":905 + /* "bincount.pyx":910 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[i1, ain] += wt */ - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":907 + /* "bincount.pyx":912 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[i1, ain] += wt # <<<<<<<<<<<<<< @@ -13995,7 +14137,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P goto __pyx_L6; } - /* "bincount.pyx":908 + /* "bincount.pyx":913 * (ain, max_val)) * y[i1, ain] += wt * elif w is None: # <<<<<<<<<<<<<< @@ -14006,7 +14148,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { - /* "bincount.pyx":909 + /* "bincount.pyx":914 * y[i1, ain] += wt * elif w is None: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -14017,7 +14159,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":910 + /* "bincount.pyx":915 * elif w is None: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -14028,7 +14170,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_3) { - /* "bincount.pyx":911 + /* "bincount.pyx":916 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -14039,7 +14181,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_14; __pyx_t_23+=1) { __pyx_v_i0 = __pyx_t_23; - /* "bincount.pyx":912 + /* "bincount.pyx":917 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -14050,7 +14192,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_25 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":913 + /* "bincount.pyx":918 * for i0 in range(n0): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -14060,7 +14202,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_3) { - /* "bincount.pyx":914 + /* "bincount.pyx":919 * ai = a[i0, i1] * if ai != ai: * nans[i1] += 1 # <<<<<<<<<<<<<< @@ -14070,7 +14212,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_26 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_nans.diminfo[0].strides) += 1.0; - /* "bincount.pyx":915 + /* "bincount.pyx":920 * if ai != ai: * nans[i1] += 1 * continue # <<<<<<<<<<<<<< @@ -14080,7 +14222,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P goto __pyx_L18_continue; } - /* "bincount.pyx":916 + /* "bincount.pyx":921 * nans[i1] += 1 * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -14090,21 +14232,21 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_3) { - /* "bincount.pyx":917 + /* "bincount.pyx":922 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__44, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__46, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":918 + /* "bincount.pyx":923 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -14113,7 +14255,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":919 + /* "bincount.pyx":924 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -14128,32 +14270,32 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((!(__pyx_t_3 != 0)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":920 + /* "bincount.pyx":925 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_20 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_20, 0, 0, 0); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":921 + /* "bincount.pyx":926 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -14163,18 +14305,18 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":923 + /* "bincount.pyx":928 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[i1, ain] += 1 * else: */ - __pyx_t_20 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = PyTuple_New(2); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = PyTuple_New(2); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_20); @@ -14183,30 +14325,30 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_20 = 0; __pyx_t_6 = 0; - /* "bincount.pyx":922 + /* "bincount.pyx":927 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[i1, ain] += 1 */ - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_19); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_19); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = PyTuple_New(1); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = PyTuple_New(1); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_19, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_19, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":924 + /* "bincount.pyx":929 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[i1, ain] += 1 # <<<<<<<<<<<<<< @@ -14226,7 +14368,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P } /*else*/ { - /* "bincount.pyx":926 + /* "bincount.pyx":931 * y[i1, ain] += 1 * else: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -14237,7 +14379,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":927 + /* "bincount.pyx":932 * else: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -14248,7 +14390,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":928 + /* "bincount.pyx":933 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -14259,7 +14401,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_29 = 0; __pyx_t_29 < __pyx_t_23; __pyx_t_29+=1) { __pyx_v_i0 = __pyx_t_29; - /* "bincount.pyx":929 + /* "bincount.pyx":934 * if mask[i1]: * for i0 in range(n0): * wt = w[i0] # <<<<<<<<<<<<<< @@ -14269,7 +14411,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_30 = __pyx_v_i0; __pyx_v_wt = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_w.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_w.diminfo[0].strides)); - /* "bincount.pyx":930 + /* "bincount.pyx":935 * for i0 in range(n0): * wt = w[i0] * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -14280,7 +14422,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_32 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_31, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_32, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":931 + /* "bincount.pyx":936 * wt = w[i0] * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -14290,7 +14432,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_1) { - /* "bincount.pyx":932 + /* "bincount.pyx":937 * ai = a[i0, i1] * if ai != ai: * nans[i1] += wt # <<<<<<<<<<<<<< @@ -14300,7 +14442,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_33 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_33, __pyx_pybuffernd_nans.diminfo[0].strides) += __pyx_v_wt; - /* "bincount.pyx":933 + /* "bincount.pyx":938 * if ai != ai: * nans[i1] += wt * continue # <<<<<<<<<<<<<< @@ -14310,7 +14452,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P goto __pyx_L27_continue; } - /* "bincount.pyx":934 + /* "bincount.pyx":939 * nans[i1] += wt * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -14320,21 +14462,21 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_1) { - /* "bincount.pyx":935 + /* "bincount.pyx":940 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__47, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":936 + /* "bincount.pyx":941 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -14343,7 +14485,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":937 + /* "bincount.pyx":942 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -14358,32 +14500,32 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_3) { - /* "bincount.pyx":938 + /* "bincount.pyx":943 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_19, 0, 0, 0); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":939 + /* "bincount.pyx":944 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -14393,18 +14535,18 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_3) { - /* "bincount.pyx":941 + /* "bincount.pyx":946 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[i1, ain] += wt * return y, nans */ - __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); @@ -14413,30 +14555,30 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_19 = 0; __pyx_t_6 = 0; - /* "bincount.pyx":940 + /* "bincount.pyx":945 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[i1, ain] += wt */ - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":942 + /* "bincount.pyx":947 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[i1, ain] += wt # <<<<<<<<<<<<<< @@ -14455,7 +14597,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P } __pyx_L6:; - /* "bincount.pyx":943 + /* "bincount.pyx":948 * (ain, max_val)) * y[i1, ain] += wt * return y, nans # <<<<<<<<<<<<<< @@ -14463,7 +14605,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 948; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_y)); @@ -14475,7 +14617,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_6 = 0; goto __pyx_L0; - /* "bincount.pyx":870 + /* "bincount.pyx":875 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -14513,7 +14655,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "bincount.pyx":947 +/* "bincount.pyx":952 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -14540,7 +14682,7 @@ static PyObject *__pyx_pw_8bincount_37bincount_2d_float32_axisNone(PyObject *__p static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":949 + /* "bincount.pyx":954 * def bincount_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -14549,7 +14691,7 @@ static PyObject *__pyx_pw_8bincount_37bincount_2d_float32_axisNone(PyObject *__p */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":950 + /* "bincount.pyx":955 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -14576,7 +14718,7 @@ static PyObject *__pyx_pw_8bincount_37bincount_2d_float32_axisNone(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_2d_float32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_float32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -14590,7 +14732,7 @@ static PyObject *__pyx_pw_8bincount_37bincount_2d_float32_axisNone(PyObject *__p } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -14603,24 +14745,24 @@ static PyObject *__pyx_pw_8bincount_37bincount_2d_float32_axisNone(PyObject *__p } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 948; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_2d_float32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_float32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_36bincount_2d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":947 + /* "bincount.pyx":952 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -14723,21 +14865,21 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":955 + /* "bincount.pyx":960 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -14746,7 +14888,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":956 + /* "bincount.pyx":961 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -14755,7 +14897,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":957 + /* "bincount.pyx":962 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -14764,7 +14906,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "bincount.pyx":958 + /* "bincount.pyx":963 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): # <<<<<<<<<<<<<< @@ -14780,28 +14922,28 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_t_5) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":959 + /* "bincount.pyx":964 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__46, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__48, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":962 + /* "bincount.pyx":967 * * cdef: * np.npy_intp *dims = [n1, max_val+1] # <<<<<<<<<<<<<< @@ -14812,22 +14954,22 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":963 + /* "bincount.pyx":968 * cdef: * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.npy_intp *nandims = [n1] * np.ndarray[np.float_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) */ - __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -14835,7 +14977,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":964 + /* "bincount.pyx":969 * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] # <<<<<<<<<<<<<< @@ -14845,22 +14987,22 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_9[0] = __pyx_v_n1; __pyx_v_nandims = __pyx_t_9; - /* "bincount.pyx":965 + /* "bincount.pyx":970 * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] * np.ndarray[np.float_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ain * float ai, wt */ - __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -14868,7 +15010,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_v_nans = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":968 + /* "bincount.pyx":973 * int ain * float ai, wt * if mask is None: # <<<<<<<<<<<<<< @@ -14879,7 +15021,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { - /* "bincount.pyx":969 + /* "bincount.pyx":974 * float ai, wt * if mask is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -14890,7 +15032,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i0 = __pyx_t_4; - /* "bincount.pyx":970 + /* "bincount.pyx":975 * if mask is None: * for i0 in range(n0): * wt = 1 if w is None else w[i0] # <<<<<<<<<<<<<< @@ -14906,7 +15048,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED } __pyx_v_wt = __pyx_t_11; - /* "bincount.pyx":971 + /* "bincount.pyx":976 * for i0 in range(n0): * wt = 1 if w is None else w[i0] * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -14917,7 +15059,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_i1 = __pyx_t_14; - /* "bincount.pyx":972 + /* "bincount.pyx":977 * wt = 1 if w is None else w[i0] * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -14928,7 +15070,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_16 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":973 + /* "bincount.pyx":978 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -14938,7 +15080,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_3 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_3) { - /* "bincount.pyx":974 + /* "bincount.pyx":979 * ai = a[i0, i1] * if ai != ai: * nans[i1] += wt # <<<<<<<<<<<<<< @@ -14948,7 +15090,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_17 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_nans.diminfo[0].strides) += __pyx_v_wt; - /* "bincount.pyx":975 + /* "bincount.pyx":980 * if ai != ai: * nans[i1] += wt * continue # <<<<<<<<<<<<<< @@ -14958,7 +15100,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED goto __pyx_L9_continue; } - /* "bincount.pyx":976 + /* "bincount.pyx":981 * nans[i1] += wt * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -14968,21 +15110,21 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_3 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_3) { - /* "bincount.pyx":977 + /* "bincount.pyx":982 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__47, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__49, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":978 + /* "bincount.pyx":983 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -14991,7 +15133,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":979 + /* "bincount.pyx":984 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -15006,32 +15148,32 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((!(__pyx_t_3 != 0)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":980 + /* "bincount.pyx":985 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_19, 0, 0, 0); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":981 + /* "bincount.pyx":986 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -15041,18 +15183,18 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":983 + /* "bincount.pyx":988 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[i1, ain] += wt * elif w is None: */ - __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 988; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 988; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 988; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); @@ -15061,30 +15203,30 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_19 = 0; __pyx_t_6 = 0; - /* "bincount.pyx":982 + /* "bincount.pyx":987 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[i1, ain] += wt */ - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":984 + /* "bincount.pyx":989 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[i1, ain] += wt # <<<<<<<<<<<<<< @@ -15100,7 +15242,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED goto __pyx_L6; } - /* "bincount.pyx":985 + /* "bincount.pyx":990 * (ain, max_val)) * y[i1, ain] += wt * elif w is None: # <<<<<<<<<<<<<< @@ -15111,7 +15253,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { - /* "bincount.pyx":986 + /* "bincount.pyx":991 * y[i1, ain] += wt * elif w is None: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -15122,7 +15264,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":987 + /* "bincount.pyx":992 * elif w is None: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -15133,7 +15275,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_3 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_3) { - /* "bincount.pyx":988 + /* "bincount.pyx":993 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -15144,7 +15286,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_14; __pyx_t_23+=1) { __pyx_v_i0 = __pyx_t_23; - /* "bincount.pyx":989 + /* "bincount.pyx":994 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -15155,7 +15297,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_25 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":990 + /* "bincount.pyx":995 * for i0 in range(n0): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -15165,7 +15307,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_3 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_3) { - /* "bincount.pyx":991 + /* "bincount.pyx":996 * ai = a[i0, i1] * if ai != ai: * nans[i1] += 1 # <<<<<<<<<<<<<< @@ -15175,7 +15317,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_26 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_nans.diminfo[0].strides) += 1.0; - /* "bincount.pyx":992 + /* "bincount.pyx":997 * if ai != ai: * nans[i1] += 1 * continue # <<<<<<<<<<<<<< @@ -15185,7 +15327,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED goto __pyx_L18_continue; } - /* "bincount.pyx":993 + /* "bincount.pyx":998 * nans[i1] += 1 * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -15195,21 +15337,21 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_3 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_3) { - /* "bincount.pyx":994 + /* "bincount.pyx":999 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__48, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__50, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":995 + /* "bincount.pyx":1000 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -15218,7 +15360,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":996 + /* "bincount.pyx":1001 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -15233,32 +15375,32 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((!(__pyx_t_3 != 0)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":997 + /* "bincount.pyx":1002 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_20 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_20, 0, 0, 0); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":998 + /* "bincount.pyx":1003 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -15268,18 +15410,18 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1000 + /* "bincount.pyx":1005 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[i1, ain] += 1 * else: */ - __pyx_t_20 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1000; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1000; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = PyTuple_New(2); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1000; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = PyTuple_New(2); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_20); @@ -15288,30 +15430,30 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_20 = 0; __pyx_t_6 = 0; - /* "bincount.pyx":999 + /* "bincount.pyx":1004 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[i1, ain] += 1 */ - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_19); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_19); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = PyTuple_New(1); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = PyTuple_New(1); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_19, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_19, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1001 + /* "bincount.pyx":1006 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[i1, ain] += 1 # <<<<<<<<<<<<<< @@ -15331,7 +15473,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED } /*else*/ { - /* "bincount.pyx":1003 + /* "bincount.pyx":1008 * y[i1, ain] += 1 * else: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -15342,7 +15484,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":1004 + /* "bincount.pyx":1009 * else: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -15353,7 +15495,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1005 + /* "bincount.pyx":1010 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -15364,7 +15506,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED for (__pyx_t_29 = 0; __pyx_t_29 < __pyx_t_23; __pyx_t_29+=1) { __pyx_v_i0 = __pyx_t_29; - /* "bincount.pyx":1006 + /* "bincount.pyx":1011 * if mask[i1]: * for i0 in range(n0): * wt = w[i0] # <<<<<<<<<<<<<< @@ -15374,7 +15516,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_30 = __pyx_v_i0; __pyx_v_wt = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_w.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_w.diminfo[0].strides)); - /* "bincount.pyx":1007 + /* "bincount.pyx":1012 * for i0 in range(n0): * wt = w[i0] * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -15385,7 +15527,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_32 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_31, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_32, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":1008 + /* "bincount.pyx":1013 * wt = w[i0] * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -15395,7 +15537,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1009 + /* "bincount.pyx":1014 * ai = a[i0, i1] * if ai != ai: * nans[i1] += wt # <<<<<<<<<<<<<< @@ -15405,7 +15547,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_33 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_33, __pyx_pybuffernd_nans.diminfo[0].strides) += __pyx_v_wt; - /* "bincount.pyx":1010 + /* "bincount.pyx":1015 * if ai != ai: * nans[i1] += wt * continue # <<<<<<<<<<<<<< @@ -15415,7 +15557,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED goto __pyx_L27_continue; } - /* "bincount.pyx":1011 + /* "bincount.pyx":1016 * nans[i1] += wt * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -15425,21 +15567,21 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1012 + /* "bincount.pyx":1017 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__49, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__51, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1013 + /* "bincount.pyx":1018 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -15448,7 +15590,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":1014 + /* "bincount.pyx":1019 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -15463,32 +15605,32 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_3 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_3) { - /* "bincount.pyx":1015 + /* "bincount.pyx":1020 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_19, 0, 0, 0); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1016 + /* "bincount.pyx":1021 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -15498,18 +15640,18 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_3 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_3) { - /* "bincount.pyx":1018 + /* "bincount.pyx":1023 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[i1, ain] += wt * return y, nans */ - __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); @@ -15518,30 +15660,30 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_19 = 0; __pyx_t_6 = 0; - /* "bincount.pyx":1017 + /* "bincount.pyx":1022 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[i1, ain] += wt */ - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1019 + /* "bincount.pyx":1024 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[i1, ain] += wt # <<<<<<<<<<<<<< @@ -15560,7 +15702,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED } __pyx_L6:; - /* "bincount.pyx":1020 + /* "bincount.pyx":1025 * (ain, max_val)) * y[i1, ain] += wt * return y, nans # <<<<<<<<<<<<<< @@ -15568,7 +15710,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_y)); @@ -15580,7 +15722,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_6 = 0; goto __pyx_L0; - /* "bincount.pyx":947 + /* "bincount.pyx":952 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -15618,7 +15760,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED return __pyx_r; } -/* "bincount.pyx":1024 +/* "bincount.pyx":1029 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -15645,7 +15787,7 @@ static PyObject *__pyx_pw_8bincount_39bincount_2d_float64_axisNone(PyObject *__p static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":1026 + /* "bincount.pyx":1031 * def bincount_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -15654,7 +15796,7 @@ static PyObject *__pyx_pw_8bincount_39bincount_2d_float64_axisNone(PyObject *__p */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":1027 + /* "bincount.pyx":1032 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -15681,7 +15823,7 @@ static PyObject *__pyx_pw_8bincount_39bincount_2d_float64_axisNone(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_2d_float64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_float64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -15695,7 +15837,7 @@ static PyObject *__pyx_pw_8bincount_39bincount_2d_float64_axisNone(PyObject *__p } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -15708,24 +15850,24 @@ static PyObject *__pyx_pw_8bincount_39bincount_2d_float64_axisNone(PyObject *__p } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_2d_float64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_float64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_38bincount_2d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":1024 + /* "bincount.pyx":1029 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -15828,21 +15970,21 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":1032 + /* "bincount.pyx":1037 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -15851,7 +15993,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":1033 + /* "bincount.pyx":1038 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -15860,7 +16002,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":1034 + /* "bincount.pyx":1039 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -15869,7 +16011,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "bincount.pyx":1035 + /* "bincount.pyx":1040 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): # <<<<<<<<<<<<<< @@ -15885,28 +16027,28 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_t_5) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":1036 + /* "bincount.pyx":1041 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__50, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__52, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1039 + /* "bincount.pyx":1044 * * cdef: * np.npy_intp *dims = [n1, max_val+1] # <<<<<<<<<<<<<< @@ -15917,22 +16059,22 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":1040 + /* "bincount.pyx":1045 * cdef: * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.npy_intp *nandims = [n1] * np.ndarray[np.float_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) */ - __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -15940,7 +16082,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":1041 + /* "bincount.pyx":1046 * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] # <<<<<<<<<<<<<< @@ -15950,22 +16092,22 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_9[0] = __pyx_v_n1; __pyx_v_nandims = __pyx_t_9; - /* "bincount.pyx":1042 + /* "bincount.pyx":1047 * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] * np.ndarray[np.float_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ain * float ai, wt */ - __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1047; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1047; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1047; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -15973,7 +16115,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_v_nans = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":1045 + /* "bincount.pyx":1050 * int ain * float ai, wt * if mask is None: # <<<<<<<<<<<<<< @@ -15984,7 +16126,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { - /* "bincount.pyx":1046 + /* "bincount.pyx":1051 * float ai, wt * if mask is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -15995,7 +16137,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i0 = __pyx_t_4; - /* "bincount.pyx":1047 + /* "bincount.pyx":1052 * if mask is None: * for i0 in range(n0): * wt = 1 if w is None else w[i0] # <<<<<<<<<<<<<< @@ -16011,7 +16153,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED } __pyx_v_wt = __pyx_t_11; - /* "bincount.pyx":1048 + /* "bincount.pyx":1053 * for i0 in range(n0): * wt = 1 if w is None else w[i0] * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -16022,7 +16164,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_i1 = __pyx_t_14; - /* "bincount.pyx":1049 + /* "bincount.pyx":1054 * wt = 1 if w is None else w[i0] * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -16033,7 +16175,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_16 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":1050 + /* "bincount.pyx":1055 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -16043,7 +16185,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_3 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_3) { - /* "bincount.pyx":1051 + /* "bincount.pyx":1056 * ai = a[i0, i1] * if ai != ai: * nans[i1] += wt # <<<<<<<<<<<<<< @@ -16053,7 +16195,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_17 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_nans.diminfo[0].strides) += __pyx_v_wt; - /* "bincount.pyx":1052 + /* "bincount.pyx":1057 * if ai != ai: * nans[i1] += wt * continue # <<<<<<<<<<<<<< @@ -16063,7 +16205,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED goto __pyx_L9_continue; } - /* "bincount.pyx":1053 + /* "bincount.pyx":1058 * nans[i1] += wt * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -16073,21 +16215,21 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_3 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_3) { - /* "bincount.pyx":1054 + /* "bincount.pyx":1059 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__51, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__53, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1055 + /* "bincount.pyx":1060 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -16096,7 +16238,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":1056 + /* "bincount.pyx":1061 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -16111,32 +16253,32 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((!(__pyx_t_3 != 0)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1057 + /* "bincount.pyx":1062 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_19, 0, 0, 0); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1058 + /* "bincount.pyx":1063 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -16146,18 +16288,18 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1060 + /* "bincount.pyx":1065 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[i1, ain] += wt * elif w is None: */ - __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); @@ -16166,30 +16308,30 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_19 = 0; __pyx_t_6 = 0; - /* "bincount.pyx":1059 + /* "bincount.pyx":1064 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[i1, ain] += wt */ - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1061 + /* "bincount.pyx":1066 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[i1, ain] += wt # <<<<<<<<<<<<<< @@ -16205,7 +16347,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED goto __pyx_L6; } - /* "bincount.pyx":1062 + /* "bincount.pyx":1067 * (ain, max_val)) * y[i1, ain] += wt * elif w is None: # <<<<<<<<<<<<<< @@ -16216,7 +16358,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { - /* "bincount.pyx":1063 + /* "bincount.pyx":1068 * y[i1, ain] += wt * elif w is None: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -16227,7 +16369,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":1064 + /* "bincount.pyx":1069 * elif w is None: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -16238,7 +16380,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_3 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_3) { - /* "bincount.pyx":1065 + /* "bincount.pyx":1070 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -16249,7 +16391,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_14; __pyx_t_23+=1) { __pyx_v_i0 = __pyx_t_23; - /* "bincount.pyx":1066 + /* "bincount.pyx":1071 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -16260,7 +16402,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_25 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":1067 + /* "bincount.pyx":1072 * for i0 in range(n0): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -16270,7 +16412,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_3 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_3) { - /* "bincount.pyx":1068 + /* "bincount.pyx":1073 * ai = a[i0, i1] * if ai != ai: * nans[i1] += 1 # <<<<<<<<<<<<<< @@ -16280,7 +16422,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_26 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_nans.diminfo[0].strides) += 1.0; - /* "bincount.pyx":1069 + /* "bincount.pyx":1074 * if ai != ai: * nans[i1] += 1 * continue # <<<<<<<<<<<<<< @@ -16290,7 +16432,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED goto __pyx_L18_continue; } - /* "bincount.pyx":1070 + /* "bincount.pyx":1075 * nans[i1] += 1 * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -16300,21 +16442,21 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_3 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_3) { - /* "bincount.pyx":1071 + /* "bincount.pyx":1076 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__52, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__54, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1072 + /* "bincount.pyx":1077 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -16323,7 +16465,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":1073 + /* "bincount.pyx":1078 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -16338,32 +16480,32 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((!(__pyx_t_3 != 0)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1074 + /* "bincount.pyx":1079 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_20 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_20, 0, 0, 0); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1075 + /* "bincount.pyx":1080 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -16373,18 +16515,18 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1077 + /* "bincount.pyx":1082 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[i1, ain] += 1 * else: */ - __pyx_t_20 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = PyTuple_New(2); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = PyTuple_New(2); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_20); @@ -16393,30 +16535,30 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_20 = 0; __pyx_t_6 = 0; - /* "bincount.pyx":1076 + /* "bincount.pyx":1081 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[i1, ain] += 1 */ - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_19); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_19); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = PyTuple_New(1); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = PyTuple_New(1); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_19, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_19, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1078 + /* "bincount.pyx":1083 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[i1, ain] += 1 # <<<<<<<<<<<<<< @@ -16436,7 +16578,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED } /*else*/ { - /* "bincount.pyx":1080 + /* "bincount.pyx":1085 * y[i1, ain] += 1 * else: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -16447,7 +16589,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":1081 + /* "bincount.pyx":1086 * else: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -16458,7 +16600,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1082 + /* "bincount.pyx":1087 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -16469,7 +16611,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED for (__pyx_t_29 = 0; __pyx_t_29 < __pyx_t_23; __pyx_t_29+=1) { __pyx_v_i0 = __pyx_t_29; - /* "bincount.pyx":1083 + /* "bincount.pyx":1088 * if mask[i1]: * for i0 in range(n0): * wt = w[i0] # <<<<<<<<<<<<<< @@ -16479,7 +16621,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_30 = __pyx_v_i0; __pyx_v_wt = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_w.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_w.diminfo[0].strides)); - /* "bincount.pyx":1084 + /* "bincount.pyx":1089 * for i0 in range(n0): * wt = w[i0] * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -16490,7 +16632,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_32 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_31, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_32, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":1085 + /* "bincount.pyx":1090 * wt = w[i0] * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -16500,7 +16642,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1086 + /* "bincount.pyx":1091 * ai = a[i0, i1] * if ai != ai: * nans[i1] += wt # <<<<<<<<<<<<<< @@ -16510,7 +16652,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_33 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_33, __pyx_pybuffernd_nans.diminfo[0].strides) += __pyx_v_wt; - /* "bincount.pyx":1087 + /* "bincount.pyx":1092 * if ai != ai: * nans[i1] += wt * continue # <<<<<<<<<<<<<< @@ -16520,7 +16662,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED goto __pyx_L27_continue; } - /* "bincount.pyx":1088 + /* "bincount.pyx":1093 * nans[i1] += wt * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -16530,21 +16672,21 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1089 + /* "bincount.pyx":1094 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__53, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__55, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1090 + /* "bincount.pyx":1095 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -16553,7 +16695,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":1091 + /* "bincount.pyx":1096 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -16568,32 +16710,32 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_3 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_3) { - /* "bincount.pyx":1092 + /* "bincount.pyx":1097 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_19, 0, 0, 0); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1093 + /* "bincount.pyx":1098 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -16603,18 +16745,18 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_3 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_3) { - /* "bincount.pyx":1095 + /* "bincount.pyx":1100 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[i1, ain] += wt * return y, nans */ - __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); @@ -16623,30 +16765,30 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_19 = 0; __pyx_t_6 = 0; - /* "bincount.pyx":1094 + /* "bincount.pyx":1099 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[i1, ain] += wt */ - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1096 + /* "bincount.pyx":1101 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[i1, ain] += wt # <<<<<<<<<<<<<< @@ -16665,7 +16807,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED } __pyx_L6:; - /* "bincount.pyx":1097 + /* "bincount.pyx":1102 * (ain, max_val)) * y[i1, ain] += wt * return y, nans # <<<<<<<<<<<<<< @@ -16673,7 +16815,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_y)); @@ -16685,7 +16827,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_6 = 0; goto __pyx_L0; - /* "bincount.pyx":1024 + /* "bincount.pyx":1029 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -16723,7 +16865,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED return __pyx_r; } -/* "bincount.pyx":1101 +/* "bincount.pyx":1106 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float_axisNone(object a, # <<<<<<<<<<<<<< @@ -16750,7 +16892,7 @@ static PyObject *__pyx_pw_8bincount_41bincount_0d_float_axisNone(PyObject *__pyx static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":1103 + /* "bincount.pyx":1108 * def bincount_0d_float_axisNone(object a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -16759,7 +16901,7 @@ static PyObject *__pyx_pw_8bincount_41bincount_0d_float_axisNone(PyObject *__pyx */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":1104 + /* "bincount.pyx":1109 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -16786,7 +16928,7 @@ static PyObject *__pyx_pw_8bincount_41bincount_0d_float_axisNone(PyObject *__pyx case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_0d_float_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_float_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -16800,7 +16942,7 @@ static PyObject *__pyx_pw_8bincount_41bincount_0d_float_axisNone(PyObject *__pyx } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -16813,23 +16955,23 @@ static PyObject *__pyx_pw_8bincount_41bincount_0d_float_axisNone(PyObject *__pyx } } __pyx_v_a = values[0]; - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_0d_float_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_float_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_0d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_40bincount_0d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":1101 + /* "bincount.pyx":1106 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float_axisNone(object a, # <<<<<<<<<<<<<< @@ -16939,48 +17081,48 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":1109 + /* "bincount.pyx":1114 * * cdef: * Py_ssize_t n_rows = a.shape[0] # <<<<<<<<<<<<<< * Py_ssize_t n_cols = a.shape[1] * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_n_rows = __pyx_t_3; - /* "bincount.pyx":1110 + /* "bincount.pyx":1115 * cdef: * Py_ssize_t n_rows = a.shape[0] * Py_ssize_t n_cols = a.shape[1] # <<<<<<<<<<<<<< * * if w is not None and len(w) != n_rows: */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n_cols = __pyx_t_3; - /* "bincount.pyx":1112 + /* "bincount.pyx":1117 * Py_ssize_t n_cols = a.shape[1] * * if w is not None and len(w) != n_rows: # <<<<<<<<<<<<<< @@ -16996,27 +17138,27 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = ((__pyx_t_3 != __pyx_v_n_rows) != 0); __pyx_t_4 = __pyx_t_6; __pyx_L4_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":1113 + /* "bincount.pyx":1118 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__54, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__56, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1116 + /* "bincount.pyx":1121 * * cdef: * np.npy_intp *dims = [n_cols, max_val+1] # <<<<<<<<<<<<<< @@ -17027,22 +17169,22 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":1117 + /* "bincount.pyx":1122 * cdef: * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) * float wt */ - __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -17050,22 +17192,22 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1118 + /* "bincount.pyx":1123 * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * float wt * */ - __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_9 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -17073,22 +17215,22 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_v_nans = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1121 + /* "bincount.pyx":1126 * float wt * * np.ndarray[np.float_t, ndim=1] data = a.data # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_data.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_data = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_data.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_data.diminfo[0].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_data.diminfo[0].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[0]; } } @@ -17096,22 +17238,22 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_v_data = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1122 + /* "bincount.pyx":1127 * * np.ndarray[np.float_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_11 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indices.diminfo[0].strides = __pyx_pybuffernd_indices.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indices.diminfo[0].shape = __pyx_pybuffernd_indices.rcbuffer->pybuffer.shape[0]; } } @@ -17119,22 +17261,22 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_v_indices = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1123 + /* "bincount.pyx":1128 * np.ndarray[np.float_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr # <<<<<<<<<<<<<< * int ri, i, ci * np.float_t ai */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_12 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indptr.rcbuffer->pybuffer, (PyObject*)__pyx_t_12, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indptr = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indptr.diminfo[0].strides = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indptr.diminfo[0].shape = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.shape[0]; } } @@ -17142,24 +17284,24 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_v_indptr = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1127 + /* "bincount.pyx":1132 * np.float_t ai * int ain * for ri in range(a.shape[0]): # <<<<<<<<<<<<<< * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_ri = __pyx_t_14; - /* "bincount.pyx":1128 + /* "bincount.pyx":1133 * int ain * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] # <<<<<<<<<<<<<< @@ -17175,7 +17317,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P } __pyx_v_wt = __pyx_t_15; - /* "bincount.pyx":1129 + /* "bincount.pyx":1134 * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): # <<<<<<<<<<<<<< @@ -17188,7 +17330,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_20 = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_indptr.diminfo[0].strides)); __pyx_t_20 < __pyx_t_18; __pyx_t_20+=1) { __pyx_v_i = __pyx_t_20; - /* "bincount.pyx":1130 + /* "bincount.pyx":1135 * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] # <<<<<<<<<<<<<< @@ -17198,7 +17340,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_t_21 = __pyx_v_i; __pyx_v_ci = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_indices.diminfo[0].strides)); - /* "bincount.pyx":1131 + /* "bincount.pyx":1136 * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] * if mask is None or mask[ci]: # <<<<<<<<<<<<<< @@ -17220,7 +17362,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_L11_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":1132 + /* "bincount.pyx":1137 * ci = indices[i] * if mask is None or mask[ci]: * ai = data[i] # <<<<<<<<<<<<<< @@ -17230,7 +17372,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_t_23 = __pyx_v_i; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_data.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_data.diminfo[0].strides)); - /* "bincount.pyx":1133 + /* "bincount.pyx":1138 * if mask is None or mask[ci]: * ai = data[i] * if ai != ai: # <<<<<<<<<<<<<< @@ -17240,7 +17382,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_t_4 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "bincount.pyx":1134 + /* "bincount.pyx":1139 * ai = data[i] * if ai != ai: * nans[indices[i]] += wt # <<<<<<<<<<<<<< @@ -17251,7 +17393,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_t_25 = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_indices.diminfo[0].strides)); *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_nans.diminfo[0].strides) += __pyx_v_wt; - /* "bincount.pyx":1135 + /* "bincount.pyx":1140 * if ai != ai: * nans[indices[i]] += wt * continue # <<<<<<<<<<<<<< @@ -17261,7 +17403,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P goto __pyx_L8_continue; } - /* "bincount.pyx":1136 + /* "bincount.pyx":1141 * nans[indices[i]] += wt * continue * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -17270,7 +17412,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":1137 + /* "bincount.pyx":1142 * continue * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -17285,32 +17427,32 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_t_5 = ((!(__pyx_t_4 != 0)) != 0); if (__pyx_t_5) { - /* "bincount.pyx":1138 + /* "bincount.pyx":1143 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1139 + /* "bincount.pyx":1144 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -17320,18 +17462,18 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_t_5 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_5) { - /* "bincount.pyx":1141 + /* "bincount.pyx":1146 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[ci, ain] += wt * return y, nans */ - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_26 = PyTuple_New(2); if (unlikely(!__pyx_t_26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_26 = PyTuple_New(2); if (unlikely(!__pyx_t_26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); @@ -17340,30 +17482,30 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = 0; __pyx_t_2 = 0; - /* "bincount.pyx":1140 + /* "bincount.pyx":1145 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[ci, ain] += wt */ - __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_26); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_26); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; - __pyx_t_26 = PyTuple_New(1); if (unlikely(!__pyx_t_26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_26 = PyTuple_New(1); if (unlikely(!__pyx_t_26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_26, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_26, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1142 + /* "bincount.pyx":1147 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[ci, ain] += wt # <<<<<<<<<<<<<< @@ -17380,7 +17522,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P } } - /* "bincount.pyx":1143 + /* "bincount.pyx":1148 * (ain, max_val)) * y[ci, ain] += wt * return y, nans # <<<<<<<<<<<<<< @@ -17388,7 +17530,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_y)); @@ -17400,7 +17542,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_t_2 = 0; goto __pyx_L0; - /* "bincount.pyx":1101 + /* "bincount.pyx":1106 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float_axisNone(object a, # <<<<<<<<<<<<<< @@ -17445,7 +17587,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "bincount.pyx":1149 +/* "bincount.pyx":1154 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float32_axisNone(object a, # <<<<<<<<<<<<<< @@ -17472,7 +17614,7 @@ static PyObject *__pyx_pw_8bincount_43bincount_0d_float32_axisNone(PyObject *__p static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":1151 + /* "bincount.pyx":1156 * def bincount_0d_float32_axisNone(object a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -17481,7 +17623,7 @@ static PyObject *__pyx_pw_8bincount_43bincount_0d_float32_axisNone(PyObject *__p */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":1152 + /* "bincount.pyx":1157 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -17508,7 +17650,7 @@ static PyObject *__pyx_pw_8bincount_43bincount_0d_float32_axisNone(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_0d_float32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_float32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -17522,7 +17664,7 @@ static PyObject *__pyx_pw_8bincount_43bincount_0d_float32_axisNone(PyObject *__p } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -17535,23 +17677,23 @@ static PyObject *__pyx_pw_8bincount_43bincount_0d_float32_axisNone(PyObject *__p } } __pyx_v_a = values[0]; - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1155; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_0d_float32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_float32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_0d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_42bincount_0d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":1149 + /* "bincount.pyx":1154 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float32_axisNone(object a, # <<<<<<<<<<<<<< @@ -17662,48 +17804,48 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":1157 + /* "bincount.pyx":1162 * * cdef: * Py_ssize_t n_rows = a.shape[0] # <<<<<<<<<<<<<< * Py_ssize_t n_cols = a.shape[1] * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_n_rows = __pyx_t_3; - /* "bincount.pyx":1158 + /* "bincount.pyx":1163 * cdef: * Py_ssize_t n_rows = a.shape[0] * Py_ssize_t n_cols = a.shape[1] # <<<<<<<<<<<<<< * * if w is not None and len(w) != n_rows: */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n_cols = __pyx_t_3; - /* "bincount.pyx":1160 + /* "bincount.pyx":1165 * Py_ssize_t n_cols = a.shape[1] * * if w is not None and len(w) != n_rows: # <<<<<<<<<<<<<< @@ -17719,27 +17861,27 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = ((__pyx_t_3 != __pyx_v_n_rows) != 0); __pyx_t_4 = __pyx_t_6; __pyx_L4_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":1161 + /* "bincount.pyx":1166 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__55, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__57, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1164 + /* "bincount.pyx":1169 * * cdef: * np.npy_intp *dims = [n_cols, max_val+1] # <<<<<<<<<<<<<< @@ -17750,22 +17892,22 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":1165 + /* "bincount.pyx":1170 * cdef: * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) * float wt */ - __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -17773,22 +17915,22 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1166 + /* "bincount.pyx":1171 * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * float wt * */ - __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_9 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -17796,22 +17938,22 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_v_nans = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1169 + /* "bincount.pyx":1174 * float wt * * np.ndarray[np.float32_t, ndim=1] data = a.data # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_data.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_data = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_data.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_data.diminfo[0].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_data.diminfo[0].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[0]; } } @@ -17819,22 +17961,22 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_v_data = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1170 + /* "bincount.pyx":1175 * * np.ndarray[np.float32_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_11 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indices.diminfo[0].strides = __pyx_pybuffernd_indices.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indices.diminfo[0].shape = __pyx_pybuffernd_indices.rcbuffer->pybuffer.shape[0]; } } @@ -17842,22 +17984,22 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_v_indices = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1171 + /* "bincount.pyx":1176 * np.ndarray[np.float32_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr # <<<<<<<<<<<<<< * int ri, i, ci * np.float32_t ai */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_12 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indptr.rcbuffer->pybuffer, (PyObject*)__pyx_t_12, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indptr = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indptr.diminfo[0].strides = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indptr.diminfo[0].shape = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.shape[0]; } } @@ -17865,24 +18007,24 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_v_indptr = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1175 + /* "bincount.pyx":1180 * np.float32_t ai * int ain * for ri in range(a.shape[0]): # <<<<<<<<<<<<<< * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1180; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1180; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_ri = __pyx_t_14; - /* "bincount.pyx":1176 + /* "bincount.pyx":1181 * int ain * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] # <<<<<<<<<<<<<< @@ -17898,7 +18040,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED } __pyx_v_wt = __pyx_t_15; - /* "bincount.pyx":1177 + /* "bincount.pyx":1182 * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): # <<<<<<<<<<<<<< @@ -17911,7 +18053,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED for (__pyx_t_20 = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_indptr.diminfo[0].strides)); __pyx_t_20 < __pyx_t_18; __pyx_t_20+=1) { __pyx_v_i = __pyx_t_20; - /* "bincount.pyx":1178 + /* "bincount.pyx":1183 * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] # <<<<<<<<<<<<<< @@ -17921,7 +18063,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_t_21 = __pyx_v_i; __pyx_v_ci = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_indices.diminfo[0].strides)); - /* "bincount.pyx":1179 + /* "bincount.pyx":1184 * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] * if mask is None or mask[ci]: # <<<<<<<<<<<<<< @@ -17943,7 +18085,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_L11_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":1180 + /* "bincount.pyx":1185 * ci = indices[i] * if mask is None or mask[ci]: * ai = data[i] # <<<<<<<<<<<<<< @@ -17953,7 +18095,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_t_23 = __pyx_v_i; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_data.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_data.diminfo[0].strides)); - /* "bincount.pyx":1181 + /* "bincount.pyx":1186 * if mask is None or mask[ci]: * ai = data[i] * if ai != ai: # <<<<<<<<<<<<<< @@ -17963,7 +18105,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_t_4 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "bincount.pyx":1182 + /* "bincount.pyx":1187 * ai = data[i] * if ai != ai: * nans[indices[i]] += wt # <<<<<<<<<<<<<< @@ -17974,7 +18116,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_t_25 = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_indices.diminfo[0].strides)); *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_nans.diminfo[0].strides) += __pyx_v_wt; - /* "bincount.pyx":1183 + /* "bincount.pyx":1188 * if ai != ai: * nans[indices[i]] += wt * continue # <<<<<<<<<<<<<< @@ -17984,7 +18126,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED goto __pyx_L8_continue; } - /* "bincount.pyx":1184 + /* "bincount.pyx":1189 * nans[indices[i]] += wt * continue * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -17993,7 +18135,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":1185 + /* "bincount.pyx":1190 * continue * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -18008,32 +18150,32 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_t_5 = ((!(__pyx_t_4 != 0)) != 0); if (__pyx_t_5) { - /* "bincount.pyx":1186 + /* "bincount.pyx":1191 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1187 + /* "bincount.pyx":1192 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -18043,18 +18185,18 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_t_5 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_5) { - /* "bincount.pyx":1189 + /* "bincount.pyx":1194 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[ci, ain] += wt * return y, nans */ - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1189; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1189; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_27 = PyTuple_New(2); if (unlikely(!__pyx_t_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1189; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_27 = PyTuple_New(2); if (unlikely(!__pyx_t_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); @@ -18063,30 +18205,30 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = 0; __pyx_t_2 = 0; - /* "bincount.pyx":1188 + /* "bincount.pyx":1193 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[ci, ain] += wt */ - __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_27); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_27); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; - __pyx_t_27 = PyTuple_New(1); if (unlikely(!__pyx_t_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_27 = PyTuple_New(1); if (unlikely(!__pyx_t_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_27, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_27, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1190 + /* "bincount.pyx":1195 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[ci, ain] += wt # <<<<<<<<<<<<<< @@ -18103,7 +18245,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED } } - /* "bincount.pyx":1191 + /* "bincount.pyx":1196 * (ain, max_val)) * y[ci, ain] += wt * return y, nans # <<<<<<<<<<<<<< @@ -18111,7 +18253,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_y)); @@ -18123,7 +18265,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_t_2 = 0; goto __pyx_L0; - /* "bincount.pyx":1149 + /* "bincount.pyx":1154 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float32_axisNone(object a, # <<<<<<<<<<<<<< @@ -18168,7 +18310,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED return __pyx_r; } -/* "bincount.pyx":1197 +/* "bincount.pyx":1202 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float64_axisNone(object a, # <<<<<<<<<<<<<< @@ -18195,7 +18337,7 @@ static PyObject *__pyx_pw_8bincount_45bincount_0d_float64_axisNone(PyObject *__p static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":1199 + /* "bincount.pyx":1204 * def bincount_0d_float64_axisNone(object a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -18204,7 +18346,7 @@ static PyObject *__pyx_pw_8bincount_45bincount_0d_float64_axisNone(PyObject *__p */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":1200 + /* "bincount.pyx":1205 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -18231,7 +18373,7 @@ static PyObject *__pyx_pw_8bincount_45bincount_0d_float64_axisNone(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_0d_float64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_float64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -18245,7 +18387,7 @@ static PyObject *__pyx_pw_8bincount_45bincount_0d_float64_axisNone(PyObject *__p } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -18258,23 +18400,23 @@ static PyObject *__pyx_pw_8bincount_45bincount_0d_float64_axisNone(PyObject *__p } } __pyx_v_a = values[0]; - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_0d_float64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_float64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_0d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_44bincount_0d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":1197 + /* "bincount.pyx":1202 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float64_axisNone(object a, # <<<<<<<<<<<<<< @@ -18385,48 +18527,48 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":1205 + /* "bincount.pyx":1210 * * cdef: * Py_ssize_t n_rows = a.shape[0] # <<<<<<<<<<<<<< * Py_ssize_t n_cols = a.shape[1] * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_n_rows = __pyx_t_3; - /* "bincount.pyx":1206 + /* "bincount.pyx":1211 * cdef: * Py_ssize_t n_rows = a.shape[0] * Py_ssize_t n_cols = a.shape[1] # <<<<<<<<<<<<<< * * if w is not None and len(w) != n_rows: */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n_cols = __pyx_t_3; - /* "bincount.pyx":1208 + /* "bincount.pyx":1213 * Py_ssize_t n_cols = a.shape[1] * * if w is not None and len(w) != n_rows: # <<<<<<<<<<<<<< @@ -18442,27 +18584,27 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = ((__pyx_t_3 != __pyx_v_n_rows) != 0); __pyx_t_4 = __pyx_t_6; __pyx_L4_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":1209 + /* "bincount.pyx":1214 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__56, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__58, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1212 + /* "bincount.pyx":1217 * * cdef: * np.npy_intp *dims = [n_cols, max_val+1] # <<<<<<<<<<<<<< @@ -18473,22 +18615,22 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":1213 + /* "bincount.pyx":1218 * cdef: * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) * float wt */ - __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -18496,22 +18638,22 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1214 + /* "bincount.pyx":1219 * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * float wt * */ - __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_9 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -18519,22 +18661,22 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_v_nans = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1217 + /* "bincount.pyx":1222 * float wt * * np.ndarray[np.float64_t, ndim=1] data = a.data # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_data.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_data = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_data.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_data.diminfo[0].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_data.diminfo[0].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[0]; } } @@ -18542,22 +18684,22 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_v_data = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1218 + /* "bincount.pyx":1223 * * np.ndarray[np.float64_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_11 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indices.diminfo[0].strides = __pyx_pybuffernd_indices.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indices.diminfo[0].shape = __pyx_pybuffernd_indices.rcbuffer->pybuffer.shape[0]; } } @@ -18565,22 +18707,22 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_v_indices = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1219 + /* "bincount.pyx":1224 * np.ndarray[np.float64_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr # <<<<<<<<<<<<<< * int ri, i, ci * np.float64_t ai */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_12 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indptr.rcbuffer->pybuffer, (PyObject*)__pyx_t_12, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indptr = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indptr.diminfo[0].strides = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indptr.diminfo[0].shape = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.shape[0]; } } @@ -18588,24 +18730,24 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_v_indptr = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1223 + /* "bincount.pyx":1228 * np.float64_t ai * int ain * for ri in range(a.shape[0]): # <<<<<<<<<<<<<< * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_ri = __pyx_t_14; - /* "bincount.pyx":1224 + /* "bincount.pyx":1229 * int ain * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] # <<<<<<<<<<<<<< @@ -18621,7 +18763,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED } __pyx_v_wt = __pyx_t_15; - /* "bincount.pyx":1225 + /* "bincount.pyx":1230 * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): # <<<<<<<<<<<<<< @@ -18634,7 +18776,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED for (__pyx_t_20 = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_indptr.diminfo[0].strides)); __pyx_t_20 < __pyx_t_18; __pyx_t_20+=1) { __pyx_v_i = __pyx_t_20; - /* "bincount.pyx":1226 + /* "bincount.pyx":1231 * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] # <<<<<<<<<<<<<< @@ -18644,7 +18786,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_t_21 = __pyx_v_i; __pyx_v_ci = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_indices.diminfo[0].strides)); - /* "bincount.pyx":1227 + /* "bincount.pyx":1232 * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] * if mask is None or mask[ci]: # <<<<<<<<<<<<<< @@ -18666,7 +18808,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_L11_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":1228 + /* "bincount.pyx":1233 * ci = indices[i] * if mask is None or mask[ci]: * ai = data[i] # <<<<<<<<<<<<<< @@ -18676,7 +18818,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_t_23 = __pyx_v_i; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_data.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_data.diminfo[0].strides)); - /* "bincount.pyx":1229 + /* "bincount.pyx":1234 * if mask is None or mask[ci]: * ai = data[i] * if ai != ai: # <<<<<<<<<<<<<< @@ -18686,7 +18828,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_t_4 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "bincount.pyx":1230 + /* "bincount.pyx":1235 * ai = data[i] * if ai != ai: * nans[indices[i]] += wt # <<<<<<<<<<<<<< @@ -18697,7 +18839,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_t_25 = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_indices.diminfo[0].strides)); *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_nans.diminfo[0].strides) += __pyx_v_wt; - /* "bincount.pyx":1231 + /* "bincount.pyx":1236 * if ai != ai: * nans[indices[i]] += wt * continue # <<<<<<<<<<<<<< @@ -18707,7 +18849,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED goto __pyx_L8_continue; } - /* "bincount.pyx":1232 + /* "bincount.pyx":1237 * nans[indices[i]] += wt * continue * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -18716,7 +18858,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":1233 + /* "bincount.pyx":1238 * continue * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -18731,32 +18873,32 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_t_5 = ((!(__pyx_t_4 != 0)) != 0); if (__pyx_t_5) { - /* "bincount.pyx":1234 + /* "bincount.pyx":1239 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1235 + /* "bincount.pyx":1240 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -18766,18 +18908,18 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_t_5 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_5) { - /* "bincount.pyx":1237 + /* "bincount.pyx":1242 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[ci, ain] += wt * return y, nans */ - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_27 = PyTuple_New(2); if (unlikely(!__pyx_t_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_27 = PyTuple_New(2); if (unlikely(!__pyx_t_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); @@ -18786,30 +18928,30 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = 0; __pyx_t_2 = 0; - /* "bincount.pyx":1236 + /* "bincount.pyx":1241 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[ci, ain] += wt */ - __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_27); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_27); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; - __pyx_t_27 = PyTuple_New(1); if (unlikely(!__pyx_t_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_27 = PyTuple_New(1); if (unlikely(!__pyx_t_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_27, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_27, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1238 + /* "bincount.pyx":1243 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[ci, ain] += wt # <<<<<<<<<<<<<< @@ -18826,7 +18968,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED } } - /* "bincount.pyx":1239 + /* "bincount.pyx":1244 * (ain, max_val)) * y[ci, ain] += wt * return y, nans # <<<<<<<<<<<<<< @@ -18834,7 +18976,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_y)); @@ -18846,7 +18988,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_t_2 = 0; goto __pyx_L0; - /* "bincount.pyx":1197 + /* "bincount.pyx":1202 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float64_axisNone(object a, # <<<<<<<<<<<<<< @@ -18891,7 +19033,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED return __pyx_r; } -/* "bincount.pyx":1273 +/* "bincount.pyx":1278 * bincount_dict[(0, NPY_float64, None)] = bincount_0d_float64_axisNone * * def bincount_slow_axis0(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -18936,21 +19078,21 @@ static PyObject *__pyx_pw_8bincount_47bincount_slow_axis0(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis0", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis0", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis0", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis0", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis0", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis0", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -18967,7 +19109,7 @@ static PyObject *__pyx_pw_8bincount_47bincount_slow_axis0(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis0", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis0", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -18992,7 +19134,7 @@ static PyObject *__pyx_pf_8bincount_46bincount_slow_axis0(CYTHON_UNUSED PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis0", 0); - /* "bincount.pyx":1275 + /* "bincount.pyx":1280 * def bincount_slow_axis0(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 0." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -19000,15 +19142,15 @@ static PyObject *__pyx_pf_8bincount_46bincount_slow_axis0(CYTHON_UNUSED PyObject * def bincount_slow_axis1(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -19016,11 +19158,11 @@ static PyObject *__pyx_pf_8bincount_46bincount_slow_axis0(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -19029,7 +19171,7 @@ static PyObject *__pyx_pf_8bincount_46bincount_slow_axis0(CYTHON_UNUSED PyObject __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1273 + /* "bincount.pyx":1278 * bincount_dict[(0, NPY_float64, None)] = bincount_0d_float64_axisNone * * def bincount_slow_axis0(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19051,7 +19193,7 @@ static PyObject *__pyx_pf_8bincount_46bincount_slow_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "bincount.pyx":1277 +/* "bincount.pyx":1282 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis1(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19096,21 +19238,21 @@ static PyObject *__pyx_pw_8bincount_49bincount_slow_axis1(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis1", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis1", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis1", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis1", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis1", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis1", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -19127,7 +19269,7 @@ static PyObject *__pyx_pw_8bincount_49bincount_slow_axis1(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis1", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis1", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -19152,7 +19294,7 @@ static PyObject *__pyx_pf_8bincount_48bincount_slow_axis1(CYTHON_UNUSED PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis1", 0); - /* "bincount.pyx":1279 + /* "bincount.pyx":1284 * def bincount_slow_axis1(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 1." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -19160,15 +19302,15 @@ static PyObject *__pyx_pf_8bincount_48bincount_slow_axis1(CYTHON_UNUSED PyObject * def bincount_slow_axis2(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -19176,11 +19318,11 @@ static PyObject *__pyx_pf_8bincount_48bincount_slow_axis1(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -19189,7 +19331,7 @@ static PyObject *__pyx_pf_8bincount_48bincount_slow_axis1(CYTHON_UNUSED PyObject __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1277 + /* "bincount.pyx":1282 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis1(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19211,7 +19353,7 @@ static PyObject *__pyx_pf_8bincount_48bincount_slow_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "bincount.pyx":1281 +/* "bincount.pyx":1286 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis2(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19256,21 +19398,21 @@ static PyObject *__pyx_pw_8bincount_51bincount_slow_axis2(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis2", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis2", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis2", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis2", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis2", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis2", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -19287,7 +19429,7 @@ static PyObject *__pyx_pw_8bincount_51bincount_slow_axis2(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis2", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis2", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -19312,7 +19454,7 @@ static PyObject *__pyx_pf_8bincount_50bincount_slow_axis2(CYTHON_UNUSED PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis2", 0); - /* "bincount.pyx":1283 + /* "bincount.pyx":1288 * def bincount_slow_axis2(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 2." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -19320,15 +19462,15 @@ static PyObject *__pyx_pf_8bincount_50bincount_slow_axis2(CYTHON_UNUSED PyObject * def bincount_slow_axis3(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -19336,11 +19478,11 @@ static PyObject *__pyx_pf_8bincount_50bincount_slow_axis2(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -19349,7 +19491,7 @@ static PyObject *__pyx_pf_8bincount_50bincount_slow_axis2(CYTHON_UNUSED PyObject __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1281 + /* "bincount.pyx":1286 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis2(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19371,7 +19513,7 @@ static PyObject *__pyx_pf_8bincount_50bincount_slow_axis2(CYTHON_UNUSED PyObject return __pyx_r; } -/* "bincount.pyx":1285 +/* "bincount.pyx":1290 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis3(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19416,21 +19558,21 @@ static PyObject *__pyx_pw_8bincount_53bincount_slow_axis3(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis3", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis3", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis3", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis3", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis3", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis3", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis3") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis3") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -19447,7 +19589,7 @@ static PyObject *__pyx_pw_8bincount_53bincount_slow_axis3(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis3", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis3", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis3", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -19472,7 +19614,7 @@ static PyObject *__pyx_pf_8bincount_52bincount_slow_axis3(CYTHON_UNUSED PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis3", 0); - /* "bincount.pyx":1287 + /* "bincount.pyx":1292 * def bincount_slow_axis3(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 3." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -19480,15 +19622,15 @@ static PyObject *__pyx_pf_8bincount_52bincount_slow_axis3(CYTHON_UNUSED PyObject * def bincount_slow_axis4(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -19496,11 +19638,11 @@ static PyObject *__pyx_pf_8bincount_52bincount_slow_axis3(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -19509,7 +19651,7 @@ static PyObject *__pyx_pf_8bincount_52bincount_slow_axis3(CYTHON_UNUSED PyObject __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1285 + /* "bincount.pyx":1290 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis3(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19531,7 +19673,7 @@ static PyObject *__pyx_pf_8bincount_52bincount_slow_axis3(CYTHON_UNUSED PyObject return __pyx_r; } -/* "bincount.pyx":1289 +/* "bincount.pyx":1294 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis4(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19576,21 +19718,21 @@ static PyObject *__pyx_pw_8bincount_55bincount_slow_axis4(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis4", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis4", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis4", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis4", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis4", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis4", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis4") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis4") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -19607,7 +19749,7 @@ static PyObject *__pyx_pw_8bincount_55bincount_slow_axis4(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis4", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis4", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis4", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -19632,7 +19774,7 @@ static PyObject *__pyx_pf_8bincount_54bincount_slow_axis4(CYTHON_UNUSED PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis4", 0); - /* "bincount.pyx":1291 + /* "bincount.pyx":1296 * def bincount_slow_axis4(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 4." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -19640,15 +19782,15 @@ static PyObject *__pyx_pf_8bincount_54bincount_slow_axis4(CYTHON_UNUSED PyObject * def bincount_slow_axis5(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -19656,11 +19798,11 @@ static PyObject *__pyx_pf_8bincount_54bincount_slow_axis4(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -19669,7 +19811,7 @@ static PyObject *__pyx_pf_8bincount_54bincount_slow_axis4(CYTHON_UNUSED PyObject __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1289 + /* "bincount.pyx":1294 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis4(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19691,7 +19833,7 @@ static PyObject *__pyx_pf_8bincount_54bincount_slow_axis4(CYTHON_UNUSED PyObject return __pyx_r; } -/* "bincount.pyx":1293 +/* "bincount.pyx":1298 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis5(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19736,21 +19878,21 @@ static PyObject *__pyx_pw_8bincount_57bincount_slow_axis5(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis5", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis5", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1298; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis5", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis5", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1298; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis5", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis5", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1298; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis5") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis5") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1298; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -19767,7 +19909,7 @@ static PyObject *__pyx_pw_8bincount_57bincount_slow_axis5(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis5", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis5", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1298; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis5", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -19792,7 +19934,7 @@ static PyObject *__pyx_pf_8bincount_56bincount_slow_axis5(CYTHON_UNUSED PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis5", 0); - /* "bincount.pyx":1295 + /* "bincount.pyx":1300 * def bincount_slow_axis5(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 5." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -19800,15 +19942,15 @@ static PyObject *__pyx_pf_8bincount_56bincount_slow_axis5(CYTHON_UNUSED PyObject * def bincount_slow_axis6(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -19816,11 +19958,11 @@ static PyObject *__pyx_pf_8bincount_56bincount_slow_axis5(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -19829,7 +19971,7 @@ static PyObject *__pyx_pf_8bincount_56bincount_slow_axis5(CYTHON_UNUSED PyObject __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1293 + /* "bincount.pyx":1298 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis5(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19851,7 +19993,7 @@ static PyObject *__pyx_pf_8bincount_56bincount_slow_axis5(CYTHON_UNUSED PyObject return __pyx_r; } -/* "bincount.pyx":1297 +/* "bincount.pyx":1302 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis6(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19896,21 +20038,21 @@ static PyObject *__pyx_pw_8bincount_59bincount_slow_axis6(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis6", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis6", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis6", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis6", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis6", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis6", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis6") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis6") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -19927,7 +20069,7 @@ static PyObject *__pyx_pw_8bincount_59bincount_slow_axis6(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis6", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis6", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis6", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -19952,7 +20094,7 @@ static PyObject *__pyx_pf_8bincount_58bincount_slow_axis6(CYTHON_UNUSED PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis6", 0); - /* "bincount.pyx":1299 + /* "bincount.pyx":1304 * def bincount_slow_axis6(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 6." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -19960,15 +20102,15 @@ static PyObject *__pyx_pf_8bincount_58bincount_slow_axis6(CYTHON_UNUSED PyObject * def bincount_slow_axis7(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -19976,11 +20118,11 @@ static PyObject *__pyx_pf_8bincount_58bincount_slow_axis6(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -19989,7 +20131,7 @@ static PyObject *__pyx_pf_8bincount_58bincount_slow_axis6(CYTHON_UNUSED PyObject __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1297 + /* "bincount.pyx":1302 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis6(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20011,7 +20153,7 @@ static PyObject *__pyx_pf_8bincount_58bincount_slow_axis6(CYTHON_UNUSED PyObject return __pyx_r; } -/* "bincount.pyx":1301 +/* "bincount.pyx":1306 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis7(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20056,21 +20198,21 @@ static PyObject *__pyx_pw_8bincount_61bincount_slow_axis7(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis7", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis7", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis7", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis7", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis7", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis7", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis7") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis7") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -20087,7 +20229,7 @@ static PyObject *__pyx_pw_8bincount_61bincount_slow_axis7(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis7", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis7", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis7", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -20112,7 +20254,7 @@ static PyObject *__pyx_pf_8bincount_60bincount_slow_axis7(CYTHON_UNUSED PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis7", 0); - /* "bincount.pyx":1303 + /* "bincount.pyx":1308 * def bincount_slow_axis7(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 7." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -20120,15 +20262,15 @@ static PyObject *__pyx_pf_8bincount_60bincount_slow_axis7(CYTHON_UNUSED PyObject * def bincount_slow_axis8(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -20136,11 +20278,11 @@ static PyObject *__pyx_pf_8bincount_60bincount_slow_axis7(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -20149,7 +20291,7 @@ static PyObject *__pyx_pf_8bincount_60bincount_slow_axis7(CYTHON_UNUSED PyObject __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1301 + /* "bincount.pyx":1306 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis7(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20171,7 +20313,7 @@ static PyObject *__pyx_pf_8bincount_60bincount_slow_axis7(CYTHON_UNUSED PyObject return __pyx_r; } -/* "bincount.pyx":1305 +/* "bincount.pyx":1310 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis8(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20216,21 +20358,21 @@ static PyObject *__pyx_pw_8bincount_63bincount_slow_axis8(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis8", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis8", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis8", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis8", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis8", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis8", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis8") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis8") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -20247,7 +20389,7 @@ static PyObject *__pyx_pw_8bincount_63bincount_slow_axis8(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis8", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis8", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis8", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -20272,7 +20414,7 @@ static PyObject *__pyx_pf_8bincount_62bincount_slow_axis8(CYTHON_UNUSED PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis8", 0); - /* "bincount.pyx":1307 + /* "bincount.pyx":1312 * def bincount_slow_axis8(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 8." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -20280,15 +20422,15 @@ static PyObject *__pyx_pf_8bincount_62bincount_slow_axis8(CYTHON_UNUSED PyObject * def bincount_slow_axis9(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -20296,11 +20438,11 @@ static PyObject *__pyx_pf_8bincount_62bincount_slow_axis8(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -20309,7 +20451,7 @@ static PyObject *__pyx_pf_8bincount_62bincount_slow_axis8(CYTHON_UNUSED PyObject __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1305 + /* "bincount.pyx":1310 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis8(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20331,7 +20473,7 @@ static PyObject *__pyx_pf_8bincount_62bincount_slow_axis8(CYTHON_UNUSED PyObject return __pyx_r; } -/* "bincount.pyx":1309 +/* "bincount.pyx":1314 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis9(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20376,21 +20518,21 @@ static PyObject *__pyx_pw_8bincount_65bincount_slow_axis9(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis9", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis9", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis9", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis9", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis9", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis9", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis9") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis9") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -20407,7 +20549,7 @@ static PyObject *__pyx_pw_8bincount_65bincount_slow_axis9(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis9", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis9", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis9", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -20432,7 +20574,7 @@ static PyObject *__pyx_pf_8bincount_64bincount_slow_axis9(CYTHON_UNUSED PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis9", 0); - /* "bincount.pyx":1311 + /* "bincount.pyx":1316 * def bincount_slow_axis9(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 9." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -20440,15 +20582,15 @@ static PyObject *__pyx_pf_8bincount_64bincount_slow_axis9(CYTHON_UNUSED PyObject * def bincount_slow_axis10(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -20456,11 +20598,11 @@ static PyObject *__pyx_pf_8bincount_64bincount_slow_axis9(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -20469,7 +20611,7 @@ static PyObject *__pyx_pf_8bincount_64bincount_slow_axis9(CYTHON_UNUSED PyObject __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1309 + /* "bincount.pyx":1314 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis9(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20491,7 +20633,7 @@ static PyObject *__pyx_pf_8bincount_64bincount_slow_axis9(CYTHON_UNUSED PyObject return __pyx_r; } -/* "bincount.pyx":1313 +/* "bincount.pyx":1318 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis10(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20536,21 +20678,21 @@ static PyObject *__pyx_pw_8bincount_67bincount_slow_axis10(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis10", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis10", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis10", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis10", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis10", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis10", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis10") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis10") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -20567,7 +20709,7 @@ static PyObject *__pyx_pw_8bincount_67bincount_slow_axis10(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis10", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis10", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis10", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -20592,7 +20734,7 @@ static PyObject *__pyx_pf_8bincount_66bincount_slow_axis10(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis10", 0); - /* "bincount.pyx":1315 + /* "bincount.pyx":1320 * def bincount_slow_axis10(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 10." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -20600,15 +20742,15 @@ static PyObject *__pyx_pf_8bincount_66bincount_slow_axis10(CYTHON_UNUSED PyObjec * def bincount_slow_axis11(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -20616,11 +20758,11 @@ static PyObject *__pyx_pf_8bincount_66bincount_slow_axis10(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -20629,7 +20771,7 @@ static PyObject *__pyx_pf_8bincount_66bincount_slow_axis10(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1313 + /* "bincount.pyx":1318 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis10(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20651,7 +20793,7 @@ static PyObject *__pyx_pf_8bincount_66bincount_slow_axis10(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1317 +/* "bincount.pyx":1322 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis11(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20696,21 +20838,21 @@ static PyObject *__pyx_pw_8bincount_69bincount_slow_axis11(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis11", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis11", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis11", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis11", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis11", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis11", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis11") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis11") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -20727,7 +20869,7 @@ static PyObject *__pyx_pw_8bincount_69bincount_slow_axis11(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis11", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis11", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis11", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -20752,7 +20894,7 @@ static PyObject *__pyx_pf_8bincount_68bincount_slow_axis11(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis11", 0); - /* "bincount.pyx":1319 + /* "bincount.pyx":1324 * def bincount_slow_axis11(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 11." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -20760,15 +20902,15 @@ static PyObject *__pyx_pf_8bincount_68bincount_slow_axis11(CYTHON_UNUSED PyObjec * def bincount_slow_axis12(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -20776,11 +20918,11 @@ static PyObject *__pyx_pf_8bincount_68bincount_slow_axis11(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -20789,7 +20931,7 @@ static PyObject *__pyx_pf_8bincount_68bincount_slow_axis11(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1317 + /* "bincount.pyx":1322 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis11(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20811,7 +20953,7 @@ static PyObject *__pyx_pf_8bincount_68bincount_slow_axis11(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1321 +/* "bincount.pyx":1326 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis12(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20856,21 +20998,21 @@ static PyObject *__pyx_pw_8bincount_71bincount_slow_axis12(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis12", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis12", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis12", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis12", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis12", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis12", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis12") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis12") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -20887,7 +21029,7 @@ static PyObject *__pyx_pw_8bincount_71bincount_slow_axis12(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis12", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis12", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis12", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -20912,7 +21054,7 @@ static PyObject *__pyx_pf_8bincount_70bincount_slow_axis12(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis12", 0); - /* "bincount.pyx":1323 + /* "bincount.pyx":1328 * def bincount_slow_axis12(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 12." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -20920,15 +21062,15 @@ static PyObject *__pyx_pf_8bincount_70bincount_slow_axis12(CYTHON_UNUSED PyObjec * def bincount_slow_axis13(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -20936,11 +21078,11 @@ static PyObject *__pyx_pf_8bincount_70bincount_slow_axis12(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -20949,7 +21091,7 @@ static PyObject *__pyx_pf_8bincount_70bincount_slow_axis12(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1321 + /* "bincount.pyx":1326 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis12(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20971,7 +21113,7 @@ static PyObject *__pyx_pf_8bincount_70bincount_slow_axis12(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1325 +/* "bincount.pyx":1330 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis13(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21016,21 +21158,21 @@ static PyObject *__pyx_pw_8bincount_73bincount_slow_axis13(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis13", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis13", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis13", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis13", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis13", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis13", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis13") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis13") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -21047,7 +21189,7 @@ static PyObject *__pyx_pw_8bincount_73bincount_slow_axis13(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis13", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis13", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis13", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -21072,7 +21214,7 @@ static PyObject *__pyx_pf_8bincount_72bincount_slow_axis13(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis13", 0); - /* "bincount.pyx":1327 + /* "bincount.pyx":1332 * def bincount_slow_axis13(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 13." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -21080,15 +21222,15 @@ static PyObject *__pyx_pf_8bincount_72bincount_slow_axis13(CYTHON_UNUSED PyObjec * def bincount_slow_axis14(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -21096,11 +21238,11 @@ static PyObject *__pyx_pf_8bincount_72bincount_slow_axis13(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -21109,7 +21251,7 @@ static PyObject *__pyx_pf_8bincount_72bincount_slow_axis13(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1325 + /* "bincount.pyx":1330 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis13(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21131,7 +21273,7 @@ static PyObject *__pyx_pf_8bincount_72bincount_slow_axis13(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1329 +/* "bincount.pyx":1334 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis14(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21176,21 +21318,21 @@ static PyObject *__pyx_pw_8bincount_75bincount_slow_axis14(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis14", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis14", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis14", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis14", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis14", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis14", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis14") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis14") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -21207,7 +21349,7 @@ static PyObject *__pyx_pw_8bincount_75bincount_slow_axis14(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis14", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis14", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis14", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -21232,7 +21374,7 @@ static PyObject *__pyx_pf_8bincount_74bincount_slow_axis14(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis14", 0); - /* "bincount.pyx":1331 + /* "bincount.pyx":1336 * def bincount_slow_axis14(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 14." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -21240,15 +21382,15 @@ static PyObject *__pyx_pf_8bincount_74bincount_slow_axis14(CYTHON_UNUSED PyObjec * def bincount_slow_axis15(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -21256,11 +21398,11 @@ static PyObject *__pyx_pf_8bincount_74bincount_slow_axis14(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -21269,7 +21411,7 @@ static PyObject *__pyx_pf_8bincount_74bincount_slow_axis14(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1329 + /* "bincount.pyx":1334 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis14(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21291,7 +21433,7 @@ static PyObject *__pyx_pf_8bincount_74bincount_slow_axis14(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1333 +/* "bincount.pyx":1338 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis15(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21336,21 +21478,21 @@ static PyObject *__pyx_pw_8bincount_77bincount_slow_axis15(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis15", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis15", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis15", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis15", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis15", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis15", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis15") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis15") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -21367,7 +21509,7 @@ static PyObject *__pyx_pw_8bincount_77bincount_slow_axis15(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis15", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis15", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis15", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -21392,7 +21534,7 @@ static PyObject *__pyx_pf_8bincount_76bincount_slow_axis15(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis15", 0); - /* "bincount.pyx":1335 + /* "bincount.pyx":1340 * def bincount_slow_axis15(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 15." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -21400,15 +21542,15 @@ static PyObject *__pyx_pf_8bincount_76bincount_slow_axis15(CYTHON_UNUSED PyObjec * def bincount_slow_axis16(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -21416,11 +21558,11 @@ static PyObject *__pyx_pf_8bincount_76bincount_slow_axis15(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -21429,7 +21571,7 @@ static PyObject *__pyx_pf_8bincount_76bincount_slow_axis15(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1333 + /* "bincount.pyx":1338 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis15(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21451,7 +21593,7 @@ static PyObject *__pyx_pf_8bincount_76bincount_slow_axis15(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1337 +/* "bincount.pyx":1342 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis16(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21496,21 +21638,21 @@ static PyObject *__pyx_pw_8bincount_79bincount_slow_axis16(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis16", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis16", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis16", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis16", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis16", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis16", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis16") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis16") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -21527,7 +21669,7 @@ static PyObject *__pyx_pw_8bincount_79bincount_slow_axis16(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis16", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis16", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis16", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -21552,7 +21694,7 @@ static PyObject *__pyx_pf_8bincount_78bincount_slow_axis16(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis16", 0); - /* "bincount.pyx":1339 + /* "bincount.pyx":1344 * def bincount_slow_axis16(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 16." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -21560,15 +21702,15 @@ static PyObject *__pyx_pf_8bincount_78bincount_slow_axis16(CYTHON_UNUSED PyObjec * def bincount_slow_axis17(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -21576,11 +21718,11 @@ static PyObject *__pyx_pf_8bincount_78bincount_slow_axis16(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -21589,7 +21731,7 @@ static PyObject *__pyx_pf_8bincount_78bincount_slow_axis16(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1337 + /* "bincount.pyx":1342 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis16(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21611,7 +21753,7 @@ static PyObject *__pyx_pf_8bincount_78bincount_slow_axis16(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1341 +/* "bincount.pyx":1346 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis17(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21656,21 +21798,21 @@ static PyObject *__pyx_pw_8bincount_81bincount_slow_axis17(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis17", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis17", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis17", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis17", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis17", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis17", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis17") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis17") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -21687,7 +21829,7 @@ static PyObject *__pyx_pw_8bincount_81bincount_slow_axis17(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis17", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis17", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis17", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -21712,7 +21854,7 @@ static PyObject *__pyx_pf_8bincount_80bincount_slow_axis17(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis17", 0); - /* "bincount.pyx":1343 + /* "bincount.pyx":1348 * def bincount_slow_axis17(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 17." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -21720,15 +21862,15 @@ static PyObject *__pyx_pf_8bincount_80bincount_slow_axis17(CYTHON_UNUSED PyObjec * def bincount_slow_axis18(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -21736,11 +21878,11 @@ static PyObject *__pyx_pf_8bincount_80bincount_slow_axis17(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -21749,7 +21891,7 @@ static PyObject *__pyx_pf_8bincount_80bincount_slow_axis17(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1341 + /* "bincount.pyx":1346 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis17(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21771,7 +21913,7 @@ static PyObject *__pyx_pf_8bincount_80bincount_slow_axis17(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1345 +/* "bincount.pyx":1350 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis18(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21816,21 +21958,21 @@ static PyObject *__pyx_pw_8bincount_83bincount_slow_axis18(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis18", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis18", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis18", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis18", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis18", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis18", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis18") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis18") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -21847,7 +21989,7 @@ static PyObject *__pyx_pw_8bincount_83bincount_slow_axis18(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis18", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis18", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis18", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -21872,7 +22014,7 @@ static PyObject *__pyx_pf_8bincount_82bincount_slow_axis18(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis18", 0); - /* "bincount.pyx":1347 + /* "bincount.pyx":1352 * def bincount_slow_axis18(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 18." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -21880,15 +22022,15 @@ static PyObject *__pyx_pf_8bincount_82bincount_slow_axis18(CYTHON_UNUSED PyObjec * def bincount_slow_axis19(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -21896,11 +22038,11 @@ static PyObject *__pyx_pf_8bincount_82bincount_slow_axis18(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -21909,7 +22051,7 @@ static PyObject *__pyx_pf_8bincount_82bincount_slow_axis18(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1345 + /* "bincount.pyx":1350 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis18(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21931,7 +22073,7 @@ static PyObject *__pyx_pf_8bincount_82bincount_slow_axis18(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1349 +/* "bincount.pyx":1354 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis19(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21976,21 +22118,21 @@ static PyObject *__pyx_pw_8bincount_85bincount_slow_axis19(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis19", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis19", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis19", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis19", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis19", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis19", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis19") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis19") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -22007,7 +22149,7 @@ static PyObject *__pyx_pw_8bincount_85bincount_slow_axis19(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis19", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis19", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis19", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -22032,7 +22174,7 @@ static PyObject *__pyx_pf_8bincount_84bincount_slow_axis19(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis19", 0); - /* "bincount.pyx":1351 + /* "bincount.pyx":1356 * def bincount_slow_axis19(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 19." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -22040,15 +22182,15 @@ static PyObject *__pyx_pf_8bincount_84bincount_slow_axis19(CYTHON_UNUSED PyObjec * def bincount_slow_axis20(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -22056,11 +22198,11 @@ static PyObject *__pyx_pf_8bincount_84bincount_slow_axis19(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -22069,7 +22211,7 @@ static PyObject *__pyx_pf_8bincount_84bincount_slow_axis19(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1349 + /* "bincount.pyx":1354 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis19(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22091,7 +22233,7 @@ static PyObject *__pyx_pf_8bincount_84bincount_slow_axis19(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1353 +/* "bincount.pyx":1358 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis20(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22136,21 +22278,21 @@ static PyObject *__pyx_pw_8bincount_87bincount_slow_axis20(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis20", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis20", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis20", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis20", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis20", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis20", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis20") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis20") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -22167,7 +22309,7 @@ static PyObject *__pyx_pw_8bincount_87bincount_slow_axis20(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis20", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis20", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis20", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -22192,7 +22334,7 @@ static PyObject *__pyx_pf_8bincount_86bincount_slow_axis20(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis20", 0); - /* "bincount.pyx":1355 + /* "bincount.pyx":1360 * def bincount_slow_axis20(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 20." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -22200,15 +22342,15 @@ static PyObject *__pyx_pf_8bincount_86bincount_slow_axis20(CYTHON_UNUSED PyObjec * def bincount_slow_axis21(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -22216,11 +22358,11 @@ static PyObject *__pyx_pf_8bincount_86bincount_slow_axis20(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -22229,7 +22371,7 @@ static PyObject *__pyx_pf_8bincount_86bincount_slow_axis20(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1353 + /* "bincount.pyx":1358 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis20(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22251,7 +22393,7 @@ static PyObject *__pyx_pf_8bincount_86bincount_slow_axis20(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1357 +/* "bincount.pyx":1362 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis21(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22296,21 +22438,21 @@ static PyObject *__pyx_pw_8bincount_89bincount_slow_axis21(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis21", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis21", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis21", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis21", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis21", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis21", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis21") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis21") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -22327,7 +22469,7 @@ static PyObject *__pyx_pw_8bincount_89bincount_slow_axis21(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis21", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis21", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis21", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -22352,7 +22494,7 @@ static PyObject *__pyx_pf_8bincount_88bincount_slow_axis21(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis21", 0); - /* "bincount.pyx":1359 + /* "bincount.pyx":1364 * def bincount_slow_axis21(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 21." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -22360,15 +22502,15 @@ static PyObject *__pyx_pf_8bincount_88bincount_slow_axis21(CYTHON_UNUSED PyObjec * def bincount_slow_axis22(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -22376,11 +22518,11 @@ static PyObject *__pyx_pf_8bincount_88bincount_slow_axis21(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -22389,7 +22531,7 @@ static PyObject *__pyx_pf_8bincount_88bincount_slow_axis21(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1357 + /* "bincount.pyx":1362 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis21(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22411,7 +22553,7 @@ static PyObject *__pyx_pf_8bincount_88bincount_slow_axis21(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1361 +/* "bincount.pyx":1366 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis22(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22456,21 +22598,21 @@ static PyObject *__pyx_pw_8bincount_91bincount_slow_axis22(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis22", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis22", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis22", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis22", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis22", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis22", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis22") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis22") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -22487,7 +22629,7 @@ static PyObject *__pyx_pw_8bincount_91bincount_slow_axis22(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis22", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis22", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis22", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -22512,7 +22654,7 @@ static PyObject *__pyx_pf_8bincount_90bincount_slow_axis22(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis22", 0); - /* "bincount.pyx":1363 + /* "bincount.pyx":1368 * def bincount_slow_axis22(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 22." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -22520,15 +22662,15 @@ static PyObject *__pyx_pf_8bincount_90bincount_slow_axis22(CYTHON_UNUSED PyObjec * def bincount_slow_axis23(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -22536,11 +22678,11 @@ static PyObject *__pyx_pf_8bincount_90bincount_slow_axis22(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -22549,7 +22691,7 @@ static PyObject *__pyx_pf_8bincount_90bincount_slow_axis22(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1361 + /* "bincount.pyx":1366 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis22(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22571,7 +22713,7 @@ static PyObject *__pyx_pf_8bincount_90bincount_slow_axis22(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1365 +/* "bincount.pyx":1370 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis23(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22616,21 +22758,21 @@ static PyObject *__pyx_pw_8bincount_93bincount_slow_axis23(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis23", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis23", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis23", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis23", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis23", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis23", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis23") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis23") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -22647,7 +22789,7 @@ static PyObject *__pyx_pw_8bincount_93bincount_slow_axis23(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis23", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis23", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis23", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -22672,7 +22814,7 @@ static PyObject *__pyx_pf_8bincount_92bincount_slow_axis23(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis23", 0); - /* "bincount.pyx":1367 + /* "bincount.pyx":1372 * def bincount_slow_axis23(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 23." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -22680,15 +22822,15 @@ static PyObject *__pyx_pf_8bincount_92bincount_slow_axis23(CYTHON_UNUSED PyObjec * def bincount_slow_axis24(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -22696,11 +22838,11 @@ static PyObject *__pyx_pf_8bincount_92bincount_slow_axis23(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -22709,7 +22851,7 @@ static PyObject *__pyx_pf_8bincount_92bincount_slow_axis23(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1365 + /* "bincount.pyx":1370 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis23(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22731,7 +22873,7 @@ static PyObject *__pyx_pf_8bincount_92bincount_slow_axis23(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1369 +/* "bincount.pyx":1374 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis24(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22776,21 +22918,21 @@ static PyObject *__pyx_pw_8bincount_95bincount_slow_axis24(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis24", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis24", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis24", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis24", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis24", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis24", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis24") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis24") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -22807,7 +22949,7 @@ static PyObject *__pyx_pw_8bincount_95bincount_slow_axis24(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis24", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis24", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis24", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -22832,7 +22974,7 @@ static PyObject *__pyx_pf_8bincount_94bincount_slow_axis24(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis24", 0); - /* "bincount.pyx":1371 + /* "bincount.pyx":1376 * def bincount_slow_axis24(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 24." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -22840,15 +22982,15 @@ static PyObject *__pyx_pf_8bincount_94bincount_slow_axis24(CYTHON_UNUSED PyObjec * def bincount_slow_axis25(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -22856,11 +22998,11 @@ static PyObject *__pyx_pf_8bincount_94bincount_slow_axis24(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -22869,7 +23011,7 @@ static PyObject *__pyx_pf_8bincount_94bincount_slow_axis24(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1369 + /* "bincount.pyx":1374 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis24(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22891,7 +23033,7 @@ static PyObject *__pyx_pf_8bincount_94bincount_slow_axis24(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1373 +/* "bincount.pyx":1378 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis25(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22936,21 +23078,21 @@ static PyObject *__pyx_pw_8bincount_97bincount_slow_axis25(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis25", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis25", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis25", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis25", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis25", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis25", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis25") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis25") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -22967,7 +23109,7 @@ static PyObject *__pyx_pw_8bincount_97bincount_slow_axis25(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis25", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis25", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis25", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -22992,7 +23134,7 @@ static PyObject *__pyx_pf_8bincount_96bincount_slow_axis25(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis25", 0); - /* "bincount.pyx":1375 + /* "bincount.pyx":1380 * def bincount_slow_axis25(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 25." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -23000,15 +23142,15 @@ static PyObject *__pyx_pf_8bincount_96bincount_slow_axis25(CYTHON_UNUSED PyObjec * def bincount_slow_axis26(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -23016,11 +23158,11 @@ static PyObject *__pyx_pf_8bincount_96bincount_slow_axis25(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -23029,7 +23171,7 @@ static PyObject *__pyx_pf_8bincount_96bincount_slow_axis25(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1373 + /* "bincount.pyx":1378 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis25(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23051,7 +23193,7 @@ static PyObject *__pyx_pf_8bincount_96bincount_slow_axis25(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1377 +/* "bincount.pyx":1382 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis26(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23096,21 +23238,21 @@ static PyObject *__pyx_pw_8bincount_99bincount_slow_axis26(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis26", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis26", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis26", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis26", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis26", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis26", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis26") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis26") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -23127,7 +23269,7 @@ static PyObject *__pyx_pw_8bincount_99bincount_slow_axis26(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis26", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis26", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis26", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -23152,7 +23294,7 @@ static PyObject *__pyx_pf_8bincount_98bincount_slow_axis26(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis26", 0); - /* "bincount.pyx":1379 + /* "bincount.pyx":1384 * def bincount_slow_axis26(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 26." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -23160,15 +23302,15 @@ static PyObject *__pyx_pf_8bincount_98bincount_slow_axis26(CYTHON_UNUSED PyObjec * def bincount_slow_axis27(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -23176,11 +23318,11 @@ static PyObject *__pyx_pf_8bincount_98bincount_slow_axis26(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -23189,7 +23331,7 @@ static PyObject *__pyx_pf_8bincount_98bincount_slow_axis26(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1377 + /* "bincount.pyx":1382 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis26(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23211,7 +23353,7 @@ static PyObject *__pyx_pf_8bincount_98bincount_slow_axis26(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1381 +/* "bincount.pyx":1386 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis27(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23256,21 +23398,21 @@ static PyObject *__pyx_pw_8bincount_101bincount_slow_axis27(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis27", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1381; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis27", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis27", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1381; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis27", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis27", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1381; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis27", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis27") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1381; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis27") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -23287,7 +23429,7 @@ static PyObject *__pyx_pw_8bincount_101bincount_slow_axis27(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis27", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1381; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis27", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis27", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -23312,7 +23454,7 @@ static PyObject *__pyx_pf_8bincount_100bincount_slow_axis27(CYTHON_UNUSED PyObje int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis27", 0); - /* "bincount.pyx":1383 + /* "bincount.pyx":1388 * def bincount_slow_axis27(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 27." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -23320,15 +23462,15 @@ static PyObject *__pyx_pf_8bincount_100bincount_slow_axis27(CYTHON_UNUSED PyObje * def bincount_slow_axis28(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -23336,11 +23478,11 @@ static PyObject *__pyx_pf_8bincount_100bincount_slow_axis27(CYTHON_UNUSED PyObje __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -23349,7 +23491,7 @@ static PyObject *__pyx_pf_8bincount_100bincount_slow_axis27(CYTHON_UNUSED PyObje __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1381 + /* "bincount.pyx":1386 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis27(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23371,7 +23513,7 @@ static PyObject *__pyx_pf_8bincount_100bincount_slow_axis27(CYTHON_UNUSED PyObje return __pyx_r; } -/* "bincount.pyx":1385 +/* "bincount.pyx":1390 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis28(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23416,21 +23558,21 @@ static PyObject *__pyx_pw_8bincount_103bincount_slow_axis28(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis28", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis28", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis28", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis28", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis28", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis28", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis28") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis28") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -23447,7 +23589,7 @@ static PyObject *__pyx_pw_8bincount_103bincount_slow_axis28(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis28", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis28", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis28", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -23472,7 +23614,7 @@ static PyObject *__pyx_pf_8bincount_102bincount_slow_axis28(CYTHON_UNUSED PyObje int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis28", 0); - /* "bincount.pyx":1387 + /* "bincount.pyx":1392 * def bincount_slow_axis28(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 28." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -23480,15 +23622,15 @@ static PyObject *__pyx_pf_8bincount_102bincount_slow_axis28(CYTHON_UNUSED PyObje * def bincount_slow_axis29(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -23496,11 +23638,11 @@ static PyObject *__pyx_pf_8bincount_102bincount_slow_axis28(CYTHON_UNUSED PyObje __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -23509,7 +23651,7 @@ static PyObject *__pyx_pf_8bincount_102bincount_slow_axis28(CYTHON_UNUSED PyObje __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1385 + /* "bincount.pyx":1390 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis28(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23531,7 +23673,7 @@ static PyObject *__pyx_pf_8bincount_102bincount_slow_axis28(CYTHON_UNUSED PyObje return __pyx_r; } -/* "bincount.pyx":1389 +/* "bincount.pyx":1394 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis29(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23576,21 +23718,21 @@ static PyObject *__pyx_pw_8bincount_105bincount_slow_axis29(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis29", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis29", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis29", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis29", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis29", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis29", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis29") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis29") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -23607,7 +23749,7 @@ static PyObject *__pyx_pw_8bincount_105bincount_slow_axis29(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis29", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis29", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis29", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -23632,7 +23774,7 @@ static PyObject *__pyx_pf_8bincount_104bincount_slow_axis29(CYTHON_UNUSED PyObje int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis29", 0); - /* "bincount.pyx":1391 + /* "bincount.pyx":1396 * def bincount_slow_axis29(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 29." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -23640,15 +23782,15 @@ static PyObject *__pyx_pf_8bincount_104bincount_slow_axis29(CYTHON_UNUSED PyObje * def bincount_slow_axis30(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -23656,11 +23798,11 @@ static PyObject *__pyx_pf_8bincount_104bincount_slow_axis29(CYTHON_UNUSED PyObje __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -23669,7 +23811,7 @@ static PyObject *__pyx_pf_8bincount_104bincount_slow_axis29(CYTHON_UNUSED PyObje __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1389 + /* "bincount.pyx":1394 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis29(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23691,7 +23833,7 @@ static PyObject *__pyx_pf_8bincount_104bincount_slow_axis29(CYTHON_UNUSED PyObje return __pyx_r; } -/* "bincount.pyx":1393 +/* "bincount.pyx":1398 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis30(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23736,21 +23878,21 @@ static PyObject *__pyx_pw_8bincount_107bincount_slow_axis30(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis30", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis30", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis30", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis30", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis30", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis30", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis30") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis30") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -23767,7 +23909,7 @@ static PyObject *__pyx_pw_8bincount_107bincount_slow_axis30(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis30", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis30", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis30", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -23792,7 +23934,7 @@ static PyObject *__pyx_pf_8bincount_106bincount_slow_axis30(CYTHON_UNUSED PyObje int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis30", 0); - /* "bincount.pyx":1395 + /* "bincount.pyx":1400 * def bincount_slow_axis30(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 30." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -23800,15 +23942,15 @@ static PyObject *__pyx_pf_8bincount_106bincount_slow_axis30(CYTHON_UNUSED PyObje * def bincount_slow_axis31(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -23816,11 +23958,11 @@ static PyObject *__pyx_pf_8bincount_106bincount_slow_axis30(CYTHON_UNUSED PyObje __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -23829,7 +23971,7 @@ static PyObject *__pyx_pf_8bincount_106bincount_slow_axis30(CYTHON_UNUSED PyObje __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1393 + /* "bincount.pyx":1398 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis30(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23851,7 +23993,7 @@ static PyObject *__pyx_pf_8bincount_106bincount_slow_axis30(CYTHON_UNUSED PyObje return __pyx_r; } -/* "bincount.pyx":1397 +/* "bincount.pyx":1402 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis31(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23896,21 +24038,21 @@ static PyObject *__pyx_pw_8bincount_109bincount_slow_axis31(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis31", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis31", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis31", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis31", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis31", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis31", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis31") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis31") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -23927,7 +24069,7 @@ static PyObject *__pyx_pw_8bincount_109bincount_slow_axis31(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis31", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis31", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis31", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -23952,7 +24094,7 @@ static PyObject *__pyx_pf_8bincount_108bincount_slow_axis31(CYTHON_UNUSED PyObje int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis31", 0); - /* "bincount.pyx":1399 + /* "bincount.pyx":1404 * def bincount_slow_axis31(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 31." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -23960,15 +24102,15 @@ static PyObject *__pyx_pf_8bincount_108bincount_slow_axis31(CYTHON_UNUSED PyObje * def bincount_slow_axis32(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -23976,11 +24118,11 @@ static PyObject *__pyx_pf_8bincount_108bincount_slow_axis31(CYTHON_UNUSED PyObje __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -23989,7 +24131,7 @@ static PyObject *__pyx_pf_8bincount_108bincount_slow_axis31(CYTHON_UNUSED PyObje __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1397 + /* "bincount.pyx":1402 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis31(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -24011,7 +24153,7 @@ static PyObject *__pyx_pf_8bincount_108bincount_slow_axis31(CYTHON_UNUSED PyObje return __pyx_r; } -/* "bincount.pyx":1401 +/* "bincount.pyx":1406 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis32(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -24056,21 +24198,21 @@ static PyObject *__pyx_pw_8bincount_111bincount_slow_axis32(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis32", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis32", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis32", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis32", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis32", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis32", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis32") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis32") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -24087,7 +24229,7 @@ static PyObject *__pyx_pw_8bincount_111bincount_slow_axis32(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis32", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis32", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis32", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -24112,7 +24254,7 @@ static PyObject *__pyx_pf_8bincount_110bincount_slow_axis32(CYTHON_UNUSED PyObje int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis32", 0); - /* "bincount.pyx":1403 + /* "bincount.pyx":1408 * def bincount_slow_axis32(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 32." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -24120,15 +24262,15 @@ static PyObject *__pyx_pf_8bincount_110bincount_slow_axis32(CYTHON_UNUSED PyObje * def bincount_slow_axisNone(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -24136,11 +24278,11 @@ static PyObject *__pyx_pf_8bincount_110bincount_slow_axis32(CYTHON_UNUSED PyObje __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -24149,7 +24291,7 @@ static PyObject *__pyx_pf_8bincount_110bincount_slow_axis32(CYTHON_UNUSED PyObje __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1401 + /* "bincount.pyx":1406 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis32(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -24171,7 +24313,7 @@ static PyObject *__pyx_pf_8bincount_110bincount_slow_axis32(CYTHON_UNUSED PyObje return __pyx_r; } -/* "bincount.pyx":1405 +/* "bincount.pyx":1410 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axisNone(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -24216,21 +24358,21 @@ static PyObject *__pyx_pw_8bincount_113bincount_slow_axisNone(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axisNone", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axisNone", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axisNone", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axisNone", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axisNone", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axisNone", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -24247,7 +24389,7 @@ static PyObject *__pyx_pw_8bincount_113bincount_slow_axisNone(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axisNone", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axisNone", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -24272,7 +24414,7 @@ static PyObject *__pyx_pf_8bincount_112bincount_slow_axisNone(CYTHON_UNUSED PyOb int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axisNone", 0); - /* "bincount.pyx":1407 + /* "bincount.pyx":1412 * def bincount_slow_axisNone(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis None." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -24280,15 +24422,15 @@ static PyObject *__pyx_pf_8bincount_112bincount_slow_axisNone(CYTHON_UNUSED PyOb * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -24296,11 +24438,11 @@ static PyObject *__pyx_pf_8bincount_112bincount_slow_axisNone(CYTHON_UNUSED PyOb __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -24309,7 +24451,7 @@ static PyObject *__pyx_pf_8bincount_112bincount_slow_axisNone(CYTHON_UNUSED PyOb __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1405 + /* "bincount.pyx":1410 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axisNone(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -24331,7 +24473,7 @@ static PyObject *__pyx_pf_8bincount_112bincount_slow_axisNone(CYTHON_UNUSED PyOb return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -24381,7 +24523,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -24394,7 +24536,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -24403,7 +24545,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -24412,7 +24554,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -24421,7 +24563,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -24431,7 +24573,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -24443,7 +24585,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -24454,7 +24596,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -24470,7 +24612,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -24482,21 +24624,21 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__57, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__59, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -24512,7 +24654,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -24524,21 +24666,21 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< * * info.buf = PyArray_DATA(self) */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__58, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__60, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -24547,7 +24689,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -24556,7 +24698,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -24566,7 +24708,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -24575,7 +24717,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -24584,7 +24726,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -24595,7 +24737,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -24604,7 +24746,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -24617,7 +24759,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -24626,7 +24768,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -24637,7 +24779,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -24646,7 +24788,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -24655,7 +24797,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -24664,7 +24806,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -24673,7 +24815,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -24685,7 +24827,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -24694,7 +24836,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -24714,7 +24856,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -24730,7 +24872,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -24745,7 +24887,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -24755,7 +24897,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -24765,7 +24907,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -24788,7 +24930,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -24808,21 +24950,21 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__59, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__61, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -24831,7 +24973,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -24842,7 +24984,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -24853,7 +24995,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -24864,7 +25006,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -24875,7 +25017,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -24886,7 +25028,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -24897,7 +25039,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -24908,7 +25050,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -24919,7 +25061,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -24930,7 +25072,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -24941,7 +25083,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -24952,7 +25094,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -24963,7 +25105,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -24974,7 +25116,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -24985,7 +25127,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -24996,7 +25138,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -25007,7 +25149,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -25019,7 +25161,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -25045,7 +25187,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -25054,7 +25196,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -25066,7 +25208,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -25075,7 +25217,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -25084,7 +25226,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -25093,7 +25235,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -25103,7 +25245,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -25113,7 +25255,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -25145,7 +25287,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -25169,7 +25311,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -25179,7 +25321,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -25191,7 +25333,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -25201,7 +25343,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -25213,7 +25355,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -25225,7 +25367,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -25242,7 +25384,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -25256,7 +25398,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -25275,7 +25417,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -25292,7 +25434,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -25306,7 +25448,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -25325,7 +25467,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -25342,7 +25484,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -25356,7 +25498,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -25375,7 +25517,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -25392,7 +25534,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -25406,7 +25548,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -25425,7 +25567,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -25442,7 +25584,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -25456,7 +25598,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -25475,7 +25617,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -25507,7 +25649,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -25516,7 +25658,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -25525,7 +25667,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -25547,7 +25689,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -25560,7 +25702,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -25599,7 +25741,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -25616,21 +25758,21 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< * * if ((child.byteorder == c'>' and little_endian) or */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__60, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__62, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -25653,7 +25795,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -25673,21 +25815,21 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< * # One could encode it in the format string and have Cython * # complain instead, BUT: < and > in format strings also imply */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__61, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__63, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -25703,7 +25845,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -25712,7 +25854,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -25721,7 +25863,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -25732,7 +25874,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -25742,7 +25884,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -25752,7 +25894,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -25764,7 +25906,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -25774,21 +25916,21 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< * * # Until ticket #99 is fixed, use integers to avoid warnings */ - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__62, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__64, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -25806,7 +25948,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -25824,7 +25966,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -25842,7 +25984,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -25860,7 +26002,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -25878,7 +26020,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -25896,7 +26038,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -25914,7 +26056,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -25932,7 +26074,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -25950,7 +26092,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -25968,7 +26110,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -25986,7 +26128,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -26004,7 +26146,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -26022,7 +26164,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -26042,7 +26184,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -26062,7 +26204,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -26082,7 +26224,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -26101,7 +26243,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -26124,7 +26266,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -26136,7 +26278,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -26148,7 +26290,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -26158,7 +26300,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -26168,7 +26310,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -26193,7 +26335,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -26208,7 +26350,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -26219,7 +26361,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -26231,7 +26373,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -26240,7 +26382,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -26251,7 +26393,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -26260,7 +26402,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -26269,7 +26411,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -26281,7 +26423,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -26295,7 +26437,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -26305,7 +26447,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -26319,7 +26461,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -26330,7 +26472,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -26368,7 +26510,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -26380,8 +26521,9 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_s_s, __pyx_k_Unsupported_ndim_dtype_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, - {&__pyx_n_s__63, __pyx_k__63, sizeof(__pyx_k__63), 0, 0, 1, 1}, + {&__pyx_n_s__65, __pyx_k__65, sizeof(__pyx_k__65), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, {&__pyx_n_s_ai, __pyx_k_ai, sizeof(__pyx_k_ai), 0, 0, 1, 1}, {&__pyx_n_s_ain, __pyx_k_ain, sizeof(__pyx_k_ain), 0, 0, 1, 1}, @@ -26475,6 +26617,8 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_issparse, __pyx_k_issparse, sizeof(__pyx_k_issparse), 0, 0, 1, 1}, {&__pyx_n_s_itemsize, __pyx_k_itemsize, sizeof(__pyx_k_itemsize), 0, 0, 1, 1}, {&__pyx_n_s_key, __pyx_k_key, sizeof(__pyx_k_key), 0, 0, 1, 1}, + {&__pyx_kp_s_length_of_mask_does_not_match_th, __pyx_k_length_of_mask_does_not_match_th, sizeof(__pyx_k_length_of_mask_does_not_match_th), 0, 0, 1, 0}, + {&__pyx_kp_s_length_of_weights_does_not_match, __pyx_k_length_of_weights_does_not_match, sizeof(__pyx_k_length_of_weights_does_not_match), 0, 0, 1, 0}, {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, {&__pyx_n_s_mask, __pyx_k_mask, sizeof(__pyx_k_mask), 0, 0, 1, 1}, {&__pyx_n_s_max, __pyx_k_max, sizeof(__pyx_k_max), 0, 0, 1, 1}, @@ -26512,10 +26656,10 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { }; static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; @@ -26525,687 +26669,709 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "bincount.pyx":173 + /* "bincount.pyx":112 + * if mask is not None: + * if arr.ndim == 2 and len(mask) != arr.shape[1] or arr.ndim == 1 and len(mask) != 1: + * raise ValueError('length of mask does not match the matrix size') # <<<<<<<<<<<<<< + * if weights is not None and len(weights) != arr.shape[0]: + * raise ValueError('length of weights does not match the matrix size') + */ + __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_length_of_mask_does_not_match_th); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple_); + __Pyx_GIVEREF(__pyx_tuple_); + + /* "bincount.pyx":114 + * raise ValueError('length of mask does not match the matrix size') + * if weights is not None and len(weights) != arr.shape[0]: + * raise ValueError('length of weights does not match the matrix size') # <<<<<<<<<<<<<< + * func, a, weights, mask = bincount_selector(arr, max_val, weights, mask) + * return func(a, max_val, weights, mask) + */ + __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_length_of_weights_does_not_match); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__2); + __Pyx_GIVEREF(__pyx_tuple__2); + + /* "bincount.pyx":178 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple_); - __Pyx_GIVEREF(__pyx_tuple_); + __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__3); + __Pyx_GIVEREF(__pyx_tuple__3); - /* "bincount.pyx":185 + /* "bincount.pyx":190 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__2); - __Pyx_GIVEREF(__pyx_tuple__2); + __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__4); + __Pyx_GIVEREF(__pyx_tuple__4); - /* "bincount.pyx":194 + /* "bincount.pyx":199 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__3); - __Pyx_GIVEREF(__pyx_tuple__3); + __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__5); + __Pyx_GIVEREF(__pyx_tuple__5); - /* "bincount.pyx":214 + /* "bincount.pyx":219 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__4); - __Pyx_GIVEREF(__pyx_tuple__4); + __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__6); + __Pyx_GIVEREF(__pyx_tuple__6); - /* "bincount.pyx":226 + /* "bincount.pyx":231 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__5); - __Pyx_GIVEREF(__pyx_tuple__5); + __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__7); + __Pyx_GIVEREF(__pyx_tuple__7); - /* "bincount.pyx":235 + /* "bincount.pyx":240 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__6); - __Pyx_GIVEREF(__pyx_tuple__6); + __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__8); + __Pyx_GIVEREF(__pyx_tuple__8); - /* "bincount.pyx":255 + /* "bincount.pyx":260 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__7); - __Pyx_GIVEREF(__pyx_tuple__7); + __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__9); + __Pyx_GIVEREF(__pyx_tuple__9); - /* "bincount.pyx":267 + /* "bincount.pyx":272 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__8); - __Pyx_GIVEREF(__pyx_tuple__8); + __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__10); + __Pyx_GIVEREF(__pyx_tuple__10); - /* "bincount.pyx":276 + /* "bincount.pyx":281 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__9); - __Pyx_GIVEREF(__pyx_tuple__9); + __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__11); + __Pyx_GIVEREF(__pyx_tuple__11); - /* "bincount.pyx":296 + /* "bincount.pyx":301 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__10); - __Pyx_GIVEREF(__pyx_tuple__10); + __pyx_tuple__12 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__12); + __Pyx_GIVEREF(__pyx_tuple__12); - /* "bincount.pyx":308 + /* "bincount.pyx":313 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__11); - __Pyx_GIVEREF(__pyx_tuple__11); + __pyx_tuple__13 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__13); + __Pyx_GIVEREF(__pyx_tuple__13); - /* "bincount.pyx":317 + /* "bincount.pyx":322 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__12 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__12); - __Pyx_GIVEREF(__pyx_tuple__12); + __pyx_tuple__14 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__14); + __Pyx_GIVEREF(__pyx_tuple__14); - /* "bincount.pyx":338 + /* "bincount.pyx":343 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__13 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__13); - __Pyx_GIVEREF(__pyx_tuple__13); + __pyx_tuple__15 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__15); + __Pyx_GIVEREF(__pyx_tuple__15); - /* "bincount.pyx":353 + /* "bincount.pyx":358 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__14 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__14); - __Pyx_GIVEREF(__pyx_tuple__14); + __pyx_tuple__16 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__16); + __Pyx_GIVEREF(__pyx_tuple__16); - /* "bincount.pyx":364 + /* "bincount.pyx":369 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__15 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__15); - __Pyx_GIVEREF(__pyx_tuple__15); + __pyx_tuple__17 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__17); + __Pyx_GIVEREF(__pyx_tuple__17); - /* "bincount.pyx":375 + /* "bincount.pyx":380 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__16 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__16); - __Pyx_GIVEREF(__pyx_tuple__16); + __pyx_tuple__18 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__18); + __Pyx_GIVEREF(__pyx_tuple__18); - /* "bincount.pyx":396 + /* "bincount.pyx":401 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__17 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__17); - __Pyx_GIVEREF(__pyx_tuple__17); + __pyx_tuple__19 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__19); + __Pyx_GIVEREF(__pyx_tuple__19); - /* "bincount.pyx":411 + /* "bincount.pyx":416 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__18 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__18); - __Pyx_GIVEREF(__pyx_tuple__18); + __pyx_tuple__20 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__20); + __Pyx_GIVEREF(__pyx_tuple__20); - /* "bincount.pyx":422 + /* "bincount.pyx":427 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__19 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__19); - __Pyx_GIVEREF(__pyx_tuple__19); + __pyx_tuple__21 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__21); + __Pyx_GIVEREF(__pyx_tuple__21); - /* "bincount.pyx":433 + /* "bincount.pyx":438 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__20 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__20); - __Pyx_GIVEREF(__pyx_tuple__20); + __pyx_tuple__22 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__22); + __Pyx_GIVEREF(__pyx_tuple__22); - /* "bincount.pyx":454 + /* "bincount.pyx":459 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__21 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__21); - __Pyx_GIVEREF(__pyx_tuple__21); + __pyx_tuple__23 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__23); + __Pyx_GIVEREF(__pyx_tuple__23); - /* "bincount.pyx":469 + /* "bincount.pyx":474 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__22 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__22); - __Pyx_GIVEREF(__pyx_tuple__22); + __pyx_tuple__24 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__24); + __Pyx_GIVEREF(__pyx_tuple__24); - /* "bincount.pyx":480 + /* "bincount.pyx":485 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__23 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__23); - __Pyx_GIVEREF(__pyx_tuple__23); + __pyx_tuple__25 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__25); + __Pyx_GIVEREF(__pyx_tuple__25); - /* "bincount.pyx":491 + /* "bincount.pyx":496 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__24 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__24); - __Pyx_GIVEREF(__pyx_tuple__24); + __pyx_tuple__26 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__26); + __Pyx_GIVEREF(__pyx_tuple__26); - /* "bincount.pyx":512 + /* "bincount.pyx":517 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__25 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__25); - __Pyx_GIVEREF(__pyx_tuple__25); + __pyx_tuple__27 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__27); + __Pyx_GIVEREF(__pyx_tuple__27); - /* "bincount.pyx":527 + /* "bincount.pyx":532 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__26 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__26); - __Pyx_GIVEREF(__pyx_tuple__26); + __pyx_tuple__28 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__28); + __Pyx_GIVEREF(__pyx_tuple__28); - /* "bincount.pyx":538 + /* "bincount.pyx":543 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__27 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__27); - __Pyx_GIVEREF(__pyx_tuple__27); + __pyx_tuple__29 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__29); + __Pyx_GIVEREF(__pyx_tuple__29); - /* "bincount.pyx":549 + /* "bincount.pyx":554 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__28 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__28); - __Pyx_GIVEREF(__pyx_tuple__28); + __pyx_tuple__30 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__30); + __Pyx_GIVEREF(__pyx_tuple__30); - /* "bincount.pyx":570 + /* "bincount.pyx":575 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__29 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__29); - __Pyx_GIVEREF(__pyx_tuple__29); + __pyx_tuple__31 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__31); + __Pyx_GIVEREF(__pyx_tuple__31); - /* "bincount.pyx":606 + /* "bincount.pyx":611 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__30 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__30); - __Pyx_GIVEREF(__pyx_tuple__30); + __pyx_tuple__32 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__32); + __Pyx_GIVEREF(__pyx_tuple__32); - /* "bincount.pyx":642 + /* "bincount.pyx":647 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__31 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__31); - __Pyx_GIVEREF(__pyx_tuple__31); + __pyx_tuple__33 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__33); + __Pyx_GIVEREF(__pyx_tuple__33); - /* "bincount.pyx":678 + /* "bincount.pyx":683 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__32 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__32); - __Pyx_GIVEREF(__pyx_tuple__32); + __pyx_tuple__34 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__34); + __Pyx_GIVEREF(__pyx_tuple__34); - /* "bincount.pyx":713 + /* "bincount.pyx":718 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__33 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__33); - __Pyx_GIVEREF(__pyx_tuple__33); + __pyx_tuple__35 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__35); + __Pyx_GIVEREF(__pyx_tuple__35); - /* "bincount.pyx":730 + /* "bincount.pyx":735 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__34 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__34); - __Pyx_GIVEREF(__pyx_tuple__34); + __pyx_tuple__36 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__36); + __Pyx_GIVEREF(__pyx_tuple__36); - /* "bincount.pyx":746 + /* "bincount.pyx":751 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__35 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__35); - __Pyx_GIVEREF(__pyx_tuple__35); + __pyx_tuple__37 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__37); + __Pyx_GIVEREF(__pyx_tuple__37); - /* "bincount.pyx":769 + /* "bincount.pyx":774 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__36 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__36); - __Pyx_GIVEREF(__pyx_tuple__36); + __pyx_tuple__38 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__38); + __Pyx_GIVEREF(__pyx_tuple__38); - /* "bincount.pyx":786 + /* "bincount.pyx":791 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__37 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__37); - __Pyx_GIVEREF(__pyx_tuple__37); + __pyx_tuple__39 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__39); + __Pyx_GIVEREF(__pyx_tuple__39); - /* "bincount.pyx":802 + /* "bincount.pyx":807 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__38 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__38); - __Pyx_GIVEREF(__pyx_tuple__38); + __pyx_tuple__40 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__40); + __Pyx_GIVEREF(__pyx_tuple__40); - /* "bincount.pyx":825 + /* "bincount.pyx":830 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__39 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__39); - __Pyx_GIVEREF(__pyx_tuple__39); + __pyx_tuple__41 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__41); + __Pyx_GIVEREF(__pyx_tuple__41); - /* "bincount.pyx":842 + /* "bincount.pyx":847 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__40 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__40); - __Pyx_GIVEREF(__pyx_tuple__40); + __pyx_tuple__42 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__42); + __Pyx_GIVEREF(__pyx_tuple__42); - /* "bincount.pyx":858 + /* "bincount.pyx":863 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__41 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__41); - __Pyx_GIVEREF(__pyx_tuple__41); + __pyx_tuple__43 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__43); + __Pyx_GIVEREF(__pyx_tuple__43); - /* "bincount.pyx":882 + /* "bincount.pyx":887 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__42 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__42); - __Pyx_GIVEREF(__pyx_tuple__42); + __pyx_tuple__44 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__44); + __Pyx_GIVEREF(__pyx_tuple__44); - /* "bincount.pyx":900 + /* "bincount.pyx":905 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__43 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__43); - __Pyx_GIVEREF(__pyx_tuple__43); + __pyx_tuple__45 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__45); + __Pyx_GIVEREF(__pyx_tuple__45); - /* "bincount.pyx":917 + /* "bincount.pyx":922 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__44 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__44); - __Pyx_GIVEREF(__pyx_tuple__44); + __pyx_tuple__46 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__46); + __Pyx_GIVEREF(__pyx_tuple__46); - /* "bincount.pyx":935 + /* "bincount.pyx":940 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__45 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__45); - __Pyx_GIVEREF(__pyx_tuple__45); + __pyx_tuple__47 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__47); + __Pyx_GIVEREF(__pyx_tuple__47); - /* "bincount.pyx":959 + /* "bincount.pyx":964 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__46 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__46); - __Pyx_GIVEREF(__pyx_tuple__46); + __pyx_tuple__48 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__48); + __Pyx_GIVEREF(__pyx_tuple__48); - /* "bincount.pyx":977 + /* "bincount.pyx":982 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__47 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__47); - __Pyx_GIVEREF(__pyx_tuple__47); + __pyx_tuple__49 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__49); + __Pyx_GIVEREF(__pyx_tuple__49); - /* "bincount.pyx":994 + /* "bincount.pyx":999 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__48 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__48); - __Pyx_GIVEREF(__pyx_tuple__48); + __pyx_tuple__50 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__50); + __Pyx_GIVEREF(__pyx_tuple__50); - /* "bincount.pyx":1012 + /* "bincount.pyx":1017 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__49 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__49); - __Pyx_GIVEREF(__pyx_tuple__49); + __pyx_tuple__51 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__51); + __Pyx_GIVEREF(__pyx_tuple__51); - /* "bincount.pyx":1036 + /* "bincount.pyx":1041 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__50 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__50); - __Pyx_GIVEREF(__pyx_tuple__50); + __pyx_tuple__52 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__52); + __Pyx_GIVEREF(__pyx_tuple__52); - /* "bincount.pyx":1054 + /* "bincount.pyx":1059 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__51 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__51); - __Pyx_GIVEREF(__pyx_tuple__51); + __pyx_tuple__53 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__53); + __Pyx_GIVEREF(__pyx_tuple__53); - /* "bincount.pyx":1071 + /* "bincount.pyx":1076 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__52 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__52); - __Pyx_GIVEREF(__pyx_tuple__52); + __pyx_tuple__54 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__54); + __Pyx_GIVEREF(__pyx_tuple__54); - /* "bincount.pyx":1089 + /* "bincount.pyx":1094 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__53 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__53); - __Pyx_GIVEREF(__pyx_tuple__53); + __pyx_tuple__55 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__55); + __Pyx_GIVEREF(__pyx_tuple__55); - /* "bincount.pyx":1113 + /* "bincount.pyx":1118 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__54 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__54); - __Pyx_GIVEREF(__pyx_tuple__54); + __pyx_tuple__56 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__56); + __Pyx_GIVEREF(__pyx_tuple__56); - /* "bincount.pyx":1161 + /* "bincount.pyx":1166 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__55 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__55); - __Pyx_GIVEREF(__pyx_tuple__55); + __pyx_tuple__57 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__57); + __Pyx_GIVEREF(__pyx_tuple__57); - /* "bincount.pyx":1209 + /* "bincount.pyx":1214 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__56 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__56); - __Pyx_GIVEREF(__pyx_tuple__56); + __pyx_tuple__58 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__58); + __Pyx_GIVEREF(__pyx_tuple__58); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) */ - __pyx_tuple__57 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__57); - __Pyx_GIVEREF(__pyx_tuple__57); + __pyx_tuple__59 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__59); + __Pyx_GIVEREF(__pyx_tuple__59); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< * * info.buf = PyArray_DATA(self) */ - __pyx_tuple__58 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__58); - __Pyx_GIVEREF(__pyx_tuple__58); + __pyx_tuple__60 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__60); + __Pyx_GIVEREF(__pyx_tuple__60); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" */ - __pyx_tuple__59 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__59); - __Pyx_GIVEREF(__pyx_tuple__59); + __pyx_tuple__61 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__61); + __Pyx_GIVEREF(__pyx_tuple__61); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< * * if ((child.byteorder == c'>' and little_endian) or */ - __pyx_tuple__60 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__60); - __Pyx_GIVEREF(__pyx_tuple__60); + __pyx_tuple__62 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__62); + __Pyx_GIVEREF(__pyx_tuple__62); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< * # One could encode it in the format string and have Cython * # complain instead, BUT: < and > in format strings also imply */ - __pyx_tuple__61 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__61); - __Pyx_GIVEREF(__pyx_tuple__61); + __pyx_tuple__63 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__63); + __Pyx_GIVEREF(__pyx_tuple__63); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< * * # Until ticket #99 is fixed, use integers to avoid warnings */ - __pyx_tuple__62 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__62); - __Pyx_GIVEREF(__pyx_tuple__62); + __pyx_tuple__64 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__64); + __Pyx_GIVEREF(__pyx_tuple__64); /* "bincount.pyx":58 * NPY_int_ = NPY_int64 @@ -27214,9 +27380,9 @@ static int __Pyx_InitCachedConstants(void) { * * cdef extern from "math.h": */ - __pyx_tuple__64 = PyTuple_Pack(1, __pyx_kp_s_Expecting_default_NumPy_int_to_b); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__64); - __Pyx_GIVEREF(__pyx_tuple__64); + __pyx_tuple__66 = PyTuple_Pack(1, __pyx_kp_s_Expecting_default_NumPy_int_to_b); if (unlikely(!__pyx_tuple__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__66); + __Pyx_GIVEREF(__pyx_tuple__66); /* "bincount.pyx":68 * "nanequal auto-generated from template" @@ -27225,682 +27391,682 @@ static int __Pyx_InitCachedConstants(void) { * """ * Count number of occurrences of each value in array. */ - __pyx_tuple__65 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask, __pyx_n_s_func, __pyx_n_s_a); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__65); - __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask, __pyx_n_s_func, __pyx_n_s_a); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__67); + __Pyx_GIVEREF(__pyx_tuple__67); + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":116 + /* "bincount.pyx":121 * * * def bincount_selector(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * cdef int dtype * cdef tuple key */ - __pyx_tuple__67 = PyTuple_Pack(10, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__67); - __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_selector, 116, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "bincount.pyx":162 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def bincount_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, # <<<<<<<<<<<<<< - * int max_val, - * np.ndarray[np.float_t, ndim=1] w = None, - */ - __pyx_tuple__69 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__69 = PyTuple_Pack(10, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_1d_int_axisNone, 162, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_selector, 121, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":203 + /* "bincount.pyx":167 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, # <<<<<<<<<<<<<< + * def bincount_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__71 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__71 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_1d_int8_axisNone, 203, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_1d_int_axisNone, 167, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":244 + /* "bincount.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, # <<<<<<<<<<<<<< + * def bincount_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__73 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__73 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_1d_int32_axisNone, 244, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_1d_int8_axisNone, 208, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":285 + /* "bincount.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, # <<<<<<<<<<<<<< + * def bincount_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__75 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__75 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_1d_int64_axisNone, 285, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_1d_int32_axisNone, 249, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":326 + /* "bincount.pyx":290 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * def bincount_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__77 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__77 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(4, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_2d_int_axisNone, 326, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_1d_int64_axisNone, 290, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":384 + /* "bincount.pyx":331 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * def bincount_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__79 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__79 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(4, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_2d_int8_axisNone, 384, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(4, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_2d_int_axisNone, 331, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":442 + /* "bincount.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def bincount_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__81 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__81 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(4, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_2d_int32_axisNone, 442, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(4, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_2d_int8_axisNone, 389, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":500 + /* "bincount.pyx":447 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def bincount_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__83 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__83 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(4, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_2d_int64_axisNone, 500, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(4, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_2d_int32_axisNone, 447, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":558 + /* "bincount.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_0d_int_axisNone(object a, # <<<<<<<<<<<<<< - * int max_val, - * np.ndarray[np.float_t, ndim=1] w = None, + * def bincount_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * int max_val, + * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__85 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__85 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_0d_int_axisNone, 558, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(4, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_2d_int64_axisNone, 505, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":594 + /* "bincount.pyx":563 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_0d_int8_axisNone(object a, # <<<<<<<<<<<<<< + * def bincount_0d_int_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__87 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__87 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_0d_int8_axisNone, 594, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_0d_int_axisNone, 563, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":630 + /* "bincount.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_0d_int32_axisNone(object a, # <<<<<<<<<<<<<< + * def bincount_0d_int8_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__89 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__89 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_0d_int32_axisNone, 630, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_0d_int8_axisNone, 599, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":666 + /* "bincount.pyx":635 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_0d_int64_axisNone(object a, # <<<<<<<<<<<<<< + * def bincount_0d_int32_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__91 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__91 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_0d_int64_axisNone, 666, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_0d_int32_axisNone, 635, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":702 + /* "bincount.pyx":671 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< - * int max_val, - * np.ndarray[np.float_t, ndim=1] w = None, + * def bincount_0d_int64_axisNone(object a, # <<<<<<<<<<<<<< + * int max_val, + * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__93 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__93 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_1d_float_axisNone, 702, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_0d_int64_axisNone, 671, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":758 + /* "bincount.pyx":707 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< + * def bincount_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__95 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__95 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_1d_float32_axisNone, 758, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_1d_float_axisNone, 707, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":814 + /* "bincount.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< + * def bincount_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__97 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__97 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_1d_float64_axisNone, 814, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_1d_float32_axisNone, 763, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":870 + /* "bincount.pyx":819 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def bincount_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__99 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__99 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_2d_float_axisNone, 870, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_1d_float64_axisNone, 819, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":947 + /* "bincount.pyx":875 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def bincount_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__101 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__101 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_2d_float32_axisNone, 947, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_2d_float_axisNone, 875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1024 + /* "bincount.pyx":952 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def bincount_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__103 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__103 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_2d_float64_axisNone, 1024, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_2d_float32_axisNone, 952, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1101 + /* "bincount.pyx":1029 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_0d_float_axisNone(object a, # <<<<<<<<<<<<<< - * int max_val, - * np.ndarray[np.float_t, ndim=1] w = None, + * def bincount_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * int max_val, + * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__105 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_ain); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__105 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(4, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_0d_float_axisNone, 1101, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_2d_float64_axisNone, 1029, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1149 + /* "bincount.pyx":1106 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_0d_float32_axisNone(object a, # <<<<<<<<<<<<<< + * def bincount_0d_float_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__107 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_ain); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__107 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_ain); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(4, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_0d_float32_axisNone, 1149, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(4, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_0d_float_axisNone, 1106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1197 + /* "bincount.pyx":1154 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_0d_float64_axisNone(object a, # <<<<<<<<<<<<<< + * def bincount_0d_float32_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__109 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_ain); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__109 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_ain); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(4, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_0d_float64_axisNone, 1197, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(4, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_0d_float32_axisNone, 1154, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1273 + /* "bincount.pyx":1202 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def bincount_0d_float64_axisNone(object a, # <<<<<<<<<<<<<< + * int max_val, + * np.ndarray[np.float_t, ndim=1] w = None, + */ + __pyx_tuple__111 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_ain); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__111); + __Pyx_GIVEREF(__pyx_tuple__111); + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(4, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_0d_float64_axisNone, 1202, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "bincount.pyx":1278 * bincount_dict[(0, NPY_float64, None)] = bincount_0d_float64_axisNone * * def bincount_slow_axis0(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 0." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__111 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__111); - __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis0, 1273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__113 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__113); + __Pyx_GIVEREF(__pyx_tuple__113); + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis0, 1278, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1277 + /* "bincount.pyx":1282 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis1(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 1." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__113 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__113); - __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis1, 1277, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__115 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__115); + __Pyx_GIVEREF(__pyx_tuple__115); + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis1, 1282, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1281 + /* "bincount.pyx":1286 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis2(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 2." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__115 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__115); - __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis2, 1281, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__117 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__117); + __Pyx_GIVEREF(__pyx_tuple__117); + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis2, 1286, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1285 + /* "bincount.pyx":1290 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis3(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 3." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__117 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__117); - __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis3, 1285, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__119 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__119); + __Pyx_GIVEREF(__pyx_tuple__119); + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis3, 1290, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1289 + /* "bincount.pyx":1294 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis4(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 4." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__119 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__119); - __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis4, 1289, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__121 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__121); + __Pyx_GIVEREF(__pyx_tuple__121); + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis4, 1294, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1293 + /* "bincount.pyx":1298 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis5(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 5." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__121 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__121); - __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis5, 1293, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__123 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1298; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__123); + __Pyx_GIVEREF(__pyx_tuple__123); + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis5, 1298, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1298; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1297 + /* "bincount.pyx":1302 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis6(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 6." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__123 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__123); - __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis6, 1297, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__125 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__125); + __Pyx_GIVEREF(__pyx_tuple__125); + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis6, 1302, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1301 + /* "bincount.pyx":1306 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis7(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 7." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__125 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__125); - __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis7, 1301, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__127 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__127); + __Pyx_GIVEREF(__pyx_tuple__127); + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis7, 1306, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1305 + /* "bincount.pyx":1310 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis8(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 8." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__127 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__127); - __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis8, 1305, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__129 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__129); + __Pyx_GIVEREF(__pyx_tuple__129); + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis8, 1310, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1309 + /* "bincount.pyx":1314 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis9(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 9." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__129 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__129); - __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis9, 1309, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__131 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__131); + __Pyx_GIVEREF(__pyx_tuple__131); + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis9, 1314, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1313 + /* "bincount.pyx":1318 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis10(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 10." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__131 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__131); - __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis10, 1313, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__133 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__133); + __Pyx_GIVEREF(__pyx_tuple__133); + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis10, 1318, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1317 + /* "bincount.pyx":1322 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis11(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 11." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__133 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__133); - __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis11, 1317, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__135 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__135); + __Pyx_GIVEREF(__pyx_tuple__135); + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis11, 1322, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1321 + /* "bincount.pyx":1326 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis12(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 12." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__135 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__135); - __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis12, 1321, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__137 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__137); + __Pyx_GIVEREF(__pyx_tuple__137); + __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis12, 1326, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1325 + /* "bincount.pyx":1330 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis13(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 13." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__137 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__137); - __Pyx_GIVEREF(__pyx_tuple__137); - __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis13, 1325, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__139 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__139); + __Pyx_GIVEREF(__pyx_tuple__139); + __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis13, 1330, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1329 + /* "bincount.pyx":1334 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis14(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 14." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__139 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__139); - __Pyx_GIVEREF(__pyx_tuple__139); - __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis14, 1329, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__141 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__141); + __Pyx_GIVEREF(__pyx_tuple__141); + __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis14, 1334, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1333 + /* "bincount.pyx":1338 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis15(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 15." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__141 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__141); - __Pyx_GIVEREF(__pyx_tuple__141); - __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis15, 1333, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__143 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__143); + __Pyx_GIVEREF(__pyx_tuple__143); + __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis15, 1338, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1337 + /* "bincount.pyx":1342 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis16(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 16." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__143 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__143); - __Pyx_GIVEREF(__pyx_tuple__143); - __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis16, 1337, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__145 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__145); + __Pyx_GIVEREF(__pyx_tuple__145); + __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis16, 1342, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1341 + /* "bincount.pyx":1346 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis17(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 17." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__145 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__145); - __Pyx_GIVEREF(__pyx_tuple__145); - __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis17, 1341, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__147 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__147); + __Pyx_GIVEREF(__pyx_tuple__147); + __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis17, 1346, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1345 + /* "bincount.pyx":1350 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis18(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 18." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__147 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__147); - __Pyx_GIVEREF(__pyx_tuple__147); - __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis18, 1345, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__149 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__149); + __Pyx_GIVEREF(__pyx_tuple__149); + __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis18, 1350, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1349 + /* "bincount.pyx":1354 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis19(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 19." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__149 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__149); - __Pyx_GIVEREF(__pyx_tuple__149); - __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis19, 1349, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__151 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__151); + __Pyx_GIVEREF(__pyx_tuple__151); + __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis19, 1354, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1353 + /* "bincount.pyx":1358 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis20(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 20." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__151 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__151); - __Pyx_GIVEREF(__pyx_tuple__151); - __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis20, 1353, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__153 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__153); + __Pyx_GIVEREF(__pyx_tuple__153); + __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis20, 1358, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1357 + /* "bincount.pyx":1362 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis21(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 21." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__153 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__153); - __Pyx_GIVEREF(__pyx_tuple__153); - __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis21, 1357, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__155 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__155); + __Pyx_GIVEREF(__pyx_tuple__155); + __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis21, 1362, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1361 + /* "bincount.pyx":1366 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis22(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 22." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__155 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__155); - __Pyx_GIVEREF(__pyx_tuple__155); - __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis22, 1361, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__157 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__157); + __Pyx_GIVEREF(__pyx_tuple__157); + __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis22, 1366, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1365 + /* "bincount.pyx":1370 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis23(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 23." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__157 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__157); - __Pyx_GIVEREF(__pyx_tuple__157); - __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis23, 1365, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__159 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__159); + __Pyx_GIVEREF(__pyx_tuple__159); + __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis23, 1370, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1369 + /* "bincount.pyx":1374 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis24(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 24." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__159 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__159); - __Pyx_GIVEREF(__pyx_tuple__159); - __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis24, 1369, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__161 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__161); + __Pyx_GIVEREF(__pyx_tuple__161); + __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis24, 1374, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1373 + /* "bincount.pyx":1378 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis25(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 25." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__161 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__161); - __Pyx_GIVEREF(__pyx_tuple__161); - __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis25, 1373, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__163 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__163); + __Pyx_GIVEREF(__pyx_tuple__163); + __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis25, 1378, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1377 + /* "bincount.pyx":1382 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis26(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 26." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__163 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__163); - __Pyx_GIVEREF(__pyx_tuple__163); - __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis26, 1377, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__165 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__165)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__165); + __Pyx_GIVEREF(__pyx_tuple__165); + __pyx_codeobj__166 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__165, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis26, 1382, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__166)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1381 + /* "bincount.pyx":1386 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis27(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 27." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__165 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__165)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__165); - __Pyx_GIVEREF(__pyx_tuple__165); - __pyx_codeobj__166 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__165, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis27, 1381, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__166)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__167 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__167)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__167); + __Pyx_GIVEREF(__pyx_tuple__167); + __pyx_codeobj__168 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__167, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis27, 1386, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__168)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1385 + /* "bincount.pyx":1390 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis28(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 28." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__167 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__167)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__167); - __Pyx_GIVEREF(__pyx_tuple__167); - __pyx_codeobj__168 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__167, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis28, 1385, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__168)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__169 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__169)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__169); + __Pyx_GIVEREF(__pyx_tuple__169); + __pyx_codeobj__170 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__169, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis28, 1390, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1389 + /* "bincount.pyx":1394 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis29(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 29." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__169 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__169)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__169); - __Pyx_GIVEREF(__pyx_tuple__169); - __pyx_codeobj__170 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__169, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis29, 1389, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__171 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__171)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__171); + __Pyx_GIVEREF(__pyx_tuple__171); + __pyx_codeobj__172 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__171, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis29, 1394, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__172)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1393 + /* "bincount.pyx":1398 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis30(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 30." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__171 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__171)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__171); - __Pyx_GIVEREF(__pyx_tuple__171); - __pyx_codeobj__172 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__171, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis30, 1393, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__172)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__173 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__173)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__173); + __Pyx_GIVEREF(__pyx_tuple__173); + __pyx_codeobj__174 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__173, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis30, 1398, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1397 + /* "bincount.pyx":1402 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis31(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 31." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__173 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__173)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__173); - __Pyx_GIVEREF(__pyx_tuple__173); - __pyx_codeobj__174 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__173, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis31, 1397, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__175 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__175)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__175); + __Pyx_GIVEREF(__pyx_tuple__175); + __pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__175, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis31, 1402, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1401 + /* "bincount.pyx":1406 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis32(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 32." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__175 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__175)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__175); - __Pyx_GIVEREF(__pyx_tuple__175); - __pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__175, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis32, 1401, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__177 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__177)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__177); + __Pyx_GIVEREF(__pyx_tuple__177); + __pyx_codeobj__178 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis32, 1406, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__178)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1405 + /* "bincount.pyx":1410 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axisNone(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis None." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__177 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__177)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__177); - __Pyx_GIVEREF(__pyx_tuple__177); - __pyx_codeobj__178 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axisNone, 1405, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__178)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__179 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__179)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__179); + __Pyx_GIVEREF(__pyx_tuple__179); + __pyx_codeobj__180 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__179, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axisNone, 1410, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__180)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -28082,9 +28248,9 @@ PyMODINIT_FUNC PyInit_bincount(void) */ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 5; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_n_s__63); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s__63); - __Pyx_GIVEREF(__pyx_n_s__63); + __Pyx_INCREF(__pyx_n_s__65); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s__65); + __Pyx_GIVEREF(__pyx_n_s__65); __pyx_t_2 = __Pyx_Import(__pyx_n_s_scipy_sparse, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 5; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -28823,7 +28989,7 @@ PyMODINIT_FUNC PyInit_bincount(void) * * cdef extern from "math.h": */ - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__64, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__66, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -28852,300 +29018,300 @@ PyMODINIT_FUNC PyInit_bincount(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":116 + /* "bincount.pyx":121 * * * def bincount_selector(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * cdef int dtype * cdef tuple key */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_3bincount_selector, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_3bincount_selector, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_selector, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_selector, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":162 + /* "bincount.pyx":167 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_5bincount_1d_int_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_5bincount_1d_int_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":203 + /* "bincount.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_7bincount_1d_int8_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_7bincount_1d_int8_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":244 + /* "bincount.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_9bincount_1d_int32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_9bincount_1d_int32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":285 + /* "bincount.pyx":290 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_11bincount_1d_int64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_11bincount_1d_int64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":326 + /* "bincount.pyx":331 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_13bincount_2d_int_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_13bincount_2d_int_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":384 + /* "bincount.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_15bincount_2d_int8_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_15bincount_2d_int8_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":442 + /* "bincount.pyx":447 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_17bincount_2d_int32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_17bincount_2d_int32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":500 + /* "bincount.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_19bincount_2d_int64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_19bincount_2d_int64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":558 + /* "bincount.pyx":563 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_21bincount_0d_int_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_21bincount_0d_int_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":594 + /* "bincount.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int8_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_23bincount_0d_int8_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_23bincount_0d_int8_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":630 + /* "bincount.pyx":635 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int32_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_25bincount_0d_int32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_25bincount_0d_int32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":666 + /* "bincount.pyx":671 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int64_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_27bincount_0d_int64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_27bincount_0d_int64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":702 + /* "bincount.pyx":707 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_29bincount_1d_float_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_29bincount_1d_float_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":758 + /* "bincount.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_31bincount_1d_float32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_31bincount_1d_float32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":814 + /* "bincount.pyx":819 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_33bincount_1d_float64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_33bincount_1d_float64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":870 + /* "bincount.pyx":875 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_35bincount_2d_float_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_35bincount_2d_float_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":947 + /* "bincount.pyx":952 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_37bincount_2d_float32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_37bincount_2d_float32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1024 + /* "bincount.pyx":1029 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_39bincount_2d_float64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_39bincount_2d_float64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1101 + /* "bincount.pyx":1106 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_41bincount_0d_float_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_41bincount_0d_float_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1149 + /* "bincount.pyx":1154 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float32_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_43bincount_0d_float32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_43bincount_0d_float32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1197 + /* "bincount.pyx":1202 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float64_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_45bincount_0d_float64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_45bincount_0d_float64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1243 + /* "bincount.pyx":1248 * * * cdef dict bincount_dict = {} # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_int, 0)] = bincount_1d_int_axisNone * bincount_dict[(1, NPY_int, None)] = bincount_1d_int_axisNone */ - __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_v_8bincount_bincount_dict); __Pyx_DECREF_SET(__pyx_v_8bincount_bincount_dict, ((PyObject*)__pyx_t_2)); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1244 + /* "bincount.pyx":1249 * * cdef dict bincount_dict = {} * bincount_dict[(1, NPY_int, 0)] = bincount_1d_int_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_int, None)] = bincount_1d_int_axisNone * bincount_dict[(1, NPY_int8, 0)] = bincount_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); @@ -29156,26 +29322,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1245 + /* "bincount.pyx":1250 * cdef dict bincount_dict = {} * bincount_dict[(1, NPY_int, 0)] = bincount_1d_int_axisNone * bincount_dict[(1, NPY_int, None)] = bincount_1d_int_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_int8, 0)] = bincount_1d_int8_axisNone * bincount_dict[(1, NPY_int8, None)] = bincount_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); @@ -29186,26 +29352,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1246 + /* "bincount.pyx":1251 * bincount_dict[(1, NPY_int, 0)] = bincount_1d_int_axisNone * bincount_dict[(1, NPY_int, None)] = bincount_1d_int_axisNone * bincount_dict[(1, NPY_int8, 0)] = bincount_1d_int8_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_int8, None)] = bincount_1d_int8_axisNone * bincount_dict[(1, NPY_int32, 0)] = bincount_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); @@ -29216,26 +29382,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1247 + /* "bincount.pyx":1252 * bincount_dict[(1, NPY_int, None)] = bincount_1d_int_axisNone * bincount_dict[(1, NPY_int8, 0)] = bincount_1d_int8_axisNone * bincount_dict[(1, NPY_int8, None)] = bincount_1d_int8_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_int32, 0)] = bincount_1d_int32_axisNone * bincount_dict[(1, NPY_int32, None)] = bincount_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); @@ -29246,26 +29412,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1248 + /* "bincount.pyx":1253 * bincount_dict[(1, NPY_int8, 0)] = bincount_1d_int8_axisNone * bincount_dict[(1, NPY_int8, None)] = bincount_1d_int8_axisNone * bincount_dict[(1, NPY_int32, 0)] = bincount_1d_int32_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_int32, None)] = bincount_1d_int32_axisNone * bincount_dict[(1, NPY_int64, 0)] = bincount_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); @@ -29276,26 +29442,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1249 + /* "bincount.pyx":1254 * bincount_dict[(1, NPY_int8, None)] = bincount_1d_int8_axisNone * bincount_dict[(1, NPY_int32, 0)] = bincount_1d_int32_axisNone * bincount_dict[(1, NPY_int32, None)] = bincount_1d_int32_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_int64, 0)] = bincount_1d_int64_axisNone * bincount_dict[(1, NPY_int64, None)] = bincount_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); @@ -29306,26 +29472,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1250 + /* "bincount.pyx":1255 * bincount_dict[(1, NPY_int32, 0)] = bincount_1d_int32_axisNone * bincount_dict[(1, NPY_int32, None)] = bincount_1d_int32_axisNone * bincount_dict[(1, NPY_int64, 0)] = bincount_1d_int64_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_int64, None)] = bincount_1d_int64_axisNone * bincount_dict[(2, NPY_int, None)] = bincount_2d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); @@ -29336,26 +29502,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1251 + /* "bincount.pyx":1256 * bincount_dict[(1, NPY_int32, None)] = bincount_1d_int32_axisNone * bincount_dict[(1, NPY_int64, 0)] = bincount_1d_int64_axisNone * bincount_dict[(1, NPY_int64, None)] = bincount_1d_int64_axisNone # <<<<<<<<<<<<<< * bincount_dict[(2, NPY_int, None)] = bincount_2d_int_axisNone * bincount_dict[(2, NPY_int8, None)] = bincount_2d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); @@ -29366,26 +29532,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1252 + /* "bincount.pyx":1257 * bincount_dict[(1, NPY_int64, 0)] = bincount_1d_int64_axisNone * bincount_dict[(1, NPY_int64, None)] = bincount_1d_int64_axisNone * bincount_dict[(2, NPY_int, None)] = bincount_2d_int_axisNone # <<<<<<<<<<<<<< * bincount_dict[(2, NPY_int8, None)] = bincount_2d_int8_axisNone * bincount_dict[(2, NPY_int32, None)] = bincount_2d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); @@ -29396,26 +29562,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1253 + /* "bincount.pyx":1258 * bincount_dict[(1, NPY_int64, None)] = bincount_1d_int64_axisNone * bincount_dict[(2, NPY_int, None)] = bincount_2d_int_axisNone * bincount_dict[(2, NPY_int8, None)] = bincount_2d_int8_axisNone # <<<<<<<<<<<<<< * bincount_dict[(2, NPY_int32, None)] = bincount_2d_int32_axisNone * bincount_dict[(2, NPY_int64, None)] = bincount_2d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); @@ -29426,26 +29592,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1254 + /* "bincount.pyx":1259 * bincount_dict[(2, NPY_int, None)] = bincount_2d_int_axisNone * bincount_dict[(2, NPY_int8, None)] = bincount_2d_int8_axisNone * bincount_dict[(2, NPY_int32, None)] = bincount_2d_int32_axisNone # <<<<<<<<<<<<<< * bincount_dict[(2, NPY_int64, None)] = bincount_2d_int64_axisNone * bincount_dict[(0, NPY_int, None)] = bincount_0d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); @@ -29456,26 +29622,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1255 + /* "bincount.pyx":1260 * bincount_dict[(2, NPY_int8, None)] = bincount_2d_int8_axisNone * bincount_dict[(2, NPY_int32, None)] = bincount_2d_int32_axisNone * bincount_dict[(2, NPY_int64, None)] = bincount_2d_int64_axisNone # <<<<<<<<<<<<<< * bincount_dict[(0, NPY_int, None)] = bincount_0d_int_axisNone * bincount_dict[(0, NPY_int8, None)] = bincount_0d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); @@ -29486,26 +29652,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1256 + /* "bincount.pyx":1261 * bincount_dict[(2, NPY_int32, None)] = bincount_2d_int32_axisNone * bincount_dict[(2, NPY_int64, None)] = bincount_2d_int64_axisNone * bincount_dict[(0, NPY_int, None)] = bincount_0d_int_axisNone # <<<<<<<<<<<<<< * bincount_dict[(0, NPY_int8, None)] = bincount_0d_int8_axisNone * bincount_dict[(0, NPY_int32, None)] = bincount_0d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_0); @@ -29516,26 +29682,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1257 + /* "bincount.pyx":1262 * bincount_dict[(2, NPY_int64, None)] = bincount_2d_int64_axisNone * bincount_dict[(0, NPY_int, None)] = bincount_0d_int_axisNone * bincount_dict[(0, NPY_int8, None)] = bincount_0d_int8_axisNone # <<<<<<<<<<<<<< * bincount_dict[(0, NPY_int32, None)] = bincount_0d_int32_axisNone * bincount_dict[(0, NPY_int64, None)] = bincount_0d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); @@ -29546,26 +29712,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1258 + /* "bincount.pyx":1263 * bincount_dict[(0, NPY_int, None)] = bincount_0d_int_axisNone * bincount_dict[(0, NPY_int8, None)] = bincount_0d_int8_axisNone * bincount_dict[(0, NPY_int32, None)] = bincount_0d_int32_axisNone # <<<<<<<<<<<<<< * bincount_dict[(0, NPY_int64, None)] = bincount_0d_int64_axisNone * bincount_dict[(1, NPY_float, 0)] = bincount_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_0); @@ -29576,26 +29742,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1259 + /* "bincount.pyx":1264 * bincount_dict[(0, NPY_int8, None)] = bincount_0d_int8_axisNone * bincount_dict[(0, NPY_int32, None)] = bincount_0d_int32_axisNone * bincount_dict[(0, NPY_int64, None)] = bincount_0d_int64_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_float, 0)] = bincount_1d_float_axisNone * bincount_dict[(1, NPY_float, None)] = bincount_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); @@ -29606,26 +29772,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1260 + /* "bincount.pyx":1265 * bincount_dict[(0, NPY_int32, None)] = bincount_0d_int32_axisNone * bincount_dict[(0, NPY_int64, None)] = bincount_0d_int64_axisNone * bincount_dict[(1, NPY_float, 0)] = bincount_1d_float_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_float, None)] = bincount_1d_float_axisNone * bincount_dict[(1, NPY_float32, 0)] = bincount_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); @@ -29636,26 +29802,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1261 + /* "bincount.pyx":1266 * bincount_dict[(0, NPY_int64, None)] = bincount_0d_int64_axisNone * bincount_dict[(1, NPY_float, 0)] = bincount_1d_float_axisNone * bincount_dict[(1, NPY_float, None)] = bincount_1d_float_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_float32, 0)] = bincount_1d_float32_axisNone * bincount_dict[(1, NPY_float32, None)] = bincount_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); @@ -29666,26 +29832,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1262 + /* "bincount.pyx":1267 * bincount_dict[(1, NPY_float, 0)] = bincount_1d_float_axisNone * bincount_dict[(1, NPY_float, None)] = bincount_1d_float_axisNone * bincount_dict[(1, NPY_float32, 0)] = bincount_1d_float32_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_float32, None)] = bincount_1d_float32_axisNone * bincount_dict[(1, NPY_float64, 0)] = bincount_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); @@ -29696,26 +29862,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1263 + /* "bincount.pyx":1268 * bincount_dict[(1, NPY_float, None)] = bincount_1d_float_axisNone * bincount_dict[(1, NPY_float32, 0)] = bincount_1d_float32_axisNone * bincount_dict[(1, NPY_float32, None)] = bincount_1d_float32_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_float64, 0)] = bincount_1d_float64_axisNone * bincount_dict[(1, NPY_float64, None)] = bincount_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); @@ -29726,26 +29892,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1264 + /* "bincount.pyx":1269 * bincount_dict[(1, NPY_float32, 0)] = bincount_1d_float32_axisNone * bincount_dict[(1, NPY_float32, None)] = bincount_1d_float32_axisNone * bincount_dict[(1, NPY_float64, 0)] = bincount_1d_float64_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_float64, None)] = bincount_1d_float64_axisNone * bincount_dict[(2, NPY_float, None)] = bincount_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); @@ -29756,26 +29922,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1265 + /* "bincount.pyx":1270 * bincount_dict[(1, NPY_float32, None)] = bincount_1d_float32_axisNone * bincount_dict[(1, NPY_float64, 0)] = bincount_1d_float64_axisNone * bincount_dict[(1, NPY_float64, None)] = bincount_1d_float64_axisNone # <<<<<<<<<<<<<< * bincount_dict[(2, NPY_float, None)] = bincount_2d_float_axisNone * bincount_dict[(2, NPY_float32, None)] = bincount_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); @@ -29786,26 +29952,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1266 + /* "bincount.pyx":1271 * bincount_dict[(1, NPY_float64, 0)] = bincount_1d_float64_axisNone * bincount_dict[(1, NPY_float64, None)] = bincount_1d_float64_axisNone * bincount_dict[(2, NPY_float, None)] = bincount_2d_float_axisNone # <<<<<<<<<<<<<< * bincount_dict[(2, NPY_float32, None)] = bincount_2d_float32_axisNone * bincount_dict[(2, NPY_float64, None)] = bincount_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); @@ -29816,26 +29982,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1267 + /* "bincount.pyx":1272 * bincount_dict[(1, NPY_float64, None)] = bincount_1d_float64_axisNone * bincount_dict[(2, NPY_float, None)] = bincount_2d_float_axisNone * bincount_dict[(2, NPY_float32, None)] = bincount_2d_float32_axisNone # <<<<<<<<<<<<<< * bincount_dict[(2, NPY_float64, None)] = bincount_2d_float64_axisNone * bincount_dict[(0, NPY_float, None)] = bincount_0d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); @@ -29846,26 +30012,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1268 + /* "bincount.pyx":1273 * bincount_dict[(2, NPY_float, None)] = bincount_2d_float_axisNone * bincount_dict[(2, NPY_float32, None)] = bincount_2d_float32_axisNone * bincount_dict[(2, NPY_float64, None)] = bincount_2d_float64_axisNone # <<<<<<<<<<<<<< * bincount_dict[(0, NPY_float, None)] = bincount_0d_float_axisNone * bincount_dict[(0, NPY_float32, None)] = bincount_0d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); @@ -29876,26 +30042,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1269 + /* "bincount.pyx":1274 * bincount_dict[(2, NPY_float32, None)] = bincount_2d_float32_axisNone * bincount_dict[(2, NPY_float64, None)] = bincount_2d_float64_axisNone * bincount_dict[(0, NPY_float, None)] = bincount_0d_float_axisNone # <<<<<<<<<<<<<< * bincount_dict[(0, NPY_float32, None)] = bincount_0d_float32_axisNone * bincount_dict[(0, NPY_float64, None)] = bincount_0d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); @@ -29906,26 +30072,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1270 + /* "bincount.pyx":1275 * bincount_dict[(2, NPY_float64, None)] = bincount_2d_float64_axisNone * bincount_dict[(0, NPY_float, None)] = bincount_0d_float_axisNone * bincount_dict[(0, NPY_float32, None)] = bincount_0d_float32_axisNone # <<<<<<<<<<<<<< * bincount_dict[(0, NPY_float64, None)] = bincount_0d_float64_axisNone * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_0); @@ -29936,26 +30102,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1271 + /* "bincount.pyx":1276 * bincount_dict[(0, NPY_float, None)] = bincount_0d_float_axisNone * bincount_dict[(0, NPY_float32, None)] = bincount_0d_float32_axisNone * bincount_dict[(0, NPY_float64, None)] = bincount_0d_float64_axisNone # <<<<<<<<<<<<<< * * def bincount_slow_axis0(arr, max_val, weights, mask): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); @@ -29966,971 +30132,971 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1273 + /* "bincount.pyx":1278 * bincount_dict[(0, NPY_float64, None)] = bincount_0d_float64_axisNone * * def bincount_slow_axis0(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 0." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_47bincount_slow_axis0, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_47bincount_slow_axis0, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1277 + /* "bincount.pyx":1282 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis1(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 1." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_49bincount_slow_axis1, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_49bincount_slow_axis1, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1281 + /* "bincount.pyx":1286 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis2(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 2." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_51bincount_slow_axis2, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_51bincount_slow_axis2, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1285 + /* "bincount.pyx":1290 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis3(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 3." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_53bincount_slow_axis3, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_53bincount_slow_axis3, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis3, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis3, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1289 + /* "bincount.pyx":1294 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis4(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 4." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_55bincount_slow_axis4, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_55bincount_slow_axis4, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis4, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis4, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1293 + /* "bincount.pyx":1298 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis5(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 5." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_57bincount_slow_axis5, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_57bincount_slow_axis5, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1298; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis5, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis5, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1298; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1297 + /* "bincount.pyx":1302 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis6(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 6." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_59bincount_slow_axis6, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_59bincount_slow_axis6, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis6, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis6, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1301 + /* "bincount.pyx":1306 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis7(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 7." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_61bincount_slow_axis7, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_61bincount_slow_axis7, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis7, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis7, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1305 + /* "bincount.pyx":1310 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis8(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 8." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_63bincount_slow_axis8, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_63bincount_slow_axis8, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis8, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis8, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1309 + /* "bincount.pyx":1314 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis9(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 9." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_65bincount_slow_axis9, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_65bincount_slow_axis9, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis9, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis9, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1313 + /* "bincount.pyx":1318 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis10(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 10." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_67bincount_slow_axis10, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_67bincount_slow_axis10, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis10, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis10, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1317 + /* "bincount.pyx":1322 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis11(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 11." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_69bincount_slow_axis11, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_69bincount_slow_axis11, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis11, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis11, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1321 + /* "bincount.pyx":1326 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis12(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 12." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_71bincount_slow_axis12, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_71bincount_slow_axis12, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis12, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis12, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1325 + /* "bincount.pyx":1330 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis13(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 13." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_73bincount_slow_axis13, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_73bincount_slow_axis13, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis13, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis13, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1329 + /* "bincount.pyx":1334 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis14(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 14." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_75bincount_slow_axis14, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_75bincount_slow_axis14, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis14, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis14, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1333 + /* "bincount.pyx":1338 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis15(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 15." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_77bincount_slow_axis15, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_77bincount_slow_axis15, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis15, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis15, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1337 + /* "bincount.pyx":1342 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis16(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 16." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_79bincount_slow_axis16, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_79bincount_slow_axis16, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis16, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis16, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1341 + /* "bincount.pyx":1346 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis17(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 17." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_81bincount_slow_axis17, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_81bincount_slow_axis17, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis17, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis17, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1345 + /* "bincount.pyx":1350 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis18(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 18." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_83bincount_slow_axis18, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_83bincount_slow_axis18, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis18, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis18, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1349 + /* "bincount.pyx":1354 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis19(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 19." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_85bincount_slow_axis19, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_85bincount_slow_axis19, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis19, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis19, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1353 + /* "bincount.pyx":1358 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis20(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 20." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_87bincount_slow_axis20, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_87bincount_slow_axis20, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis20, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis20, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1357 + /* "bincount.pyx":1362 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis21(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 21." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_89bincount_slow_axis21, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_89bincount_slow_axis21, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis21, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis21, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1361 + /* "bincount.pyx":1366 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis22(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 22." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_91bincount_slow_axis22, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_91bincount_slow_axis22, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis22, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis22, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1365 + /* "bincount.pyx":1370 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis23(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 23." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_93bincount_slow_axis23, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_93bincount_slow_axis23, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis23, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis23, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1369 + /* "bincount.pyx":1374 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis24(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 24." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_95bincount_slow_axis24, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_95bincount_slow_axis24, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis24, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis24, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1373 + /* "bincount.pyx":1378 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis25(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 25." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_97bincount_slow_axis25, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_97bincount_slow_axis25, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis25, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis25, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1377 + /* "bincount.pyx":1382 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis26(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 26." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_99bincount_slow_axis26, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_99bincount_slow_axis26, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis26, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis26, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1381 + /* "bincount.pyx":1386 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis27(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 27." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_101bincount_slow_axis27, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_101bincount_slow_axis27, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis27, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis27, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1385 + /* "bincount.pyx":1390 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis28(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 28." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_103bincount_slow_axis28, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_103bincount_slow_axis28, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis28, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis28, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1389 + /* "bincount.pyx":1394 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis29(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 29." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_105bincount_slow_axis29, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_105bincount_slow_axis29, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis29, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis29, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1393 + /* "bincount.pyx":1398 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis30(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 30." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_107bincount_slow_axis30, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_107bincount_slow_axis30, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis30, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis30, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1397 + /* "bincount.pyx":1402 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis31(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 31." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_109bincount_slow_axis31, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_109bincount_slow_axis31, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis31, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis31, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1401 + /* "bincount.pyx":1406 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis32(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 32." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_111bincount_slow_axis32, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_111bincount_slow_axis32, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis32, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis32, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1405 + /* "bincount.pyx":1410 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axisNone(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis None." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_113bincount_slow_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_113bincount_slow_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1410 + /* "bincount.pyx":1415 * * * cdef dict bincount_slow_dict = {} # <<<<<<<<<<<<<< * bincount_slow_dict[0] = bincount_slow_axis0 * bincount_slow_dict[1] = bincount_slow_axis1 */ - __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_v_8bincount_bincount_slow_dict); __Pyx_DECREF_SET(__pyx_v_8bincount_bincount_slow_dict, ((PyObject*)__pyx_t_2)); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1411 + /* "bincount.pyx":1416 * * cdef dict bincount_slow_dict = {} * bincount_slow_dict[0] = bincount_slow_axis0 # <<<<<<<<<<<<<< * bincount_slow_dict[1] = bincount_slow_axis1 * bincount_slow_dict[2] = bincount_slow_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_0, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_0, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1412 + /* "bincount.pyx":1417 * cdef dict bincount_slow_dict = {} * bincount_slow_dict[0] = bincount_slow_axis0 * bincount_slow_dict[1] = bincount_slow_axis1 # <<<<<<<<<<<<<< * bincount_slow_dict[2] = bincount_slow_axis2 * bincount_slow_dict[3] = bincount_slow_axis3 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1413 + /* "bincount.pyx":1418 * bincount_slow_dict[0] = bincount_slow_axis0 * bincount_slow_dict[1] = bincount_slow_axis1 * bincount_slow_dict[2] = bincount_slow_axis2 # <<<<<<<<<<<<<< * bincount_slow_dict[3] = bincount_slow_axis3 * bincount_slow_dict[4] = bincount_slow_axis4 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_2, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_2, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1414 + /* "bincount.pyx":1419 * bincount_slow_dict[1] = bincount_slow_axis1 * bincount_slow_dict[2] = bincount_slow_axis2 * bincount_slow_dict[3] = bincount_slow_axis3 # <<<<<<<<<<<<<< * bincount_slow_dict[4] = bincount_slow_axis4 * bincount_slow_dict[5] = bincount_slow_axis5 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_3, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_3, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1415 + /* "bincount.pyx":1420 * bincount_slow_dict[2] = bincount_slow_axis2 * bincount_slow_dict[3] = bincount_slow_axis3 * bincount_slow_dict[4] = bincount_slow_axis4 # <<<<<<<<<<<<<< * bincount_slow_dict[5] = bincount_slow_axis5 * bincount_slow_dict[6] = bincount_slow_axis6 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1416 + /* "bincount.pyx":1421 * bincount_slow_dict[3] = bincount_slow_axis3 * bincount_slow_dict[4] = bincount_slow_axis4 * bincount_slow_dict[5] = bincount_slow_axis5 # <<<<<<<<<<<<<< * bincount_slow_dict[6] = bincount_slow_axis6 * bincount_slow_dict[7] = bincount_slow_axis7 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis5); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis5); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_5, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_5, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1417 + /* "bincount.pyx":1422 * bincount_slow_dict[4] = bincount_slow_axis4 * bincount_slow_dict[5] = bincount_slow_axis5 * bincount_slow_dict[6] = bincount_slow_axis6 # <<<<<<<<<<<<<< * bincount_slow_dict[7] = bincount_slow_axis7 * bincount_slow_dict[8] = bincount_slow_axis8 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_6, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_6, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1418 + /* "bincount.pyx":1423 * bincount_slow_dict[5] = bincount_slow_axis5 * bincount_slow_dict[6] = bincount_slow_axis6 * bincount_slow_dict[7] = bincount_slow_axis7 # <<<<<<<<<<<<<< * bincount_slow_dict[8] = bincount_slow_axis8 * bincount_slow_dict[9] = bincount_slow_axis9 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis7); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis7); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_7, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_7, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1419 + /* "bincount.pyx":1424 * bincount_slow_dict[6] = bincount_slow_axis6 * bincount_slow_dict[7] = bincount_slow_axis7 * bincount_slow_dict[8] = bincount_slow_axis8 # <<<<<<<<<<<<<< * bincount_slow_dict[9] = bincount_slow_axis9 * bincount_slow_dict[10] = bincount_slow_axis10 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_8, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_8, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1420 + /* "bincount.pyx":1425 * bincount_slow_dict[7] = bincount_slow_axis7 * bincount_slow_dict[8] = bincount_slow_axis8 * bincount_slow_dict[9] = bincount_slow_axis9 # <<<<<<<<<<<<<< * bincount_slow_dict[10] = bincount_slow_axis10 * bincount_slow_dict[11] = bincount_slow_axis11 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis9); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis9); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_9, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_9, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1421 + /* "bincount.pyx":1426 * bincount_slow_dict[8] = bincount_slow_axis8 * bincount_slow_dict[9] = bincount_slow_axis9 * bincount_slow_dict[10] = bincount_slow_axis10 # <<<<<<<<<<<<<< * bincount_slow_dict[11] = bincount_slow_axis11 * bincount_slow_dict[12] = bincount_slow_axis12 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis10); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis10); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_10, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_10, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1422 + /* "bincount.pyx":1427 * bincount_slow_dict[9] = bincount_slow_axis9 * bincount_slow_dict[10] = bincount_slow_axis10 * bincount_slow_dict[11] = bincount_slow_axis11 # <<<<<<<<<<<<<< * bincount_slow_dict[12] = bincount_slow_axis12 * bincount_slow_dict[13] = bincount_slow_axis13 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis11); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis11); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_11, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_11, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1423 + /* "bincount.pyx":1428 * bincount_slow_dict[10] = bincount_slow_axis10 * bincount_slow_dict[11] = bincount_slow_axis11 * bincount_slow_dict[12] = bincount_slow_axis12 # <<<<<<<<<<<<<< * bincount_slow_dict[13] = bincount_slow_axis13 * bincount_slow_dict[14] = bincount_slow_axis14 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis12); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis12); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_12, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_12, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1424 + /* "bincount.pyx":1429 * bincount_slow_dict[11] = bincount_slow_axis11 * bincount_slow_dict[12] = bincount_slow_axis12 * bincount_slow_dict[13] = bincount_slow_axis13 # <<<<<<<<<<<<<< * bincount_slow_dict[14] = bincount_slow_axis14 * bincount_slow_dict[15] = bincount_slow_axis15 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis13); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis13); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_13, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_13, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1425 + /* "bincount.pyx":1430 * bincount_slow_dict[12] = bincount_slow_axis12 * bincount_slow_dict[13] = bincount_slow_axis13 * bincount_slow_dict[14] = bincount_slow_axis14 # <<<<<<<<<<<<<< * bincount_slow_dict[15] = bincount_slow_axis15 * bincount_slow_dict[16] = bincount_slow_axis16 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis14); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis14); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_14, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_14, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1426 + /* "bincount.pyx":1431 * bincount_slow_dict[13] = bincount_slow_axis13 * bincount_slow_dict[14] = bincount_slow_axis14 * bincount_slow_dict[15] = bincount_slow_axis15 # <<<<<<<<<<<<<< * bincount_slow_dict[16] = bincount_slow_axis16 * bincount_slow_dict[17] = bincount_slow_axis17 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis15); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis15); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_15, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_15, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1427 + /* "bincount.pyx":1432 * bincount_slow_dict[14] = bincount_slow_axis14 * bincount_slow_dict[15] = bincount_slow_axis15 * bincount_slow_dict[16] = bincount_slow_axis16 # <<<<<<<<<<<<<< * bincount_slow_dict[17] = bincount_slow_axis17 * bincount_slow_dict[18] = bincount_slow_axis18 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis16); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis16); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_16, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_16, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1428 + /* "bincount.pyx":1433 * bincount_slow_dict[15] = bincount_slow_axis15 * bincount_slow_dict[16] = bincount_slow_axis16 * bincount_slow_dict[17] = bincount_slow_axis17 # <<<<<<<<<<<<<< * bincount_slow_dict[18] = bincount_slow_axis18 * bincount_slow_dict[19] = bincount_slow_axis19 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis17); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis17); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_17, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_17, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1429 + /* "bincount.pyx":1434 * bincount_slow_dict[16] = bincount_slow_axis16 * bincount_slow_dict[17] = bincount_slow_axis17 * bincount_slow_dict[18] = bincount_slow_axis18 # <<<<<<<<<<<<<< * bincount_slow_dict[19] = bincount_slow_axis19 * bincount_slow_dict[20] = bincount_slow_axis20 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis18); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis18); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_18, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_18, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1430 + /* "bincount.pyx":1435 * bincount_slow_dict[17] = bincount_slow_axis17 * bincount_slow_dict[18] = bincount_slow_axis18 * bincount_slow_dict[19] = bincount_slow_axis19 # <<<<<<<<<<<<<< * bincount_slow_dict[20] = bincount_slow_axis20 * bincount_slow_dict[21] = bincount_slow_axis21 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis19); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis19); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_19, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_19, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1431 + /* "bincount.pyx":1436 * bincount_slow_dict[18] = bincount_slow_axis18 * bincount_slow_dict[19] = bincount_slow_axis19 * bincount_slow_dict[20] = bincount_slow_axis20 # <<<<<<<<<<<<<< * bincount_slow_dict[21] = bincount_slow_axis21 * bincount_slow_dict[22] = bincount_slow_axis22 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis20); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis20); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_20, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_20, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1432 + /* "bincount.pyx":1437 * bincount_slow_dict[19] = bincount_slow_axis19 * bincount_slow_dict[20] = bincount_slow_axis20 * bincount_slow_dict[21] = bincount_slow_axis21 # <<<<<<<<<<<<<< * bincount_slow_dict[22] = bincount_slow_axis22 * bincount_slow_dict[23] = bincount_slow_axis23 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis21); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis21); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_21, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_21, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1433 + /* "bincount.pyx":1438 * bincount_slow_dict[20] = bincount_slow_axis20 * bincount_slow_dict[21] = bincount_slow_axis21 * bincount_slow_dict[22] = bincount_slow_axis22 # <<<<<<<<<<<<<< * bincount_slow_dict[23] = bincount_slow_axis23 * bincount_slow_dict[24] = bincount_slow_axis24 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis22); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis22); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_22, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_22, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1434 + /* "bincount.pyx":1439 * bincount_slow_dict[21] = bincount_slow_axis21 * bincount_slow_dict[22] = bincount_slow_axis22 * bincount_slow_dict[23] = bincount_slow_axis23 # <<<<<<<<<<<<<< * bincount_slow_dict[24] = bincount_slow_axis24 * bincount_slow_dict[25] = bincount_slow_axis25 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis23); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis23); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_23, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_23, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1435 + /* "bincount.pyx":1440 * bincount_slow_dict[22] = bincount_slow_axis22 * bincount_slow_dict[23] = bincount_slow_axis23 * bincount_slow_dict[24] = bincount_slow_axis24 # <<<<<<<<<<<<<< * bincount_slow_dict[25] = bincount_slow_axis25 * bincount_slow_dict[26] = bincount_slow_axis26 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis24); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis24); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_24, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_24, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1436 + /* "bincount.pyx":1441 * bincount_slow_dict[23] = bincount_slow_axis23 * bincount_slow_dict[24] = bincount_slow_axis24 * bincount_slow_dict[25] = bincount_slow_axis25 # <<<<<<<<<<<<<< * bincount_slow_dict[26] = bincount_slow_axis26 * bincount_slow_dict[27] = bincount_slow_axis27 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis25); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis25); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_25, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_25, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1437 + /* "bincount.pyx":1442 * bincount_slow_dict[24] = bincount_slow_axis24 * bincount_slow_dict[25] = bincount_slow_axis25 * bincount_slow_dict[26] = bincount_slow_axis26 # <<<<<<<<<<<<<< * bincount_slow_dict[27] = bincount_slow_axis27 * bincount_slow_dict[28] = bincount_slow_axis28 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis26); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis26); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_26, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_26, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1438 + /* "bincount.pyx":1443 * bincount_slow_dict[25] = bincount_slow_axis25 * bincount_slow_dict[26] = bincount_slow_axis26 * bincount_slow_dict[27] = bincount_slow_axis27 # <<<<<<<<<<<<<< * bincount_slow_dict[28] = bincount_slow_axis28 * bincount_slow_dict[29] = bincount_slow_axis29 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis27); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis27); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_27, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_27, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1439 + /* "bincount.pyx":1444 * bincount_slow_dict[26] = bincount_slow_axis26 * bincount_slow_dict[27] = bincount_slow_axis27 * bincount_slow_dict[28] = bincount_slow_axis28 # <<<<<<<<<<<<<< * bincount_slow_dict[29] = bincount_slow_axis29 * bincount_slow_dict[30] = bincount_slow_axis30 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis28); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis28); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_28, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_28, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1440 + /* "bincount.pyx":1445 * bincount_slow_dict[27] = bincount_slow_axis27 * bincount_slow_dict[28] = bincount_slow_axis28 * bincount_slow_dict[29] = bincount_slow_axis29 # <<<<<<<<<<<<<< * bincount_slow_dict[30] = bincount_slow_axis30 * bincount_slow_dict[31] = bincount_slow_axis31 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis29); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis29); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_29, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_29, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1441 + /* "bincount.pyx":1446 * bincount_slow_dict[28] = bincount_slow_axis28 * bincount_slow_dict[29] = bincount_slow_axis29 * bincount_slow_dict[30] = bincount_slow_axis30 # <<<<<<<<<<<<<< * bincount_slow_dict[31] = bincount_slow_axis31 * bincount_slow_dict[32] = bincount_slow_axis32 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis30); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis30); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_30, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_30, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1442 + /* "bincount.pyx":1447 * bincount_slow_dict[29] = bincount_slow_axis29 * bincount_slow_dict[30] = bincount_slow_axis30 * bincount_slow_dict[31] = bincount_slow_axis31 # <<<<<<<<<<<<<< * bincount_slow_dict[32] = bincount_slow_axis32 * bincount_slow_dict[None] = bincount_slow_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis31); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis31); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_31, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_31, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1443 + /* "bincount.pyx":1448 * bincount_slow_dict[30] = bincount_slow_axis30 * bincount_slow_dict[31] = bincount_slow_axis31 * bincount_slow_dict[32] = bincount_slow_axis32 # <<<<<<<<<<<<<< * bincount_slow_dict[None] = bincount_slow_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_32, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_32, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1444 + /* "bincount.pyx":1449 * bincount_slow_dict[31] = bincount_slow_axis31 * bincount_slow_dict[32] = bincount_slow_axis32 * bincount_slow_dict[None] = bincount_slow_axisNone # <<<<<<<<<<<<<< */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, Py_None, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, Py_None, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "bincount.pyx":1 @@ -30943,7 +31109,7 @@ PyMODINIT_FUNC PyInit_bincount(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -31147,21 +31313,82 @@ static int __Pyx_ParseOptionalKeywords( return -1; } -static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) { - PyObject *result; +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { + PyObject *r; + if (!j) return NULL; + r = PyObject_GetItem(o, j); + Py_DECREF(j); + return r; +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck) { #if CYTHON_COMPILING_IN_CPYTHON - result = PyDict_GetItem(__pyx_d, name); - if (likely(result)) { - Py_INCREF(result); - } else { + if (wraparound & unlikely(i < 0)) i += PyList_GET_SIZE(o); + if ((!boundscheck) || likely((0 <= i) & (i < PyList_GET_SIZE(o)))) { + PyObject *r = PyList_GET_ITEM(o, i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); #else - result = PyObject_GetItem(__pyx_d, name); - if (!result) { - PyErr_Clear(); + return PySequence_GetItem(o, i); #endif - result = __Pyx_GetBuiltinName(name); +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck) { +#if CYTHON_COMPILING_IN_CPYTHON + if (wraparound & unlikely(i < 0)) i += PyTuple_GET_SIZE(o); + if ((!boundscheck) || likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, i); + Py_INCREF(r); + return r; } - return result; + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, + int is_list, int wraparound, int boundscheck) { +#if CYTHON_COMPILING_IN_CPYTHON + if (is_list || PyList_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); + if ((!boundscheck) || (likely((n >= 0) & (n < PyList_GET_SIZE(o))))) { + PyObject *r = PyList_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } + else if (PyTuple_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); + if ((!boundscheck) || likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } else { + PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; + if (likely(m && m->sq_item)) { + if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { + Py_ssize_t l = m->sq_length(o); + if (likely(l >= 0)) { + i += l; + } else { + if (PyErr_ExceptionMatches(PyExc_OverflowError)) + PyErr_Clear(); + else + return NULL; + } + } + return m->sq_item(o, i); + } + } +#else + if (is_list || PySequence_Check(o)) { + return PySequence_GetItem(o, i); + } +#endif + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); } #if CYTHON_COMPILING_IN_CPYTHON @@ -31183,28 +31410,225 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg } #endif -static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { - PyErr_Format(PyExc_ValueError, - "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); -} - -static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { - PyErr_Format(PyExc_ValueError, - "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", - index, (index == 1) ? "" : "s"); -} - -static CYTHON_INLINE int __Pyx_IterFinish(void) { +static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { #if CYTHON_COMPILING_IN_CPYTHON + PyObject *tmp_type, *tmp_value, *tmp_tb; PyThreadState *tstate = PyThreadState_GET(); - PyObject* exc_type = tstate->curexc_type; - if (unlikely(exc_type)) { - if (likely(exc_type == PyExc_StopIteration) || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)) { - PyObject *exc_value, *exc_tb; - exc_value = tstate->curexc_value; - exc_tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_Restore(type, value, tb); +#endif +} +static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) { +#if CYTHON_COMPILING_IN_CPYTHON + PyThreadState *tstate = PyThreadState_GET(); + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +#else + PyErr_Fetch(type, value, tb); +#endif +} + +#if PY_MAJOR_VERSION < 3 +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, + CYTHON_UNUSED PyObject *cause) { + Py_XINCREF(type); + if (!value || value == Py_None) + value = NULL; + else + Py_INCREF(value); + if (!tb || tb == Py_None) + tb = NULL; + else { + Py_INCREF(tb); + if (!PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto raise_error; + } + } + if (PyType_Check(type)) { +#if CYTHON_COMPILING_IN_PYPY + if (!value) { + Py_INCREF(Py_None); + value = Py_None; + } +#endif + PyErr_NormalizeException(&type, &value, &tb); + } else { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto raise_error; + } + value = type; + type = (PyObject*) Py_TYPE(type); + Py_INCREF(type); + if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto raise_error; + } + } + __Pyx_ErrRestore(type, value, tb); + return; +raise_error: + Py_XDECREF(value); + Py_XDECREF(type); + Py_XDECREF(tb); + return; +} +#else +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { + PyObject* owned_instance = NULL; + if (tb == Py_None) { + tb = 0; + } else if (tb && !PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto bad; + } + if (value == Py_None) + value = 0; + if (PyExceptionInstance_Check(type)) { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto bad; + } + value = type; + type = (PyObject*) Py_TYPE(value); + } else if (PyExceptionClass_Check(type)) { + PyObject *instance_class = NULL; + if (value && PyExceptionInstance_Check(value)) { + instance_class = (PyObject*) Py_TYPE(value); + if (instance_class != type) { + if (PyObject_IsSubclass(instance_class, type)) { + type = instance_class; + } else { + instance_class = NULL; + } + } + } + if (!instance_class) { + PyObject *args; + if (!value) + args = PyTuple_New(0); + else if (PyTuple_Check(value)) { + Py_INCREF(value); + args = value; + } else + args = PyTuple_Pack(1, value); + if (!args) + goto bad; + owned_instance = PyObject_Call(type, args, NULL); + Py_DECREF(args); + if (!owned_instance) + goto bad; + value = owned_instance; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %R", + type, Py_TYPE(value)); + goto bad; + } + } + } else { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto bad; + } +#if PY_VERSION_HEX >= 0x03030000 + if (cause) { +#else + if (cause && cause != Py_None) { +#endif + PyObject *fixed_cause; + if (cause == Py_None) { + fixed_cause = NULL; + } else if (PyExceptionClass_Check(cause)) { + fixed_cause = PyObject_CallObject(cause, NULL); + if (fixed_cause == NULL) + goto bad; + } else if (PyExceptionInstance_Check(cause)) { + fixed_cause = cause; + Py_INCREF(fixed_cause); + } else { + PyErr_SetString(PyExc_TypeError, + "exception causes must derive from " + "BaseException"); + goto bad; + } + PyException_SetCause(value, fixed_cause); + } + PyErr_SetObject(type, value); + if (tb) { + PyThreadState *tstate = PyThreadState_GET(); + PyObject* tmp_tb = tstate->curexc_traceback; + if (tb != tmp_tb) { + Py_INCREF(tb); + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_tb); + } + } +bad: + Py_XDECREF(owned_instance); + return; +} +#endif + +static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) { + PyObject *result; +#if CYTHON_COMPILING_IN_CPYTHON + result = PyDict_GetItem(__pyx_d, name); + if (likely(result)) { + Py_INCREF(result); + } else { +#else + result = PyObject_GetItem(__pyx_d, name); + if (!result) { + PyErr_Clear(); +#endif + result = __Pyx_GetBuiltinName(name); + } + return result; +} + +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { + PyErr_Format(PyExc_ValueError, + "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); +} + +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { + PyErr_Format(PyExc_ValueError, + "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", + index, (index == 1) ? "" : "s"); +} + +static CYTHON_INLINE int __Pyx_IterFinish(void) { +#if CYTHON_COMPILING_IN_CPYTHON + PyThreadState *tstate = PyThreadState_GET(); + PyObject* exc_type = tstate->curexc_type; + if (unlikely(exc_type)) { + if (likely(exc_type == PyExc_StopIteration) || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)) { + PyObject *exc_value, *exc_tb; + exc_value = tstate->curexc_value; + exc_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; tstate->curexc_traceback = 0; Py_DECREF(exc_type); Py_XDECREF(exc_value); @@ -31323,250 +31747,70 @@ static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) tstate->exc_type = type; tstate->exc_value = value; tstate->exc_traceback = tb; - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#else - PyErr_SetExcInfo(type, value, tb); -#endif -} - -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) { - PyObject *local_type, *local_value, *local_tb; -#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); - local_type = tstate->curexc_type; - local_value = tstate->curexc_value; - local_tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -#else - PyErr_Fetch(&local_type, &local_value, &local_tb); -#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(tstate->curexc_type)) -#else - if (unlikely(PyErr_Occurred())) -#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (local_tb) { - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - } - #endif - Py_XINCREF(local_tb); - Py_XINCREF(local_type); - Py_XINCREF(local_value); - *type = local_type; - *value = local_value; - *tb = local_tb; -#if CYTHON_COMPILING_IN_CPYTHON - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = local_type; - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#else - PyErr_SetExcInfo(local_type, local_value, local_tb); -#endif - return 0; -bad: - *type = 0; - *value = 0; - *tb = 0; - Py_XDECREF(local_type); - Py_XDECREF(local_value); - Py_XDECREF(local_tb); - return -1; -} - -static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { -#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; - tstate->curexc_type = type; - tstate->curexc_value = value; - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#else - PyErr_Restore(type, value, tb); -#endif -} -static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) { -#if CYTHON_COMPILING_IN_CPYTHON - PyThreadState *tstate = PyThreadState_GET(); - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -#else - PyErr_Fetch(type, value, tb); -#endif -} - -#if PY_MAJOR_VERSION < 3 -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, - CYTHON_UNUSED PyObject *cause) { - Py_XINCREF(type); - if (!value || value == Py_None) - value = NULL; - else - Py_INCREF(value); - if (!tb || tb == Py_None) - tb = NULL; - else { - Py_INCREF(tb); - if (!PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto raise_error; - } - } - if (PyType_Check(type)) { -#if CYTHON_COMPILING_IN_PYPY - if (!value) { - Py_INCREF(Py_None); - value = Py_None; - } -#endif - PyErr_NormalizeException(&type, &value, &tb); - } else { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto raise_error; - } - value = type; - type = (PyObject*) Py_TYPE(type); - Py_INCREF(type); - if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto raise_error; - } - } - __Pyx_ErrRestore(type, value, tb); - return; -raise_error: - Py_XDECREF(value); - Py_XDECREF(type); - Py_XDECREF(tb); - return; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_SetExcInfo(type, value, tb); +#endif } + +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) { + PyObject *local_type, *local_value, *local_tb; +#if CYTHON_COMPILING_IN_CPYTHON + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyThreadState *tstate = PyThreadState_GET(); + local_type = tstate->curexc_type; + local_value = tstate->curexc_value; + local_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; #else -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { - PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); + PyErr_Fetch(&local_type, &local_value, &local_tb); +#endif + PyErr_NormalizeException(&local_type, &local_value, &local_tb); +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(tstate->curexc_type)) +#else + if (unlikely(PyErr_Occurred())) +#endif goto bad; - } - if (value == Py_None) - value = 0; - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); + #if PY_MAJOR_VERSION >= 3 + if (local_tb) { + if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) goto bad; - } - value = type; - type = (PyObject*) Py_TYPE(value); - } else if (PyExceptionClass_Check(type)) { - PyObject *instance_class = NULL; - if (value && PyExceptionInstance_Check(value)) { - instance_class = (PyObject*) Py_TYPE(value); - if (instance_class != type) { - if (PyObject_IsSubclass(instance_class, type)) { - type = instance_class; - } else { - instance_class = NULL; - } - } - } - if (!instance_class) { - PyObject *args; - if (!value) - args = PyTuple_New(0); - else if (PyTuple_Check(value)) { - Py_INCREF(value); - args = value; - } else - args = PyTuple_Pack(1, value); - if (!args) - goto bad; - owned_instance = PyObject_Call(type, args, NULL); - Py_DECREF(args); - if (!owned_instance) - goto bad; - value = owned_instance; - if (!PyExceptionInstance_Check(value)) { - PyErr_Format(PyExc_TypeError, - "calling %R should have returned an instance of " - "BaseException, not %R", - type, Py_TYPE(value)); - goto bad; - } - } - } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; } -#if PY_VERSION_HEX >= 0x03030000 - if (cause) { + #endif + Py_XINCREF(local_tb); + Py_XINCREF(local_type); + Py_XINCREF(local_value); + *type = local_type; + *value = local_value; + *tb = local_tb; +#if CYTHON_COMPILING_IN_CPYTHON + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = local_type; + tstate->exc_value = local_value; + tstate->exc_traceback = local_tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); #else - if (cause && cause != Py_None) { + PyErr_SetExcInfo(local_type, local_value, local_tb); #endif - PyObject *fixed_cause; - if (cause == Py_None) { - fixed_cause = NULL; - } else if (PyExceptionClass_Check(cause)) { - fixed_cause = PyObject_CallObject(cause, NULL); - if (fixed_cause == NULL) - goto bad; - } else if (PyExceptionInstance_Check(cause)) { - fixed_cause = cause; - Py_INCREF(fixed_cause); - } else { - PyErr_SetString(PyExc_TypeError, - "exception causes must derive from " - "BaseException"); - goto bad; - } - PyException_SetCause(value, fixed_cause); - } - PyErr_SetObject(type, value); - if (tb) { - PyThreadState *tstate = PyThreadState_GET(); - PyObject* tmp_tb = tstate->curexc_traceback; - if (tb != tmp_tb) { - Py_INCREF(tb); - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_tb); - } - } + return 0; bad: - Py_XDECREF(owned_instance); - return; + *type = 0; + *value = 0; + *tb = 0; + Py_XDECREF(local_type); + Py_XDECREF(local_value); + Py_XDECREF(local_tb); + return -1; } -#endif static void __Pyx_RaiseArgumentTypeInvalid(const char* name, PyObject *obj, PyTypeObject *type) { PyErr_Format(PyExc_TypeError, @@ -32143,84 +32387,6 @@ static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) { __Pyx_ReleaseBuffer(info); } -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { - PyObject *r; - if (!j) return NULL; - r = PyObject_GetItem(o, j); - Py_DECREF(j); - return r; -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck) { -#if CYTHON_COMPILING_IN_CPYTHON - if (wraparound & unlikely(i < 0)) i += PyList_GET_SIZE(o); - if ((!boundscheck) || likely((0 <= i) & (i < PyList_GET_SIZE(o)))) { - PyObject *r = PyList_GET_ITEM(o, i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck) { -#if CYTHON_COMPILING_IN_CPYTHON - if (wraparound & unlikely(i < 0)) i += PyTuple_GET_SIZE(o); - if ((!boundscheck) || likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, - int is_list, int wraparound, int boundscheck) { -#if CYTHON_COMPILING_IN_CPYTHON - if (is_list || PyList_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); - if ((!boundscheck) || (likely((n >= 0) & (n < PyList_GET_SIZE(o))))) { - PyObject *r = PyList_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } - else if (PyTuple_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); - if ((!boundscheck) || likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } else { - PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; - if (likely(m && m->sq_item)) { - if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { - Py_ssize_t l = m->sq_length(o); - if (likely(l >= 0)) { - i += l; - } else { - if (PyErr_ExceptionMatches(PyExc_OverflowError)) - PyErr_Clear(); - else - return NULL; - } - } - return m->sq_item(o, i); - } - } -#else - if (is_list || PySequence_Check(o)) { - return PySequence_GetItem(o, i); - } -#endif - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -} - static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); } @@ -32974,54 +33140,54 @@ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { return (int) -1; } -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { - const int neg_one = (int) -1, const_zero = 0; +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { + const long neg_one = (long) -1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (is_unsigned) { - if (sizeof(int) < sizeof(long)) { + if (sizeof(long) < sizeof(long)) { return PyInt_FromLong((long) value); - } else if (sizeof(int) <= sizeof(unsigned long)) { + } else if (sizeof(long) <= sizeof(unsigned long)) { return PyLong_FromUnsignedLong((unsigned long) value); - } else if (sizeof(int) <= sizeof(unsigned long long)) { + } else if (sizeof(long) <= sizeof(unsigned long long)) { return PyLong_FromUnsignedLongLong((unsigned long long) value); } } else { - if (sizeof(int) <= sizeof(long)) { + if (sizeof(long) <= sizeof(long)) { return PyInt_FromLong((long) value); - } else if (sizeof(int) <= sizeof(long long)) { + } else if (sizeof(long) <= sizeof(long long)) { return PyLong_FromLongLong((long long) value); } } { int one = 1; int little = (int)*(unsigned char *)&one; unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(int), + return _PyLong_FromByteArray(bytes, sizeof(long), little, !is_unsigned); } } -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { - const long neg_one = (long) -1, const_zero = 0; +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { + const int neg_one = (int) -1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (is_unsigned) { - if (sizeof(long) < sizeof(long)) { + if (sizeof(int) < sizeof(long)) { return PyInt_FromLong((long) value); - } else if (sizeof(long) <= sizeof(unsigned long)) { + } else if (sizeof(int) <= sizeof(unsigned long)) { return PyLong_FromUnsignedLong((unsigned long) value); - } else if (sizeof(long) <= sizeof(unsigned long long)) { + } else if (sizeof(int) <= sizeof(unsigned long long)) { return PyLong_FromUnsignedLongLong((unsigned long long) value); } } else { - if (sizeof(long) <= sizeof(long)) { + if (sizeof(int) <= sizeof(long)) { return PyInt_FromLong((long) value); - } else if (sizeof(long) <= sizeof(long long)) { + } else if (sizeof(int) <= sizeof(long long)) { return PyLong_FromLongLong((long long) value); } } { int one = 1; int little = (int)*(unsigned char *)&one; unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(long), + return _PyLong_FromByteArray(bytes, sizeof(int), little, !is_unsigned); } } diff --git a/bottlechest/src/func/32bit/contingency.c b/bottlechest/src/func/32bit/contingency.c index 0ce58e5441..679372d563 100644 --- a/bottlechest/src/func/32bit/contingency.c +++ b/bottlechest/src/func/32bit/contingency.c @@ -476,7 +476,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -485,7 +485,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -494,7 +494,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -503,7 +503,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -512,7 +512,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -521,7 +521,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -530,7 +530,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -539,7 +539,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -548,7 +548,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -557,7 +557,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -566,7 +566,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -575,7 +575,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -584,7 +584,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -593,7 +593,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -602,7 +602,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -611,7 +611,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -620,7 +620,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -629,7 +629,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -638,7 +638,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -647,7 +647,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -656,7 +656,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -687,7 +687,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -696,7 +696,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -705,7 +705,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -714,7 +714,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1344,6 +1344,7 @@ static char __pyx_k_contingency_2d_float_axisNone[] = "contingency_2d_float_axis static char __pyx_k_contingency_2d_int32_axisNone[] = "contingency_2d_int32_axisNone"; static char __pyx_k_contingency_2d_int64_axisNone[] = "contingency_2d_int64_axisNone"; static char __pyx_k_negative_value_in_contingency[] = "negative value in contingency"; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/contingency.pyx"; static char __pyx_k_contingency_0d_float32_axisNone[] = "contingency_0d_float32_axisNone"; static char __pyx_k_contingency_0d_float64_axisNone[] = "contingency_0d_float64_axisNone"; static char __pyx_k_contingency_1d_float32_axisNone[] = "contingency_1d_float32_axisNone"; @@ -1353,7 +1354,6 @@ static char __pyx_k_contingency_2d_float64_axisNone[] = "contingency_2d_float64_ static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; static char __pyx_k_value_i_is_greater_than_max_val[] = "value %i is greater than max_val (%i)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\contingency.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; @@ -1362,7 +1362,6 @@ static char __pyx_k_invalid_length_of_the_weight_vec[] = "invalid length of the static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_value_i_is_greater_than_max_val2[] = "value %i is greater than max_val2 (%i)"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1374,6 +1373,7 @@ static PyObject *__pyx_n_s_PARTSORT_ERR_MSG; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__58; static PyObject *__pyx_n_s_a; @@ -25844,7 +25844,7 @@ static PyObject *__pyx_pf_11contingency_112contingency_slow_axisNone(CYTHON_UNUS return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -25894,7 +25894,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -25907,7 +25907,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -25916,7 +25916,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -25925,7 +25925,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -25934,7 +25934,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -25944,7 +25944,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -25956,7 +25956,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -25967,7 +25967,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -25983,7 +25983,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -25995,7 +25995,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -26009,7 +26009,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -26025,7 +26025,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -26037,7 +26037,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -26051,7 +26051,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -26060,7 +26060,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -26069,7 +26069,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -26079,7 +26079,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -26088,7 +26088,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -26097,7 +26097,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -26108,7 +26108,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -26117,7 +26117,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -26130,7 +26130,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -26139,7 +26139,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -26150,7 +26150,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -26159,7 +26159,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -26168,7 +26168,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -26177,7 +26177,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -26186,7 +26186,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -26198,7 +26198,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -26207,7 +26207,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -26227,7 +26227,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -26243,7 +26243,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -26258,7 +26258,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -26268,7 +26268,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -26278,7 +26278,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -26301,7 +26301,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -26321,7 +26321,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -26335,7 +26335,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -26344,7 +26344,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -26355,7 +26355,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -26366,7 +26366,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -26377,7 +26377,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -26388,7 +26388,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -26399,7 +26399,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -26410,7 +26410,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -26421,7 +26421,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -26432,7 +26432,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -26443,7 +26443,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -26454,7 +26454,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -26465,7 +26465,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -26476,7 +26476,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -26487,7 +26487,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -26498,7 +26498,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -26509,7 +26509,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -26520,7 +26520,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -26532,7 +26532,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -26558,7 +26558,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -26567,7 +26567,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -26579,7 +26579,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -26588,7 +26588,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -26597,7 +26597,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -26606,7 +26606,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -26616,7 +26616,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -26626,7 +26626,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -26658,7 +26658,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -26682,7 +26682,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -26692,7 +26692,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -26704,7 +26704,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -26714,7 +26714,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -26726,7 +26726,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -26738,7 +26738,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -26755,7 +26755,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -26769,7 +26769,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -26788,7 +26788,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -26805,7 +26805,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -26819,7 +26819,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -26838,7 +26838,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -26855,7 +26855,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -26869,7 +26869,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -26888,7 +26888,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -26905,7 +26905,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -26919,7 +26919,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -26938,7 +26938,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -26955,7 +26955,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -26969,7 +26969,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -26988,7 +26988,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -27020,7 +27020,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -27029,7 +27029,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -27038,7 +27038,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -27060,7 +27060,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -27073,7 +27073,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -27112,7 +27112,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -27129,7 +27129,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -27143,7 +27143,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -27166,7 +27166,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -27186,7 +27186,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -27200,7 +27200,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -27216,7 +27216,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -27225,7 +27225,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -27234,7 +27234,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -27245,7 +27245,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -27255,7 +27255,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -27265,7 +27265,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -27277,7 +27277,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -27287,7 +27287,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -27301,7 +27301,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -27319,7 +27319,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -27337,7 +27337,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -27355,7 +27355,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -27373,7 +27373,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -27391,7 +27391,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -27409,7 +27409,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -27427,7 +27427,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -27445,7 +27445,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -27463,7 +27463,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -27481,7 +27481,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -27499,7 +27499,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -27517,7 +27517,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -27535,7 +27535,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -27555,7 +27555,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -27575,7 +27575,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -27595,7 +27595,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -27614,7 +27614,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -27637,7 +27637,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -27649,7 +27649,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -27661,7 +27661,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -27671,7 +27671,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -27681,7 +27681,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -27706,7 +27706,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -27721,7 +27721,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -27732,7 +27732,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -27744,7 +27744,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -27753,7 +27753,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -27764,7 +27764,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -27773,7 +27773,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -27782,7 +27782,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -27794,7 +27794,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -27808,7 +27808,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -27818,7 +27818,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -27832,7 +27832,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -27843,7 +27843,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -27881,7 +27881,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -27893,6 +27892,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_s_s, __pyx_k_Unsupported_ndim_dtype_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__58, __pyx_k__58, sizeof(__pyx_k__58), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -28606,7 +28606,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -28617,7 +28617,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__52); __Pyx_GIVEREF(__pyx_tuple__52); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -28628,7 +28628,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -28639,7 +28639,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__54); __Pyx_GIVEREF(__pyx_tuple__54); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -28650,7 +28650,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -28661,7 +28661,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__56); __Pyx_GIVEREF(__pyx_tuple__56); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -28693,7 +28693,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__60 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask, __pyx_n_s_func, __pyx_n_s_a); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__60); __Pyx_GIVEREF(__pyx_tuple__60); - __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(6, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(6, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":121 * @@ -28705,7 +28705,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__62 = PyTuple_Pack(12, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__62); __Pyx_GIVEREF(__pyx_tuple__62); - __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(6, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_selector, 121, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(6, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_selector, 121, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":176 * @cython.boundscheck(False) @@ -28717,7 +28717,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__64 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_bin); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__64); __Pyx_GIVEREF(__pyx_tuple__64); - __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(6, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_1d_int_axisNone, 176, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(6, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_1d_int_axisNone, 176, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":233 * @cython.boundscheck(False) @@ -28729,7 +28729,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__66 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_bin); if (unlikely(!__pyx_tuple__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__66); __Pyx_GIVEREF(__pyx_tuple__66); - __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(6, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_1d_int8_axisNone, 233, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(6, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_1d_int8_axisNone, 233, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":290 * @cython.boundscheck(False) @@ -28741,7 +28741,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__68 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_bin); if (unlikely(!__pyx_tuple__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__68); __Pyx_GIVEREF(__pyx_tuple__68); - __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(6, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_1d_int32_axisNone, 290, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(6, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_1d_int32_axisNone, 290, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":347 * @cython.boundscheck(False) @@ -28753,7 +28753,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__70 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_bin); if (unlikely(!__pyx_tuple__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__70); __Pyx_GIVEREF(__pyx_tuple__70); - __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(6, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_1d_int64_axisNone, 347, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(6, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_1d_int64_axisNone, 347, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":404 * @cython.boundscheck(False) @@ -28765,7 +28765,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__72 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_bin, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__72); __Pyx_GIVEREF(__pyx_tuple__72); - __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(6, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_2d_int_axisNone, 404, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(6, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_2d_int_axisNone, 404, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":450 * @cython.boundscheck(False) @@ -28777,7 +28777,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__74 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_bin, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__74); __Pyx_GIVEREF(__pyx_tuple__74); - __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(6, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_2d_int8_axisNone, 450, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(6, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_2d_int8_axisNone, 450, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":496 * @cython.boundscheck(False) @@ -28789,7 +28789,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__76 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_bin, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__76); __Pyx_GIVEREF(__pyx_tuple__76); - __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(6, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_2d_int32_axisNone, 496, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(6, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_2d_int32_axisNone, 496, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":542 * @cython.boundscheck(False) @@ -28801,7 +28801,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__78 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_bin, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__78); __Pyx_GIVEREF(__pyx_tuple__78); - __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(6, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_2d_int64_axisNone, 542, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(6, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_2d_int64_axisNone, 542, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":584 * @cython.boundscheck(False) @@ -28813,7 +28813,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__80 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_bin, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__80); __Pyx_GIVEREF(__pyx_tuple__80); - __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(6, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_0d_int_axisNone, 584, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(6, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_0d_int_axisNone, 584, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":627 * @cython.boundscheck(False) @@ -28825,7 +28825,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__82 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_bin, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__82); __Pyx_GIVEREF(__pyx_tuple__82); - __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(6, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_0d_int8_axisNone, 627, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(6, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_0d_int8_axisNone, 627, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":670 * @cython.boundscheck(False) @@ -28837,7 +28837,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__84 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_bin, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__84); __Pyx_GIVEREF(__pyx_tuple__84); - __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(6, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_0d_int32_axisNone, 670, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(6, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_0d_int32_axisNone, 670, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":713 * @cython.boundscheck(False) @@ -28849,7 +28849,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__86 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_bin, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__86); __Pyx_GIVEREF(__pyx_tuple__86); - __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(6, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_0d_int64_axisNone, 713, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(6, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_0d_int64_axisNone, 713, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":760 * @cython.boundscheck(False) @@ -28861,7 +28861,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__88 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_bin, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__88); __Pyx_GIVEREF(__pyx_tuple__88); - __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(6, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_1d_float_axisNone, 760, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(6, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_1d_float_axisNone, 760, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":831 * @cython.boundscheck(False) @@ -28873,7 +28873,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__90 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_bin, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__90); __Pyx_GIVEREF(__pyx_tuple__90); - __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(6, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_1d_float32_axisNone, 831, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(6, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_1d_float32_axisNone, 831, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":902 * @cython.boundscheck(False) @@ -28885,7 +28885,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__92 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_bin, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__92); __Pyx_GIVEREF(__pyx_tuple__92); - __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(6, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_1d_float64_axisNone, 902, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(6, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_1d_float64_axisNone, 902, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":973 * @cython.boundscheck(False) @@ -28897,7 +28897,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__94 = PyTuple_Pack(19, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_bin, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__94); __Pyx_GIVEREF(__pyx_tuple__94); - __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(6, 0, 19, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_2d_float_axisNone, 973, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(6, 0, 19, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_2d_float_axisNone, 973, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1027 * @cython.boundscheck(False) @@ -28909,7 +28909,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__96 = PyTuple_Pack(19, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_bin, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__96); __Pyx_GIVEREF(__pyx_tuple__96); - __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(6, 0, 19, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_2d_float32_axisNone, 1027, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(6, 0, 19, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_2d_float32_axisNone, 1027, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1081 * @cython.boundscheck(False) @@ -28921,7 +28921,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__98 = PyTuple_Pack(19, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_bin, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__98); __Pyx_GIVEREF(__pyx_tuple__98); - __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(6, 0, 19, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_2d_float64_axisNone, 1081, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(6, 0, 19, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_2d_float64_axisNone, 1081, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1131 * @cython.boundscheck(False) @@ -28933,7 +28933,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__100 = PyTuple_Pack(22, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_ain, __pyx_n_s_bin); if (unlikely(!__pyx_tuple__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__100); __Pyx_GIVEREF(__pyx_tuple__100); - __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(6, 0, 22, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_0d_float_axisNone, 1131, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(6, 0, 22, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_0d_float_axisNone, 1131, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1188 * @cython.boundscheck(False) @@ -28945,7 +28945,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__102 = PyTuple_Pack(22, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_ain, __pyx_n_s_bin); if (unlikely(!__pyx_tuple__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__102); __Pyx_GIVEREF(__pyx_tuple__102); - __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(6, 0, 22, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_0d_float32_axisNone, 1188, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(6, 0, 22, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_0d_float32_axisNone, 1188, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1245 * @cython.boundscheck(False) @@ -28957,7 +28957,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__104 = PyTuple_Pack(22, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_ain, __pyx_n_s_bin); if (unlikely(!__pyx_tuple__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__104); __Pyx_GIVEREF(__pyx_tuple__104); - __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(6, 0, 22, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_0d_float64_axisNone, 1245, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(6, 0, 22, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_0d_float64_axisNone, 1245, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1330 * contingency_dict[(0, NPY_float64, None)] = contingency_0d_float64_axisNone @@ -28969,7 +28969,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__106 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__106); __Pyx_GIVEREF(__pyx_tuple__106); - __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis0, 1330, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis0, 1330, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1334 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -28981,7 +28981,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__108 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__108); __Pyx_GIVEREF(__pyx_tuple__108); - __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis1, 1334, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis1, 1334, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1338 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -28993,7 +28993,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__110 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__110); __Pyx_GIVEREF(__pyx_tuple__110); - __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis2, 1338, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis2, 1338, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1342 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29005,7 +29005,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__112 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__112); __Pyx_GIVEREF(__pyx_tuple__112); - __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis3, 1342, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis3, 1342, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1346 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29017,7 +29017,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__114 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__114); __Pyx_GIVEREF(__pyx_tuple__114); - __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis4, 1346, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis4, 1346, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1350 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29029,7 +29029,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__116 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__116); __Pyx_GIVEREF(__pyx_tuple__116); - __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis5, 1350, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis5, 1350, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1354 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29041,7 +29041,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__118 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__118); __Pyx_GIVEREF(__pyx_tuple__118); - __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis6, 1354, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis6, 1354, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1358 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29053,7 +29053,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__120 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__120); __Pyx_GIVEREF(__pyx_tuple__120); - __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis7, 1358, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis7, 1358, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1362 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29065,7 +29065,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__122 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__122); __Pyx_GIVEREF(__pyx_tuple__122); - __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis8, 1362, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis8, 1362, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1366 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29077,7 +29077,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__124 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__124); __Pyx_GIVEREF(__pyx_tuple__124); - __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis9, 1366, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis9, 1366, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1370 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29089,7 +29089,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__126 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__126); __Pyx_GIVEREF(__pyx_tuple__126); - __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis10, 1370, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis10, 1370, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1374 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29101,7 +29101,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__128 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__128); __Pyx_GIVEREF(__pyx_tuple__128); - __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis11, 1374, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis11, 1374, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1378 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29113,7 +29113,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__130 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__130); __Pyx_GIVEREF(__pyx_tuple__130); - __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis12, 1378, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis12, 1378, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1382 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29125,7 +29125,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__132 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__132); __Pyx_GIVEREF(__pyx_tuple__132); - __pyx_codeobj__133 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis13, 1382, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__133 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis13, 1382, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1386 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29137,7 +29137,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__134 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__134); __Pyx_GIVEREF(__pyx_tuple__134); - __pyx_codeobj__135 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__134, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis14, 1386, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__135 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__134, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis14, 1386, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1390 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29149,7 +29149,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__136 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__136); __Pyx_GIVEREF(__pyx_tuple__136); - __pyx_codeobj__137 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__136, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis15, 1390, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__137 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__136, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis15, 1390, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1394 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29161,7 +29161,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__138 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__138); __Pyx_GIVEREF(__pyx_tuple__138); - __pyx_codeobj__139 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis16, 1394, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__139 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis16, 1394, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1398 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29173,7 +29173,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__140 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__140); __Pyx_GIVEREF(__pyx_tuple__140); - __pyx_codeobj__141 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__140, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis17, 1398, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__141 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__140, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis17, 1398, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1402 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29185,7 +29185,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__142 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__142); __Pyx_GIVEREF(__pyx_tuple__142); - __pyx_codeobj__143 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__142, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis18, 1402, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__143 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__142, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis18, 1402, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1406 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29197,7 +29197,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__144 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__144); __Pyx_GIVEREF(__pyx_tuple__144); - __pyx_codeobj__145 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__144, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis19, 1406, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__145 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__144, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis19, 1406, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1410 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29209,7 +29209,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__146 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__146); __Pyx_GIVEREF(__pyx_tuple__146); - __pyx_codeobj__147 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__146, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis20, 1410, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__147 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__146, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis20, 1410, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1414 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29221,7 +29221,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__148 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__148); __Pyx_GIVEREF(__pyx_tuple__148); - __pyx_codeobj__149 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis21, 1414, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__149 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis21, 1414, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1418 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29233,7 +29233,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__150 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__150); __Pyx_GIVEREF(__pyx_tuple__150); - __pyx_codeobj__151 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__150, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis22, 1418, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__151 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__150, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis22, 1418, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1422 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29245,7 +29245,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__152 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__152); __Pyx_GIVEREF(__pyx_tuple__152); - __pyx_codeobj__153 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__152, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis23, 1422, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__153 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__152, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis23, 1422, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1426 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29257,7 +29257,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__154 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__154); __Pyx_GIVEREF(__pyx_tuple__154); - __pyx_codeobj__155 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis24, 1426, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__155 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis24, 1426, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1430 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29269,7 +29269,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__156 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__156); __Pyx_GIVEREF(__pyx_tuple__156); - __pyx_codeobj__157 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__156, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis25, 1430, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__157 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__156, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis25, 1430, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1434 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29281,7 +29281,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__158 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__158); __Pyx_GIVEREF(__pyx_tuple__158); - __pyx_codeobj__159 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__158, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis26, 1434, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__159 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__158, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis26, 1434, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1438 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29293,7 +29293,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__160 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__160); __Pyx_GIVEREF(__pyx_tuple__160); - __pyx_codeobj__161 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__160, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis27, 1438, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__161 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__160, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis27, 1438, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1442 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29305,7 +29305,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__162 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__162); __Pyx_GIVEREF(__pyx_tuple__162); - __pyx_codeobj__163 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__162, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis28, 1442, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__163 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__162, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis28, 1442, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1446 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29317,7 +29317,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__164 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__164); __Pyx_GIVEREF(__pyx_tuple__164); - __pyx_codeobj__165 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__164, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis29, 1446, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__165)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__165 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__164, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis29, 1446, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__165)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1450 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29329,7 +29329,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__166 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__166)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__166); __Pyx_GIVEREF(__pyx_tuple__166); - __pyx_codeobj__167 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__166, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis30, 1450, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__167)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__167 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__166, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis30, 1450, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__167)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1454 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29341,7 +29341,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__168 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__168)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__168); __Pyx_GIVEREF(__pyx_tuple__168); - __pyx_codeobj__169 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__168, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis31, 1454, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__169)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__169 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__168, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis31, 1454, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__169)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1458 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29353,7 +29353,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__170 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__170)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__170); __Pyx_GIVEREF(__pyx_tuple__170); - __pyx_codeobj__171 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__170, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis32, 1458, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__171)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__171 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__170, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis32, 1458, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__171)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1462 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29365,7 +29365,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__172 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__172)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__172); __Pyx_GIVEREF(__pyx_tuple__172); - __pyx_codeobj__173 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__172, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axisNone, 1462, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__173)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__173 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__172, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axisNone, 1462, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__173)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -32407,7 +32407,7 @@ PyMODINIT_FUNC PyInit_contingency(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/countnans.c b/bottlechest/src/func/32bit/countnans.c index 967840fe58..5c3eaeb330 100644 --- a/bottlechest/src/func/32bit/countnans.c +++ b/bottlechest/src/func/32bit/countnans.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -864,8 +864,8 @@ static CYTHON_INLINE int __Pyx_GetBufferAndValidate(Py_buffer* buf, PyObject* o __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack); static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info); -#define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0) #define __Pyx_BufPtrStrided2d(type, buf, i0, s0, i1, s1) (type)((char*)buf + i0 * s0 + i1 * s1) +#define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0) static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); #if CYTHON_COMPILING_IN_CPYTHON @@ -1112,18 +1112,18 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_9countnans_countnans(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_weights, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_9countnans_2countnans_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_weights, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_9countnans_4countnans_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_6countnans_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_8countnans_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_10countnans_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_12countnans_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_14countnans_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_16countnans_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_18countnans_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_20countnans_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_22countnans_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_24countnans_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_26countnans_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_4countnans_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_6countnans_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_8countnans_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_10countnans_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_12countnans_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_14countnans_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_16countnans_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_18countnans_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_20countnans_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_22countnans_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_24countnans_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_26countnans_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ static PyObject *__pyx_pf_9countnans_28countnans_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_weights); /* proto */ static PyObject *__pyx_pf_9countnans_30countnans_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_weights); /* proto */ static PyObject *__pyx_pf_9countnans_32countnans_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_weights); /* proto */ @@ -1282,16 +1282,15 @@ static char __pyx_k_countnans_2d_float32_axisNone[] = "countnans_2d_float32_axis static char __pyx_k_countnans_2d_float64_axisNone[] = "countnans_2d_float64_axisNone"; static char __pyx_k_Count_the_undefined_elements_al[] = "\n Count the undefined elements along given axis.\n\n Parameters\n ----------\n arr : array_like\n Array in which nans are to be counted. If `arr` is not an array, a\n conversion is attempted.\n weights : {array-like, None}\n Array containing the weights along the specified axis.\n Note: weights, if present, must be of type `float64`\n axis : {int, None}, optional\n Axis along which the nans are counted. The default (axis=None) is to\n count them across the entire array.\n\n Returns\n -------\n y : ndarray\n An array with the same shape as `arr`, with the specified axis removed.\n The output array is an array of float64 if data is weighted, or of int,\n if it is not.\n\n Examples\n --------\n >>> bn.countnans(1)\n 0.0\n >>> bn.countnans([1])\n 0.0\n >>> bn.countnans([1, np.nan])\n 1.0\n >>> a = np.array([[1, 4], [1, np.nan]])\n >>> bn.countnans(a)\n 1.0\n >>> bn.countnans(a, axis=0)\n array([ 0, 1])\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/countnans.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_shape_of_weights_does_not_match[] = "shape of weights does not match the data"; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\countnans.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_u_Count_the_undefined_elements_al; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; @@ -1304,6 +1303,7 @@ static PyObject *__pyx_n_s_PARTSORT_ERR_MSG; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__13; static PyObject *__pyx_n_s_a; @@ -2497,16 +2497,16 @@ static PyObject *__pyx_pf_9countnans_2countnans_selector(CYTHON_UNUSED PyObject /* "countnans.pyx":174 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float along axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_5countnans_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_4countnans_1d_float_axisNone[] = "countnans_1d_float_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 1d array with dtype=float along axis=None."; -static PyMethodDef __pyx_mdef_9countnans_5countnans_1d_float_axisNone = {"countnans_1d_float_axisNone", (PyCFunction)__pyx_pw_9countnans_5countnans_1d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_4countnans_1d_float_axisNone}; -static PyObject *__pyx_pw_9countnans_5countnans_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_5countnans_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_4countnans_2d_float_axis0[] = "countnans_2d_float_axis0(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_9countnans_5countnans_2d_float_axis0 = {"countnans_2d_float_axis0", (PyCFunction)__pyx_pw_9countnans_5countnans_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_4countnans_2d_float_axis0}; +static PyObject *__pyx_pw_9countnans_5countnans_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -2514,16 +2514,16 @@ static PyObject *__pyx_pw_9countnans_5countnans_1d_float_axisNone(PyObject *__py int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_1d_float_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_2d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; /* "countnans.pyx":175 * @cython.wraparound(False) - * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, + * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 1d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float along axis=0." * cdef np.float_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); @@ -2548,7 +2548,7 @@ static PyObject *__pyx_pw_9countnans_5countnans_1d_float_axisNone(PyObject *__py } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_1d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -2563,22 +2563,22 @@ static PyObject *__pyx_pw_9countnans_5countnans_1d_float_axisNone(PyObject *__py } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_1d_float_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_2d_float_axis0", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_4countnans_1d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); + __pyx_r = __pyx_pf_9countnans_4countnans_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_weights); /* "countnans.pyx":174 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float along axis=0." */ /* function exit code */ @@ -2590,32 +2590,48 @@ static PyObject *__pyx_pw_9countnans_5countnans_1d_float_axisNone(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9countnans_4countnans_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { +static PyObject *__pyx_pf_9countnans_4countnans_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_fcnt = NULL; - PyObject *__pyx_v_count = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + float __pyx_v_fcnt; + int __pyx_v_count; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - PyObject *__pyx_t_8 = NULL; + Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("countnans_2d_float_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -2626,9 +2642,9 @@ static PyObject *__pyx_pf_9countnans_4countnans_1d_float_axisNone(CYTHON_UNUSED __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -2636,11 +2652,11 @@ static PyObject *__pyx_pf_9countnans_4countnans_1d_float_axisNone(CYTHON_UNUSED __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; /* "countnans.pyx":180 - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); @@ -2648,245 +2664,278 @@ static PyObject *__pyx_pf_9countnans_4countnans_1d_float_axisNone(CYTHON_UNUSED * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * - * if weights is not None: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); + /* "countnans.pyx":182 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + /* "countnans.pyx":183 * cdef Py_ssize_t n0 = dim[0] - * - * if weights is not None: # <<<<<<<<<<<<<< - * if weights.ndim != 1 or weights.shape[0] != n0: - * raise ValueError("shape of weights does not match the data") + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_2 = (__pyx_t_1 != 0); - if (__pyx_t_2) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "countnans.pyx":184 + /* "countnans.pyx":184 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * - * if weights is not None: - * if weights.ndim != 1 or weights.shape[0] != n0: # <<<<<<<<<<<<<< - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 */ - __pyx_t_1 = ((__pyx_v_weights->nd != 1) != 0); - if (!__pyx_t_1) { - goto __pyx_L6_next_or; - } else { - __pyx_t_2 = __pyx_t_1; - goto __pyx_L5_bool_binop_done; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __pyx_L6_next_or:; - __pyx_t_1 = (((__pyx_v_weights->dimensions[0]) != __pyx_v_n0) != 0); - __pyx_t_2 = __pyx_t_1; - __pyx_L5_bool_binop_done:; - if (__pyx_t_2) { + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "countnans.pyx":189 + * cdef float fcnt + * cdef int count + * if weights is not None: # <<<<<<<<<<<<<< + * for i1 in range(n1): + * fcnt = 0 + */ + __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_5 = (__pyx_t_4 != 0); + if (__pyx_t_5) { - /* "countnans.pyx":185 + /* "countnans.pyx":190 + * cdef int count * if weights is not None: - * if weights.ndim != 1 or weights.shape[0] != n0: - * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< - * fcnt = 0 - * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * fcnt = 0 + * for i0 in range(n0): */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "countnans.pyx":186 - * if weights.ndim != 1 or weights.shape[0] != n0: - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "countnans.pyx":191 + * if weights is not None: + * for i1 in range(n1): + * fcnt = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_fcnt = __pyx_int_0; + __pyx_v_fcnt = 0.0; - /* "countnans.pyx":187 - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai != ai: + /* "countnans.pyx":192 + * for i1 in range(n1): + * fcnt = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "countnans.pyx":188 - * fcnt = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai != ai: - * fcnt += weights[i0] + /* "countnans.pyx":193 + * fcnt = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * fcnt += weights[i0] */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":189 - * for i0 in range(n0): - * ai = a[i0] - * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i0] - * return fcnt + /* "countnans.pyx":194 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * fcnt += weights[i0] + * y[i1] = fcnt */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { - /* "countnans.pyx":190 - * ai = a[i0] - * if ai != ai: - * fcnt += weights[i0] # <<<<<<<<<<<<<< - * return fcnt + /* "countnans.pyx":195 + * ai = a[i0, i1] + * if ai != ai: + * fcnt += weights[i0] # <<<<<<<<<<<<<< + * y[i1] = fcnt * else: */ - __pyx_t_7 = __pyx_v_i0; - __pyx_t_3 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_weights.diminfo[0].strides))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_8); - __pyx_t_8 = 0; - goto __pyx_L9; + __pyx_t_12 = __pyx_v_i0; + __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L9:; - } - /* "countnans.pyx":191 - * if ai != ai: - * fcnt += weights[i0] - * return fcnt # <<<<<<<<<<<<<< + /* "countnans.pyx":196 + * if ai != ai: + * fcnt += weights[i0] + * y[i1] = fcnt # <<<<<<<<<<<<<< * else: - * count = 0 + * for i1 in range(n1): */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_fcnt); - __pyx_r = __pyx_v_fcnt; - goto __pyx_L0; + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; + } + goto __pyx_L3; } /*else*/ { - /* "countnans.pyx":193 - * return fcnt + /* "countnans.pyx":198 + * y[i1] = fcnt * else: - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1): # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_count = __pyx_int_0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "countnans.pyx":194 + /* "countnans.pyx":199 * else: - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai != ai: - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + * for i1 in range(n1): + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_count = 0; - /* "countnans.pyx":195 - * count = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai != ai: - * count += 1 + /* "countnans.pyx":200 + * for i1 in range(n1): + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_9 = __pyx_v_n0; + for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { + __pyx_v_i0 = __pyx_t_13; - /* "countnans.pyx":196 - * for i0 in range(n0): - * ai = a[i0] - * if ai != ai: # <<<<<<<<<<<<<< - * count += 1 - * return count + /* "countnans.pyx":201 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * count += 1 */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":197 - * ai = a[i0] - * if ai != ai: - * count += 1 # <<<<<<<<<<<<<< - * return count - * @cython.boundscheck(False) + /* "countnans.pyx":202 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * count += 1 + * y[i1] = count */ - __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_8); - __pyx_t_8 = 0; - goto __pyx_L12; + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { + + /* "countnans.pyx":203 + * ai = a[i0, i1] + * if ai != ai: + * count += 1 # <<<<<<<<<<<<<< + * y[i1] = count + * return y + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L13; + } + __pyx_L13:; } - __pyx_L12:; + + /* "countnans.pyx":204 + * if ai != ai: + * count += 1 + * y[i1] = count # <<<<<<<<<<<<<< + * return y + * @cython.boundscheck(False) + */ + __pyx_t_9 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; } + } + __pyx_L3:; - /* "countnans.pyx":198 - * if ai != ai: - * count += 1 - * return count # <<<<<<<<<<<<<< + /* "countnans.pyx":205 + * count += 1 + * y[i1] = count + * return y # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_count); - __pyx_r = __pyx_v_count; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "countnans.pyx":174 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float along axis=0." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_fcnt); - __Pyx_XDECREF(__pyx_v_count); + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":201 +/* "countnans.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float32 along axis=None." + * "Count of nans in 2d array with dtype=float along axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_7countnans_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_6countnans_1d_float32_axisNone[] = "countnans_1d_float32_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 1d array with dtype=float32 along axis=None."; -static PyMethodDef __pyx_mdef_9countnans_7countnans_1d_float32_axisNone = {"countnans_1d_float32_axisNone", (PyCFunction)__pyx_pw_9countnans_7countnans_1d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_6countnans_1d_float32_axisNone}; -static PyObject *__pyx_pw_9countnans_7countnans_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_7countnans_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_6countnans_2d_float_axis1[] = "countnans_2d_float_axis1(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float along axis=1."; +static PyMethodDef __pyx_mdef_9countnans_7countnans_2d_float_axis1 = {"countnans_2d_float_axis1", (PyCFunction)__pyx_pw_9countnans_7countnans_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_6countnans_2d_float_axis1}; +static PyObject *__pyx_pw_9countnans_7countnans_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -2894,17 +2943,17 @@ static PyObject *__pyx_pw_9countnans_7countnans_1d_float32_axisNone(PyObject *__ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_1d_float32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_2d_float_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":202 + /* "countnans.pyx":209 * @cython.wraparound(False) - * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, + * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 1d array with dtype=float32 along axis=None." - * cdef np.float32_t ai + * "Count of nans in 2d array with dtype=float along axis=1." + * cdef np.float_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); if (unlikely(__pyx_kwds)) { @@ -2928,7 +2977,7 @@ static PyObject *__pyx_pw_9countnans_7countnans_1d_float32_axisNone(PyObject *__ } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_1d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -2943,22 +2992,22 @@ static PyObject *__pyx_pw_9countnans_7countnans_1d_float32_axisNone(PyObject *__ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_1d_float32_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_2d_float_axis1", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_6countnans_1d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_6countnans_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":201 + /* "countnans.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float32 along axis=None." + * "Count of nans in 2d array with dtype=float along axis=1." */ /* function exit code */ @@ -2970,32 +3019,48 @@ static PyObject *__pyx_pw_9countnans_7countnans_1d_float32_axisNone(PyObject *__ return __pyx_r; } -static PyObject *__pyx_pf_9countnans_6countnans_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_9countnans_6countnans_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_fcnt = NULL; - PyObject *__pyx_v_count = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + float __pyx_v_fcnt; + int __pyx_v_count; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - PyObject *__pyx_t_8 = NULL; + Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("countnans_2d_float_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -3006,267 +3071,300 @@ static PyObject *__pyx_pf_9countnans_6countnans_1d_float32_axisNone(CYTHON_UNUSE __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":207 - * cdef Py_ssize_t i0 + /* "countnans.pyx":214 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":208 + /* "countnans.pyx":215 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * - * if weights is not None: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":210 + /* "countnans.pyx":216 + * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * - * if weights is not None: # <<<<<<<<<<<<<< - * if weights.ndim != 1 or weights.shape[0] != n0: - * raise ValueError("shape of weights does not match the data") + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_2 = (__pyx_t_1 != 0); - if (__pyx_t_2) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "countnans.pyx":211 - * - * if weights is not None: - * if weights.ndim != 1 or weights.shape[0] != n0: # <<<<<<<<<<<<<< - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 + /* "countnans.pyx":217 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = ((__pyx_v_weights->nd != 1) != 0); - if (!__pyx_t_1) { - goto __pyx_L6_next_or; - } else { - __pyx_t_2 = __pyx_t_1; - goto __pyx_L5_bool_binop_done; - } - __pyx_L6_next_or:; - __pyx_t_1 = (((__pyx_v_weights->dimensions[0]) != __pyx_v_n0) != 0); - __pyx_t_2 = __pyx_t_1; - __pyx_L5_bool_binop_done:; - if (__pyx_t_2) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "countnans.pyx":212 - * if weights is not None: - * if weights.ndim != 1 or weights.shape[0] != n0: - * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< - * fcnt = 0 - * for i0 in range(n0): + /* "countnans.pyx":218 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "countnans.pyx":213 - * if weights.ndim != 1 or weights.shape[0] != n0: - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 # <<<<<<<<<<<<<< + /* "countnans.pyx":223 + * cdef float fcnt + * cdef int count + * if weights is not None: # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] + * fcnt = 0 */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_fcnt = __pyx_int_0; + __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_5 = (__pyx_t_4 != 0); + if (__pyx_t_5) { - /* "countnans.pyx":214 - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 + /* "countnans.pyx":224 + * cdef int count + * if weights is not None: * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai != ai: + * fcnt = 0 + * for i1 in range(n1): */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "countnans.pyx":215 - * fcnt = 0 + /* "countnans.pyx":225 + * if weights is not None: * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai != ai: - * fcnt += weights[i0] + * fcnt = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_fcnt = 0.0; - /* "countnans.pyx":216 + /* "countnans.pyx":226 * for i0 in range(n0): - * ai = a[i0] - * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i0] - * return fcnt + * fcnt = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "countnans.pyx":217 - * ai = a[i0] - * if ai != ai: - * fcnt += weights[i0] # <<<<<<<<<<<<<< - * return fcnt + /* "countnans.pyx":227 + * fcnt = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * fcnt += weights[i1] + */ + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "countnans.pyx":228 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * fcnt += weights[i1] + * y[i0] = fcnt + */ + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { + + /* "countnans.pyx":229 + * ai = a[i0, i1] + * if ai != ai: + * fcnt += weights[i1] # <<<<<<<<<<<<<< + * y[i0] = fcnt * else: */ - __pyx_t_7 = __pyx_v_i0; - __pyx_t_3 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_weights.diminfo[0].strides))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_8); - __pyx_t_8 = 0; - goto __pyx_L9; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L9:; - } - /* "countnans.pyx":218 - * if ai != ai: - * fcnt += weights[i0] - * return fcnt # <<<<<<<<<<<<<< + /* "countnans.pyx":230 + * if ai != ai: + * fcnt += weights[i1] + * y[i0] = fcnt # <<<<<<<<<<<<<< * else: - * count = 0 + * for i0 in range(n0): */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_fcnt); - __pyx_r = __pyx_v_fcnt; - goto __pyx_L0; + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; + } + goto __pyx_L3; } /*else*/ { - /* "countnans.pyx":220 - * return fcnt + /* "countnans.pyx":232 + * y[i0] = fcnt * else: - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + * for i0 in range(n0): # <<<<<<<<<<<<<< + * count = 0 + * for i1 in range(n1): */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_count = __pyx_int_0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "countnans.pyx":221 + /* "countnans.pyx":233 * else: - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai != ai: + * for i0 in range(n0): + * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_count = 0; - /* "countnans.pyx":222 - * count = 0 + /* "countnans.pyx":234 * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai != ai: - * count += 1 + * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { + __pyx_v_i1 = __pyx_t_13; - /* "countnans.pyx":223 - * for i0 in range(n0): - * ai = a[i0] - * if ai != ai: # <<<<<<<<<<<<<< - * count += 1 - * return count + /* "countnans.pyx":235 + * count = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * count += 1 */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":224 - * ai = a[i0] - * if ai != ai: - * count += 1 # <<<<<<<<<<<<<< - * return count - * @cython.boundscheck(False) + /* "countnans.pyx":236 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * count += 1 + * y[i0] = count */ - __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_8); - __pyx_t_8 = 0; - goto __pyx_L12; + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { + + /* "countnans.pyx":237 + * ai = a[i0, i1] + * if ai != ai: + * count += 1 # <<<<<<<<<<<<<< + * y[i0] = count + * return y + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L13; + } + __pyx_L13:; } - __pyx_L12:; + + /* "countnans.pyx":238 + * if ai != ai: + * count += 1 + * y[i0] = count # <<<<<<<<<<<<<< + * return y + * @cython.boundscheck(False) + */ + __pyx_t_9 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; } + } + __pyx_L3:; - /* "countnans.pyx":225 - * if ai != ai: - * count += 1 - * return count # <<<<<<<<<<<<<< + /* "countnans.pyx":239 + * count += 1 + * y[i0] = count + * return y # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_count); - __pyx_r = __pyx_v_count; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "countnans.pyx":201 + /* "countnans.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float32 along axis=None." + * "Count of nans in 2d array with dtype=float along axis=1." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_fcnt); - __Pyx_XDECREF(__pyx_v_count); + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":228 +/* "countnans.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float32 along axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_9countnans_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_8countnans_1d_float64_axisNone[] = "countnans_1d_float64_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 1d array with dtype=float64 along axis=None."; -static PyMethodDef __pyx_mdef_9countnans_9countnans_1d_float64_axisNone = {"countnans_1d_float64_axisNone", (PyCFunction)__pyx_pw_9countnans_9countnans_1d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_8countnans_1d_float64_axisNone}; -static PyObject *__pyx_pw_9countnans_9countnans_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_9countnans_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_8countnans_2d_float32_axis0[] = "countnans_2d_float32_axis0(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_9countnans_9countnans_2d_float32_axis0 = {"countnans_2d_float32_axis0", (PyCFunction)__pyx_pw_9countnans_9countnans_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_8countnans_2d_float32_axis0}; +static PyObject *__pyx_pw_9countnans_9countnans_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -3274,17 +3372,17 @@ static PyObject *__pyx_pw_9countnans_9countnans_1d_float64_axisNone(PyObject *__ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_1d_float64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_2d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":229 + /* "countnans.pyx":243 * @cython.wraparound(False) - * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, + * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 1d array with dtype=float64 along axis=None." - * cdef np.float64_t ai + * "Count of nans in 2d array with dtype=float32 along axis=0." + * cdef np.float32_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); if (unlikely(__pyx_kwds)) { @@ -3308,7 +3406,7 @@ static PyObject *__pyx_pw_9countnans_9countnans_1d_float64_axisNone(PyObject *__ } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_1d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -3323,22 +3421,22 @@ static PyObject *__pyx_pw_9countnans_9countnans_1d_float64_axisNone(PyObject *__ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_1d_float64_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_2d_float32_axis0", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_8countnans_1d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_8countnans_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":228 + /* "countnans.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float32 along axis=0." */ /* function exit code */ @@ -3350,32 +3448,48 @@ static PyObject *__pyx_pw_9countnans_9countnans_1d_float64_axisNone(PyObject *__ return __pyx_r; } -static PyObject *__pyx_pf_9countnans_8countnans_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_9countnans_8countnans_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_fcnt = NULL; - PyObject *__pyx_v_count = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + float __pyx_v_fcnt; + int __pyx_v_count; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - PyObject *__pyx_t_8 = NULL; + Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_1d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("countnans_2d_float32_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -3386,267 +3500,300 @@ static PyObject *__pyx_pf_9countnans_8countnans_1d_float64_axisNone(CYTHON_UNUSE __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":234 - * cdef Py_ssize_t i0 + /* "countnans.pyx":248 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":235 + /* "countnans.pyx":249 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * - * if weights is not None: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":237 + /* "countnans.pyx":250 + * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * - * if weights is not None: # <<<<<<<<<<<<<< - * if weights.ndim != 1 or weights.shape[0] != n0: - * raise ValueError("shape of weights does not match the data") + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_2 = (__pyx_t_1 != 0); - if (__pyx_t_2) { + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "countnans.pyx":251 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "countnans.pyx":238 + /* "countnans.pyx":252 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * - * if weights is not None: - * if weights.ndim != 1 or weights.shape[0] != n0: # <<<<<<<<<<<<<< - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 */ - __pyx_t_1 = ((__pyx_v_weights->nd != 1) != 0); - if (!__pyx_t_1) { - goto __pyx_L6_next_or; - } else { - __pyx_t_2 = __pyx_t_1; - goto __pyx_L5_bool_binop_done; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __pyx_L6_next_or:; - __pyx_t_1 = (((__pyx_v_weights->dimensions[0]) != __pyx_v_n0) != 0); - __pyx_t_2 = __pyx_t_1; - __pyx_L5_bool_binop_done:; - if (__pyx_t_2) { + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "countnans.pyx":257 + * cdef float fcnt + * cdef int count + * if weights is not None: # <<<<<<<<<<<<<< + * for i1 in range(n1): + * fcnt = 0 + */ + __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_5 = (__pyx_t_4 != 0); + if (__pyx_t_5) { - /* "countnans.pyx":239 + /* "countnans.pyx":258 + * cdef int count * if weights is not None: - * if weights.ndim != 1 or weights.shape[0] != n0: - * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< - * fcnt = 0 - * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * fcnt = 0 + * for i0 in range(n0): */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "countnans.pyx":240 - * if weights.ndim != 1 or weights.shape[0] != n0: - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "countnans.pyx":259 + * if weights is not None: + * for i1 in range(n1): + * fcnt = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_fcnt = __pyx_int_0; + __pyx_v_fcnt = 0.0; - /* "countnans.pyx":241 - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai != ai: + /* "countnans.pyx":260 + * for i1 in range(n1): + * fcnt = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "countnans.pyx":242 - * fcnt = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai != ai: - * fcnt += weights[i0] + /* "countnans.pyx":261 + * fcnt = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * fcnt += weights[i0] */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":243 - * for i0 in range(n0): - * ai = a[i0] - * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i0] - * return fcnt + /* "countnans.pyx":262 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * fcnt += weights[i0] + * y[i1] = fcnt */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { - /* "countnans.pyx":244 - * ai = a[i0] - * if ai != ai: - * fcnt += weights[i0] # <<<<<<<<<<<<<< - * return fcnt + /* "countnans.pyx":263 + * ai = a[i0, i1] + * if ai != ai: + * fcnt += weights[i0] # <<<<<<<<<<<<<< + * y[i1] = fcnt * else: */ - __pyx_t_7 = __pyx_v_i0; - __pyx_t_3 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_weights.diminfo[0].strides))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_8); - __pyx_t_8 = 0; - goto __pyx_L9; + __pyx_t_12 = __pyx_v_i0; + __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L9:; - } - /* "countnans.pyx":245 - * if ai != ai: - * fcnt += weights[i0] - * return fcnt # <<<<<<<<<<<<<< + /* "countnans.pyx":264 + * if ai != ai: + * fcnt += weights[i0] + * y[i1] = fcnt # <<<<<<<<<<<<<< * else: - * count = 0 + * for i1 in range(n1): */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_fcnt); - __pyx_r = __pyx_v_fcnt; - goto __pyx_L0; + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; + } + goto __pyx_L3; } /*else*/ { - /* "countnans.pyx":247 - * return fcnt + /* "countnans.pyx":266 + * y[i1] = fcnt * else: - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1): # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_count = __pyx_int_0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "countnans.pyx":248 + /* "countnans.pyx":267 * else: - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai != ai: + * for i1 in range(n1): + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_count = 0; - /* "countnans.pyx":249 - * count = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai != ai: - * count += 1 + /* "countnans.pyx":268 + * for i1 in range(n1): + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_9 = __pyx_v_n0; + for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { + __pyx_v_i0 = __pyx_t_13; - /* "countnans.pyx":250 - * for i0 in range(n0): - * ai = a[i0] - * if ai != ai: # <<<<<<<<<<<<<< - * count += 1 - * return count + /* "countnans.pyx":269 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * count += 1 */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":251 - * ai = a[i0] - * if ai != ai: - * count += 1 # <<<<<<<<<<<<<< - * return count - * @cython.boundscheck(False) + /* "countnans.pyx":270 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * count += 1 + * y[i1] = count */ - __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_8); - __pyx_t_8 = 0; - goto __pyx_L12; + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { + + /* "countnans.pyx":271 + * ai = a[i0, i1] + * if ai != ai: + * count += 1 # <<<<<<<<<<<<<< + * y[i1] = count + * return y + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L13; + } + __pyx_L13:; } - __pyx_L12:; + + /* "countnans.pyx":272 + * if ai != ai: + * count += 1 + * y[i1] = count # <<<<<<<<<<<<<< + * return y + * @cython.boundscheck(False) + */ + __pyx_t_9 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; } + } + __pyx_L3:; - /* "countnans.pyx":252 - * if ai != ai: - * count += 1 - * return count # <<<<<<<<<<<<<< + /* "countnans.pyx":273 + * count += 1 + * y[i1] = count + * return y # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_count); - __pyx_r = __pyx_v_count; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "countnans.pyx":228 + /* "countnans.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float32 along axis=0." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_fcnt); - __Pyx_XDECREF(__pyx_v_count); + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":255 +/* "countnans.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float32 along axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_11countnans_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_10countnans_2d_float_axisNone[] = "countnans_2d_float_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float along axis=None."; -static PyMethodDef __pyx_mdef_9countnans_11countnans_2d_float_axisNone = {"countnans_2d_float_axisNone", (PyCFunction)__pyx_pw_9countnans_11countnans_2d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_10countnans_2d_float_axisNone}; -static PyObject *__pyx_pw_9countnans_11countnans_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_11countnans_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_10countnans_2d_float32_axis1[] = "countnans_2d_float32_axis1(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float32 along axis=1."; +static PyMethodDef __pyx_mdef_9countnans_11countnans_2d_float32_axis1 = {"countnans_2d_float32_axis1", (PyCFunction)__pyx_pw_9countnans_11countnans_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_10countnans_2d_float32_axis1}; +static PyObject *__pyx_pw_9countnans_11countnans_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -3654,17 +3801,17 @@ static PyObject *__pyx_pw_9countnans_11countnans_2d_float_axisNone(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_2d_float_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_2d_float32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":256 + /* "countnans.pyx":277 * @cython.wraparound(False) - * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, + * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 2d array with dtype=float along axis=None." - * cdef np.float_t ai + * "Count of nans in 2d array with dtype=float32 along axis=1." + * cdef np.float32_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); if (unlikely(__pyx_kwds)) { @@ -3688,7 +3835,7 @@ static PyObject *__pyx_pw_9countnans_11countnans_2d_float_axisNone(PyObject *__p } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -3703,22 +3850,22 @@ static PyObject *__pyx_pw_9countnans_11countnans_2d_float_axisNone(PyObject *__p } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_2d_float_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_2d_float32_axis1", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_10countnans_2d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_10countnans_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":255 + /* "countnans.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float32 along axis=1." */ /* function exit code */ @@ -3730,27 +3877,31 @@ static PyObject *__pyx_pw_9countnans_11countnans_2d_float_axisNone(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_9countnans_10countnans_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_9countnans_10countnans_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_fcnt = NULL; - PyObject *__pyx_v_count = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + float __pyx_v_fcnt; + int __pyx_v_count; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; @@ -3759,10 +3910,15 @@ static PyObject *__pyx_pf_9countnans_10countnans_2d_float_axisNone(CYTHON_UNUSED Py_ssize_t __pyx_t_12; Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_2d_float_axisNone", 0); + __Pyx_RefNannySetupContext("countnans_2d_float32_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -3773,16 +3929,16 @@ static PyObject *__pyx_pf_9countnans_10countnans_2d_float_axisNone(CYTHON_UNUSED __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":261 + /* "countnans.pyx":282 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3791,306 +3947,282 @@ static PyObject *__pyx_pf_9countnans_10countnans_2d_float_axisNone(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":262 + /* "countnans.pyx":283 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":263 + /* "countnans.pyx":284 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * - * if weights is not None: + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "countnans.pyx":265 + /* "countnans.pyx":285 + * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * - * if weights is not None: # <<<<<<<<<<<<<< - * if weights.shape[0] != (n0, n1): - * raise ValueError("shape of weights does not match the data") + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_2 = (__pyx_t_1 != 0); - if (__pyx_t_2) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "countnans.pyx":266 + /* "countnans.pyx":286 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * - * if weights is not None: - * if weights.shape[0] != (n0, n1): # <<<<<<<<<<<<<< - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 */ - __pyx_t_3 = __Pyx_PyInt_From_Py_intptr_t((__pyx_v_weights->dimensions[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_4 = 0; - __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_t_6, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_2) { + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "countnans.pyx":267 - * if weights is not None: - * if weights.shape[0] != (n0, n1): - * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< - * fcnt = 0 + /* "countnans.pyx":291 + * cdef float fcnt + * cdef int count + * if weights is not None: # <<<<<<<<<<<<<< * for i0 in range(n0): + * fcnt = 0 */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } + __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_5 = (__pyx_t_4 != 0); + if (__pyx_t_5) { - /* "countnans.pyx":268 - * if weights.shape[0] != (n0, n1): - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "countnans.pyx":292 + * cdef int count + * if weights is not None: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * fcnt = 0 * for i1 in range(n1): */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_fcnt = __pyx_int_0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "countnans.pyx":269 - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "countnans.pyx":293 + * if weights is not None: + * for i0 in range(n0): + * fcnt = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_fcnt = 0.0; - /* "countnans.pyx":270 - * fcnt = 0 + /* "countnans.pyx":294 * for i0 in range(n0): + * fcnt = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "countnans.pyx":271 - * for i0 in range(n0): + /* "countnans.pyx":295 + * fcnt = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: - * fcnt += weights[i0, i1] + * fcnt += weights[i1] */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":272 + /* "countnans.pyx":296 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i0, i1] - * return fcnt + * fcnt += weights[i1] + * y[i0] = fcnt */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { - /* "countnans.pyx":273 + /* "countnans.pyx":297 * ai = a[i0, i1] * if ai != ai: - * fcnt += weights[i0, i1] # <<<<<<<<<<<<<< - * return fcnt + * fcnt += weights[i1] # <<<<<<<<<<<<<< + * y[i0] = fcnt * else: */ - __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_i0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_i1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_5 = 0; - __pyx_t_6 = 0; - __pyx_t_6 = PyObject_GetItem(((PyObject *)__pyx_v_weights), __pyx_t_3); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_3); - __pyx_t_3 = 0; - goto __pyx_L9; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); + goto __pyx_L8; } - __pyx_L9:; + __pyx_L8:; } - } - /* "countnans.pyx":274 + /* "countnans.pyx":298 * if ai != ai: - * fcnt += weights[i0, i1] - * return fcnt # <<<<<<<<<<<<<< + * fcnt += weights[i1] + * y[i0] = fcnt # <<<<<<<<<<<<<< * else: - * count = 0 + * for i0 in range(n0): */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_fcnt); - __pyx_r = __pyx_v_fcnt; - goto __pyx_L0; + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; + } + goto __pyx_L3; } /*else*/ { - /* "countnans.pyx":276 - * return fcnt + /* "countnans.pyx":300 + * y[i0] = fcnt * else: - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + * for i0 in range(n0): # <<<<<<<<<<<<<< + * count = 0 * for i1 in range(n1): */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_count = __pyx_int_0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "countnans.pyx":277 + /* "countnans.pyx":301 * else: - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i0 in range(n0): + * count = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_count = 0; - /* "countnans.pyx":278 - * count = 0 + /* "countnans.pyx":302 * for i0 in range(n0): + * count = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { + __pyx_v_i1 = __pyx_t_13; - /* "countnans.pyx":279 - * for i0 in range(n0): + /* "countnans.pyx":303 + * count = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: * count += 1 */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":280 + /* "countnans.pyx":304 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< * count += 1 - * return count + * y[i0] = count */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { - /* "countnans.pyx":281 + /* "countnans.pyx":305 * ai = a[i0, i1] * if ai != ai: * count += 1 # <<<<<<<<<<<<<< - * return count - * @cython.boundscheck(False) + * y[i0] = count + * return y */ - __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_3); - __pyx_t_3 = 0; - goto __pyx_L14; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L13; } - __pyx_L14:; + __pyx_L13:; } - } - /* "countnans.pyx":282 + /* "countnans.pyx":306 * if ai != ai: * count += 1 - * return count # <<<<<<<<<<<<<< + * y[i0] = count # <<<<<<<<<<<<<< + * return y * @cython.boundscheck(False) - * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_count); - __pyx_r = __pyx_v_count; - goto __pyx_L0; + __pyx_t_9 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; + } } + __pyx_L3:; - /* "countnans.pyx":255 + /* "countnans.pyx":307 + * count += 1 + * y[i0] = count + * return y # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "countnans.pyx":276 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float32 along axis=1." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_fcnt); - __Pyx_XDECREF(__pyx_v_count); + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":285 +/* "countnans.pyx":310 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_13countnans_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_12countnans_2d_float32_axisNone[] = "countnans_2d_float32_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float32 along axis=None."; -static PyMethodDef __pyx_mdef_9countnans_13countnans_2d_float32_axisNone = {"countnans_2d_float32_axisNone", (PyCFunction)__pyx_pw_9countnans_13countnans_2d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_12countnans_2d_float32_axisNone}; -static PyObject *__pyx_pw_9countnans_13countnans_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_13countnans_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_12countnans_2d_float64_axis0[] = "countnans_2d_float64_axis0(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_9countnans_13countnans_2d_float64_axis0 = {"countnans_2d_float64_axis0", (PyCFunction)__pyx_pw_9countnans_13countnans_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_12countnans_2d_float64_axis0}; +static PyObject *__pyx_pw_9countnans_13countnans_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -4098,17 +4230,17 @@ static PyObject *__pyx_pw_9countnans_13countnans_2d_float32_axisNone(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_2d_float32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_2d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":286 + /* "countnans.pyx":311 * @cython.wraparound(False) - * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, + * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 2d array with dtype=float32 along axis=None." - * cdef np.float32_t ai + * "Count of nans in 2d array with dtype=float64 along axis=0." + * cdef np.float64_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); if (unlikely(__pyx_kwds)) { @@ -4132,7 +4264,7 @@ static PyObject *__pyx_pw_9countnans_13countnans_2d_float32_axisNone(PyObject *_ } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -4147,22 +4279,22 @@ static PyObject *__pyx_pw_9countnans_13countnans_2d_float32_axisNone(PyObject *_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_2d_float32_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_2d_float64_axis0", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_12countnans_2d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_12countnans_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":285 + /* "countnans.pyx":310 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=0." */ /* function exit code */ @@ -4174,27 +4306,31 @@ static PyObject *__pyx_pw_9countnans_13countnans_2d_float32_axisNone(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_9countnans_12countnans_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_9countnans_12countnans_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_fcnt = NULL; - PyObject *__pyx_v_count = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + float __pyx_v_fcnt; + int __pyx_v_count; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; @@ -4203,10 +4339,15 @@ static PyObject *__pyx_pf_9countnans_12countnans_2d_float32_axisNone(CYTHON_UNUS Py_ssize_t __pyx_t_12; Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_2d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("countnans_2d_float64_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -4217,16 +4358,16 @@ static PyObject *__pyx_pf_9countnans_12countnans_2d_float32_axisNone(CYTHON_UNUS __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":291 + /* "countnans.pyx":316 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4235,306 +4376,282 @@ static PyObject *__pyx_pf_9countnans_12countnans_2d_float32_axisNone(CYTHON_UNUS */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":292 + /* "countnans.pyx":317 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":293 + /* "countnans.pyx":318 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * - * if weights is not None: + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "countnans.pyx":295 + /* "countnans.pyx":319 + * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * - * if weights is not None: # <<<<<<<<<<<<<< - * if weights.shape[0] != (n0, n1): - * raise ValueError("shape of weights does not match the data") + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_2 = (__pyx_t_1 != 0); - if (__pyx_t_2) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "countnans.pyx":296 + /* "countnans.pyx":320 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * - * if weights is not None: - * if weights.shape[0] != (n0, n1): # <<<<<<<<<<<<<< - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 - */ - __pyx_t_3 = __Pyx_PyInt_From_Py_intptr_t((__pyx_v_weights->dimensions[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_4 = 0; - __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_t_6, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_2) { - - /* "countnans.pyx":297 - * if weights is not None: - * if weights.shape[0] != (n0, n1): - * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< - * fcnt = 0 - * for i0 in range(n0): */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "countnans.pyx":298 - * if weights.shape[0] != (n0, n1): - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "countnans.pyx":325 + * cdef float fcnt + * cdef int count + * if weights is not None: # <<<<<<<<<<<<<< + * for i1 in range(n1): + * fcnt = 0 */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_fcnt = __pyx_int_0; + __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_5 = (__pyx_t_4 != 0); + if (__pyx_t_5) { - /* "countnans.pyx":299 - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "countnans.pyx":326 + * cdef int count + * if weights is not None: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * fcnt = 0 + * for i0 in range(n0): */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "countnans.pyx":300 - * fcnt = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "countnans.pyx":327 + * if weights is not None: + * for i1 in range(n1): + * fcnt = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * ai = a[i0, i1] - * if ai != ai: */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_v_fcnt = 0.0; - /* "countnans.pyx":301 - * for i0 in range(n0): - * for i1 in range(n1): + /* "countnans.pyx":328 + * for i1 in range(n1): + * fcnt = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: + */ + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; + + /* "countnans.pyx":329 + * fcnt = 0 + * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: - * fcnt += weights[i0, i1] + * fcnt += weights[i0] */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":302 - * for i1 in range(n1): + /* "countnans.pyx":330 + * for i0 in range(n0): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i0, i1] - * return fcnt + * fcnt += weights[i0] + * y[i1] = fcnt */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { - /* "countnans.pyx":303 + /* "countnans.pyx":331 * ai = a[i0, i1] * if ai != ai: - * fcnt += weights[i0, i1] # <<<<<<<<<<<<<< - * return fcnt + * fcnt += weights[i0] # <<<<<<<<<<<<<< + * y[i1] = fcnt * else: */ - __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_i0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_i1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_5 = 0; - __pyx_t_6 = 0; - __pyx_t_6 = PyObject_GetItem(((PyObject *)__pyx_v_weights), __pyx_t_3); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_3); - __pyx_t_3 = 0; - goto __pyx_L9; + __pyx_t_12 = __pyx_v_i0; + __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); + goto __pyx_L8; } - __pyx_L9:; + __pyx_L8:; } - } - /* "countnans.pyx":304 + /* "countnans.pyx":332 * if ai != ai: - * fcnt += weights[i0, i1] - * return fcnt # <<<<<<<<<<<<<< + * fcnt += weights[i0] + * y[i1] = fcnt # <<<<<<<<<<<<<< * else: - * count = 0 + * for i1 in range(n1): */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_fcnt); - __pyx_r = __pyx_v_fcnt; - goto __pyx_L0; + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; + } + goto __pyx_L3; } /*else*/ { - /* "countnans.pyx":306 - * return fcnt + /* "countnans.pyx":334 + * y[i1] = fcnt * else: - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_count = __pyx_int_0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "countnans.pyx":307 + /* "countnans.pyx":335 * else: - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): + * for i1 in range(n1): + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * ai = a[i0, i1] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_count = 0; - /* "countnans.pyx":308 - * count = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "countnans.pyx":336 + * for i1 in range(n1): + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_9 = __pyx_v_n0; + for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { + __pyx_v_i0 = __pyx_t_13; - /* "countnans.pyx":309 - * for i0 in range(n0): - * for i1 in range(n1): + /* "countnans.pyx":337 + * count = 0 + * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: * count += 1 */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":310 - * for i1 in range(n1): + /* "countnans.pyx":338 + * for i0 in range(n0): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< * count += 1 - * return count + * y[i1] = count */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { - /* "countnans.pyx":311 + /* "countnans.pyx":339 * ai = a[i0, i1] * if ai != ai: * count += 1 # <<<<<<<<<<<<<< - * return count - * @cython.boundscheck(False) + * y[i1] = count + * return y */ - __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_3); - __pyx_t_3 = 0; - goto __pyx_L14; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L13; } - __pyx_L14:; + __pyx_L13:; } - } - /* "countnans.pyx":312 + /* "countnans.pyx":340 * if ai != ai: * count += 1 - * return count # <<<<<<<<<<<<<< + * y[i1] = count # <<<<<<<<<<<<<< + * return y * @cython.boundscheck(False) - * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_count); - __pyx_r = __pyx_v_count; - goto __pyx_L0; + __pyx_t_9 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; + } } + __pyx_L3:; - /* "countnans.pyx":285 + /* "countnans.pyx":341 + * count += 1 + * y[i1] = count + * return y # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "countnans.pyx":310 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=0." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_fcnt); - __Pyx_XDECREF(__pyx_v_count); + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":315 +/* "countnans.pyx":344 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_15countnans_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_14countnans_2d_float64_axisNone[] = "countnans_2d_float64_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float64 along axis=None."; -static PyMethodDef __pyx_mdef_9countnans_15countnans_2d_float64_axisNone = {"countnans_2d_float64_axisNone", (PyCFunction)__pyx_pw_9countnans_15countnans_2d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_14countnans_2d_float64_axisNone}; -static PyObject *__pyx_pw_9countnans_15countnans_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_15countnans_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_14countnans_2d_float64_axis1[] = "countnans_2d_float64_axis1(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float64 along axis=1."; +static PyMethodDef __pyx_mdef_9countnans_15countnans_2d_float64_axis1 = {"countnans_2d_float64_axis1", (PyCFunction)__pyx_pw_9countnans_15countnans_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_14countnans_2d_float64_axis1}; +static PyObject *__pyx_pw_9countnans_15countnans_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -4542,16 +4659,16 @@ static PyObject *__pyx_pw_9countnans_15countnans_2d_float64_axisNone(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_2d_float64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_2d_float64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":316 + /* "countnans.pyx":345 * @cython.wraparound(False) - * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, + * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 2d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=1." * cdef np.float64_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); @@ -4576,7 +4693,7 @@ static PyObject *__pyx_pw_9countnans_15countnans_2d_float64_axisNone(PyObject *_ } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -4591,22 +4708,22 @@ static PyObject *__pyx_pw_9countnans_15countnans_2d_float64_axisNone(PyObject *_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_2d_float64_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_2d_float64_axis1", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_14countnans_2d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_14countnans_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":315 + /* "countnans.pyx":344 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=1." */ /* function exit code */ @@ -4618,27 +4735,31 @@ static PyObject *__pyx_pw_9countnans_15countnans_2d_float64_axisNone(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_9countnans_14countnans_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { +static PyObject *__pyx_pf_9countnans_14countnans_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_fcnt = NULL; - PyObject *__pyx_v_count = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + float __pyx_v_fcnt; + int __pyx_v_count; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; @@ -4647,10 +4768,15 @@ static PyObject *__pyx_pf_9countnans_14countnans_2d_float64_axisNone(CYTHON_UNUS Py_ssize_t __pyx_t_12; Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_2d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("countnans_2d_float64_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -4661,16 +4787,16 @@ static PyObject *__pyx_pf_9countnans_14countnans_2d_float64_axisNone(CYTHON_UNUS __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":321 + /* "countnans.pyx":350 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4679,306 +4805,282 @@ static PyObject *__pyx_pf_9countnans_14countnans_2d_float64_axisNone(CYTHON_UNUS */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":322 + /* "countnans.pyx":351 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":323 + /* "countnans.pyx":352 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * - * if weights is not None: + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "countnans.pyx":325 + /* "countnans.pyx":353 + * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * - * if weights is not None: # <<<<<<<<<<<<<< - * if weights.shape[0] != (n0, n1): - * raise ValueError("shape of weights does not match the data") + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_2 = (__pyx_t_1 != 0); - if (__pyx_t_2) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "countnans.pyx":326 + /* "countnans.pyx":354 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * - * if weights is not None: - * if weights.shape[0] != (n0, n1): # <<<<<<<<<<<<<< - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 */ - __pyx_t_3 = __Pyx_PyInt_From_Py_intptr_t((__pyx_v_weights->dimensions[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_4 = 0; - __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_t_6, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_2) { + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "countnans.pyx":327 - * if weights is not None: - * if weights.shape[0] != (n0, n1): - * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< - * fcnt = 0 + /* "countnans.pyx":359 + * cdef float fcnt + * cdef int count + * if weights is not None: # <<<<<<<<<<<<<< * for i0 in range(n0): + * fcnt = 0 */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } + __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_5 = (__pyx_t_4 != 0); + if (__pyx_t_5) { - /* "countnans.pyx":328 - * if weights.shape[0] != (n0, n1): - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "countnans.pyx":360 + * cdef int count + * if weights is not None: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * fcnt = 0 * for i1 in range(n1): */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_fcnt = __pyx_int_0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "countnans.pyx":329 - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "countnans.pyx":361 + * if weights is not None: + * for i0 in range(n0): + * fcnt = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_fcnt = 0.0; - /* "countnans.pyx":330 - * fcnt = 0 + /* "countnans.pyx":362 * for i0 in range(n0): + * fcnt = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "countnans.pyx":331 - * for i0 in range(n0): + /* "countnans.pyx":363 + * fcnt = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: - * fcnt += weights[i0, i1] + * fcnt += weights[i1] */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":332 + /* "countnans.pyx":364 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i0, i1] - * return fcnt + * fcnt += weights[i1] + * y[i0] = fcnt */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { - /* "countnans.pyx":333 + /* "countnans.pyx":365 * ai = a[i0, i1] * if ai != ai: - * fcnt += weights[i0, i1] # <<<<<<<<<<<<<< - * return fcnt + * fcnt += weights[i1] # <<<<<<<<<<<<<< + * y[i0] = fcnt * else: */ - __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_i0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_i1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_5 = 0; - __pyx_t_6 = 0; - __pyx_t_6 = PyObject_GetItem(((PyObject *)__pyx_v_weights), __pyx_t_3); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_3); - __pyx_t_3 = 0; - goto __pyx_L9; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); + goto __pyx_L8; } - __pyx_L9:; + __pyx_L8:; } - } - /* "countnans.pyx":334 + /* "countnans.pyx":366 * if ai != ai: - * fcnt += weights[i0, i1] - * return fcnt # <<<<<<<<<<<<<< + * fcnt += weights[i1] + * y[i0] = fcnt # <<<<<<<<<<<<<< * else: - * count = 0 + * for i0 in range(n0): */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_fcnt); - __pyx_r = __pyx_v_fcnt; - goto __pyx_L0; + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; + } + goto __pyx_L3; } /*else*/ { - /* "countnans.pyx":336 - * return fcnt + /* "countnans.pyx":368 + * y[i0] = fcnt * else: - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + * for i0 in range(n0): # <<<<<<<<<<<<<< + * count = 0 * for i1 in range(n1): */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_count = __pyx_int_0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "countnans.pyx":337 + /* "countnans.pyx":369 * else: - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i0 in range(n0): + * count = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_count = 0; - /* "countnans.pyx":338 - * count = 0 + /* "countnans.pyx":370 * for i0 in range(n0): + * count = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { + __pyx_v_i1 = __pyx_t_13; - /* "countnans.pyx":339 - * for i0 in range(n0): + /* "countnans.pyx":371 + * count = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: * count += 1 */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":340 + /* "countnans.pyx":372 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< * count += 1 - * return count + * y[i0] = count */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { - /* "countnans.pyx":341 + /* "countnans.pyx":373 * ai = a[i0, i1] * if ai != ai: * count += 1 # <<<<<<<<<<<<<< - * return count - * @cython.boundscheck(False) + * y[i0] = count + * return y */ - __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_3); - __pyx_t_3 = 0; - goto __pyx_L14; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L13; } - __pyx_L14:; + __pyx_L13:; } - } - /* "countnans.pyx":342 + /* "countnans.pyx":374 * if ai != ai: * count += 1 - * return count # <<<<<<<<<<<<<< + * y[i0] = count # <<<<<<<<<<<<<< + * return y * @cython.boundscheck(False) - * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_count); - __pyx_r = __pyx_v_count; - goto __pyx_L0; + __pyx_t_9 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; + } } + __pyx_L3:; - /* "countnans.pyx":315 + /* "countnans.pyx":375 + * count += 1 + * y[i0] = count + * return y # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "countnans.pyx":344 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=1." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_fcnt); - __Pyx_XDECREF(__pyx_v_count); + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":345 +/* "countnans.pyx":378 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=0." + * "Count of nans in 1d array with dtype=float along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_17countnans_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_16countnans_2d_float_axis0[] = "countnans_2d_float_axis0(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_9countnans_17countnans_2d_float_axis0 = {"countnans_2d_float_axis0", (PyCFunction)__pyx_pw_9countnans_17countnans_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_16countnans_2d_float_axis0}; -static PyObject *__pyx_pw_9countnans_17countnans_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_17countnans_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_16countnans_1d_float_axisNone[] = "countnans_1d_float_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 1d array with dtype=float along axis=None."; +static PyMethodDef __pyx_mdef_9countnans_17countnans_1d_float_axisNone = {"countnans_1d_float_axisNone", (PyCFunction)__pyx_pw_9countnans_17countnans_1d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_16countnans_1d_float_axisNone}; +static PyObject *__pyx_pw_9countnans_17countnans_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -4986,16 +5088,16 @@ static PyObject *__pyx_pw_9countnans_17countnans_2d_float_axis0(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_2d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_1d_float_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":346 + /* "countnans.pyx":379 * @cython.wraparound(False) - * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, + * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 2d array with dtype=float along axis=0." + * "Count of nans in 1d array with dtype=float along axis=None." * cdef np.float_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); @@ -5020,7 +5122,7 @@ static PyObject *__pyx_pw_9countnans_17countnans_2d_float_axis0(PyObject *__pyx_ } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_1d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -5035,22 +5137,22 @@ static PyObject *__pyx_pw_9countnans_17countnans_2d_float_axis0(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_2d_float_axis0", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_1d_float_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_16countnans_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_16countnans_1d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":345 + /* "countnans.pyx":378 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=0." + * "Count of nans in 1d array with dtype=float along axis=None." */ /* function exit code */ @@ -5062,48 +5164,32 @@ static PyObject *__pyx_pw_9countnans_17countnans_2d_float_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9countnans_16countnans_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { +static PyObject *__pyx_pf_9countnans_16countnans_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - float __pyx_v_fcnt; - int __pyx_v_count; + PyObject *__pyx_v_fcnt = NULL; + PyObject *__pyx_v_count = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_t_5; + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; + PyObject *__pyx_t_8 = NULL; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; - Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_2d_float_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("countnans_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -5114,300 +5200,267 @@ static PyObject *__pyx_pf_9countnans_16countnans_2d_float_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":351 - * cdef Py_ssize_t i0, i1 + /* "countnans.pyx":384 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":352 + /* "countnans.pyx":385 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * + * if weights is not None: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":353 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "countnans.pyx":354 + /* "countnans.pyx":387 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * + * if weights is not None: # <<<<<<<<<<<<<< + * if weights.ndim != 1 or weights.shape[0] != n0: + * raise ValueError("shape of weights does not match the data") */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { - /* "countnans.pyx":355 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) + /* "countnans.pyx":388 * + * if weights is not None: + * if weights.ndim != 1 or weights.shape[0] != n0: # <<<<<<<<<<<<<< + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __pyx_t_1 = ((__pyx_v_weights->nd != 1) != 0); + if (!__pyx_t_1) { + goto __pyx_L6_next_or; + } else { + __pyx_t_2 = __pyx_t_1; + goto __pyx_L5_bool_binop_done; } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "countnans.pyx":360 - * cdef float fcnt - * cdef int count - * if weights is not None: # <<<<<<<<<<<<<< - * for i1 in range(n1): - * fcnt = 0 - */ - __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_5 = (__pyx_t_4 != 0); - if (__pyx_t_5) { + __pyx_L6_next_or:; + __pyx_t_1 = (((__pyx_v_weights->dimensions[0]) != __pyx_v_n0) != 0); + __pyx_t_2 = __pyx_t_1; + __pyx_L5_bool_binop_done:; + if (__pyx_t_2) { - /* "countnans.pyx":361 - * cdef int count + /* "countnans.pyx":389 * if weights is not None: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * fcnt = 0 - * for i0 in range(n0): + * if weights.ndim != 1 or weights.shape[0] != n0: + * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< + * fcnt = 0 + * for i0 in range(n0): */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "countnans.pyx":362 - * if weights is not None: - * for i1 in range(n1): - * fcnt = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "countnans.pyx":390 + * if weights.ndim != 1 or weights.shape[0] != n0: + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_v_fcnt = 0.0; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_fcnt = __pyx_int_0; - /* "countnans.pyx":363 - * for i1 in range(n1): - * fcnt = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: + /* "countnans.pyx":391 + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai != ai: */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "countnans.pyx":364 - * fcnt = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * fcnt += weights[i0] + /* "countnans.pyx":392 + * fcnt = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai != ai: + * fcnt += weights[i0] */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "countnans.pyx":365 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i0] - * y[i1] = fcnt + /* "countnans.pyx":393 + * for i0 in range(n0): + * ai = a[i0] + * if ai != ai: # <<<<<<<<<<<<<< + * fcnt += weights[i0] + * return fcnt */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":366 - * ai = a[i0, i1] - * if ai != ai: - * fcnt += weights[i0] # <<<<<<<<<<<<<< - * y[i1] = fcnt + /* "countnans.pyx":394 + * ai = a[i0] + * if ai != ai: + * fcnt += weights[i0] # <<<<<<<<<<<<<< + * return fcnt * else: */ - __pyx_t_12 = __pyx_v_i0; - __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); - goto __pyx_L8; - } - __pyx_L8:; + __pyx_t_7 = __pyx_v_i0; + __pyx_t_3 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_weights.diminfo[0].strides))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_8); + __pyx_t_8 = 0; + goto __pyx_L9; } + __pyx_L9:; + } - /* "countnans.pyx":367 - * if ai != ai: - * fcnt += weights[i0] - * y[i1] = fcnt # <<<<<<<<<<<<<< + /* "countnans.pyx":395 + * if ai != ai: + * fcnt += weights[i0] + * return fcnt # <<<<<<<<<<<<<< * else: - * for i1 in range(n1): + * count = 0 */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; - } - goto __pyx_L3; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_fcnt); + __pyx_r = __pyx_v_fcnt; + goto __pyx_L0; } /*else*/ { - /* "countnans.pyx":369 - * y[i1] = fcnt + /* "countnans.pyx":397 + * return fcnt * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_count = __pyx_int_0; - /* "countnans.pyx":370 + /* "countnans.pyx":398 * else: - * for i1 in range(n1): - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "countnans.pyx":371 - * for i1 in range(n1): - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: - */ - __pyx_t_9 = __pyx_v_n0; - for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { - __pyx_v_i0 = __pyx_t_13; - - /* "countnans.pyx":372 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * count += 1 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai != ai: */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "countnans.pyx":373 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * count += 1 - * y[i1] = count + /* "countnans.pyx":399 + * count = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai != ai: + * count += 1 */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "countnans.pyx":374 - * ai = a[i0, i1] - * if ai != ai: - * count += 1 # <<<<<<<<<<<<<< - * y[i1] = count - * return y + /* "countnans.pyx":400 + * for i0 in range(n0): + * ai = a[i0] + * if ai != ai: # <<<<<<<<<<<<<< + * count += 1 + * return count */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L13; - } - __pyx_L13:; - } + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":375 - * if ai != ai: - * count += 1 - * y[i1] = count # <<<<<<<<<<<<<< - * return y + /* "countnans.pyx":401 + * ai = a[i0] + * if ai != ai: + * count += 1 # <<<<<<<<<<<<<< + * return count * @cython.boundscheck(False) */ - __pyx_t_9 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; + __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_8); + __pyx_t_8 = 0; + goto __pyx_L12; + } + __pyx_L12:; } - } - __pyx_L3:; - /* "countnans.pyx":376 - * count += 1 - * y[i1] = count - * return y # <<<<<<<<<<<<<< + /* "countnans.pyx":402 + * if ai != ai: + * count += 1 + * return count # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_count); + __pyx_r = __pyx_v_count; + goto __pyx_L0; + } - /* "countnans.pyx":345 + /* "countnans.pyx":378 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=0." + * "Count of nans in 1d array with dtype=float along axis=None." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_8); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_fcnt); + __Pyx_XDECREF(__pyx_v_count); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":379 +/* "countnans.pyx":405 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=1." + * "Count of nans in 1d array with dtype=float32 along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_19countnans_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_18countnans_2d_float_axis1[] = "countnans_2d_float_axis1(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float along axis=1."; -static PyMethodDef __pyx_mdef_9countnans_19countnans_2d_float_axis1 = {"countnans_2d_float_axis1", (PyCFunction)__pyx_pw_9countnans_19countnans_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_18countnans_2d_float_axis1}; -static PyObject *__pyx_pw_9countnans_19countnans_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_19countnans_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_18countnans_1d_float32_axisNone[] = "countnans_1d_float32_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 1d array with dtype=float32 along axis=None."; +static PyMethodDef __pyx_mdef_9countnans_19countnans_1d_float32_axisNone = {"countnans_1d_float32_axisNone", (PyCFunction)__pyx_pw_9countnans_19countnans_1d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_18countnans_1d_float32_axisNone}; +static PyObject *__pyx_pw_9countnans_19countnans_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -5415,17 +5468,17 @@ static PyObject *__pyx_pw_9countnans_19countnans_2d_float_axis1(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_2d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_1d_float32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":380 + /* "countnans.pyx":406 * @cython.wraparound(False) - * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, + * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 2d array with dtype=float along axis=1." - * cdef np.float_t ai + * "Count of nans in 1d array with dtype=float32 along axis=None." + * cdef np.float32_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); if (unlikely(__pyx_kwds)) { @@ -5449,7 +5502,7 @@ static PyObject *__pyx_pw_9countnans_19countnans_2d_float_axis1(PyObject *__pyx_ } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_1d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -5464,22 +5517,22 @@ static PyObject *__pyx_pw_9countnans_19countnans_2d_float_axis1(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_2d_float_axis1", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_1d_float32_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_18countnans_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_18countnans_1d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":379 + /* "countnans.pyx":405 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=1." + * "Count of nans in 1d array with dtype=float32 along axis=None." */ /* function exit code */ @@ -5491,48 +5544,32 @@ static PyObject *__pyx_pw_9countnans_19countnans_2d_float_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9countnans_18countnans_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_9countnans_18countnans_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - float __pyx_v_fcnt; - int __pyx_v_count; + PyObject *__pyx_v_fcnt = NULL; + PyObject *__pyx_v_count = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_t_5; + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; + PyObject *__pyx_t_8 = NULL; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; - Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_2d_float_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("countnans_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -5543,300 +5580,267 @@ static PyObject *__pyx_pf_9countnans_18countnans_2d_float_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":385 - * cdef Py_ssize_t i0, i1 + /* "countnans.pyx":411 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":386 + /* "countnans.pyx":412 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * + * if weights is not None: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":387 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "countnans.pyx":388 + /* "countnans.pyx":414 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "countnans.pyx":389 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) * - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "countnans.pyx":394 - * cdef float fcnt - * cdef int count * if weights is not None: # <<<<<<<<<<<<<< - * for i0 in range(n0): - * fcnt = 0 + * if weights.ndim != 1 or weights.shape[0] != n0: + * raise ValueError("shape of weights does not match the data") */ - __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_5 = (__pyx_t_4 != 0); - if (__pyx_t_5) { + __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { - /* "countnans.pyx":395 - * cdef int count + /* "countnans.pyx":415 + * * if weights is not None: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * fcnt = 0 - * for i1 in range(n1): + * if weights.ndim != 1 or weights.shape[0] != n0: # <<<<<<<<<<<<<< + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_1 = ((__pyx_v_weights->nd != 1) != 0); + if (!__pyx_t_1) { + goto __pyx_L6_next_or; + } else { + __pyx_t_2 = __pyx_t_1; + goto __pyx_L5_bool_binop_done; + } + __pyx_L6_next_or:; + __pyx_t_1 = (((__pyx_v_weights->dimensions[0]) != __pyx_v_n0) != 0); + __pyx_t_2 = __pyx_t_1; + __pyx_L5_bool_binop_done:; + if (__pyx_t_2) { - /* "countnans.pyx":396 + /* "countnans.pyx":416 * if weights is not None: + * if weights.ndim != 1 or weights.shape[0] != n0: + * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< + * fcnt = 0 * for i0 in range(n0): - * fcnt = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] */ - __pyx_v_fcnt = 0.0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "countnans.pyx":397 + /* "countnans.pyx":417 + * if weights.ndim != 1 or weights.shape[0] != n0: + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * fcnt = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: - */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; - - /* "countnans.pyx":398 - * fcnt = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * fcnt += weights[i1] + * ai = a[i0] */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __Pyx_INCREF(__pyx_int_0); + __pyx_v_fcnt = __pyx_int_0; - /* "countnans.pyx":399 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i1] - * y[i0] = fcnt + /* "countnans.pyx":418 + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai != ai: */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "countnans.pyx":400 - * ai = a[i0, i1] - * if ai != ai: - * fcnt += weights[i1] # <<<<<<<<<<<<<< - * y[i0] = fcnt - * else: + /* "countnans.pyx":419 + * fcnt = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai != ai: + * fcnt += weights[i0] */ - __pyx_t_12 = __pyx_v_i1; - __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); - goto __pyx_L8; - } - __pyx_L8:; - } + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "countnans.pyx":401 - * if ai != ai: - * fcnt += weights[i1] - * y[i0] = fcnt # <<<<<<<<<<<<<< - * else: + /* "countnans.pyx":420 * for i0 in range(n0): + * ai = a[i0] + * if ai != ai: # <<<<<<<<<<<<<< + * fcnt += weights[i0] + * return fcnt */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; - } - goto __pyx_L3; - } - /*else*/ { + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":403 - * y[i0] = fcnt + /* "countnans.pyx":421 + * ai = a[i0] + * if ai != ai: + * fcnt += weights[i0] # <<<<<<<<<<<<<< + * return fcnt * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * count = 0 - * for i1 in range(n1): */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_7 = __pyx_v_i0; + __pyx_t_3 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_weights.diminfo[0].strides))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_8); + __pyx_t_8 = 0; + goto __pyx_L9; + } + __pyx_L9:; + } - /* "countnans.pyx":404 + /* "countnans.pyx":422 + * if ai != ai: + * fcnt += weights[i0] + * return fcnt # <<<<<<<<<<<<<< * else: - * for i0 in range(n0): - * count = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * count = 0 */ - __pyx_v_count = 0; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_fcnt); + __pyx_r = __pyx_v_fcnt; + goto __pyx_L0; + } + /*else*/ { - /* "countnans.pyx":405 + /* "countnans.pyx":424 + * return fcnt + * else: + * count = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * count = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: + * ai = a[i0] */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { - __pyx_v_i1 = __pyx_t_13; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_count = __pyx_int_0; - /* "countnans.pyx":406 - * count = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * count += 1 + /* "countnans.pyx":425 + * else: + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai != ai: */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "countnans.pyx":407 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * count += 1 - * y[i0] = count + /* "countnans.pyx":426 + * count = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai != ai: + * count += 1 */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "countnans.pyx":408 - * ai = a[i0, i1] - * if ai != ai: - * count += 1 # <<<<<<<<<<<<<< - * y[i0] = count - * return y + /* "countnans.pyx":427 + * for i0 in range(n0): + * ai = a[i0] + * if ai != ai: # <<<<<<<<<<<<<< + * count += 1 + * return count */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L13; - } - __pyx_L13:; - } + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":409 - * if ai != ai: - * count += 1 - * y[i0] = count # <<<<<<<<<<<<<< - * return y + /* "countnans.pyx":428 + * ai = a[i0] + * if ai != ai: + * count += 1 # <<<<<<<<<<<<<< + * return count * @cython.boundscheck(False) */ - __pyx_t_9 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; + __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_8); + __pyx_t_8 = 0; + goto __pyx_L12; + } + __pyx_L12:; } - } - __pyx_L3:; - /* "countnans.pyx":410 - * count += 1 - * y[i0] = count - * return y # <<<<<<<<<<<<<< + /* "countnans.pyx":429 + * if ai != ai: + * count += 1 + * return count # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_count); + __pyx_r = __pyx_v_count; + goto __pyx_L0; + } - /* "countnans.pyx":379 + /* "countnans.pyx":405 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=1." + * "Count of nans in 1d array with dtype=float32 along axis=None." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_8); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_fcnt); + __Pyx_XDECREF(__pyx_v_count); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":413 +/* "countnans.pyx":432 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=0." + * "Count of nans in 1d array with dtype=float64 along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_21countnans_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_20countnans_2d_float32_axis0[] = "countnans_2d_float32_axis0(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_9countnans_21countnans_2d_float32_axis0 = {"countnans_2d_float32_axis0", (PyCFunction)__pyx_pw_9countnans_21countnans_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_20countnans_2d_float32_axis0}; -static PyObject *__pyx_pw_9countnans_21countnans_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_21countnans_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_20countnans_1d_float64_axisNone[] = "countnans_1d_float64_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 1d array with dtype=float64 along axis=None."; +static PyMethodDef __pyx_mdef_9countnans_21countnans_1d_float64_axisNone = {"countnans_1d_float64_axisNone", (PyCFunction)__pyx_pw_9countnans_21countnans_1d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_20countnans_1d_float64_axisNone}; +static PyObject *__pyx_pw_9countnans_21countnans_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -5844,17 +5848,17 @@ static PyObject *__pyx_pw_9countnans_21countnans_2d_float32_axis0(PyObject *__py int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_2d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_1d_float64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":414 + /* "countnans.pyx":433 * @cython.wraparound(False) - * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, + * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 2d array with dtype=float32 along axis=0." - * cdef np.float32_t ai + * "Count of nans in 1d array with dtype=float64 along axis=None." + * cdef np.float64_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); if (unlikely(__pyx_kwds)) { @@ -5878,7 +5882,7 @@ static PyObject *__pyx_pw_9countnans_21countnans_2d_float32_axis0(PyObject *__py } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_1d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -5893,22 +5897,22 @@ static PyObject *__pyx_pw_9countnans_21countnans_2d_float32_axis0(PyObject *__py } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_2d_float32_axis0", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_1d_float64_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_20countnans_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_20countnans_1d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":413 + /* "countnans.pyx":432 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=0." + * "Count of nans in 1d array with dtype=float64 along axis=None." */ /* function exit code */ @@ -5920,48 +5924,32 @@ static PyObject *__pyx_pw_9countnans_21countnans_2d_float32_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9countnans_20countnans_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_9countnans_20countnans_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - float __pyx_v_fcnt; - int __pyx_v_count; + PyObject *__pyx_v_fcnt = NULL; + PyObject *__pyx_v_count = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_t_5; + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; + PyObject *__pyx_t_8 = NULL; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; - Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_2d_float32_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("countnans_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -5972,300 +5960,267 @@ static PyObject *__pyx_pf_9countnans_20countnans_2d_float32_axis0(CYTHON_UNUSED __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":419 - * cdef Py_ssize_t i0, i1 + /* "countnans.pyx":438 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":420 + /* "countnans.pyx":439 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * + * if weights is not None: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":421 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "countnans.pyx":422 + /* "countnans.pyx":441 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "countnans.pyx":423 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) * - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "countnans.pyx":428 - * cdef float fcnt - * cdef int count * if weights is not None: # <<<<<<<<<<<<<< - * for i1 in range(n1): - * fcnt = 0 + * if weights.ndim != 1 or weights.shape[0] != n0: + * raise ValueError("shape of weights does not match the data") */ - __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_5 = (__pyx_t_4 != 0); - if (__pyx_t_5) { + __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { - /* "countnans.pyx":429 - * cdef int count + /* "countnans.pyx":442 + * * if weights is not None: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * fcnt = 0 - * for i0 in range(n0): + * if weights.ndim != 1 or weights.shape[0] != n0: # <<<<<<<<<<<<<< + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_1 = ((__pyx_v_weights->nd != 1) != 0); + if (!__pyx_t_1) { + goto __pyx_L6_next_or; + } else { + __pyx_t_2 = __pyx_t_1; + goto __pyx_L5_bool_binop_done; + } + __pyx_L6_next_or:; + __pyx_t_1 = (((__pyx_v_weights->dimensions[0]) != __pyx_v_n0) != 0); + __pyx_t_2 = __pyx_t_1; + __pyx_L5_bool_binop_done:; + if (__pyx_t_2) { - /* "countnans.pyx":430 + /* "countnans.pyx":443 * if weights is not None: - * for i1 in range(n1): - * fcnt = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + * if weights.ndim != 1 or weights.shape[0] != n0: + * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< + * fcnt = 0 + * for i0 in range(n0): + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + + /* "countnans.pyx":444 + * if weights.ndim != 1 or weights.shape[0] != n0: + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_v_fcnt = 0.0; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_fcnt = __pyx_int_0; - /* "countnans.pyx":431 - * for i1 in range(n1): - * fcnt = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: + /* "countnans.pyx":445 + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai != ai: */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "countnans.pyx":432 - * fcnt = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * fcnt += weights[i0] + /* "countnans.pyx":446 + * fcnt = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai != ai: + * fcnt += weights[i0] */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "countnans.pyx":433 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i0] - * y[i1] = fcnt + /* "countnans.pyx":447 + * for i0 in range(n0): + * ai = a[i0] + * if ai != ai: # <<<<<<<<<<<<<< + * fcnt += weights[i0] + * return fcnt */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":434 - * ai = a[i0, i1] - * if ai != ai: - * fcnt += weights[i0] # <<<<<<<<<<<<<< - * y[i1] = fcnt + /* "countnans.pyx":448 + * ai = a[i0] + * if ai != ai: + * fcnt += weights[i0] # <<<<<<<<<<<<<< + * return fcnt * else: */ - __pyx_t_12 = __pyx_v_i0; - __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); - goto __pyx_L8; - } - __pyx_L8:; + __pyx_t_7 = __pyx_v_i0; + __pyx_t_3 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_weights.diminfo[0].strides))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_8); + __pyx_t_8 = 0; + goto __pyx_L9; } + __pyx_L9:; + } - /* "countnans.pyx":435 - * if ai != ai: - * fcnt += weights[i0] - * y[i1] = fcnt # <<<<<<<<<<<<<< + /* "countnans.pyx":449 + * if ai != ai: + * fcnt += weights[i0] + * return fcnt # <<<<<<<<<<<<<< * else: - * for i1 in range(n1): + * count = 0 */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; - } - goto __pyx_L3; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_fcnt); + __pyx_r = __pyx_v_fcnt; + goto __pyx_L0; } /*else*/ { - /* "countnans.pyx":437 - * y[i1] = fcnt + /* "countnans.pyx":451 + * return fcnt * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_count = __pyx_int_0; - /* "countnans.pyx":438 + /* "countnans.pyx":452 * else: - * for i1 in range(n1): - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "countnans.pyx":439 - * for i1 in range(n1): - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: - */ - __pyx_t_9 = __pyx_v_n0; - for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { - __pyx_v_i0 = __pyx_t_13; - - /* "countnans.pyx":440 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * count += 1 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai != ai: */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "countnans.pyx":441 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * count += 1 - * y[i1] = count + /* "countnans.pyx":453 + * count = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai != ai: + * count += 1 */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "countnans.pyx":442 - * ai = a[i0, i1] - * if ai != ai: - * count += 1 # <<<<<<<<<<<<<< - * y[i1] = count - * return y + /* "countnans.pyx":454 + * for i0 in range(n0): + * ai = a[i0] + * if ai != ai: # <<<<<<<<<<<<<< + * count += 1 + * return count */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L13; - } - __pyx_L13:; - } + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":443 - * if ai != ai: - * count += 1 - * y[i1] = count # <<<<<<<<<<<<<< - * return y + /* "countnans.pyx":455 + * ai = a[i0] + * if ai != ai: + * count += 1 # <<<<<<<<<<<<<< + * return count * @cython.boundscheck(False) */ - __pyx_t_9 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; + __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_8); + __pyx_t_8 = 0; + goto __pyx_L12; + } + __pyx_L12:; } - } - __pyx_L3:; - /* "countnans.pyx":444 - * count += 1 - * y[i1] = count - * return y # <<<<<<<<<<<<<< + /* "countnans.pyx":456 + * if ai != ai: + * count += 1 + * return count # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_count); + __pyx_r = __pyx_v_count; + goto __pyx_L0; + } - /* "countnans.pyx":413 + /* "countnans.pyx":432 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=0." + * "Count of nans in 1d array with dtype=float64 along axis=None." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_8); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_fcnt); + __Pyx_XDECREF(__pyx_v_count); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":447 +/* "countnans.pyx":459 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=1." + * "Count of nans in 2d array with dtype=float along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_23countnans_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_22countnans_2d_float32_axis1[] = "countnans_2d_float32_axis1(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float32 along axis=1."; -static PyMethodDef __pyx_mdef_9countnans_23countnans_2d_float32_axis1 = {"countnans_2d_float32_axis1", (PyCFunction)__pyx_pw_9countnans_23countnans_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_22countnans_2d_float32_axis1}; -static PyObject *__pyx_pw_9countnans_23countnans_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_23countnans_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_22countnans_2d_float_axisNone[] = "countnans_2d_float_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float along axis=None."; +static PyMethodDef __pyx_mdef_9countnans_23countnans_2d_float_axisNone = {"countnans_2d_float_axisNone", (PyCFunction)__pyx_pw_9countnans_23countnans_2d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_22countnans_2d_float_axisNone}; +static PyObject *__pyx_pw_9countnans_23countnans_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -6273,17 +6228,17 @@ static PyObject *__pyx_pw_9countnans_23countnans_2d_float32_axis1(PyObject *__py int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_2d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_2d_float_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":448 + /* "countnans.pyx":460 * @cython.wraparound(False) - * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, + * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 2d array with dtype=float32 along axis=1." - * cdef np.float32_t ai + * "Count of nans in 2d array with dtype=float along axis=None." + * cdef np.float_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); if (unlikely(__pyx_kwds)) { @@ -6307,7 +6262,7 @@ static PyObject *__pyx_pw_9countnans_23countnans_2d_float32_axis1(PyObject *__py } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -6322,22 +6277,22 @@ static PyObject *__pyx_pw_9countnans_23countnans_2d_float32_axis1(PyObject *__py } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_2d_float32_axis1", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_2d_float_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_22countnans_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_22countnans_2d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":447 + /* "countnans.pyx":459 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=1." + * "Count of nans in 2d array with dtype=float along axis=None." */ /* function exit code */ @@ -6349,31 +6304,27 @@ static PyObject *__pyx_pw_9countnans_23countnans_2d_float32_axis1(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9countnans_22countnans_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_9countnans_22countnans_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - float __pyx_v_fcnt; - int __pyx_v_count; + PyObject *__pyx_v_fcnt = NULL; + PyObject *__pyx_v_count = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_t_5; - Py_ssize_t __pyx_t_6; + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; @@ -6382,15 +6333,10 @@ static PyObject *__pyx_pf_9countnans_22countnans_2d_float32_axis1(CYTHON_UNUSED Py_ssize_t __pyx_t_12; Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; - Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_2d_float32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("countnans_2d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -6401,16 +6347,16 @@ static PyObject *__pyx_pf_9countnans_22countnans_2d_float32_axis1(CYTHON_UNUSED __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":453 + /* "countnans.pyx":465 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6419,282 +6365,306 @@ static PyObject *__pyx_pf_9countnans_22countnans_2d_float32_axis1(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":454 + /* "countnans.pyx":466 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":455 + /* "countnans.pyx":467 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * + * if weights is not None: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "countnans.pyx":456 - * cdef Py_ssize_t n0 = dim[0] + /* "countnans.pyx":469 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * + * if weights is not None: # <<<<<<<<<<<<<< + * if weights.shape[0] != (n0, n1): + * raise ValueError("shape of weights does not match the data") */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { - /* "countnans.pyx":457 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) + /* "countnans.pyx":470 * + * if weights is not None: + * if weights.shape[0] != (n0, n1): # <<<<<<<<<<<<<< + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyInt_From_Py_intptr_t((__pyx_v_weights->dimensions[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_4 = 0; + __pyx_t_5 = 0; + __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_t_6, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_2) { - /* "countnans.pyx":462 - * cdef float fcnt - * cdef int count - * if weights is not None: # <<<<<<<<<<<<<< + /* "countnans.pyx":471 + * if weights is not None: + * if weights.shape[0] != (n0, n1): + * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< + * fcnt = 0 * for i0 in range(n0): - * fcnt = 0 */ - __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_5 = (__pyx_t_4 != 0); - if (__pyx_t_5) { + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "countnans.pyx":463 - * cdef int count - * if weights is not None: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * fcnt = 0 + /* "countnans.pyx":472 + * if weights.shape[0] != (n0, n1): + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * for i1 in range(n1): */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_fcnt = __pyx_int_0; - /* "countnans.pyx":464 - * if weights is not None: - * for i0 in range(n0): - * fcnt = 0 # <<<<<<<<<<<<<< + /* "countnans.pyx":473 + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_fcnt = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "countnans.pyx":465 + /* "countnans.pyx":474 + * fcnt = 0 * for i0 in range(n0): - * fcnt = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "countnans.pyx":466 - * fcnt = 0 + /* "countnans.pyx":475 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: - * fcnt += weights[i1] + * fcnt += weights[i0, i1] */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":467 + /* "countnans.pyx":476 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i1] - * y[i0] = fcnt + * fcnt += weights[i0, i1] + * return fcnt */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":468 + /* "countnans.pyx":477 * ai = a[i0, i1] * if ai != ai: - * fcnt += weights[i1] # <<<<<<<<<<<<<< - * y[i0] = fcnt + * fcnt += weights[i0, i1] # <<<<<<<<<<<<<< + * return fcnt * else: */ - __pyx_t_12 = __pyx_v_i1; - __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); - goto __pyx_L8; + __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_i0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_i1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_5 = 0; + __pyx_t_6 = 0; + __pyx_t_6 = PyObject_GetItem(((PyObject *)__pyx_v_weights), __pyx_t_3); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_3); + __pyx_t_3 = 0; + goto __pyx_L9; } - __pyx_L8:; + __pyx_L9:; } + } - /* "countnans.pyx":469 + /* "countnans.pyx":478 * if ai != ai: - * fcnt += weights[i1] - * y[i0] = fcnt # <<<<<<<<<<<<<< + * fcnt += weights[i0, i1] + * return fcnt # <<<<<<<<<<<<<< * else: - * for i0 in range(n0): + * count = 0 */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; - } - goto __pyx_L3; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_fcnt); + __pyx_r = __pyx_v_fcnt; + goto __pyx_L0; } /*else*/ { - /* "countnans.pyx":471 - * y[i0] = fcnt + /* "countnans.pyx":480 + * return fcnt * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * count = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * for i1 in range(n1): */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_count = __pyx_int_0; - /* "countnans.pyx":472 + /* "countnans.pyx":481 * else: - * for i0 in range(n0): - * count = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_count = 0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "countnans.pyx":473 + /* "countnans.pyx":482 + * count = 0 * for i0 in range(n0): - * count = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { - __pyx_v_i1 = __pyx_t_13; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "countnans.pyx":474 - * count = 0 + /* "countnans.pyx":483 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: * count += 1 */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":475 + /* "countnans.pyx":484 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< * count += 1 - * y[i0] = count + * return count */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":476 + /* "countnans.pyx":485 * ai = a[i0, i1] * if ai != ai: * count += 1 # <<<<<<<<<<<<<< - * y[i0] = count - * return y + * return count + * @cython.boundscheck(False) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L13; + __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_3); + __pyx_t_3 = 0; + goto __pyx_L14; } - __pyx_L13:; + __pyx_L14:; } - - /* "countnans.pyx":477 - * if ai != ai: - * count += 1 - * y[i0] = count # <<<<<<<<<<<<<< - * return y - * @cython.boundscheck(False) - */ - __pyx_t_9 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; } - } - __pyx_L3:; - /* "countnans.pyx":478 + /* "countnans.pyx":486 + * if ai != ai: * count += 1 - * y[i0] = count - * return y # <<<<<<<<<<<<<< + * return count # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_count); + __pyx_r = __pyx_v_count; + goto __pyx_L0; + } - /* "countnans.pyx":447 + /* "countnans.pyx":459 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=1." + * "Count of nans in 2d array with dtype=float along axis=None." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_fcnt); + __Pyx_XDECREF(__pyx_v_count); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":481 +/* "countnans.pyx":489 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=0." + * "Count of nans in 2d array with dtype=float32 along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_25countnans_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_24countnans_2d_float64_axis0[] = "countnans_2d_float64_axis0(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_9countnans_25countnans_2d_float64_axis0 = {"countnans_2d_float64_axis0", (PyCFunction)__pyx_pw_9countnans_25countnans_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_24countnans_2d_float64_axis0}; -static PyObject *__pyx_pw_9countnans_25countnans_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_25countnans_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_24countnans_2d_float32_axisNone[] = "countnans_2d_float32_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float32 along axis=None."; +static PyMethodDef __pyx_mdef_9countnans_25countnans_2d_float32_axisNone = {"countnans_2d_float32_axisNone", (PyCFunction)__pyx_pw_9countnans_25countnans_2d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_24countnans_2d_float32_axisNone}; +static PyObject *__pyx_pw_9countnans_25countnans_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -6702,17 +6672,17 @@ static PyObject *__pyx_pw_9countnans_25countnans_2d_float64_axis0(PyObject *__py int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_2d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_2d_float32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":482 + /* "countnans.pyx":490 * @cython.wraparound(False) - * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, + * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 2d array with dtype=float64 along axis=0." - * cdef np.float64_t ai + * "Count of nans in 2d array with dtype=float32 along axis=None." + * cdef np.float32_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); if (unlikely(__pyx_kwds)) { @@ -6736,7 +6706,7 @@ static PyObject *__pyx_pw_9countnans_25countnans_2d_float64_axis0(PyObject *__py } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -6751,22 +6721,22 @@ static PyObject *__pyx_pw_9countnans_25countnans_2d_float64_axis0(PyObject *__py } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_2d_float64_axis0", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_2d_float32_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_24countnans_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_24countnans_2d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":481 + /* "countnans.pyx":489 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=0." + * "Count of nans in 2d array with dtype=float32 along axis=None." */ /* function exit code */ @@ -6778,31 +6748,27 @@ static PyObject *__pyx_pw_9countnans_25countnans_2d_float64_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9countnans_24countnans_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_9countnans_24countnans_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - float __pyx_v_fcnt; - int __pyx_v_count; + PyObject *__pyx_v_fcnt = NULL; + PyObject *__pyx_v_count = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_t_5; - Py_ssize_t __pyx_t_6; + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; @@ -6811,15 +6777,10 @@ static PyObject *__pyx_pf_9countnans_24countnans_2d_float64_axis0(CYTHON_UNUSED Py_ssize_t __pyx_t_12; Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; - Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_2d_float64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("countnans_2d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -6830,16 +6791,16 @@ static PyObject *__pyx_pf_9countnans_24countnans_2d_float64_axis0(CYTHON_UNUSED __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":487 + /* "countnans.pyx":495 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6848,282 +6809,306 @@ static PyObject *__pyx_pf_9countnans_24countnans_2d_float64_axis0(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":488 + /* "countnans.pyx":496 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":489 + /* "countnans.pyx":497 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * + * if weights is not None: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "countnans.pyx":490 - * cdef Py_ssize_t n0 = dim[0] + /* "countnans.pyx":499 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * + * if weights is not None: # <<<<<<<<<<<<<< + * if weights.shape[0] != (n0, n1): + * raise ValueError("shape of weights does not match the data") */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { - /* "countnans.pyx":491 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) + /* "countnans.pyx":500 * + * if weights is not None: + * if weights.shape[0] != (n0, n1): # <<<<<<<<<<<<<< + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyInt_From_Py_intptr_t((__pyx_v_weights->dimensions[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_4 = 0; + __pyx_t_5 = 0; + __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_t_6, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_2) { - /* "countnans.pyx":496 - * cdef float fcnt - * cdef int count - * if weights is not None: # <<<<<<<<<<<<<< - * for i1 in range(n1): - * fcnt = 0 + /* "countnans.pyx":501 + * if weights is not None: + * if weights.shape[0] != (n0, n1): + * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< + * fcnt = 0 + * for i0 in range(n0): */ - __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_5 = (__pyx_t_4 != 0); - if (__pyx_t_5) { + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "countnans.pyx":497 - * cdef int count - * if weights is not None: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * fcnt = 0 - * for i0 in range(n0): + /* "countnans.pyx":502 + * if weights.shape[0] != (n0, n1): + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_fcnt = __pyx_int_0; - /* "countnans.pyx":498 - * if weights is not None: - * for i1 in range(n1): - * fcnt = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "countnans.pyx":503 + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_fcnt = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "countnans.pyx":499 - * for i1 in range(n1): - * fcnt = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "countnans.pyx":504 + * fcnt = 0 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "countnans.pyx":500 - * fcnt = 0 - * for i0 in range(n0): + /* "countnans.pyx":505 + * for i0 in range(n0): + * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: - * fcnt += weights[i0] + * fcnt += weights[i0, i1] */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":501 - * for i0 in range(n0): + /* "countnans.pyx":506 + * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i0] - * y[i1] = fcnt + * fcnt += weights[i0, i1] + * return fcnt */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":502 + /* "countnans.pyx":507 * ai = a[i0, i1] * if ai != ai: - * fcnt += weights[i0] # <<<<<<<<<<<<<< - * y[i1] = fcnt + * fcnt += weights[i0, i1] # <<<<<<<<<<<<<< + * return fcnt * else: */ - __pyx_t_12 = __pyx_v_i0; - __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); - goto __pyx_L8; + __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_i0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_i1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_5 = 0; + __pyx_t_6 = 0; + __pyx_t_6 = PyObject_GetItem(((PyObject *)__pyx_v_weights), __pyx_t_3); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_3); + __pyx_t_3 = 0; + goto __pyx_L9; } - __pyx_L8:; + __pyx_L9:; } + } - /* "countnans.pyx":503 + /* "countnans.pyx":508 * if ai != ai: - * fcnt += weights[i0] - * y[i1] = fcnt # <<<<<<<<<<<<<< + * fcnt += weights[i0, i1] + * return fcnt # <<<<<<<<<<<<<< * else: - * for i1 in range(n1): + * count = 0 */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; - } - goto __pyx_L3; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_fcnt); + __pyx_r = __pyx_v_fcnt; + goto __pyx_L0; } /*else*/ { - /* "countnans.pyx":505 - * y[i1] = fcnt + /* "countnans.pyx":510 + * return fcnt * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_count = __pyx_int_0; - /* "countnans.pyx":506 + /* "countnans.pyx":511 * else: - * for i1 in range(n1): - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_count = 0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "countnans.pyx":507 - * for i1 in range(n1): - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "countnans.pyx":512 + * count = 0 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ - __pyx_t_9 = __pyx_v_n0; - for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { - __pyx_v_i0 = __pyx_t_13; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "countnans.pyx":508 - * count = 0 - * for i0 in range(n0): + /* "countnans.pyx":513 + * for i0 in range(n0): + * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: * count += 1 */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":509 - * for i0 in range(n0): + /* "countnans.pyx":514 + * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< * count += 1 - * y[i1] = count + * return count */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":510 + /* "countnans.pyx":515 * ai = a[i0, i1] * if ai != ai: * count += 1 # <<<<<<<<<<<<<< - * y[i1] = count - * return y + * return count + * @cython.boundscheck(False) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L13; + __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_3); + __pyx_t_3 = 0; + goto __pyx_L14; } - __pyx_L13:; + __pyx_L14:; } - - /* "countnans.pyx":511 - * if ai != ai: - * count += 1 - * y[i1] = count # <<<<<<<<<<<<<< - * return y - * @cython.boundscheck(False) - */ - __pyx_t_9 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; } - } - __pyx_L3:; - /* "countnans.pyx":512 + /* "countnans.pyx":516 + * if ai != ai: * count += 1 - * y[i1] = count - * return y # <<<<<<<<<<<<<< + * return count # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_count); + __pyx_r = __pyx_v_count; + goto __pyx_L0; + } - /* "countnans.pyx":481 + /* "countnans.pyx":489 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=0." + * "Count of nans in 2d array with dtype=float32 along axis=None." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_fcnt); + __Pyx_XDECREF(__pyx_v_count); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":515 +/* "countnans.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=1." + * "Count of nans in 2d array with dtype=float64 along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_27countnans_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_26countnans_2d_float64_axis1[] = "countnans_2d_float64_axis1(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float64 along axis=1."; -static PyMethodDef __pyx_mdef_9countnans_27countnans_2d_float64_axis1 = {"countnans_2d_float64_axis1", (PyCFunction)__pyx_pw_9countnans_27countnans_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_26countnans_2d_float64_axis1}; -static PyObject *__pyx_pw_9countnans_27countnans_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_27countnans_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_26countnans_2d_float64_axisNone[] = "countnans_2d_float64_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float64 along axis=None."; +static PyMethodDef __pyx_mdef_9countnans_27countnans_2d_float64_axisNone = {"countnans_2d_float64_axisNone", (PyCFunction)__pyx_pw_9countnans_27countnans_2d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_26countnans_2d_float64_axisNone}; +static PyObject *__pyx_pw_9countnans_27countnans_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -7131,16 +7116,16 @@ static PyObject *__pyx_pw_9countnans_27countnans_2d_float64_axis1(PyObject *__py int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_2d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_2d_float64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":516 + /* "countnans.pyx":520 * @cython.wraparound(False) - * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, + * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 2d array with dtype=float64 along axis=1." + * "Count of nans in 2d array with dtype=float64 along axis=None." * cdef np.float64_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); @@ -7165,7 +7150,7 @@ static PyObject *__pyx_pw_9countnans_27countnans_2d_float64_axis1(PyObject *__py } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -7180,22 +7165,22 @@ static PyObject *__pyx_pw_9countnans_27countnans_2d_float64_axis1(PyObject *__py } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_2d_float64_axis1", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_2d_float64_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_26countnans_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_26countnans_2d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":515 + /* "countnans.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=1." + * "Count of nans in 2d array with dtype=float64 along axis=None." */ /* function exit code */ @@ -7207,31 +7192,27 @@ static PyObject *__pyx_pw_9countnans_27countnans_2d_float64_axis1(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9countnans_26countnans_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { +static PyObject *__pyx_pf_9countnans_26countnans_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - float __pyx_v_fcnt; - int __pyx_v_count; + PyObject *__pyx_v_fcnt = NULL; + PyObject *__pyx_v_count = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_t_5; - Py_ssize_t __pyx_t_6; + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; @@ -7240,15 +7221,10 @@ static PyObject *__pyx_pf_9countnans_26countnans_2d_float64_axis1(CYTHON_UNUSED Py_ssize_t __pyx_t_12; Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; - Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_2d_float64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("countnans_2d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -7259,16 +7235,16 @@ static PyObject *__pyx_pf_9countnans_26countnans_2d_float64_axis1(CYTHON_UNUSED __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":521 + /* "countnans.pyx":525 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7277,271 +7253,295 @@ static PyObject *__pyx_pf_9countnans_26countnans_2d_float64_axis1(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":522 + /* "countnans.pyx":526 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":523 + /* "countnans.pyx":527 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * + * if weights is not None: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "countnans.pyx":524 - * cdef Py_ssize_t n0 = dim[0] + /* "countnans.pyx":529 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * + * if weights is not None: # <<<<<<<<<<<<<< + * if weights.shape[0] != (n0, n1): + * raise ValueError("shape of weights does not match the data") */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { - /* "countnans.pyx":525 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) + /* "countnans.pyx":530 * + * if weights is not None: + * if weights.shape[0] != (n0, n1): # <<<<<<<<<<<<<< + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyInt_From_Py_intptr_t((__pyx_v_weights->dimensions[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_4 = 0; + __pyx_t_5 = 0; + __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_t_6, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_2) { - /* "countnans.pyx":530 - * cdef float fcnt - * cdef int count - * if weights is not None: # <<<<<<<<<<<<<< + /* "countnans.pyx":531 + * if weights is not None: + * if weights.shape[0] != (n0, n1): + * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< + * fcnt = 0 * for i0 in range(n0): - * fcnt = 0 */ - __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_5 = (__pyx_t_4 != 0); - if (__pyx_t_5) { + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "countnans.pyx":531 - * cdef int count - * if weights is not None: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * fcnt = 0 + /* "countnans.pyx":532 + * if weights.shape[0] != (n0, n1): + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * for i1 in range(n1): */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_fcnt = __pyx_int_0; - /* "countnans.pyx":532 - * if weights is not None: - * for i0 in range(n0): - * fcnt = 0 # <<<<<<<<<<<<<< + /* "countnans.pyx":533 + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_fcnt = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "countnans.pyx":533 + /* "countnans.pyx":534 + * fcnt = 0 * for i0 in range(n0): - * fcnt = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "countnans.pyx":534 - * fcnt = 0 + /* "countnans.pyx":535 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: - * fcnt += weights[i1] + * fcnt += weights[i0, i1] */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":535 + /* "countnans.pyx":536 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i1] - * y[i0] = fcnt + * fcnt += weights[i0, i1] + * return fcnt */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":536 + /* "countnans.pyx":537 * ai = a[i0, i1] * if ai != ai: - * fcnt += weights[i1] # <<<<<<<<<<<<<< - * y[i0] = fcnt + * fcnt += weights[i0, i1] # <<<<<<<<<<<<<< + * return fcnt * else: */ - __pyx_t_12 = __pyx_v_i1; - __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); - goto __pyx_L8; + __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_i0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_i1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_5 = 0; + __pyx_t_6 = 0; + __pyx_t_6 = PyObject_GetItem(((PyObject *)__pyx_v_weights), __pyx_t_3); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_3); + __pyx_t_3 = 0; + goto __pyx_L9; } - __pyx_L8:; + __pyx_L9:; } + } - /* "countnans.pyx":537 + /* "countnans.pyx":538 * if ai != ai: - * fcnt += weights[i1] - * y[i0] = fcnt # <<<<<<<<<<<<<< + * fcnt += weights[i0, i1] + * return fcnt # <<<<<<<<<<<<<< * else: - * for i0 in range(n0): + * count = 0 */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; - } - goto __pyx_L3; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_fcnt); + __pyx_r = __pyx_v_fcnt; + goto __pyx_L0; } /*else*/ { - /* "countnans.pyx":539 - * y[i0] = fcnt + /* "countnans.pyx":540 + * return fcnt * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * count = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * for i1 in range(n1): */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_count = __pyx_int_0; - /* "countnans.pyx":540 + /* "countnans.pyx":541 * else: - * for i0 in range(n0): - * count = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_count = 0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "countnans.pyx":541 + /* "countnans.pyx":542 + * count = 0 * for i0 in range(n0): - * count = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { - __pyx_v_i1 = __pyx_t_13; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "countnans.pyx":542 - * count = 0 + /* "countnans.pyx":543 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: * count += 1 */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":543 + /* "countnans.pyx":544 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< * count += 1 - * y[i0] = count + * return count */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":544 + /* "countnans.pyx":545 * ai = a[i0, i1] * if ai != ai: * count += 1 # <<<<<<<<<<<<<< - * y[i0] = count - * return y + * return count + * cdef dict countnans_dict = {} */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L13; + __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_3); + __pyx_t_3 = 0; + goto __pyx_L14; } - __pyx_L13:; + __pyx_L14:; } + } - /* "countnans.pyx":545 + /* "countnans.pyx":546 * if ai != ai: * count += 1 - * y[i0] = count # <<<<<<<<<<<<<< - * return y + * return count # <<<<<<<<<<<<<< * cdef dict countnans_dict = {} + * countnans_dict[(2, NPY_float, 0)] = countnans_2d_float_axis0 */ - __pyx_t_9 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_count); + __pyx_r = __pyx_v_count; + goto __pyx_L0; } - __pyx_L3:; - - /* "countnans.pyx":546 - * count += 1 - * y[i0] = count - * return y # <<<<<<<<<<<<<< - * cdef dict countnans_dict = {} - * countnans_dict[(1, NPY_float, 0)] = countnans_1d_float_axisNone - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - /* "countnans.pyx":515 + /* "countnans.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=1." + * "Count of nans in 2d array with dtype=float64 along axis=None." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_fcnt); + __Pyx_XDECREF(__pyx_v_count); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "countnans.pyx":564 - * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 + * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone * * def countnans_slow_axis0(arr, weights): # <<<<<<<<<<<<<< * "Unaccelerated (slow) countnans along axis 0." @@ -7660,7 +7660,7 @@ static PyObject *__pyx_pf_9countnans_28countnans_slow_axis0(CYTHON_UNUSED PyObje goto __pyx_L0; /* "countnans.pyx":564 - * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 + * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone * * def countnans_slow_axis0(arr, weights): # <<<<<<<<<<<<<< * "Unaccelerated (slow) countnans along axis 0." @@ -12334,7 +12334,7 @@ static PyObject *__pyx_pf_9countnans_94countnans_slow_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -12384,7 +12384,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -12397,7 +12397,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -12406,7 +12406,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -12415,7 +12415,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -12424,7 +12424,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -12434,7 +12434,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -12446,7 +12446,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -12457,7 +12457,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12473,7 +12473,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12485,7 +12485,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -12499,7 +12499,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12515,7 +12515,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12527,7 +12527,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -12541,7 +12541,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -12550,7 +12550,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -12559,7 +12559,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -12569,7 +12569,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -12578,7 +12578,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -12587,7 +12587,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -12598,7 +12598,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -12607,7 +12607,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -12620,7 +12620,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -12629,7 +12629,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -12640,7 +12640,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -12649,7 +12649,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -12658,7 +12658,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -12667,7 +12667,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -12676,7 +12676,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -12688,7 +12688,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -12697,7 +12697,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -12717,7 +12717,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -12733,7 +12733,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -12748,7 +12748,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -12758,7 +12758,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -12768,7 +12768,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -12791,7 +12791,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -12811,7 +12811,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -12825,7 +12825,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -12834,7 +12834,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -12845,7 +12845,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -12856,7 +12856,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -12867,7 +12867,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -12878,7 +12878,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -12889,7 +12889,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -12900,7 +12900,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -12911,7 +12911,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -12922,7 +12922,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -12933,7 +12933,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -12944,7 +12944,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -12955,7 +12955,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -12966,7 +12966,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -12977,7 +12977,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -12988,7 +12988,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -12999,7 +12999,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -13010,7 +13010,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -13022,7 +13022,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -13048,7 +13048,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -13057,7 +13057,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -13069,7 +13069,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -13078,7 +13078,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -13087,7 +13087,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -13096,7 +13096,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -13106,7 +13106,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -13116,7 +13116,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -13148,7 +13148,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -13172,7 +13172,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -13182,7 +13182,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -13194,7 +13194,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -13204,7 +13204,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -13216,7 +13216,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -13228,7 +13228,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -13245,7 +13245,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -13259,7 +13259,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -13278,7 +13278,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -13295,7 +13295,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -13309,7 +13309,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -13328,7 +13328,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13345,7 +13345,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -13359,7 +13359,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13378,7 +13378,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13395,7 +13395,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -13409,7 +13409,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13428,7 +13428,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13445,7 +13445,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -13459,7 +13459,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13478,7 +13478,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -13510,7 +13510,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -13519,7 +13519,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -13528,7 +13528,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -13550,7 +13550,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -13563,7 +13563,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -13602,7 +13602,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -13619,7 +13619,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -13633,7 +13633,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -13656,7 +13656,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -13676,7 +13676,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -13690,7 +13690,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -13706,7 +13706,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -13715,7 +13715,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -13724,7 +13724,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -13735,7 +13735,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -13745,7 +13745,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -13755,7 +13755,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -13767,7 +13767,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -13777,7 +13777,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -13791,7 +13791,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -13809,7 +13809,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -13827,7 +13827,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -13845,7 +13845,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -13863,7 +13863,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -13881,7 +13881,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -13899,7 +13899,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -13917,7 +13917,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -13935,7 +13935,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -13953,7 +13953,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -13971,7 +13971,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -13989,7 +13989,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -14007,7 +14007,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -14025,7 +14025,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -14045,7 +14045,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -14065,7 +14065,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -14085,7 +14085,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -14104,7 +14104,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -14127,7 +14127,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -14139,7 +14139,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -14151,7 +14151,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -14161,7 +14161,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -14171,7 +14171,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -14196,7 +14196,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -14211,7 +14211,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -14222,7 +14222,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -14234,7 +14234,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -14243,7 +14243,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -14254,7 +14254,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -14263,7 +14263,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -14272,7 +14272,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -14284,7 +14284,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14298,7 +14298,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -14308,7 +14308,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -14322,7 +14322,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -14333,7 +14333,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14371,7 +14371,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_u_Count_the_undefined_elements_al, __pyx_k_Count_the_undefined_elements_al, sizeof(__pyx_k_Count_the_undefined_elements_al), 0, 1, 0, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, @@ -14384,6 +14383,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__13, __pyx_k__13, sizeof(__pyx_k__13), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -14492,7 +14492,7 @@ static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; @@ -14502,73 +14502,73 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "countnans.pyx":185 + /* "countnans.pyx":389 * if weights is not None: * if weights.ndim != 1 or weights.shape[0] != n0: * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< * fcnt = 0 * for i0 in range(n0): */ - __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "countnans.pyx":212 + /* "countnans.pyx":416 * if weights is not None: * if weights.ndim != 1 or weights.shape[0] != n0: * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< * fcnt = 0 * for i0 in range(n0): */ - __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "countnans.pyx":239 + /* "countnans.pyx":443 * if weights is not None: * if weights.ndim != 1 or weights.shape[0] != n0: * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< * fcnt = 0 * for i0 in range(n0): */ - __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "countnans.pyx":267 + /* "countnans.pyx":471 * if weights is not None: * if weights.shape[0] != (n0, n1): * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< * fcnt = 0 * for i0 in range(n0): */ - __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "countnans.pyx":297 + /* "countnans.pyx":501 * if weights is not None: * if weights.shape[0] != (n0, n1): * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< * fcnt = 0 * for i0 in range(n0): */ - __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "countnans.pyx":327 + /* "countnans.pyx":531 * if weights is not None: * if weights.shape[0] != (n0, n1): * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< * fcnt = 0 * for i0 in range(n0): */ - __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -14579,7 +14579,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -14590,7 +14590,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14601,7 +14601,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -14612,7 +14612,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14623,7 +14623,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -14655,7 +14655,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__15 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":109 * return func(arr, weights) @@ -14667,154 +14667,154 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__17 = PyTuple_Pack(9, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_selector, 109, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_selector, 109, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":174 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float along axis=0." */ - __pyx_tuple__19 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_1d_float_axisNone, 174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_2d_float_axis0, 174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":201 + /* "countnans.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float32 along axis=None." + * "Count of nans in 2d array with dtype=float along axis=1." */ - __pyx_tuple__21 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_1d_float32_axisNone, 201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_2d_float_axis1, 208, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":228 + /* "countnans.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float32 along axis=0." */ - __pyx_tuple__23 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_1d_float64_axisNone, 228, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_2d_float32_axis0, 242, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":255 + /* "countnans.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float32 along axis=1." */ - __pyx_tuple__25 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_2d_float_axisNone, 255, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_2d_float32_axis1, 276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":285 + /* "countnans.pyx":310 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=0." */ - __pyx_tuple__27 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_2d_float32_axisNone, 285, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_2d_float64_axis0, 310, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":315 + /* "countnans.pyx":344 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=1." */ - __pyx_tuple__29 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_2d_float64_axisNone, 315, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_2d_float64_axis1, 344, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":345 + /* "countnans.pyx":378 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=0." + * "Count of nans in 1d array with dtype=float along axis=None." */ - __pyx_tuple__31 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_2d_float_axis0, 345, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_1d_float_axisNone, 378, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":379 + /* "countnans.pyx":405 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=1." + * "Count of nans in 1d array with dtype=float32 along axis=None." */ - __pyx_tuple__33 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_2d_float_axis1, 379, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_1d_float32_axisNone, 405, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":413 + /* "countnans.pyx":432 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=0." + * "Count of nans in 1d array with dtype=float64 along axis=None." */ - __pyx_tuple__35 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_2d_float32_axis0, 413, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_1d_float64_axisNone, 432, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":447 + /* "countnans.pyx":459 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=1." + * "Count of nans in 2d array with dtype=float along axis=None." */ - __pyx_tuple__37 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_2d_float32_axis1, 447, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_2d_float_axisNone, 459, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":481 + /* "countnans.pyx":489 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=0." + * "Count of nans in 2d array with dtype=float32 along axis=None." */ - __pyx_tuple__39 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_2d_float64_axis0, 481, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_2d_float32_axisNone, 489, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":515 + /* "countnans.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=1." + * "Count of nans in 2d array with dtype=float64 along axis=None." */ - __pyx_tuple__41 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_2d_float64_axis1, 515, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_2d_float64_axisNone, 519, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":564 - * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 + * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone * * def countnans_slow_axis0(arr, weights): # <<<<<<<<<<<<<< * "Unaccelerated (slow) countnans along axis 0." @@ -14823,7 +14823,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__43 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis0, 564, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis0, 564, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":568 * return bn.slow.countnans(arr, weights, axis=0) @@ -14835,7 +14835,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__45 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis1, 568, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis1, 568, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":572 * return bn.slow.countnans(arr, weights, axis=1) @@ -14847,7 +14847,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__47 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis2, 572, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis2, 572, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":576 * return bn.slow.countnans(arr, weights, axis=2) @@ -14859,7 +14859,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__49 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis3, 576, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis3, 576, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":580 * return bn.slow.countnans(arr, weights, axis=3) @@ -14871,7 +14871,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__51 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis4, 580, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis4, 580, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":584 * return bn.slow.countnans(arr, weights, axis=4) @@ -14883,7 +14883,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__53 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis5, 584, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis5, 584, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":588 * return bn.slow.countnans(arr, weights, axis=5) @@ -14895,7 +14895,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__55 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis6, 588, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis6, 588, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":592 * return bn.slow.countnans(arr, weights, axis=6) @@ -14907,7 +14907,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__57 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis7, 592, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis7, 592, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":596 * return bn.slow.countnans(arr, weights, axis=7) @@ -14919,7 +14919,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__59 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis8, 596, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis8, 596, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":600 * return bn.slow.countnans(arr, weights, axis=8) @@ -14931,7 +14931,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__61 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis9, 600, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis9, 600, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":604 * return bn.slow.countnans(arr, weights, axis=9) @@ -14943,7 +14943,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__63 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis10, 604, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis10, 604, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":608 * return bn.slow.countnans(arr, weights, axis=10) @@ -14955,7 +14955,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__65 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis11, 608, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis11, 608, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":612 * return bn.slow.countnans(arr, weights, axis=11) @@ -14967,7 +14967,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__67 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis12, 612, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis12, 612, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":616 * return bn.slow.countnans(arr, weights, axis=12) @@ -14979,7 +14979,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis13, 616, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis13, 616, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":620 * return bn.slow.countnans(arr, weights, axis=13) @@ -14991,7 +14991,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis14, 620, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis14, 620, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":624 * return bn.slow.countnans(arr, weights, axis=14) @@ -15003,7 +15003,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis15, 624, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis15, 624, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":628 * return bn.slow.countnans(arr, weights, axis=15) @@ -15015,7 +15015,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis16, 628, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis16, 628, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":632 * return bn.slow.countnans(arr, weights, axis=16) @@ -15027,7 +15027,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis17, 632, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis17, 632, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":636 * return bn.slow.countnans(arr, weights, axis=17) @@ -15039,7 +15039,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis18, 636, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis18, 636, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":640 * return bn.slow.countnans(arr, weights, axis=18) @@ -15051,7 +15051,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis19, 640, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis19, 640, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":644 * return bn.slow.countnans(arr, weights, axis=19) @@ -15063,7 +15063,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis20, 644, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis20, 644, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":648 * return bn.slow.countnans(arr, weights, axis=20) @@ -15075,7 +15075,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis21, 648, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis21, 648, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":652 * return bn.slow.countnans(arr, weights, axis=21) @@ -15087,7 +15087,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis22, 652, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis22, 652, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":656 * return bn.slow.countnans(arr, weights, axis=22) @@ -15099,7 +15099,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis23, 656, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis23, 656, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":660 * return bn.slow.countnans(arr, weights, axis=23) @@ -15111,7 +15111,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis24, 660, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis24, 660, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":664 * return bn.slow.countnans(arr, weights, axis=24) @@ -15123,7 +15123,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis25, 664, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis25, 664, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":668 * return bn.slow.countnans(arr, weights, axis=25) @@ -15135,7 +15135,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis26, 668, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis26, 668, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":672 * return bn.slow.countnans(arr, weights, axis=26) @@ -15147,7 +15147,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis27, 672, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis27, 672, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":676 * return bn.slow.countnans(arr, weights, axis=27) @@ -15159,7 +15159,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis28, 676, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis28, 676, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":680 * return bn.slow.countnans(arr, weights, axis=28) @@ -15171,7 +15171,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis29, 680, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis29, 680, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":684 * return bn.slow.countnans(arr, weights, axis=29) @@ -15183,7 +15183,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis30, 684, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis30, 684, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":688 * return bn.slow.countnans(arr, weights, axis=30) @@ -15195,7 +15195,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis31, 688, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis31, 688, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":692 * return bn.slow.countnans(arr, weights, axis=31) @@ -15207,7 +15207,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis32, 692, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis32, 692, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":696 * return bn.slow.countnans(arr, weights, axis=32) @@ -15219,7 +15219,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axisNone, 696, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axisNone, 696, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -16185,153 +16185,153 @@ PyMODINIT_FUNC PyInit_countnans(void) /* "countnans.pyx":174 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float along axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_5countnans_1d_float_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_5countnans_2d_float_axis0, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":201 + /* "countnans.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float32 along axis=None." + * "Count of nans in 2d array with dtype=float along axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_7countnans_1d_float32_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_7countnans_2d_float_axis1, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":228 + /* "countnans.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float32 along axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_9countnans_1d_float64_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_9countnans_2d_float32_axis0, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":255 + /* "countnans.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float32 along axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_11countnans_2d_float_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_11countnans_2d_float32_axis1, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":285 + /* "countnans.pyx":310 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_13countnans_2d_float32_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_13countnans_2d_float64_axis0, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":315 + /* "countnans.pyx":344 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_15countnans_2d_float64_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_15countnans_2d_float64_axis1, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":345 + /* "countnans.pyx":378 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=0." + * "Count of nans in 1d array with dtype=float along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_17countnans_2d_float_axis0, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_17countnans_1d_float_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":379 + /* "countnans.pyx":405 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=1." + * "Count of nans in 1d array with dtype=float32 along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_19countnans_2d_float_axis1, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_19countnans_1d_float32_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":413 + /* "countnans.pyx":432 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=0." + * "Count of nans in 1d array with dtype=float64 along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_21countnans_2d_float32_axis0, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_21countnans_1d_float64_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":447 + /* "countnans.pyx":459 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=1." + * "Count of nans in 2d array with dtype=float along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_23countnans_2d_float32_axis1, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_23countnans_2d_float_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":481 + /* "countnans.pyx":489 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=0." + * "Count of nans in 2d array with dtype=float32 along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_25countnans_2d_float64_axis0, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_25countnans_2d_float32_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":515 + /* "countnans.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=1." + * "Count of nans in 2d array with dtype=float64 along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_27countnans_2d_float64_axis1, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_27countnans_2d_float64_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":547 - * y[i0] = count - * return y + * count += 1 + * return count * cdef dict countnans_dict = {} # <<<<<<<<<<<<<< - * countnans_dict[(1, NPY_float, 0)] = countnans_1d_float_axisNone - * countnans_dict[(1, NPY_float, None)] = countnans_1d_float_axisNone + * countnans_dict[(2, NPY_float, 0)] = countnans_2d_float_axis0 + * countnans_dict[(2, NPY_float, 1)] = countnans_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -16341,13 +16341,13 @@ PyMODINIT_FUNC PyInit_countnans(void) __pyx_t_2 = 0; /* "countnans.pyx":548 - * return y + * return count * cdef dict countnans_dict = {} - * countnans_dict[(1, NPY_float, 0)] = countnans_1d_float_axisNone # <<<<<<<<<<<<<< - * countnans_dict[(1, NPY_float, None)] = countnans_1d_float_axisNone - * countnans_dict[(1, NPY_float32, 0)] = countnans_1d_float32_axisNone + * countnans_dict[(2, NPY_float, 0)] = countnans_2d_float_axis0 # <<<<<<<<<<<<<< + * countnans_dict[(2, NPY_float, 1)] = countnans_2d_float_axis1 + * countnans_dict[(2, NPY_float32, 0)] = countnans_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -16357,9 +16357,9 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -16369,15 +16369,15 @@ PyMODINIT_FUNC PyInit_countnans(void) if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "countnans.pyx":549 - * cdef dict countnans_dict = {} - * countnans_dict[(1, NPY_float, 0)] = countnans_1d_float_axisNone - * countnans_dict[(1, NPY_float, None)] = countnans_1d_float_axisNone # <<<<<<<<<<<<<< - * countnans_dict[(1, NPY_float32, 0)] = countnans_1d_float32_axisNone - * countnans_dict[(1, NPY_float32, None)] = countnans_1d_float32_axisNone + + /* "countnans.pyx":549 + * cdef dict countnans_dict = {} + * countnans_dict[(2, NPY_float, 0)] = countnans_2d_float_axis0 + * countnans_dict[(2, NPY_float, 1)] = countnans_2d_float_axis1 # <<<<<<<<<<<<<< + * countnans_dict[(2, NPY_float32, 0)] = countnans_2d_float32_axis0 + * countnans_dict[(2, NPY_float32, 1)] = countnans_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -16387,27 +16387,27 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":550 - * countnans_dict[(1, NPY_float, 0)] = countnans_1d_float_axisNone - * countnans_dict[(1, NPY_float, None)] = countnans_1d_float_axisNone - * countnans_dict[(1, NPY_float32, 0)] = countnans_1d_float32_axisNone # <<<<<<<<<<<<<< - * countnans_dict[(1, NPY_float32, None)] = countnans_1d_float32_axisNone - * countnans_dict[(1, NPY_float64, 0)] = countnans_1d_float64_axisNone + * countnans_dict[(2, NPY_float, 0)] = countnans_2d_float_axis0 + * countnans_dict[(2, NPY_float, 1)] = countnans_2d_float_axis1 + * countnans_dict[(2, NPY_float32, 0)] = countnans_2d_float32_axis0 # <<<<<<<<<<<<<< + * countnans_dict[(2, NPY_float32, 1)] = countnans_2d_float32_axis1 + * countnans_dict[(2, NPY_float64, 0)] = countnans_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -16417,9 +16417,9 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -16431,13 +16431,13 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":551 - * countnans_dict[(1, NPY_float, None)] = countnans_1d_float_axisNone - * countnans_dict[(1, NPY_float32, 0)] = countnans_1d_float32_axisNone - * countnans_dict[(1, NPY_float32, None)] = countnans_1d_float32_axisNone # <<<<<<<<<<<<<< - * countnans_dict[(1, NPY_float64, 0)] = countnans_1d_float64_axisNone - * countnans_dict[(1, NPY_float64, None)] = countnans_1d_float64_axisNone + * countnans_dict[(2, NPY_float, 1)] = countnans_2d_float_axis1 + * countnans_dict[(2, NPY_float32, 0)] = countnans_2d_float32_axis0 + * countnans_dict[(2, NPY_float32, 1)] = countnans_2d_float32_axis1 # <<<<<<<<<<<<<< + * countnans_dict[(2, NPY_float64, 0)] = countnans_2d_float64_axis0 + * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -16447,27 +16447,27 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":552 - * countnans_dict[(1, NPY_float32, 0)] = countnans_1d_float32_axisNone - * countnans_dict[(1, NPY_float32, None)] = countnans_1d_float32_axisNone - * countnans_dict[(1, NPY_float64, 0)] = countnans_1d_float64_axisNone # <<<<<<<<<<<<<< - * countnans_dict[(1, NPY_float64, None)] = countnans_1d_float64_axisNone - * countnans_dict[(2, NPY_float, None)] = countnans_2d_float_axisNone + * countnans_dict[(2, NPY_float32, 0)] = countnans_2d_float32_axis0 + * countnans_dict[(2, NPY_float32, 1)] = countnans_2d_float32_axis1 + * countnans_dict[(2, NPY_float64, 0)] = countnans_2d_float64_axis0 # <<<<<<<<<<<<<< + * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 + * countnans_dict[(1, NPY_float, 0)] = countnans_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -16477,9 +16477,9 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -16491,13 +16491,13 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":553 - * countnans_dict[(1, NPY_float32, None)] = countnans_1d_float32_axisNone - * countnans_dict[(1, NPY_float64, 0)] = countnans_1d_float64_axisNone - * countnans_dict[(1, NPY_float64, None)] = countnans_1d_float64_axisNone # <<<<<<<<<<<<<< - * countnans_dict[(2, NPY_float, None)] = countnans_2d_float_axisNone - * countnans_dict[(2, NPY_float32, None)] = countnans_2d_float32_axisNone + * countnans_dict[(2, NPY_float32, 1)] = countnans_2d_float32_axis1 + * countnans_dict[(2, NPY_float64, 0)] = countnans_2d_float64_axis0 + * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 # <<<<<<<<<<<<<< + * countnans_dict[(1, NPY_float, 0)] = countnans_1d_float_axisNone + * countnans_dict[(1, NPY_float, None)] = countnans_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -16507,27 +16507,27 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":554 - * countnans_dict[(1, NPY_float64, 0)] = countnans_1d_float64_axisNone - * countnans_dict[(1, NPY_float64, None)] = countnans_1d_float64_axisNone - * countnans_dict[(2, NPY_float, None)] = countnans_2d_float_axisNone # <<<<<<<<<<<<<< - * countnans_dict[(2, NPY_float32, None)] = countnans_2d_float32_axisNone - * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone + * countnans_dict[(2, NPY_float64, 0)] = countnans_2d_float64_axis0 + * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 + * countnans_dict[(1, NPY_float, 0)] = countnans_1d_float_axisNone # <<<<<<<<<<<<<< + * countnans_dict[(1, NPY_float, None)] = countnans_1d_float_axisNone + * countnans_dict[(1, NPY_float32, 0)] = countnans_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -16537,39 +16537,39 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":555 - * countnans_dict[(1, NPY_float64, None)] = countnans_1d_float64_axisNone - * countnans_dict[(2, NPY_float, None)] = countnans_2d_float_axisNone - * countnans_dict[(2, NPY_float32, None)] = countnans_2d_float32_axisNone # <<<<<<<<<<<<<< - * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone - * countnans_dict[(2, NPY_float, 0)] = countnans_2d_float_axis0 + * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 + * countnans_dict[(1, NPY_float, 0)] = countnans_1d_float_axisNone + * countnans_dict[(1, NPY_float, None)] = countnans_1d_float_axisNone # <<<<<<<<<<<<<< + * countnans_dict[(1, NPY_float32, 0)] = countnans_1d_float32_axisNone + * countnans_dict[(1, NPY_float32, None)] = countnans_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -16581,139 +16581,139 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":556 - * countnans_dict[(2, NPY_float, None)] = countnans_2d_float_axisNone - * countnans_dict[(2, NPY_float32, None)] = countnans_2d_float32_axisNone - * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone # <<<<<<<<<<<<<< - * countnans_dict[(2, NPY_float, 0)] = countnans_2d_float_axis0 - * countnans_dict[(2, NPY_float, 1)] = countnans_2d_float_axis1 + * countnans_dict[(1, NPY_float, 0)] = countnans_1d_float_axisNone + * countnans_dict[(1, NPY_float, None)] = countnans_1d_float_axisNone + * countnans_dict[(1, NPY_float32, 0)] = countnans_1d_float32_axisNone # <<<<<<<<<<<<<< + * countnans_dict[(1, NPY_float32, None)] = countnans_1d_float32_axisNone + * countnans_dict[(1, NPY_float64, 0)] = countnans_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":557 - * countnans_dict[(2, NPY_float32, None)] = countnans_2d_float32_axisNone - * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone - * countnans_dict[(2, NPY_float, 0)] = countnans_2d_float_axis0 # <<<<<<<<<<<<<< - * countnans_dict[(2, NPY_float, 1)] = countnans_2d_float_axis1 - * countnans_dict[(2, NPY_float32, 0)] = countnans_2d_float32_axis0 + * countnans_dict[(1, NPY_float, None)] = countnans_1d_float_axisNone + * countnans_dict[(1, NPY_float32, 0)] = countnans_1d_float32_axisNone + * countnans_dict[(1, NPY_float32, None)] = countnans_1d_float32_axisNone # <<<<<<<<<<<<<< + * countnans_dict[(1, NPY_float64, 0)] = countnans_1d_float64_axisNone + * countnans_dict[(1, NPY_float64, None)] = countnans_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":558 - * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone - * countnans_dict[(2, NPY_float, 0)] = countnans_2d_float_axis0 - * countnans_dict[(2, NPY_float, 1)] = countnans_2d_float_axis1 # <<<<<<<<<<<<<< - * countnans_dict[(2, NPY_float32, 0)] = countnans_2d_float32_axis0 - * countnans_dict[(2, NPY_float32, 1)] = countnans_2d_float32_axis1 + * countnans_dict[(1, NPY_float32, 0)] = countnans_1d_float32_axisNone + * countnans_dict[(1, NPY_float32, None)] = countnans_1d_float32_axisNone + * countnans_dict[(1, NPY_float64, 0)] = countnans_1d_float64_axisNone # <<<<<<<<<<<<<< + * countnans_dict[(1, NPY_float64, None)] = countnans_1d_float64_axisNone + * countnans_dict[(2, NPY_float, None)] = countnans_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":559 - * countnans_dict[(2, NPY_float, 0)] = countnans_2d_float_axis0 - * countnans_dict[(2, NPY_float, 1)] = countnans_2d_float_axis1 - * countnans_dict[(2, NPY_float32, 0)] = countnans_2d_float32_axis0 # <<<<<<<<<<<<<< - * countnans_dict[(2, NPY_float32, 1)] = countnans_2d_float32_axis1 - * countnans_dict[(2, NPY_float64, 0)] = countnans_2d_float64_axis0 + * countnans_dict[(1, NPY_float32, None)] = countnans_1d_float32_axisNone + * countnans_dict[(1, NPY_float64, 0)] = countnans_1d_float64_axisNone + * countnans_dict[(1, NPY_float64, None)] = countnans_1d_float64_axisNone # <<<<<<<<<<<<<< + * countnans_dict[(2, NPY_float, None)] = countnans_2d_float_axisNone + * countnans_dict[(2, NPY_float32, None)] = countnans_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":560 - * countnans_dict[(2, NPY_float, 1)] = countnans_2d_float_axis1 - * countnans_dict[(2, NPY_float32, 0)] = countnans_2d_float32_axis0 - * countnans_dict[(2, NPY_float32, 1)] = countnans_2d_float32_axis1 # <<<<<<<<<<<<<< - * countnans_dict[(2, NPY_float64, 0)] = countnans_2d_float64_axis0 - * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 + * countnans_dict[(1, NPY_float64, 0)] = countnans_1d_float64_axisNone + * countnans_dict[(1, NPY_float64, None)] = countnans_1d_float64_axisNone + * countnans_dict[(2, NPY_float, None)] = countnans_2d_float_axisNone # <<<<<<<<<<<<<< + * countnans_dict[(2, NPY_float32, None)] = countnans_2d_float32_axisNone + * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16722,28 +16722,28 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":561 - * countnans_dict[(2, NPY_float32, 0)] = countnans_2d_float32_axis0 - * countnans_dict[(2, NPY_float32, 1)] = countnans_2d_float32_axis1 - * countnans_dict[(2, NPY_float64, 0)] = countnans_2d_float64_axis0 # <<<<<<<<<<<<<< - * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 + * countnans_dict[(1, NPY_float64, None)] = countnans_1d_float64_axisNone + * countnans_dict[(2, NPY_float, None)] = countnans_2d_float_axisNone + * countnans_dict[(2, NPY_float32, None)] = countnans_2d_float32_axisNone # <<<<<<<<<<<<<< + * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16752,22 +16752,22 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":562 - * countnans_dict[(2, NPY_float32, 1)] = countnans_2d_float32_axis1 - * countnans_dict[(2, NPY_float64, 0)] = countnans_2d_float64_axis0 - * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 # <<<<<<<<<<<<<< + * countnans_dict[(2, NPY_float, None)] = countnans_2d_float_axisNone + * countnans_dict[(2, NPY_float32, None)] = countnans_2d_float32_axisNone + * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone # <<<<<<<<<<<<<< * * def countnans_slow_axis0(arr, weights): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -16782,16 +16782,16 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":564 - * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 + * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone * * def countnans_slow_axis0(arr, weights): # <<<<<<<<<<<<<< * "Unaccelerated (slow) countnans along axis 0." @@ -17764,7 +17764,7 @@ PyMODINIT_FUNC PyInit_countnans(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/median.c b/bottlechest/src/func/32bit/median.c index f7780d847e..c1c76c0f87 100644 --- a/bottlechest/src/func/32bit/median.c +++ b/bottlechest/src/func/32bit/median.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1118,13 +1118,13 @@ static PyObject *__pyx_v_6median_median_dict = 0; static PyObject *__pyx_v_6median_median_slow_dict = 0; static PyObject *__pyx_v_6median_nanmedian_dict = 0; static PyObject *__pyx_v_6median_nanmedian_slow_dict = 0; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "median" int __pyx_module_is_main_median = 0; @@ -1136,27 +1136,27 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_6median_median(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_6median_2median_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_10median_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_22median_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_24median_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_26median_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_30median_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_32median_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_4median_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_6median_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_8median_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_10median_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_12median_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_14median_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_16median_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_18median_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_20median_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_22median_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_24median_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_26median_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_28median_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_30median_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_32median_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_34median_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_36median_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_38median_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_40median_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_42median_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_44median_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_6median_46median_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6median_48median_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6median_50median_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1426,16 +1426,15 @@ static char __pyx_k_Median_of_array_elements_along[] = "\n Median of array el static char __pyx_k_Return_median_function_and_arra[] = "\n Return median function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.median() is in checking that `axis` is within range, converting `arr`\n into an array (if it is not already an array), and selecting the function\n to use to calculate the mean.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the median is to be computed.\n \n Returns\n -------\n func : function\n The median function that matches the number of dimensions and dtype\n of the input array and the axis along which you wish to find the\n median.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine the median of `arr` along axis=0:\n\n >>> func, a = bn.func.median_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the median:\n\n >>> func(a)\n 2.0\n\n "; static char __pyx_k_Return_nanmedian_function_and_a[] = "\n Return nanmedian function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.nanmedian() is in checking that `axis` is within range, converting `arr`\n into an array (if it is not already an array), and selecting the function\n to use to calculate the mean.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the median is to be computed.\n \n Returns\n -------\n func : function\n The nanmedian function that matches the number of dimensions and dtype\n of the input array and the axis along which you wish to find the\n median.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine the median of `arr` along axis=0:\n\n >>> func, a = bn.func.nanmedian_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the median:\n\n >>> func(a)\n 2.0\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/median.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\median.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Median_of_array_elements_along_2[] = "\n Median of array elements along given axis ignoring NaNs.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}, optional\n Axis along which the median is computed. The default (axis=None) is to\n compute the median of the flattened array.\n\n Returns\n -------\n y : ndarray\n An array with the same shape as `arr`, except that the specified axis\n has been removed. If `arr` is a 0d array, or if axis is None, a scalar\n is returned. `float64` return values are used for integer inputs. \n \n See also\n --------\n bottlechest.median: Median along specified axis. \n\n Examples\n --------\n >>> a = np.array([[np.nan, 7, 4], [3, 2, 1]])\n >>> a \n array([[ nan, 7., 4.],\n [ 3., 2., 1.]])\n >>> bn.nanmedian(a)\n 3.0\n >> bn.nanmedian(a, axis=0)\n array([ 3. , 4.5, 2.5])\n >> bn.nanmedian(a, axis=1)\n array([ 5.5, 2. ])\n \n "; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1451,6 +1450,7 @@ static PyObject *__pyx_kp_u_Return_nanmedian_function_and_a; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__7; static PyObject *__pyx_n_s_a; @@ -2702,24 +2702,24 @@ static PyObject *__pyx_pf_6median_2median_selector(CYTHON_UNUSED PyObject *__pyx /* "median.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int along axis=0." + * def median_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_5median_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_4median_1d_int_axis0[] = "median_1d_int_axis0(ndarray a)\nMedian of 1d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_6median_5median_1d_int_axis0 = {"median_1d_int_axis0", (PyCFunction)__pyx_pw_6median_5median_1d_int_axis0, METH_O, __pyx_doc_6median_4median_1d_int_axis0}; -static PyObject *__pyx_pw_6median_5median_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_5median_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_4median_1d_float_axis0[] = "median_1d_float_axis0(ndarray a)\nMedian of 1d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_6median_5median_1d_float_axis0 = {"median_1d_float_axis0", (PyCFunction)__pyx_pw_6median_5median_1d_float_axis0, METH_O, __pyx_doc_6median_4median_1d_float_axis0}; +static PyObject *__pyx_pw_6median_5median_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_1d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_1d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_4median_1d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_4median_1d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2730,16 +2730,16 @@ static PyObject *__pyx_pw_6median_5median_1d_int_axis0(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_4median_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; - __pyx_t_5numpy_int_t __pyx_v_amax; - __pyx_t_5numpy_int_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_amax; + __pyx_t_5numpy_float_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -2769,7 +2769,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_1d_int_axis0", 0); + __Pyx_RefNannySetupContext("median_1d_float_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -2780,23 +2780,23 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "median.pyx":210 - * def median_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): - * "Median of 1d array with dtype=int along axis=0." + * def median_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): + * "Median of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp, amax, ai - * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float_t x, tmp, amax, ai + * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":212 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int_t x, tmp, amax, ai - * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float_t x, tmp, amax, ai + * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ @@ -2806,7 +2806,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; @@ -2830,7 +2830,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * if n0 == 0: - * return np.float64(NAN) + * return np.float(NAN) */ __pyx_v_n0 = (__pyx_v_dim[0]); @@ -2838,7 +2838,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) + * return np.float(NAN) * k = n0 >> 1 */ __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); @@ -2847,14 +2847,14 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ /* "median.pyx":218 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * return np.float(NAN) # <<<<<<<<<<<<<< * k = n0 >> 1 * l = 0 */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -2892,7 +2892,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ /* "median.pyx":219 * if n0 == 0: - * return np.float64(NAN) + * return np.float(NAN) * k = n0 >> 1 # <<<<<<<<<<<<<< * l = 0 * r = n0 - 1 @@ -2900,7 +2900,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_v_k = (__pyx_v_n0 >> 1); /* "median.pyx":220 - * return np.float64(NAN) + * return np.float(NAN) * k = n0 >> 1 * l = 0 # <<<<<<<<<<<<<< * r = n0 - 1 @@ -2950,7 +2950,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ * j = r */ __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":225 * while l < r: @@ -2988,7 +2988,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ */ while (1) { __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -3002,7 +3002,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ */ while (1) { __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -3025,7 +3025,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ * b[j] = tmp */ __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":232 * if i <= j: @@ -3036,7 +3036,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ */ __pyx_t_12 = __pyx_v_j; __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":233 * tmp = b[i] @@ -3046,7 +3046,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ * j -= 1 */ __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; /* "median.pyx":234 * b[i] = b[j] @@ -3102,7 +3102,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * if n0 % 2 == 0: - * amax = MINint + * amax = MINfloat */ __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_3) { @@ -3135,7 +3135,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ * if j < k: l = i * if k < i: r = j * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint + * amax = MINfloat * for i in range(k): */ __pyx_t_3 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); @@ -3144,15 +3144,15 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ /* "median.pyx":240 * if k < i: r = j * if n0 % 2 == 0: - * amax = MINint # <<<<<<<<<<<<<< + * amax = MINfloat # <<<<<<<<<<<<<< * for i in range(k): * ai = b[i] */ - __pyx_v_amax = __pyx_v_6median_MINint; + __pyx_v_amax = __pyx_v_6median_MINfloat; /* "median.pyx":241 * if n0 % 2 == 0: - * amax = MINint + * amax = MINfloat * for i in range(k): # <<<<<<<<<<<<<< * ai = b[i] * if ai >= amax: @@ -3162,21 +3162,21 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_v_i = __pyx_t_16; /* "median.pyx":242 - * amax = MINint + * amax = MINfloat * for i in range(k): * ai = b[i] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ __pyx_t_17 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":243 * for i in range(k): * ai = b[i] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * return np.float64(0.5 * (b[k] + amax)) + * return np.float(0.5 * (b[k] + amax)) */ __pyx_t_3 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_3) { @@ -3185,7 +3185,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ * ai = b[i] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * return np.float64(0.5 * (b[k] + amax)) + * return np.float(0.5 * (b[k] + amax)) * else: */ __pyx_v_amax = __pyx_v_ai; @@ -3197,18 +3197,18 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ /* "median.pyx":245 * if ai >= amax: * amax = ai - * return np.float64(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< + * return np.float(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< * else: - * return np.float64(b[k]) + * return np.float(b[k]) */ __Pyx_XDECREF(__pyx_r); __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_15 = __pyx_v_k; - __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { @@ -3243,20 +3243,20 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ /*else*/ { /* "median.pyx":247 - * return np.float64(0.5 * (b[k] + amax)) + * return np.float(0.5 * (b[k] + amax)) * else: - * return np.float64(b[k]) # <<<<<<<<<<<<<< + * return np.float(b[k]) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __Pyx_PyInt_From_npy_long((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { @@ -3292,8 +3292,8 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ /* "median.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int along axis=0." + * def median_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -3309,7 +3309,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3325,24 +3325,24 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ /* "median.pyx":251 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int8 along axis=0." + * def median_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_7median_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_6median_1d_int8_axis0[] = "median_1d_int8_axis0(ndarray a)\nMedian of 1d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_6median_7median_1d_int8_axis0 = {"median_1d_int8_axis0", (PyCFunction)__pyx_pw_6median_7median_1d_int8_axis0, METH_O, __pyx_doc_6median_6median_1d_int8_axis0}; -static PyObject *__pyx_pw_6median_7median_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_7median_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_6median_1d_float32_axis0[] = "median_1d_float32_axis0(ndarray a)\nMedian of 1d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_6median_7median_1d_float32_axis0 = {"median_1d_float32_axis0", (PyCFunction)__pyx_pw_6median_7median_1d_float32_axis0, METH_O, __pyx_doc_6median_6median_1d_float32_axis0}; +static PyObject *__pyx_pw_6median_7median_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_1d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_1d_float32_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_6median_1d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_6median_1d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3353,16 +3353,16 @@ static PyObject *__pyx_pw_6median_7median_1d_int8_axis0(PyObject *__pyx_self, Py return __pyx_r; } -static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_6median_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; - __pyx_t_5numpy_int8_t __pyx_v_amax; - __pyx_t_5numpy_int8_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_amax; + __pyx_t_5numpy_float32_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -3392,7 +3392,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_1d_int8_axis0", 0); + __Pyx_RefNannySetupContext("median_1d_float32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -3403,23 +3403,23 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "median.pyx":253 - * def median_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): - * "Median of 1d array with dtype=int8 along axis=0." + * def median_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): + * "Median of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp, amax, ai - * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp, amax, ai + * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":255 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int8_t x, tmp, amax, ai - * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp, amax, ai + * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ @@ -3429,7 +3429,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; @@ -3453,7 +3453,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * if n0 == 0: - * return np.float64(NAN) + * return np.float32(NAN) */ __pyx_v_n0 = (__pyx_v_dim[0]); @@ -3461,7 +3461,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) + * return np.float32(NAN) * k = n0 >> 1 */ __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); @@ -3470,14 +3470,14 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * /* "median.pyx":261 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * return np.float32(NAN) # <<<<<<<<<<<<<< * k = n0 >> 1 * l = 0 */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float32); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -3515,7 +3515,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * /* "median.pyx":262 * if n0 == 0: - * return np.float64(NAN) + * return np.float32(NAN) * k = n0 >> 1 # <<<<<<<<<<<<<< * l = 0 * r = n0 - 1 @@ -3523,7 +3523,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_v_k = (__pyx_v_n0 >> 1); /* "median.pyx":263 - * return np.float64(NAN) + * return np.float32(NAN) * k = n0 >> 1 * l = 0 # <<<<<<<<<<<<<< * r = n0 - 1 @@ -3573,7 +3573,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * * j = r */ __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":268 * while l < r: @@ -3611,7 +3611,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * */ while (1) { __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -3625,7 +3625,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * */ while (1) { __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -3648,7 +3648,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * * b[j] = tmp */ __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":275 * if i <= j: @@ -3659,7 +3659,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_t_12 = __pyx_v_j; __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":276 * tmp = b[i] @@ -3669,7 +3669,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * * j -= 1 */ __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; /* "median.pyx":277 * b[i] = b[j] @@ -3725,7 +3725,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * if n0 % 2 == 0: - * amax = MINint8 + * amax = MINfloat32 */ __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_3) { @@ -3758,7 +3758,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * * if j < k: l = i * if k < i: r = j * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint8 + * amax = MINfloat32 * for i in range(k): */ __pyx_t_3 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); @@ -3767,15 +3767,15 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * /* "median.pyx":283 * if k < i: r = j * if n0 % 2 == 0: - * amax = MINint8 # <<<<<<<<<<<<<< + * amax = MINfloat32 # <<<<<<<<<<<<<< * for i in range(k): * ai = b[i] */ - __pyx_v_amax = __pyx_v_6median_MINint8; + __pyx_v_amax = __pyx_v_6median_MINfloat32; /* "median.pyx":284 * if n0 % 2 == 0: - * amax = MINint8 + * amax = MINfloat32 * for i in range(k): # <<<<<<<<<<<<<< * ai = b[i] * if ai >= amax: @@ -3785,21 +3785,21 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_v_i = __pyx_t_16; /* "median.pyx":285 - * amax = MINint8 + * amax = MINfloat32 * for i in range(k): * ai = b[i] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ __pyx_t_17 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":286 * for i in range(k): * ai = b[i] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * return np.float64(0.5 * (b[k] + amax)) + * return np.float32(0.5 * (b[k] + amax)) */ __pyx_t_3 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_3) { @@ -3808,7 +3808,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * * ai = b[i] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * return np.float64(0.5 * (b[k] + amax)) + * return np.float32(0.5 * (b[k] + amax)) * else: */ __pyx_v_amax = __pyx_v_ai; @@ -3820,18 +3820,18 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * /* "median.pyx":288 * if ai >= amax: * amax = ai - * return np.float64(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< + * return np.float32(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< * else: - * return np.float64(b[k]) + * return np.float32(b[k]) */ __Pyx_XDECREF(__pyx_r); __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_15 = __pyx_v_k; - __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { @@ -3866,20 +3866,20 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * /*else*/ { /* "median.pyx":290 - * return np.float64(0.5 * (b[k] + amax)) + * return np.float32(0.5 * (b[k] + amax)) * else: - * return np.float64(b[k]) # <<<<<<<<<<<<<< + * return np.float32(b[k]) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __Pyx_PyInt_From_npy_int8((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { @@ -3915,8 +3915,8 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * /* "median.pyx":251 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int8 along axis=0." + * def median_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -3932,7 +3932,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3948,24 +3948,24 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * /* "median.pyx":294 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int32 along axis=0." + * def median_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_9median_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_8median_1d_int32_axis0[] = "median_1d_int32_axis0(ndarray a)\nMedian of 1d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_6median_9median_1d_int32_axis0 = {"median_1d_int32_axis0", (PyCFunction)__pyx_pw_6median_9median_1d_int32_axis0, METH_O, __pyx_doc_6median_8median_1d_int32_axis0}; -static PyObject *__pyx_pw_6median_9median_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_9median_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_8median_1d_float64_axis0[] = "median_1d_float64_axis0(ndarray a)\nMedian of 1d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_6median_9median_1d_float64_axis0 = {"median_1d_float64_axis0", (PyCFunction)__pyx_pw_6median_9median_1d_float64_axis0, METH_O, __pyx_doc_6median_8median_1d_float64_axis0}; +static PyObject *__pyx_pw_6median_9median_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_1d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_1d_float64_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_8median_1d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_8median_1d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3976,16 +3976,16 @@ static PyObject *__pyx_pw_6median_9median_1d_int32_axis0(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_8median_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; - __pyx_t_5numpy_int32_t __pyx_v_amax; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_amax; + __pyx_t_5numpy_float64_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4015,7 +4015,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_1d_int32_axis0", 0); + __Pyx_RefNannySetupContext("median_1d_float64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -4026,23 +4026,23 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "median.pyx":296 - * def median_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): - * "Median of 1d array with dtype=int32 along axis=0." + * def median_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): + * "Median of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp, amax, ai - * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp, amax, ai + * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":298 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int32_t x, tmp, amax, ai - * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp, amax, ai + * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ @@ -4052,7 +4052,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; @@ -4196,7 +4196,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject * j = r */ __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":311 * while l < r: @@ -4234,7 +4234,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject */ while (1) { __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -4248,7 +4248,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject */ while (1) { __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -4271,7 +4271,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject * b[j] = tmp */ __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":318 * if i <= j: @@ -4282,7 +4282,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_t_12 = __pyx_v_j; __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":319 * tmp = b[i] @@ -4292,7 +4292,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject * j -= 1 */ __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; /* "median.pyx":320 * b[i] = b[j] @@ -4348,7 +4348,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * if n0 % 2 == 0: - * amax = MINint32 + * amax = MINfloat64 */ __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_3) { @@ -4381,7 +4381,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject * if j < k: l = i * if k < i: r = j * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint32 + * amax = MINfloat64 * for i in range(k): */ __pyx_t_3 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); @@ -4390,15 +4390,15 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject /* "median.pyx":326 * if k < i: r = j * if n0 % 2 == 0: - * amax = MINint32 # <<<<<<<<<<<<<< + * amax = MINfloat64 # <<<<<<<<<<<<<< * for i in range(k): * ai = b[i] */ - __pyx_v_amax = __pyx_v_6median_MINint32; + __pyx_v_amax = __pyx_v_6median_MINfloat64; /* "median.pyx":327 * if n0 % 2 == 0: - * amax = MINint32 + * amax = MINfloat64 * for i in range(k): # <<<<<<<<<<<<<< * ai = b[i] * if ai >= amax: @@ -4408,14 +4408,14 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject __pyx_v_i = __pyx_t_16; /* "median.pyx":328 - * amax = MINint32 + * amax = MINfloat64 * for i in range(k): * ai = b[i] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ __pyx_t_17 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":329 * for i in range(k): @@ -4454,7 +4454,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_15 = __pyx_v_k; - __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { @@ -4502,7 +4502,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __Pyx_PyInt_From_npy_int32((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { @@ -4538,8 +4538,8 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject /* "median.pyx":294 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int32 along axis=0." + * def median_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -4555,7 +4555,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4571,24 +4571,24 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject /* "median.pyx":337 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int64 along axis=0." + * def median_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_11median_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_10median_1d_int64_axis0[] = "median_1d_int64_axis0(ndarray a)\nMedian of 1d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_6median_11median_1d_int64_axis0 = {"median_1d_int64_axis0", (PyCFunction)__pyx_pw_6median_11median_1d_int64_axis0, METH_O, __pyx_doc_6median_10median_1d_int64_axis0}; -static PyObject *__pyx_pw_6median_11median_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_11median_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_10median_2d_float_axis0[] = "median_2d_float_axis0(ndarray a)\nMedian of 2d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_6median_11median_2d_float_axis0 = {"median_2d_float_axis0", (PyCFunction)__pyx_pw_6median_11median_2d_float_axis0, METH_O, __pyx_doc_6median_10median_2d_float_axis0}; +static PyObject *__pyx_pw_6median_11median_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_1d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_2d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_10median_1d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_10median_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4599,74 +4599,96 @@ static PyObject *__pyx_pw_6median_11median_1d_int64_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6median_10median_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_10median_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; - __pyx_t_5numpy_int64_t __pyx_v_amax; - __pyx_t_5numpy_int64_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_amax; + __pyx_t_5numpy_float_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; __Pyx_Buffer __pyx_pybuffer_b; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; + npy_intp __pyx_t_3[1]; + PyArrayObject *__pyx_t_4 = NULL; + int __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; npy_intp __pyx_t_8; - npy_intp __pyx_t_9; + Py_ssize_t __pyx_t_9; npy_intp __pyx_t_10; - npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_11; npy_intp __pyx_t_12; - npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_13; npy_intp __pyx_t_14; - npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_15; npy_intp __pyx_t_16; - npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + npy_intp __pyx_t_23; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; + Py_ssize_t __pyx_t_26; + Py_ssize_t __pyx_t_27; + Py_ssize_t __pyx_t_28; + Py_ssize_t __pyx_t_29; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_1d_int64_axis0", 0); + __Pyx_RefNannySetupContext("median_2d_float_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "median.pyx":339 - * def median_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): - * "Median of 1d array with dtype=int64 along axis=0." + * def median_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Median of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp, amax, ai - * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float_t x, tmp, amax, ai + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":341 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int64_t x, tmp, amax, ai - * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.float_t x, tmp, amax, ai + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -4675,10 +4697,10 @@ static PyObject *__pyx_pf_6median_10median_1d_int64_axis0(CYTHON_UNUSED PyObject __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; @@ -4686,11 +4708,11 @@ static PyObject *__pyx_pf_6median_10median_1d_int64_axis0(CYTHON_UNUSED PyObject __pyx_t_1 = 0; /* "median.pyx":344 - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); @@ -4698,520 +4720,473 @@ static PyObject *__pyx_pf_6median_10median_1d_int64_axis0(CYTHON_UNUSED PyObject * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * return np.float64(NAN) + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); /* "median.pyx":346 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * k = n0 >> 1 + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_3) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "median.pyx":347 + /* "median.pyx":347 * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) + */ + __pyx_t_3[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_3; + + /* "median.pyx":348 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) * if n0 == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * k = n0 >> 1 - * l = 0 */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - if (!__pyx_t_6) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else { - __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; - PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; } + __pyx_t_4 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; - /* "median.pyx":348 + /* "median.pyx":350 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * return y + */ + __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_5) { + + /* "median.pyx":351 + * NPY_float, 0) * if n0 == 0: - * return np.float64(NAN) - * k = n0 >> 1 # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * return y + * for i1 in range(n1): */ - __pyx_v_k = (__pyx_v_n0 >> 1); + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":349 - * return np.float64(NAN) - * k = n0 >> 1 - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + /* "median.pyx":352 + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) + * return y # <<<<<<<<<<<<<< + * for i1 in range(n1): + * k = n0 >> 1 */ - __pyx_v_l = 0; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + } - /* "median.pyx":350 - * k = n0 >> 1 - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + /* "median.pyx":353 + * PyArray_FillWithScalar(y, NAN) + * return y + * for i1 in range(n1): # <<<<<<<<<<<<<< + * k = n0 >> 1 + * l = 0 + */ + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; + + /* "median.pyx":354 + * return y + * for i1 in range(n1): + * k = n0 >> 1 # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 + */ + __pyx_v_k = (__pyx_v_n0 >> 1); + + /* "median.pyx":355 + * for i1 in range(n1): + * k = n0 >> 1 + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "median.pyx":351 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "median.pyx":356 + * k = n0 >> 1 + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[k, i1] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n0 - 1); - /* "median.pyx":352 - * r = n0 - 1 - * with nogil: + /* "median.pyx":357 + * l = 0 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[k, i1] * i = l */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + while (1) { + __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_5) break; - /* "median.pyx":353 - * with nogil: + /* "median.pyx":358 + * r = n0 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_8 = __pyx_v_k; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":354 + /* "median.pyx":359 * while l < r: - * x = b[k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "median.pyx":355 - * x = b[k] + /* "median.pyx":360 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "median.pyx":356 + /* "median.pyx":361 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ - while (1) { + while (1) { - /* "median.pyx":357 + /* "median.pyx":362 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_10 = __pyx_v_i; + __pyx_t_11 = __pyx_v_i1; + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_5) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "median.pyx":358 + /* "median.pyx":363 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i, i1] */ - while (1) { - __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_5) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "median.pyx":359 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "median.pyx":364 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_5) { - /* "median.pyx":360 - * while x < b[j]: j -= 1 + /* "median.pyx":365 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_14 = __pyx_v_i; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":361 + /* "median.pyx":366 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp * i += 1 */ - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_16 = __pyx_v_j; + __pyx_t_17 = __pyx_v_i1; + __pyx_t_18 = __pyx_v_i; + __pyx_t_19 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":362 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":367 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_j; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "median.pyx":363 - * b[i] = b[j] - * b[j] = tmp + /* "median.pyx":368 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":364 - * b[j] = tmp + /* "median.pyx":369 + * b[j, i1] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L15; - } - __pyx_L15:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L14; + } + __pyx_L14:; - /* "median.pyx":365 + /* "median.pyx":370 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L10_break; - } - } - __pyx_L10_break:; + __pyx_t_5 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_5) { + goto __pyx_L9_break; + } + } + __pyx_L9_break:; - /* "median.pyx":366 + /* "median.pyx":371 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n0 % 2 == 0: + * if n0 % 2 == 0: */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L17; - } - __pyx_L17:; + __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_5) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L16; + } + __pyx_L16:; - /* "median.pyx":367 + /* "median.pyx":372 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< - * if n0 % 2 == 0: - * amax = MINint64 - */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L18; - } - __pyx_L18:; - } - } - - /* "median.pyx":351 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] + * if n0 % 2 == 0: + * amax = MINfloat */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L6; - } - __pyx_L6:; + __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_5) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L17; } - } + __pyx_L17:; + } - /* "median.pyx":368 + /* "median.pyx":373 * if j < k: l = i * if k < i: r = j - * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint64 - * for i in range(k): + * if n0 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINfloat + * for i in range(k): */ - __pyx_t_3 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); - if (__pyx_t_3) { + __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); + if (__pyx_t_5) { - /* "median.pyx":369 + /* "median.pyx":374 * if k < i: r = j - * if n0 % 2 == 0: - * amax = MINint64 # <<<<<<<<<<<<<< - * for i in range(k): - * ai = b[i] + * if n0 % 2 == 0: + * amax = MINfloat # <<<<<<<<<<<<<< + * for i in range(k): + * ai = b[i, i1] */ - __pyx_v_amax = __pyx_v_6median_MINint64; + __pyx_v_amax = __pyx_v_6median_MINfloat; - /* "median.pyx":370 - * if n0 % 2 == 0: - * amax = MINint64 - * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i] - * if ai >= amax: + /* "median.pyx":375 + * if n0 % 2 == 0: + * amax = MINfloat + * for i in range(k): # <<<<<<<<<<<<<< + * ai = b[i, i1] + * if ai >= amax: */ - __pyx_t_15 = __pyx_v_k; - for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) { - __pyx_v_i = __pyx_t_16; + __pyx_t_22 = __pyx_v_k; + for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { + __pyx_v_i = __pyx_t_23; - /* "median.pyx":371 - * amax = MINint64 - * for i in range(k): - * ai = b[i] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "median.pyx":376 + * amax = MINfloat + * for i in range(k): + * ai = b[i, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_17 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":372 - * for i in range(k): - * ai = b[i] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * return np.float64(0.5 * (b[k] + amax)) + /* "median.pyx":377 + * for i in range(k): + * ai = b[i, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * y[i1] = 0.5 * (b[k, i1] + amax) */ - __pyx_t_3 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_3) { + __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_5) { - /* "median.pyx":373 - * ai = b[i] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * return np.float64(0.5 * (b[k] + amax)) - * else: + /* "median.pyx":378 + * ai = b[i, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * y[i1] = 0.5 * (b[k, i1] + amax) + * else: */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L22; + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L21; + } + __pyx_L21:; } - __pyx_L22:; - } - /* "median.pyx":374 - * if ai >= amax: - * amax = ai - * return np.float64(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< - * else: - * return np.float64(b[k]) + /* "median.pyx":379 + * if ai >= amax: + * amax = ai + * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< + * else: + * y[i1] = b[k, i1] */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_15 = __pyx_v_k; - __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } + __pyx_t_22 = __pyx_v_k; + __pyx_t_26 = __pyx_v_i1; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + goto __pyx_L18; } - if (!__pyx_t_4) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + /*else*/ { + + /* "median.pyx":381 + * y[i1] = 0.5 * (b[k, i1] + amax) + * else: + * y[i1] = b[k, i1] # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_23 = __pyx_v_k; + __pyx_t_28 = __pyx_v_i1; + __pyx_t_29 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides)); } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; + __pyx_L18:; } - /*else*/ { - /* "median.pyx":376 - * return np.float64(0.5 * (b[k] + amax)) - * else: - * return np.float64(b[k]) # <<<<<<<<<<<<<< + /* "median.pyx":382 + * else: + * y[i1] = b[k, i1] + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __Pyx_PyInt_From_npy_int64((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_5) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else { - __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "median.pyx":337 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int64 along axis=0." + * def median_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_b); + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "median.pyx":380 +/* "median.pyx":386 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int along axis=0." + * def median_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_13median_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_12median_2d_int_axis0[] = "median_2d_int_axis0(ndarray a)\nMedian of 2d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_6median_13median_2d_int_axis0 = {"median_2d_int_axis0", (PyCFunction)__pyx_pw_6median_13median_2d_int_axis0, METH_O, __pyx_doc_6median_12median_2d_int_axis0}; -static PyObject *__pyx_pw_6median_13median_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_13median_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_12median_2d_float_axis1[] = "median_2d_float_axis1(ndarray a)\nMedian of 2d array with dtype=float along axis=1."; +static PyMethodDef __pyx_mdef_6median_13median_2d_float_axis1 = {"median_2d_float_axis1", (PyCFunction)__pyx_pw_6median_13median_2d_float_axis1, METH_O, __pyx_doc_6median_12median_2d_float_axis1}; +static PyObject *__pyx_pw_6median_13median_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_int_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_12median_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("median_2d_float_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6median_12median_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5222,18 +5197,18 @@ static PyObject *__pyx_pw_6median_13median_2d_int_axis0(PyObject *__pyx_self, Py return __pyx_r; } -static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_12median_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; - __pyx_t_5numpy_int_t __pyx_v_amax; - __pyx_t_5numpy_int_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_amax; + __pyx_t_5numpy_float_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -5254,24 +5229,24 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * int __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - npy_intp __pyx_t_8; - Py_ssize_t __pyx_t_9; - npy_intp __pyx_t_10; - Py_ssize_t __pyx_t_11; - npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; - npy_intp __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; + Py_ssize_t __pyx_t_8; + npy_intp __pyx_t_9; + Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; npy_intp __pyx_t_22; npy_intp __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; Py_ssize_t __pyx_t_26; Py_ssize_t __pyx_t_27; Py_ssize_t __pyx_t_28; @@ -5279,7 +5254,7 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("median_2d_float_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -5294,35 +5269,35 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "median.pyx":382 - * def median_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Median of 2d array with dtype=int along axis=0." + /* "median.pyx":388 + * def median_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Median of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp, amax, ai - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float_t x, tmp, amax, ai + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; - /* "median.pyx":384 + /* "median.pyx":390 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int_t x, tmp, amax, ai - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float_t x, tmp, amax, ai + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -5330,7 +5305,7 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":387 + /* "median.pyx":393 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5339,50 +5314,50 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "median.pyx":388 + /* "median.pyx":394 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "median.pyx":389 + /* "median.pyx":395 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "median.pyx":390 + /* "median.pyx":396 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ - __pyx_t_3[0] = __pyx_v_n1; + __pyx_t_3[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_3; - /* "median.pyx":391 + /* "median.pyx":397 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) + * if n1 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -5390,34 +5365,34 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":393 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + /* "median.pyx":399 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) + * if n1 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y */ - __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_5) { - /* "median.pyx":394 - * NPY_float64, 0) - * if n0 == 0: + /* "median.pyx":400 + * NPY_float, 0) + * if n1 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y - * for i1 in range(n1): + * for i0 in range(n0): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":395 - * if n0 == 0: + /* "median.pyx":401 + * if n1 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< - * for i1 in range(n1): - * k = n0 >> 1 + * for i0 in range(n0): + * k = n1 >> 1 */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -5425,179 +5400,179 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * goto __pyx_L0; } - /* "median.pyx":396 + /* "median.pyx":402 * PyArray_FillWithScalar(y, NAN) * return y - * for i1 in range(n1): # <<<<<<<<<<<<<< - * k = n0 >> 1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * k = n1 >> 1 * l = 0 */ - __pyx_t_6 = __pyx_v_n1; + __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_v_i0 = __pyx_t_7; - /* "median.pyx":397 + /* "median.pyx":403 * return y - * for i1 in range(n1): - * k = n0 >> 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * k = n1 >> 1 # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_v_k = (__pyx_v_n0 >> 1); + __pyx_v_k = (__pyx_v_n1 >> 1); - /* "median.pyx":398 - * for i1 in range(n1): - * k = n0 >> 1 + /* "median.pyx":404 + * for i0 in range(n0): + * k = n1 >> 1 * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "median.pyx":399 - * k = n0 >> 1 + /* "median.pyx":405 + * k = n1 >> 1 * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "median.pyx":400 + /* "median.pyx":406 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_5) break; - /* "median.pyx":401 - * r = n0 - 1 + /* "median.pyx":407 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":402 + /* "median.pyx":408 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "median.pyx":403 - * x = b[k, i1] + /* "median.pyx":409 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "median.pyx":404 + /* "median.pyx":410 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "median.pyx":405 + /* "median.pyx":411 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_10 = __pyx_v_i; - __pyx_t_11 = __pyx_v_i1; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i; + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "median.pyx":406 + /* "median.pyx":412 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_j; + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "median.pyx":407 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "median.pyx":413 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_5) { - /* "median.pyx":408 - * while x < b[j, i1]: j -= 1 + /* "median.pyx":414 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_14 = __pyx_v_i; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":409 + /* "median.pyx":415 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp * i += 1 */ - __pyx_t_16 = __pyx_v_j; - __pyx_t_17 = __pyx_v_i1; - __pyx_t_18 = __pyx_v_i; - __pyx_t_19 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":410 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":416 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_20 = __pyx_v_j; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "median.pyx":411 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "median.pyx":417 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":412 - * b[j, i1] = tmp + /* "median.pyx":418 + * b[i0, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -5608,7 +5583,7 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * } __pyx_L14:; - /* "median.pyx":413 + /* "median.pyx":419 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -5622,12 +5597,12 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * } __pyx_L9_break:; - /* "median.pyx":414 + /* "median.pyx":420 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n0 % 2 == 0: + * if n1 % 2 == 0: */ __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); if (__pyx_t_5) { @@ -5636,12 +5611,12 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * } __pyx_L16:; - /* "median.pyx":415 + /* "median.pyx":421 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< - * if n0 % 2 == 0: - * amax = MINint + * if n1 % 2 == 0: + * amax = MINfloat */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -5651,62 +5626,62 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * __pyx_L17:; } - /* "median.pyx":416 + /* "median.pyx":422 * if j < k: l = i * if k < i: r = j - * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint + * if n1 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINfloat * for i in range(k): */ - __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); + __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); if (__pyx_t_5) { - /* "median.pyx":417 + /* "median.pyx":423 * if k < i: r = j - * if n0 % 2 == 0: - * amax = MINint # <<<<<<<<<<<<<< + * if n1 % 2 == 0: + * amax = MINfloat # <<<<<<<<<<<<<< * for i in range(k): - * ai = b[i, i1] + * ai = b[i0, i] */ - __pyx_v_amax = __pyx_v_6median_MINint; + __pyx_v_amax = __pyx_v_6median_MINfloat; - /* "median.pyx":418 - * if n0 % 2 == 0: - * amax = MINint + /* "median.pyx":424 + * if n1 % 2 == 0: + * amax = MINfloat * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i, i1] + * ai = b[i0, i] * if ai >= amax: */ __pyx_t_22 = __pyx_v_k; for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { __pyx_v_i = __pyx_t_23; - /* "median.pyx":419 - * amax = MINint + /* "median.pyx":425 + * amax = MINfloat * for i in range(k): - * ai = b[i, i1] # <<<<<<<<<<<<<< + * ai = b[i0, i] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":420 + /* "median.pyx":426 * for i in range(k): - * ai = b[i, i1] + * ai = b[i0, i] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i1] = 0.5 * (b[k, i1] + amax) + * y[i0] = 0.5 * (b[i0, k] + amax) */ __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_5) { - /* "median.pyx":421 - * ai = b[i, i1] + /* "median.pyx":427 + * ai = b[i0, i] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i1] = 0.5 * (b[k, i1] + amax) + * y[i0] = 0.5 * (b[i0, k] + amax) * else: */ __pyx_v_amax = __pyx_v_ai; @@ -5715,39 +5690,39 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * __pyx_L21:; } - /* "median.pyx":422 + /* "median.pyx":428 * if ai >= amax: * amax = ai - * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< + * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< * else: - * y[i1] = b[k, i1] + * y[i0] = b[i0, k] */ + __pyx_t_26 = __pyx_v_i0; __pyx_t_22 = __pyx_v_k; - __pyx_t_26 = __pyx_v_i1; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + __pyx_t_27 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { - /* "median.pyx":424 - * y[i1] = 0.5 * (b[k, i1] + amax) + /* "median.pyx":430 + * y[i0] = 0.5 * (b[i0, k] + amax) * else: - * y[i1] = b[k, i1] # <<<<<<<<<<<<<< + * y[i0] = b[i0, k] # <<<<<<<<<<<<<< * return y * */ + __pyx_t_28 = __pyx_v_i0; __pyx_t_23 = __pyx_v_k; - __pyx_t_28 = __pyx_v_i1; - __pyx_t_29 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides))); + __pyx_t_29 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); } __pyx_L18:; } - /* "median.pyx":425 + /* "median.pyx":431 * else: - * y[i1] = b[k, i1] + * y[i0] = b[i0, k] * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -5757,11 +5732,11 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "median.pyx":380 + /* "median.pyx":386 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int along axis=0." + * def median_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -5774,7 +5749,7 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5789,27 +5764,27 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "median.pyx":429 +/* "median.pyx":435 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int along axis=1." + * def median_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_15median_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_14median_2d_int_axis1[] = "median_2d_int_axis1(ndarray a)\nMedian of 2d array with dtype=int along axis=1."; -static PyMethodDef __pyx_mdef_6median_15median_2d_int_axis1 = {"median_2d_int_axis1", (PyCFunction)__pyx_pw_6median_15median_2d_int_axis1, METH_O, __pyx_doc_6median_14median_2d_int_axis1}; -static PyObject *__pyx_pw_6median_15median_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_15median_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_14median_2d_float32_axis0[] = "median_2d_float32_axis0(ndarray a)\nMedian of 2d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_6median_15median_2d_float32_axis0 = {"median_2d_float32_axis0", (PyCFunction)__pyx_pw_6median_15median_2d_float32_axis0, METH_O, __pyx_doc_6median_14median_2d_float32_axis0}; +static PyObject *__pyx_pw_6median_15median_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_int_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_14median_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("median_2d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6median_14median_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5820,18 +5795,18 @@ static PyObject *__pyx_pw_6median_15median_2d_int_axis1(PyObject *__pyx_self, Py return __pyx_r; } -static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_14median_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; - __pyx_t_5numpy_int_t __pyx_v_amax; - __pyx_t_5numpy_int_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_amax; + __pyx_t_5numpy_float32_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -5852,24 +5827,24 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * int __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - npy_intp __pyx_t_9; - Py_ssize_t __pyx_t_10; - npy_intp __pyx_t_11; - Py_ssize_t __pyx_t_12; - npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; - npy_intp __pyx_t_15; - Py_ssize_t __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; + npy_intp __pyx_t_8; + Py_ssize_t __pyx_t_9; + npy_intp __pyx_t_10; + Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_12; + Py_ssize_t __pyx_t_13; + npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_15; + npy_intp __pyx_t_16; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; npy_intp __pyx_t_22; npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; Py_ssize_t __pyx_t_26; Py_ssize_t __pyx_t_27; Py_ssize_t __pyx_t_28; @@ -5877,7 +5852,7 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("median_2d_float32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -5892,35 +5867,35 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "median.pyx":431 - * def median_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Median of 2d array with dtype=int along axis=1." + /* "median.pyx":437 + * def median_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Median of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp, amax, ai - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp, amax, ai + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; - /* "median.pyx":433 + /* "median.pyx":439 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int_t x, tmp, amax, ai - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp, amax, ai + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -5928,7 +5903,7 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":436 + /* "median.pyx":442 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5937,50 +5912,50 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "median.pyx":437 + /* "median.pyx":443 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "median.pyx":438 + /* "median.pyx":444 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "median.pyx":439 + /* "median.pyx":445 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ - __pyx_t_3[0] = __pyx_v_n0; + __pyx_t_3[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "median.pyx":440 + /* "median.pyx":446 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) + * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -5988,34 +5963,34 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":442 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + /* "median.pyx":448 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) + * if n0 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y */ - __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_5) { - /* "median.pyx":443 - * NPY_float64, 0) - * if n1 == 0: + /* "median.pyx":449 + * NPY_float32, 0) + * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y - * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":444 - * if n1 == 0: + /* "median.pyx":450 + * if n0 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< - * for i0 in range(n0): - * k = n1 >> 1 + * for i1 in range(n1): + * k = n0 >> 1 */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -6023,179 +5998,179 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * goto __pyx_L0; } - /* "median.pyx":445 + /* "median.pyx":451 * PyArray_FillWithScalar(y, NAN) * return y - * for i0 in range(n0): # <<<<<<<<<<<<<< - * k = n1 >> 1 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * k = n0 >> 1 * l = 0 */ - __pyx_t_6 = __pyx_v_n0; + __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_v_i1 = __pyx_t_7; - /* "median.pyx":446 + /* "median.pyx":452 * return y - * for i0 in range(n0): - * k = n1 >> 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * k = n0 >> 1 # <<<<<<<<<<<<<< * l = 0 - * r = n1 - 1 + * r = n0 - 1 */ - __pyx_v_k = (__pyx_v_n1 >> 1); + __pyx_v_k = (__pyx_v_n0 >> 1); - /* "median.pyx":447 - * for i0 in range(n0): - * k = n1 >> 1 + /* "median.pyx":453 + * for i1 in range(n1): + * k = n0 >> 1 * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 + * r = n0 - 1 * while l < r: */ __pyx_v_l = 0; - /* "median.pyx":448 - * k = n1 >> 1 + /* "median.pyx":454 + * k = n0 >> 1 * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[i0, k] + * x = b[k, i1] */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_r = (__pyx_v_n0 - 1); - /* "median.pyx":449 + /* "median.pyx":455 * l = 0 - * r = n1 - 1 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] + * x = b[k, i1] * i = l */ while (1) { __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_5) break; - /* "median.pyx":450 - * r = n1 - 1 + /* "median.pyx":456 + * r = n0 - 1 * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_k; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":451 + /* "median.pyx":457 * while l < r: - * x = b[i0, k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "median.pyx":452 - * x = b[i0, k] + /* "median.pyx":458 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i0, i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "median.pyx":453 + /* "median.pyx":459 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ while (1) { - /* "median.pyx":454 + /* "median.pyx":460 * j = r * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_10 = __pyx_v_i; + __pyx_t_11 = __pyx_v_i1; + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "median.pyx":455 + /* "median.pyx":461 * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i0, i] + * tmp = b[i, i1] */ while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_j; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "median.pyx":456 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "median.pyx":462 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_5) { - /* "median.pyx":457 - * while x < b[i0, j]: j -= 1 + /* "median.pyx":463 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_14 = __pyx_v_i; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":458 + /* "median.pyx":464 * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp * i += 1 */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_j; + __pyx_t_17 = __pyx_v_i1; + __pyx_t_18 = __pyx_v_i; + __pyx_t_19 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":459 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":465 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_j; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "median.pyx":460 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "median.pyx":466 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":461 - * b[i0, j] = tmp + /* "median.pyx":467 + * b[j, i1] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -6206,7 +6181,7 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * } __pyx_L14:; - /* "median.pyx":462 + /* "median.pyx":468 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -6220,12 +6195,12 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * } __pyx_L9_break:; - /* "median.pyx":463 + /* "median.pyx":469 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n1 % 2 == 0: + * if n0 % 2 == 0: */ __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); if (__pyx_t_5) { @@ -6234,12 +6209,12 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * } __pyx_L16:; - /* "median.pyx":464 + /* "median.pyx":470 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< - * if n1 % 2 == 0: - * amax = MINint + * if n0 % 2 == 0: + * amax = MINfloat32 */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -6249,62 +6224,62 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * __pyx_L17:; } - /* "median.pyx":465 + /* "median.pyx":471 * if j < k: l = i * if k < i: r = j - * if n1 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint + * if n0 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINfloat32 * for i in range(k): */ - __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); + __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); if (__pyx_t_5) { - /* "median.pyx":466 + /* "median.pyx":472 * if k < i: r = j - * if n1 % 2 == 0: - * amax = MINint # <<<<<<<<<<<<<< + * if n0 % 2 == 0: + * amax = MINfloat32 # <<<<<<<<<<<<<< * for i in range(k): - * ai = b[i0, i] + * ai = b[i, i1] */ - __pyx_v_amax = __pyx_v_6median_MINint; + __pyx_v_amax = __pyx_v_6median_MINfloat32; - /* "median.pyx":467 - * if n1 % 2 == 0: - * amax = MINint + /* "median.pyx":473 + * if n0 % 2 == 0: + * amax = MINfloat32 * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i0, i] + * ai = b[i, i1] * if ai >= amax: */ __pyx_t_22 = __pyx_v_k; for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { __pyx_v_i = __pyx_t_23; - /* "median.pyx":468 - * amax = MINint + /* "median.pyx":474 + * amax = MINfloat32 * for i in range(k): - * ai = b[i0, i] # <<<<<<<<<<<<<< + * ai = b[i, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":469 + /* "median.pyx":475 * for i in range(k): - * ai = b[i0, i] + * ai = b[i, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i0] = 0.5 * (b[i0, k] + amax) + * y[i1] = 0.5 * (b[k, i1] + amax) */ __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_5) { - /* "median.pyx":470 - * ai = b[i0, i] + /* "median.pyx":476 + * ai = b[i, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i0] = 0.5 * (b[i0, k] + amax) + * y[i1] = 0.5 * (b[k, i1] + amax) * else: */ __pyx_v_amax = __pyx_v_ai; @@ -6313,39 +6288,39 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * __pyx_L21:; } - /* "median.pyx":471 + /* "median.pyx":477 * if ai >= amax: * amax = ai - * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< + * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< * else: - * y[i0] = b[i0, k] + * y[i1] = b[k, i1] */ - __pyx_t_26 = __pyx_v_i0; __pyx_t_22 = __pyx_v_k; - __pyx_t_27 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + __pyx_t_26 = __pyx_v_i1; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { - /* "median.pyx":473 - * y[i0] = 0.5 * (b[i0, k] + amax) + /* "median.pyx":479 + * y[i1] = 0.5 * (b[k, i1] + amax) * else: - * y[i0] = b[i0, k] # <<<<<<<<<<<<<< + * y[i1] = b[k, i1] # <<<<<<<<<<<<<< * return y * */ - __pyx_t_28 = __pyx_v_i0; __pyx_t_23 = __pyx_v_k; - __pyx_t_29 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides))); + __pyx_t_28 = __pyx_v_i1; + __pyx_t_29 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides)); } __pyx_L18:; } - /* "median.pyx":474 + /* "median.pyx":480 * else: - * y[i0] = b[i0, k] + * y[i1] = b[k, i1] * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -6355,11 +6330,11 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "median.pyx":429 + /* "median.pyx":435 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int along axis=1." + * def median_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -6372,7 +6347,7 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6387,27 +6362,27 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "median.pyx":478 +/* "median.pyx":484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int8 along axis=0." + * def median_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_17median_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_16median_2d_int8_axis0[] = "median_2d_int8_axis0(ndarray a)\nMedian of 2d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_6median_17median_2d_int8_axis0 = {"median_2d_int8_axis0", (PyCFunction)__pyx_pw_6median_17median_2d_int8_axis0, METH_O, __pyx_doc_6median_16median_2d_int8_axis0}; -static PyObject *__pyx_pw_6median_17median_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_17median_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_16median_2d_float32_axis1[] = "median_2d_float32_axis1(ndarray a)\nMedian of 2d array with dtype=float32 along axis=1."; +static PyMethodDef __pyx_mdef_6median_17median_2d_float32_axis1 = {"median_2d_float32_axis1", (PyCFunction)__pyx_pw_6median_17median_2d_float32_axis1, METH_O, __pyx_doc_6median_16median_2d_float32_axis1}; +static PyObject *__pyx_pw_6median_17median_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_16median_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("median_2d_float32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6median_16median_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6418,18 +6393,18 @@ static PyObject *__pyx_pw_6median_17median_2d_int8_axis0(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_16median_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; - __pyx_t_5numpy_int8_t __pyx_v_amax; - __pyx_t_5numpy_int8_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_amax; + __pyx_t_5numpy_float32_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -6450,24 +6425,24 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject int __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - npy_intp __pyx_t_8; - Py_ssize_t __pyx_t_9; - npy_intp __pyx_t_10; - Py_ssize_t __pyx_t_11; - npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; - npy_intp __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; + Py_ssize_t __pyx_t_8; + npy_intp __pyx_t_9; + Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; npy_intp __pyx_t_22; npy_intp __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; Py_ssize_t __pyx_t_26; Py_ssize_t __pyx_t_27; Py_ssize_t __pyx_t_28; @@ -6475,7 +6450,7 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("median_2d_float32_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -6490,35 +6465,35 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "median.pyx":480 - * def median_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Median of 2d array with dtype=int8 along axis=0." + /* "median.pyx":486 + * def median_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Median of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp, amax, ai - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp, amax, ai + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; - /* "median.pyx":482 + /* "median.pyx":488 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int8_t x, tmp, amax, ai - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp, amax, ai + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -6526,7 +6501,7 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":485 + /* "median.pyx":491 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6535,50 +6510,50 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "median.pyx":486 + /* "median.pyx":492 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "median.pyx":487 + /* "median.pyx":493 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "median.pyx":488 + /* "median.pyx":494 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ - __pyx_t_3[0] = __pyx_v_n1; + __pyx_t_3[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_3; - /* "median.pyx":489 + /* "median.pyx":495 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) + * if n1 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -6586,34 +6561,34 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":491 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + /* "median.pyx":497 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) + * if n1 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y */ - __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_5) { - /* "median.pyx":492 - * NPY_float64, 0) - * if n0 == 0: + /* "median.pyx":498 + * NPY_float32, 0) + * if n1 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y - * for i1 in range(n1): + * for i0 in range(n0): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":493 - * if n0 == 0: + /* "median.pyx":499 + * if n1 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< - * for i1 in range(n1): - * k = n0 >> 1 + * for i0 in range(n0): + * k = n1 >> 1 */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -6621,179 +6596,179 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject goto __pyx_L0; } - /* "median.pyx":494 + /* "median.pyx":500 * PyArray_FillWithScalar(y, NAN) * return y - * for i1 in range(n1): # <<<<<<<<<<<<<< - * k = n0 >> 1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * k = n1 >> 1 * l = 0 */ - __pyx_t_6 = __pyx_v_n1; + __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_v_i0 = __pyx_t_7; - /* "median.pyx":495 + /* "median.pyx":501 * return y - * for i1 in range(n1): - * k = n0 >> 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * k = n1 >> 1 # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_v_k = (__pyx_v_n0 >> 1); + __pyx_v_k = (__pyx_v_n1 >> 1); - /* "median.pyx":496 - * for i1 in range(n1): - * k = n0 >> 1 + /* "median.pyx":502 + * for i0 in range(n0): + * k = n1 >> 1 * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "median.pyx":497 - * k = n0 >> 1 + /* "median.pyx":503 + * k = n1 >> 1 * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "median.pyx":498 + /* "median.pyx":504 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_5) break; - /* "median.pyx":499 - * r = n0 - 1 + /* "median.pyx":505 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":500 + /* "median.pyx":506 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "median.pyx":501 - * x = b[k, i1] + /* "median.pyx":507 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "median.pyx":502 + /* "median.pyx":508 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "median.pyx":503 + /* "median.pyx":509 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_10 = __pyx_v_i; - __pyx_t_11 = __pyx_v_i1; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i; + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "median.pyx":504 + /* "median.pyx":510 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_j; + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "median.pyx":505 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "median.pyx":511 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_5) { - /* "median.pyx":506 - * while x < b[j, i1]: j -= 1 + /* "median.pyx":512 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_14 = __pyx_v_i; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":507 + /* "median.pyx":513 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp * i += 1 */ - __pyx_t_16 = __pyx_v_j; - __pyx_t_17 = __pyx_v_i1; - __pyx_t_18 = __pyx_v_i; - __pyx_t_19 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":508 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":514 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_20 = __pyx_v_j; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "median.pyx":509 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "median.pyx":515 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":510 - * b[j, i1] = tmp + /* "median.pyx":516 + * b[i0, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -6804,7 +6779,7 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject } __pyx_L14:; - /* "median.pyx":511 + /* "median.pyx":517 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -6818,12 +6793,12 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject } __pyx_L9_break:; - /* "median.pyx":512 + /* "median.pyx":518 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n0 % 2 == 0: + * if n1 % 2 == 0: */ __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); if (__pyx_t_5) { @@ -6832,12 +6807,12 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject } __pyx_L16:; - /* "median.pyx":513 + /* "median.pyx":519 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< - * if n0 % 2 == 0: - * amax = MINint8 + * if n1 % 2 == 0: + * amax = MINfloat32 */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -6847,62 +6822,62 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject __pyx_L17:; } - /* "median.pyx":514 + /* "median.pyx":520 * if j < k: l = i * if k < i: r = j - * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint8 + * if n1 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINfloat32 * for i in range(k): */ - __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); + __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); if (__pyx_t_5) { - /* "median.pyx":515 + /* "median.pyx":521 * if k < i: r = j - * if n0 % 2 == 0: - * amax = MINint8 # <<<<<<<<<<<<<< + * if n1 % 2 == 0: + * amax = MINfloat32 # <<<<<<<<<<<<<< * for i in range(k): - * ai = b[i, i1] + * ai = b[i0, i] */ - __pyx_v_amax = __pyx_v_6median_MINint8; + __pyx_v_amax = __pyx_v_6median_MINfloat32; - /* "median.pyx":516 - * if n0 % 2 == 0: - * amax = MINint8 + /* "median.pyx":522 + * if n1 % 2 == 0: + * amax = MINfloat32 * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i, i1] + * ai = b[i0, i] * if ai >= amax: */ __pyx_t_22 = __pyx_v_k; for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { __pyx_v_i = __pyx_t_23; - /* "median.pyx":517 - * amax = MINint8 + /* "median.pyx":523 + * amax = MINfloat32 * for i in range(k): - * ai = b[i, i1] # <<<<<<<<<<<<<< + * ai = b[i0, i] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":518 + /* "median.pyx":524 * for i in range(k): - * ai = b[i, i1] + * ai = b[i0, i] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i1] = 0.5 * (b[k, i1] + amax) + * y[i0] = 0.5 * (b[i0, k] + amax) */ __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_5) { - /* "median.pyx":519 - * ai = b[i, i1] + /* "median.pyx":525 + * ai = b[i0, i] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i1] = 0.5 * (b[k, i1] + amax) + * y[i0] = 0.5 * (b[i0, k] + amax) * else: */ __pyx_v_amax = __pyx_v_ai; @@ -6911,39 +6886,39 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject __pyx_L21:; } - /* "median.pyx":520 + /* "median.pyx":526 * if ai >= amax: * amax = ai - * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< + * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< * else: - * y[i1] = b[k, i1] + * y[i0] = b[i0, k] */ + __pyx_t_26 = __pyx_v_i0; __pyx_t_22 = __pyx_v_k; - __pyx_t_26 = __pyx_v_i1; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + __pyx_t_27 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { - /* "median.pyx":522 - * y[i1] = 0.5 * (b[k, i1] + amax) + /* "median.pyx":528 + * y[i0] = 0.5 * (b[i0, k] + amax) * else: - * y[i1] = b[k, i1] # <<<<<<<<<<<<<< + * y[i0] = b[i0, k] # <<<<<<<<<<<<<< * return y * */ + __pyx_t_28 = __pyx_v_i0; __pyx_t_23 = __pyx_v_k; - __pyx_t_28 = __pyx_v_i1; - __pyx_t_29 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides))); + __pyx_t_29 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); } __pyx_L18:; } - /* "median.pyx":523 + /* "median.pyx":529 * else: - * y[i1] = b[k, i1] + * y[i0] = b[i0, k] * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -6953,11 +6928,11 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "median.pyx":478 + /* "median.pyx":484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int8 along axis=0." + * def median_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -6970,7 +6945,7 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6985,27 +6960,27 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "median.pyx":527 +/* "median.pyx":533 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int8 along axis=1." + * def median_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_19median_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_18median_2d_int8_axis1[] = "median_2d_int8_axis1(ndarray a)\nMedian of 2d array with dtype=int8 along axis=1."; -static PyMethodDef __pyx_mdef_6median_19median_2d_int8_axis1 = {"median_2d_int8_axis1", (PyCFunction)__pyx_pw_6median_19median_2d_int8_axis1, METH_O, __pyx_doc_6median_18median_2d_int8_axis1}; -static PyObject *__pyx_pw_6median_19median_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_19median_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_18median_2d_float64_axis0[] = "median_2d_float64_axis0(ndarray a)\nMedian of 2d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_6median_19median_2d_float64_axis0 = {"median_2d_float64_axis0", (PyCFunction)__pyx_pw_6median_19median_2d_float64_axis0, METH_O, __pyx_doc_6median_18median_2d_float64_axis0}; +static PyObject *__pyx_pw_6median_19median_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_int8_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_18median_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("median_2d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6median_18median_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7016,18 +6991,18 @@ static PyObject *__pyx_pw_6median_19median_2d_int8_axis1(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_18median_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; - __pyx_t_5numpy_int8_t __pyx_v_amax; - __pyx_t_5numpy_int8_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_amax; + __pyx_t_5numpy_float64_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -7048,24 +7023,24 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject int __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - npy_intp __pyx_t_9; - Py_ssize_t __pyx_t_10; - npy_intp __pyx_t_11; - Py_ssize_t __pyx_t_12; - npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; - npy_intp __pyx_t_15; - Py_ssize_t __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; + npy_intp __pyx_t_8; + Py_ssize_t __pyx_t_9; + npy_intp __pyx_t_10; + Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_12; + Py_ssize_t __pyx_t_13; + npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_15; + npy_intp __pyx_t_16; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; npy_intp __pyx_t_22; npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; Py_ssize_t __pyx_t_26; Py_ssize_t __pyx_t_27; Py_ssize_t __pyx_t_28; @@ -7073,7 +7048,7 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("median_2d_float64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -7088,35 +7063,35 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "median.pyx":529 - * def median_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Median of 2d array with dtype=int8 along axis=1." + /* "median.pyx":535 + * def median_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Median of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp, amax, ai - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp, amax, ai + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; - /* "median.pyx":531 + /* "median.pyx":537 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int8_t x, tmp, amax, ai - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp, amax, ai + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -7124,7 +7099,7 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":534 + /* "median.pyx":540 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7133,50 +7108,50 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "median.pyx":535 + /* "median.pyx":541 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "median.pyx":536 + /* "median.pyx":542 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "median.pyx":537 + /* "median.pyx":543 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) */ - __pyx_t_3[0] = __pyx_v_n0; + __pyx_t_3[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "median.pyx":538 + /* "median.pyx":544 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) - * if n1 == 0: + * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -7184,34 +7159,34 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":540 + /* "median.pyx":546 * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y */ - __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_5) { - /* "median.pyx":541 + /* "median.pyx":547 * NPY_float64, 0) - * if n1 == 0: + * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y - * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":542 - * if n1 == 0: + /* "median.pyx":548 + * if n0 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< - * for i0 in range(n0): - * k = n1 >> 1 + * for i1 in range(n1): + * k = n0 >> 1 */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -7219,179 +7194,179 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject goto __pyx_L0; } - /* "median.pyx":543 + /* "median.pyx":549 * PyArray_FillWithScalar(y, NAN) * return y - * for i0 in range(n0): # <<<<<<<<<<<<<< - * k = n1 >> 1 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * k = n0 >> 1 * l = 0 */ - __pyx_t_6 = __pyx_v_n0; + __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_v_i1 = __pyx_t_7; - /* "median.pyx":544 + /* "median.pyx":550 * return y - * for i0 in range(n0): - * k = n1 >> 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * k = n0 >> 1 # <<<<<<<<<<<<<< * l = 0 - * r = n1 - 1 + * r = n0 - 1 */ - __pyx_v_k = (__pyx_v_n1 >> 1); + __pyx_v_k = (__pyx_v_n0 >> 1); - /* "median.pyx":545 - * for i0 in range(n0): - * k = n1 >> 1 + /* "median.pyx":551 + * for i1 in range(n1): + * k = n0 >> 1 * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 + * r = n0 - 1 * while l < r: */ __pyx_v_l = 0; - /* "median.pyx":546 - * k = n1 >> 1 + /* "median.pyx":552 + * k = n0 >> 1 * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[i0, k] + * x = b[k, i1] */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_r = (__pyx_v_n0 - 1); - /* "median.pyx":547 + /* "median.pyx":553 * l = 0 - * r = n1 - 1 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] + * x = b[k, i1] * i = l */ while (1) { __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_5) break; - /* "median.pyx":548 - * r = n1 - 1 + /* "median.pyx":554 + * r = n0 - 1 * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_k; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":549 + /* "median.pyx":555 * while l < r: - * x = b[i0, k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "median.pyx":550 - * x = b[i0, k] + /* "median.pyx":556 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i0, i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "median.pyx":551 + /* "median.pyx":557 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ while (1) { - /* "median.pyx":552 + /* "median.pyx":558 * j = r * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_10 = __pyx_v_i; + __pyx_t_11 = __pyx_v_i1; + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "median.pyx":553 + /* "median.pyx":559 * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i0, i] + * tmp = b[i, i1] */ while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_j; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "median.pyx":554 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "median.pyx":560 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_5) { - /* "median.pyx":555 - * while x < b[i0, j]: j -= 1 + /* "median.pyx":561 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_14 = __pyx_v_i; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":556 + /* "median.pyx":562 * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp * i += 1 */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_j; + __pyx_t_17 = __pyx_v_i1; + __pyx_t_18 = __pyx_v_i; + __pyx_t_19 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":557 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":563 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_j; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "median.pyx":558 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "median.pyx":564 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":559 - * b[i0, j] = tmp + /* "median.pyx":565 + * b[j, i1] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -7402,7 +7377,7 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject } __pyx_L14:; - /* "median.pyx":560 + /* "median.pyx":566 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -7416,12 +7391,12 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject } __pyx_L9_break:; - /* "median.pyx":561 + /* "median.pyx":567 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n1 % 2 == 0: + * if n0 % 2 == 0: */ __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); if (__pyx_t_5) { @@ -7430,12 +7405,12 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject } __pyx_L16:; - /* "median.pyx":562 + /* "median.pyx":568 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< - * if n1 % 2 == 0: - * amax = MINint8 + * if n0 % 2 == 0: + * amax = MINfloat64 */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -7445,62 +7420,62 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_L17:; } - /* "median.pyx":563 + /* "median.pyx":569 * if j < k: l = i * if k < i: r = j - * if n1 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint8 + * if n0 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINfloat64 * for i in range(k): */ - __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); + __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); if (__pyx_t_5) { - /* "median.pyx":564 + /* "median.pyx":570 * if k < i: r = j - * if n1 % 2 == 0: - * amax = MINint8 # <<<<<<<<<<<<<< + * if n0 % 2 == 0: + * amax = MINfloat64 # <<<<<<<<<<<<<< * for i in range(k): - * ai = b[i0, i] + * ai = b[i, i1] */ - __pyx_v_amax = __pyx_v_6median_MINint8; + __pyx_v_amax = __pyx_v_6median_MINfloat64; - /* "median.pyx":565 - * if n1 % 2 == 0: - * amax = MINint8 + /* "median.pyx":571 + * if n0 % 2 == 0: + * amax = MINfloat64 * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i0, i] + * ai = b[i, i1] * if ai >= amax: */ __pyx_t_22 = __pyx_v_k; for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { __pyx_v_i = __pyx_t_23; - /* "median.pyx":566 - * amax = MINint8 + /* "median.pyx":572 + * amax = MINfloat64 * for i in range(k): - * ai = b[i0, i] # <<<<<<<<<<<<<< + * ai = b[i, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":567 + /* "median.pyx":573 * for i in range(k): - * ai = b[i0, i] + * ai = b[i, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i0] = 0.5 * (b[i0, k] + amax) + * y[i1] = 0.5 * (b[k, i1] + amax) */ __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_5) { - /* "median.pyx":568 - * ai = b[i0, i] + /* "median.pyx":574 + * ai = b[i, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i0] = 0.5 * (b[i0, k] + amax) + * y[i1] = 0.5 * (b[k, i1] + amax) * else: */ __pyx_v_amax = __pyx_v_ai; @@ -7509,39 +7484,39 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_L21:; } - /* "median.pyx":569 + /* "median.pyx":575 * if ai >= amax: * amax = ai - * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< + * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< * else: - * y[i0] = b[i0, k] + * y[i1] = b[k, i1] */ - __pyx_t_26 = __pyx_v_i0; __pyx_t_22 = __pyx_v_k; - __pyx_t_27 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + __pyx_t_26 = __pyx_v_i1; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { - /* "median.pyx":571 - * y[i0] = 0.5 * (b[i0, k] + amax) + /* "median.pyx":577 + * y[i1] = 0.5 * (b[k, i1] + amax) * else: - * y[i0] = b[i0, k] # <<<<<<<<<<<<<< + * y[i1] = b[k, i1] # <<<<<<<<<<<<<< * return y * */ - __pyx_t_28 = __pyx_v_i0; __pyx_t_23 = __pyx_v_k; - __pyx_t_29 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides))); + __pyx_t_28 = __pyx_v_i1; + __pyx_t_29 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides)); } __pyx_L18:; } - /* "median.pyx":572 + /* "median.pyx":578 * else: - * y[i0] = b[i0, k] + * y[i1] = b[k, i1] * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -7551,11 +7526,11 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "median.pyx":527 + /* "median.pyx":533 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int8 along axis=1." + * def median_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -7568,7 +7543,7 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7583,27 +7558,27 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "median.pyx":576 +/* "median.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int32 along axis=0." + * def median_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_21median_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_20median_2d_int32_axis0[] = "median_2d_int32_axis0(ndarray a)\nMedian of 2d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_6median_21median_2d_int32_axis0 = {"median_2d_int32_axis0", (PyCFunction)__pyx_pw_6median_21median_2d_int32_axis0, METH_O, __pyx_doc_6median_20median_2d_int32_axis0}; -static PyObject *__pyx_pw_6median_21median_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_21median_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_20median_2d_float64_axis1[] = "median_2d_float64_axis1(ndarray a)\nMedian of 2d array with dtype=float64 along axis=1."; +static PyMethodDef __pyx_mdef_6median_21median_2d_float64_axis1 = {"median_2d_float64_axis1", (PyCFunction)__pyx_pw_6median_21median_2d_float64_axis1, METH_O, __pyx_doc_6median_20median_2d_float64_axis1}; +static PyObject *__pyx_pw_6median_21median_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_20median_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("median_2d_float64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6median_20median_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7614,18 +7589,18 @@ static PyObject *__pyx_pw_6median_21median_2d_int32_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_20median_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; - __pyx_t_5numpy_int32_t __pyx_v_amax; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_amax; + __pyx_t_5numpy_float64_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -7646,24 +7621,24 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject int __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - npy_intp __pyx_t_8; - Py_ssize_t __pyx_t_9; - npy_intp __pyx_t_10; - Py_ssize_t __pyx_t_11; - npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; - npy_intp __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; + Py_ssize_t __pyx_t_8; + npy_intp __pyx_t_9; + Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; npy_intp __pyx_t_22; npy_intp __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; Py_ssize_t __pyx_t_26; Py_ssize_t __pyx_t_27; Py_ssize_t __pyx_t_28; @@ -7671,7 +7646,7 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("median_2d_float64_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -7686,35 +7661,35 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "median.pyx":578 - * def median_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Median of 2d array with dtype=int32 along axis=0." + /* "median.pyx":584 + * def median_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Median of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp, amax, ai - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp, amax, ai + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; - /* "median.pyx":580 + /* "median.pyx":586 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int32_t x, tmp, amax, ai - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp, amax, ai + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -7722,7 +7697,7 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":583 + /* "median.pyx":589 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7731,50 +7706,50 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "median.pyx":584 + /* "median.pyx":590 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "median.pyx":585 + /* "median.pyx":591 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "median.pyx":586 + /* "median.pyx":592 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) */ - __pyx_t_3[0] = __pyx_v_n1; + __pyx_t_3[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_3; - /* "median.pyx":587 + /* "median.pyx":593 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) - * if n0 == 0: + * if n1 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -7782,34 +7757,34 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":589 + /* "median.pyx":595 * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y */ - __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_5) { - /* "median.pyx":590 + /* "median.pyx":596 * NPY_float64, 0) - * if n0 == 0: + * if n1 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y - * for i1 in range(n1): + * for i0 in range(n0): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":591 - * if n0 == 0: + /* "median.pyx":597 + * if n1 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< - * for i1 in range(n1): - * k = n0 >> 1 + * for i0 in range(n0): + * k = n1 >> 1 */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -7817,179 +7792,179 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject goto __pyx_L0; } - /* "median.pyx":592 + /* "median.pyx":598 * PyArray_FillWithScalar(y, NAN) * return y - * for i1 in range(n1): # <<<<<<<<<<<<<< - * k = n0 >> 1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * k = n1 >> 1 * l = 0 */ - __pyx_t_6 = __pyx_v_n1; + __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_v_i0 = __pyx_t_7; - /* "median.pyx":593 + /* "median.pyx":599 * return y - * for i1 in range(n1): - * k = n0 >> 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * k = n1 >> 1 # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_v_k = (__pyx_v_n0 >> 1); + __pyx_v_k = (__pyx_v_n1 >> 1); - /* "median.pyx":594 - * for i1 in range(n1): - * k = n0 >> 1 + /* "median.pyx":600 + * for i0 in range(n0): + * k = n1 >> 1 * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "median.pyx":595 - * k = n0 >> 1 + /* "median.pyx":601 + * k = n1 >> 1 * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "median.pyx":596 + /* "median.pyx":602 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_5) break; - /* "median.pyx":597 - * r = n0 - 1 + /* "median.pyx":603 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":598 + /* "median.pyx":604 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "median.pyx":599 - * x = b[k, i1] + /* "median.pyx":605 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "median.pyx":600 + /* "median.pyx":606 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "median.pyx":601 + /* "median.pyx":607 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_10 = __pyx_v_i; - __pyx_t_11 = __pyx_v_i1; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i; + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "median.pyx":602 + /* "median.pyx":608 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_j; + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "median.pyx":603 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "median.pyx":609 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_5) { - /* "median.pyx":604 - * while x < b[j, i1]: j -= 1 + /* "median.pyx":610 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_14 = __pyx_v_i; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":605 + /* "median.pyx":611 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp * i += 1 */ - __pyx_t_16 = __pyx_v_j; - __pyx_t_17 = __pyx_v_i1; - __pyx_t_18 = __pyx_v_i; - __pyx_t_19 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":606 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":612 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_20 = __pyx_v_j; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "median.pyx":607 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "median.pyx":613 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":608 - * b[j, i1] = tmp + /* "median.pyx":614 + * b[i0, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -8000,7 +7975,7 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject } __pyx_L14:; - /* "median.pyx":609 + /* "median.pyx":615 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -8014,12 +7989,12 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject } __pyx_L9_break:; - /* "median.pyx":610 + /* "median.pyx":616 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n0 % 2 == 0: + * if n1 % 2 == 0: */ __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); if (__pyx_t_5) { @@ -8028,12 +8003,12 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject } __pyx_L16:; - /* "median.pyx":611 + /* "median.pyx":617 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< - * if n0 % 2 == 0: - * amax = MINint32 + * if n1 % 2 == 0: + * amax = MINfloat64 */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -8043,62 +8018,62 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_L17:; } - /* "median.pyx":612 + /* "median.pyx":618 * if j < k: l = i * if k < i: r = j - * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint32 + * if n1 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINfloat64 * for i in range(k): */ - __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); + __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); if (__pyx_t_5) { - /* "median.pyx":613 + /* "median.pyx":619 * if k < i: r = j - * if n0 % 2 == 0: - * amax = MINint32 # <<<<<<<<<<<<<< + * if n1 % 2 == 0: + * amax = MINfloat64 # <<<<<<<<<<<<<< * for i in range(k): - * ai = b[i, i1] + * ai = b[i0, i] */ - __pyx_v_amax = __pyx_v_6median_MINint32; + __pyx_v_amax = __pyx_v_6median_MINfloat64; - /* "median.pyx":614 - * if n0 % 2 == 0: - * amax = MINint32 + /* "median.pyx":620 + * if n1 % 2 == 0: + * amax = MINfloat64 * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i, i1] + * ai = b[i0, i] * if ai >= amax: */ __pyx_t_22 = __pyx_v_k; for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { __pyx_v_i = __pyx_t_23; - /* "median.pyx":615 - * amax = MINint32 + /* "median.pyx":621 + * amax = MINfloat64 * for i in range(k): - * ai = b[i, i1] # <<<<<<<<<<<<<< + * ai = b[i0, i] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":616 + /* "median.pyx":622 * for i in range(k): - * ai = b[i, i1] + * ai = b[i0, i] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i1] = 0.5 * (b[k, i1] + amax) + * y[i0] = 0.5 * (b[i0, k] + amax) */ __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_5) { - /* "median.pyx":617 - * ai = b[i, i1] + /* "median.pyx":623 + * ai = b[i0, i] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i1] = 0.5 * (b[k, i1] + amax) + * y[i0] = 0.5 * (b[i0, k] + amax) * else: */ __pyx_v_amax = __pyx_v_ai; @@ -8107,39 +8082,39 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_L21:; } - /* "median.pyx":618 + /* "median.pyx":624 * if ai >= amax: * amax = ai - * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< + * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< * else: - * y[i1] = b[k, i1] + * y[i0] = b[i0, k] */ + __pyx_t_26 = __pyx_v_i0; __pyx_t_22 = __pyx_v_k; - __pyx_t_26 = __pyx_v_i1; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + __pyx_t_27 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { - /* "median.pyx":620 - * y[i1] = 0.5 * (b[k, i1] + amax) + /* "median.pyx":626 + * y[i0] = 0.5 * (b[i0, k] + amax) * else: - * y[i1] = b[k, i1] # <<<<<<<<<<<<<< + * y[i0] = b[i0, k] # <<<<<<<<<<<<<< * return y * */ + __pyx_t_28 = __pyx_v_i0; __pyx_t_23 = __pyx_v_k; - __pyx_t_28 = __pyx_v_i1; - __pyx_t_29 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides))); + __pyx_t_29 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); } __pyx_L18:; } - /* "median.pyx":621 + /* "median.pyx":627 * else: - * y[i1] = b[k, i1] + * y[i0] = b[i0, k] * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -8149,11 +8124,11 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "median.pyx":576 + /* "median.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int32 along axis=0." + * def median_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -8166,7 +8141,7 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8181,27 +8156,27 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "median.pyx":625 +/* "median.pyx":631 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int32 along axis=1." + * def median_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_23median_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_22median_2d_int32_axis1[] = "median_2d_int32_axis1(ndarray a)\nMedian of 2d array with dtype=int32 along axis=1."; -static PyMethodDef __pyx_mdef_6median_23median_2d_int32_axis1 = {"median_2d_int32_axis1", (PyCFunction)__pyx_pw_6median_23median_2d_int32_axis1, METH_O, __pyx_doc_6median_22median_2d_int32_axis1}; -static PyObject *__pyx_pw_6median_23median_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_23median_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_22median_1d_int_axis0[] = "median_1d_int_axis0(ndarray a)\nMedian of 1d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_6median_23median_1d_int_axis0 = {"median_1d_int_axis0", (PyCFunction)__pyx_pw_6median_23median_1d_int_axis0, METH_O, __pyx_doc_6median_22median_1d_int_axis0}; +static PyObject *__pyx_pw_6median_23median_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_int32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_22median_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("median_1d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6median_22median_1d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8212,568 +8187,593 @@ static PyObject *__pyx_pw_6median_23median_2d_int32_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6median_22median_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_22median_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; - __pyx_t_5numpy_int32_t __pyx_v_amax; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_amax; + __pyx_t_5numpy_int_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; __Pyx_Buffer __pyx_pybuffer_b; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[1]; - PyArrayObject *__pyx_t_4 = NULL; - int __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + npy_intp __pyx_t_8; npy_intp __pyx_t_9; - Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_10; npy_intp __pyx_t_11; - Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_12; npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_14; npy_intp __pyx_t_15; - Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_16; npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - npy_intp __pyx_t_22; - npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; - Py_ssize_t __pyx_t_26; - Py_ssize_t __pyx_t_27; - Py_ssize_t __pyx_t_28; - Py_ssize_t __pyx_t_29; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("median_1d_int_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "median.pyx":627 - * def median_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Median of 2d array with dtype=int32 along axis=1." + /* "median.pyx":633 + * def median_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): + * "Median of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp, amax, ai - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int_t x, tmp, amax, ai + * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; - /* "median.pyx":629 + /* "median.pyx":635 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int32_t x, tmp, amax, ai - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.int_t x, tmp, amax, ai + * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":632 - * cdef Py_ssize_t i0, i1 + /* "median.pyx":638 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "median.pyx":633 + /* "median.pyx":639 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 == 0: + * return np.float64(NAN) */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "median.pyx":634 + /* "median.pyx":640 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * k = n0 >> 1 */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_3) { - /* "median.pyx":635 + /* "median.pyx":641 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - */ - __pyx_t_3[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_3; - - /* "median.pyx":636 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: - */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_4 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "median.pyx":638 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * return y - */ - __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_5) { - - /* "median.pyx":639 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * return y - * for i0 in range(n0): - */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "median.pyx":640 - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) - * return y # <<<<<<<<<<<<<< - * for i0 in range(n0): - * k = n1 >> 1 + * if n0 == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * k = n0 >> 1 + * l = 0 */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_6) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else { + __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; + PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; goto __pyx_L0; } - /* "median.pyx":641 - * PyArray_FillWithScalar(y, NAN) - * return y - * for i0 in range(n0): # <<<<<<<<<<<<<< - * k = n1 >> 1 - * l = 0 + /* "median.pyx":642 + * if n0 == 0: + * return np.float64(NAN) + * k = n0 >> 1 # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_v_k = (__pyx_v_n0 >> 1); - /* "median.pyx":642 - * return y - * for i0 in range(n0): - * k = n1 >> 1 # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + /* "median.pyx":643 + * return np.float64(NAN) + * k = n0 >> 1 + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_v_k = (__pyx_v_n1 >> 1); + __pyx_v_l = 0; - /* "median.pyx":643 - * for i0 in range(n0): - * k = n1 >> 1 - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 + /* "median.pyx":644 + * k = n0 >> 1 + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: * while l < r: */ - __pyx_v_l = 0; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "median.pyx":644 - * k = n1 >> 1 - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< + /* "median.pyx":645 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< * while l < r: - * x = b[i0, k] + * x = b[k] */ - __pyx_v_r = (__pyx_v_n1 - 1); + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { - /* "median.pyx":645 - * l = 0 - * r = n1 - 1 + /* "median.pyx":646 + * r = n0 - 1 + * with nogil: * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] + * x = b[k] * i = l */ - while (1) { - __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_5) break; + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "median.pyx":646 - * r = n1 - 1 + /* "median.pyx":647 + * with nogil: * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< + * x = b[k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":647 + /* "median.pyx":648 * while l < r: - * x = b[i0, k] + * x = b[k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "median.pyx":648 - * x = b[i0, k] + /* "median.pyx":649 + * x = b[k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i0, i] < x: i += 1 + * while b[i] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "median.pyx":649 + /* "median.pyx":650 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ - while (1) { + while (1) { - /* "median.pyx":650 + /* "median.pyx":651 * j = r * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_5) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_9 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "median.pyx":651 + /* "median.pyx":652 * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i0, i] + * tmp = b[i] */ - while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_j; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_5) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_10 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "median.pyx":652 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "median.pyx":653 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * tmp = b[i] + * b[i] = b[j] */ - __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_5) { + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "median.pyx":653 - * while x < b[i0, j]: j -= 1 + /* "median.pyx":654 + * while x < b[j]: j -= 1 * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_11 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":654 + /* "median.pyx":655 * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp * i += 1 */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":655 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":656 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_14 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "median.pyx":656 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "median.pyx":657 + * b[i] = b[j] + * b[j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":657 - * b[i0, j] = tmp + /* "median.pyx":658 + * b[j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L14; - } - __pyx_L14:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L15; + } + __pyx_L15:; - /* "median.pyx":658 + /* "median.pyx":659 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_5 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_5) { - goto __pyx_L9_break; - } - } - __pyx_L9_break:; + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L10_break; + } + } + __pyx_L10_break:; - /* "median.pyx":659 + /* "median.pyx":660 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n1 % 2 == 0: + * if n0 % 2 == 0: */ - __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_5) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L16; - } - __pyx_L16:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L17; + } + __pyx_L17:; - /* "median.pyx":660 + /* "median.pyx":661 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< - * if n1 % 2 == 0: - * amax = MINint32 + * if n0 % 2 == 0: + * amax = MINint */ - __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_5) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L17; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L18; + } + __pyx_L18:; + } } - __pyx_L17:; - } - /* "median.pyx":661 + /* "median.pyx":645 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] + */ + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L6; + } + __pyx_L6:; + } + } + + /* "median.pyx":662 * if j < k: l = i * if k < i: r = j - * if n1 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint32 - * for i in range(k): + * if n0 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINint + * for i in range(k): */ - __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); - if (__pyx_t_5) { + __pyx_t_3 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); + if (__pyx_t_3) { - /* "median.pyx":662 + /* "median.pyx":663 * if k < i: r = j - * if n1 % 2 == 0: - * amax = MINint32 # <<<<<<<<<<<<<< - * for i in range(k): - * ai = b[i0, i] + * if n0 % 2 == 0: + * amax = MINint # <<<<<<<<<<<<<< + * for i in range(k): + * ai = b[i] */ - __pyx_v_amax = __pyx_v_6median_MINint32; + __pyx_v_amax = __pyx_v_6median_MINint; - /* "median.pyx":663 - * if n1 % 2 == 0: - * amax = MINint32 - * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i0, i] - * if ai >= amax: + /* "median.pyx":664 + * if n0 % 2 == 0: + * amax = MINint + * for i in range(k): # <<<<<<<<<<<<<< + * ai = b[i] + * if ai >= amax: */ - __pyx_t_22 = __pyx_v_k; - for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { - __pyx_v_i = __pyx_t_23; + __pyx_t_15 = __pyx_v_k; + for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) { + __pyx_v_i = __pyx_t_16; - /* "median.pyx":664 - * amax = MINint32 - * for i in range(k): - * ai = b[i0, i] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "median.pyx":665 + * amax = MINint + * for i in range(k): + * ai = b[i] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_17 = __pyx_v_i; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":665 - * for i in range(k): - * ai = b[i0, i] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * y[i0] = 0.5 * (b[i0, k] + amax) + /* "median.pyx":666 + * for i in range(k): + * ai = b[i] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * return np.float64(0.5 * (b[k] + amax)) */ - __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_5) { + __pyx_t_3 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_3) { - /* "median.pyx":666 - * ai = b[i0, i] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * y[i0] = 0.5 * (b[i0, k] + amax) - * else: + /* "median.pyx":667 + * ai = b[i] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * return np.float64(0.5 * (b[k] + amax)) + * else: */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L21; - } - __pyx_L21:; + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L22; } - - /* "median.pyx":667 - * if ai >= amax: - * amax = ai - * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< - * else: - * y[i0] = b[i0, k] - */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_22 = __pyx_v_k; - __pyx_t_27 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); - goto __pyx_L18; + __pyx_L22:; } - /*else*/ { - /* "median.pyx":669 - * y[i0] = 0.5 * (b[i0, k] + amax) - * else: - * y[i0] = b[i0, k] # <<<<<<<<<<<<<< - * return y - * + /* "median.pyx":668 + * if ai >= amax: + * amax = ai + * return np.float64(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< + * else: + * return np.float64(b[k]) */ - __pyx_t_28 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_k; - __pyx_t_29 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides))); + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_15 = __pyx_v_k; + __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } } - __pyx_L18:; + if (!__pyx_t_4) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; } + /*else*/ { - /* "median.pyx":670 - * else: - * y[i0] = b[i0, k] - * return y # <<<<<<<<<<<<<< + /* "median.pyx":670 + * return np.float64(0.5 * (b[k] + amax)) + * else: + * return np.float64(b[k]) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_16 = __pyx_v_k; + __pyx_t_7 = __Pyx_PyInt_From_npy_long((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_5) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else { + __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + } - /* "median.pyx":625 + /* "median.pyx":631 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int32 along axis=1." + * def median_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_b); - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -8782,24 +8782,24 @@ static PyObject *__pyx_pf_6median_22median_2d_int32_axis1(CYTHON_UNUSED PyObject /* "median.pyx":674 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int64 along axis=0." + * def median_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_25median_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_24median_2d_int64_axis0[] = "median_2d_int64_axis0(ndarray a)\nMedian of 2d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_6median_25median_2d_int64_axis0 = {"median_2d_int64_axis0", (PyCFunction)__pyx_pw_6median_25median_2d_int64_axis0, METH_O, __pyx_doc_6median_24median_2d_int64_axis0}; -static PyObject *__pyx_pw_6median_25median_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_25median_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_24median_1d_int8_axis0[] = "median_1d_int8_axis0(ndarray a)\nMedian of 1d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_6median_25median_1d_int8_axis0 = {"median_1d_int8_axis0", (PyCFunction)__pyx_pw_6median_25median_1d_int8_axis0, METH_O, __pyx_doc_6median_24median_1d_int8_axis0}; +static PyObject *__pyx_pw_6median_25median_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_1d_int8_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_24median_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_24median_1d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8810,96 +8810,74 @@ static PyObject *__pyx_pw_6median_25median_2d_int64_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6median_24median_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_24median_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; - __pyx_t_5numpy_int64_t __pyx_v_amax; - __pyx_t_5numpy_int64_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_amax; + __pyx_t_5numpy_int8_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; __Pyx_Buffer __pyx_pybuffer_b; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[1]; - PyArrayObject *__pyx_t_4 = NULL; - int __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; npy_intp __pyx_t_8; - Py_ssize_t __pyx_t_9; + npy_intp __pyx_t_9; npy_intp __pyx_t_10; - Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_11; npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; + npy_intp __pyx_t_13; npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; + npy_intp __pyx_t_15; npy_intp __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - npy_intp __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; - Py_ssize_t __pyx_t_26; - Py_ssize_t __pyx_t_27; - Py_ssize_t __pyx_t_28; - Py_ssize_t __pyx_t_29; + npy_intp __pyx_t_17; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_int64_axis0", 0); + __Pyx_RefNannySetupContext("median_1d_int8_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "median.pyx":676 - * def median_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Median of 2d array with dtype=int64 along axis=0." + * def median_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): + * "Median of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp, amax, ai - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp, amax, ai + * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":678 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int64_t x, tmp, amax, ai - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.int8_t x, tmp, amax, ai + * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -8908,10 +8886,10 @@ static PyObject *__pyx_pf_6median_24median_2d_int64_axis0(CYTHON_UNUSED PyObject __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; @@ -8919,11 +8897,11 @@ static PyObject *__pyx_pf_6median_24median_2d_int64_axis0(CYTHON_UNUSED PyObject __pyx_t_1 = 0; /* "median.pyx":681 - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); @@ -8931,473 +8909,520 @@ static PyObject *__pyx_pf_6median_24median_2d_int64_axis0(CYTHON_UNUSED PyObject * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 == 0: + * return np.float64(NAN) */ __pyx_v_n0 = (__pyx_v_dim[0]); /* "median.pyx":683 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "median.pyx":684 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - */ - __pyx_t_3[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_3; - - /* "median.pyx":685 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: - */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_4 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "median.pyx":687 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * return y - */ - __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_5) { - - /* "median.pyx":688 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * return y - * for i1 in range(n1): + * return np.float64(NAN) + * k = n0 >> 1 */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_3) { - /* "median.pyx":689 + /* "median.pyx":684 + * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) - * return y # <<<<<<<<<<<<<< - * for i1 in range(n1): - * k = n0 >> 1 + * return np.float64(NAN) # <<<<<<<<<<<<<< + * k = n0 >> 1 + * l = 0 */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_6) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else { + __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; + PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; goto __pyx_L0; } - /* "median.pyx":690 - * PyArray_FillWithScalar(y, NAN) - * return y - * for i1 in range(n1): # <<<<<<<<<<<<<< - * k = n0 >> 1 - * l = 0 + /* "median.pyx":685 + * if n0 == 0: + * return np.float64(NAN) + * k = n0 >> 1 # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_v_k = (__pyx_v_n0 >> 1); - /* "median.pyx":691 - * return y - * for i1 in range(n1): - * k = n0 >> 1 # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + /* "median.pyx":686 + * return np.float64(NAN) + * k = n0 >> 1 + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_v_k = (__pyx_v_n0 >> 1); + __pyx_v_l = 0; - /* "median.pyx":692 - * for i1 in range(n1): - * k = n0 >> 1 - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + /* "median.pyx":687 + * k = n0 >> 1 + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: * while l < r: */ - __pyx_v_l = 0; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "median.pyx":693 - * k = n0 >> 1 - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + /* "median.pyx":688 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { - /* "median.pyx":694 - * l = 0 - * r = n0 - 1 + /* "median.pyx":689 + * r = n0 - 1 + * with nogil: * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[k] * i = l */ - while (1) { - __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_5) break; + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "median.pyx":695 - * r = n0 - 1 + /* "median.pyx":690 + * with nogil: * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":696 + /* "median.pyx":691 * while l < r: - * x = b[k, i1] + * x = b[k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "median.pyx":697 - * x = b[k, i1] + /* "median.pyx":692 + * x = b[k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "median.pyx":698 + /* "median.pyx":693 * i = l * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while 1: # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ - while (1) { + while (1) { - /* "median.pyx":699 + /* "median.pyx":694 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_10 = __pyx_v_i; - __pyx_t_11 = __pyx_v_i1; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_5) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_9 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "median.pyx":700 + /* "median.pyx":695 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i] */ - while (1) { - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_5) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_10 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "median.pyx":701 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "median.pyx":696 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i] + * b[i] = b[j] */ - __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_5) { + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "median.pyx":702 - * while x < b[j, i1]: j -= 1 + /* "median.pyx":697 + * while x < b[j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_14 = __pyx_v_i; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_11 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":703 + /* "median.pyx":698 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp * i += 1 */ - __pyx_t_16 = __pyx_v_j; - __pyx_t_17 = __pyx_v_i1; - __pyx_t_18 = __pyx_v_i; - __pyx_t_19 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":704 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":699 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_20 = __pyx_v_j; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_14 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "median.pyx":705 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "median.pyx":700 + * b[i] = b[j] + * b[j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":706 - * b[j, i1] = tmp + /* "median.pyx":701 + * b[j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L14; - } - __pyx_L14:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L15; + } + __pyx_L15:; - /* "median.pyx":707 + /* "median.pyx":702 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_5 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_5) { - goto __pyx_L9_break; - } - } - __pyx_L9_break:; + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L10_break; + } + } + __pyx_L10_break:; - /* "median.pyx":708 + /* "median.pyx":703 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n0 % 2 == 0: + * if n0 % 2 == 0: */ - __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_5) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L16; - } - __pyx_L16:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L17; + } + __pyx_L17:; - /* "median.pyx":709 + /* "median.pyx":704 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< - * if n0 % 2 == 0: - * amax = MINint64 + * if n0 % 2 == 0: + * amax = MINint8 */ - __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_5) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L17; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L18; + } + __pyx_L18:; + } } - __pyx_L17:; - } - /* "median.pyx":710 + /* "median.pyx":688 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] + */ + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L6; + } + __pyx_L6:; + } + } + + /* "median.pyx":705 * if j < k: l = i * if k < i: r = j - * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint64 - * for i in range(k): + * if n0 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINint8 + * for i in range(k): */ - __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); - if (__pyx_t_5) { + __pyx_t_3 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); + if (__pyx_t_3) { - /* "median.pyx":711 + /* "median.pyx":706 * if k < i: r = j - * if n0 % 2 == 0: - * amax = MINint64 # <<<<<<<<<<<<<< - * for i in range(k): - * ai = b[i, i1] + * if n0 % 2 == 0: + * amax = MINint8 # <<<<<<<<<<<<<< + * for i in range(k): + * ai = b[i] */ - __pyx_v_amax = __pyx_v_6median_MINint64; + __pyx_v_amax = __pyx_v_6median_MINint8; - /* "median.pyx":712 - * if n0 % 2 == 0: - * amax = MINint64 - * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i, i1] - * if ai >= amax: + /* "median.pyx":707 + * if n0 % 2 == 0: + * amax = MINint8 + * for i in range(k): # <<<<<<<<<<<<<< + * ai = b[i] + * if ai >= amax: */ - __pyx_t_22 = __pyx_v_k; - for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { - __pyx_v_i = __pyx_t_23; + __pyx_t_15 = __pyx_v_k; + for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) { + __pyx_v_i = __pyx_t_16; - /* "median.pyx":713 - * amax = MINint64 - * for i in range(k): - * ai = b[i, i1] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "median.pyx":708 + * amax = MINint8 + * for i in range(k): + * ai = b[i] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_17 = __pyx_v_i; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":714 - * for i in range(k): - * ai = b[i, i1] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * y[i1] = 0.5 * (b[k, i1] + amax) + /* "median.pyx":709 + * for i in range(k): + * ai = b[i] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * return np.float64(0.5 * (b[k] + amax)) */ - __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_5) { + __pyx_t_3 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_3) { - /* "median.pyx":715 - * ai = b[i, i1] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * y[i1] = 0.5 * (b[k, i1] + amax) - * else: + /* "median.pyx":710 + * ai = b[i] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * return np.float64(0.5 * (b[k] + amax)) + * else: */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L21; - } - __pyx_L21:; + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L22; } - - /* "median.pyx":716 - * if ai >= amax: - * amax = ai - * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< - * else: - * y[i1] = b[k, i1] - */ - __pyx_t_22 = __pyx_v_k; - __pyx_t_26 = __pyx_v_i1; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); - goto __pyx_L18; + __pyx_L22:; } - /*else*/ { - /* "median.pyx":718 - * y[i1] = 0.5 * (b[k, i1] + amax) - * else: - * y[i1] = b[k, i1] # <<<<<<<<<<<<<< - * return y - * + /* "median.pyx":711 + * if ai >= amax: + * amax = ai + * return np.float64(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< + * else: + * return np.float64(b[k]) */ - __pyx_t_23 = __pyx_v_k; - __pyx_t_28 = __pyx_v_i1; - __pyx_t_29 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides))); + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_15 = __pyx_v_k; + __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } } - __pyx_L18:; + if (!__pyx_t_4) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; } + /*else*/ { - /* "median.pyx":719 - * else: - * y[i1] = b[k, i1] - * return y # <<<<<<<<<<<<<< + /* "median.pyx":713 + * return np.float64(0.5 * (b[k] + amax)) + * else: + * return np.float64(b[k]) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_16 = __pyx_v_k; + __pyx_t_7 = __Pyx_PyInt_From_npy_int8((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_5) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else { + __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + } /* "median.pyx":674 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int64 along axis=0." + * def median_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_b); - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "median.pyx":723 +/* "median.pyx":717 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int64 along axis=1." + * def median_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_27median_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_26median_2d_int64_axis1[] = "median_2d_int64_axis1(ndarray a)\nMedian of 2d array with dtype=int64 along axis=1."; -static PyMethodDef __pyx_mdef_6median_27median_2d_int64_axis1 = {"median_2d_int64_axis1", (PyCFunction)__pyx_pw_6median_27median_2d_int64_axis1, METH_O, __pyx_doc_6median_26median_2d_int64_axis1}; -static PyObject *__pyx_pw_6median_27median_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_27median_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_26median_1d_int32_axis0[] = "median_1d_int32_axis0(ndarray a)\nMedian of 1d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_6median_27median_1d_int32_axis0 = {"median_1d_int32_axis0", (PyCFunction)__pyx_pw_6median_27median_1d_int32_axis0, METH_O, __pyx_doc_6median_26median_1d_int32_axis0}; +static PyObject *__pyx_pw_6median_27median_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_26median_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("median_1d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6median_26median_1d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9408,594 +9433,619 @@ static PyObject *__pyx_pw_6median_27median_2d_int64_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6median_26median_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_26median_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; - __pyx_t_5numpy_int64_t __pyx_v_amax; - __pyx_t_5numpy_int64_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_amax; + __pyx_t_5numpy_int32_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; __Pyx_Buffer __pyx_pybuffer_b; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[1]; - PyArrayObject *__pyx_t_4 = NULL; - int __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + npy_intp __pyx_t_8; npy_intp __pyx_t_9; - Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_10; npy_intp __pyx_t_11; - Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_12; npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_14; npy_intp __pyx_t_15; - Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_16; npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - npy_intp __pyx_t_22; - npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; - Py_ssize_t __pyx_t_26; - Py_ssize_t __pyx_t_27; - Py_ssize_t __pyx_t_28; - Py_ssize_t __pyx_t_29; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_int64_axis1", 0); + __Pyx_RefNannySetupContext("median_1d_int32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "median.pyx":725 - * def median_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Median of 2d array with dtype=int64 along axis=1." + /* "median.pyx":719 + * def median_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): + * "Median of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp, amax, ai - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp, amax, ai + * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; - /* "median.pyx":727 + /* "median.pyx":721 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int64_t x, tmp, amax, ai - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.int32_t x, tmp, amax, ai + * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":730 - * cdef Py_ssize_t i0, i1 + /* "median.pyx":724 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "median.pyx":731 + /* "median.pyx":725 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "median.pyx":732 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "median.pyx":733 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - */ - __pyx_t_3[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_3; - - /* "median.pyx":734 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: - */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_4 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "median.pyx":736 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * return y - */ - __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_5) { + * if n0 == 0: + * return np.float64(NAN) + */ + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "median.pyx":737 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * return y - * for i0 in range(n0): + /* "median.pyx":726 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * k = n0 >> 1 */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_3) { - /* "median.pyx":738 - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) - * return y # <<<<<<<<<<<<<< - * for i0 in range(n0): - * k = n1 >> 1 + /* "median.pyx":727 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * k = n0 >> 1 + * l = 0 */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_6) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else { + __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; + PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; goto __pyx_L0; } - /* "median.pyx":739 - * PyArray_FillWithScalar(y, NAN) - * return y - * for i0 in range(n0): # <<<<<<<<<<<<<< - * k = n1 >> 1 - * l = 0 + /* "median.pyx":728 + * if n0 == 0: + * return np.float64(NAN) + * k = n0 >> 1 # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_v_k = (__pyx_v_n0 >> 1); - /* "median.pyx":740 - * return y - * for i0 in range(n0): - * k = n1 >> 1 # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + /* "median.pyx":729 + * return np.float64(NAN) + * k = n0 >> 1 + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_v_k = (__pyx_v_n1 >> 1); + __pyx_v_l = 0; - /* "median.pyx":741 - * for i0 in range(n0): - * k = n1 >> 1 - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 + /* "median.pyx":730 + * k = n0 >> 1 + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: * while l < r: */ - __pyx_v_l = 0; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "median.pyx":742 - * k = n1 >> 1 - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< + /* "median.pyx":731 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< * while l < r: - * x = b[i0, k] + * x = b[k] */ - __pyx_v_r = (__pyx_v_n1 - 1); + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { - /* "median.pyx":743 - * l = 0 - * r = n1 - 1 + /* "median.pyx":732 + * r = n0 - 1 + * with nogil: * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] + * x = b[k] * i = l */ - while (1) { - __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_5) break; + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "median.pyx":744 - * r = n1 - 1 + /* "median.pyx":733 + * with nogil: * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< + * x = b[k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":745 + /* "median.pyx":734 * while l < r: - * x = b[i0, k] + * x = b[k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "median.pyx":746 - * x = b[i0, k] + /* "median.pyx":735 + * x = b[k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i0, i] < x: i += 1 + * while b[i] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "median.pyx":747 + /* "median.pyx":736 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ - while (1) { + while (1) { - /* "median.pyx":748 + /* "median.pyx":737 * j = r * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_5) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_9 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "median.pyx":749 + /* "median.pyx":738 * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i0, i] + * tmp = b[i] */ - while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_j; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_5) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_10 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "median.pyx":750 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "median.pyx":739 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * tmp = b[i] + * b[i] = b[j] */ - __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_5) { + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "median.pyx":751 - * while x < b[i0, j]: j -= 1 + /* "median.pyx":740 + * while x < b[j]: j -= 1 * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_11 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":752 + /* "median.pyx":741 * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp * i += 1 */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":753 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":742 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_14 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "median.pyx":754 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "median.pyx":743 + * b[i] = b[j] + * b[j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":755 - * b[i0, j] = tmp + /* "median.pyx":744 + * b[j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L14; - } - __pyx_L14:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L15; + } + __pyx_L15:; - /* "median.pyx":756 + /* "median.pyx":745 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_5 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_5) { - goto __pyx_L9_break; - } - } - __pyx_L9_break:; + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L10_break; + } + } + __pyx_L10_break:; - /* "median.pyx":757 + /* "median.pyx":746 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n1 % 2 == 0: + * if n0 % 2 == 0: */ - __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_5) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L16; - } - __pyx_L16:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L17; + } + __pyx_L17:; - /* "median.pyx":758 + /* "median.pyx":747 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< - * if n1 % 2 == 0: - * amax = MINint64 + * if n0 % 2 == 0: + * amax = MINint32 */ - __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_5) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L17; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L18; + } + __pyx_L18:; + } } - __pyx_L17:; - } - /* "median.pyx":759 + /* "median.pyx":731 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] + */ + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L6; + } + __pyx_L6:; + } + } + + /* "median.pyx":748 * if j < k: l = i * if k < i: r = j - * if n1 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint64 - * for i in range(k): + * if n0 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINint32 + * for i in range(k): */ - __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); - if (__pyx_t_5) { + __pyx_t_3 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); + if (__pyx_t_3) { - /* "median.pyx":760 + /* "median.pyx":749 * if k < i: r = j - * if n1 % 2 == 0: - * amax = MINint64 # <<<<<<<<<<<<<< - * for i in range(k): - * ai = b[i0, i] + * if n0 % 2 == 0: + * amax = MINint32 # <<<<<<<<<<<<<< + * for i in range(k): + * ai = b[i] */ - __pyx_v_amax = __pyx_v_6median_MINint64; + __pyx_v_amax = __pyx_v_6median_MINint32; - /* "median.pyx":761 - * if n1 % 2 == 0: - * amax = MINint64 - * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i0, i] - * if ai >= amax: + /* "median.pyx":750 + * if n0 % 2 == 0: + * amax = MINint32 + * for i in range(k): # <<<<<<<<<<<<<< + * ai = b[i] + * if ai >= amax: */ - __pyx_t_22 = __pyx_v_k; - for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { - __pyx_v_i = __pyx_t_23; + __pyx_t_15 = __pyx_v_k; + for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) { + __pyx_v_i = __pyx_t_16; - /* "median.pyx":762 - * amax = MINint64 - * for i in range(k): - * ai = b[i0, i] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "median.pyx":751 + * amax = MINint32 + * for i in range(k): + * ai = b[i] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_17 = __pyx_v_i; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":763 - * for i in range(k): - * ai = b[i0, i] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * y[i0] = 0.5 * (b[i0, k] + amax) + /* "median.pyx":752 + * for i in range(k): + * ai = b[i] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * return np.float64(0.5 * (b[k] + amax)) */ - __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_5) { + __pyx_t_3 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_3) { - /* "median.pyx":764 - * ai = b[i0, i] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * y[i0] = 0.5 * (b[i0, k] + amax) - * else: + /* "median.pyx":753 + * ai = b[i] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * return np.float64(0.5 * (b[k] + amax)) + * else: */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L21; - } - __pyx_L21:; + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L22; } - - /* "median.pyx":765 - * if ai >= amax: - * amax = ai - * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< - * else: - * y[i0] = b[i0, k] - */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_22 = __pyx_v_k; - __pyx_t_27 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); - goto __pyx_L18; + __pyx_L22:; } - /*else*/ { - /* "median.pyx":767 - * y[i0] = 0.5 * (b[i0, k] + amax) - * else: - * y[i0] = b[i0, k] # <<<<<<<<<<<<<< - * return y - * + /* "median.pyx":754 + * if ai >= amax: + * amax = ai + * return np.float64(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< + * else: + * return np.float64(b[k]) */ - __pyx_t_28 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_k; - __pyx_t_29 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides))); + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_15 = __pyx_v_k; + __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } } - __pyx_L18:; + if (!__pyx_t_4) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; } + /*else*/ { - /* "median.pyx":768 - * else: - * y[i0] = b[i0, k] - * return y # <<<<<<<<<<<<<< + /* "median.pyx":756 + * return np.float64(0.5 * (b[k] + amax)) + * else: + * return np.float64(b[k]) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_16 = __pyx_v_k; + __pyx_t_7 = __Pyx_PyInt_From_npy_int32((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_5) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else { + __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + } - /* "median.pyx":723 + /* "median.pyx":717 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int64 along axis=1." + * def median_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_b); - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "median.pyx":772 +/* "median.pyx":760 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float along axis=0." + * def median_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_29median_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_28median_1d_float_axis0[] = "median_1d_float_axis0(ndarray a)\nMedian of 1d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_6median_29median_1d_float_axis0 = {"median_1d_float_axis0", (PyCFunction)__pyx_pw_6median_29median_1d_float_axis0, METH_O, __pyx_doc_6median_28median_1d_float_axis0}; -static PyObject *__pyx_pw_6median_29median_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_29median_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_28median_1d_int64_axis0[] = "median_1d_int64_axis0(ndarray a)\nMedian of 1d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_6median_29median_1d_int64_axis0 = {"median_1d_int64_axis0", (PyCFunction)__pyx_pw_6median_29median_1d_int64_axis0, METH_O, __pyx_doc_6median_28median_1d_int64_axis0}; +static PyObject *__pyx_pw_6median_29median_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_1d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_28median_1d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("median_1d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6median_28median_1d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10006,16 +10056,16 @@ static PyObject *__pyx_pw_6median_29median_1d_float_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_28median_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; - __pyx_t_5numpy_float_t __pyx_v_amax; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_amax; + __pyx_t_5numpy_int64_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -10045,7 +10095,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_1d_float_axis0", 0); + __Pyx_RefNannySetupContext("median_1d_int64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -10056,35 +10106,35 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "median.pyx":774 - * def median_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): - * "Median of 1d array with dtype=float along axis=0." + /* "median.pyx":762 + * def median_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): + * "Median of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp, amax, ai - * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp, amax, ai + * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; - /* "median.pyx":776 + /* "median.pyx":764 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.float_t x, tmp, amax, ai - * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp, amax, ai + * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } @@ -10092,7 +10142,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":779 + /* "median.pyx":767 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10101,39 +10151,39 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "median.pyx":780 + /* "median.pyx":768 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * if n0 == 0: - * return np.float(NAN) + * return np.float64(NAN) */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "median.pyx":781 + /* "median.pyx":769 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< - * return np.float(NAN) + * return np.float64(NAN) * k = n0 >> 1 */ __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "median.pyx":782 + /* "median.pyx":770 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * k = n0 >> 1 * l = 0 */ __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { @@ -10146,17 +10196,17 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject } } if (!__pyx_t_6) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else { - __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } @@ -10166,17 +10216,17 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject goto __pyx_L0; } - /* "median.pyx":783 + /* "median.pyx":771 * if n0 == 0: - * return np.float(NAN) + * return np.float64(NAN) * k = n0 >> 1 # <<<<<<<<<<<<<< * l = 0 * r = n0 - 1 */ __pyx_v_k = (__pyx_v_n0 >> 1); - /* "median.pyx":784 - * return np.float(NAN) + /* "median.pyx":772 + * return np.float64(NAN) * k = n0 >> 1 * l = 0 # <<<<<<<<<<<<<< * r = n0 - 1 @@ -10184,7 +10234,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_v_l = 0; - /* "median.pyx":785 + /* "median.pyx":773 * k = n0 >> 1 * l = 0 * r = n0 - 1 # <<<<<<<<<<<<<< @@ -10193,7 +10243,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_v_r = (__pyx_v_n0 - 1); - /* "median.pyx":786 + /* "median.pyx":774 * l = 0 * r = n0 - 1 * with nogil: # <<<<<<<<<<<<<< @@ -10207,7 +10257,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject #endif /*try:*/ { - /* "median.pyx":787 + /* "median.pyx":775 * r = n0 - 1 * with nogil: * while l < r: # <<<<<<<<<<<<<< @@ -10218,7 +10268,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "median.pyx":788 + /* "median.pyx":776 * with nogil: * while l < r: * x = b[k] # <<<<<<<<<<<<<< @@ -10226,9 +10276,9 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject * j = r */ __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":789 + /* "median.pyx":777 * while l < r: * x = b[k] * i = l # <<<<<<<<<<<<<< @@ -10237,7 +10287,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_v_i = __pyx_v_l; - /* "median.pyx":790 + /* "median.pyx":778 * x = b[k] * i = l * j = r # <<<<<<<<<<<<<< @@ -10246,7 +10296,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_v_j = __pyx_v_r; - /* "median.pyx":791 + /* "median.pyx":779 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -10255,7 +10305,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject */ while (1) { - /* "median.pyx":792 + /* "median.pyx":780 * j = r * while 1: * while b[i] < x: i += 1 # <<<<<<<<<<<<<< @@ -10264,12 +10314,12 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject */ while (1) { __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "median.pyx":793 + /* "median.pyx":781 * while 1: * while b[i] < x: i += 1 * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< @@ -10278,12 +10328,12 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject */ while (1) { __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "median.pyx":794 + /* "median.pyx":782 * while b[i] < x: i += 1 * while x < b[j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -10293,7 +10343,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "median.pyx":795 + /* "median.pyx":783 * while x < b[j]: j -= 1 * if i <= j: * tmp = b[i] # <<<<<<<<<<<<<< @@ -10301,9 +10351,9 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject * b[j] = tmp */ __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":796 + /* "median.pyx":784 * if i <= j: * tmp = b[i] * b[i] = b[j] # <<<<<<<<<<<<<< @@ -10312,9 +10362,9 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_t_12 = __pyx_v_j; __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":797 + /* "median.pyx":785 * tmp = b[i] * b[i] = b[j] * b[j] = tmp # <<<<<<<<<<<<<< @@ -10322,9 +10372,9 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject * j -= 1 */ __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "median.pyx":798 + /* "median.pyx":786 * b[i] = b[j] * b[j] = tmp * i += 1 # <<<<<<<<<<<<<< @@ -10333,7 +10383,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":799 + /* "median.pyx":787 * b[j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -10345,7 +10395,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject } __pyx_L15:; - /* "median.pyx":800 + /* "median.pyx":788 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -10359,7 +10409,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject } __pyx_L10_break:; - /* "median.pyx":801 + /* "median.pyx":789 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -10373,12 +10423,12 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject } __pyx_L17:; - /* "median.pyx":802 + /* "median.pyx":790 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * if n0 % 2 == 0: - * amax = MINfloat + * amax = MINint64 */ __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_3) { @@ -10389,7 +10439,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject } } - /* "median.pyx":786 + /* "median.pyx":774 * l = 0 * r = n0 - 1 * with nogil: # <<<<<<<<<<<<<< @@ -10407,28 +10457,28 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject } } - /* "median.pyx":803 + /* "median.pyx":791 * if j < k: l = i * if k < i: r = j * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINfloat + * amax = MINint64 * for i in range(k): */ __pyx_t_3 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); if (__pyx_t_3) { - /* "median.pyx":804 + /* "median.pyx":792 * if k < i: r = j * if n0 % 2 == 0: - * amax = MINfloat # <<<<<<<<<<<<<< + * amax = MINint64 # <<<<<<<<<<<<<< * for i in range(k): * ai = b[i] */ - __pyx_v_amax = __pyx_v_6median_MINfloat; + __pyx_v_amax = __pyx_v_6median_MINint64; - /* "median.pyx":805 + /* "median.pyx":793 * if n0 % 2 == 0: - * amax = MINfloat + * amax = MINint64 * for i in range(k): # <<<<<<<<<<<<<< * ai = b[i] * if ai >= amax: @@ -10437,31 +10487,31 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) { __pyx_v_i = __pyx_t_16; - /* "median.pyx":806 - * amax = MINfloat + /* "median.pyx":794 + * amax = MINint64 * for i in range(k): * ai = b[i] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ __pyx_t_17 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":807 + /* "median.pyx":795 * for i in range(k): * ai = b[i] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * return np.float(0.5 * (b[k] + amax)) + * return np.float64(0.5 * (b[k] + amax)) */ __pyx_t_3 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_3) { - /* "median.pyx":808 + /* "median.pyx":796 * ai = b[i] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * return np.float(0.5 * (b[k] + amax)) + * return np.float64(0.5 * (b[k] + amax)) * else: */ __pyx_v_amax = __pyx_v_ai; @@ -10470,21 +10520,21 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject __pyx_L22:; } - /* "median.pyx":809 + /* "median.pyx":797 * if ai >= amax: * amax = ai - * return np.float(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< + * return np.float64(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< * else: - * return np.float(b[k]) + * return np.float64(b[k]) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_15 = __pyx_v_k; - __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { @@ -10497,17 +10547,17 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject } } if (!__pyx_t_4) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } @@ -10518,21 +10568,21 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject } /*else*/ { - /* "median.pyx":811 - * return np.float(0.5 * (b[k] + amax)) + /* "median.pyx":799 + * return np.float64(0.5 * (b[k] + amax)) * else: - * return np.float(b[k]) # <<<<<<<<<<<<<< + * return np.float64(b[k]) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyInt_From_npy_int64((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { @@ -10545,17 +10595,17 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject } } if (!__pyx_t_5) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_1); } else { - __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } @@ -10565,11 +10615,11 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject goto __pyx_L0; } - /* "median.pyx":772 + /* "median.pyx":760 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float along axis=0." + * def median_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -10585,7 +10635,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -10598,27 +10648,27 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "median.pyx":815 +/* "median.pyx":803 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float32 along axis=0." + * def median_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_31median_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_30median_1d_float32_axis0[] = "median_1d_float32_axis0(ndarray a)\nMedian of 1d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_6median_31median_1d_float32_axis0 = {"median_1d_float32_axis0", (PyCFunction)__pyx_pw_6median_31median_1d_float32_axis0, METH_O, __pyx_doc_6median_30median_1d_float32_axis0}; -static PyObject *__pyx_pw_6median_31median_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_31median_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_30median_2d_int_axis0[] = "median_2d_int_axis0(ndarray a)\nMedian of 2d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_6median_31median_2d_int_axis0 = {"median_2d_int_axis0", (PyCFunction)__pyx_pw_6median_31median_2d_int_axis0, METH_O, __pyx_doc_6median_30median_2d_int_axis0}; +static PyObject *__pyx_pw_6median_31median_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_1d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_30median_1d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("median_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6median_30median_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10629,619 +10679,594 @@ static PyObject *__pyx_pw_6median_31median_1d_float32_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6median_30median_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_30median_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; - __pyx_t_5numpy_float32_t __pyx_v_amax; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_amax; + __pyx_t_5numpy_int_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; __Pyx_Buffer __pyx_pybuffer_b; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; + npy_intp __pyx_t_3[1]; + PyArrayObject *__pyx_t_4 = NULL; + int __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; npy_intp __pyx_t_8; - npy_intp __pyx_t_9; + Py_ssize_t __pyx_t_9; npy_intp __pyx_t_10; - npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_11; npy_intp __pyx_t_12; - npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_13; npy_intp __pyx_t_14; - npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_15; npy_intp __pyx_t_16; - npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + npy_intp __pyx_t_23; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; + Py_ssize_t __pyx_t_26; + Py_ssize_t __pyx_t_27; + Py_ssize_t __pyx_t_28; + Py_ssize_t __pyx_t_29; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_1d_float32_axis0", 0); + __Pyx_RefNannySetupContext("median_2d_int_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "median.pyx":817 - * def median_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): - * "Median of 1d array with dtype=float32 along axis=0." + /* "median.pyx":805 + * def median_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Median of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp, amax, ai - * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) + * cdef np.int_t x, tmp, amax, ai + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; - /* "median.pyx":819 + /* "median.pyx":807 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.float32_t x, tmp, amax, ai - * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.int_t x, tmp, amax, ai + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":822 - * cdef Py_ssize_t i0 + /* "median.pyx":810 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "median.pyx":823 + /* "median.pyx":811 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * return np.float32(NAN) + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "median.pyx":824 + /* "median.pyx":812 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * return np.float32(NAN) - * k = n0 >> 1 + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_3) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "median.pyx":825 + /* "median.pyx":813 * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + */ + __pyx_t_3[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_3; + + /* "median.pyx":814 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * if n0 == 0: - * return np.float32(NAN) # <<<<<<<<<<<<<< - * k = n0 >> 1 - * l = 0 */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float32); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - if (!__pyx_t_6) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else { - __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; - PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; } + __pyx_t_4 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "median.pyx":816 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * return y + */ + __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_5) { - /* "median.pyx":826 + /* "median.pyx":817 + * NPY_float64, 0) * if n0 == 0: - * return np.float32(NAN) - * k = n0 >> 1 # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * return y + * for i1 in range(n1): */ - __pyx_v_k = (__pyx_v_n0 >> 1); + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":827 - * return np.float32(NAN) - * k = n0 >> 1 - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + /* "median.pyx":818 + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) + * return y # <<<<<<<<<<<<<< + * for i1 in range(n1): + * k = n0 >> 1 */ - __pyx_v_l = 0; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + } - /* "median.pyx":828 - * k = n0 >> 1 - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + /* "median.pyx":819 + * PyArray_FillWithScalar(y, NAN) + * return y + * for i1 in range(n1): # <<<<<<<<<<<<<< + * k = n0 >> 1 + * l = 0 + */ + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; + + /* "median.pyx":820 + * return y + * for i1 in range(n1): + * k = n0 >> 1 # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 + */ + __pyx_v_k = (__pyx_v_n0 >> 1); + + /* "median.pyx":821 + * for i1 in range(n1): + * k = n0 >> 1 + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "median.pyx":829 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "median.pyx":822 + * k = n0 >> 1 + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[k, i1] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n0 - 1); - /* "median.pyx":830 - * r = n0 - 1 - * with nogil: + /* "median.pyx":823 + * l = 0 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[k, i1] * i = l */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + while (1) { + __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_5) break; - /* "median.pyx":831 - * with nogil: + /* "median.pyx":824 + * r = n0 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_8 = __pyx_v_k; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":832 + /* "median.pyx":825 * while l < r: - * x = b[k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "median.pyx":833 - * x = b[k] + /* "median.pyx":826 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "median.pyx":834 + /* "median.pyx":827 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ - while (1) { + while (1) { - /* "median.pyx":835 + /* "median.pyx":828 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_10 = __pyx_v_i; + __pyx_t_11 = __pyx_v_i1; + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_5) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "median.pyx":836 + /* "median.pyx":829 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i, i1] */ - while (1) { - __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_5) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "median.pyx":837 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "median.pyx":830 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_5) { - /* "median.pyx":838 - * while x < b[j]: j -= 1 + /* "median.pyx":831 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_14 = __pyx_v_i; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":839 + /* "median.pyx":832 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp * i += 1 */ - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_16 = __pyx_v_j; + __pyx_t_17 = __pyx_v_i1; + __pyx_t_18 = __pyx_v_i; + __pyx_t_19 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":840 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":833 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_j; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "median.pyx":841 - * b[i] = b[j] - * b[j] = tmp + /* "median.pyx":834 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":842 - * b[j] = tmp + /* "median.pyx":835 + * b[j, i1] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L15; - } - __pyx_L15:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L14; + } + __pyx_L14:; - /* "median.pyx":843 + /* "median.pyx":836 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L10_break; - } - } - __pyx_L10_break:; + __pyx_t_5 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_5) { + goto __pyx_L9_break; + } + } + __pyx_L9_break:; - /* "median.pyx":844 + /* "median.pyx":837 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n0 % 2 == 0: - */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L17; - } - __pyx_L17:; - - /* "median.pyx":845 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< - * if n0 % 2 == 0: - * amax = MINfloat32 + * if n0 % 2 == 0: */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L18; - } - __pyx_L18:; - } + __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_5) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L16; } + __pyx_L16:; - /* "median.pyx":829 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] + /* "median.pyx":838 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< + * if n0 % 2 == 0: + * amax = MINint */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L6; - } - __pyx_L6:; + __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_5) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L17; } - } + __pyx_L17:; + } - /* "median.pyx":846 + /* "median.pyx":839 * if j < k: l = i * if k < i: r = j - * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINfloat32 - * for i in range(k): + * if n0 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINint + * for i in range(k): */ - __pyx_t_3 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); - if (__pyx_t_3) { + __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); + if (__pyx_t_5) { - /* "median.pyx":847 + /* "median.pyx":840 * if k < i: r = j - * if n0 % 2 == 0: - * amax = MINfloat32 # <<<<<<<<<<<<<< - * for i in range(k): - * ai = b[i] + * if n0 % 2 == 0: + * amax = MINint # <<<<<<<<<<<<<< + * for i in range(k): + * ai = b[i, i1] */ - __pyx_v_amax = __pyx_v_6median_MINfloat32; + __pyx_v_amax = __pyx_v_6median_MINint; - /* "median.pyx":848 - * if n0 % 2 == 0: - * amax = MINfloat32 - * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i] - * if ai >= amax: + /* "median.pyx":841 + * if n0 % 2 == 0: + * amax = MINint + * for i in range(k): # <<<<<<<<<<<<<< + * ai = b[i, i1] + * if ai >= amax: */ - __pyx_t_15 = __pyx_v_k; - for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) { - __pyx_v_i = __pyx_t_16; + __pyx_t_22 = __pyx_v_k; + for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { + __pyx_v_i = __pyx_t_23; - /* "median.pyx":849 - * amax = MINfloat32 - * for i in range(k): - * ai = b[i] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "median.pyx":842 + * amax = MINint + * for i in range(k): + * ai = b[i, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_17 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":850 - * for i in range(k): - * ai = b[i] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * return np.float32(0.5 * (b[k] + amax)) + /* "median.pyx":843 + * for i in range(k): + * ai = b[i, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * y[i1] = 0.5 * (b[k, i1] + amax) */ - __pyx_t_3 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_3) { + __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_5) { - /* "median.pyx":851 - * ai = b[i] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * return np.float32(0.5 * (b[k] + amax)) - * else: + /* "median.pyx":844 + * ai = b[i, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * y[i1] = 0.5 * (b[k, i1] + amax) + * else: */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L22; + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L21; + } + __pyx_L21:; } - __pyx_L22:; - } - /* "median.pyx":852 - * if ai >= amax: - * amax = ai - * return np.float32(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< - * else: - * return np.float32(b[k]) + /* "median.pyx":845 + * if ai >= amax: + * amax = ai + * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< + * else: + * y[i1] = b[k, i1] */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_15 = __pyx_v_k; - __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } + __pyx_t_22 = __pyx_v_k; + __pyx_t_26 = __pyx_v_i1; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + goto __pyx_L18; } - if (!__pyx_t_4) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + /*else*/ { + + /* "median.pyx":847 + * y[i1] = 0.5 * (b[k, i1] + amax) + * else: + * y[i1] = b[k, i1] # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_23 = __pyx_v_k; + __pyx_t_28 = __pyx_v_i1; + __pyx_t_29 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides))); } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; + __pyx_L18:; } - /*else*/ { - /* "median.pyx":854 - * return np.float32(0.5 * (b[k] + amax)) - * else: - * return np.float32(b[k]) # <<<<<<<<<<<<<< + /* "median.pyx":848 + * else: + * y[i1] = b[k, i1] + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_5) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else { - __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "median.pyx":815 + /* "median.pyx":803 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float32 along axis=0." + * def median_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_b); + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "median.pyx":858 +/* "median.pyx":852 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float64 along axis=0." + * def median_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_33median_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_32median_1d_float64_axis0[] = "median_1d_float64_axis0(ndarray a)\nMedian of 1d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_6median_33median_1d_float64_axis0 = {"median_1d_float64_axis0", (PyCFunction)__pyx_pw_6median_33median_1d_float64_axis0, METH_O, __pyx_doc_6median_32median_1d_float64_axis0}; -static PyObject *__pyx_pw_6median_33median_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_33median_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_32median_2d_int_axis1[] = "median_2d_int_axis1(ndarray a)\nMedian of 2d array with dtype=int along axis=1."; +static PyMethodDef __pyx_mdef_6median_33median_2d_int_axis1 = {"median_2d_int_axis1", (PyCFunction)__pyx_pw_6median_33median_2d_int_axis1, METH_O, __pyx_doc_6median_32median_2d_int_axis1}; +static PyObject *__pyx_pw_6median_33median_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_1d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_32median_1d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("median_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6median_32median_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -11252,593 +11277,568 @@ static PyObject *__pyx_pw_6median_33median_1d_float64_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6median_32median_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_32median_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; - __pyx_t_5numpy_float64_t __pyx_v_amax; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_amax; + __pyx_t_5numpy_int_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; __Pyx_Buffer __pyx_pybuffer_b; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - npy_intp __pyx_t_8; + npy_intp __pyx_t_3[1]; + PyArrayObject *__pyx_t_4 = NULL; + int __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; npy_intp __pyx_t_9; - npy_intp __pyx_t_10; + Py_ssize_t __pyx_t_10; npy_intp __pyx_t_11; - npy_intp __pyx_t_12; + Py_ssize_t __pyx_t_12; npy_intp __pyx_t_13; - npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_14; npy_intp __pyx_t_15; - npy_intp __pyx_t_16; + Py_ssize_t __pyx_t_16; npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + npy_intp __pyx_t_22; + npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; + Py_ssize_t __pyx_t_26; + Py_ssize_t __pyx_t_27; + Py_ssize_t __pyx_t_28; + Py_ssize_t __pyx_t_29; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_1d_float64_axis0", 0); + __Pyx_RefNannySetupContext("median_2d_int_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "median.pyx":860 - * def median_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): - * "Median of 1d array with dtype=float64 along axis=0." + /* "median.pyx":854 + * def median_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Median of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp, amax, ai - * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) + * cdef np.int_t x, tmp, amax, ai + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; - /* "median.pyx":862 + /* "median.pyx":856 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.float64_t x, tmp, amax, ai - * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.int_t x, tmp, amax, ai + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":865 - * cdef Py_ssize_t i0 + /* "median.pyx":859 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "median.pyx":866 + /* "median.pyx":860 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * return np.float64(NAN) + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "median.pyx":867 + /* "median.pyx":861 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * k = n0 >> 1 + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_3) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "median.pyx":868 + /* "median.pyx":862 * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * k = n0 >> 1 - * l = 0 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - if (!__pyx_t_6) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else { - __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; - PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_3[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_3; + + /* "median.pyx":863 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: + */ + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + } + __pyx_t_4 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "median.pyx":865 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * return y + */ + __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_5) { + + /* "median.pyx":866 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * return y + * for i0 in range(n0): + */ + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "median.pyx":867 + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) + * return y # <<<<<<<<<<<<<< + * for i0 in range(n0): + * k = n1 >> 1 + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; } - /* "median.pyx":869 - * if n0 == 0: - * return np.float64(NAN) - * k = n0 >> 1 # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + /* "median.pyx":868 + * PyArray_FillWithScalar(y, NAN) + * return y + * for i0 in range(n0): # <<<<<<<<<<<<<< + * k = n1 >> 1 + * l = 0 */ - __pyx_v_k = (__pyx_v_n0 >> 1); + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "median.pyx":870 - * return np.float64(NAN) - * k = n0 >> 1 - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + /* "median.pyx":869 + * return y + * for i0 in range(n0): + * k = n1 >> 1 # <<<<<<<<<<<<<< + * l = 0 + * r = n1 - 1 */ - __pyx_v_l = 0; + __pyx_v_k = (__pyx_v_n1 >> 1); - /* "median.pyx":871 - * k = n0 >> 1 - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + /* "median.pyx":870 + * for i0 in range(n0): + * k = n1 >> 1 + * l = 0 # <<<<<<<<<<<<<< + * r = n1 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "median.pyx":872 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "median.pyx":871 + * k = n1 >> 1 + * l = 0 + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[i0, k] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n1 - 1); - /* "median.pyx":873 - * r = n0 - 1 - * with nogil: + /* "median.pyx":872 + * l = 0 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[i0, k] * i = l */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + while (1) { + __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_5) break; - /* "median.pyx":874 - * with nogil: + /* "median.pyx":873 + * r = n1 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":875 + /* "median.pyx":874 * while l < r: - * x = b[k] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "median.pyx":876 - * x = b[k] + /* "median.pyx":875 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i0, i] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "median.pyx":877 + /* "median.pyx":876 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ - while (1) { + while (1) { - /* "median.pyx":878 + /* "median.pyx":877 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i; + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_5) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "median.pyx":879 + /* "median.pyx":878 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i0, i] */ - while (1) { - __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_j; + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_5) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "median.pyx":880 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "median.pyx":879 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_5) { - /* "median.pyx":881 - * while x < b[j]: j -= 1 + /* "median.pyx":880 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":882 + /* "median.pyx":881 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp * i += 1 */ - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":883 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":882 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "median.pyx":884 - * b[i] = b[j] - * b[j] = tmp + /* "median.pyx":883 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":885 - * b[j] = tmp + /* "median.pyx":884 + * b[i0, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L15; - } - __pyx_L15:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L14; + } + __pyx_L14:; - /* "median.pyx":886 + /* "median.pyx":885 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L10_break; - } - } - __pyx_L10_break:; + __pyx_t_5 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_5) { + goto __pyx_L9_break; + } + } + __pyx_L9_break:; - /* "median.pyx":887 + /* "median.pyx":886 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n0 % 2 == 0: + * if n1 % 2 == 0: */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L17; - } - __pyx_L17:; + __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_5) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L16; + } + __pyx_L16:; - /* "median.pyx":888 + /* "median.pyx":887 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< - * if n0 % 2 == 0: - * amax = MINfloat64 - */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L18; - } - __pyx_L18:; - } - } - - /* "median.pyx":872 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] + * if n1 % 2 == 0: + * amax = MINint */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L6; - } - __pyx_L6:; + __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_5) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L17; } - } + __pyx_L17:; + } - /* "median.pyx":889 + /* "median.pyx":888 * if j < k: l = i * if k < i: r = j - * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINfloat64 - * for i in range(k): + * if n1 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINint + * for i in range(k): */ - __pyx_t_3 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); - if (__pyx_t_3) { + __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); + if (__pyx_t_5) { - /* "median.pyx":890 + /* "median.pyx":889 * if k < i: r = j - * if n0 % 2 == 0: - * amax = MINfloat64 # <<<<<<<<<<<<<< - * for i in range(k): - * ai = b[i] + * if n1 % 2 == 0: + * amax = MINint # <<<<<<<<<<<<<< + * for i in range(k): + * ai = b[i0, i] */ - __pyx_v_amax = __pyx_v_6median_MINfloat64; + __pyx_v_amax = __pyx_v_6median_MINint; - /* "median.pyx":891 - * if n0 % 2 == 0: - * amax = MINfloat64 - * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i] - * if ai >= amax: + /* "median.pyx":890 + * if n1 % 2 == 0: + * amax = MINint + * for i in range(k): # <<<<<<<<<<<<<< + * ai = b[i0, i] + * if ai >= amax: */ - __pyx_t_15 = __pyx_v_k; - for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) { - __pyx_v_i = __pyx_t_16; + __pyx_t_22 = __pyx_v_k; + for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { + __pyx_v_i = __pyx_t_23; - /* "median.pyx":892 - * amax = MINfloat64 - * for i in range(k): - * ai = b[i] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "median.pyx":891 + * amax = MINint + * for i in range(k): + * ai = b[i0, i] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_17 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":893 - * for i in range(k): - * ai = b[i] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * return np.float64(0.5 * (b[k] + amax)) + /* "median.pyx":892 + * for i in range(k): + * ai = b[i0, i] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * y[i0] = 0.5 * (b[i0, k] + amax) */ - __pyx_t_3 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_3) { + __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_5) { - /* "median.pyx":894 - * ai = b[i] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * return np.float64(0.5 * (b[k] + amax)) - * else: + /* "median.pyx":893 + * ai = b[i0, i] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * y[i0] = 0.5 * (b[i0, k] + amax) + * else: */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L22; + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L21; + } + __pyx_L21:; } - __pyx_L22:; - } - /* "median.pyx":895 - * if ai >= amax: - * amax = ai - * return np.float64(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< - * else: - * return np.float64(b[k]) + /* "median.pyx":894 + * if ai >= amax: + * amax = ai + * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< + * else: + * y[i0] = b[i0, k] */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_15 = __pyx_v_k; - __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } + __pyx_t_26 = __pyx_v_i0; + __pyx_t_22 = __pyx_v_k; + __pyx_t_27 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + goto __pyx_L18; } - if (!__pyx_t_4) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + /*else*/ { + + /* "median.pyx":896 + * y[i0] = 0.5 * (b[i0, k] + amax) + * else: + * y[i0] = b[i0, k] # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_28 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_k; + __pyx_t_29 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides))); } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; + __pyx_L18:; } - /*else*/ { - /* "median.pyx":897 - * return np.float64(0.5 * (b[k] + amax)) - * else: - * return np.float64(b[k]) # <<<<<<<<<<<<<< + /* "median.pyx":897 + * else: + * y[i0] = b[i0, k] + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_5) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else { - __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "median.pyx":858 + /* "median.pyx":852 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float64 along axis=0." + * def median_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_b); + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -11847,24 +11847,24 @@ static PyObject *__pyx_pf_6median_32median_1d_float64_axis0(CYTHON_UNUSED PyObje /* "median.pyx":901 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float along axis=0." + * def median_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_35median_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_34median_2d_float_axis0[] = "median_2d_float_axis0(ndarray a)\nMedian of 2d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_6median_35median_2d_float_axis0 = {"median_2d_float_axis0", (PyCFunction)__pyx_pw_6median_35median_2d_float_axis0, METH_O, __pyx_doc_6median_34median_2d_float_axis0}; -static PyObject *__pyx_pw_6median_35median_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_35median_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_34median_2d_int8_axis0[] = "median_2d_int8_axis0(ndarray a)\nMedian of 2d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_6median_35median_2d_int8_axis0 = {"median_2d_int8_axis0", (PyCFunction)__pyx_pw_6median_35median_2d_int8_axis0, METH_O, __pyx_doc_6median_34median_2d_int8_axis0}; +static PyObject *__pyx_pw_6median_35median_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_2d_int8_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_34median_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_34median_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -11875,16 +11875,16 @@ static PyObject *__pyx_pw_6median_35median_2d_float_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_34median_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; - __pyx_t_5numpy_float_t __pyx_v_amax; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_amax; + __pyx_t_5numpy_int8_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -11932,7 +11932,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_float_axis0", 0); + __Pyx_RefNannySetupContext("median_2d_int8_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -11947,23 +11947,23 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "median.pyx":903 - * def median_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Median of 2d array with dtype=float along axis=0." + * def median_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Median of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp, amax, ai - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp, amax, ai + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":905 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.float_t x, tmp, amax, ai - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int8_t x, tmp, amax, ai + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ @@ -11973,7 +11973,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; @@ -12006,7 +12006,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -12014,8 +12014,8 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_3[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; @@ -12023,17 +12023,17 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject /* "median.pyx":912 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -12044,8 +12044,8 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject __pyx_t_1 = 0; /* "median.pyx":914 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y @@ -12054,7 +12054,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject if (__pyx_t_5) { /* "median.pyx":915 - * NPY_float, 0) + * NPY_float64, 0) * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y @@ -12136,7 +12136,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_t_8 = __pyx_v_k; __pyx_t_9 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":923 * while l < r: @@ -12175,7 +12175,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject while (1) { __pyx_t_10 = __pyx_v_i; __pyx_t_11 = __pyx_v_i1; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -12190,7 +12190,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject while (1) { __pyx_t_12 = __pyx_v_j; __pyx_t_13 = __pyx_v_i1; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -12214,7 +12214,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_t_14 = __pyx_v_i; __pyx_t_15 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":930 * if i <= j: @@ -12227,7 +12227,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject __pyx_t_17 = __pyx_v_i1; __pyx_t_18 = __pyx_v_i; __pyx_t_19 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":931 * tmp = b[i, i1] @@ -12238,7 +12238,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_t_20 = __pyx_v_j; __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; /* "median.pyx":932 * b[i, i1] = b[j, i1] @@ -12294,7 +12294,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * if n0 % 2 == 0: - * amax = MINfloat + * amax = MINint8 */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -12308,7 +12308,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject * if j < k: l = i * if k < i: r = j * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINfloat + * amax = MINint8 * for i in range(k): */ __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); @@ -12317,15 +12317,15 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject /* "median.pyx":938 * if k < i: r = j * if n0 % 2 == 0: - * amax = MINfloat # <<<<<<<<<<<<<< + * amax = MINint8 # <<<<<<<<<<<<<< * for i in range(k): * ai = b[i, i1] */ - __pyx_v_amax = __pyx_v_6median_MINfloat; + __pyx_v_amax = __pyx_v_6median_MINint8; /* "median.pyx":939 * if n0 % 2 == 0: - * amax = MINfloat + * amax = MINint8 * for i in range(k): # <<<<<<<<<<<<<< * ai = b[i, i1] * if ai >= amax: @@ -12335,7 +12335,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject __pyx_v_i = __pyx_t_23; /* "median.pyx":940 - * amax = MINfloat + * amax = MINint8 * for i in range(k): * ai = b[i, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -12343,7 +12343,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_t_24 = __pyx_v_i; __pyx_t_25 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":941 * for i in range(k): @@ -12373,12 +12373,12 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject * amax = ai * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< * else: - * y[i1] = b[k, i1] + * y[i1] = b[k, i1] */ __pyx_t_22 = __pyx_v_k; __pyx_t_26 = __pyx_v_i1; __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { @@ -12386,21 +12386,21 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject /* "median.pyx":945 * y[i1] = 0.5 * (b[k, i1] + amax) * else: - * y[i1] = b[k, i1] # <<<<<<<<<<<<<< + * y[i1] = b[k, i1] # <<<<<<<<<<<<<< * return y * */ __pyx_t_23 = __pyx_v_k; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides))); } __pyx_L18:; } /* "median.pyx":946 * else: - * y[i1] = b[k, i1] + * y[i1] = b[k, i1] * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -12413,8 +12413,8 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject /* "median.pyx":901 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float along axis=0." + * def median_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -12427,7 +12427,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -12445,24 +12445,24 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject /* "median.pyx":950 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float along axis=1." + * def median_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_37median_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_36median_2d_float_axis1[] = "median_2d_float_axis1(ndarray a)\nMedian of 2d array with dtype=float along axis=1."; -static PyMethodDef __pyx_mdef_6median_37median_2d_float_axis1 = {"median_2d_float_axis1", (PyCFunction)__pyx_pw_6median_37median_2d_float_axis1, METH_O, __pyx_doc_6median_36median_2d_float_axis1}; -static PyObject *__pyx_pw_6median_37median_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_37median_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_36median_2d_int8_axis1[] = "median_2d_int8_axis1(ndarray a)\nMedian of 2d array with dtype=int8 along axis=1."; +static PyMethodDef __pyx_mdef_6median_37median_2d_int8_axis1 = {"median_2d_int8_axis1", (PyCFunction)__pyx_pw_6median_37median_2d_int8_axis1, METH_O, __pyx_doc_6median_36median_2d_int8_axis1}; +static PyObject *__pyx_pw_6median_37median_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_2d_int8_axis1 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_36median_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_36median_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -12473,16 +12473,16 @@ static PyObject *__pyx_pw_6median_37median_2d_float_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_36median_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; - __pyx_t_5numpy_float_t __pyx_v_amax; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_amax; + __pyx_t_5numpy_int8_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -12530,7 +12530,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_float_axis1", 0); + __Pyx_RefNannySetupContext("median_2d_int8_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -12545,23 +12545,23 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "median.pyx":952 - * def median_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Median of 2d array with dtype=float along axis=1." + * def median_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Median of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp, amax, ai - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp, amax, ai + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":954 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.float_t x, tmp, amax, ai - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int8_t x, tmp, amax, ai + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ @@ -12571,7 +12571,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; @@ -12604,7 +12604,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -12612,8 +12612,8 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_3[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_3; @@ -12621,17 +12621,17 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject /* "median.pyx":961 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * if n1 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -12642,8 +12642,8 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject __pyx_t_1 = 0; /* "median.pyx":963 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * if n1 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y @@ -12652,7 +12652,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject if (__pyx_t_5) { /* "median.pyx":964 - * NPY_float, 0) + * NPY_float64, 0) * if n1 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y @@ -12734,7 +12734,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":972 * while l < r: @@ -12773,7 +12773,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject while (1) { __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -12788,7 +12788,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject while (1) { __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_j; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -12812,7 +12812,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject */ __pyx_t_14 = __pyx_v_i0; __pyx_t_15 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":979 * if i <= j: @@ -12825,7 +12825,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject __pyx_t_17 = __pyx_v_j; __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":980 * tmp = b[i0, i] @@ -12836,7 +12836,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject */ __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; /* "median.pyx":981 * b[i0, i] = b[i0, j] @@ -12892,7 +12892,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * if n1 % 2 == 0: - * amax = MINfloat + * amax = MINint8 */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -12906,7 +12906,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject * if j < k: l = i * if k < i: r = j * if n1 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINfloat + * amax = MINint8 * for i in range(k): */ __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); @@ -12915,15 +12915,15 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject /* "median.pyx":987 * if k < i: r = j * if n1 % 2 == 0: - * amax = MINfloat # <<<<<<<<<<<<<< + * amax = MINint8 # <<<<<<<<<<<<<< * for i in range(k): * ai = b[i0, i] */ - __pyx_v_amax = __pyx_v_6median_MINfloat; + __pyx_v_amax = __pyx_v_6median_MINint8; /* "median.pyx":988 * if n1 % 2 == 0: - * amax = MINfloat + * amax = MINint8 * for i in range(k): # <<<<<<<<<<<<<< * ai = b[i0, i] * if ai >= amax: @@ -12933,7 +12933,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject __pyx_v_i = __pyx_t_23; /* "median.pyx":989 - * amax = MINfloat + * amax = MINint8 * for i in range(k): * ai = b[i0, i] # <<<<<<<<<<<<<< * if ai >= amax: @@ -12941,7 +12941,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject */ __pyx_t_24 = __pyx_v_i0; __pyx_t_25 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":990 * for i in range(k): @@ -12971,12 +12971,12 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject * amax = ai * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< * else: - * y[i0] = b[i0, k] + * y[i0] = b[i0, k] */ __pyx_t_26 = __pyx_v_i0; __pyx_t_22 = __pyx_v_k; __pyx_t_27 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { @@ -12984,21 +12984,21 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject /* "median.pyx":994 * y[i0] = 0.5 * (b[i0, k] + amax) * else: - * y[i0] = b[i0, k] # <<<<<<<<<<<<<< + * y[i0] = b[i0, k] # <<<<<<<<<<<<<< * return y * */ __pyx_t_28 = __pyx_v_i0; __pyx_t_23 = __pyx_v_k; __pyx_t_29 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides))); } __pyx_L18:; } /* "median.pyx":995 * else: - * y[i0] = b[i0, k] + * y[i0] = b[i0, k] * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -13011,8 +13011,8 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject /* "median.pyx":950 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float along axis=1." + * def median_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -13025,7 +13025,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -13043,24 +13043,24 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject /* "median.pyx":999 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float32 along axis=0." + * def median_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_39median_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_38median_2d_float32_axis0[] = "median_2d_float32_axis0(ndarray a)\nMedian of 2d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_6median_39median_2d_float32_axis0 = {"median_2d_float32_axis0", (PyCFunction)__pyx_pw_6median_39median_2d_float32_axis0, METH_O, __pyx_doc_6median_38median_2d_float32_axis0}; -static PyObject *__pyx_pw_6median_39median_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_39median_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_38median_2d_int32_axis0[] = "median_2d_int32_axis0(ndarray a)\nMedian of 2d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_6median_39median_2d_int32_axis0 = {"median_2d_int32_axis0", (PyCFunction)__pyx_pw_6median_39median_2d_int32_axis0, METH_O, __pyx_doc_6median_38median_2d_int32_axis0}; +static PyObject *__pyx_pw_6median_39median_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_2d_int32_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_38median_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_38median_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -13071,16 +13071,16 @@ static PyObject *__pyx_pw_6median_39median_2d_float32_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_38median_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; - __pyx_t_5numpy_float32_t __pyx_v_amax; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_amax; + __pyx_t_5numpy_int32_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -13128,7 +13128,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_float32_axis0", 0); + __Pyx_RefNannySetupContext("median_2d_int32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -13143,23 +13143,23 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "median.pyx":1001 - * def median_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Median of 2d array with dtype=float32 along axis=0." + * def median_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Median of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp, amax, ai - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp, amax, ai + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":1003 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.float32_t x, tmp, amax, ai - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int32_t x, tmp, amax, ai + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ @@ -13169,7 +13169,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1003; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; @@ -13202,7 +13202,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -13210,8 +13210,8 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_3[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; @@ -13219,17 +13219,17 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje /* "median.pyx":1010 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -13240,8 +13240,8 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje __pyx_t_1 = 0; /* "median.pyx":1012 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y @@ -13250,7 +13250,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje if (__pyx_t_5) { /* "median.pyx":1013 - * NPY_float32, 0) + * NPY_float64, 0) * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y @@ -13332,7 +13332,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje */ __pyx_t_8 = __pyx_v_k; __pyx_t_9 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1021 * while l < r: @@ -13371,7 +13371,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje while (1) { __pyx_t_10 = __pyx_v_i; __pyx_t_11 = __pyx_v_i1; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -13386,7 +13386,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje while (1) { __pyx_t_12 = __pyx_v_j; __pyx_t_13 = __pyx_v_i1; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -13410,7 +13410,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje */ __pyx_t_14 = __pyx_v_i; __pyx_t_15 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1028 * if i <= j: @@ -13423,7 +13423,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje __pyx_t_17 = __pyx_v_i1; __pyx_t_18 = __pyx_v_i; __pyx_t_19 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1029 * tmp = b[i, i1] @@ -13434,7 +13434,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje */ __pyx_t_20 = __pyx_v_j; __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; /* "median.pyx":1030 * b[i, i1] = b[j, i1] @@ -13490,7 +13490,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * if n0 % 2 == 0: - * amax = MINfloat32 + * amax = MINint32 */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -13504,7 +13504,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje * if j < k: l = i * if k < i: r = j * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINfloat32 + * amax = MINint32 * for i in range(k): */ __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); @@ -13513,15 +13513,15 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje /* "median.pyx":1036 * if k < i: r = j * if n0 % 2 == 0: - * amax = MINfloat32 # <<<<<<<<<<<<<< + * amax = MINint32 # <<<<<<<<<<<<<< * for i in range(k): * ai = b[i, i1] */ - __pyx_v_amax = __pyx_v_6median_MINfloat32; + __pyx_v_amax = __pyx_v_6median_MINint32; /* "median.pyx":1037 * if n0 % 2 == 0: - * amax = MINfloat32 + * amax = MINint32 * for i in range(k): # <<<<<<<<<<<<<< * ai = b[i, i1] * if ai >= amax: @@ -13531,7 +13531,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje __pyx_v_i = __pyx_t_23; /* "median.pyx":1038 - * amax = MINfloat32 + * amax = MINint32 * for i in range(k): * ai = b[i, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -13539,7 +13539,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje */ __pyx_t_24 = __pyx_v_i; __pyx_t_25 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1039 * for i in range(k): @@ -13569,12 +13569,12 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje * amax = ai * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< * else: - * y[i1] = b[k, i1] + * y[i1] = b[k, i1] */ __pyx_t_22 = __pyx_v_k; __pyx_t_26 = __pyx_v_i1; __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { @@ -13582,21 +13582,21 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje /* "median.pyx":1043 * y[i1] = 0.5 * (b[k, i1] + amax) * else: - * y[i1] = b[k, i1] # <<<<<<<<<<<<<< + * y[i1] = b[k, i1] # <<<<<<<<<<<<<< * return y * */ __pyx_t_23 = __pyx_v_k; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides))); } __pyx_L18:; } /* "median.pyx":1044 * else: - * y[i1] = b[k, i1] + * y[i1] = b[k, i1] * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -13609,8 +13609,8 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje /* "median.pyx":999 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float32 along axis=0." + * def median_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -13623,7 +13623,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -13641,24 +13641,24 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje /* "median.pyx":1048 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float32 along axis=1." + * def median_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_41median_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_40median_2d_float32_axis1[] = "median_2d_float32_axis1(ndarray a)\nMedian of 2d array with dtype=float32 along axis=1."; -static PyMethodDef __pyx_mdef_6median_41median_2d_float32_axis1 = {"median_2d_float32_axis1", (PyCFunction)__pyx_pw_6median_41median_2d_float32_axis1, METH_O, __pyx_doc_6median_40median_2d_float32_axis1}; -static PyObject *__pyx_pw_6median_41median_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_41median_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_40median_2d_int32_axis1[] = "median_2d_int32_axis1(ndarray a)\nMedian of 2d array with dtype=int32 along axis=1."; +static PyMethodDef __pyx_mdef_6median_41median_2d_int32_axis1 = {"median_2d_int32_axis1", (PyCFunction)__pyx_pw_6median_41median_2d_int32_axis1, METH_O, __pyx_doc_6median_40median_2d_int32_axis1}; +static PyObject *__pyx_pw_6median_41median_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_2d_int32_axis1 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_40median_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_40median_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -13669,16 +13669,16 @@ static PyObject *__pyx_pw_6median_41median_2d_float32_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_40median_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; - __pyx_t_5numpy_float32_t __pyx_v_amax; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_amax; + __pyx_t_5numpy_int32_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -13726,7 +13726,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_float32_axis1", 0); + __Pyx_RefNannySetupContext("median_2d_int32_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -13741,23 +13741,23 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "median.pyx":1050 - * def median_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Median of 2d array with dtype=float32 along axis=1." + * def median_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Median of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp, amax, ai - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp, amax, ai + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":1052 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.float32_t x, tmp, amax, ai - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int32_t x, tmp, amax, ai + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ @@ -13767,7 +13767,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1052; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; @@ -13800,7 +13800,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -13808,8 +13808,8 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_3[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_3; @@ -13817,17 +13817,17 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje /* "median.pyx":1059 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * if n1 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -13838,8 +13838,8 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje __pyx_t_1 = 0; /* "median.pyx":1061 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * if n1 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y @@ -13848,7 +13848,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje if (__pyx_t_5) { /* "median.pyx":1062 - * NPY_float32, 0) + * NPY_float64, 0) * if n1 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y @@ -13930,7 +13930,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1070 * while l < r: @@ -13969,7 +13969,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje while (1) { __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -13984,7 +13984,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje while (1) { __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_j; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -14008,7 +14008,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_t_14 = __pyx_v_i0; __pyx_t_15 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1077 * if i <= j: @@ -14021,7 +14021,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje __pyx_t_17 = __pyx_v_j; __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1078 * tmp = b[i0, i] @@ -14032,7 +14032,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; /* "median.pyx":1079 * b[i0, i] = b[i0, j] @@ -14088,7 +14088,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * if n1 % 2 == 0: - * amax = MINfloat32 + * amax = MINint32 */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -14102,7 +14102,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje * if j < k: l = i * if k < i: r = j * if n1 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINfloat32 + * amax = MINint32 * for i in range(k): */ __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); @@ -14111,15 +14111,15 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje /* "median.pyx":1085 * if k < i: r = j * if n1 % 2 == 0: - * amax = MINfloat32 # <<<<<<<<<<<<<< + * amax = MINint32 # <<<<<<<<<<<<<< * for i in range(k): * ai = b[i0, i] */ - __pyx_v_amax = __pyx_v_6median_MINfloat32; + __pyx_v_amax = __pyx_v_6median_MINint32; /* "median.pyx":1086 * if n1 % 2 == 0: - * amax = MINfloat32 + * amax = MINint32 * for i in range(k): # <<<<<<<<<<<<<< * ai = b[i0, i] * if ai >= amax: @@ -14129,7 +14129,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje __pyx_v_i = __pyx_t_23; /* "median.pyx":1087 - * amax = MINfloat32 + * amax = MINint32 * for i in range(k): * ai = b[i0, i] # <<<<<<<<<<<<<< * if ai >= amax: @@ -14137,7 +14137,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_t_24 = __pyx_v_i0; __pyx_t_25 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1088 * for i in range(k): @@ -14167,12 +14167,12 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje * amax = ai * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< * else: - * y[i0] = b[i0, k] + * y[i0] = b[i0, k] */ __pyx_t_26 = __pyx_v_i0; __pyx_t_22 = __pyx_v_k; __pyx_t_27 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { @@ -14180,21 +14180,21 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje /* "median.pyx":1092 * y[i0] = 0.5 * (b[i0, k] + amax) * else: - * y[i0] = b[i0, k] # <<<<<<<<<<<<<< + * y[i0] = b[i0, k] # <<<<<<<<<<<<<< * return y * */ __pyx_t_28 = __pyx_v_i0; __pyx_t_23 = __pyx_v_k; __pyx_t_29 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides))); } __pyx_L18:; } /* "median.pyx":1093 * else: - * y[i0] = b[i0, k] + * y[i0] = b[i0, k] * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -14207,8 +14207,8 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje /* "median.pyx":1048 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float32 along axis=1." + * def median_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -14221,7 +14221,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -14239,24 +14239,24 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje /* "median.pyx":1097 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float64 along axis=0." + * def median_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_43median_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_42median_2d_float64_axis0[] = "median_2d_float64_axis0(ndarray a)\nMedian of 2d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_6median_43median_2d_float64_axis0 = {"median_2d_float64_axis0", (PyCFunction)__pyx_pw_6median_43median_2d_float64_axis0, METH_O, __pyx_doc_6median_42median_2d_float64_axis0}; -static PyObject *__pyx_pw_6median_43median_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_43median_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_42median_2d_int64_axis0[] = "median_2d_int64_axis0(ndarray a)\nMedian of 2d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_6median_43median_2d_int64_axis0 = {"median_2d_int64_axis0", (PyCFunction)__pyx_pw_6median_43median_2d_int64_axis0, METH_O, __pyx_doc_6median_42median_2d_int64_axis0}; +static PyObject *__pyx_pw_6median_43median_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_2d_int64_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_42median_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_42median_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -14267,16 +14267,16 @@ static PyObject *__pyx_pw_6median_43median_2d_float64_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_42median_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; - __pyx_t_5numpy_float64_t __pyx_v_amax; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_amax; + __pyx_t_5numpy_int64_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -14324,7 +14324,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_float64_axis0", 0); + __Pyx_RefNannySetupContext("median_2d_int64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -14339,23 +14339,23 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "median.pyx":1099 - * def median_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Median of 2d array with dtype=float64 along axis=0." + * def median_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Median of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp, amax, ai - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp, amax, ai + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":1101 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.float64_t x, tmp, amax, ai - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp, amax, ai + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ @@ -14365,7 +14365,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; @@ -14528,7 +14528,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_t_8 = __pyx_v_k; __pyx_t_9 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1119 * while l < r: @@ -14567,7 +14567,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje while (1) { __pyx_t_10 = __pyx_v_i; __pyx_t_11 = __pyx_v_i1; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -14582,7 +14582,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje while (1) { __pyx_t_12 = __pyx_v_j; __pyx_t_13 = __pyx_v_i1; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -14606,7 +14606,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_t_14 = __pyx_v_i; __pyx_t_15 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1126 * if i <= j: @@ -14619,7 +14619,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje __pyx_t_17 = __pyx_v_i1; __pyx_t_18 = __pyx_v_i; __pyx_t_19 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1127 * tmp = b[i, i1] @@ -14630,7 +14630,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_t_20 = __pyx_v_j; __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; /* "median.pyx":1128 * b[i, i1] = b[j, i1] @@ -14686,7 +14686,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * if n0 % 2 == 0: - * amax = MINfloat64 + * amax = MINint64 */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -14700,7 +14700,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje * if j < k: l = i * if k < i: r = j * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINfloat64 + * amax = MINint64 * for i in range(k): */ __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); @@ -14709,15 +14709,15 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje /* "median.pyx":1134 * if k < i: r = j * if n0 % 2 == 0: - * amax = MINfloat64 # <<<<<<<<<<<<<< + * amax = MINint64 # <<<<<<<<<<<<<< * for i in range(k): * ai = b[i, i1] */ - __pyx_v_amax = __pyx_v_6median_MINfloat64; + __pyx_v_amax = __pyx_v_6median_MINint64; /* "median.pyx":1135 * if n0 % 2 == 0: - * amax = MINfloat64 + * amax = MINint64 * for i in range(k): # <<<<<<<<<<<<<< * ai = b[i, i1] * if ai >= amax: @@ -14727,7 +14727,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje __pyx_v_i = __pyx_t_23; /* "median.pyx":1136 - * amax = MINfloat64 + * amax = MINint64 * for i in range(k): * ai = b[i, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -14735,7 +14735,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_t_24 = __pyx_v_i; __pyx_t_25 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1137 * for i in range(k): @@ -14765,12 +14765,12 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje * amax = ai * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< * else: - * y[i1] = b[k, i1] + * y[i1] = b[k, i1] */ __pyx_t_22 = __pyx_v_k; __pyx_t_26 = __pyx_v_i1; __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { @@ -14778,21 +14778,21 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje /* "median.pyx":1141 * y[i1] = 0.5 * (b[k, i1] + amax) * else: - * y[i1] = b[k, i1] # <<<<<<<<<<<<<< + * y[i1] = b[k, i1] # <<<<<<<<<<<<<< * return y * */ __pyx_t_23 = __pyx_v_k; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides))); } __pyx_L18:; } /* "median.pyx":1142 * else: - * y[i1] = b[k, i1] + * y[i1] = b[k, i1] * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -14805,8 +14805,8 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje /* "median.pyx":1097 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float64 along axis=0." + * def median_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -14819,7 +14819,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -14837,24 +14837,24 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje /* "median.pyx":1146 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float64 along axis=1." + * def median_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_45median_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_44median_2d_float64_axis1[] = "median_2d_float64_axis1(ndarray a)\nMedian of 2d array with dtype=float64 along axis=1."; -static PyMethodDef __pyx_mdef_6median_45median_2d_float64_axis1 = {"median_2d_float64_axis1", (PyCFunction)__pyx_pw_6median_45median_2d_float64_axis1, METH_O, __pyx_doc_6median_44median_2d_float64_axis1}; -static PyObject *__pyx_pw_6median_45median_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_45median_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_44median_2d_int64_axis1[] = "median_2d_int64_axis1(ndarray a)\nMedian of 2d array with dtype=int64 along axis=1."; +static PyMethodDef __pyx_mdef_6median_45median_2d_int64_axis1 = {"median_2d_int64_axis1", (PyCFunction)__pyx_pw_6median_45median_2d_int64_axis1, METH_O, __pyx_doc_6median_44median_2d_int64_axis1}; +static PyObject *__pyx_pw_6median_45median_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_2d_int64_axis1 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_44median_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_44median_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -14865,16 +14865,16 @@ static PyObject *__pyx_pw_6median_45median_2d_float64_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_44median_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; - __pyx_t_5numpy_float64_t __pyx_v_amax; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_amax; + __pyx_t_5numpy_int64_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -14922,7 +14922,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_float64_axis1", 0); + __Pyx_RefNannySetupContext("median_2d_int64_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -14937,23 +14937,23 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "median.pyx":1148 - * def median_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Median of 2d array with dtype=float64 along axis=1." + * def median_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Median of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp, amax, ai - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp, amax, ai + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":1150 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.float64_t x, tmp, amax, ai - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp, amax, ai + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ @@ -14963,7 +14963,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; @@ -15126,7 +15126,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1168 * while l < r: @@ -15165,7 +15165,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje while (1) { __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -15180,7 +15180,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje while (1) { __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_j; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -15204,7 +15204,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_t_14 = __pyx_v_i0; __pyx_t_15 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1175 * if i <= j: @@ -15217,7 +15217,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje __pyx_t_17 = __pyx_v_j; __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1176 * tmp = b[i0, i] @@ -15228,7 +15228,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; /* "median.pyx":1177 * b[i0, i] = b[i0, j] @@ -15284,7 +15284,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * if n1 % 2 == 0: - * amax = MINfloat64 + * amax = MINint64 */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -15298,7 +15298,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje * if j < k: l = i * if k < i: r = j * if n1 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINfloat64 + * amax = MINint64 * for i in range(k): */ __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); @@ -15307,15 +15307,15 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje /* "median.pyx":1183 * if k < i: r = j * if n1 % 2 == 0: - * amax = MINfloat64 # <<<<<<<<<<<<<< + * amax = MINint64 # <<<<<<<<<<<<<< * for i in range(k): * ai = b[i0, i] */ - __pyx_v_amax = __pyx_v_6median_MINfloat64; + __pyx_v_amax = __pyx_v_6median_MINint64; /* "median.pyx":1184 * if n1 % 2 == 0: - * amax = MINfloat64 + * amax = MINint64 * for i in range(k): # <<<<<<<<<<<<<< * ai = b[i0, i] * if ai >= amax: @@ -15325,7 +15325,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje __pyx_v_i = __pyx_t_23; /* "median.pyx":1185 - * amax = MINfloat64 + * amax = MINint64 * for i in range(k): * ai = b[i0, i] # <<<<<<<<<<<<<< * if ai >= amax: @@ -15333,7 +15333,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_t_24 = __pyx_v_i0; __pyx_t_25 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1186 * for i in range(k): @@ -15363,12 +15363,12 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje * amax = ai * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< * else: - * y[i0] = b[i0, k] + * y[i0] = b[i0, k] */ __pyx_t_26 = __pyx_v_i0; __pyx_t_22 = __pyx_v_k; __pyx_t_27 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { @@ -15376,21 +15376,21 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje /* "median.pyx":1190 * y[i0] = 0.5 * (b[i0, k] + amax) * else: - * y[i0] = b[i0, k] # <<<<<<<<<<<<<< + * y[i0] = b[i0, k] # <<<<<<<<<<<<<< * return y * */ __pyx_t_28 = __pyx_v_i0; __pyx_t_23 = __pyx_v_k; __pyx_t_29 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides))); } __pyx_L18:; } /* "median.pyx":1191 * else: - * y[i0] = b[i0, k] + * y[i0] = b[i0, k] * return y # <<<<<<<<<<<<<< * * cdef dict median_dict = {} @@ -15403,8 +15403,8 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje /* "median.pyx":1146 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float64 along axis=1." + * def median_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -15417,7 +15417,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -15433,7 +15433,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje } /* "median.pyx":1216 - * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 + * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 * * def median_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) median along axis 0." @@ -15501,7 +15501,7 @@ static PyObject *__pyx_pf_6median_46median_slow_axis0(CYTHON_UNUSED PyObject *__ goto __pyx_L0; /* "median.pyx":1216 - * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 + * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 * * def median_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) median along axis 0." @@ -27036,7 +27036,7 @@ static PyObject *__pyx_pf_6median_134nanmedian_2d_float64_axis1(CYTHON_UNUSED Py } /* "median.pyx":2157 - * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 + * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 * * def nanmedian_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmedian along axis 0." @@ -27104,7 +27104,7 @@ static PyObject *__pyx_pf_6median_136nanmedian_slow_axis0(CYTHON_UNUSED PyObject goto __pyx_L0; /* "median.pyx":2157 - * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 + * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 * * def nanmedian_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmedian along axis 0." @@ -30095,7 +30095,7 @@ static PyObject *__pyx_pf_6median_202nanmedian_slow_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -30145,7 +30145,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -30158,7 +30158,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -30167,7 +30167,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -30176,7 +30176,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -30185,7 +30185,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -30195,7 +30195,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -30207,7 +30207,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -30218,7 +30218,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -30234,7 +30234,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -30246,7 +30246,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -30260,7 +30260,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -30276,7 +30276,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -30288,7 +30288,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -30302,7 +30302,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -30311,7 +30311,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -30320,7 +30320,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -30330,7 +30330,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -30339,7 +30339,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -30348,7 +30348,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -30359,7 +30359,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -30368,7 +30368,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -30381,7 +30381,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -30390,7 +30390,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -30401,7 +30401,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -30410,7 +30410,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -30419,7 +30419,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -30428,7 +30428,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -30437,7 +30437,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -30449,7 +30449,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -30458,7 +30458,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -30478,7 +30478,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -30494,7 +30494,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -30509,7 +30509,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -30519,7 +30519,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -30529,7 +30529,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -30552,7 +30552,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -30572,7 +30572,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -30586,7 +30586,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -30595,7 +30595,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -30606,7 +30606,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -30617,7 +30617,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -30628,7 +30628,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -30639,7 +30639,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -30650,7 +30650,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -30661,7 +30661,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -30672,7 +30672,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -30683,7 +30683,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -30694,7 +30694,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -30705,7 +30705,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -30716,7 +30716,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -30727,7 +30727,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -30738,7 +30738,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -30749,7 +30749,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -30760,7 +30760,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -30771,7 +30771,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -30783,7 +30783,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -30809,7 +30809,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -30818,7 +30818,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -30830,7 +30830,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -30839,7 +30839,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -30848,7 +30848,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -30857,7 +30857,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -30867,7 +30867,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -30877,7 +30877,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -30909,7 +30909,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -30933,7 +30933,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -30943,7 +30943,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -30955,7 +30955,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -30965,7 +30965,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -30977,7 +30977,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -30989,7 +30989,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -31006,7 +31006,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -31020,7 +31020,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -31039,7 +31039,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -31056,7 +31056,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -31070,7 +31070,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -31089,7 +31089,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -31106,7 +31106,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -31120,7 +31120,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -31139,7 +31139,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -31156,7 +31156,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -31170,7 +31170,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -31189,7 +31189,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -31206,7 +31206,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -31220,7 +31220,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -31239,7 +31239,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -31271,7 +31271,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -31280,7 +31280,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -31289,7 +31289,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -31311,7 +31311,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -31324,7 +31324,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -31363,7 +31363,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -31380,7 +31380,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -31394,7 +31394,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -31417,7 +31417,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -31437,7 +31437,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -31451,7 +31451,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -31467,7 +31467,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -31476,7 +31476,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -31485,7 +31485,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -31496,7 +31496,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -31506,7 +31506,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -31516,7 +31516,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -31528,7 +31528,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -31538,7 +31538,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -31552,7 +31552,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -31570,7 +31570,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -31588,7 +31588,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -31606,7 +31606,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -31624,7 +31624,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -31642,7 +31642,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -31660,7 +31660,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -31678,7 +31678,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -31696,7 +31696,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -31714,7 +31714,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -31732,7 +31732,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -31750,7 +31750,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -31768,7 +31768,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -31786,7 +31786,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -31806,7 +31806,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -31826,7 +31826,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -31846,7 +31846,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -31865,7 +31865,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -31888,7 +31888,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -31900,7 +31900,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -31912,7 +31912,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -31922,7 +31922,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -31932,7 +31932,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -31957,7 +31957,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -31972,7 +31972,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -31983,7 +31983,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -31995,7 +31995,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -32004,7 +32004,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -32015,7 +32015,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -32024,7 +32024,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -32033,7 +32033,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -32045,7 +32045,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -32059,7 +32059,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -32069,7 +32069,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -32083,7 +32083,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -32094,7 +32094,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -32132,7 +32132,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -32148,6 +32147,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -32332,7 +32332,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -32343,7 +32343,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -32354,7 +32354,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -32365,7 +32365,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -32376,7 +32376,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -32387,7 +32387,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -32419,7 +32419,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median, 84, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median, 84, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":129 * return func(arr) @@ -32431,262 +32431,262 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_key, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_selector, 129, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_selector, 129, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int along axis=0." + * def median_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ __pyx_tuple__13 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_1d_int_axis0, 208, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_1d_float_axis0, 208, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":251 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int8 along axis=0." + * def median_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ __pyx_tuple__15 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_1d_int8_axis0, 251, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_1d_float32_axis0, 251, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":294 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int32 along axis=0." + * def median_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ __pyx_tuple__17 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_1d_int32_axis0, 294, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_1d_float64_axis0, 294, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":337 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int64 along axis=0." + * def median_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__19 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_1d_int64_axis0, 337, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_float_axis0, 337, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "median.pyx":380 + /* "median.pyx":386 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int along axis=0." + * def median_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__21 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_int_axis0, 380, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_float_axis1, 386, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "median.pyx":429 + /* "median.pyx":435 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int along axis=1." + * def median_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__23 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_int_axis1, 429, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_float32_axis0, 435, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "median.pyx":478 + /* "median.pyx":484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int8 along axis=0." + * def median_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__25 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_int8_axis0, 478, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_float32_axis1, 484, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "median.pyx":527 + /* "median.pyx":533 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int8 along axis=1." + * def median_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__27 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_int8_axis1, 527, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_float64_axis0, 533, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "median.pyx":576 + /* "median.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int32 along axis=0." + * def median_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__29 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_int32_axis0, 576, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_float64_axis1, 582, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "median.pyx":625 + /* "median.pyx":631 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int32 along axis=1." + * def median_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__31 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_int32_axis1, 625, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_1d_int_axis0, 631, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":674 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int64 along axis=0." + * def median_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__33 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_int64_axis0, 674, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_1d_int8_axis0, 674, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "median.pyx":723 + /* "median.pyx":717 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int64 along axis=1." + * def median_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__35 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_int64_axis1, 723, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_1d_int32_axis0, 717, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "median.pyx":772 + /* "median.pyx":760 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float along axis=0." + * def median_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__37 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_1d_float_axis0, 772, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_1d_int64_axis0, 760, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "median.pyx":815 + /* "median.pyx":803 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float32 along axis=0." + * def median_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__39 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_1d_float32_axis0, 815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_int_axis0, 803, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "median.pyx":858 + /* "median.pyx":852 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float64 along axis=0." + * def median_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__41 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_1d_float64_axis0, 858, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_int_axis1, 852, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":901 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float along axis=0." + * def median_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ __pyx_tuple__43 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_float_axis0, 901, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_int8_axis0, 901, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":950 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float along axis=1." + * def median_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ __pyx_tuple__45 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_float_axis1, 950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_int8_axis1, 950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":999 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float32 along axis=0." + * def median_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ __pyx_tuple__47 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_float32_axis0, 999, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_int32_axis0, 999, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1048 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float32 along axis=1." + * def median_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ __pyx_tuple__49 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_float32_axis1, 1048, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_int32_axis1, 1048, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1097 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float64 along axis=0." + * def median_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ __pyx_tuple__51 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_float64_axis0, 1097, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_int64_axis0, 1097, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1146 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float64 along axis=1." + * def median_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ __pyx_tuple__53 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_float64_axis1, 1146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_int64_axis1, 1146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1216 - * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 + * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 * * def median_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) median along axis 0." @@ -32695,7 +32695,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__55 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis0, 1216, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis0, 1216, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1220 * return bn.slow.median(arr, axis=0) @@ -32707,7 +32707,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__57 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis1, 1220, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis1, 1220, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1224 * return bn.slow.median(arr, axis=1) @@ -32719,7 +32719,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__59 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis2, 1224, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis2, 1224, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1228 * return bn.slow.median(arr, axis=2) @@ -32731,7 +32731,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__61 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis3, 1228, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis3, 1228, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1232 * return bn.slow.median(arr, axis=3) @@ -32743,7 +32743,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__63 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis4, 1232, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis4, 1232, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1236 * return bn.slow.median(arr, axis=4) @@ -32755,7 +32755,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__65 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis5, 1236, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis5, 1236, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1240 * return bn.slow.median(arr, axis=5) @@ -32767,7 +32767,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__67 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis6, 1240, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis6, 1240, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1244 * return bn.slow.median(arr, axis=6) @@ -32779,7 +32779,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis7, 1244, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis7, 1244, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1248 * return bn.slow.median(arr, axis=7) @@ -32791,7 +32791,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis8, 1248, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis8, 1248, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1252 * return bn.slow.median(arr, axis=8) @@ -32803,7 +32803,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis9, 1252, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis9, 1252, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1256 * return bn.slow.median(arr, axis=9) @@ -32815,7 +32815,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis10, 1256, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis10, 1256, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1260 * return bn.slow.median(arr, axis=10) @@ -32827,7 +32827,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis11, 1260, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis11, 1260, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1264 * return bn.slow.median(arr, axis=11) @@ -32839,7 +32839,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis12, 1264, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis12, 1264, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1268 * return bn.slow.median(arr, axis=12) @@ -32851,7 +32851,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis13, 1268, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis13, 1268, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1272 * return bn.slow.median(arr, axis=13) @@ -32863,7 +32863,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis14, 1272, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis14, 1272, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1276 * return bn.slow.median(arr, axis=14) @@ -32875,7 +32875,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis15, 1276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis15, 1276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1280 * return bn.slow.median(arr, axis=15) @@ -32887,7 +32887,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis16, 1280, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis16, 1280, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1284 * return bn.slow.median(arr, axis=16) @@ -32899,7 +32899,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis17, 1284, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis17, 1284, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1288 * return bn.slow.median(arr, axis=17) @@ -32911,7 +32911,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis18, 1288, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis18, 1288, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1292 * return bn.slow.median(arr, axis=18) @@ -32923,7 +32923,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis19, 1292, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis19, 1292, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1296 * return bn.slow.median(arr, axis=19) @@ -32935,7 +32935,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis20, 1296, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis20, 1296, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1300 * return bn.slow.median(arr, axis=20) @@ -32947,7 +32947,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis21, 1300, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis21, 1300, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1304 * return bn.slow.median(arr, axis=21) @@ -32959,7 +32959,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis22, 1304, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis22, 1304, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1308 * return bn.slow.median(arr, axis=22) @@ -32971,7 +32971,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis23, 1308, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis23, 1308, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1312 * return bn.slow.median(arr, axis=23) @@ -32983,7 +32983,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis24, 1312, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis24, 1312, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1316 * return bn.slow.median(arr, axis=24) @@ -32995,7 +32995,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis25, 1316, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis25, 1316, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1320 * return bn.slow.median(arr, axis=25) @@ -33007,7 +33007,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis26, 1320, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis26, 1320, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1324 * return bn.slow.median(arr, axis=26) @@ -33019,7 +33019,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis27, 1324, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis27, 1324, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1328 * return bn.slow.median(arr, axis=27) @@ -33031,7 +33031,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis28, 1328, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis28, 1328, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1332 * return bn.slow.median(arr, axis=28) @@ -33043,7 +33043,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis29, 1332, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis29, 1332, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1336 * return bn.slow.median(arr, axis=29) @@ -33055,7 +33055,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis30, 1336, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis30, 1336, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1340 * return bn.slow.median(arr, axis=30) @@ -33067,7 +33067,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis31, 1340, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis31, 1340, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1344 * return bn.slow.median(arr, axis=31) @@ -33079,7 +33079,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis32, 1344, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis32, 1344, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1348 * return bn.slow.median(arr, axis=32) @@ -33091,7 +33091,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axisNone, 1348, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axisNone, 1348, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1406 * # (C) 2010 Keith Goodman @@ -33103,7 +33103,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian, 1406, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian, 1406, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1446 * return func(arr) @@ -33115,7 +33115,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_key, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_selector, 1446, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_selector, 1446, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1524 * @cython.boundscheck(False) @@ -33127,7 +33127,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_flag, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_n, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_1d_float_axis0, 1524, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_1d_float_axis0, 1524, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1588 * @cython.boundscheck(False) @@ -33139,7 +33139,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_flag, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_n, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_1d_float32_axis0, 1588, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_1d_float32_axis0, 1588, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1652 * @cython.boundscheck(False) @@ -33151,7 +33151,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_flag, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_n, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_1d_float64_axis0, 1652, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_1d_float64_axis0, 1652, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1716 * @cython.boundscheck(False) @@ -33163,7 +33163,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(21, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_flag, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_n, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_2d_float_axis0, 1716, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_2d_float_axis0, 1716, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1786 * @cython.boundscheck(False) @@ -33175,7 +33175,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(21, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_flag, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_n, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_2d_float_axis1, 1786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_2d_float_axis1, 1786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1856 * @cython.boundscheck(False) @@ -33187,7 +33187,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__137 = PyTuple_Pack(21, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_flag, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_n, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__137); __Pyx_GIVEREF(__pyx_tuple__137); - __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_2d_float32_axis0, 1856, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_2d_float32_axis0, 1856, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1926 * @cython.boundscheck(False) @@ -33199,7 +33199,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__139 = PyTuple_Pack(21, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_flag, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_n, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__139); __Pyx_GIVEREF(__pyx_tuple__139); - __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_2d_float32_axis1, 1926, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_2d_float32_axis1, 1926, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1996 * @cython.boundscheck(False) @@ -33211,7 +33211,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__141 = PyTuple_Pack(21, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_flag, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_n, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1996; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__141); __Pyx_GIVEREF(__pyx_tuple__141); - __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_2d_float64_axis0, 1996, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1996; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_2d_float64_axis0, 1996, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1996; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2066 * @cython.boundscheck(False) @@ -33223,10 +33223,10 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__143 = PyTuple_Pack(21, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_flag, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_n, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__143); __Pyx_GIVEREF(__pyx_tuple__143); - __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_2d_float64_axis1, 2066, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_2d_float64_axis1, 2066, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2157 - * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 + * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 * * def nanmedian_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmedian along axis 0." @@ -33235,7 +33235,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__145 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__145); __Pyx_GIVEREF(__pyx_tuple__145); - __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis0, 2157, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis0, 2157, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2161 * return bn.slow.nanmedian(arr, axis=0) @@ -33247,7 +33247,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__147 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__147); __Pyx_GIVEREF(__pyx_tuple__147); - __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis1, 2161, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis1, 2161, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2165 * return bn.slow.nanmedian(arr, axis=1) @@ -33259,7 +33259,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__149 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__149); __Pyx_GIVEREF(__pyx_tuple__149); - __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis2, 2165, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis2, 2165, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2169 * return bn.slow.nanmedian(arr, axis=2) @@ -33271,7 +33271,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__151 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__151); __Pyx_GIVEREF(__pyx_tuple__151); - __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis3, 2169, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis3, 2169, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2173 * return bn.slow.nanmedian(arr, axis=3) @@ -33283,7 +33283,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__153 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__153); __Pyx_GIVEREF(__pyx_tuple__153); - __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis4, 2173, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis4, 2173, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2177 * return bn.slow.nanmedian(arr, axis=4) @@ -33295,7 +33295,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__155 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__155); __Pyx_GIVEREF(__pyx_tuple__155); - __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis5, 2177, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis5, 2177, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2181 * return bn.slow.nanmedian(arr, axis=5) @@ -33307,7 +33307,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__157 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__157); __Pyx_GIVEREF(__pyx_tuple__157); - __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis6, 2181, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis6, 2181, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2185 * return bn.slow.nanmedian(arr, axis=6) @@ -33319,7 +33319,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__159 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__159); __Pyx_GIVEREF(__pyx_tuple__159); - __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis7, 2185, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis7, 2185, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2189 * return bn.slow.nanmedian(arr, axis=7) @@ -33331,7 +33331,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__161 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2189; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__161); __Pyx_GIVEREF(__pyx_tuple__161); - __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis8, 2189, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2189; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis8, 2189, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2189; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2193 * return bn.slow.nanmedian(arr, axis=8) @@ -33343,7 +33343,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__163 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__163); __Pyx_GIVEREF(__pyx_tuple__163); - __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis9, 2193, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis9, 2193, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2197 * return bn.slow.nanmedian(arr, axis=9) @@ -33355,7 +33355,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__165 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__165)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__165); __Pyx_GIVEREF(__pyx_tuple__165); - __pyx_codeobj__166 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__165, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis10, 2197, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__166)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__166 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__165, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis10, 2197, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__166)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2201 * return bn.slow.nanmedian(arr, axis=10) @@ -33367,7 +33367,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__167 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__167)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__167); __Pyx_GIVEREF(__pyx_tuple__167); - __pyx_codeobj__168 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__167, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis11, 2201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__168)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__168 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__167, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis11, 2201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__168)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2205 * return bn.slow.nanmedian(arr, axis=11) @@ -33379,7 +33379,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__169 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__169)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__169); __Pyx_GIVEREF(__pyx_tuple__169); - __pyx_codeobj__170 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__169, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis12, 2205, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__170 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__169, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis12, 2205, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2209 * return bn.slow.nanmedian(arr, axis=12) @@ -33391,7 +33391,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__171 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__171)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__171); __Pyx_GIVEREF(__pyx_tuple__171); - __pyx_codeobj__172 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__171, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis13, 2209, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__172)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__172 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__171, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis13, 2209, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__172)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2213 * return bn.slow.nanmedian(arr, axis=13) @@ -33403,7 +33403,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__173 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__173)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__173); __Pyx_GIVEREF(__pyx_tuple__173); - __pyx_codeobj__174 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__173, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis14, 2213, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__174 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__173, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis14, 2213, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2217 * return bn.slow.nanmedian(arr, axis=14) @@ -33415,7 +33415,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__175 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__175)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__175); __Pyx_GIVEREF(__pyx_tuple__175); - __pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__175, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis15, 2217, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__175, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis15, 2217, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2221 * return bn.slow.nanmedian(arr, axis=15) @@ -33427,7 +33427,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__177 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__177)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__177); __Pyx_GIVEREF(__pyx_tuple__177); - __pyx_codeobj__178 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis16, 2221, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__178)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__178 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis16, 2221, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__178)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2225 * return bn.slow.nanmedian(arr, axis=16) @@ -33439,7 +33439,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__179 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__179)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__179); __Pyx_GIVEREF(__pyx_tuple__179); - __pyx_codeobj__180 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__179, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis17, 2225, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__180)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__180 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__179, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis17, 2225, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__180)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2229 * return bn.slow.nanmedian(arr, axis=17) @@ -33451,7 +33451,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__181 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__181)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__181); __Pyx_GIVEREF(__pyx_tuple__181); - __pyx_codeobj__182 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__181, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis18, 2229, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__182)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__182 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__181, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis18, 2229, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__182)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2233 * return bn.slow.nanmedian(arr, axis=18) @@ -33463,7 +33463,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__183 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__183)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__183); __Pyx_GIVEREF(__pyx_tuple__183); - __pyx_codeobj__184 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__183, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis19, 2233, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__184)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__184 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__183, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis19, 2233, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__184)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2237 * return bn.slow.nanmedian(arr, axis=19) @@ -33475,7 +33475,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__185 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__185)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__185); __Pyx_GIVEREF(__pyx_tuple__185); - __pyx_codeobj__186 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__185, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis20, 2237, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__186)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__186 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__185, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis20, 2237, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__186)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2241 * return bn.slow.nanmedian(arr, axis=20) @@ -33487,7 +33487,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__187 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__187)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__187); __Pyx_GIVEREF(__pyx_tuple__187); - __pyx_codeobj__188 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__187, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis21, 2241, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__188)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__188 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__187, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis21, 2241, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__188)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2245 * return bn.slow.nanmedian(arr, axis=21) @@ -33499,7 +33499,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__189 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__189)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__189); __Pyx_GIVEREF(__pyx_tuple__189); - __pyx_codeobj__190 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__189, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis22, 2245, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__190)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__190 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__189, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis22, 2245, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__190)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2249 * return bn.slow.nanmedian(arr, axis=22) @@ -33511,7 +33511,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__191 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__191)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__191); __Pyx_GIVEREF(__pyx_tuple__191); - __pyx_codeobj__192 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__191, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis23, 2249, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__192)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__192 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__191, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis23, 2249, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__192)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2253 * return bn.slow.nanmedian(arr, axis=23) @@ -33523,7 +33523,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__193 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__193)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__193); __Pyx_GIVEREF(__pyx_tuple__193); - __pyx_codeobj__194 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__193, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis24, 2253, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__194)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__194 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__193, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis24, 2253, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__194)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2257 * return bn.slow.nanmedian(arr, axis=24) @@ -33535,7 +33535,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__195 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__195)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__195); __Pyx_GIVEREF(__pyx_tuple__195); - __pyx_codeobj__196 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__195, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis25, 2257, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__196)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__196 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__195, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis25, 2257, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__196)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2261 * return bn.slow.nanmedian(arr, axis=25) @@ -33547,7 +33547,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__197 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__197)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__197); __Pyx_GIVEREF(__pyx_tuple__197); - __pyx_codeobj__198 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__197, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis26, 2261, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__198)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__198 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__197, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis26, 2261, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__198)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2265 * return bn.slow.nanmedian(arr, axis=26) @@ -33559,7 +33559,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__199 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__199)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__199); __Pyx_GIVEREF(__pyx_tuple__199); - __pyx_codeobj__200 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis27, 2265, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__200)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__200 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis27, 2265, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__200)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2269 * return bn.slow.nanmedian(arr, axis=27) @@ -33571,7 +33571,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__201 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__201)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__201); __Pyx_GIVEREF(__pyx_tuple__201); - __pyx_codeobj__202 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__201, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis28, 2269, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__202)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__202 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__201, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis28, 2269, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__202)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2273 * return bn.slow.nanmedian(arr, axis=28) @@ -33583,7 +33583,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__203 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__203)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__203); __Pyx_GIVEREF(__pyx_tuple__203); - __pyx_codeobj__204 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__203, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis29, 2273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__204)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__204 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__203, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis29, 2273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__204)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2277 * return bn.slow.nanmedian(arr, axis=29) @@ -33595,7 +33595,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__205 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__205)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__205); __Pyx_GIVEREF(__pyx_tuple__205); - __pyx_codeobj__206 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__205, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis30, 2277, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__206)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__206 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__205, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis30, 2277, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__206)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2281 * return bn.slow.nanmedian(arr, axis=30) @@ -33607,7 +33607,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__207 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__207)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__207); __Pyx_GIVEREF(__pyx_tuple__207); - __pyx_codeobj__208 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__207, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis31, 2281, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__208)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__208 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__207, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis31, 2281, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__208)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2285 * return bn.slow.nanmedian(arr, axis=31) @@ -33619,7 +33619,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__209 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__209)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__209); __Pyx_GIVEREF(__pyx_tuple__209); - __pyx_codeobj__210 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__209, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis32, 2285, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__210)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__210 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__209, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis32, 2285, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__210)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2289 * return bn.slow.nanmedian(arr, axis=32) @@ -33631,7 +33631,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__211 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__211)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__211); __Pyx_GIVEREF(__pyx_tuple__211); - __pyx_codeobj__212 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__211, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axisNone, 2289, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__212)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__212 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__211, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axisNone, 2289, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__212)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -34599,261 +34599,261 @@ PyMODINIT_FUNC PyInit_median(void) /* "median.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int along axis=0." + * def median_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_5median_1d_int_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_5median_1d_float_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":251 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int8 along axis=0." + * def median_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_7median_1d_int8_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_7median_1d_float32_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":294 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int32 along axis=0." + * def median_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_9median_1d_int32_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_9median_1d_float64_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":337 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int64 along axis=0." + * def median_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_11median_1d_int64_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_11median_2d_float_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "median.pyx":380 + /* "median.pyx":386 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int along axis=0." + * def median_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_13median_2d_int_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_13median_2d_float_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "median.pyx":429 + /* "median.pyx":435 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int along axis=1." + * def median_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_15median_2d_int_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_15median_2d_float32_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "median.pyx":478 + /* "median.pyx":484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int8 along axis=0." + * def median_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_17median_2d_int8_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_17median_2d_float32_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "median.pyx":527 + /* "median.pyx":533 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int8 along axis=1." + * def median_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_19median_2d_int8_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_19median_2d_float64_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "median.pyx":576 + /* "median.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int32 along axis=0." + * def median_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_21median_2d_int32_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_21median_2d_float64_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "median.pyx":625 + /* "median.pyx":631 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int32 along axis=1." + * def median_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_23median_2d_int32_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_23median_1d_int_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":674 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int64 along axis=0." + * def median_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_25median_2d_int64_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_25median_1d_int8_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "median.pyx":723 + /* "median.pyx":717 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int64 along axis=1." + * def median_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_27median_2d_int64_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_27median_1d_int32_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "median.pyx":772 + /* "median.pyx":760 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float along axis=0." + * def median_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_29median_1d_float_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_29median_1d_int64_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "median.pyx":815 + /* "median.pyx":803 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float32 along axis=0." + * def median_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_31median_1d_float32_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_31median_2d_int_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "median.pyx":858 + /* "median.pyx":852 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float64 along axis=0." + * def median_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_33median_1d_float64_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_33median_2d_int_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":901 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float along axis=0." + * def median_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_35median_2d_float_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_35median_2d_int8_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":950 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float along axis=1." + * def median_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_37median_2d_float_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_37median_2d_int8_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":999 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float32 along axis=0." + * def median_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_39median_2d_float32_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_39median_2d_int32_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1048 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float32 along axis=1." + * def median_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_41median_2d_float32_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_41median_2d_int32_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1097 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float64 along axis=0." + * def median_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_43median_2d_float64_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_43median_2d_int64_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1146 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float64 along axis=1." + * def median_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_45median_2d_float64_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_45median_2d_int64_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1193 * return y * * cdef dict median_dict = {} # <<<<<<<<<<<<<< - * median_dict[(1, NPY_int, 0)] = median_1d_int_axis0 - * median_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 + * median_dict[(1, NPY_float, 0)] = median_1d_float_axis0 + * median_dict[(1, NPY_float32, 0)] = median_1d_float32_axis0 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -34865,17 +34865,17 @@ PyMODINIT_FUNC PyInit_median(void) /* "median.pyx":1194 * * cdef dict median_dict = {} - * median_dict[(1, NPY_int, 0)] = median_1d_int_axis0 # <<<<<<<<<<<<<< - * median_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 - * median_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 + * median_dict[(1, NPY_float, 0)] = median_1d_float_axis0 # <<<<<<<<<<<<<< + * median_dict[(1, NPY_float32, 0)] = median_1d_float32_axis0 + * median_dict[(1, NPY_float64, 0)] = median_1d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -34894,18 +34894,18 @@ PyMODINIT_FUNC PyInit_median(void) /* "median.pyx":1195 * cdef dict median_dict = {} - * median_dict[(1, NPY_int, 0)] = median_1d_int_axis0 - * median_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 # <<<<<<<<<<<<<< - * median_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 - * median_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 + * median_dict[(1, NPY_float, 0)] = median_1d_float_axis0 + * median_dict[(1, NPY_float32, 0)] = median_1d_float32_axis0 # <<<<<<<<<<<<<< + * median_dict[(1, NPY_float64, 0)] = median_1d_float64_axis0 + * median_dict[(2, NPY_float, 0)] = median_2d_float_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1195; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1195; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1195; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1195; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1195; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1195; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -34923,19 +34923,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1196 - * median_dict[(1, NPY_int, 0)] = median_1d_int_axis0 - * median_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 - * median_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 # <<<<<<<<<<<<<< - * median_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 - * median_dict[(2, NPY_int, 0)] = median_2d_int_axis0 + * median_dict[(1, NPY_float, 0)] = median_1d_float_axis0 + * median_dict[(1, NPY_float32, 0)] = median_1d_float32_axis0 + * median_dict[(1, NPY_float64, 0)] = median_1d_float64_axis0 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_float, 0)] = median_2d_float_axis0 + * median_dict[(2, NPY_float, 1)] = median_2d_float_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -34953,25 +34953,25 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1197 - * median_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 - * median_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 - * median_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_int, 0)] = median_2d_int_axis0 - * median_dict[(2, NPY_int, 1)] = median_2d_int_axis1 + * median_dict[(1, NPY_float32, 0)] = median_1d_float32_axis0 + * median_dict[(1, NPY_float64, 0)] = median_1d_float64_axis0 + * median_dict[(2, NPY_float, 0)] = median_2d_float_axis0 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_float, 1)] = median_2d_float_axis1 + * median_dict[(2, NPY_float32, 0)] = median_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -34983,19 +34983,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1198 - * median_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 - * median_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 - * median_dict[(2, NPY_int, 0)] = median_2d_int_axis0 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_int, 1)] = median_2d_int_axis1 - * median_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 + * median_dict[(1, NPY_float64, 0)] = median_1d_float64_axis0 + * median_dict[(2, NPY_float, 0)] = median_2d_float_axis0 + * median_dict[(2, NPY_float, 1)] = median_2d_float_axis1 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_float32, 0)] = median_2d_float32_axis0 + * median_dict[(2, NPY_float32, 1)] = median_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35004,28 +35004,28 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_median_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1199 - * median_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 - * median_dict[(2, NPY_int, 0)] = median_2d_int_axis0 - * median_dict[(2, NPY_int, 1)] = median_2d_int_axis1 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 - * median_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 + * median_dict[(2, NPY_float, 0)] = median_2d_float_axis0 + * median_dict[(2, NPY_float, 1)] = median_2d_float_axis1 + * median_dict[(2, NPY_float32, 0)] = median_2d_float32_axis0 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_float32, 1)] = median_2d_float32_axis1 + * median_dict[(2, NPY_float64, 0)] = median_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -35034,28 +35034,28 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_median_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1200 - * median_dict[(2, NPY_int, 0)] = median_2d_int_axis0 - * median_dict[(2, NPY_int, 1)] = median_2d_int_axis1 - * median_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 - * median_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 + * median_dict[(2, NPY_float, 1)] = median_2d_float_axis1 + * median_dict[(2, NPY_float32, 0)] = median_2d_float32_axis0 + * median_dict[(2, NPY_float32, 1)] = median_2d_float32_axis1 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_float64, 0)] = median_2d_float64_axis0 + * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35064,28 +35064,28 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_median_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1201 - * median_dict[(2, NPY_int, 1)] = median_2d_int_axis1 - * median_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 - * median_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 - * median_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 + * median_dict[(2, NPY_float32, 0)] = median_2d_float32_axis0 + * median_dict[(2, NPY_float32, 1)] = median_2d_float32_axis1 + * median_dict[(2, NPY_float64, 0)] = median_2d_float64_axis0 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 + * median_dict[(1, NPY_int, 0)] = median_1d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -35094,28 +35094,28 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_median_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1202 - * median_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 - * median_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 - * median_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 - * median_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 + * median_dict[(2, NPY_float32, 1)] = median_2d_float32_axis1 + * median_dict[(2, NPY_float64, 0)] = median_2d_float64_axis0 + * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 # <<<<<<<<<<<<<< + * median_dict[(1, NPY_int, 0)] = median_1d_int_axis0 + * median_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35124,64 +35124,64 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_median_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1203 - * median_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 - * median_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 - * median_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 - * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 + * median_dict[(2, NPY_float64, 0)] = median_2d_float64_axis0 + * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 + * median_dict[(1, NPY_int, 0)] = median_1d_int_axis0 # <<<<<<<<<<<<<< + * median_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 + * median_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_median_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1204 - * median_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 - * median_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 - * median_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 - * median_dict[(1, NPY_float, 0)] = median_1d_float_axis0 + * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 + * median_dict[(1, NPY_int, 0)] = median_1d_int_axis0 + * median_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 # <<<<<<<<<<<<<< + * median_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 + * median_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -35193,49 +35193,49 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1205 - * median_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 - * median_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 - * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 # <<<<<<<<<<<<<< - * median_dict[(1, NPY_float, 0)] = median_1d_float_axis0 - * median_dict[(1, NPY_float32, 0)] = median_1d_float32_axis0 + * median_dict[(1, NPY_int, 0)] = median_1d_int_axis0 + * median_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 + * median_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 # <<<<<<<<<<<<<< + * median_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 + * median_dict[(2, NPY_int, 0)] = median_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_median_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1206 - * median_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 - * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 - * median_dict[(1, NPY_float, 0)] = median_1d_float_axis0 # <<<<<<<<<<<<<< - * median_dict[(1, NPY_float32, 0)] = median_1d_float32_axis0 - * median_dict[(1, NPY_float64, 0)] = median_1d_float64_axis0 + * median_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 + * median_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 + * median_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_int, 0)] = median_2d_int_axis0 + * median_dict[(2, NPY_int, 1)] = median_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35253,25 +35253,25 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1207 - * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 - * median_dict[(1, NPY_float, 0)] = median_1d_float_axis0 - * median_dict[(1, NPY_float32, 0)] = median_1d_float32_axis0 # <<<<<<<<<<<<<< - * median_dict[(1, NPY_float64, 0)] = median_1d_float64_axis0 - * median_dict[(2, NPY_float, 0)] = median_2d_float_axis0 + * median_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 + * median_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 + * median_dict[(2, NPY_int, 0)] = median_2d_int_axis0 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_int, 1)] = median_2d_int_axis1 + * median_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -35283,49 +35283,49 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1208 - * median_dict[(1, NPY_float, 0)] = median_1d_float_axis0 - * median_dict[(1, NPY_float32, 0)] = median_1d_float32_axis0 - * median_dict[(1, NPY_float64, 0)] = median_1d_float64_axis0 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_float, 0)] = median_2d_float_axis0 - * median_dict[(2, NPY_float, 1)] = median_2d_float_axis1 + * median_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 + * median_dict[(2, NPY_int, 0)] = median_2d_int_axis0 + * median_dict[(2, NPY_int, 1)] = median_2d_int_axis1 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 + * median_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_median_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1209 - * median_dict[(1, NPY_float32, 0)] = median_1d_float32_axis0 - * median_dict[(1, NPY_float64, 0)] = median_1d_float64_axis0 - * median_dict[(2, NPY_float, 0)] = median_2d_float_axis0 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_float, 1)] = median_2d_float_axis1 - * median_dict[(2, NPY_float32, 0)] = median_2d_float32_axis0 + * median_dict[(2, NPY_int, 0)] = median_2d_int_axis0 + * median_dict[(2, NPY_int, 1)] = median_2d_int_axis1 + * median_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 + * median_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -35343,19 +35343,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1210 - * median_dict[(1, NPY_float64, 0)] = median_1d_float64_axis0 - * median_dict[(2, NPY_float, 0)] = median_2d_float_axis0 - * median_dict[(2, NPY_float, 1)] = median_2d_float_axis1 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_float32, 0)] = median_2d_float32_axis0 - * median_dict[(2, NPY_float32, 1)] = median_2d_float32_axis1 + * median_dict[(2, NPY_int, 1)] = median_2d_int_axis1 + * median_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 + * median_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 + * median_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35373,19 +35373,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1211 - * median_dict[(2, NPY_float, 0)] = median_2d_float_axis0 - * median_dict[(2, NPY_float, 1)] = median_2d_float_axis1 - * median_dict[(2, NPY_float32, 0)] = median_2d_float32_axis0 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_float32, 1)] = median_2d_float32_axis1 - * median_dict[(2, NPY_float64, 0)] = median_2d_float64_axis0 + * median_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 + * median_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 + * median_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 + * median_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -35403,19 +35403,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1212 - * median_dict[(2, NPY_float, 1)] = median_2d_float_axis1 - * median_dict[(2, NPY_float32, 0)] = median_2d_float32_axis0 - * median_dict[(2, NPY_float32, 1)] = median_2d_float32_axis1 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_float64, 0)] = median_2d_float64_axis0 - * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 + * median_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 + * median_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 + * median_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 + * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35433,19 +35433,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1213 - * median_dict[(2, NPY_float32, 0)] = median_2d_float32_axis0 - * median_dict[(2, NPY_float32, 1)] = median_2d_float32_axis1 - * median_dict[(2, NPY_float64, 0)] = median_2d_float64_axis0 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 + * median_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 + * median_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 + * median_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -35463,19 +35463,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1214 - * median_dict[(2, NPY_float32, 1)] = median_2d_float32_axis1 - * median_dict[(2, NPY_float64, 0)] = median_2d_float64_axis0 - * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 + * median_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 + * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 # <<<<<<<<<<<<<< * * def median_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35493,7 +35493,7 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1216 - * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 + * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 * * def median_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) median along axis 0." @@ -36594,8 +36594,8 @@ PyMODINIT_FUNC PyInit_median(void) * return y * * cdef dict nanmedian_dict = {} # <<<<<<<<<<<<<< - * nanmedian_dict[(1, NPY_int, 0)] = median_1d_int_axis0 - * nanmedian_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 + * nanmedian_dict[(1, NPY_float, 0)] = nanmedian_1d_float_axis0 + * nanmedian_dict[(1, NPY_float32, 0)] = nanmedian_1d_float32_axis0 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -36607,17 +36607,17 @@ PyMODINIT_FUNC PyInit_median(void) /* "median.pyx":2135 * * cdef dict nanmedian_dict = {} - * nanmedian_dict[(1, NPY_int, 0)] = median_1d_int_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 - * nanmedian_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 + * nanmedian_dict[(1, NPY_float, 0)] = nanmedian_1d_float_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(1, NPY_float32, 0)] = nanmedian_1d_float32_axis0 + * nanmedian_dict[(1, NPY_float64, 0)] = nanmedian_1d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36636,18 +36636,18 @@ PyMODINIT_FUNC PyInit_median(void) /* "median.pyx":2136 * cdef dict nanmedian_dict = {} - * nanmedian_dict[(1, NPY_int, 0)] = median_1d_int_axis0 - * nanmedian_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 - * nanmedian_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 + * nanmedian_dict[(1, NPY_float, 0)] = nanmedian_1d_float_axis0 + * nanmedian_dict[(1, NPY_float32, 0)] = nanmedian_1d_float32_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(1, NPY_float64, 0)] = nanmedian_1d_float64_axis0 + * nanmedian_dict[(2, NPY_float, 0)] = nanmedian_2d_float_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -36665,19 +36665,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2137 - * nanmedian_dict[(1, NPY_int, 0)] = median_1d_int_axis0 - * nanmedian_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 - * nanmedian_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 - * nanmedian_dict[(2, NPY_int, 0)] = median_2d_int_axis0 + * nanmedian_dict[(1, NPY_float, 0)] = nanmedian_1d_float_axis0 + * nanmedian_dict[(1, NPY_float32, 0)] = nanmedian_1d_float32_axis0 + * nanmedian_dict[(1, NPY_float64, 0)] = nanmedian_1d_float64_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_float, 0)] = nanmedian_2d_float_axis0 + * nanmedian_dict[(2, NPY_float, 1)] = nanmedian_2d_float_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36695,25 +36695,25 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2138 - * nanmedian_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 - * nanmedian_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 - * nanmedian_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_int, 0)] = median_2d_int_axis0 - * nanmedian_dict[(2, NPY_int, 1)] = median_2d_int_axis1 + * nanmedian_dict[(1, NPY_float32, 0)] = nanmedian_1d_float32_axis0 + * nanmedian_dict[(1, NPY_float64, 0)] = nanmedian_1d_float64_axis0 + * nanmedian_dict[(2, NPY_float, 0)] = nanmedian_2d_float_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_float, 1)] = nanmedian_2d_float_axis1 + * nanmedian_dict[(2, NPY_float32, 0)] = nanmedian_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -36725,19 +36725,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2139 - * nanmedian_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 - * nanmedian_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 - * nanmedian_dict[(2, NPY_int, 0)] = median_2d_int_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_int, 1)] = median_2d_int_axis1 - * nanmedian_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 + * nanmedian_dict[(1, NPY_float64, 0)] = nanmedian_1d_float64_axis0 + * nanmedian_dict[(2, NPY_float, 0)] = nanmedian_2d_float_axis0 + * nanmedian_dict[(2, NPY_float, 1)] = nanmedian_2d_float_axis1 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_float32, 0)] = nanmedian_2d_float32_axis0 + * nanmedian_dict[(2, NPY_float32, 1)] = nanmedian_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36746,28 +36746,28 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_nanmedian_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2140 - * nanmedian_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 - * nanmedian_dict[(2, NPY_int, 0)] = median_2d_int_axis0 - * nanmedian_dict[(2, NPY_int, 1)] = median_2d_int_axis1 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 - * nanmedian_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 + * nanmedian_dict[(2, NPY_float, 0)] = nanmedian_2d_float_axis0 + * nanmedian_dict[(2, NPY_float, 1)] = nanmedian_2d_float_axis1 + * nanmedian_dict[(2, NPY_float32, 0)] = nanmedian_2d_float32_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_float32, 1)] = nanmedian_2d_float32_axis1 + * nanmedian_dict[(2, NPY_float64, 0)] = nanmedian_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -36776,28 +36776,28 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_nanmedian_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2141 - * nanmedian_dict[(2, NPY_int, 0)] = median_2d_int_axis0 - * nanmedian_dict[(2, NPY_int, 1)] = median_2d_int_axis1 - * nanmedian_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 - * nanmedian_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 + * nanmedian_dict[(2, NPY_float, 1)] = nanmedian_2d_float_axis1 + * nanmedian_dict[(2, NPY_float32, 0)] = nanmedian_2d_float32_axis0 + * nanmedian_dict[(2, NPY_float32, 1)] = nanmedian_2d_float32_axis1 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_float64, 0)] = nanmedian_2d_float64_axis0 + * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36806,28 +36806,28 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_nanmedian_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2142 - * nanmedian_dict[(2, NPY_int, 1)] = median_2d_int_axis1 - * nanmedian_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 - * nanmedian_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 - * nanmedian_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 + * nanmedian_dict[(2, NPY_float32, 0)] = nanmedian_2d_float32_axis0 + * nanmedian_dict[(2, NPY_float32, 1)] = nanmedian_2d_float32_axis1 + * nanmedian_dict[(2, NPY_float64, 0)] = nanmedian_2d_float64_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 + * nanmedian_dict[(1, NPY_int, 0)] = median_1d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -36836,28 +36836,28 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_nanmedian_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2143 - * nanmedian_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 - * nanmedian_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 - * nanmedian_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 - * nanmedian_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 + * nanmedian_dict[(2, NPY_float32, 1)] = nanmedian_2d_float32_axis1 + * nanmedian_dict[(2, NPY_float64, 0)] = nanmedian_2d_float64_axis0 + * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanmedian_dict[(1, NPY_int, 0)] = median_1d_int_axis0 + * nanmedian_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36866,64 +36866,64 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_nanmedian_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2144 - * nanmedian_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 - * nanmedian_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 - * nanmedian_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 - * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 + * nanmedian_dict[(2, NPY_float64, 0)] = nanmedian_2d_float64_axis0 + * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 + * nanmedian_dict[(1, NPY_int, 0)] = median_1d_int_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 + * nanmedian_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_nanmedian_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2145 - * nanmedian_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 - * nanmedian_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 - * nanmedian_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 - * nanmedian_dict[(1, NPY_float, 0)] = nanmedian_1d_float_axis0 + * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 + * nanmedian_dict[(1, NPY_int, 0)] = median_1d_int_axis0 + * nanmedian_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 + * nanmedian_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -36935,49 +36935,49 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2146 - * nanmedian_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 - * nanmedian_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 - * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 # <<<<<<<<<<<<<< - * nanmedian_dict[(1, NPY_float, 0)] = nanmedian_1d_float_axis0 - * nanmedian_dict[(1, NPY_float32, 0)] = nanmedian_1d_float32_axis0 + * nanmedian_dict[(1, NPY_int, 0)] = median_1d_int_axis0 + * nanmedian_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 + * nanmedian_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 + * nanmedian_dict[(2, NPY_int, 0)] = median_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_nanmedian_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2147 - * nanmedian_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 - * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 - * nanmedian_dict[(1, NPY_float, 0)] = nanmedian_1d_float_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(1, NPY_float32, 0)] = nanmedian_1d_float32_axis0 - * nanmedian_dict[(1, NPY_float64, 0)] = nanmedian_1d_float64_axis0 + * nanmedian_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 + * nanmedian_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 + * nanmedian_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_int, 0)] = median_2d_int_axis0 + * nanmedian_dict[(2, NPY_int, 1)] = median_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36995,25 +36995,25 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2148 - * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 - * nanmedian_dict[(1, NPY_float, 0)] = nanmedian_1d_float_axis0 - * nanmedian_dict[(1, NPY_float32, 0)] = nanmedian_1d_float32_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(1, NPY_float64, 0)] = nanmedian_1d_float64_axis0 - * nanmedian_dict[(2, NPY_float, 0)] = nanmedian_2d_float_axis0 + * nanmedian_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 + * nanmedian_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 + * nanmedian_dict[(2, NPY_int, 0)] = median_2d_int_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_int, 1)] = median_2d_int_axis1 + * nanmedian_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -37025,49 +37025,49 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2149 - * nanmedian_dict[(1, NPY_float, 0)] = nanmedian_1d_float_axis0 - * nanmedian_dict[(1, NPY_float32, 0)] = nanmedian_1d_float32_axis0 - * nanmedian_dict[(1, NPY_float64, 0)] = nanmedian_1d_float64_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_float, 0)] = nanmedian_2d_float_axis0 - * nanmedian_dict[(2, NPY_float, 1)] = nanmedian_2d_float_axis1 + * nanmedian_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 + * nanmedian_dict[(2, NPY_int, 0)] = median_2d_int_axis0 + * nanmedian_dict[(2, NPY_int, 1)] = median_2d_int_axis1 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 + * nanmedian_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_nanmedian_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2150 - * nanmedian_dict[(1, NPY_float32, 0)] = nanmedian_1d_float32_axis0 - * nanmedian_dict[(1, NPY_float64, 0)] = nanmedian_1d_float64_axis0 - * nanmedian_dict[(2, NPY_float, 0)] = nanmedian_2d_float_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_float, 1)] = nanmedian_2d_float_axis1 - * nanmedian_dict[(2, NPY_float32, 0)] = nanmedian_2d_float32_axis0 + * nanmedian_dict[(2, NPY_int, 0)] = median_2d_int_axis0 + * nanmedian_dict[(2, NPY_int, 1)] = median_2d_int_axis1 + * nanmedian_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 + * nanmedian_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -37085,19 +37085,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2151 - * nanmedian_dict[(1, NPY_float64, 0)] = nanmedian_1d_float64_axis0 - * nanmedian_dict[(2, NPY_float, 0)] = nanmedian_2d_float_axis0 - * nanmedian_dict[(2, NPY_float, 1)] = nanmedian_2d_float_axis1 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_float32, 0)] = nanmedian_2d_float32_axis0 - * nanmedian_dict[(2, NPY_float32, 1)] = nanmedian_2d_float32_axis1 + * nanmedian_dict[(2, NPY_int, 1)] = median_2d_int_axis1 + * nanmedian_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 + * nanmedian_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 + * nanmedian_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -37115,19 +37115,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2152 - * nanmedian_dict[(2, NPY_float, 0)] = nanmedian_2d_float_axis0 - * nanmedian_dict[(2, NPY_float, 1)] = nanmedian_2d_float_axis1 - * nanmedian_dict[(2, NPY_float32, 0)] = nanmedian_2d_float32_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_float32, 1)] = nanmedian_2d_float32_axis1 - * nanmedian_dict[(2, NPY_float64, 0)] = nanmedian_2d_float64_axis0 + * nanmedian_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 + * nanmedian_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 + * nanmedian_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 + * nanmedian_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -37145,19 +37145,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2153 - * nanmedian_dict[(2, NPY_float, 1)] = nanmedian_2d_float_axis1 - * nanmedian_dict[(2, NPY_float32, 0)] = nanmedian_2d_float32_axis0 - * nanmedian_dict[(2, NPY_float32, 1)] = nanmedian_2d_float32_axis1 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_float64, 0)] = nanmedian_2d_float64_axis0 - * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 + * nanmedian_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 + * nanmedian_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 + * nanmedian_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 + * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -37175,19 +37175,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2154 - * nanmedian_dict[(2, NPY_float32, 0)] = nanmedian_2d_float32_axis0 - * nanmedian_dict[(2, NPY_float32, 1)] = nanmedian_2d_float32_axis1 - * nanmedian_dict[(2, NPY_float64, 0)] = nanmedian_2d_float64_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 + * nanmedian_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 + * nanmedian_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 + * nanmedian_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -37205,19 +37205,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2155 - * nanmedian_dict[(2, NPY_float32, 1)] = nanmedian_2d_float32_axis1 - * nanmedian_dict[(2, NPY_float64, 0)] = nanmedian_2d_float64_axis0 - * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 + * nanmedian_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 + * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nanmedian_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -37235,7 +37235,7 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2157 - * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 + * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 * * def nanmedian_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmedian along axis 0." @@ -38211,7 +38211,7 @@ PyMODINIT_FUNC PyInit_median(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/nanargmax.c b/bottlechest/src/func/32bit/nanargmax.c index 3f999da3ae..f552dddd00 100644 --- a/bottlechest/src/func/32bit/nanargmax.c +++ b/bottlechest/src/func/32bit/nanargmax.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1096,14 +1096,14 @@ static __pyx_t_5numpy_float32_t __pyx_v_9nanargmax_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_9nanargmax_MAXfloat64; static PyObject *__pyx_v_9nanargmax_nanargmax_dict = 0; static PyObject *__pyx_v_9nanargmax_nanargmax_slow_dict = 0; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t = { "intp_t", NULL, sizeof(__pyx_t_5numpy_intp_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_intp_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_intp_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t = { "intp_t", NULL, sizeof(__pyx_t_5numpy_intp_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_intp_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_intp_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "nanargmax" int __pyx_module_is_main_nanargmax = 0; @@ -1115,27 +1115,27 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_9nanargmax_nanargmax(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_9nanargmax_2nanargmax_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_10nanargmax_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_18nanargmax_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_22nanargmax_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_24nanargmax_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_26nanargmax_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_30nanargmax_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_32nanargmax_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_10nanargmax_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_18nanargmax_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_22nanargmax_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_24nanargmax_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_26nanargmax_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_30nanargmax_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_32nanargmax_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_9nanargmax_46nanargmax_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_9nanargmax_48nanargmax_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_9nanargmax_50nanargmax_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1308,9 +1308,9 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Indices_of_the_maximum_values_a[] = "\n Indices of the maximum values along an axis, ignoring NaNs.\n<<<<<<< HEAD:bottlechest/src/template/func/nanargmax.py\n \n=======\n\n For all-NaN slices ``ValueError`` is raised. Unlike NumPy, the results\n can be trusted if a slice contains only NaNs and Infs.\n\n>>>>>>> 72f8ae2... ENH nanargmin and nanargmax now match numpy 1.8.0:bottleneck/src/template/func/nanargmax.py\n Parameters\n ----------\n a : array_like\n Input data.\n axis : {int, None}, optional\n Axis along which to operate. By default (axis=None) flattened input\n is used.\n \n See also\n --------\n bottlechest.nanargmin: Indices of the minimum values along an axis.\n bottlechest.nanmax: Maximum values along specified axis, ignoring NaNs.\n\n Returns\n -------\n index_array : ndarray\n An array of indices or a single index value.\n \n Examples\n --------\n >>> a = np.array([[np.nan, 4], [2, 3]])\n >>> bn.nanargmax(a)\n 1\n >>> a.flat[1]\n 4.0\n >>> bn.nanargmax(a, axis=0)\n array([1, 0])\n >>> bn.nanargmax(a, axis=1)\n array([1, 1])\n \n "; static char __pyx_k_Return_nanargmax_function_and_a[] = "\n Return nanargmax function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.nanargmax() is in checking that `axis` is within range, converting\n `arr` into an array (if it is not already an array), and selecting the\n function to use to find the indices of the maximum.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the indices are found.\n \n Returns\n -------\n func : function\n The nanargmax function that matches the number of dimensions and\n dtype of the input array and the axis.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine the nanargmax of `arr` along\n axis=0:\n\n >>> func, a = bn.func.nanargmax_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the maximum:\n \n >>> func(a)\n 2\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/nanargmax.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\nanargmax.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; @@ -1318,7 +1318,6 @@ static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran static char __pyx_k_numpy_nanargmax_raises_on_a_shap[] = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too."; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; static PyObject *__pyx_kp_s_All_NaN_slice_encountered; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1332,6 +1331,7 @@ static PyObject *__pyx_kp_u_Return_nanargmax_function_and_a; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__16; static PyObject *__pyx_n_s_a; @@ -2448,24 +2448,24 @@ static PyObject *__pyx_pf_9nanargmax_2nanargmax_selector(CYTHON_UNUSED PyObject /* "nanargmax.pyx":190 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int array along axis=0 ignoring NaNs." + * def nanargmax_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_5nanargmax_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_4nanargmax_1d_int_axis0[] = "nanargmax_1d_int_axis0(ndarray a)\nIndex of max of 1d, int array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_5nanargmax_1d_int_axis0 = {"nanargmax_1d_int_axis0", (PyCFunction)__pyx_pw_9nanargmax_5nanargmax_1d_int_axis0, METH_O, __pyx_doc_9nanargmax_4nanargmax_1d_int_axis0}; -static PyObject *__pyx_pw_9nanargmax_5nanargmax_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_5nanargmax_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_4nanargmax_1d_float_axis0[] = "nanargmax_1d_float_axis0(ndarray a)\nIndex of max of 1d, float array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_5nanargmax_1d_float_axis0 = {"nanargmax_1d_float_axis0", (PyCFunction)__pyx_pw_9nanargmax_5nanargmax_1d_float_axis0, METH_O, __pyx_doc_9nanargmax_4nanargmax_1d_float_axis0}; +static PyObject *__pyx_pw_9nanargmax_5nanargmax_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_1d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanargmax_1d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_9nanargmax_4nanargmax_1d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2476,10 +2476,10 @@ static PyObject *__pyx_pw_9nanargmax_5nanargmax_1d_int_axis0(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amax; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amax; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -2494,36 +2494,35 @@ static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(CYTHON_UNUSED PyObj PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_1d_int_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_1d_float_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "nanargmax.pyx":192 - * def nanargmax_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): - * "Index of max of 1d, int array along axis=0 ignoring NaNs." + * def nanargmax_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): + * "Index of max of 1d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amax, ai + * cdef np.float_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; /* "nanargmax.pyx":194 * cdef int allnan = 1 - * cdef np.int_t amax, ai + * cdef np.float_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim @@ -2563,7 +2562,7 @@ static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(CYTHON_UNUSED PyObj * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amax = MINint + * amax = MINfloat */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; @@ -2572,8 +2571,8 @@ static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(CYTHON_UNUSED PyObj * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amax = MINint - * for i0 in range(n0): + * amax = MINfloat + * for i0 in range(n0 - 1, -1, -1): */ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -2591,39 +2590,38 @@ static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(CYTHON_UNUSED PyObj /* "nanargmax.pyx":202 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amax = MINint # <<<<<<<<<<<<<< - * for i0 in range(n0): + * amax = MINfloat # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint; + __pyx_v_amax = __pyx_v_9nanargmax_MINfloat; /* "nanargmax.pyx":203 * raise ValueError(msg) - * amax = MINint - * for i0 in range(n0): # <<<<<<<<<<<<<< + * amax = MINfloat + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0] * if ai >= amax: */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { + __pyx_v_i0 = __pyx_t_4; /* "nanargmax.pyx":204 - * amax = MINint - * for i0 in range(n0): + * amax = MINfloat + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); /* "nanargmax.pyx":205 - * for i0 in range(n0): + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * idx = i0 + * allnan = 0 */ __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_1) { @@ -2632,17 +2630,26 @@ static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(CYTHON_UNUSED PyObj * ai = a[i0] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< + * allnan = 0 * idx = i0 - * return np.intp(idx) */ __pyx_v_amax = __pyx_v_ai; /* "nanargmax.pyx":207 * if ai >= amax: * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: + */ + __pyx_v_allnan = 0; + + /* "nanargmax.pyx":208 + * amax = ai + * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * return np.intp(idx) - * + * if allnan == 0: + * return np.intp(idx) */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L6; @@ -2650,56 +2657,82 @@ static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(CYTHON_UNUSED PyObj __pyx_L6:; } - /* "nanargmax.pyx":208 - * amax = ai + /* "nanargmax.pyx":209 + * allnan = 0 * idx = i0 - * return np.intp(idx) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.intp(idx) + * else: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_1) { + + /* "nanargmax.pyx":210 + * idx = i0 + * if allnan == 0: + * return np.intp(idx) # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + /*else*/ { + + /* "nanargmax.pyx":212 + * return np.intp(idx) + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; /* "nanargmax.pyx":190 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int array along axis=0 ignoring NaNs." + * def nanargmax_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -2707,14 +2740,14 @@ static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(CYTHON_UNUSED PyObj __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2726,27 +2759,27 @@ static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanargmax.pyx":212 +/* "nanargmax.pyx":216 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + * def nanargmax_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_7nanargmax_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_6nanargmax_1d_int8_axis0[] = "nanargmax_1d_int8_axis0(ndarray a)\nIndex of max of 1d, int8 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_7nanargmax_1d_int8_axis0 = {"nanargmax_1d_int8_axis0", (PyCFunction)__pyx_pw_9nanargmax_7nanargmax_1d_int8_axis0, METH_O, __pyx_doc_9nanargmax_6nanargmax_1d_int8_axis0}; -static PyObject *__pyx_pw_9nanargmax_7nanargmax_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_7nanargmax_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_6nanargmax_1d_float32_axis0[] = "nanargmax_1d_float32_axis0(ndarray a)\nIndex of max of 1d, float32 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_7nanargmax_1d_float32_axis0 = {"nanargmax_1d_float32_axis0", (PyCFunction)__pyx_pw_9nanargmax_7nanargmax_1d_float32_axis0, METH_O, __pyx_doc_9nanargmax_6nanargmax_1d_float32_axis0}; +static PyObject *__pyx_pw_9nanargmax_7nanargmax_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_1d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_6nanargmax_1d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_1d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_6nanargmax_1d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2757,10 +2790,10 @@ static PyObject *__pyx_pw_9nanargmax_7nanargmax_1d_int8_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amax; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amax; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -2775,43 +2808,42 @@ static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_int8_axis0(CYTHON_UNUSED PyOb PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_1d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_1d_float32_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmax.pyx":214 - * def nanargmax_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): - * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":218 + * def nanargmax_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): + * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amax, ai + * cdef np.float32_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":216 + /* "nanargmax.pyx":220 * cdef int allnan = 1 - * cdef np.int8_t amax, ai + * cdef np.float32_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":219 + /* "nanargmax.pyx":223 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2820,7 +2852,7 @@ static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_int8_axis0(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":220 + /* "nanargmax.pyx":224 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2829,7 +2861,7 @@ static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_int8_axis0(CYTHON_UNUSED PyOb */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":221 + /* "nanargmax.pyx":225 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< @@ -2839,91 +2871,99 @@ static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_int8_axis0(CYTHON_UNUSED PyOb __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanargmax.pyx":222 + /* "nanargmax.pyx":226 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amax = MINint8 + * amax = MINfloat32 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":223 + /* "nanargmax.pyx":227 * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amax = MINint8 - * for i0 in range(n0): + * amax = MINfloat32 + * for i0 in range(n0 - 1, -1, -1): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":224 + /* "nanargmax.pyx":228 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amax = MINint8 # <<<<<<<<<<<<<< - * for i0 in range(n0): + * amax = MINfloat32 # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint8; + __pyx_v_amax = __pyx_v_9nanargmax_MINfloat32; - /* "nanargmax.pyx":225 + /* "nanargmax.pyx":229 * raise ValueError(msg) - * amax = MINint8 - * for i0 in range(n0): # <<<<<<<<<<<<<< + * amax = MINfloat32 + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0] * if ai >= amax: */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { + __pyx_v_i0 = __pyx_t_4; - /* "nanargmax.pyx":226 - * amax = MINint8 - * for i0 in range(n0): + /* "nanargmax.pyx":230 + * amax = MINfloat32 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmax.pyx":227 - * for i0 in range(n0): + /* "nanargmax.pyx":231 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * idx = i0 + * allnan = 0 */ __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_1) { - /* "nanargmax.pyx":228 + /* "nanargmax.pyx":232 * ai = a[i0] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< + * allnan = 0 * idx = i0 - * return np.intp(idx) */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":229 + /* "nanargmax.pyx":233 * if ai >= amax: * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: + */ + __pyx_v_allnan = 0; + + /* "nanargmax.pyx":234 + * amax = ai + * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * return np.intp(idx) - * + * if allnan == 0: + * return np.intp(idx) */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L6; @@ -2931,56 +2971,82 @@ static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_int8_axis0(CYTHON_UNUSED PyOb __pyx_L6:; } - /* "nanargmax.pyx":230 - * amax = ai + /* "nanargmax.pyx":235 + * allnan = 0 * idx = i0 - * return np.intp(idx) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.intp(idx) + * else: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_1) { + + /* "nanargmax.pyx":236 + * idx = i0 + * if allnan == 0: + * return np.intp(idx) # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + /*else*/ { + + /* "nanargmax.pyx":238 + * return np.intp(idx) + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - /* "nanargmax.pyx":212 + /* "nanargmax.pyx":216 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + * def nanargmax_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -2988,14 +3054,14 @@ static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_int8_axis0(CYTHON_UNUSED PyOb __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3007,27 +3073,27 @@ static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_int8_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "nanargmax.pyx":234 +/* "nanargmax.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." + * def nanargmax_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_9nanargmax_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_8nanargmax_1d_int32_axis0[] = "nanargmax_1d_int32_axis0(ndarray a)\nIndex of max of 1d, int32 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_9nanargmax_1d_int32_axis0 = {"nanargmax_1d_int32_axis0", (PyCFunction)__pyx_pw_9nanargmax_9nanargmax_1d_int32_axis0, METH_O, __pyx_doc_9nanargmax_8nanargmax_1d_int32_axis0}; -static PyObject *__pyx_pw_9nanargmax_9nanargmax_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_9nanargmax_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_8nanargmax_1d_float64_axis0[] = "nanargmax_1d_float64_axis0(ndarray a)\nIndex of max of 1d, float64 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_9nanargmax_1d_float64_axis0 = {"nanargmax_1d_float64_axis0", (PyCFunction)__pyx_pw_9nanargmax_9nanargmax_1d_float64_axis0, METH_O, __pyx_doc_9nanargmax_8nanargmax_1d_float64_axis0}; +static PyObject *__pyx_pw_9nanargmax_9nanargmax_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_1d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_8nanargmax_1d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_1d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_8nanargmax_1d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3038,10 +3104,10 @@ static PyObject *__pyx_pw_9nanargmax_9nanargmax_1d_int32_axis0(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amax; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_amax; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -3056,43 +3122,42 @@ static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_int32_axis0(CYTHON_UNUSED PyO PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_1d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_1d_float64_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmax.pyx":236 - * def nanargmax_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): - * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":244 + * def nanargmax_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): + * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amax, ai + * cdef np.float64_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":238 + /* "nanargmax.pyx":246 * cdef int allnan = 1 - * cdef np.int32_t amax, ai + * cdef np.float64_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":241 + /* "nanargmax.pyx":249 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3101,7 +3166,7 @@ static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_int32_axis0(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":242 + /* "nanargmax.pyx":250 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3110,7 +3175,7 @@ static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_int32_axis0(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":243 + /* "nanargmax.pyx":251 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< @@ -3120,91 +3185,99 @@ static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_int32_axis0(CYTHON_UNUSED PyO __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanargmax.pyx":244 + /* "nanargmax.pyx":252 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amax = MINint32 + * amax = MINfloat64 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":245 + /* "nanargmax.pyx":253 * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amax = MINint32 - * for i0 in range(n0): + * amax = MINfloat64 + * for i0 in range(n0 - 1, -1, -1): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":246 + /* "nanargmax.pyx":254 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amax = MINint32 # <<<<<<<<<<<<<< - * for i0 in range(n0): + * amax = MINfloat64 # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint32; + __pyx_v_amax = __pyx_v_9nanargmax_MINfloat64; - /* "nanargmax.pyx":247 + /* "nanargmax.pyx":255 * raise ValueError(msg) - * amax = MINint32 - * for i0 in range(n0): # <<<<<<<<<<<<<< + * amax = MINfloat64 + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0] * if ai >= amax: */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { + __pyx_v_i0 = __pyx_t_4; - /* "nanargmax.pyx":248 - * amax = MINint32 - * for i0 in range(n0): + /* "nanargmax.pyx":256 + * amax = MINfloat64 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmax.pyx":249 - * for i0 in range(n0): + /* "nanargmax.pyx":257 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * idx = i0 + * allnan = 0 */ __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_1) { - /* "nanargmax.pyx":250 + /* "nanargmax.pyx":258 * ai = a[i0] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< + * allnan = 0 * idx = i0 - * return np.intp(idx) */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":251 + /* "nanargmax.pyx":259 * if ai >= amax: * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: + */ + __pyx_v_allnan = 0; + + /* "nanargmax.pyx":260 + * amax = ai + * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * return np.intp(idx) - * + * if allnan == 0: + * return np.intp(idx) */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L6; @@ -3212,56 +3285,82 @@ static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_int32_axis0(CYTHON_UNUSED PyO __pyx_L6:; } - /* "nanargmax.pyx":252 - * amax = ai + /* "nanargmax.pyx":261 + * allnan = 0 * idx = i0 - * return np.intp(idx) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.intp(idx) + * else: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_1) { + + /* "nanargmax.pyx":262 + * idx = i0 + * if allnan == 0: + * return np.intp(idx) # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + /*else*/ { + + /* "nanargmax.pyx":264 + * return np.intp(idx) + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - /* "nanargmax.pyx":234 + /* "nanargmax.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." + * def nanargmax_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -3269,14 +3368,14 @@ static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_int32_axis0(CYTHON_UNUSED PyO __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3288,27 +3387,27 @@ static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_int32_axis0(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanargmax.pyx":256 +/* "nanargmax.pyx":268 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_11nanargmax_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_10nanargmax_1d_int64_axis0[] = "nanargmax_1d_int64_axis0(ndarray a)\nIndex of max of 1d, int64 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_11nanargmax_1d_int64_axis0 = {"nanargmax_1d_int64_axis0", (PyCFunction)__pyx_pw_9nanargmax_11nanargmax_1d_int64_axis0, METH_O, __pyx_doc_9nanargmax_10nanargmax_1d_int64_axis0}; -static PyObject *__pyx_pw_9nanargmax_11nanargmax_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_11nanargmax_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_10nanargmax_2d_float_axis0[] = "nanargmax_2d_float_axis0(ndarray a)\nIndex of max of 2d, float array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_11nanargmax_2d_float_axis0 = {"nanargmax_2d_float_axis0", (PyCFunction)__pyx_pw_9nanargmax_11nanargmax_2d_float_axis0, METH_O, __pyx_doc_9nanargmax_10nanargmax_2d_float_axis0}; +static PyObject *__pyx_pw_9nanargmax_11nanargmax_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_1d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_10nanargmax_1d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_float_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_10nanargmax_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3319,277 +3418,363 @@ static PyObject *__pyx_pw_9nanargmax_11nanargmax_1d_int64_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_10nanargmax_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amax; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_10nanargmax_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amax; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_1d_int64_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_float_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":258 - * def nanargmax_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): - * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":270 + * def nanargmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Index of max of 2d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amax, ai + * cdef np.float_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":260 + /* "nanargmax.pyx":272 * cdef int allnan = 1 - * cdef np.int64_t amax, ai + * cdef np.float_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":263 - * cdef Py_ssize_t i0 + /* "nanargmax.pyx":275 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":264 + /* "nanargmax.pyx":276 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":265 + /* "nanargmax.pyx":277 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanargmax.pyx":278 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "nanargmax.pyx":279 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_intp, 0) + * if n0 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanargmax.pyx":281 + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanargmax.pyx":266 - * cdef Py_ssize_t n0 = dim[0] + /* "nanargmax.pyx":282 + * NPY_intp, 0) * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amax = MINint64 + * for i1 in range(n1 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":267 + /* "nanargmax.pyx":283 * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amax = MINint64 - * for i0 in range(n0): + * for i1 in range(n1 - 1, -1, -1): + * amax = MINfloat */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":268 + /* "nanargmax.pyx":284 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amax = MINint64 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + * amax = MINfloat + * allnan = 1 */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint64; + for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanargmax.pyx":269 + /* "nanargmax.pyx":285 * raise ValueError(msg) - * amax = MINint64 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai >= amax: + * for i1 in range(n1 - 1, -1, -1): + * amax = MINfloat # <<<<<<<<<<<<<< + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amax = __pyx_v_9nanargmax_MINfloat; - /* "nanargmax.pyx":270 - * amax = MINint64 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "nanargmax.pyx":286 + * for i1 in range(n1 - 1, -1, -1): + * amax = MINfloat + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_allnan = 1; - /* "nanargmax.pyx":271 - * for i0 in range(n0): - * ai = a[i0] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * idx = i0 + /* "nanargmax.pyx":287 + * amax = MINfloat + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai >= amax: */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanargmax.pyx":272 - * ai = a[i0] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * idx = i0 - * return np.intp(idx) + /* "nanargmax.pyx":288 + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_v_amax = __pyx_v_ai; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":273 - * if ai >= amax: - * amax = ai - * idx = i0 # <<<<<<<<<<<<<< - * return np.intp(idx) - * + /* "nanargmax.pyx":289 + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * allnan = 0 */ - __pyx_v_idx = __pyx_v_i0; - goto __pyx_L6; - } - __pyx_L6:; - } + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { - /* "nanargmax.pyx":274 - * amax = ai - * idx = i0 - * return np.intp(idx) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + /* "nanargmax.pyx":290 + * ai = a[i0, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * allnan = 0 + * idx = i0 */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; + __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":256 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanargmax_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." - * cdef int allnan = 1 + /* "nanargmax.pyx":291 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: */ + __pyx_v_allnan = 0; - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + /* "nanargmax.pyx":292 + * amax = ai + * allnan = 0 + * idx = i0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = idx + */ + __pyx_v_idx = __pyx_v_i0; + goto __pyx_L8; + } + __pyx_L8:; + } + + /* "nanargmax.pyx":293 + * allnan = 0 + * idx = i0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = idx + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanargmax.pyx":294 + * idx = i0 + * if allnan == 0: + * y[i1] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { + + /* "nanargmax.pyx":296 + * y[i1] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; + } + + /* "nanargmax.pyx":297 + * else: + * raise ValueError("All-NaN slice encountered") + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "nanargmax.pyx":268 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanargmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=0 ignoring NaNs." + * cdef int allnan = 1 + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmax.pyx":278 +/* "nanargmax.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=0 ignoring NaNs." + * def nanargmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_13nanargmax_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_12nanargmax_2d_int_axis0[] = "nanargmax_2d_int_axis0(ndarray a)\nIndex of max of 2d, int array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_13nanargmax_2d_int_axis0 = {"nanargmax_2d_int_axis0", (PyCFunction)__pyx_pw_9nanargmax_13nanargmax_2d_int_axis0, METH_O, __pyx_doc_9nanargmax_12nanargmax_2d_int_axis0}; -static PyObject *__pyx_pw_9nanargmax_13nanargmax_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_13nanargmax_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_12nanargmax_2d_float_axis1[] = "nanargmax_2d_float_axis1(ndarray a)\nIndex of max of 2d, float array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_13nanargmax_2d_float_axis1 = {"nanargmax_2d_float_axis1", (PyCFunction)__pyx_pw_9nanargmax_13nanargmax_2d_float_axis1, METH_O, __pyx_doc_9nanargmax_12nanargmax_2d_float_axis1}; +static PyObject *__pyx_pw_9nanargmax_13nanargmax_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_int_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_12nanargmax_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_float_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_12nanargmax_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3600,10 +3785,10 @@ static PyObject *__pyx_pw_9nanargmax_13nanargmax_2d_int_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amax; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amax; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -3631,7 +3816,7 @@ static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_int_axis0(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3642,29 +3827,29 @@ static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_int_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":280 - * def nanargmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Index of max of 2d, int array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":303 + * def nanargmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Index of max of 2d, float array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amax, ai + * cdef np.float_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":282 + /* "nanargmax.pyx":305 * cdef int allnan = 1 - * cdef np.int_t amax, ai + * cdef np.float_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":285 + /* "nanargmax.pyx":308 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3673,50 +3858,50 @@ static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_int_axis0(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":286 + /* "nanargmax.pyx":309 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":287 + /* "nanargmax.pyx":310 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":288 + /* "nanargmax.pyx":311 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ - __pyx_t_1[0] = __pyx_v_n1; + __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":289 + /* "nanargmax.pyx":312 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3724,132 +3909,178 @@ static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_int_axis0(CYTHON_UNUSED PyOb __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":291 + /* "nanargmax.pyx":314 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":292 + /* "nanargmax.pyx":315 * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":293 - * if n0 == 0: + /* "nanargmax.pyx":316 + * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint + * for i0 in range(n0 - 1, -1, -1): + * amax = MINfloat */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":294 + /* "nanargmax.pyx":317 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINint - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * amax = MINfloat + * allnan = 1 */ - for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i1 = __pyx_t_6; + for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanargmax.pyx":295 + /* "nanargmax.pyx":318 * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): + * amax = MINfloat # <<<<<<<<<<<<<< + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): + */ + __pyx_v_amax = __pyx_v_9nanargmax_MINfloat; + + /* "nanargmax.pyx":319 + * for i0 in range(n0 - 1, -1, -1): + * amax = MINfloat + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint; + __pyx_v_allnan = 1; - /* "nanargmax.pyx":296 - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + /* "nanargmax.pyx":320 + * amax = MINfloat + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i0 = __pyx_t_7; + for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanargmax.pyx":297 - * amax = MINint - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmax.pyx":321 + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":298 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmax.pyx":322 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * idx = i0 + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":299 + /* "nanargmax.pyx":323 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * idx = i0 - * y[i1] = idx + * allnan = 0 + * idx = i1 */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":300 + /* "nanargmax.pyx":324 * if ai >= amax: * amax = ai - * idx = i0 # <<<<<<<<<<<<<< - * y[i1] = idx - * return y + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i1 + * if allnan == 0: */ - __pyx_v_idx = __pyx_v_i0; + __pyx_v_allnan = 0; + + /* "nanargmax.pyx":325 + * amax = ai + * allnan = 0 + * idx = i1 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = idx + */ + __pyx_v_idx = __pyx_v_i1; goto __pyx_L8; } __pyx_L8:; } - /* "nanargmax.pyx":301 - * amax = ai - * idx = i0 - * y[i1] = idx # <<<<<<<<<<<<<< + /* "nanargmax.pyx":326 + * allnan = 0 + * idx = i1 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = idx + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanargmax.pyx":327 + * idx = i1 + * if allnan == 0: + * y[i0] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { + + /* "nanargmax.pyx":329 + * y[i0] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; } - /* "nanargmax.pyx":302 - * idx = i0 - * y[i1] = idx + /* "nanargmax.pyx":330 + * else: + * raise ValueError("All-NaN slice encountered") * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3859,11 +4090,11 @@ static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_int_axis0(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmax.pyx":278 + /* "nanargmax.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=0 ignoring NaNs." + * def nanargmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -3876,7 +4107,7 @@ static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_int_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3890,27 +4121,27 @@ static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_int_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "nanargmax.pyx":306 +/* "nanargmax.pyx":334 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=1 ignoring NaNs." + * def nanargmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_15nanargmax_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_14nanargmax_2d_int_axis1[] = "nanargmax_2d_int_axis1(ndarray a)\nIndex of max of 2d, int array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_15nanargmax_2d_int_axis1 = {"nanargmax_2d_int_axis1", (PyCFunction)__pyx_pw_9nanargmax_15nanargmax_2d_int_axis1, METH_O, __pyx_doc_9nanargmax_14nanargmax_2d_int_axis1}; -static PyObject *__pyx_pw_9nanargmax_15nanargmax_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_15nanargmax_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_14nanargmax_2d_float32_axis0[] = "nanargmax_2d_float32_axis0(ndarray a)\nIndex of max of 2d, float32 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_15nanargmax_2d_float32_axis0 = {"nanargmax_2d_float32_axis0", (PyCFunction)__pyx_pw_9nanargmax_15nanargmax_2d_float32_axis0, METH_O, __pyx_doc_9nanargmax_14nanargmax_2d_float32_axis0}; +static PyObject *__pyx_pw_9nanargmax_15nanargmax_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_int_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_14nanargmax_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_14nanargmax_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3921,10 +4152,10 @@ static PyObject *__pyx_pw_9nanargmax_15nanargmax_2d_int_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amax; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amax; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -3952,7 +4183,7 @@ static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_int_axis1(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3963,29 +4194,29 @@ static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_int_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":308 - * def nanargmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Index of max of 2d, int array along axis=1 ignoring NaNs." + /* "nanargmax.pyx":336 + * def nanargmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amax, ai + * cdef np.float32_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":310 + /* "nanargmax.pyx":338 * cdef int allnan = 1 - * cdef np.int_t amax, ai + * cdef np.float32_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":313 + /* "nanargmax.pyx":341 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3994,50 +4225,50 @@ static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_int_axis1(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":314 + /* "nanargmax.pyx":342 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":315 + /* "nanargmax.pyx":343 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":316 + /* "nanargmax.pyx":344 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ - __pyx_t_1[0] = __pyx_v_n0; + __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":317 + /* "nanargmax.pyx":345 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) - * if n1 == 0: + * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4045,132 +4276,178 @@ static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_int_axis1(CYTHON_UNUSED PyOb __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":319 + /* "nanargmax.pyx":347 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":320 + /* "nanargmax.pyx":348 * NPY_intp, 0) - * if n1 == 0: + * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":321 - * if n1 == 0: + /* "nanargmax.pyx":349 + * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint + * for i1 in range(n1 - 1, -1, -1): + * amax = MINfloat32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":322 + /* "nanargmax.pyx":350 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINint - * for i1 in range(n1 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + * amax = MINfloat32 + * allnan = 1 */ - for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i0 = __pyx_t_6; + for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanargmax.pyx":323 + /* "nanargmax.pyx":351 * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): + * amax = MINfloat32 # <<<<<<<<<<<<<< + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): + */ + __pyx_v_amax = __pyx_v_9nanargmax_MINfloat32; + + /* "nanargmax.pyx":352 + * for i1 in range(n1 - 1, -1, -1): + * amax = MINfloat32 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint; + __pyx_v_allnan = 1; - /* "nanargmax.pyx":324 - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + /* "nanargmax.pyx":353 + * amax = MINfloat32 + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i1 = __pyx_t_7; + for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanargmax.pyx":325 - * amax = MINint - * for i1 in range(n1 - 1, -1, -1): + /* "nanargmax.pyx":354 + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":326 - * for i1 in range(n1 - 1, -1, -1): + /* "nanargmax.pyx":355 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * idx = i1 + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":327 + /* "nanargmax.pyx":356 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * idx = i1 - * y[i0] = idx + * allnan = 0 + * idx = i0 */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":328 + /* "nanargmax.pyx":357 * if ai >= amax: * amax = ai - * idx = i1 # <<<<<<<<<<<<<< - * y[i0] = idx - * return y + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: */ - __pyx_v_idx = __pyx_v_i1; + __pyx_v_allnan = 0; + + /* "nanargmax.pyx":358 + * amax = ai + * allnan = 0 + * idx = i0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = idx + */ + __pyx_v_idx = __pyx_v_i0; goto __pyx_L8; } __pyx_L8:; } - /* "nanargmax.pyx":329 - * amax = ai - * idx = i1 - * y[i0] = idx # <<<<<<<<<<<<<< + /* "nanargmax.pyx":359 + * allnan = 0 + * idx = i0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = idx + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanargmax.pyx":360 + * idx = i0 + * if allnan == 0: + * y[i1] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { + + /* "nanargmax.pyx":362 + * y[i1] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; } - /* "nanargmax.pyx":330 - * idx = i1 - * y[i0] = idx + /* "nanargmax.pyx":363 + * else: + * raise ValueError("All-NaN slice encountered") * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4180,11 +4457,11 @@ static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_int_axis1(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmax.pyx":306 + /* "nanargmax.pyx":334 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=1 ignoring NaNs." + * def nanargmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -4197,7 +4474,7 @@ static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_int_axis1(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4211,27 +4488,27 @@ static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_int_axis1(CYTHON_UNUSED PyOb return __pyx_r; } -/* "nanargmax.pyx":334 +/* "nanargmax.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_17nanargmax_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_16nanargmax_2d_int8_axis0[] = "nanargmax_2d_int8_axis0(ndarray a)\nIndex of max of 2d, int8 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_17nanargmax_2d_int8_axis0 = {"nanargmax_2d_int8_axis0", (PyCFunction)__pyx_pw_9nanargmax_17nanargmax_2d_int8_axis0, METH_O, __pyx_doc_9nanargmax_16nanargmax_2d_int8_axis0}; -static PyObject *__pyx_pw_9nanargmax_17nanargmax_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_17nanargmax_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_16nanargmax_2d_float32_axis1[] = "nanargmax_2d_float32_axis1(ndarray a)\nIndex of max of 2d, float32 array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_17nanargmax_2d_float32_axis1 = {"nanargmax_2d_float32_axis1", (PyCFunction)__pyx_pw_9nanargmax_17nanargmax_2d_float32_axis1, METH_O, __pyx_doc_9nanargmax_16nanargmax_2d_float32_axis1}; +static PyObject *__pyx_pw_9nanargmax_17nanargmax_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_16nanargmax_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_float32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_16nanargmax_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4242,10 +4519,10 @@ static PyObject *__pyx_pw_9nanargmax_17nanargmax_2d_int8_axis0(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amax; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amax; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -4273,7 +4550,7 @@ static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_int8_axis0(CYTHON_UNUSED PyO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4284,29 +4561,29 @@ static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_int8_axis0(CYTHON_UNUSED PyO __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":336 - * def nanargmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":369 + * def nanargmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amax, ai + * cdef np.float32_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":338 + /* "nanargmax.pyx":371 * cdef int allnan = 1 - * cdef np.int8_t amax, ai + * cdef np.float32_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":341 + /* "nanargmax.pyx":374 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4315,50 +4592,50 @@ static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_int8_axis0(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":342 + /* "nanargmax.pyx":375 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":343 + /* "nanargmax.pyx":376 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":344 + /* "nanargmax.pyx":377 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ - __pyx_t_1[0] = __pyx_v_n1; + __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":345 + /* "nanargmax.pyx":378 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4366,132 +4643,178 @@ static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_int8_axis0(CYTHON_UNUSED PyO __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":347 + /* "nanargmax.pyx":380 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":348 + /* "nanargmax.pyx":381 * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":349 - * if n0 == 0: + /* "nanargmax.pyx":382 + * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint8 + * for i0 in range(n0 - 1, -1, -1): + * amax = MINfloat32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":350 + /* "nanargmax.pyx":383 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINint8 - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * amax = MINfloat32 + * allnan = 1 */ - for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i1 = __pyx_t_6; + for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanargmax.pyx":351 + /* "nanargmax.pyx":384 * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint8 # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): + * amax = MINfloat32 # <<<<<<<<<<<<<< + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): + */ + __pyx_v_amax = __pyx_v_9nanargmax_MINfloat32; + + /* "nanargmax.pyx":385 + * for i0 in range(n0 - 1, -1, -1): + * amax = MINfloat32 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint8; + __pyx_v_allnan = 1; - /* "nanargmax.pyx":352 - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint8 - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + /* "nanargmax.pyx":386 + * amax = MINfloat32 + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i0 = __pyx_t_7; + for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanargmax.pyx":353 - * amax = MINint8 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmax.pyx":387 + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":354 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmax.pyx":388 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * idx = i0 + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":355 + /* "nanargmax.pyx":389 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * idx = i0 - * y[i1] = idx + * allnan = 0 + * idx = i1 */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":356 + /* "nanargmax.pyx":390 * if ai >= amax: * amax = ai - * idx = i0 # <<<<<<<<<<<<<< - * y[i1] = idx - * return y + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i1 + * if allnan == 0: */ - __pyx_v_idx = __pyx_v_i0; + __pyx_v_allnan = 0; + + /* "nanargmax.pyx":391 + * amax = ai + * allnan = 0 + * idx = i1 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = idx + */ + __pyx_v_idx = __pyx_v_i1; goto __pyx_L8; } __pyx_L8:; } - /* "nanargmax.pyx":357 - * amax = ai - * idx = i0 - * y[i1] = idx # <<<<<<<<<<<<<< + /* "nanargmax.pyx":392 + * allnan = 0 + * idx = i1 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = idx + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanargmax.pyx":393 + * idx = i1 + * if allnan == 0: + * y[i0] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { + + /* "nanargmax.pyx":395 + * y[i0] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; } - /* "nanargmax.pyx":358 - * idx = i0 - * y[i1] = idx + /* "nanargmax.pyx":396 + * else: + * raise ValueError("All-NaN slice encountered") * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4501,11 +4824,11 @@ static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_int8_axis0(CYTHON_UNUSED PyO __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmax.pyx":334 + /* "nanargmax.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -4518,7 +4841,7 @@ static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_int8_axis0(CYTHON_UNUSED PyO __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4532,27 +4855,27 @@ static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_int8_axis0(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanargmax.pyx":362 +/* "nanargmax.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." + * def nanargmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_19nanargmax_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_18nanargmax_2d_int8_axis1[] = "nanargmax_2d_int8_axis1(ndarray a)\nIndex of max of 2d, int8 array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_19nanargmax_2d_int8_axis1 = {"nanargmax_2d_int8_axis1", (PyCFunction)__pyx_pw_9nanargmax_19nanargmax_2d_int8_axis1, METH_O, __pyx_doc_9nanargmax_18nanargmax_2d_int8_axis1}; -static PyObject *__pyx_pw_9nanargmax_19nanargmax_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_19nanargmax_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_18nanargmax_2d_float64_axis0[] = "nanargmax_2d_float64_axis0(ndarray a)\nIndex of max of 2d, float64 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_19nanargmax_2d_float64_axis0 = {"nanargmax_2d_float64_axis0", (PyCFunction)__pyx_pw_9nanargmax_19nanargmax_2d_float64_axis0, METH_O, __pyx_doc_9nanargmax_18nanargmax_2d_float64_axis0}; +static PyObject *__pyx_pw_9nanargmax_19nanargmax_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_int8_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_18nanargmax_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_18nanargmax_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4563,10 +4886,10 @@ static PyObject *__pyx_pw_9nanargmax_19nanargmax_2d_int8_axis1(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_18nanargmax_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amax; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_18nanargmax_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_amax; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -4594,7 +4917,7 @@ static PyObject *__pyx_pf_9nanargmax_18nanargmax_2d_int8_axis1(CYTHON_UNUSED PyO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4605,29 +4928,29 @@ static PyObject *__pyx_pf_9nanargmax_18nanargmax_2d_int8_axis1(CYTHON_UNUSED PyO __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":364 - * def nanargmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." + /* "nanargmax.pyx":402 + * def nanargmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amax, ai + * cdef np.float64_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":366 + /* "nanargmax.pyx":404 * cdef int allnan = 1 - * cdef np.int8_t amax, ai + * cdef np.float64_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":369 + /* "nanargmax.pyx":407 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4636,50 +4959,50 @@ static PyObject *__pyx_pf_9nanargmax_18nanargmax_2d_int8_axis1(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":370 + /* "nanargmax.pyx":408 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":371 + /* "nanargmax.pyx":409 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":372 + /* "nanargmax.pyx":410 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ - __pyx_t_1[0] = __pyx_v_n0; + __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":373 + /* "nanargmax.pyx":411 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) - * if n1 == 0: + * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4687,146 +5010,192 @@ static PyObject *__pyx_pf_9nanargmax_18nanargmax_2d_int8_axis1(CYTHON_UNUSED PyO __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":375 + /* "nanargmax.pyx":413 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":376 + /* "nanargmax.pyx":414 * NPY_intp, 0) - * if n1 == 0: + * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":377 - * if n1 == 0: + /* "nanargmax.pyx":415 + * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint8 + * for i1 in range(n1 - 1, -1, -1): + * amax = MINfloat64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":378 + /* "nanargmax.pyx":416 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINint8 - * for i1 in range(n1 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + * amax = MINfloat64 + * allnan = 1 */ - for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i0 = __pyx_t_6; + for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanargmax.pyx":379 + /* "nanargmax.pyx":417 * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint8 # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): + * amax = MINfloat64 # <<<<<<<<<<<<<< + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): + */ + __pyx_v_amax = __pyx_v_9nanargmax_MINfloat64; + + /* "nanargmax.pyx":418 + * for i1 in range(n1 - 1, -1, -1): + * amax = MINfloat64 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint8; + __pyx_v_allnan = 1; - /* "nanargmax.pyx":380 - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint8 - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + /* "nanargmax.pyx":419 + * amax = MINfloat64 + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i1 = __pyx_t_7; + for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanargmax.pyx":381 - * amax = MINint8 - * for i1 in range(n1 - 1, -1, -1): + /* "nanargmax.pyx":420 + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":382 - * for i1 in range(n1 - 1, -1, -1): + /* "nanargmax.pyx":421 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * idx = i1 + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":383 + /* "nanargmax.pyx":422 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * idx = i1 - * y[i0] = idx + * allnan = 0 + * idx = i0 */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":384 + /* "nanargmax.pyx":423 * if ai >= amax: * amax = ai - * idx = i1 # <<<<<<<<<<<<<< - * y[i0] = idx - * return y + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: */ - __pyx_v_idx = __pyx_v_i1; + __pyx_v_allnan = 0; + + /* "nanargmax.pyx":424 + * amax = ai + * allnan = 0 + * idx = i0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = idx + */ + __pyx_v_idx = __pyx_v_i0; goto __pyx_L8; } __pyx_L8:; } - /* "nanargmax.pyx":385 - * amax = ai - * idx = i1 - * y[i0] = idx # <<<<<<<<<<<<<< - * return y - * + /* "nanargmax.pyx":425 + * allnan = 0 + * idx = i0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = idx + * else: */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - } + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { - /* "nanargmax.pyx":386 - * idx = i1 - * y[i0] = idx - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + /* "nanargmax.pyx":426 + * idx = i0 + * if allnan == 0: + * y[i1] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { - /* "nanargmax.pyx":362 + /* "nanargmax.pyx":428 + * y[i1] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; + } + + /* "nanargmax.pyx":429 + * else: + * raise ValueError("All-NaN slice encountered") + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "nanargmax.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." + * def nanargmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -4839,7 +5208,7 @@ static PyObject *__pyx_pf_9nanargmax_18nanargmax_2d_int8_axis1(CYTHON_UNUSED PyO __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4853,27 +5222,27 @@ static PyObject *__pyx_pf_9nanargmax_18nanargmax_2d_int8_axis1(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanargmax.pyx":390 +/* "nanargmax.pyx":433 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_21nanargmax_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_20nanargmax_2d_int32_axis0[] = "nanargmax_2d_int32_axis0(ndarray a)\nIndex of max of 2d, int32 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_21nanargmax_2d_int32_axis0 = {"nanargmax_2d_int32_axis0", (PyCFunction)__pyx_pw_9nanargmax_21nanargmax_2d_int32_axis0, METH_O, __pyx_doc_9nanargmax_20nanargmax_2d_int32_axis0}; -static PyObject *__pyx_pw_9nanargmax_21nanargmax_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_21nanargmax_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_20nanargmax_2d_float64_axis1[] = "nanargmax_2d_float64_axis1(ndarray a)\nIndex of max of 2d, float64 array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_21nanargmax_2d_float64_axis1 = {"nanargmax_2d_float64_axis1", (PyCFunction)__pyx_pw_9nanargmax_21nanargmax_2d_float64_axis1, METH_O, __pyx_doc_9nanargmax_20nanargmax_2d_float64_axis1}; +static PyObject *__pyx_pw_9nanargmax_21nanargmax_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_20nanargmax_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_float64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_20nanargmax_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4884,10 +5253,10 @@ static PyObject *__pyx_pw_9nanargmax_21nanargmax_2d_int32_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amax; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_amax; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -4915,7 +5284,7 @@ static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_int32_axis0(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4926,29 +5295,29 @@ static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_int32_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":392 - * def nanargmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":435 + * def nanargmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amax, ai + * cdef np.float64_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":394 + /* "nanargmax.pyx":437 * cdef int allnan = 1 - * cdef np.int32_t amax, ai + * cdef np.float64_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":397 + /* "nanargmax.pyx":440 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4957,50 +5326,50 @@ static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_int32_axis0(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":398 + /* "nanargmax.pyx":441 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":399 + /* "nanargmax.pyx":442 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":400 + /* "nanargmax.pyx":443 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ - __pyx_t_1[0] = __pyx_v_n1; + __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":401 + /* "nanargmax.pyx":444 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -5008,132 +5377,178 @@ static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_int32_axis0(CYTHON_UNUSED Py __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":403 + /* "nanargmax.pyx":446 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":404 + /* "nanargmax.pyx":447 * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":405 - * if n0 == 0: + /* "nanargmax.pyx":448 + * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint32 + * for i0 in range(n0 - 1, -1, -1): + * amax = MINfloat64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":406 + /* "nanargmax.pyx":449 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINint32 - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * amax = MINfloat64 + * allnan = 1 */ - for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i1 = __pyx_t_6; + for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanargmax.pyx":407 + /* "nanargmax.pyx":450 * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint32 # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): + * amax = MINfloat64 # <<<<<<<<<<<<<< + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): + */ + __pyx_v_amax = __pyx_v_9nanargmax_MINfloat64; + + /* "nanargmax.pyx":451 + * for i0 in range(n0 - 1, -1, -1): + * amax = MINfloat64 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint32; + __pyx_v_allnan = 1; - /* "nanargmax.pyx":408 - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint32 - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + /* "nanargmax.pyx":452 + * amax = MINfloat64 + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i0 = __pyx_t_7; + for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanargmax.pyx":409 - * amax = MINint32 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmax.pyx":453 + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":410 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmax.pyx":454 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * idx = i0 + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":411 + /* "nanargmax.pyx":455 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * idx = i0 - * y[i1] = idx + * allnan = 0 + * idx = i1 */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":412 + /* "nanargmax.pyx":456 * if ai >= amax: * amax = ai - * idx = i0 # <<<<<<<<<<<<<< - * y[i1] = idx - * return y + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i1 + * if allnan == 0: */ - __pyx_v_idx = __pyx_v_i0; + __pyx_v_allnan = 0; + + /* "nanargmax.pyx":457 + * amax = ai + * allnan = 0 + * idx = i1 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = idx + */ + __pyx_v_idx = __pyx_v_i1; goto __pyx_L8; } __pyx_L8:; } - /* "nanargmax.pyx":413 - * amax = ai - * idx = i0 - * y[i1] = idx # <<<<<<<<<<<<<< + /* "nanargmax.pyx":458 + * allnan = 0 + * idx = i1 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = idx + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanargmax.pyx":459 + * idx = i1 + * if allnan == 0: + * y[i0] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { + + /* "nanargmax.pyx":461 + * y[i0] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; } - /* "nanargmax.pyx":414 - * idx = i0 - * y[i1] = idx + /* "nanargmax.pyx":462 + * else: + * raise ValueError("All-NaN slice encountered") * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -5143,11 +5558,11 @@ static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_int32_axis0(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmax.pyx":390 + /* "nanargmax.pyx":433 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -5160,7 +5575,7 @@ static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_int32_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5174,27 +5589,27 @@ static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_int32_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "nanargmax.pyx":418 +/* "nanargmax.pyx":466 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." + * def nanargmax_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_23nanargmax_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_22nanargmax_2d_int32_axis1[] = "nanargmax_2d_int32_axis1(ndarray a)\nIndex of max of 2d, int32 array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_23nanargmax_2d_int32_axis1 = {"nanargmax_2d_int32_axis1", (PyCFunction)__pyx_pw_9nanargmax_23nanargmax_2d_int32_axis1, METH_O, __pyx_doc_9nanargmax_22nanargmax_2d_int32_axis1}; -static PyObject *__pyx_pw_9nanargmax_23nanargmax_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_23nanargmax_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_22nanargmax_1d_int_axis0[] = "nanargmax_1d_int_axis0(ndarray a)\nIndex of max of 1d, int array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_23nanargmax_1d_int_axis0 = {"nanargmax_1d_int_axis0", (PyCFunction)__pyx_pw_9nanargmax_23nanargmax_1d_int_axis0, METH_O, __pyx_doc_9nanargmax_22nanargmax_1d_int_axis0}; +static PyObject *__pyx_pw_9nanargmax_23nanargmax_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_int32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_22nanargmax_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_1d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_22nanargmax_1d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5205,317 +5620,277 @@ static PyObject *__pyx_pw_9nanargmax_23nanargmax_2d_int32_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_22nanargmax_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_9nanargmax_22nanargmax_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amax; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_int_t __pyx_v_amax; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_int32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanargmax_1d_int_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmax.pyx":420 - * def nanargmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." + /* "nanargmax.pyx":468 + * def nanargmax_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): + * "Index of max of 1d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amax, ai + * cdef np.int_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":422 + /* "nanargmax.pyx":470 * cdef int allnan = 1 - * cdef np.int32_t amax, ai + * cdef np.int_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":425 - * cdef Py_ssize_t i0, i1 + /* "nanargmax.pyx":473 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":426 + /* "nanargmax.pyx":474 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 == 0: + * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":427 + /* "nanargmax.pyx":475 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanargmax.pyx":428 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nanargmax.pyx":429 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_intp, 0) - * if n1 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanargmax.pyx":431 - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanargmax.pyx":432 - * NPY_intp, 0) - * if n1 == 0: + /* "nanargmax.pyx":476 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): + * amax = MINint */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":433 - * if n1 == 0: + /* "nanargmax.pyx":477 + * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint32 + * amax = MINint + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":434 + /* "nanargmax.pyx":478 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINint32 - * for i1 in range(n1 - 1, -1, -1): + * amax = MINint # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_amax = __pyx_v_9nanargmax_MINint; - /* "nanargmax.pyx":435 + /* "nanargmax.pyx":479 * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint32 # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] - */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint32; - - /* "nanargmax.pyx":436 - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint32 - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai >= amax: - */ - for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanargmax.pyx":437 - * amax = MINint32 - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + * amax = MINint + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai >= amax: */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanargmax.pyx":438 - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * idx = i1 + /* "nanargmax.pyx":480 + * amax = MINint + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmax.pyx":439 - * ai = a[i0, i1] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * idx = i1 - * y[i0] = idx + /* "nanargmax.pyx":481 + * for i0 in range(n0): + * ai = a[i0] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * idx = i0 */ - __pyx_v_amax = __pyx_v_ai; + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanargmax.pyx":440 - * if ai >= amax: - * amax = ai - * idx = i1 # <<<<<<<<<<<<<< - * y[i0] = idx - * return y + /* "nanargmax.pyx":482 + * ai = a[i0] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * idx = i0 + * return np.intp(idx) */ - __pyx_v_idx = __pyx_v_i1; - goto __pyx_L8; - } - __pyx_L8:; - } + __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":441 - * amax = ai - * idx = i1 - * y[i0] = idx # <<<<<<<<<<<<<< - * return y + /* "nanargmax.pyx":483 + * if ai >= amax: + * amax = ai + * idx = i0 # <<<<<<<<<<<<<< + * return np.intp(idx) * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_v_idx = __pyx_v_i0; + goto __pyx_L6; + } + __pyx_L6:; } - /* "nanargmax.pyx":442 - * idx = i1 - * y[i0] = idx - * return y # <<<<<<<<<<<<<< + /* "nanargmax.pyx":484 + * amax = ai + * idx = i0 + * return np.intp(idx) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanargmax.pyx":418 + /* "nanargmax.pyx":466 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." + * def nanargmax_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmax.pyx":446 +/* "nanargmax.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." + * def nanargmax_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_25nanargmax_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_24nanargmax_2d_int64_axis0[] = "nanargmax_2d_int64_axis0(ndarray a)\nIndex of max of 2d, int64 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_25nanargmax_2d_int64_axis0 = {"nanargmax_2d_int64_axis0", (PyCFunction)__pyx_pw_9nanargmax_25nanargmax_2d_int64_axis0, METH_O, __pyx_doc_9nanargmax_24nanargmax_2d_int64_axis0}; -static PyObject *__pyx_pw_9nanargmax_25nanargmax_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_25nanargmax_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_24nanargmax_1d_int8_axis0[] = "nanargmax_1d_int8_axis0(ndarray a)\nIndex of max of 1d, int8 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_25nanargmax_1d_int8_axis0 = {"nanargmax_1d_int8_axis0", (PyCFunction)__pyx_pw_9nanargmax_25nanargmax_1d_int8_axis0, METH_O, __pyx_doc_9nanargmax_24nanargmax_1d_int8_axis0}; +static PyObject *__pyx_pw_9nanargmax_25nanargmax_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_24nanargmax_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_1d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_24nanargmax_1d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5526,317 +5901,277 @@ static PyObject *__pyx_pw_9nanargmax_25nanargmax_2d_int64_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_24nanargmax_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_9nanargmax_24nanargmax_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amax; - __pyx_t_5numpy_int64_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_amax; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanargmax_1d_int8_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmax.pyx":448 - * def nanargmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." - * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amax, ai + /* "nanargmax.pyx":490 + * def nanargmax_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): + * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + * cdef int allnan = 1 # <<<<<<<<<<<<<< + * cdef np.int8_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":450 + /* "nanargmax.pyx":492 * cdef int allnan = 1 - * cdef np.int64_t amax, ai + * cdef np.int8_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":453 - * cdef Py_ssize_t i0, i1 + /* "nanargmax.pyx":495 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":454 + /* "nanargmax.pyx":496 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 == 0: + * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":455 + /* "nanargmax.pyx":497 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanargmax.pyx":456 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "nanargmax.pyx":457 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_intp, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanargmax.pyx":459 - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanargmax.pyx":460 - * NPY_intp, 0) + /* "nanargmax.pyx":498 + * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): + * amax = MINint8 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":461 + /* "nanargmax.pyx":499 * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint64 + * amax = MINint8 + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":462 + /* "nanargmax.pyx":500 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINint64 - * for i0 in range(n0 - 1, -1, -1): + * amax = MINint8 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_amax = __pyx_v_9nanargmax_MINint8; - /* "nanargmax.pyx":463 + /* "nanargmax.pyx":501 * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint64 # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0, i1] - */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint64; - - /* "nanargmax.pyx":464 - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint64 - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai >= amax: - */ - for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanargmax.pyx":465 - * amax = MINint64 - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + * amax = MINint8 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai >= amax: */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanargmax.pyx":466 - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0, i1] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * idx = i0 + /* "nanargmax.pyx":502 + * amax = MINint8 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmax.pyx":467 - * ai = a[i0, i1] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * idx = i0 - * y[i1] = idx + /* "nanargmax.pyx":503 + * for i0 in range(n0): + * ai = a[i0] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * idx = i0 */ - __pyx_v_amax = __pyx_v_ai; + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanargmax.pyx":468 - * if ai >= amax: - * amax = ai - * idx = i0 # <<<<<<<<<<<<<< - * y[i1] = idx - * return y + /* "nanargmax.pyx":504 + * ai = a[i0] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * idx = i0 + * return np.intp(idx) */ - __pyx_v_idx = __pyx_v_i0; - goto __pyx_L8; - } - __pyx_L8:; - } + __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":469 - * amax = ai - * idx = i0 - * y[i1] = idx # <<<<<<<<<<<<<< - * return y + /* "nanargmax.pyx":505 + * if ai >= amax: + * amax = ai + * idx = i0 # <<<<<<<<<<<<<< + * return np.intp(idx) * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_v_idx = __pyx_v_i0; + goto __pyx_L6; + } + __pyx_L6:; } - /* "nanargmax.pyx":470 - * idx = i0 - * y[i1] = idx - * return y # <<<<<<<<<<<<<< + /* "nanargmax.pyx":506 + * amax = ai + * idx = i0 + * return np.intp(idx) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanargmax.pyx":446 + /* "nanargmax.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." + * def nanargmax_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmax.pyx":474 +/* "nanargmax.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." + * def nanargmax_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_27nanargmax_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_26nanargmax_2d_int64_axis1[] = "nanargmax_2d_int64_axis1(ndarray a)\nIndex of max of 2d, int64 array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_27nanargmax_2d_int64_axis1 = {"nanargmax_2d_int64_axis1", (PyCFunction)__pyx_pw_9nanargmax_27nanargmax_2d_int64_axis1, METH_O, __pyx_doc_9nanargmax_26nanargmax_2d_int64_axis1}; -static PyObject *__pyx_pw_9nanargmax_27nanargmax_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_27nanargmax_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_26nanargmax_1d_int32_axis0[] = "nanargmax_1d_int32_axis0(ndarray a)\nIndex of max of 1d, int32 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_27nanargmax_1d_int32_axis0 = {"nanargmax_1d_int32_axis0", (PyCFunction)__pyx_pw_9nanargmax_27nanargmax_1d_int32_axis0, METH_O, __pyx_doc_9nanargmax_26nanargmax_1d_int32_axis0}; +static PyObject *__pyx_pw_9nanargmax_27nanargmax_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_26nanargmax_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_1d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_26nanargmax_1d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5847,317 +6182,277 @@ static PyObject *__pyx_pw_9nanargmax_27nanargmax_2d_int64_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_26nanargmax_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_9nanargmax_26nanargmax_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amax; - __pyx_t_5numpy_int64_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_amax; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanargmax_1d_int32_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmax.pyx":476 - * def nanargmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." + /* "nanargmax.pyx":512 + * def nanargmax_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): + * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amax, ai + * cdef np.int32_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":478 + /* "nanargmax.pyx":514 * cdef int allnan = 1 - * cdef np.int64_t amax, ai + * cdef np.int32_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":481 - * cdef Py_ssize_t i0, i1 + /* "nanargmax.pyx":517 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":482 + /* "nanargmax.pyx":518 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 == 0: + * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":483 + /* "nanargmax.pyx":519 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanargmax.pyx":484 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nanargmax.pyx":485 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_intp, 0) - * if n1 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanargmax.pyx":487 - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanargmax.pyx":488 - * NPY_intp, 0) - * if n1 == 0: + /* "nanargmax.pyx":520 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): + * amax = MINint32 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":489 - * if n1 == 0: + /* "nanargmax.pyx":521 + * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint64 + * amax = MINint32 + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":490 + /* "nanargmax.pyx":522 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINint64 - * for i1 in range(n1 - 1, -1, -1): + * amax = MINint32 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_amax = __pyx_v_9nanargmax_MINint32; - /* "nanargmax.pyx":491 + /* "nanargmax.pyx":523 * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint64 # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] - */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint64; - - /* "nanargmax.pyx":492 - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint64 - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai >= amax: - */ - for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanargmax.pyx":493 - * amax = MINint64 - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + * amax = MINint32 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai >= amax: */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanargmax.pyx":494 - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * idx = i1 + /* "nanargmax.pyx":524 + * amax = MINint32 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmax.pyx":495 - * ai = a[i0, i1] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * idx = i1 - * y[i0] = idx + /* "nanargmax.pyx":525 + * for i0 in range(n0): + * ai = a[i0] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * idx = i0 */ - __pyx_v_amax = __pyx_v_ai; + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanargmax.pyx":496 - * if ai >= amax: - * amax = ai - * idx = i1 # <<<<<<<<<<<<<< - * y[i0] = idx - * return y + /* "nanargmax.pyx":526 + * ai = a[i0] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * idx = i0 + * return np.intp(idx) */ - __pyx_v_idx = __pyx_v_i1; - goto __pyx_L8; - } - __pyx_L8:; - } + __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":497 - * amax = ai - * idx = i1 - * y[i0] = idx # <<<<<<<<<<<<<< - * return y + /* "nanargmax.pyx":527 + * if ai >= amax: + * amax = ai + * idx = i0 # <<<<<<<<<<<<<< + * return np.intp(idx) * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_v_idx = __pyx_v_i0; + goto __pyx_L6; + } + __pyx_L6:; } - /* "nanargmax.pyx":498 - * idx = i1 - * y[i0] = idx - * return y # <<<<<<<<<<<<<< + /* "nanargmax.pyx":528 + * amax = ai + * idx = i0 + * return np.intp(idx) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanargmax.pyx":474 + /* "nanargmax.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." + * def nanargmax_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmax.pyx":502 +/* "nanargmax.pyx":532 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float array along axis=0 ignoring NaNs." + * def nanargmax_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_29nanargmax_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_28nanargmax_1d_float_axis0[] = "nanargmax_1d_float_axis0(ndarray a)\nIndex of max of 1d, float array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_29nanargmax_1d_float_axis0 = {"nanargmax_1d_float_axis0", (PyCFunction)__pyx_pw_9nanargmax_29nanargmax_1d_float_axis0, METH_O, __pyx_doc_9nanargmax_28nanargmax_1d_float_axis0}; -static PyObject *__pyx_pw_9nanargmax_29nanargmax_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_29nanargmax_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_28nanargmax_1d_int64_axis0[] = "nanargmax_1d_int64_axis0(ndarray a)\nIndex of max of 1d, int64 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_29nanargmax_1d_int64_axis0 = {"nanargmax_1d_int64_axis0", (PyCFunction)__pyx_pw_9nanargmax_29nanargmax_1d_int64_axis0, METH_O, __pyx_doc_9nanargmax_28nanargmax_1d_int64_axis0}; +static PyObject *__pyx_pw_9nanargmax_29nanargmax_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_1d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_28nanargmax_1d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_1d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_28nanargmax_1d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6168,10 +6463,10 @@ static PyObject *__pyx_pw_9nanargmax_29nanargmax_1d_float_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amax; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int64_t __pyx_v_amax; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -6186,42 +6481,43 @@ static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_float_axis0(CYTHON_UNUSED Py PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_6; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_1d_float_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_1d_int64_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmax.pyx":504 - * def nanargmax_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): - * "Index of max of 1d, float array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":534 + * def nanargmax_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): + * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amax, ai + * cdef np.int64_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":506 + /* "nanargmax.pyx":536 * cdef int allnan = 1 - * cdef np.float_t amax, ai + * cdef np.int64_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":509 + /* "nanargmax.pyx":539 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6230,7 +6526,7 @@ static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_float_axis0(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":510 + /* "nanargmax.pyx":540 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -6239,7 +6535,7 @@ static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_float_axis0(CYTHON_UNUSED Py */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":511 + /* "nanargmax.pyx":541 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< @@ -6249,99 +6545,91 @@ static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_float_axis0(CYTHON_UNUSED Py __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanargmax.pyx":512 + /* "nanargmax.pyx":542 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amax = MINfloat + * amax = MINint64 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":513 + /* "nanargmax.pyx":543 * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amax = MINfloat - * for i0 in range(n0 - 1, -1, -1): + * amax = MINint64 + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":514 + /* "nanargmax.pyx":544 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amax = MINfloat # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): + * amax = MINint64 # <<<<<<<<<<<<<< + * for i0 in range(n0): * ai = a[i0] */ - __pyx_v_amax = __pyx_v_9nanargmax_MINfloat; + __pyx_v_amax = __pyx_v_9nanargmax_MINint64; - /* "nanargmax.pyx":515 + /* "nanargmax.pyx":545 * raise ValueError(msg) - * amax = MINfloat - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * amax = MINint64 + * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0] * if ai >= amax: */ - for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { - __pyx_v_i0 = __pyx_t_4; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanargmax.pyx":516 - * amax = MINfloat - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmax.pyx":546 + * amax = MINint64 + * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmax.pyx":517 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmax.pyx":547 + * for i0 in range(n0): * ai = a[i0] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * idx = i0 */ __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_1) { - /* "nanargmax.pyx":518 + /* "nanargmax.pyx":548 * ai = a[i0] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i0 + * return np.intp(idx) */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":519 + /* "nanargmax.pyx":549 * if ai >= amax: * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmax.pyx":520 - * amax = ai - * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.intp(idx) + * return np.intp(idx) + * */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L6; @@ -6349,82 +6637,56 @@ static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_float_axis0(CYTHON_UNUSED Py __pyx_L6:; } - /* "nanargmax.pyx":521 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.intp(idx) - * else: - */ - __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_1) { - - /* "nanargmax.pyx":522 + /* "nanargmax.pyx":550 + * amax = ai * idx = i0 - * if allnan == 0: - * return np.intp(idx) # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_7) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - } - /*else*/ { - - /* "nanargmax.pyx":524 - * return np.intp(idx) - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * return np.intp(idx) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; - /* "nanargmax.pyx":502 + /* "nanargmax.pyx":532 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float array along axis=0 ignoring NaNs." + * def nanargmax_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -6432,14 +6694,14 @@ static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_float_axis0(CYTHON_UNUSED Py __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6451,27 +6713,27 @@ static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_float_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "nanargmax.pyx":528 +/* "nanargmax.pyx":554 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_31nanargmax_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_30nanargmax_1d_float32_axis0[] = "nanargmax_1d_float32_axis0(ndarray a)\nIndex of max of 1d, float32 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_31nanargmax_1d_float32_axis0 = {"nanargmax_1d_float32_axis0", (PyCFunction)__pyx_pw_9nanargmax_31nanargmax_1d_float32_axis0, METH_O, __pyx_doc_9nanargmax_30nanargmax_1d_float32_axis0}; -static PyObject *__pyx_pw_9nanargmax_31nanargmax_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_31nanargmax_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_30nanargmax_2d_int_axis0[] = "nanargmax_2d_int_axis0(ndarray a)\nIndex of max of 2d, int array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_31nanargmax_2d_int_axis0 = {"nanargmax_2d_int_axis0", (PyCFunction)__pyx_pw_9nanargmax_31nanargmax_2d_int_axis0, METH_O, __pyx_doc_9nanargmax_30nanargmax_2d_int_axis0}; +static PyObject *__pyx_pw_9nanargmax_31nanargmax_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_1d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_30nanargmax_1d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_30nanargmax_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6482,310 +6744,317 @@ static PyObject *__pyx_pw_9nanargmax_31nanargmax_1d_float32_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_30nanargmax_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amax; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_30nanargmax_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int_t __pyx_v_amax; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_1d_float32_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":530 - * def nanargmax_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): - * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":556 + * def nanargmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Index of max of 2d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amax, ai + * cdef np.int_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":532 + /* "nanargmax.pyx":558 * cdef int allnan = 1 - * cdef np.float32_t amax, ai + * cdef np.int_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":535 - * cdef Py_ssize_t i0 + /* "nanargmax.pyx":561 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":536 + /* "nanargmax.pyx":562 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":537 + /* "nanargmax.pyx":563 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanargmax.pyx":564 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "nanargmax.pyx":565 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_intp, 0) + * if n0 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanargmax.pyx":567 + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanargmax.pyx":538 - * cdef Py_ssize_t n0 = dim[0] + /* "nanargmax.pyx":568 + * NPY_intp, 0) * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amax = MINfloat32 + * for i1 in range(n1 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":539 + /* "nanargmax.pyx":569 * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amax = MINfloat32 - * for i0 in range(n0 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): + * amax = MINint */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":540 + /* "nanargmax.pyx":570 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amax = MINfloat32 # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + * amax = MINint + * for i0 in range(n0 - 1, -1, -1): */ - __pyx_v_amax = __pyx_v_9nanargmax_MINfloat32; + for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanargmax.pyx":541 + /* "nanargmax.pyx":571 * raise ValueError(msg) - * amax = MINfloat32 - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai >= amax: + * for i1 in range(n1 - 1, -1, -1): + * amax = MINint # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] */ - for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { - __pyx_v_i0 = __pyx_t_4; + __pyx_v_amax = __pyx_v_9nanargmax_MINint; - /* "nanargmax.pyx":542 - * amax = MINfloat32 - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "nanargmax.pyx":572 + * for i1 in range(n1 - 1, -1, -1): + * amax = MINint + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai >= amax: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanargmax.pyx":543 - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * allnan = 0 + /* "nanargmax.pyx":573 + * amax = MINint + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":544 - * ai = a[i0] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * idx = i0 + /* "nanargmax.pyx":574 + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * idx = i0 */ - __pyx_v_amax = __pyx_v_ai; + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { - /* "nanargmax.pyx":545 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: + /* "nanargmax.pyx":575 + * ai = a[i0, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * idx = i0 + * y[i1] = idx */ - __pyx_v_allnan = 0; + __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":546 - * amax = ai - * allnan = 0 - * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.intp(idx) + /* "nanargmax.pyx":576 + * if ai >= amax: + * amax = ai + * idx = i0 # <<<<<<<<<<<<<< + * y[i1] = idx + * return y */ - __pyx_v_idx = __pyx_v_i0; - goto __pyx_L6; + __pyx_v_idx = __pyx_v_i0; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; - } - - /* "nanargmax.pyx":547 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.intp(idx) - * else: - */ - __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_1) { - /* "nanargmax.pyx":548 - * idx = i0 - * if allnan == 0: - * return np.intp(idx) # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmax.pyx":577 + * amax = ai + * idx = i0 + * y[i1] = idx # <<<<<<<<<<<<<< + * return y + * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_7) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /*else*/ { - /* "nanargmax.pyx":550 - * return np.intp(idx) - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + /* "nanargmax.pyx":578 + * idx = i0 + * y[i1] = idx + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "nanargmax.pyx":528 + /* "nanargmax.pyx":554 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmax.pyx":554 +/* "nanargmax.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_33nanargmax_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_32nanargmax_1d_float64_axis0[] = "nanargmax_1d_float64_axis0(ndarray a)\nIndex of max of 1d, float64 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_33nanargmax_1d_float64_axis0 = {"nanargmax_1d_float64_axis0", (PyCFunction)__pyx_pw_9nanargmax_33nanargmax_1d_float64_axis0, METH_O, __pyx_doc_9nanargmax_32nanargmax_1d_float64_axis0}; -static PyObject *__pyx_pw_9nanargmax_33nanargmax_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_33nanargmax_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_32nanargmax_2d_int_axis1[] = "nanargmax_2d_int_axis1(ndarray a)\nIndex of max of 2d, int array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_33nanargmax_2d_int_axis1 = {"nanargmax_2d_int_axis1", (PyCFunction)__pyx_pw_9nanargmax_33nanargmax_2d_int_axis1, METH_O, __pyx_doc_9nanargmax_32nanargmax_2d_int_axis1}; +static PyObject *__pyx_pw_9nanargmax_33nanargmax_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_1d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_32nanargmax_1d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_32nanargmax_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6796,310 +7065,317 @@ static PyObject *__pyx_pw_9nanargmax_33nanargmax_1d_float64_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_32nanargmax_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amax; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_32nanargmax_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int_t __pyx_v_amax; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_1d_float64_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":556 - * def nanargmax_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): - * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":584 + * def nanargmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Index of max of 2d, int array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amax, ai + * cdef np.int_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":558 + /* "nanargmax.pyx":586 * cdef int allnan = 1 - * cdef np.float64_t amax, ai + * cdef np.int_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":561 - * cdef Py_ssize_t i0 + /* "nanargmax.pyx":589 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":562 + /* "nanargmax.pyx":590 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":563 + /* "nanargmax.pyx":591 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanargmax.pyx":592 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "nanargmax.pyx":593 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_intp, 0) + * if n1 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanargmax.pyx":595 + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) + * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { - /* "nanargmax.pyx":564 - * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + /* "nanargmax.pyx":596 + * NPY_intp, 0) + * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amax = MINfloat64 + * for i0 in range(n0 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":565 - * if n0 == 0: + /* "nanargmax.pyx":597 + * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amax = MINfloat64 * for i0 in range(n0 - 1, -1, -1): + * amax = MINint */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":566 + /* "nanargmax.pyx":598 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amax = MINfloat64 # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] - */ - __pyx_v_amax = __pyx_v_9nanargmax_MINfloat64; - - /* "nanargmax.pyx":567 - * raise ValueError(msg) - * amax = MINfloat64 * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai >= amax: + * amax = MINint + * for i1 in range(n1 - 1, -1, -1): */ - for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { - __pyx_v_i0 = __pyx_t_4; + for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanargmax.pyx":568 - * amax = MINfloat64 + /* "nanargmax.pyx":599 + * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + * amax = MINint # <<<<<<<<<<<<<< + * for i1 in range(n1 - 1, -1, -1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_amax = __pyx_v_9nanargmax_MINint; - /* "nanargmax.pyx":569 + /* "nanargmax.pyx":600 * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * allnan = 0 - */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { - - /* "nanargmax.pyx":570 - * ai = a[i0] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * idx = i0 + * amax = MINint + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai >= amax: */ - __pyx_v_amax = __pyx_v_ai; + for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanargmax.pyx":571 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: + /* "nanargmax.pyx":601 + * amax = MINint + * for i1 in range(n1 - 1, -1, -1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_v_allnan = 0; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":572 - * amax = ai - * allnan = 0 - * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.intp(idx) + /* "nanargmax.pyx":602 + * for i1 in range(n1 - 1, -1, -1): + * ai = a[i0, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * idx = i1 */ - __pyx_v_idx = __pyx_v_i0; - goto __pyx_L6; - } - __pyx_L6:; - } + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { - /* "nanargmax.pyx":573 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.intp(idx) - * else: + /* "nanargmax.pyx":603 + * ai = a[i0, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * idx = i1 + * y[i0] = idx */ - __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_1) { + __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":574 - * idx = i0 - * if allnan == 0: - * return np.intp(idx) # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmax.pyx":604 + * if ai >= amax: + * amax = ai + * idx = i1 # <<<<<<<<<<<<<< + * y[i0] = idx + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_idx = __pyx_v_i1; + goto __pyx_L8; } + __pyx_L8:; } - if (!__pyx_t_7) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; + + /* "nanargmax.pyx":605 + * amax = ai + * idx = i1 + * y[i0] = idx # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /*else*/ { - /* "nanargmax.pyx":576 - * return np.intp(idx) - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + /* "nanargmax.pyx":606 + * idx = i1 + * y[i0] = idx + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "nanargmax.pyx":554 + /* "nanargmax.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmax.pyx":580 +/* "nanargmax.pyx":610 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=0 ignoring NaNs." + * def nanargmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_35nanargmax_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_34nanargmax_2d_float_axis0[] = "nanargmax_2d_float_axis0(ndarray a)\nIndex of max of 2d, float array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_35nanargmax_2d_float_axis0 = {"nanargmax_2d_float_axis0", (PyCFunction)__pyx_pw_9nanargmax_35nanargmax_2d_float_axis0, METH_O, __pyx_doc_9nanargmax_34nanargmax_2d_float_axis0}; -static PyObject *__pyx_pw_9nanargmax_35nanargmax_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_35nanargmax_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_34nanargmax_2d_int8_axis0[] = "nanargmax_2d_int8_axis0(ndarray a)\nIndex of max of 2d, int8 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_35nanargmax_2d_int8_axis0 = {"nanargmax_2d_int8_axis0", (PyCFunction)__pyx_pw_9nanargmax_35nanargmax_2d_int8_axis0, METH_O, __pyx_doc_9nanargmax_34nanargmax_2d_int8_axis0}; +static PyObject *__pyx_pw_9nanargmax_35nanargmax_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_34nanargmax_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7110,10 +7386,10 @@ static PyObject *__pyx_pw_9nanargmax_35nanargmax_2d_float_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amax; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int8_t __pyx_v_amax; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -7141,7 +7417,7 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_float_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_int8_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -7152,29 +7428,29 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":582 - * def nanargmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Index of max of 2d, float array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":612 + * def nanargmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amax, ai + * cdef np.int8_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":584 + /* "nanargmax.pyx":614 * cdef int allnan = 1 - * cdef np.float_t amax, ai + * cdef np.int8_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":587 + /* "nanargmax.pyx":617 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7183,7 +7459,7 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":588 + /* "nanargmax.pyx":618 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7192,7 +7468,7 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":589 + /* "nanargmax.pyx":619 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7201,7 +7477,7 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":590 + /* "nanargmax.pyx":620 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -7211,22 +7487,22 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":591 + /* "nanargmax.pyx":621 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -7234,7 +7510,7 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":593 + /* "nanargmax.pyx":623 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< @@ -7244,7 +7520,7 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":594 + /* "nanargmax.pyx":624 * NPY_intp, 0) * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -7254,57 +7530,48 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":595 + /* "nanargmax.pyx":625 * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): - * amax = MINfloat + * amax = MINint8 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":596 + /* "nanargmax.pyx":626 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINfloat - * allnan = 1 + * amax = MINint8 + * for i0 in range(n0 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i1 = __pyx_t_6; - /* "nanargmax.pyx":597 + /* "nanargmax.pyx":627 * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): - * amax = MINfloat # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0 - 1, -1, -1): - */ - __pyx_v_amax = __pyx_v_9nanargmax_MINfloat; - - /* "nanargmax.pyx":598 - * for i1 in range(n1 - 1, -1, -1): - * amax = MINfloat - * allnan = 1 # <<<<<<<<<<<<<< + * amax = MINint8 # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amax = __pyx_v_9nanargmax_MINint8; - /* "nanargmax.pyx":599 - * amax = MINfloat - * allnan = 1 + /* "nanargmax.pyx":628 + * for i1 in range(n1 - 1, -1, -1): + * amax = MINint8 * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -7312,8 +7579,8 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanargmax.pyx":600 - * allnan = 1 + /* "nanargmax.pyx":629 + * amax = MINint8 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -7321,42 +7588,33 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":601 + /* "nanargmax.pyx":630 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * idx = i0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":602 + /* "nanargmax.pyx":631 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i0 + * y[i1] = idx */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":603 + /* "nanargmax.pyx":632 * if ai >= amax: * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmax.pyx":604 - * amax = ai - * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = idx + * y[i1] = idx + * return y */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L8; @@ -7364,48 +7622,20 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py __pyx_L8:; } - /* "nanargmax.pyx":605 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmax.pyx":606 + /* "nanargmax.pyx":633 + * amax = ai * idx = i0 - * if allnan == 0: - * y[i1] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; - } - /*else*/ { - - /* "nanargmax.pyx":608 - * y[i1] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * y[i1] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /* "nanargmax.pyx":609 - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmax.pyx":634 + * idx = i0 + * y[i1] = idx * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -7415,11 +7645,11 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmax.pyx":580 + /* "nanargmax.pyx":610 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=0 ignoring NaNs." + * def nanargmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -7432,7 +7662,7 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7446,27 +7676,27 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "nanargmax.pyx":613 +/* "nanargmax.pyx":638 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=1 ignoring NaNs." + * def nanargmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_37nanargmax_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_36nanargmax_2d_float_axis1[] = "nanargmax_2d_float_axis1(ndarray a)\nIndex of max of 2d, float array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_37nanargmax_2d_float_axis1 = {"nanargmax_2d_float_axis1", (PyCFunction)__pyx_pw_9nanargmax_37nanargmax_2d_float_axis1, METH_O, __pyx_doc_9nanargmax_36nanargmax_2d_float_axis1}; -static PyObject *__pyx_pw_9nanargmax_37nanargmax_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_37nanargmax_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_36nanargmax_2d_int8_axis1[] = "nanargmax_2d_int8_axis1(ndarray a)\nIndex of max of 2d, int8 array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_37nanargmax_2d_int8_axis1 = {"nanargmax_2d_int8_axis1", (PyCFunction)__pyx_pw_9nanargmax_37nanargmax_2d_int8_axis1, METH_O, __pyx_doc_9nanargmax_36nanargmax_2d_int8_axis1}; +static PyObject *__pyx_pw_9nanargmax_37nanargmax_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_float_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_int8_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_36nanargmax_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7477,10 +7707,10 @@ static PyObject *__pyx_pw_9nanargmax_37nanargmax_2d_float_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amax; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int8_t __pyx_v_amax; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -7508,7 +7738,7 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_float_axis1", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_int8_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -7519,29 +7749,29 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":615 - * def nanargmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Index of max of 2d, float array along axis=1 ignoring NaNs." + /* "nanargmax.pyx":640 + * def nanargmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amax, ai + * cdef np.int8_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":617 + /* "nanargmax.pyx":642 * cdef int allnan = 1 - * cdef np.float_t amax, ai + * cdef np.int8_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":620 + /* "nanargmax.pyx":645 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7550,7 +7780,7 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":621 + /* "nanargmax.pyx":646 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7559,7 +7789,7 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":622 + /* "nanargmax.pyx":647 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7568,7 +7798,7 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":623 + /* "nanargmax.pyx":648 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -7578,22 +7808,22 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":624 + /* "nanargmax.pyx":649 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -7601,7 +7831,7 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":626 + /* "nanargmax.pyx":651 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n1 == 0: # <<<<<<<<<<<<<< @@ -7611,7 +7841,7 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":627 + /* "nanargmax.pyx":652 * NPY_intp, 0) * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -7621,57 +7851,48 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":628 + /* "nanargmax.pyx":653 * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): - * amax = MINfloat + * amax = MINint8 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":629 + /* "nanargmax.pyx":654 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINfloat - * allnan = 1 + * amax = MINint8 + * for i1 in range(n1 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i0 = __pyx_t_6; - /* "nanargmax.pyx":630 + /* "nanargmax.pyx":655 * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): - * amax = MINfloat # <<<<<<<<<<<<<< - * allnan = 1 - * for i1 in range(n1 - 1, -1, -1): - */ - __pyx_v_amax = __pyx_v_9nanargmax_MINfloat; - - /* "nanargmax.pyx":631 - * for i0 in range(n0 - 1, -1, -1): - * amax = MINfloat - * allnan = 1 # <<<<<<<<<<<<<< + * amax = MINint8 # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amax = __pyx_v_9nanargmax_MINint8; - /* "nanargmax.pyx":632 - * amax = MINfloat - * allnan = 1 + /* "nanargmax.pyx":656 + * for i0 in range(n0 - 1, -1, -1): + * amax = MINint8 * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -7679,8 +7900,8 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanargmax.pyx":633 - * allnan = 1 + /* "nanargmax.pyx":657 + * amax = MINint8 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -7688,42 +7909,33 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":634 + /* "nanargmax.pyx":658 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * idx = i1 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":635 + /* "nanargmax.pyx":659 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * idx = i1 - */ - __pyx_v_amax = __pyx_v_ai; - - /* "nanargmax.pyx":636 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< * idx = i1 - * if allnan == 0: + * y[i0] = idx */ - __pyx_v_allnan = 0; + __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":637 + /* "nanargmax.pyx":660 + * if ai >= amax: * amax = ai - * allnan = 0 * idx = i1 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = idx + * y[i0] = idx + * return y */ __pyx_v_idx = __pyx_v_i1; goto __pyx_L8; @@ -7731,48 +7943,20 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py __pyx_L8:; } - /* "nanargmax.pyx":638 - * allnan = 0 - * idx = i1 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmax.pyx":639 + /* "nanargmax.pyx":661 + * amax = ai * idx = i1 - * if allnan == 0: - * y[i0] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; - } - /*else*/ { - - /* "nanargmax.pyx":641 - * y[i0] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * y[i0] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /* "nanargmax.pyx":642 - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmax.pyx":662 + * idx = i1 + * y[i0] = idx * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -7782,11 +7966,11 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmax.pyx":613 + /* "nanargmax.pyx":638 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=1 ignoring NaNs." + * def nanargmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -7799,7 +7983,7 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7813,27 +7997,27 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py return __pyx_r; } -/* "nanargmax.pyx":646 +/* "nanargmax.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_39nanargmax_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_38nanargmax_2d_float32_axis0[] = "nanargmax_2d_float32_axis0(ndarray a)\nIndex of max of 2d, float32 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_39nanargmax_2d_float32_axis0 = {"nanargmax_2d_float32_axis0", (PyCFunction)__pyx_pw_9nanargmax_39nanargmax_2d_float32_axis0, METH_O, __pyx_doc_9nanargmax_38nanargmax_2d_float32_axis0}; -static PyObject *__pyx_pw_9nanargmax_39nanargmax_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_39nanargmax_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_38nanargmax_2d_int32_axis0[] = "nanargmax_2d_int32_axis0(ndarray a)\nIndex of max of 2d, int32 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_39nanargmax_2d_int32_axis0 = {"nanargmax_2d_int32_axis0", (PyCFunction)__pyx_pw_9nanargmax_39nanargmax_2d_int32_axis0, METH_O, __pyx_doc_9nanargmax_38nanargmax_2d_int32_axis0}; +static PyObject *__pyx_pw_9nanargmax_39nanargmax_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_38nanargmax_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7844,10 +8028,10 @@ static PyObject *__pyx_pw_9nanargmax_39nanargmax_2d_float32_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amax; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int32_t __pyx_v_amax; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -7875,7 +8059,7 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_float32_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_int32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -7886,29 +8070,29 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":648 - * def nanargmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":668 + * def nanargmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amax, ai + * cdef np.int32_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":650 + /* "nanargmax.pyx":670 * cdef int allnan = 1 - * cdef np.float32_t amax, ai + * cdef np.int32_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":653 + /* "nanargmax.pyx":673 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7917,7 +8101,7 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":654 + /* "nanargmax.pyx":674 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7926,7 +8110,7 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":655 + /* "nanargmax.pyx":675 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7935,7 +8119,7 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":656 + /* "nanargmax.pyx":676 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -7945,22 +8129,22 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":657 + /* "nanargmax.pyx":677 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -7968,7 +8152,7 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":659 + /* "nanargmax.pyx":679 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< @@ -7978,7 +8162,7 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":660 + /* "nanargmax.pyx":680 * NPY_intp, 0) * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -7988,57 +8172,48 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":661 + /* "nanargmax.pyx":681 * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): - * amax = MINfloat32 + * amax = MINint32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":662 + /* "nanargmax.pyx":682 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINfloat32 - * allnan = 1 + * amax = MINint32 + * for i0 in range(n0 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i1 = __pyx_t_6; - /* "nanargmax.pyx":663 + /* "nanargmax.pyx":683 * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): - * amax = MINfloat32 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0 - 1, -1, -1): - */ - __pyx_v_amax = __pyx_v_9nanargmax_MINfloat32; - - /* "nanargmax.pyx":664 - * for i1 in range(n1 - 1, -1, -1): - * amax = MINfloat32 - * allnan = 1 # <<<<<<<<<<<<<< + * amax = MINint32 # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amax = __pyx_v_9nanargmax_MINint32; - /* "nanargmax.pyx":665 - * amax = MINfloat32 - * allnan = 1 + /* "nanargmax.pyx":684 + * for i1 in range(n1 - 1, -1, -1): + * amax = MINint32 * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -8046,8 +8221,8 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanargmax.pyx":666 - * allnan = 1 + /* "nanargmax.pyx":685 + * amax = MINint32 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -8055,42 +8230,33 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":667 + /* "nanargmax.pyx":686 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * idx = i0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":668 + /* "nanargmax.pyx":687 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i0 + * y[i1] = idx */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":669 + /* "nanargmax.pyx":688 * if ai >= amax: * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmax.pyx":670 - * amax = ai - * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = idx + * y[i1] = idx + * return y */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L8; @@ -8098,48 +8264,20 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED __pyx_L8:; } - /* "nanargmax.pyx":671 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmax.pyx":672 + /* "nanargmax.pyx":689 + * amax = ai * idx = i0 - * if allnan == 0: - * y[i1] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; - } - /*else*/ { - - /* "nanargmax.pyx":674 - * y[i1] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * y[i1] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /* "nanargmax.pyx":675 - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmax.pyx":690 + * idx = i0 + * y[i1] = idx * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -8149,11 +8287,11 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmax.pyx":646 + /* "nanargmax.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -8166,7 +8304,7 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8180,27 +8318,27 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED return __pyx_r; } -/* "nanargmax.pyx":679 +/* "nanargmax.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." + * def nanargmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_41nanargmax_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_40nanargmax_2d_float32_axis1[] = "nanargmax_2d_float32_axis1(ndarray a)\nIndex of max of 2d, float32 array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_41nanargmax_2d_float32_axis1 = {"nanargmax_2d_float32_axis1", (PyCFunction)__pyx_pw_9nanargmax_41nanargmax_2d_float32_axis1, METH_O, __pyx_doc_9nanargmax_40nanargmax_2d_float32_axis1}; -static PyObject *__pyx_pw_9nanargmax_41nanargmax_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_41nanargmax_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_40nanargmax_2d_int32_axis1[] = "nanargmax_2d_int32_axis1(ndarray a)\nIndex of max of 2d, int32 array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_41nanargmax_2d_int32_axis1 = {"nanargmax_2d_int32_axis1", (PyCFunction)__pyx_pw_9nanargmax_41nanargmax_2d_int32_axis1, METH_O, __pyx_doc_9nanargmax_40nanargmax_2d_int32_axis1}; +static PyObject *__pyx_pw_9nanargmax_41nanargmax_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_float32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_int32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_40nanargmax_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8211,10 +8349,10 @@ static PyObject *__pyx_pw_9nanargmax_41nanargmax_2d_float32_axis1(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amax; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int32_t __pyx_v_amax; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -8242,7 +8380,7 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_float32_axis1", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_int32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -8253,29 +8391,29 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":681 - * def nanargmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." + /* "nanargmax.pyx":696 + * def nanargmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amax, ai + * cdef np.int32_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":683 + /* "nanargmax.pyx":698 * cdef int allnan = 1 - * cdef np.float32_t amax, ai + * cdef np.int32_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":686 + /* "nanargmax.pyx":701 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8284,7 +8422,7 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":687 + /* "nanargmax.pyx":702 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -8293,7 +8431,7 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":688 + /* "nanargmax.pyx":703 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -8302,7 +8440,7 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":689 + /* "nanargmax.pyx":704 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -8312,22 +8450,22 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":690 + /* "nanargmax.pyx":705 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -8335,7 +8473,7 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":692 + /* "nanargmax.pyx":707 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n1 == 0: # <<<<<<<<<<<<<< @@ -8345,7 +8483,7 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":693 + /* "nanargmax.pyx":708 * NPY_intp, 0) * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -8355,57 +8493,48 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":694 + /* "nanargmax.pyx":709 * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): - * amax = MINfloat32 + * amax = MINint32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":695 + /* "nanargmax.pyx":710 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINfloat32 - * allnan = 1 + * amax = MINint32 + * for i1 in range(n1 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i0 = __pyx_t_6; - /* "nanargmax.pyx":696 + /* "nanargmax.pyx":711 * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): - * amax = MINfloat32 # <<<<<<<<<<<<<< - * allnan = 1 - * for i1 in range(n1 - 1, -1, -1): - */ - __pyx_v_amax = __pyx_v_9nanargmax_MINfloat32; - - /* "nanargmax.pyx":697 - * for i0 in range(n0 - 1, -1, -1): - * amax = MINfloat32 - * allnan = 1 # <<<<<<<<<<<<<< + * amax = MINint32 # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amax = __pyx_v_9nanargmax_MINint32; - /* "nanargmax.pyx":698 - * amax = MINfloat32 - * allnan = 1 + /* "nanargmax.pyx":712 + * for i0 in range(n0 - 1, -1, -1): + * amax = MINint32 * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -8413,8 +8542,8 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanargmax.pyx":699 - * allnan = 1 + /* "nanargmax.pyx":713 + * amax = MINint32 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -8422,91 +8551,54 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":700 + /* "nanargmax.pyx":714 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * idx = i1 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":701 + /* "nanargmax.pyx":715 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i1 + * y[i0] = idx */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":702 + /* "nanargmax.pyx":716 * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i1 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmax.pyx":703 - * amax = ai - * allnan = 0 - * idx = i1 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = idx - */ - __pyx_v_idx = __pyx_v_i1; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "nanargmax.pyx":704 - * allnan = 0 - * idx = i1 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmax.pyx":705 - * idx = i1 - * if allnan == 0: - * y[i0] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") + * amax = ai + * idx = i1 # <<<<<<<<<<<<<< + * y[i0] = idx + * return y */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; + __pyx_v_idx = __pyx_v_i1; + goto __pyx_L8; + } + __pyx_L8:; } - /*else*/ { - /* "nanargmax.pyx":707 - * y[i0] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + /* "nanargmax.pyx":717 + * amax = ai + * idx = i1 + * y[i0] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /* "nanargmax.pyx":708 - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmax.pyx":718 + * idx = i1 + * y[i0] = idx * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -8516,11 +8608,11 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmax.pyx":679 + /* "nanargmax.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." + * def nanargmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -8533,7 +8625,7 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8547,27 +8639,27 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED return __pyx_r; } -/* "nanargmax.pyx":712 +/* "nanargmax.pyx":722 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_43nanargmax_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_42nanargmax_2d_float64_axis0[] = "nanargmax_2d_float64_axis0(ndarray a)\nIndex of max of 2d, float64 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_43nanargmax_2d_float64_axis0 = {"nanargmax_2d_float64_axis0", (PyCFunction)__pyx_pw_9nanargmax_43nanargmax_2d_float64_axis0, METH_O, __pyx_doc_9nanargmax_42nanargmax_2d_float64_axis0}; -static PyObject *__pyx_pw_9nanargmax_43nanargmax_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_43nanargmax_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_42nanargmax_2d_int64_axis0[] = "nanargmax_2d_int64_axis0(ndarray a)\nIndex of max of 2d, int64 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_43nanargmax_2d_int64_axis0 = {"nanargmax_2d_int64_axis0", (PyCFunction)__pyx_pw_9nanargmax_43nanargmax_2d_int64_axis0, METH_O, __pyx_doc_9nanargmax_42nanargmax_2d_int64_axis0}; +static PyObject *__pyx_pw_9nanargmax_43nanargmax_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_42nanargmax_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8578,10 +8670,10 @@ static PyObject *__pyx_pw_9nanargmax_43nanargmax_2d_float64_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amax; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int64_t __pyx_v_amax; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -8609,7 +8701,7 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_float64_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_int64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -8620,29 +8712,29 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":714 - * def nanargmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":724 + * def nanargmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amax, ai + * cdef np.int64_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":716 + /* "nanargmax.pyx":726 * cdef int allnan = 1 - * cdef np.float64_t amax, ai + * cdef np.int64_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":719 + /* "nanargmax.pyx":729 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8651,7 +8743,7 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":720 + /* "nanargmax.pyx":730 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -8660,7 +8752,7 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":721 + /* "nanargmax.pyx":731 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -8669,7 +8761,7 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":722 + /* "nanargmax.pyx":732 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -8679,22 +8771,22 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":723 + /* "nanargmax.pyx":733 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -8702,7 +8794,7 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":725 + /* "nanargmax.pyx":735 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< @@ -8712,7 +8804,7 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":726 + /* "nanargmax.pyx":736 * NPY_intp, 0) * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -8722,57 +8814,48 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":727 + /* "nanargmax.pyx":737 * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): - * amax = MINfloat64 + * amax = MINint64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":728 + /* "nanargmax.pyx":738 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINfloat64 - * allnan = 1 + * amax = MINint64 + * for i0 in range(n0 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i1 = __pyx_t_6; - /* "nanargmax.pyx":729 + /* "nanargmax.pyx":739 * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): - * amax = MINfloat64 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0 - 1, -1, -1): - */ - __pyx_v_amax = __pyx_v_9nanargmax_MINfloat64; - - /* "nanargmax.pyx":730 - * for i1 in range(n1 - 1, -1, -1): - * amax = MINfloat64 - * allnan = 1 # <<<<<<<<<<<<<< + * amax = MINint64 # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amax = __pyx_v_9nanargmax_MINint64; - /* "nanargmax.pyx":731 - * amax = MINfloat64 - * allnan = 1 + /* "nanargmax.pyx":740 + * for i1 in range(n1 - 1, -1, -1): + * amax = MINint64 * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -8780,8 +8863,8 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanargmax.pyx":732 - * allnan = 1 + /* "nanargmax.pyx":741 + * amax = MINint64 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -8789,42 +8872,33 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":733 + /* "nanargmax.pyx":742 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * idx = i0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":734 + /* "nanargmax.pyx":743 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i0 + * y[i1] = idx */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":735 + /* "nanargmax.pyx":744 * if ai >= amax: * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmax.pyx":736 - * amax = ai - * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = idx + * y[i1] = idx + * return y */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L8; @@ -8832,48 +8906,20 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED __pyx_L8:; } - /* "nanargmax.pyx":737 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmax.pyx":738 + /* "nanargmax.pyx":745 + * amax = ai * idx = i0 - * if allnan == 0: - * y[i1] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; - } - /*else*/ { - - /* "nanargmax.pyx":740 - * y[i1] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * y[i1] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /* "nanargmax.pyx":741 - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmax.pyx":746 + * idx = i0 + * y[i1] = idx * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -8883,11 +8929,11 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmax.pyx":712 + /* "nanargmax.pyx":722 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -8900,7 +8946,7 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8914,27 +8960,27 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED return __pyx_r; } -/* "nanargmax.pyx":745 +/* "nanargmax.pyx":750 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." + * def nanargmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_45nanargmax_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_44nanargmax_2d_float64_axis1[] = "nanargmax_2d_float64_axis1(ndarray a)\nIndex of max of 2d, float64 array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_45nanargmax_2d_float64_axis1 = {"nanargmax_2d_float64_axis1", (PyCFunction)__pyx_pw_9nanargmax_45nanargmax_2d_float64_axis1, METH_O, __pyx_doc_9nanargmax_44nanargmax_2d_float64_axis1}; -static PyObject *__pyx_pw_9nanargmax_45nanargmax_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_45nanargmax_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_44nanargmax_2d_int64_axis1[] = "nanargmax_2d_int64_axis1(ndarray a)\nIndex of max of 2d, int64 array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_45nanargmax_2d_int64_axis1 = {"nanargmax_2d_int64_axis1", (PyCFunction)__pyx_pw_9nanargmax_45nanargmax_2d_int64_axis1, METH_O, __pyx_doc_9nanargmax_44nanargmax_2d_int64_axis1}; +static PyObject *__pyx_pw_9nanargmax_45nanargmax_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_float64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_int64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_44nanargmax_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8945,10 +8991,10 @@ static PyObject *__pyx_pw_9nanargmax_45nanargmax_2d_float64_axis1(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amax; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int64_t __pyx_v_amax; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -8976,7 +9022,7 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_float64_axis1", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_int64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -8987,29 +9033,29 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":747 - * def nanargmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." + /* "nanargmax.pyx":752 + * def nanargmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amax, ai + * cdef np.int64_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":749 + /* "nanargmax.pyx":754 * cdef int allnan = 1 - * cdef np.float64_t amax, ai + * cdef np.int64_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":752 + /* "nanargmax.pyx":757 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9018,7 +9064,7 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":753 + /* "nanargmax.pyx":758 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -9027,7 +9073,7 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":754 + /* "nanargmax.pyx":759 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -9036,7 +9082,7 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":755 + /* "nanargmax.pyx":760 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -9046,22 +9092,22 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":756 + /* "nanargmax.pyx":761 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -9069,7 +9115,7 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":758 + /* "nanargmax.pyx":763 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n1 == 0: # <<<<<<<<<<<<<< @@ -9079,7 +9125,7 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":759 + /* "nanargmax.pyx":764 * NPY_intp, 0) * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -9089,57 +9135,48 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":760 + /* "nanargmax.pyx":765 * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): - * amax = MINfloat64 + * amax = MINint64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":761 + /* "nanargmax.pyx":766 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINfloat64 - * allnan = 1 + * amax = MINint64 + * for i1 in range(n1 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i0 = __pyx_t_6; - /* "nanargmax.pyx":762 + /* "nanargmax.pyx":767 * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): - * amax = MINfloat64 # <<<<<<<<<<<<<< - * allnan = 1 - * for i1 in range(n1 - 1, -1, -1): - */ - __pyx_v_amax = __pyx_v_9nanargmax_MINfloat64; - - /* "nanargmax.pyx":763 - * for i0 in range(n0 - 1, -1, -1): - * amax = MINfloat64 - * allnan = 1 # <<<<<<<<<<<<<< + * amax = MINint64 # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amax = __pyx_v_9nanargmax_MINint64; - /* "nanargmax.pyx":764 - * amax = MINfloat64 - * allnan = 1 + /* "nanargmax.pyx":768 + * for i0 in range(n0 - 1, -1, -1): + * amax = MINint64 * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -9147,8 +9184,8 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanargmax.pyx":765 - * allnan = 1 + /* "nanargmax.pyx":769 + * amax = MINint64 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -9156,42 +9193,33 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":766 + /* "nanargmax.pyx":770 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * idx = i1 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":767 + /* "nanargmax.pyx":771 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i1 + * y[i0] = idx */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":768 + /* "nanargmax.pyx":772 * if ai >= amax: * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i1 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmax.pyx":769 - * amax = ai - * allnan = 0 * idx = i1 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = idx + * y[i0] = idx + * return y */ __pyx_v_idx = __pyx_v_i1; goto __pyx_L8; @@ -9199,48 +9227,20 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED __pyx_L8:; } - /* "nanargmax.pyx":770 - * allnan = 0 - * idx = i1 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmax.pyx":771 + /* "nanargmax.pyx":773 + * amax = ai * idx = i1 - * if allnan == 0: - * y[i0] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; - } - /*else*/ { - - /* "nanargmax.pyx":773 - * y[i0] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * y[i0] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } /* "nanargmax.pyx":774 - * else: - * raise ValueError("All-NaN slice encountered") + * idx = i1 + * y[i0] = idx * return y # <<<<<<<<<<<<<< * * cdef dict nanargmax_dict = {} @@ -9250,11 +9250,11 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmax.pyx":745 + /* "nanargmax.pyx":750 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." + * def nanargmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -9267,7 +9267,7 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9282,7 +9282,7 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED } /* "nanargmax.pyx":799 - * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 + * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 * * def nanargmax_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanargmax along axis 0." @@ -9350,7 +9350,7 @@ static PyObject *__pyx_pf_9nanargmax_46nanargmax_slow_axis0(CYTHON_UNUSED PyObje goto __pyx_L0; /* "nanargmax.pyx":799 - * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 + * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 * * def nanargmax_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanargmax along axis 0." @@ -12341,7 +12341,7 @@ static PyObject *__pyx_pf_9nanargmax_112nanargmax_slow_axisNone(CYTHON_UNUSED Py return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -12391,7 +12391,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -12404,7 +12404,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -12413,7 +12413,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -12422,7 +12422,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -12431,7 +12431,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -12441,7 +12441,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -12453,7 +12453,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -12464,7 +12464,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12480,7 +12480,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12492,7 +12492,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -12506,7 +12506,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12522,7 +12522,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12534,7 +12534,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -12548,7 +12548,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -12557,7 +12557,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -12566,7 +12566,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -12576,7 +12576,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -12585,7 +12585,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -12594,7 +12594,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -12605,7 +12605,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -12614,7 +12614,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -12627,7 +12627,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -12636,7 +12636,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -12647,7 +12647,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -12656,7 +12656,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -12665,7 +12665,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -12674,7 +12674,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -12683,7 +12683,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -12695,7 +12695,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -12704,7 +12704,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -12724,7 +12724,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -12740,7 +12740,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -12755,7 +12755,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -12765,7 +12765,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -12775,7 +12775,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -12798,7 +12798,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -12818,7 +12818,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -12832,7 +12832,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -12841,7 +12841,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -12852,7 +12852,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -12863,7 +12863,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -12874,7 +12874,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -12885,7 +12885,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -12896,7 +12896,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -12907,7 +12907,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -12918,7 +12918,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -12929,7 +12929,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -12940,7 +12940,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -12951,7 +12951,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -12962,7 +12962,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -12973,7 +12973,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -12984,7 +12984,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -12995,7 +12995,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -13006,7 +13006,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -13017,7 +13017,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -13029,7 +13029,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -13055,7 +13055,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -13064,7 +13064,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -13076,7 +13076,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -13085,7 +13085,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -13094,7 +13094,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -13103,7 +13103,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -13113,7 +13113,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -13123,7 +13123,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -13155,7 +13155,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -13179,7 +13179,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -13189,7 +13189,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -13201,7 +13201,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -13211,7 +13211,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -13223,7 +13223,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -13235,7 +13235,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -13252,7 +13252,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -13266,7 +13266,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -13285,7 +13285,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -13302,7 +13302,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -13316,7 +13316,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -13335,7 +13335,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13352,7 +13352,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -13366,7 +13366,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13385,7 +13385,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13402,7 +13402,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -13416,7 +13416,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13435,7 +13435,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13452,7 +13452,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -13466,7 +13466,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13485,7 +13485,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -13517,7 +13517,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -13526,7 +13526,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -13535,7 +13535,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -13557,7 +13557,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -13570,7 +13570,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -13609,7 +13609,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -13626,7 +13626,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -13640,7 +13640,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -13663,7 +13663,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -13683,7 +13683,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -13697,7 +13697,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -13713,7 +13713,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -13722,7 +13722,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -13731,7 +13731,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -13742,7 +13742,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -13752,7 +13752,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -13762,7 +13762,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -13774,7 +13774,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -13784,7 +13784,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -13798,7 +13798,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -13816,7 +13816,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -13834,7 +13834,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -13852,7 +13852,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -13870,7 +13870,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -13888,7 +13888,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -13906,7 +13906,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -13924,7 +13924,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -13942,7 +13942,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -13960,7 +13960,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -13978,7 +13978,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -13996,7 +13996,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -14014,7 +14014,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -14032,7 +14032,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -14052,7 +14052,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -14072,7 +14072,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -14092,7 +14092,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -14111,7 +14111,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -14134,7 +14134,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -14146,7 +14146,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -14158,7 +14158,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -14168,7 +14168,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -14178,7 +14178,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -14203,7 +14203,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -14218,7 +14218,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -14229,7 +14229,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -14241,7 +14241,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -14250,7 +14250,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -14261,7 +14261,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -14270,7 +14270,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -14279,7 +14279,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -14291,7 +14291,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14305,7 +14305,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -14315,7 +14315,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -14329,7 +14329,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -14340,7 +14340,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14379,7 +14379,6 @@ static struct PyModuleDef __pyx_moduledef = { static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_s_All_NaN_slice_encountered, __pyx_k_All_NaN_slice_encountered, sizeof(__pyx_k_All_NaN_slice_encountered), 0, 0, 1, 0}, - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -14393,6 +14392,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__16, __pyx_k__16, sizeof(__pyx_k__16), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -14523,106 +14523,106 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "nanargmax.pyx":524 + /* "nanargmax.pyx":212 * return np.intp(idx) * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "nanargmax.pyx":550 + /* "nanargmax.pyx":238 * return np.intp(idx) * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "nanargmax.pyx":576 + /* "nanargmax.pyx":264 * return np.intp(idx) * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "nanargmax.pyx":608 + /* "nanargmax.pyx":296 * y[i1] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "nanargmax.pyx":641 + /* "nanargmax.pyx":329 * y[i0] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "nanargmax.pyx":674 + /* "nanargmax.pyx":362 * y[i1] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6); - /* "nanargmax.pyx":707 + /* "nanargmax.pyx":395 * y[i0] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7); - /* "nanargmax.pyx":740 + /* "nanargmax.pyx":428 * y[i1] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8); - /* "nanargmax.pyx":773 + /* "nanargmax.pyx":461 * y[i0] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -14633,7 +14633,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -14644,7 +14644,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14655,7 +14655,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__12); __Pyx_GIVEREF(__pyx_tuple__12); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -14666,7 +14666,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14677,7 +14677,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -14709,7 +14709,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__18 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18); - __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":113 * return func(arr) @@ -14721,262 +14721,262 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__20 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__20); __Pyx_GIVEREF(__pyx_tuple__20); - __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_selector, 113, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_selector, 113, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":190 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int array along axis=0 ignoring NaNs." + * def nanargmax_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ __pyx_tuple__22 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22); - __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_1d_int_axis0, 190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_1d_float_axis0, 190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":212 + /* "nanargmax.pyx":216 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + * def nanargmax_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__24 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__24 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__24); __Pyx_GIVEREF(__pyx_tuple__24); - __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_1d_int8_axis0, 212, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_1d_float32_axis0, 216, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":234 + /* "nanargmax.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." + * def nanargmax_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__26 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__26 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__26); __Pyx_GIVEREF(__pyx_tuple__26); - __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_1d_int32_axis0, 234, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_1d_float64_axis0, 242, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":256 + /* "nanargmax.pyx":268 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__28 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__28 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__28); __Pyx_GIVEREF(__pyx_tuple__28); - __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_1d_int64_axis0, 256, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_float_axis0, 268, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":278 + /* "nanargmax.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=0 ignoring NaNs." + * def nanargmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__30 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__30 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30); - __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_int_axis0, 278, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_float_axis1, 301, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":306 + /* "nanargmax.pyx":334 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=1 ignoring NaNs." + * def nanargmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__32 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__32 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__32); __Pyx_GIVEREF(__pyx_tuple__32); - __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_int_axis1, 306, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_float32_axis0, 334, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":334 + /* "nanargmax.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__34 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__34 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__34); __Pyx_GIVEREF(__pyx_tuple__34); - __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_int8_axis0, 334, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_float32_axis1, 367, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":362 + /* "nanargmax.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." + * def nanargmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__36 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__36 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); - __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_int8_axis1, 362, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_float64_axis0, 400, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":390 + /* "nanargmax.pyx":433 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__38 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__38 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__38); __Pyx_GIVEREF(__pyx_tuple__38); - __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_int32_axis0, 390, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_float64_axis1, 433, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":418 + /* "nanargmax.pyx":466 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." + * def nanargmax_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__40 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__40 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__40); __Pyx_GIVEREF(__pyx_tuple__40); - __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_int32_axis1, 418, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_1d_int_axis0, 466, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":446 + /* "nanargmax.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." + * def nanargmax_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__42 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__42 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__42); __Pyx_GIVEREF(__pyx_tuple__42); - __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_int64_axis0, 446, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_1d_int8_axis0, 488, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":474 + /* "nanargmax.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." + * def nanargmax_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__44 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__44 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__44); __Pyx_GIVEREF(__pyx_tuple__44); - __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_int64_axis1, 474, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_1d_int32_axis0, 510, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":502 + /* "nanargmax.pyx":532 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float array along axis=0 ignoring NaNs." + * def nanargmax_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__46 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__46 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__46); __Pyx_GIVEREF(__pyx_tuple__46); - __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_1d_float_axis0, 502, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_1d_int64_axis0, 532, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":528 + /* "nanargmax.pyx":554 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__48 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__48 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__48); __Pyx_GIVEREF(__pyx_tuple__48); - __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_1d_float32_axis0, 528, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_int_axis0, 554, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":554 + /* "nanargmax.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__50 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__50 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__50); __Pyx_GIVEREF(__pyx_tuple__50); - __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_1d_float64_axis0, 554, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_int_axis1, 582, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":580 + /* "nanargmax.pyx":610 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=0 ignoring NaNs." + * def nanargmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__52 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__52 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__52); __Pyx_GIVEREF(__pyx_tuple__52); - __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_float_axis0, 580, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_int8_axis0, 610, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":613 + /* "nanargmax.pyx":638 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=1 ignoring NaNs." + * def nanargmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__54 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__54 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__54); __Pyx_GIVEREF(__pyx_tuple__54); - __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_float_axis1, 613, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_int8_axis1, 638, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":646 + /* "nanargmax.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__56 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__56 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__56); __Pyx_GIVEREF(__pyx_tuple__56); - __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_float32_axis0, 646, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_int32_axis0, 666, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":679 + /* "nanargmax.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." + * def nanargmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__58 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__58 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__58); __Pyx_GIVEREF(__pyx_tuple__58); - __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_float32_axis1, 679, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_int32_axis1, 694, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":712 + /* "nanargmax.pyx":722 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__60 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__60 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__60); __Pyx_GIVEREF(__pyx_tuple__60); - __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_float64_axis0, 712, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_int64_axis0, 722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":745 + /* "nanargmax.pyx":750 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." + * def nanargmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__62 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__62 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__62); __Pyx_GIVEREF(__pyx_tuple__62); - __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_float64_axis1, 745, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_int64_axis1, 750, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":799 - * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 + * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 * * def nanargmax_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanargmax along axis 0." @@ -14985,7 +14985,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__64 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__64); __Pyx_GIVEREF(__pyx_tuple__64); - __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis0, 799, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis0, 799, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":803 * return bn.slow.nanargmax(arr, axis=0) @@ -14997,7 +14997,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__66 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__66); __Pyx_GIVEREF(__pyx_tuple__66); - __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis1, 803, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis1, 803, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":807 * return bn.slow.nanargmax(arr, axis=1) @@ -15009,7 +15009,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__68 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__68); __Pyx_GIVEREF(__pyx_tuple__68); - __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis2, 807, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis2, 807, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":811 * return bn.slow.nanargmax(arr, axis=2) @@ -15021,7 +15021,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__70 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__70); __Pyx_GIVEREF(__pyx_tuple__70); - __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis3, 811, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis3, 811, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":815 * return bn.slow.nanargmax(arr, axis=3) @@ -15033,7 +15033,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__72 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__72); __Pyx_GIVEREF(__pyx_tuple__72); - __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis4, 815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis4, 815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":819 * return bn.slow.nanargmax(arr, axis=4) @@ -15045,7 +15045,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__74 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__74); __Pyx_GIVEREF(__pyx_tuple__74); - __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis5, 819, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis5, 819, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":823 * return bn.slow.nanargmax(arr, axis=5) @@ -15057,7 +15057,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__76 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__76); __Pyx_GIVEREF(__pyx_tuple__76); - __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis6, 823, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis6, 823, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":827 * return bn.slow.nanargmax(arr, axis=6) @@ -15069,7 +15069,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__78 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__78); __Pyx_GIVEREF(__pyx_tuple__78); - __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis7, 827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis7, 827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":831 * return bn.slow.nanargmax(arr, axis=7) @@ -15081,7 +15081,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__80 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__80); __Pyx_GIVEREF(__pyx_tuple__80); - __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis8, 831, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis8, 831, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":835 * return bn.slow.nanargmax(arr, axis=8) @@ -15093,7 +15093,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__82 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__82); __Pyx_GIVEREF(__pyx_tuple__82); - __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis9, 835, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis9, 835, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":839 * return bn.slow.nanargmax(arr, axis=9) @@ -15105,7 +15105,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__84 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__84); __Pyx_GIVEREF(__pyx_tuple__84); - __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis10, 839, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis10, 839, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":843 * return bn.slow.nanargmax(arr, axis=10) @@ -15117,7 +15117,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__86 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__86); __Pyx_GIVEREF(__pyx_tuple__86); - __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis11, 843, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis11, 843, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":847 * return bn.slow.nanargmax(arr, axis=11) @@ -15129,7 +15129,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__88 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__88); __Pyx_GIVEREF(__pyx_tuple__88); - __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis12, 847, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis12, 847, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":851 * return bn.slow.nanargmax(arr, axis=12) @@ -15141,7 +15141,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__90 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__90); __Pyx_GIVEREF(__pyx_tuple__90); - __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis13, 851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis13, 851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":855 * return bn.slow.nanargmax(arr, axis=13) @@ -15153,7 +15153,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__92 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__92); __Pyx_GIVEREF(__pyx_tuple__92); - __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis14, 855, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis14, 855, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":859 * return bn.slow.nanargmax(arr, axis=14) @@ -15165,7 +15165,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__94 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__94); __Pyx_GIVEREF(__pyx_tuple__94); - __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis15, 859, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis15, 859, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":863 * return bn.slow.nanargmax(arr, axis=15) @@ -15177,7 +15177,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__96 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__96); __Pyx_GIVEREF(__pyx_tuple__96); - __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis16, 863, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis16, 863, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":867 * return bn.slow.nanargmax(arr, axis=16) @@ -15189,7 +15189,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__98 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__98); __Pyx_GIVEREF(__pyx_tuple__98); - __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis17, 867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis17, 867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":871 * return bn.slow.nanargmax(arr, axis=17) @@ -15201,7 +15201,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__100 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__100); __Pyx_GIVEREF(__pyx_tuple__100); - __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis18, 871, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis18, 871, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":875 * return bn.slow.nanargmax(arr, axis=18) @@ -15213,7 +15213,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__102 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__102); __Pyx_GIVEREF(__pyx_tuple__102); - __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis19, 875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis19, 875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":879 * return bn.slow.nanargmax(arr, axis=19) @@ -15225,7 +15225,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__104 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__104); __Pyx_GIVEREF(__pyx_tuple__104); - __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis20, 879, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis20, 879, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":883 * return bn.slow.nanargmax(arr, axis=20) @@ -15237,7 +15237,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__106 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__106); __Pyx_GIVEREF(__pyx_tuple__106); - __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis21, 883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis21, 883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":887 * return bn.slow.nanargmax(arr, axis=21) @@ -15249,7 +15249,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__108 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__108); __Pyx_GIVEREF(__pyx_tuple__108); - __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis22, 887, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis22, 887, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":891 * return bn.slow.nanargmax(arr, axis=22) @@ -15261,7 +15261,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__110 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__110); __Pyx_GIVEREF(__pyx_tuple__110); - __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis23, 891, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis23, 891, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":895 * return bn.slow.nanargmax(arr, axis=23) @@ -15273,7 +15273,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__112 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__112); __Pyx_GIVEREF(__pyx_tuple__112); - __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis24, 895, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis24, 895, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":899 * return bn.slow.nanargmax(arr, axis=24) @@ -15285,7 +15285,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__114 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__114); __Pyx_GIVEREF(__pyx_tuple__114); - __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis25, 899, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis25, 899, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":903 * return bn.slow.nanargmax(arr, axis=25) @@ -15297,7 +15297,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__116 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__116); __Pyx_GIVEREF(__pyx_tuple__116); - __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis26, 903, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis26, 903, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":907 * return bn.slow.nanargmax(arr, axis=26) @@ -15309,7 +15309,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__118 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__118); __Pyx_GIVEREF(__pyx_tuple__118); - __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis27, 907, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis27, 907, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":911 * return bn.slow.nanargmax(arr, axis=27) @@ -15321,7 +15321,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__120 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__120); __Pyx_GIVEREF(__pyx_tuple__120); - __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis28, 911, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis28, 911, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":915 * return bn.slow.nanargmax(arr, axis=28) @@ -15333,7 +15333,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__122 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__122); __Pyx_GIVEREF(__pyx_tuple__122); - __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis29, 915, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis29, 915, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":919 * return bn.slow.nanargmax(arr, axis=29) @@ -15345,7 +15345,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__124 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__124); __Pyx_GIVEREF(__pyx_tuple__124); - __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis30, 919, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis30, 919, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":923 * return bn.slow.nanargmax(arr, axis=30) @@ -15357,7 +15357,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__126 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__126); __Pyx_GIVEREF(__pyx_tuple__126); - __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis31, 923, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis31, 923, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":927 * return bn.slow.nanargmax(arr, axis=31) @@ -15369,7 +15369,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__128 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__128); __Pyx_GIVEREF(__pyx_tuple__128); - __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis32, 927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis32, 927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":931 * return bn.slow.nanargmax(arr, axis=32) @@ -15381,7 +15381,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__130 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__130); __Pyx_GIVEREF(__pyx_tuple__130); - __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axisNone, 931, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axisNone, 931, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -16347,261 +16347,261 @@ PyMODINIT_FUNC PyInit_nanargmax(void) /* "nanargmax.pyx":190 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int array along axis=0 ignoring NaNs." + * def nanargmax_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_5nanargmax_1d_int_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_5nanargmax_1d_float_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":212 + /* "nanargmax.pyx":216 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + * def nanargmax_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_7nanargmax_1d_int8_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_7nanargmax_1d_float32_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":234 + /* "nanargmax.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." + * def nanargmax_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_9nanargmax_1d_int32_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_9nanargmax_1d_float64_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":256 + /* "nanargmax.pyx":268 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_11nanargmax_1d_int64_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_11nanargmax_2d_float_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":278 + /* "nanargmax.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=0 ignoring NaNs." + * def nanargmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_13nanargmax_2d_int_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_13nanargmax_2d_float_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":306 + /* "nanargmax.pyx":334 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=1 ignoring NaNs." + * def nanargmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_15nanargmax_2d_int_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_15nanargmax_2d_float32_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":334 + /* "nanargmax.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_17nanargmax_2d_int8_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_17nanargmax_2d_float32_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":362 + /* "nanargmax.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." + * def nanargmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_19nanargmax_2d_int8_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_19nanargmax_2d_float64_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":390 + /* "nanargmax.pyx":433 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_21nanargmax_2d_int32_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_21nanargmax_2d_float64_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":418 + /* "nanargmax.pyx":466 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." + * def nanargmax_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_23nanargmax_2d_int32_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_23nanargmax_1d_int_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":446 + /* "nanargmax.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." + * def nanargmax_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_25nanargmax_2d_int64_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_25nanargmax_1d_int8_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":474 + /* "nanargmax.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." + * def nanargmax_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_27nanargmax_2d_int64_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_27nanargmax_1d_int32_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":502 + /* "nanargmax.pyx":532 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float array along axis=0 ignoring NaNs." + * def nanargmax_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_29nanargmax_1d_float_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_29nanargmax_1d_int64_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":528 + /* "nanargmax.pyx":554 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_31nanargmax_1d_float32_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_31nanargmax_2d_int_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":554 + /* "nanargmax.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_33nanargmax_1d_float64_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_33nanargmax_2d_int_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":580 + /* "nanargmax.pyx":610 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=0 ignoring NaNs." + * def nanargmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_35nanargmax_2d_float_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_35nanargmax_2d_int8_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":613 + /* "nanargmax.pyx":638 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=1 ignoring NaNs." + * def nanargmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_37nanargmax_2d_float_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_37nanargmax_2d_int8_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":646 + /* "nanargmax.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_39nanargmax_2d_float32_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_39nanargmax_2d_int32_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":679 + /* "nanargmax.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." + * def nanargmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_41nanargmax_2d_float32_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_41nanargmax_2d_int32_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":712 + /* "nanargmax.pyx":722 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_43nanargmax_2d_float64_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_43nanargmax_2d_int64_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":745 + /* "nanargmax.pyx":750 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." + * def nanargmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_45nanargmax_2d_float64_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_45nanargmax_2d_int64_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":776 * return y * * cdef dict nanargmax_dict = {} # <<<<<<<<<<<<<< - * nanargmax_dict[(1, NPY_int, 0)] = nanargmax_1d_int_axis0 - * nanargmax_dict[(1, NPY_int8, 0)] = nanargmax_1d_int8_axis0 + * nanargmax_dict[(1, NPY_float, 0)] = nanargmax_1d_float_axis0 + * nanargmax_dict[(1, NPY_float32, 0)] = nanargmax_1d_float32_axis0 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -16613,17 +16613,17 @@ PyMODINIT_FUNC PyInit_nanargmax(void) /* "nanargmax.pyx":777 * * cdef dict nanargmax_dict = {} - * nanargmax_dict[(1, NPY_int, 0)] = nanargmax_1d_int_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(1, NPY_int8, 0)] = nanargmax_1d_int8_axis0 - * nanargmax_dict[(1, NPY_int32, 0)] = nanargmax_1d_int32_axis0 + * nanargmax_dict[(1, NPY_float, 0)] = nanargmax_1d_float_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(1, NPY_float32, 0)] = nanargmax_1d_float32_axis0 + * nanargmax_dict[(1, NPY_float64, 0)] = nanargmax_1d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16642,18 +16642,18 @@ PyMODINIT_FUNC PyInit_nanargmax(void) /* "nanargmax.pyx":778 * cdef dict nanargmax_dict = {} - * nanargmax_dict[(1, NPY_int, 0)] = nanargmax_1d_int_axis0 - * nanargmax_dict[(1, NPY_int8, 0)] = nanargmax_1d_int8_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(1, NPY_int32, 0)] = nanargmax_1d_int32_axis0 - * nanargmax_dict[(1, NPY_int64, 0)] = nanargmax_1d_int64_axis0 + * nanargmax_dict[(1, NPY_float, 0)] = nanargmax_1d_float_axis0 + * nanargmax_dict[(1, NPY_float32, 0)] = nanargmax_1d_float32_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(1, NPY_float64, 0)] = nanargmax_1d_float64_axis0 + * nanargmax_dict[(2, NPY_float, 0)] = nanargmax_2d_float_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16671,19 +16671,19 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":779 - * nanargmax_dict[(1, NPY_int, 0)] = nanargmax_1d_int_axis0 - * nanargmax_dict[(1, NPY_int8, 0)] = nanargmax_1d_int8_axis0 - * nanargmax_dict[(1, NPY_int32, 0)] = nanargmax_1d_int32_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(1, NPY_int64, 0)] = nanargmax_1d_int64_axis0 - * nanargmax_dict[(2, NPY_int, 0)] = nanargmax_2d_int_axis0 + * nanargmax_dict[(1, NPY_float, 0)] = nanargmax_1d_float_axis0 + * nanargmax_dict[(1, NPY_float32, 0)] = nanargmax_1d_float32_axis0 + * nanargmax_dict[(1, NPY_float64, 0)] = nanargmax_1d_float64_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_float, 0)] = nanargmax_2d_float_axis0 + * nanargmax_dict[(2, NPY_float, 1)] = nanargmax_2d_float_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16701,25 +16701,25 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":780 - * nanargmax_dict[(1, NPY_int8, 0)] = nanargmax_1d_int8_axis0 - * nanargmax_dict[(1, NPY_int32, 0)] = nanargmax_1d_int32_axis0 - * nanargmax_dict[(1, NPY_int64, 0)] = nanargmax_1d_int64_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_int, 0)] = nanargmax_2d_int_axis0 - * nanargmax_dict[(2, NPY_int, 1)] = nanargmax_2d_int_axis1 + * nanargmax_dict[(1, NPY_float32, 0)] = nanargmax_1d_float32_axis0 + * nanargmax_dict[(1, NPY_float64, 0)] = nanargmax_1d_float64_axis0 + * nanargmax_dict[(2, NPY_float, 0)] = nanargmax_2d_float_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_float, 1)] = nanargmax_2d_float_axis1 + * nanargmax_dict[(2, NPY_float32, 0)] = nanargmax_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16731,19 +16731,19 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":781 - * nanargmax_dict[(1, NPY_int32, 0)] = nanargmax_1d_int32_axis0 - * nanargmax_dict[(1, NPY_int64, 0)] = nanargmax_1d_int64_axis0 - * nanargmax_dict[(2, NPY_int, 0)] = nanargmax_2d_int_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_int, 1)] = nanargmax_2d_int_axis1 - * nanargmax_dict[(2, NPY_int8, 0)] = nanargmax_2d_int8_axis0 + * nanargmax_dict[(1, NPY_float64, 0)] = nanargmax_1d_float64_axis0 + * nanargmax_dict[(2, NPY_float, 0)] = nanargmax_2d_float_axis0 + * nanargmax_dict[(2, NPY_float, 1)] = nanargmax_2d_float_axis1 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_float32, 0)] = nanargmax_2d_float32_axis0 + * nanargmax_dict[(2, NPY_float32, 1)] = nanargmax_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16752,28 +16752,28 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmax_nanargmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":782 - * nanargmax_dict[(1, NPY_int64, 0)] = nanargmax_1d_int64_axis0 - * nanargmax_dict[(2, NPY_int, 0)] = nanargmax_2d_int_axis0 - * nanargmax_dict[(2, NPY_int, 1)] = nanargmax_2d_int_axis1 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_int8, 0)] = nanargmax_2d_int8_axis0 - * nanargmax_dict[(2, NPY_int8, 1)] = nanargmax_2d_int8_axis1 + * nanargmax_dict[(2, NPY_float, 0)] = nanargmax_2d_float_axis0 + * nanargmax_dict[(2, NPY_float, 1)] = nanargmax_2d_float_axis1 + * nanargmax_dict[(2, NPY_float32, 0)] = nanargmax_2d_float32_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_float32, 1)] = nanargmax_2d_float32_axis1 + * nanargmax_dict[(2, NPY_float64, 0)] = nanargmax_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16782,28 +16782,28 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmax_nanargmax_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":783 - * nanargmax_dict[(2, NPY_int, 0)] = nanargmax_2d_int_axis0 - * nanargmax_dict[(2, NPY_int, 1)] = nanargmax_2d_int_axis1 - * nanargmax_dict[(2, NPY_int8, 0)] = nanargmax_2d_int8_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_int8, 1)] = nanargmax_2d_int8_axis1 - * nanargmax_dict[(2, NPY_int32, 0)] = nanargmax_2d_int32_axis0 + * nanargmax_dict[(2, NPY_float, 1)] = nanargmax_2d_float_axis1 + * nanargmax_dict[(2, NPY_float32, 0)] = nanargmax_2d_float32_axis0 + * nanargmax_dict[(2, NPY_float32, 1)] = nanargmax_2d_float32_axis1 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_float64, 0)] = nanargmax_2d_float64_axis0 + * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16812,28 +16812,28 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmax_nanargmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":784 - * nanargmax_dict[(2, NPY_int, 1)] = nanargmax_2d_int_axis1 - * nanargmax_dict[(2, NPY_int8, 0)] = nanargmax_2d_int8_axis0 - * nanargmax_dict[(2, NPY_int8, 1)] = nanargmax_2d_int8_axis1 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_int32, 0)] = nanargmax_2d_int32_axis0 - * nanargmax_dict[(2, NPY_int32, 1)] = nanargmax_2d_int32_axis1 + * nanargmax_dict[(2, NPY_float32, 0)] = nanargmax_2d_float32_axis0 + * nanargmax_dict[(2, NPY_float32, 1)] = nanargmax_2d_float32_axis1 + * nanargmax_dict[(2, NPY_float64, 0)] = nanargmax_2d_float64_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 + * nanargmax_dict[(1, NPY_int, 0)] = nanargmax_1d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16842,28 +16842,28 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmax_nanargmax_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":785 - * nanargmax_dict[(2, NPY_int8, 0)] = nanargmax_2d_int8_axis0 - * nanargmax_dict[(2, NPY_int8, 1)] = nanargmax_2d_int8_axis1 - * nanargmax_dict[(2, NPY_int32, 0)] = nanargmax_2d_int32_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_int32, 1)] = nanargmax_2d_int32_axis1 - * nanargmax_dict[(2, NPY_int64, 0)] = nanargmax_2d_int64_axis0 + * nanargmax_dict[(2, NPY_float32, 1)] = nanargmax_2d_float32_axis1 + * nanargmax_dict[(2, NPY_float64, 0)] = nanargmax_2d_float64_axis0 + * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanargmax_dict[(1, NPY_int, 0)] = nanargmax_1d_int_axis0 + * nanargmax_dict[(1, NPY_int8, 0)] = nanargmax_1d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16872,64 +16872,64 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmax_nanargmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":786 - * nanargmax_dict[(2, NPY_int8, 1)] = nanargmax_2d_int8_axis1 - * nanargmax_dict[(2, NPY_int32, 0)] = nanargmax_2d_int32_axis0 - * nanargmax_dict[(2, NPY_int32, 1)] = nanargmax_2d_int32_axis1 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_int64, 0)] = nanargmax_2d_int64_axis0 - * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 + * nanargmax_dict[(2, NPY_float64, 0)] = nanargmax_2d_float64_axis0 + * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 + * nanargmax_dict[(1, NPY_int, 0)] = nanargmax_1d_int_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(1, NPY_int8, 0)] = nanargmax_1d_int8_axis0 + * nanargmax_dict[(1, NPY_int32, 0)] = nanargmax_1d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmax_nanargmax_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":787 - * nanargmax_dict[(2, NPY_int32, 0)] = nanargmax_2d_int32_axis0 - * nanargmax_dict[(2, NPY_int32, 1)] = nanargmax_2d_int32_axis1 - * nanargmax_dict[(2, NPY_int64, 0)] = nanargmax_2d_int64_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 - * nanargmax_dict[(1, NPY_float, 0)] = nanargmax_1d_float_axis0 + * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 + * nanargmax_dict[(1, NPY_int, 0)] = nanargmax_1d_int_axis0 + * nanargmax_dict[(1, NPY_int8, 0)] = nanargmax_1d_int8_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(1, NPY_int32, 0)] = nanargmax_1d_int32_axis0 + * nanargmax_dict[(1, NPY_int64, 0)] = nanargmax_1d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -16941,49 +16941,49 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":788 - * nanargmax_dict[(2, NPY_int32, 1)] = nanargmax_2d_int32_axis1 - * nanargmax_dict[(2, NPY_int64, 0)] = nanargmax_2d_int64_axis0 - * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 # <<<<<<<<<<<<<< - * nanargmax_dict[(1, NPY_float, 0)] = nanargmax_1d_float_axis0 - * nanargmax_dict[(1, NPY_float32, 0)] = nanargmax_1d_float32_axis0 + * nanargmax_dict[(1, NPY_int, 0)] = nanargmax_1d_int_axis0 + * nanargmax_dict[(1, NPY_int8, 0)] = nanargmax_1d_int8_axis0 + * nanargmax_dict[(1, NPY_int32, 0)] = nanargmax_1d_int32_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(1, NPY_int64, 0)] = nanargmax_1d_int64_axis0 + * nanargmax_dict[(2, NPY_int, 0)] = nanargmax_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmax_nanargmax_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":789 - * nanargmax_dict[(2, NPY_int64, 0)] = nanargmax_2d_int64_axis0 - * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 - * nanargmax_dict[(1, NPY_float, 0)] = nanargmax_1d_float_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(1, NPY_float32, 0)] = nanargmax_1d_float32_axis0 - * nanargmax_dict[(1, NPY_float64, 0)] = nanargmax_1d_float64_axis0 + * nanargmax_dict[(1, NPY_int8, 0)] = nanargmax_1d_int8_axis0 + * nanargmax_dict[(1, NPY_int32, 0)] = nanargmax_1d_int32_axis0 + * nanargmax_dict[(1, NPY_int64, 0)] = nanargmax_1d_int64_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_int, 0)] = nanargmax_2d_int_axis0 + * nanargmax_dict[(2, NPY_int, 1)] = nanargmax_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17001,25 +17001,25 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":790 - * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 - * nanargmax_dict[(1, NPY_float, 0)] = nanargmax_1d_float_axis0 - * nanargmax_dict[(1, NPY_float32, 0)] = nanargmax_1d_float32_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(1, NPY_float64, 0)] = nanargmax_1d_float64_axis0 - * nanargmax_dict[(2, NPY_float, 0)] = nanargmax_2d_float_axis0 + * nanargmax_dict[(1, NPY_int32, 0)] = nanargmax_1d_int32_axis0 + * nanargmax_dict[(1, NPY_int64, 0)] = nanargmax_1d_int64_axis0 + * nanargmax_dict[(2, NPY_int, 0)] = nanargmax_2d_int_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_int, 1)] = nanargmax_2d_int_axis1 + * nanargmax_dict[(2, NPY_int8, 0)] = nanargmax_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -17031,49 +17031,49 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":791 - * nanargmax_dict[(1, NPY_float, 0)] = nanargmax_1d_float_axis0 - * nanargmax_dict[(1, NPY_float32, 0)] = nanargmax_1d_float32_axis0 - * nanargmax_dict[(1, NPY_float64, 0)] = nanargmax_1d_float64_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_float, 0)] = nanargmax_2d_float_axis0 - * nanargmax_dict[(2, NPY_float, 1)] = nanargmax_2d_float_axis1 + * nanargmax_dict[(1, NPY_int64, 0)] = nanargmax_1d_int64_axis0 + * nanargmax_dict[(2, NPY_int, 0)] = nanargmax_2d_int_axis0 + * nanargmax_dict[(2, NPY_int, 1)] = nanargmax_2d_int_axis1 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_int8, 0)] = nanargmax_2d_int8_axis0 + * nanargmax_dict[(2, NPY_int8, 1)] = nanargmax_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmax_nanargmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":792 - * nanargmax_dict[(1, NPY_float32, 0)] = nanargmax_1d_float32_axis0 - * nanargmax_dict[(1, NPY_float64, 0)] = nanargmax_1d_float64_axis0 - * nanargmax_dict[(2, NPY_float, 0)] = nanargmax_2d_float_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_float, 1)] = nanargmax_2d_float_axis1 - * nanargmax_dict[(2, NPY_float32, 0)] = nanargmax_2d_float32_axis0 + * nanargmax_dict[(2, NPY_int, 0)] = nanargmax_2d_int_axis0 + * nanargmax_dict[(2, NPY_int, 1)] = nanargmax_2d_int_axis1 + * nanargmax_dict[(2, NPY_int8, 0)] = nanargmax_2d_int8_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_int8, 1)] = nanargmax_2d_int8_axis1 + * nanargmax_dict[(2, NPY_int32, 0)] = nanargmax_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17091,19 +17091,19 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":793 - * nanargmax_dict[(1, NPY_float64, 0)] = nanargmax_1d_float64_axis0 - * nanargmax_dict[(2, NPY_float, 0)] = nanargmax_2d_float_axis0 - * nanargmax_dict[(2, NPY_float, 1)] = nanargmax_2d_float_axis1 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_float32, 0)] = nanargmax_2d_float32_axis0 - * nanargmax_dict[(2, NPY_float32, 1)] = nanargmax_2d_float32_axis1 + * nanargmax_dict[(2, NPY_int, 1)] = nanargmax_2d_int_axis1 + * nanargmax_dict[(2, NPY_int8, 0)] = nanargmax_2d_int8_axis0 + * nanargmax_dict[(2, NPY_int8, 1)] = nanargmax_2d_int8_axis1 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_int32, 0)] = nanargmax_2d_int32_axis0 + * nanargmax_dict[(2, NPY_int32, 1)] = nanargmax_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17121,19 +17121,19 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":794 - * nanargmax_dict[(2, NPY_float, 0)] = nanargmax_2d_float_axis0 - * nanargmax_dict[(2, NPY_float, 1)] = nanargmax_2d_float_axis1 - * nanargmax_dict[(2, NPY_float32, 0)] = nanargmax_2d_float32_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_float32, 1)] = nanargmax_2d_float32_axis1 - * nanargmax_dict[(2, NPY_float64, 0)] = nanargmax_2d_float64_axis0 + * nanargmax_dict[(2, NPY_int8, 0)] = nanargmax_2d_int8_axis0 + * nanargmax_dict[(2, NPY_int8, 1)] = nanargmax_2d_int8_axis1 + * nanargmax_dict[(2, NPY_int32, 0)] = nanargmax_2d_int32_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_int32, 1)] = nanargmax_2d_int32_axis1 + * nanargmax_dict[(2, NPY_int64, 0)] = nanargmax_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17151,19 +17151,19 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":795 - * nanargmax_dict[(2, NPY_float, 1)] = nanargmax_2d_float_axis1 - * nanargmax_dict[(2, NPY_float32, 0)] = nanargmax_2d_float32_axis0 - * nanargmax_dict[(2, NPY_float32, 1)] = nanargmax_2d_float32_axis1 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_float64, 0)] = nanargmax_2d_float64_axis0 - * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 + * nanargmax_dict[(2, NPY_int8, 1)] = nanargmax_2d_int8_axis1 + * nanargmax_dict[(2, NPY_int32, 0)] = nanargmax_2d_int32_axis0 + * nanargmax_dict[(2, NPY_int32, 1)] = nanargmax_2d_int32_axis1 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_int64, 0)] = nanargmax_2d_int64_axis0 + * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17181,19 +17181,19 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":796 - * nanargmax_dict[(2, NPY_float32, 0)] = nanargmax_2d_float32_axis0 - * nanargmax_dict[(2, NPY_float32, 1)] = nanargmax_2d_float32_axis1 - * nanargmax_dict[(2, NPY_float64, 0)] = nanargmax_2d_float64_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 + * nanargmax_dict[(2, NPY_int32, 0)] = nanargmax_2d_int32_axis0 + * nanargmax_dict[(2, NPY_int32, 1)] = nanargmax_2d_int32_axis1 + * nanargmax_dict[(2, NPY_int64, 0)] = nanargmax_2d_int64_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17211,19 +17211,19 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":797 - * nanargmax_dict[(2, NPY_float32, 1)] = nanargmax_2d_float32_axis1 - * nanargmax_dict[(2, NPY_float64, 0)] = nanargmax_2d_float64_axis0 - * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_int32, 1)] = nanargmax_2d_int32_axis1 + * nanargmax_dict[(2, NPY_int64, 0)] = nanargmax_2d_int64_axis0 + * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nanargmax_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17241,7 +17241,7 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":799 - * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 + * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 * * def nanargmax_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanargmax along axis 0." @@ -18215,7 +18215,7 @@ PyMODINIT_FUNC PyInit_nanargmax(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/nanargmin.c b/bottlechest/src/func/32bit/nanargmin.c index 8336dae2f9..7ddaa40def 100644 --- a/bottlechest/src/func/32bit/nanargmin.c +++ b/bottlechest/src/func/32bit/nanargmin.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1096,14 +1096,14 @@ static __pyx_t_5numpy_float32_t __pyx_v_9nanargmin_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_9nanargmin_MAXfloat64; static PyObject *__pyx_v_9nanargmin_nanargmin_dict = 0; static PyObject *__pyx_v_9nanargmin_nanargmin_slow_dict = 0; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t = { "intp_t", NULL, sizeof(__pyx_t_5numpy_intp_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_intp_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_intp_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t = { "intp_t", NULL, sizeof(__pyx_t_5numpy_intp_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_intp_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_intp_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "nanargmin" int __pyx_module_is_main_nanargmin = 0; @@ -1115,27 +1115,27 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_9nanargmin_nanargmin(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_9nanargmin_2nanargmin_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_10nanargmin_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_18nanargmin_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_22nanargmin_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_24nanargmin_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_26nanargmin_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_30nanargmin_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_32nanargmin_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_10nanargmin_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_18nanargmin_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_22nanargmin_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_24nanargmin_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_26nanargmin_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_30nanargmin_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_32nanargmin_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_9nanargmin_46nanargmin_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_9nanargmin_48nanargmin_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_9nanargmin_50nanargmin_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1308,9 +1308,9 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Indices_of_the_minimum_values_a[] = "\n Indices of the minimum values along an axis, ignoring NaNs.\n<<<<<<< HEAD:bottlechest/src/template/func/nanargmin.py\n \n=======\n\n For all-NaN slices ``ValueError`` is raised. Unlike NumPy, the results\n can be trusted if a slice contains only NaNs and Infs.\n\n>>>>>>> 72f8ae2... ENH nanargmin and nanargmax now match numpy 1.8.0:bottleneck/src/template/func/nanargmin.py\n Parameters\n ----------\n a : array_like\n Input data.\n axis : {int, None}, optional\n Axis along which to operate. By default (axis=None) flattened input\n is used.\n \n See also\n --------\n bottlechest.nanargmax: Indices of the maximum values along an axis.\n bottlechest.nanmin: Minimum values along specified axis, ignoring NaNs.\n\n Returns\n -------\n index_array : ndarray\n An array of indices or a single index value.\n \n Examples\n --------\n >>> a = np.array([[np.nan, 4], [2, 3]])\n >>> bn.nanargmin(a)\n 2\n >>> a.flat[1]\n 2.0\n >>> bn.nanargmax(a, axis=0)\n array([1, 1])\n >>> bn.nanargmax(a, axis=1)\n array([1, 0])\n \n "; static char __pyx_k_Return_nanargmin_function_and_a[] = "\n Return nanargmin function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.nanargmin() is in checking that `axis` is within range, converting\n `arr` into an array (if it is not already an array), and selecting the\n function to use to find the indices of the minimum.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the indices are found.\n \n Returns\n -------\n func : function\n The nanargmin function that matches the number of dimensions and\n dtype of the input array and the axis.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine the nanargmin of `arr` along\n axis=0:\n\n >>> func, a = bn.func.nanargmin_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the maximum:\n \n >>> func(a)\n 0\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/nanargmin.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\nanargmin.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; @@ -1318,7 +1318,6 @@ static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran static char __pyx_k_numpy_nanargmin_raises_on_a_shap[] = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too."; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; static PyObject *__pyx_kp_s_All_NaN_slice_encountered; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1332,6 +1331,7 @@ static PyObject *__pyx_kp_u_Return_nanargmin_function_and_a; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__16; static PyObject *__pyx_n_s_a; @@ -2448,24 +2448,24 @@ static PyObject *__pyx_pf_9nanargmin_2nanargmin_selector(CYTHON_UNUSED PyObject /* "nanargmin.pyx":190 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int array along axis=0 ignoring NaNs." + * def nanargmin_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_5nanargmin_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_4nanargmin_1d_int_axis0[] = "nanargmin_1d_int_axis0(ndarray a)\nIndex of max of 1d, int array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_5nanargmin_1d_int_axis0 = {"nanargmin_1d_int_axis0", (PyCFunction)__pyx_pw_9nanargmin_5nanargmin_1d_int_axis0, METH_O, __pyx_doc_9nanargmin_4nanargmin_1d_int_axis0}; -static PyObject *__pyx_pw_9nanargmin_5nanargmin_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_5nanargmin_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_4nanargmin_1d_float_axis0[] = "nanargmin_1d_float_axis0(ndarray a)\nIndex of max of 1d, float array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_5nanargmin_1d_float_axis0 = {"nanargmin_1d_float_axis0", (PyCFunction)__pyx_pw_9nanargmin_5nanargmin_1d_float_axis0, METH_O, __pyx_doc_9nanargmin_4nanargmin_1d_float_axis0}; +static PyObject *__pyx_pw_9nanargmin_5nanargmin_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_1d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanargmin_1d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_9nanargmin_4nanargmin_1d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2476,10 +2476,10 @@ static PyObject *__pyx_pw_9nanargmin_5nanargmin_1d_int_axis0(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amin; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amin; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -2494,36 +2494,35 @@ static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(CYTHON_UNUSED PyObj PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_1d_int_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_1d_float_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "nanargmin.pyx":192 - * def nanargmin_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): - * "Index of max of 1d, int array along axis=0 ignoring NaNs." + * def nanargmin_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): + * "Index of max of 1d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amin, ai + * cdef np.float_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; /* "nanargmin.pyx":194 * cdef int allnan = 1 - * cdef np.int_t amin, ai + * cdef np.float_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim @@ -2563,7 +2562,7 @@ static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(CYTHON_UNUSED PyObj * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amin = MAXint + * amin = MAXfloat */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; @@ -2572,8 +2571,8 @@ static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(CYTHON_UNUSED PyObj * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amin = MAXint - * for i0 in range(n0): + * amin = MAXfloat + * for i0 in range(n0 - 1, -1, -1): */ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -2591,39 +2590,38 @@ static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(CYTHON_UNUSED PyObj /* "nanargmin.pyx":202 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amin = MAXint # <<<<<<<<<<<<<< - * for i0 in range(n0): + * amin = MAXfloat # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint; + __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat; /* "nanargmin.pyx":203 * raise ValueError(msg) - * amin = MAXint - * for i0 in range(n0): # <<<<<<<<<<<<<< + * amin = MAXfloat + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0] * if ai <= amin: */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { + __pyx_v_i0 = __pyx_t_4; /* "nanargmin.pyx":204 - * amin = MAXint - * for i0 in range(n0): + * amin = MAXfloat + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); /* "nanargmin.pyx":205 - * for i0 in range(n0): + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * idx = i0 + * allnan = 0 */ __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_1) { @@ -2632,17 +2630,26 @@ static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(CYTHON_UNUSED PyObj * ai = a[i0] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< + * allnan = 0 * idx = i0 - * return np.intp(idx) */ __pyx_v_amin = __pyx_v_ai; /* "nanargmin.pyx":207 * if ai <= amin: * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: + */ + __pyx_v_allnan = 0; + + /* "nanargmin.pyx":208 + * amin = ai + * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * return np.intp(idx) - * + * if allnan == 0: + * return np.intp(idx) */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L6; @@ -2650,56 +2657,82 @@ static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(CYTHON_UNUSED PyObj __pyx_L6:; } - /* "nanargmin.pyx":208 - * amin = ai + /* "nanargmin.pyx":209 + * allnan = 0 * idx = i0 - * return np.intp(idx) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.intp(idx) + * else: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_1) { + + /* "nanargmin.pyx":210 + * idx = i0 + * if allnan == 0: + * return np.intp(idx) # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + /*else*/ { + + /* "nanargmin.pyx":212 + * return np.intp(idx) + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; /* "nanargmin.pyx":190 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int array along axis=0 ignoring NaNs." + * def nanargmin_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -2707,14 +2740,14 @@ static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(CYTHON_UNUSED PyObj __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2726,27 +2759,27 @@ static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanargmin.pyx":212 +/* "nanargmin.pyx":216 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + * def nanargmin_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_7nanargmin_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_6nanargmin_1d_int8_axis0[] = "nanargmin_1d_int8_axis0(ndarray a)\nIndex of max of 1d, int8 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_7nanargmin_1d_int8_axis0 = {"nanargmin_1d_int8_axis0", (PyCFunction)__pyx_pw_9nanargmin_7nanargmin_1d_int8_axis0, METH_O, __pyx_doc_9nanargmin_6nanargmin_1d_int8_axis0}; -static PyObject *__pyx_pw_9nanargmin_7nanargmin_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_7nanargmin_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_6nanargmin_1d_float32_axis0[] = "nanargmin_1d_float32_axis0(ndarray a)\nIndex of max of 1d, float32 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_7nanargmin_1d_float32_axis0 = {"nanargmin_1d_float32_axis0", (PyCFunction)__pyx_pw_9nanargmin_7nanargmin_1d_float32_axis0, METH_O, __pyx_doc_9nanargmin_6nanargmin_1d_float32_axis0}; +static PyObject *__pyx_pw_9nanargmin_7nanargmin_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_1d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_6nanargmin_1d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_1d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_6nanargmin_1d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2757,10 +2790,10 @@ static PyObject *__pyx_pw_9nanargmin_7nanargmin_1d_int8_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amin; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amin; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -2775,43 +2808,42 @@ static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_int8_axis0(CYTHON_UNUSED PyOb PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_1d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_1d_float32_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmin.pyx":214 - * def nanargmin_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): - * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":218 + * def nanargmin_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): + * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amin, ai + * cdef np.float32_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":216 + /* "nanargmin.pyx":220 * cdef int allnan = 1 - * cdef np.int8_t amin, ai + * cdef np.float32_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":219 + /* "nanargmin.pyx":223 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2820,7 +2852,7 @@ static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_int8_axis0(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":220 + /* "nanargmin.pyx":224 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2829,7 +2861,7 @@ static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_int8_axis0(CYTHON_UNUSED PyOb */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":221 + /* "nanargmin.pyx":225 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< @@ -2839,91 +2871,99 @@ static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_int8_axis0(CYTHON_UNUSED PyOb __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanargmin.pyx":222 + /* "nanargmin.pyx":226 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amin = MAXint8 + * amin = MAXfloat32 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":223 + /* "nanargmin.pyx":227 * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amin = MAXint8 - * for i0 in range(n0): + * amin = MAXfloat32 + * for i0 in range(n0 - 1, -1, -1): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":224 + /* "nanargmin.pyx":228 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amin = MAXint8 # <<<<<<<<<<<<<< - * for i0 in range(n0): + * amin = MAXfloat32 # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint8; + __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat32; - /* "nanargmin.pyx":225 + /* "nanargmin.pyx":229 * raise ValueError(msg) - * amin = MAXint8 - * for i0 in range(n0): # <<<<<<<<<<<<<< + * amin = MAXfloat32 + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0] * if ai <= amin: */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { + __pyx_v_i0 = __pyx_t_4; - /* "nanargmin.pyx":226 - * amin = MAXint8 - * for i0 in range(n0): + /* "nanargmin.pyx":230 + * amin = MAXfloat32 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmin.pyx":227 - * for i0 in range(n0): + /* "nanargmin.pyx":231 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * idx = i0 + * allnan = 0 */ __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_1) { - /* "nanargmin.pyx":228 + /* "nanargmin.pyx":232 * ai = a[i0] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< + * allnan = 0 * idx = i0 - * return np.intp(idx) */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":229 + /* "nanargmin.pyx":233 * if ai <= amin: * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: + */ + __pyx_v_allnan = 0; + + /* "nanargmin.pyx":234 + * amin = ai + * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * return np.intp(idx) - * + * if allnan == 0: + * return np.intp(idx) */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L6; @@ -2931,56 +2971,82 @@ static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_int8_axis0(CYTHON_UNUSED PyOb __pyx_L6:; } - /* "nanargmin.pyx":230 - * amin = ai + /* "nanargmin.pyx":235 + * allnan = 0 * idx = i0 - * return np.intp(idx) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.intp(idx) + * else: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_1) { + + /* "nanargmin.pyx":236 + * idx = i0 + * if allnan == 0: + * return np.intp(idx) # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + /*else*/ { + + /* "nanargmin.pyx":238 + * return np.intp(idx) + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - /* "nanargmin.pyx":212 + /* "nanargmin.pyx":216 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + * def nanargmin_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -2988,14 +3054,14 @@ static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_int8_axis0(CYTHON_UNUSED PyOb __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3007,27 +3073,27 @@ static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_int8_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "nanargmin.pyx":234 +/* "nanargmin.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." + * def nanargmin_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_9nanargmin_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_8nanargmin_1d_int32_axis0[] = "nanargmin_1d_int32_axis0(ndarray a)\nIndex of max of 1d, int32 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_9nanargmin_1d_int32_axis0 = {"nanargmin_1d_int32_axis0", (PyCFunction)__pyx_pw_9nanargmin_9nanargmin_1d_int32_axis0, METH_O, __pyx_doc_9nanargmin_8nanargmin_1d_int32_axis0}; -static PyObject *__pyx_pw_9nanargmin_9nanargmin_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_9nanargmin_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_8nanargmin_1d_float64_axis0[] = "nanargmin_1d_float64_axis0(ndarray a)\nIndex of max of 1d, float64 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_9nanargmin_1d_float64_axis0 = {"nanargmin_1d_float64_axis0", (PyCFunction)__pyx_pw_9nanargmin_9nanargmin_1d_float64_axis0, METH_O, __pyx_doc_9nanargmin_8nanargmin_1d_float64_axis0}; +static PyObject *__pyx_pw_9nanargmin_9nanargmin_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_1d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_8nanargmin_1d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_1d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_8nanargmin_1d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3038,10 +3104,10 @@ static PyObject *__pyx_pw_9nanargmin_9nanargmin_1d_int32_axis0(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amin; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_amin; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -3056,43 +3122,42 @@ static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_int32_axis0(CYTHON_UNUSED PyO PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_1d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_1d_float64_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmin.pyx":236 - * def nanargmin_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): - * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":244 + * def nanargmin_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): + * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amin, ai + * cdef np.float64_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":238 + /* "nanargmin.pyx":246 * cdef int allnan = 1 - * cdef np.int32_t amin, ai + * cdef np.float64_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":241 + /* "nanargmin.pyx":249 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3101,7 +3166,7 @@ static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_int32_axis0(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":242 + /* "nanargmin.pyx":250 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3110,7 +3175,7 @@ static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_int32_axis0(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":243 + /* "nanargmin.pyx":251 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< @@ -3120,91 +3185,99 @@ static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_int32_axis0(CYTHON_UNUSED PyO __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanargmin.pyx":244 + /* "nanargmin.pyx":252 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amin = MAXint32 + * amin = MAXfloat64 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":245 + /* "nanargmin.pyx":253 * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amin = MAXint32 - * for i0 in range(n0): + * amin = MAXfloat64 + * for i0 in range(n0 - 1, -1, -1): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":246 + /* "nanargmin.pyx":254 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amin = MAXint32 # <<<<<<<<<<<<<< - * for i0 in range(n0): + * amin = MAXfloat64 # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint32; + __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat64; - /* "nanargmin.pyx":247 + /* "nanargmin.pyx":255 * raise ValueError(msg) - * amin = MAXint32 - * for i0 in range(n0): # <<<<<<<<<<<<<< + * amin = MAXfloat64 + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0] * if ai <= amin: */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { + __pyx_v_i0 = __pyx_t_4; - /* "nanargmin.pyx":248 - * amin = MAXint32 - * for i0 in range(n0): + /* "nanargmin.pyx":256 + * amin = MAXfloat64 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmin.pyx":249 - * for i0 in range(n0): + /* "nanargmin.pyx":257 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * idx = i0 + * allnan = 0 */ __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_1) { - /* "nanargmin.pyx":250 + /* "nanargmin.pyx":258 * ai = a[i0] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< + * allnan = 0 * idx = i0 - * return np.intp(idx) */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":251 + /* "nanargmin.pyx":259 * if ai <= amin: * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: + */ + __pyx_v_allnan = 0; + + /* "nanargmin.pyx":260 + * amin = ai + * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * return np.intp(idx) - * + * if allnan == 0: + * return np.intp(idx) */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L6; @@ -3212,56 +3285,82 @@ static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_int32_axis0(CYTHON_UNUSED PyO __pyx_L6:; } - /* "nanargmin.pyx":252 - * amin = ai + /* "nanargmin.pyx":261 + * allnan = 0 * idx = i0 - * return np.intp(idx) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.intp(idx) + * else: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_1) { + + /* "nanargmin.pyx":262 + * idx = i0 + * if allnan == 0: + * return np.intp(idx) # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + /*else*/ { + + /* "nanargmin.pyx":264 + * return np.intp(idx) + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - /* "nanargmin.pyx":234 + /* "nanargmin.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." + * def nanargmin_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -3269,14 +3368,14 @@ static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_int32_axis0(CYTHON_UNUSED PyO __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3288,27 +3387,27 @@ static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_int32_axis0(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanargmin.pyx":256 +/* "nanargmin.pyx":268 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_11nanargmin_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_10nanargmin_1d_int64_axis0[] = "nanargmin_1d_int64_axis0(ndarray a)\nIndex of max of 1d, int64 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_11nanargmin_1d_int64_axis0 = {"nanargmin_1d_int64_axis0", (PyCFunction)__pyx_pw_9nanargmin_11nanargmin_1d_int64_axis0, METH_O, __pyx_doc_9nanargmin_10nanargmin_1d_int64_axis0}; -static PyObject *__pyx_pw_9nanargmin_11nanargmin_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_11nanargmin_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_10nanargmin_2d_float_axis0[] = "nanargmin_2d_float_axis0(ndarray a)\nIndex of max of 2d, float array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_11nanargmin_2d_float_axis0 = {"nanargmin_2d_float_axis0", (PyCFunction)__pyx_pw_9nanargmin_11nanargmin_2d_float_axis0, METH_O, __pyx_doc_9nanargmin_10nanargmin_2d_float_axis0}; +static PyObject *__pyx_pw_9nanargmin_11nanargmin_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_1d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_10nanargmin_1d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_float_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_10nanargmin_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3319,277 +3418,363 @@ static PyObject *__pyx_pw_9nanargmin_11nanargmin_1d_int64_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_10nanargmin_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amin; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_10nanargmin_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amin; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_1d_int64_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_float_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":258 - * def nanargmin_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): - * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":270 + * def nanargmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Index of max of 2d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amin, ai + * cdef np.float_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":260 + /* "nanargmin.pyx":272 * cdef int allnan = 1 - * cdef np.int64_t amin, ai + * cdef np.float_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":263 - * cdef Py_ssize_t i0 + /* "nanargmin.pyx":275 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":264 + /* "nanargmin.pyx":276 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":265 + /* "nanargmin.pyx":277 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanargmin.pyx":278 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "nanargmin.pyx":279 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_intp, 0) + * if n0 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanargmin.pyx":281 + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanargmin.pyx":266 - * cdef Py_ssize_t n0 = dim[0] + /* "nanargmin.pyx":282 + * NPY_intp, 0) * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amin = MAXint64 + * for i1 in range(n1 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":267 + /* "nanargmin.pyx":283 * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amin = MAXint64 - * for i0 in range(n0): + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXfloat */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":268 + /* "nanargmin.pyx":284 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amin = MAXint64 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + * amin = MAXfloat + * allnan = 1 */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint64; + for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanargmin.pyx":269 + /* "nanargmin.pyx":285 * raise ValueError(msg) - * amin = MAXint64 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai <= amin: + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXfloat # <<<<<<<<<<<<<< + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat; - /* "nanargmin.pyx":270 - * amin = MAXint64 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + /* "nanargmin.pyx":286 + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXfloat + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_allnan = 1; - /* "nanargmin.pyx":271 - * for i0 in range(n0): - * ai = a[i0] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * idx = i0 + /* "nanargmin.pyx":287 + * amin = MAXfloat + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai <= amin: */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanargmin.pyx":272 - * ai = a[i0] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * idx = i0 - * return np.intp(idx) + /* "nanargmin.pyx":288 + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_v_amin = __pyx_v_ai; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":273 - * if ai <= amin: - * amin = ai - * idx = i0 # <<<<<<<<<<<<<< - * return np.intp(idx) - * + /* "nanargmin.pyx":289 + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * allnan = 0 */ - __pyx_v_idx = __pyx_v_i0; - goto __pyx_L6; - } - __pyx_L6:; - } + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { - /* "nanargmin.pyx":274 - * amin = ai - * idx = i0 - * return np.intp(idx) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + /* "nanargmin.pyx":290 + * ai = a[i0, i1] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * allnan = 0 + * idx = i0 */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; + __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":256 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanargmin_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." - * cdef int allnan = 1 + /* "nanargmin.pyx":291 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: */ + __pyx_v_allnan = 0; - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + /* "nanargmin.pyx":292 + * amin = ai + * allnan = 0 + * idx = i0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = idx + */ + __pyx_v_idx = __pyx_v_i0; + goto __pyx_L8; + } + __pyx_L8:; + } + + /* "nanargmin.pyx":293 + * allnan = 0 + * idx = i0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = idx + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanargmin.pyx":294 + * idx = i0 + * if allnan == 0: + * y[i1] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { + + /* "nanargmin.pyx":296 + * y[i1] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; + } + + /* "nanargmin.pyx":297 + * else: + * raise ValueError("All-NaN slice encountered") + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "nanargmin.pyx":268 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanargmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=0 ignoring NaNs." + * cdef int allnan = 1 + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmin.pyx":278 +/* "nanargmin.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=0 ignoring NaNs." + * def nanargmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_13nanargmin_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_12nanargmin_2d_int_axis0[] = "nanargmin_2d_int_axis0(ndarray a)\nIndex of max of 2d, int array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_13nanargmin_2d_int_axis0 = {"nanargmin_2d_int_axis0", (PyCFunction)__pyx_pw_9nanargmin_13nanargmin_2d_int_axis0, METH_O, __pyx_doc_9nanargmin_12nanargmin_2d_int_axis0}; -static PyObject *__pyx_pw_9nanargmin_13nanargmin_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_13nanargmin_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_12nanargmin_2d_float_axis1[] = "nanargmin_2d_float_axis1(ndarray a)\nIndex of max of 2d, float array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_13nanargmin_2d_float_axis1 = {"nanargmin_2d_float_axis1", (PyCFunction)__pyx_pw_9nanargmin_13nanargmin_2d_float_axis1, METH_O, __pyx_doc_9nanargmin_12nanargmin_2d_float_axis1}; +static PyObject *__pyx_pw_9nanargmin_13nanargmin_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_int_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_12nanargmin_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_float_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_12nanargmin_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3600,10 +3785,10 @@ static PyObject *__pyx_pw_9nanargmin_13nanargmin_2d_int_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amin; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amin; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -3631,7 +3816,7 @@ static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_int_axis0(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3642,29 +3827,29 @@ static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_int_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":280 - * def nanargmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Index of max of 2d, int array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":303 + * def nanargmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Index of max of 2d, float array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amin, ai + * cdef np.float_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":282 + /* "nanargmin.pyx":305 * cdef int allnan = 1 - * cdef np.int_t amin, ai + * cdef np.float_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":285 + /* "nanargmin.pyx":308 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3673,50 +3858,50 @@ static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_int_axis0(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":286 + /* "nanargmin.pyx":309 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":287 + /* "nanargmin.pyx":310 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":288 + /* "nanargmin.pyx":311 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ - __pyx_t_1[0] = __pyx_v_n1; + __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":289 + /* "nanargmin.pyx":312 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3724,132 +3909,178 @@ static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_int_axis0(CYTHON_UNUSED PyOb __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":291 + /* "nanargmin.pyx":314 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":292 + /* "nanargmin.pyx":315 * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":293 - * if n0 == 0: + /* "nanargmin.pyx":316 + * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXfloat */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":294 + /* "nanargmin.pyx":317 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXint - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * amin = MAXfloat + * allnan = 1 */ - for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i1 = __pyx_t_6; + for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanargmin.pyx":295 + /* "nanargmin.pyx":318 * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXfloat # <<<<<<<<<<<<<< + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): + */ + __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat; + + /* "nanargmin.pyx":319 + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXfloat + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint; + __pyx_v_allnan = 1; - /* "nanargmin.pyx":296 - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + /* "nanargmin.pyx":320 + * amin = MAXfloat + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i0 = __pyx_t_7; + for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanargmin.pyx":297 - * amin = MAXint - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmin.pyx":321 + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":298 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmin.pyx":322 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * idx = i0 + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":299 + /* "nanargmin.pyx":323 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * idx = i0 - * y[i1] = idx + * allnan = 0 + * idx = i1 */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":300 + /* "nanargmin.pyx":324 * if ai <= amin: * amin = ai - * idx = i0 # <<<<<<<<<<<<<< - * y[i1] = idx - * return y + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i1 + * if allnan == 0: */ - __pyx_v_idx = __pyx_v_i0; + __pyx_v_allnan = 0; + + /* "nanargmin.pyx":325 + * amin = ai + * allnan = 0 + * idx = i1 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = idx + */ + __pyx_v_idx = __pyx_v_i1; goto __pyx_L8; } __pyx_L8:; } - /* "nanargmin.pyx":301 - * amin = ai - * idx = i0 - * y[i1] = idx # <<<<<<<<<<<<<< + /* "nanargmin.pyx":326 + * allnan = 0 + * idx = i1 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = idx + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanargmin.pyx":327 + * idx = i1 + * if allnan == 0: + * y[i0] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { + + /* "nanargmin.pyx":329 + * y[i0] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; } - /* "nanargmin.pyx":302 - * idx = i0 - * y[i1] = idx + /* "nanargmin.pyx":330 + * else: + * raise ValueError("All-NaN slice encountered") * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3859,11 +4090,11 @@ static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_int_axis0(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmin.pyx":278 + /* "nanargmin.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=0 ignoring NaNs." + * def nanargmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -3876,7 +4107,7 @@ static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_int_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3890,27 +4121,27 @@ static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_int_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "nanargmin.pyx":306 +/* "nanargmin.pyx":334 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=1 ignoring NaNs." + * def nanargmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_15nanargmin_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_14nanargmin_2d_int_axis1[] = "nanargmin_2d_int_axis1(ndarray a)\nIndex of max of 2d, int array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_15nanargmin_2d_int_axis1 = {"nanargmin_2d_int_axis1", (PyCFunction)__pyx_pw_9nanargmin_15nanargmin_2d_int_axis1, METH_O, __pyx_doc_9nanargmin_14nanargmin_2d_int_axis1}; -static PyObject *__pyx_pw_9nanargmin_15nanargmin_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_15nanargmin_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_14nanargmin_2d_float32_axis0[] = "nanargmin_2d_float32_axis0(ndarray a)\nIndex of max of 2d, float32 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_15nanargmin_2d_float32_axis0 = {"nanargmin_2d_float32_axis0", (PyCFunction)__pyx_pw_9nanargmin_15nanargmin_2d_float32_axis0, METH_O, __pyx_doc_9nanargmin_14nanargmin_2d_float32_axis0}; +static PyObject *__pyx_pw_9nanargmin_15nanargmin_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_int_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_14nanargmin_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_14nanargmin_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3921,10 +4152,10 @@ static PyObject *__pyx_pw_9nanargmin_15nanargmin_2d_int_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amin; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amin; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -3952,7 +4183,7 @@ static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_int_axis1(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3963,29 +4194,29 @@ static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_int_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":308 - * def nanargmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Index of max of 2d, int array along axis=1 ignoring NaNs." + /* "nanargmin.pyx":336 + * def nanargmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amin, ai + * cdef np.float32_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":310 + /* "nanargmin.pyx":338 * cdef int allnan = 1 - * cdef np.int_t amin, ai + * cdef np.float32_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":313 + /* "nanargmin.pyx":341 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3994,50 +4225,50 @@ static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_int_axis1(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":314 + /* "nanargmin.pyx":342 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":315 + /* "nanargmin.pyx":343 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":316 + /* "nanargmin.pyx":344 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ - __pyx_t_1[0] = __pyx_v_n0; + __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":317 + /* "nanargmin.pyx":345 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) - * if n1 == 0: + * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4045,132 +4276,178 @@ static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_int_axis1(CYTHON_UNUSED PyOb __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":319 + /* "nanargmin.pyx":347 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":320 + /* "nanargmin.pyx":348 * NPY_intp, 0) - * if n1 == 0: + * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":321 - * if n1 == 0: + /* "nanargmin.pyx":349 + * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXfloat32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":322 + /* "nanargmin.pyx":350 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXint - * for i1 in range(n1 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + * amin = MAXfloat32 + * allnan = 1 */ - for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i0 = __pyx_t_6; + for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanargmin.pyx":323 + /* "nanargmin.pyx":351 * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXfloat32 # <<<<<<<<<<<<<< + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): + */ + __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat32; + + /* "nanargmin.pyx":352 + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXfloat32 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint; + __pyx_v_allnan = 1; - /* "nanargmin.pyx":324 - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + /* "nanargmin.pyx":353 + * amin = MAXfloat32 + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i1 = __pyx_t_7; + for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanargmin.pyx":325 - * amin = MAXint - * for i1 in range(n1 - 1, -1, -1): + /* "nanargmin.pyx":354 + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":326 - * for i1 in range(n1 - 1, -1, -1): + /* "nanargmin.pyx":355 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * idx = i1 + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":327 + /* "nanargmin.pyx":356 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * idx = i1 - * y[i0] = idx + * allnan = 0 + * idx = i0 */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":328 + /* "nanargmin.pyx":357 * if ai <= amin: * amin = ai - * idx = i1 # <<<<<<<<<<<<<< - * y[i0] = idx - * return y + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: */ - __pyx_v_idx = __pyx_v_i1; + __pyx_v_allnan = 0; + + /* "nanargmin.pyx":358 + * amin = ai + * allnan = 0 + * idx = i0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = idx + */ + __pyx_v_idx = __pyx_v_i0; goto __pyx_L8; } __pyx_L8:; } - /* "nanargmin.pyx":329 - * amin = ai - * idx = i1 - * y[i0] = idx # <<<<<<<<<<<<<< + /* "nanargmin.pyx":359 + * allnan = 0 + * idx = i0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = idx + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanargmin.pyx":360 + * idx = i0 + * if allnan == 0: + * y[i1] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { + + /* "nanargmin.pyx":362 + * y[i1] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; } - /* "nanargmin.pyx":330 - * idx = i1 - * y[i0] = idx + /* "nanargmin.pyx":363 + * else: + * raise ValueError("All-NaN slice encountered") * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4180,11 +4457,11 @@ static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_int_axis1(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmin.pyx":306 + /* "nanargmin.pyx":334 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=1 ignoring NaNs." + * def nanargmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -4197,7 +4474,7 @@ static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_int_axis1(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4211,27 +4488,27 @@ static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_int_axis1(CYTHON_UNUSED PyOb return __pyx_r; } -/* "nanargmin.pyx":334 +/* "nanargmin.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_17nanargmin_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_16nanargmin_2d_int8_axis0[] = "nanargmin_2d_int8_axis0(ndarray a)\nIndex of max of 2d, int8 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_17nanargmin_2d_int8_axis0 = {"nanargmin_2d_int8_axis0", (PyCFunction)__pyx_pw_9nanargmin_17nanargmin_2d_int8_axis0, METH_O, __pyx_doc_9nanargmin_16nanargmin_2d_int8_axis0}; -static PyObject *__pyx_pw_9nanargmin_17nanargmin_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_17nanargmin_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_16nanargmin_2d_float32_axis1[] = "nanargmin_2d_float32_axis1(ndarray a)\nIndex of max of 2d, float32 array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_17nanargmin_2d_float32_axis1 = {"nanargmin_2d_float32_axis1", (PyCFunction)__pyx_pw_9nanargmin_17nanargmin_2d_float32_axis1, METH_O, __pyx_doc_9nanargmin_16nanargmin_2d_float32_axis1}; +static PyObject *__pyx_pw_9nanargmin_17nanargmin_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_16nanargmin_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_float32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_16nanargmin_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4242,10 +4519,10 @@ static PyObject *__pyx_pw_9nanargmin_17nanargmin_2d_int8_axis0(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amin; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amin; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -4273,7 +4550,7 @@ static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_int8_axis0(CYTHON_UNUSED PyO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4284,29 +4561,29 @@ static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_int8_axis0(CYTHON_UNUSED PyO __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":336 - * def nanargmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":369 + * def nanargmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amin, ai + * cdef np.float32_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":338 + /* "nanargmin.pyx":371 * cdef int allnan = 1 - * cdef np.int8_t amin, ai + * cdef np.float32_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":341 + /* "nanargmin.pyx":374 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4315,50 +4592,50 @@ static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_int8_axis0(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":342 + /* "nanargmin.pyx":375 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":343 + /* "nanargmin.pyx":376 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":344 + /* "nanargmin.pyx":377 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ - __pyx_t_1[0] = __pyx_v_n1; + __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":345 + /* "nanargmin.pyx":378 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4366,132 +4643,178 @@ static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_int8_axis0(CYTHON_UNUSED PyO __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":347 + /* "nanargmin.pyx":380 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":348 + /* "nanargmin.pyx":381 * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":349 - * if n0 == 0: + /* "nanargmin.pyx":382 + * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint8 + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXfloat32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":350 + /* "nanargmin.pyx":383 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXint8 - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * amin = MAXfloat32 + * allnan = 1 */ - for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i1 = __pyx_t_6; + for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanargmin.pyx":351 + /* "nanargmin.pyx":384 * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint8 # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXfloat32 # <<<<<<<<<<<<<< + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): + */ + __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat32; + + /* "nanargmin.pyx":385 + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXfloat32 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint8; + __pyx_v_allnan = 1; - /* "nanargmin.pyx":352 - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint8 - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + /* "nanargmin.pyx":386 + * amin = MAXfloat32 + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i0 = __pyx_t_7; + for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanargmin.pyx":353 - * amin = MAXint8 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmin.pyx":387 + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":354 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmin.pyx":388 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * idx = i0 + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":355 + /* "nanargmin.pyx":389 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * idx = i0 - * y[i1] = idx + * allnan = 0 + * idx = i1 */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":356 + /* "nanargmin.pyx":390 * if ai <= amin: * amin = ai - * idx = i0 # <<<<<<<<<<<<<< - * y[i1] = idx - * return y + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i1 + * if allnan == 0: */ - __pyx_v_idx = __pyx_v_i0; + __pyx_v_allnan = 0; + + /* "nanargmin.pyx":391 + * amin = ai + * allnan = 0 + * idx = i1 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = idx + */ + __pyx_v_idx = __pyx_v_i1; goto __pyx_L8; } __pyx_L8:; } - /* "nanargmin.pyx":357 - * amin = ai - * idx = i0 - * y[i1] = idx # <<<<<<<<<<<<<< + /* "nanargmin.pyx":392 + * allnan = 0 + * idx = i1 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = idx + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanargmin.pyx":393 + * idx = i1 + * if allnan == 0: + * y[i0] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { + + /* "nanargmin.pyx":395 + * y[i0] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; } - /* "nanargmin.pyx":358 - * idx = i0 - * y[i1] = idx + /* "nanargmin.pyx":396 + * else: + * raise ValueError("All-NaN slice encountered") * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4501,11 +4824,11 @@ static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_int8_axis0(CYTHON_UNUSED PyO __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmin.pyx":334 + /* "nanargmin.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -4518,7 +4841,7 @@ static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_int8_axis0(CYTHON_UNUSED PyO __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4532,27 +4855,27 @@ static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_int8_axis0(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanargmin.pyx":362 +/* "nanargmin.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." + * def nanargmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_19nanargmin_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_18nanargmin_2d_int8_axis1[] = "nanargmin_2d_int8_axis1(ndarray a)\nIndex of max of 2d, int8 array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_19nanargmin_2d_int8_axis1 = {"nanargmin_2d_int8_axis1", (PyCFunction)__pyx_pw_9nanargmin_19nanargmin_2d_int8_axis1, METH_O, __pyx_doc_9nanargmin_18nanargmin_2d_int8_axis1}; -static PyObject *__pyx_pw_9nanargmin_19nanargmin_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_19nanargmin_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_18nanargmin_2d_float64_axis0[] = "nanargmin_2d_float64_axis0(ndarray a)\nIndex of max of 2d, float64 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_19nanargmin_2d_float64_axis0 = {"nanargmin_2d_float64_axis0", (PyCFunction)__pyx_pw_9nanargmin_19nanargmin_2d_float64_axis0, METH_O, __pyx_doc_9nanargmin_18nanargmin_2d_float64_axis0}; +static PyObject *__pyx_pw_9nanargmin_19nanargmin_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_int8_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_18nanargmin_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_18nanargmin_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4563,10 +4886,10 @@ static PyObject *__pyx_pw_9nanargmin_19nanargmin_2d_int8_axis1(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_18nanargmin_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amin; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_18nanargmin_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_amin; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -4594,7 +4917,7 @@ static PyObject *__pyx_pf_9nanargmin_18nanargmin_2d_int8_axis1(CYTHON_UNUSED PyO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4605,29 +4928,29 @@ static PyObject *__pyx_pf_9nanargmin_18nanargmin_2d_int8_axis1(CYTHON_UNUSED PyO __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":364 - * def nanargmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." + /* "nanargmin.pyx":402 + * def nanargmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amin, ai + * cdef np.float64_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":366 + /* "nanargmin.pyx":404 * cdef int allnan = 1 - * cdef np.int8_t amin, ai + * cdef np.float64_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":369 + /* "nanargmin.pyx":407 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4636,50 +4959,50 @@ static PyObject *__pyx_pf_9nanargmin_18nanargmin_2d_int8_axis1(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":370 + /* "nanargmin.pyx":408 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":371 + /* "nanargmin.pyx":409 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":372 + /* "nanargmin.pyx":410 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ - __pyx_t_1[0] = __pyx_v_n0; + __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":373 + /* "nanargmin.pyx":411 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) - * if n1 == 0: + * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4687,146 +5010,192 @@ static PyObject *__pyx_pf_9nanargmin_18nanargmin_2d_int8_axis1(CYTHON_UNUSED PyO __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":375 + /* "nanargmin.pyx":413 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":376 + /* "nanargmin.pyx":414 * NPY_intp, 0) - * if n1 == 0: + * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":377 - * if n1 == 0: + /* "nanargmin.pyx":415 + * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint8 + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXfloat64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":378 + /* "nanargmin.pyx":416 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXint8 - * for i1 in range(n1 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + * amin = MAXfloat64 + * allnan = 1 */ - for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i0 = __pyx_t_6; + for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanargmin.pyx":379 + /* "nanargmin.pyx":417 * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint8 # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXfloat64 # <<<<<<<<<<<<<< + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): + */ + __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat64; + + /* "nanargmin.pyx":418 + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXfloat64 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint8; + __pyx_v_allnan = 1; - /* "nanargmin.pyx":380 - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint8 - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + /* "nanargmin.pyx":419 + * amin = MAXfloat64 + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i1 = __pyx_t_7; + for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanargmin.pyx":381 - * amin = MAXint8 - * for i1 in range(n1 - 1, -1, -1): + /* "nanargmin.pyx":420 + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":382 - * for i1 in range(n1 - 1, -1, -1): + /* "nanargmin.pyx":421 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * idx = i1 + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":383 + /* "nanargmin.pyx":422 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * idx = i1 - * y[i0] = idx + * allnan = 0 + * idx = i0 */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":384 + /* "nanargmin.pyx":423 * if ai <= amin: * amin = ai - * idx = i1 # <<<<<<<<<<<<<< - * y[i0] = idx - * return y + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: */ - __pyx_v_idx = __pyx_v_i1; + __pyx_v_allnan = 0; + + /* "nanargmin.pyx":424 + * amin = ai + * allnan = 0 + * idx = i0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = idx + */ + __pyx_v_idx = __pyx_v_i0; goto __pyx_L8; } __pyx_L8:; } - /* "nanargmin.pyx":385 - * amin = ai - * idx = i1 - * y[i0] = idx # <<<<<<<<<<<<<< - * return y - * + /* "nanargmin.pyx":425 + * allnan = 0 + * idx = i0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = idx + * else: */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - } + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { - /* "nanargmin.pyx":386 - * idx = i1 - * y[i0] = idx - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + /* "nanargmin.pyx":426 + * idx = i0 + * if allnan == 0: + * y[i1] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { - /* "nanargmin.pyx":362 + /* "nanargmin.pyx":428 + * y[i1] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; + } + + /* "nanargmin.pyx":429 + * else: + * raise ValueError("All-NaN slice encountered") + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "nanargmin.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." + * def nanargmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -4839,7 +5208,7 @@ static PyObject *__pyx_pf_9nanargmin_18nanargmin_2d_int8_axis1(CYTHON_UNUSED PyO __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4853,27 +5222,27 @@ static PyObject *__pyx_pf_9nanargmin_18nanargmin_2d_int8_axis1(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanargmin.pyx":390 +/* "nanargmin.pyx":433 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_21nanargmin_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_20nanargmin_2d_int32_axis0[] = "nanargmin_2d_int32_axis0(ndarray a)\nIndex of max of 2d, int32 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_21nanargmin_2d_int32_axis0 = {"nanargmin_2d_int32_axis0", (PyCFunction)__pyx_pw_9nanargmin_21nanargmin_2d_int32_axis0, METH_O, __pyx_doc_9nanargmin_20nanargmin_2d_int32_axis0}; -static PyObject *__pyx_pw_9nanargmin_21nanargmin_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_21nanargmin_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_20nanargmin_2d_float64_axis1[] = "nanargmin_2d_float64_axis1(ndarray a)\nIndex of max of 2d, float64 array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_21nanargmin_2d_float64_axis1 = {"nanargmin_2d_float64_axis1", (PyCFunction)__pyx_pw_9nanargmin_21nanargmin_2d_float64_axis1, METH_O, __pyx_doc_9nanargmin_20nanargmin_2d_float64_axis1}; +static PyObject *__pyx_pw_9nanargmin_21nanargmin_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_20nanargmin_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_float64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_20nanargmin_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4884,10 +5253,10 @@ static PyObject *__pyx_pw_9nanargmin_21nanargmin_2d_int32_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amin; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_amin; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -4915,7 +5284,7 @@ static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_int32_axis0(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4926,29 +5295,29 @@ static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_int32_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":392 - * def nanargmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":435 + * def nanargmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amin, ai + * cdef np.float64_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":394 + /* "nanargmin.pyx":437 * cdef int allnan = 1 - * cdef np.int32_t amin, ai + * cdef np.float64_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":397 + /* "nanargmin.pyx":440 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4957,50 +5326,50 @@ static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_int32_axis0(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":398 + /* "nanargmin.pyx":441 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":399 + /* "nanargmin.pyx":442 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":400 + /* "nanargmin.pyx":443 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ - __pyx_t_1[0] = __pyx_v_n1; + __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":401 + /* "nanargmin.pyx":444 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -5008,132 +5377,178 @@ static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_int32_axis0(CYTHON_UNUSED Py __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":403 + /* "nanargmin.pyx":446 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":404 + /* "nanargmin.pyx":447 * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":405 - * if n0 == 0: + /* "nanargmin.pyx":448 + * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint32 + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXfloat64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":406 + /* "nanargmin.pyx":449 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXint32 - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * amin = MAXfloat64 + * allnan = 1 */ - for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i1 = __pyx_t_6; + for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanargmin.pyx":407 + /* "nanargmin.pyx":450 * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint32 # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXfloat64 # <<<<<<<<<<<<<< + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): + */ + __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat64; + + /* "nanargmin.pyx":451 + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXfloat64 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint32; + __pyx_v_allnan = 1; - /* "nanargmin.pyx":408 - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint32 - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + /* "nanargmin.pyx":452 + * amin = MAXfloat64 + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i0 = __pyx_t_7; + for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanargmin.pyx":409 - * amin = MAXint32 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmin.pyx":453 + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":410 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmin.pyx":454 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * idx = i0 + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":411 + /* "nanargmin.pyx":455 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * idx = i0 - * y[i1] = idx + * allnan = 0 + * idx = i1 */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":412 + /* "nanargmin.pyx":456 * if ai <= amin: * amin = ai - * idx = i0 # <<<<<<<<<<<<<< - * y[i1] = idx - * return y + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i1 + * if allnan == 0: */ - __pyx_v_idx = __pyx_v_i0; + __pyx_v_allnan = 0; + + /* "nanargmin.pyx":457 + * amin = ai + * allnan = 0 + * idx = i1 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = idx + */ + __pyx_v_idx = __pyx_v_i1; goto __pyx_L8; } __pyx_L8:; } - /* "nanargmin.pyx":413 - * amin = ai - * idx = i0 - * y[i1] = idx # <<<<<<<<<<<<<< + /* "nanargmin.pyx":458 + * allnan = 0 + * idx = i1 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = idx + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanargmin.pyx":459 + * idx = i1 + * if allnan == 0: + * y[i0] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { + + /* "nanargmin.pyx":461 + * y[i0] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; } - /* "nanargmin.pyx":414 - * idx = i0 - * y[i1] = idx + /* "nanargmin.pyx":462 + * else: + * raise ValueError("All-NaN slice encountered") * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -5143,11 +5558,11 @@ static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_int32_axis0(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmin.pyx":390 + /* "nanargmin.pyx":433 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -5160,7 +5575,7 @@ static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_int32_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5174,27 +5589,27 @@ static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_int32_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "nanargmin.pyx":418 +/* "nanargmin.pyx":466 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." + * def nanargmin_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_23nanargmin_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_22nanargmin_2d_int32_axis1[] = "nanargmin_2d_int32_axis1(ndarray a)\nIndex of max of 2d, int32 array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_23nanargmin_2d_int32_axis1 = {"nanargmin_2d_int32_axis1", (PyCFunction)__pyx_pw_9nanargmin_23nanargmin_2d_int32_axis1, METH_O, __pyx_doc_9nanargmin_22nanargmin_2d_int32_axis1}; -static PyObject *__pyx_pw_9nanargmin_23nanargmin_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_23nanargmin_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_22nanargmin_1d_int_axis0[] = "nanargmin_1d_int_axis0(ndarray a)\nIndex of max of 1d, int array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_23nanargmin_1d_int_axis0 = {"nanargmin_1d_int_axis0", (PyCFunction)__pyx_pw_9nanargmin_23nanargmin_1d_int_axis0, METH_O, __pyx_doc_9nanargmin_22nanargmin_1d_int_axis0}; +static PyObject *__pyx_pw_9nanargmin_23nanargmin_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_int32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_22nanargmin_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_1d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_22nanargmin_1d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5205,317 +5620,277 @@ static PyObject *__pyx_pw_9nanargmin_23nanargmin_2d_int32_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_22nanargmin_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_9nanargmin_22nanargmin_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amin; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_int_t __pyx_v_amin; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_int32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanargmin_1d_int_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmin.pyx":420 - * def nanargmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." + /* "nanargmin.pyx":468 + * def nanargmin_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): + * "Index of max of 1d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amin, ai + * cdef np.int_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":422 + /* "nanargmin.pyx":470 * cdef int allnan = 1 - * cdef np.int32_t amin, ai + * cdef np.int_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":425 - * cdef Py_ssize_t i0, i1 + /* "nanargmin.pyx":473 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":426 + /* "nanargmin.pyx":474 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 == 0: + * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":427 + /* "nanargmin.pyx":475 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanargmin.pyx":428 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nanargmin.pyx":429 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_intp, 0) - * if n1 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanargmin.pyx":431 - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanargmin.pyx":432 - * NPY_intp, 0) - * if n1 == 0: + /* "nanargmin.pyx":476 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): + * amin = MAXint */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":433 - * if n1 == 0: + /* "nanargmin.pyx":477 + * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint32 + * amin = MAXint + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":434 + /* "nanargmin.pyx":478 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXint32 - * for i1 in range(n1 - 1, -1, -1): + * amin = MAXint # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint; - /* "nanargmin.pyx":435 + /* "nanargmin.pyx":479 * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint32 # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] - */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint32; - - /* "nanargmin.pyx":436 - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint32 - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai <= amin: - */ - for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanargmin.pyx":437 - * amin = MAXint32 - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + * amin = MAXint + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai <= amin: */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanargmin.pyx":438 - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * idx = i1 + /* "nanargmin.pyx":480 + * amin = MAXint + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmin.pyx":439 - * ai = a[i0, i1] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * idx = i1 - * y[i0] = idx + /* "nanargmin.pyx":481 + * for i0 in range(n0): + * ai = a[i0] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * idx = i0 */ - __pyx_v_amin = __pyx_v_ai; + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanargmin.pyx":440 - * if ai <= amin: - * amin = ai - * idx = i1 # <<<<<<<<<<<<<< - * y[i0] = idx - * return y + /* "nanargmin.pyx":482 + * ai = a[i0] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * idx = i0 + * return np.intp(idx) */ - __pyx_v_idx = __pyx_v_i1; - goto __pyx_L8; - } - __pyx_L8:; - } + __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":441 - * amin = ai - * idx = i1 - * y[i0] = idx # <<<<<<<<<<<<<< - * return y + /* "nanargmin.pyx":483 + * if ai <= amin: + * amin = ai + * idx = i0 # <<<<<<<<<<<<<< + * return np.intp(idx) * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_v_idx = __pyx_v_i0; + goto __pyx_L6; + } + __pyx_L6:; } - /* "nanargmin.pyx":442 - * idx = i1 - * y[i0] = idx - * return y # <<<<<<<<<<<<<< + /* "nanargmin.pyx":484 + * amin = ai + * idx = i0 + * return np.intp(idx) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanargmin.pyx":418 + /* "nanargmin.pyx":466 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." + * def nanargmin_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmin.pyx":446 +/* "nanargmin.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." + * def nanargmin_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_25nanargmin_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_24nanargmin_2d_int64_axis0[] = "nanargmin_2d_int64_axis0(ndarray a)\nIndex of max of 2d, int64 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_25nanargmin_2d_int64_axis0 = {"nanargmin_2d_int64_axis0", (PyCFunction)__pyx_pw_9nanargmin_25nanargmin_2d_int64_axis0, METH_O, __pyx_doc_9nanargmin_24nanargmin_2d_int64_axis0}; -static PyObject *__pyx_pw_9nanargmin_25nanargmin_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_25nanargmin_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_24nanargmin_1d_int8_axis0[] = "nanargmin_1d_int8_axis0(ndarray a)\nIndex of max of 1d, int8 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_25nanargmin_1d_int8_axis0 = {"nanargmin_1d_int8_axis0", (PyCFunction)__pyx_pw_9nanargmin_25nanargmin_1d_int8_axis0, METH_O, __pyx_doc_9nanargmin_24nanargmin_1d_int8_axis0}; +static PyObject *__pyx_pw_9nanargmin_25nanargmin_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_24nanargmin_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_1d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_24nanargmin_1d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5526,317 +5901,277 @@ static PyObject *__pyx_pw_9nanargmin_25nanargmin_2d_int64_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_24nanargmin_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_9nanargmin_24nanargmin_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amin; - __pyx_t_5numpy_int64_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_amin; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanargmin_1d_int8_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmin.pyx":448 - * def nanargmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." - * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amin, ai + /* "nanargmin.pyx":490 + * def nanargmin_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): + * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + * cdef int allnan = 1 # <<<<<<<<<<<<<< + * cdef np.int8_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":450 + /* "nanargmin.pyx":492 * cdef int allnan = 1 - * cdef np.int64_t amin, ai + * cdef np.int8_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":453 - * cdef Py_ssize_t i0, i1 + /* "nanargmin.pyx":495 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":454 + /* "nanargmin.pyx":496 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 == 0: + * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":455 + /* "nanargmin.pyx":497 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanargmin.pyx":456 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "nanargmin.pyx":457 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_intp, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanargmin.pyx":459 - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanargmin.pyx":460 - * NPY_intp, 0) + /* "nanargmin.pyx":498 + * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): + * amin = MAXint8 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":461 + /* "nanargmin.pyx":499 * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint64 + * amin = MAXint8 + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":462 + /* "nanargmin.pyx":500 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXint64 - * for i0 in range(n0 - 1, -1, -1): + * amin = MAXint8 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint8; - /* "nanargmin.pyx":463 + /* "nanargmin.pyx":501 * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint64 # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0, i1] - */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint64; - - /* "nanargmin.pyx":464 - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint64 - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai <= amin: - */ - for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanargmin.pyx":465 - * amin = MAXint64 - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + * amin = MAXint8 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai <= amin: */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanargmin.pyx":466 - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0, i1] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * idx = i0 + /* "nanargmin.pyx":502 + * amin = MAXint8 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmin.pyx":467 - * ai = a[i0, i1] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * idx = i0 - * y[i1] = idx + /* "nanargmin.pyx":503 + * for i0 in range(n0): + * ai = a[i0] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * idx = i0 */ - __pyx_v_amin = __pyx_v_ai; + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanargmin.pyx":468 - * if ai <= amin: - * amin = ai - * idx = i0 # <<<<<<<<<<<<<< - * y[i1] = idx - * return y + /* "nanargmin.pyx":504 + * ai = a[i0] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * idx = i0 + * return np.intp(idx) */ - __pyx_v_idx = __pyx_v_i0; - goto __pyx_L8; - } - __pyx_L8:; - } + __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":469 - * amin = ai - * idx = i0 - * y[i1] = idx # <<<<<<<<<<<<<< - * return y + /* "nanargmin.pyx":505 + * if ai <= amin: + * amin = ai + * idx = i0 # <<<<<<<<<<<<<< + * return np.intp(idx) * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_v_idx = __pyx_v_i0; + goto __pyx_L6; + } + __pyx_L6:; } - /* "nanargmin.pyx":470 - * idx = i0 - * y[i1] = idx - * return y # <<<<<<<<<<<<<< + /* "nanargmin.pyx":506 + * amin = ai + * idx = i0 + * return np.intp(idx) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanargmin.pyx":446 + /* "nanargmin.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." + * def nanargmin_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmin.pyx":474 +/* "nanargmin.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." + * def nanargmin_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_27nanargmin_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_26nanargmin_2d_int64_axis1[] = "nanargmin_2d_int64_axis1(ndarray a)\nIndex of max of 2d, int64 array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_27nanargmin_2d_int64_axis1 = {"nanargmin_2d_int64_axis1", (PyCFunction)__pyx_pw_9nanargmin_27nanargmin_2d_int64_axis1, METH_O, __pyx_doc_9nanargmin_26nanargmin_2d_int64_axis1}; -static PyObject *__pyx_pw_9nanargmin_27nanargmin_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_27nanargmin_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_26nanargmin_1d_int32_axis0[] = "nanargmin_1d_int32_axis0(ndarray a)\nIndex of max of 1d, int32 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_27nanargmin_1d_int32_axis0 = {"nanargmin_1d_int32_axis0", (PyCFunction)__pyx_pw_9nanargmin_27nanargmin_1d_int32_axis0, METH_O, __pyx_doc_9nanargmin_26nanargmin_1d_int32_axis0}; +static PyObject *__pyx_pw_9nanargmin_27nanargmin_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_26nanargmin_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_1d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_26nanargmin_1d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5847,317 +6182,277 @@ static PyObject *__pyx_pw_9nanargmin_27nanargmin_2d_int64_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_26nanargmin_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_9nanargmin_26nanargmin_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amin; - __pyx_t_5numpy_int64_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_amin; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanargmin_1d_int32_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmin.pyx":476 - * def nanargmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." + /* "nanargmin.pyx":512 + * def nanargmin_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): + * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amin, ai + * cdef np.int32_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":478 + /* "nanargmin.pyx":514 * cdef int allnan = 1 - * cdef np.int64_t amin, ai + * cdef np.int32_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":481 - * cdef Py_ssize_t i0, i1 + /* "nanargmin.pyx":517 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":482 + /* "nanargmin.pyx":518 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 == 0: + * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":483 + /* "nanargmin.pyx":519 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanargmin.pyx":484 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nanargmin.pyx":485 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_intp, 0) - * if n1 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanargmin.pyx":487 - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanargmin.pyx":488 - * NPY_intp, 0) - * if n1 == 0: + /* "nanargmin.pyx":520 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): + * amin = MAXint32 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":489 - * if n1 == 0: + /* "nanargmin.pyx":521 + * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint64 + * amin = MAXint32 + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":490 + /* "nanargmin.pyx":522 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXint64 - * for i1 in range(n1 - 1, -1, -1): + * amin = MAXint32 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint32; - /* "nanargmin.pyx":491 + /* "nanargmin.pyx":523 * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint64 # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] - */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint64; - - /* "nanargmin.pyx":492 - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint64 - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai <= amin: - */ - for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanargmin.pyx":493 - * amin = MAXint64 - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + * amin = MAXint32 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai <= amin: */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanargmin.pyx":494 - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * idx = i1 + /* "nanargmin.pyx":524 + * amin = MAXint32 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmin.pyx":495 - * ai = a[i0, i1] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * idx = i1 - * y[i0] = idx + /* "nanargmin.pyx":525 + * for i0 in range(n0): + * ai = a[i0] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * idx = i0 */ - __pyx_v_amin = __pyx_v_ai; + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanargmin.pyx":496 - * if ai <= amin: - * amin = ai - * idx = i1 # <<<<<<<<<<<<<< - * y[i0] = idx - * return y + /* "nanargmin.pyx":526 + * ai = a[i0] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * idx = i0 + * return np.intp(idx) */ - __pyx_v_idx = __pyx_v_i1; - goto __pyx_L8; - } - __pyx_L8:; - } + __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":497 - * amin = ai - * idx = i1 - * y[i0] = idx # <<<<<<<<<<<<<< - * return y + /* "nanargmin.pyx":527 + * if ai <= amin: + * amin = ai + * idx = i0 # <<<<<<<<<<<<<< + * return np.intp(idx) * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_v_idx = __pyx_v_i0; + goto __pyx_L6; + } + __pyx_L6:; } - /* "nanargmin.pyx":498 - * idx = i1 - * y[i0] = idx - * return y # <<<<<<<<<<<<<< + /* "nanargmin.pyx":528 + * amin = ai + * idx = i0 + * return np.intp(idx) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanargmin.pyx":474 + /* "nanargmin.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." + * def nanargmin_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmin.pyx":502 +/* "nanargmin.pyx":532 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float array along axis=0 ignoring NaNs." + * def nanargmin_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_29nanargmin_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_28nanargmin_1d_float_axis0[] = "nanargmin_1d_float_axis0(ndarray a)\nIndex of max of 1d, float array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_29nanargmin_1d_float_axis0 = {"nanargmin_1d_float_axis0", (PyCFunction)__pyx_pw_9nanargmin_29nanargmin_1d_float_axis0, METH_O, __pyx_doc_9nanargmin_28nanargmin_1d_float_axis0}; -static PyObject *__pyx_pw_9nanargmin_29nanargmin_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_29nanargmin_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_28nanargmin_1d_int64_axis0[] = "nanargmin_1d_int64_axis0(ndarray a)\nIndex of max of 1d, int64 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_29nanargmin_1d_int64_axis0 = {"nanargmin_1d_int64_axis0", (PyCFunction)__pyx_pw_9nanargmin_29nanargmin_1d_int64_axis0, METH_O, __pyx_doc_9nanargmin_28nanargmin_1d_int64_axis0}; +static PyObject *__pyx_pw_9nanargmin_29nanargmin_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_1d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_28nanargmin_1d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_1d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_28nanargmin_1d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6168,10 +6463,10 @@ static PyObject *__pyx_pw_9nanargmin_29nanargmin_1d_float_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amin; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int64_t __pyx_v_amin; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -6186,42 +6481,43 @@ static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_float_axis0(CYTHON_UNUSED Py PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_6; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_1d_float_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_1d_int64_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmin.pyx":504 - * def nanargmin_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): - * "Index of max of 1d, float array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":534 + * def nanargmin_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): + * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amin, ai + * cdef np.int64_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":506 + /* "nanargmin.pyx":536 * cdef int allnan = 1 - * cdef np.float_t amin, ai + * cdef np.int64_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":509 + /* "nanargmin.pyx":539 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6230,7 +6526,7 @@ static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_float_axis0(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":510 + /* "nanargmin.pyx":540 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -6239,7 +6535,7 @@ static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_float_axis0(CYTHON_UNUSED Py */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":511 + /* "nanargmin.pyx":541 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< @@ -6249,99 +6545,91 @@ static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_float_axis0(CYTHON_UNUSED Py __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanargmin.pyx":512 + /* "nanargmin.pyx":542 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amin = MAXfloat + * amin = MAXint64 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":513 + /* "nanargmin.pyx":543 * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amin = MAXfloat - * for i0 in range(n0 - 1, -1, -1): + * amin = MAXint64 + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":514 + /* "nanargmin.pyx":544 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amin = MAXfloat # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): + * amin = MAXint64 # <<<<<<<<<<<<<< + * for i0 in range(n0): * ai = a[i0] */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint64; - /* "nanargmin.pyx":515 + /* "nanargmin.pyx":545 * raise ValueError(msg) - * amin = MAXfloat - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * amin = MAXint64 + * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0] * if ai <= amin: */ - for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { - __pyx_v_i0 = __pyx_t_4; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanargmin.pyx":516 - * amin = MAXfloat - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmin.pyx":546 + * amin = MAXint64 + * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmin.pyx":517 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmin.pyx":547 + * for i0 in range(n0): * ai = a[i0] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * idx = i0 */ __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_1) { - /* "nanargmin.pyx":518 + /* "nanargmin.pyx":548 * ai = a[i0] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i0 + * return np.intp(idx) */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":519 + /* "nanargmin.pyx":549 * if ai <= amin: * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmin.pyx":520 - * amin = ai - * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.intp(idx) + * return np.intp(idx) + * */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L6; @@ -6349,82 +6637,56 @@ static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_float_axis0(CYTHON_UNUSED Py __pyx_L6:; } - /* "nanargmin.pyx":521 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.intp(idx) - * else: - */ - __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_1) { - - /* "nanargmin.pyx":522 + /* "nanargmin.pyx":550 + * amin = ai * idx = i0 - * if allnan == 0: - * return np.intp(idx) # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_7) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - } - /*else*/ { - - /* "nanargmin.pyx":524 - * return np.intp(idx) - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * return np.intp(idx) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; - /* "nanargmin.pyx":502 + /* "nanargmin.pyx":532 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float array along axis=0 ignoring NaNs." + * def nanargmin_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -6432,14 +6694,14 @@ static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_float_axis0(CYTHON_UNUSED Py __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6451,27 +6713,27 @@ static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_float_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "nanargmin.pyx":528 +/* "nanargmin.pyx":554 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_31nanargmin_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_30nanargmin_1d_float32_axis0[] = "nanargmin_1d_float32_axis0(ndarray a)\nIndex of max of 1d, float32 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_31nanargmin_1d_float32_axis0 = {"nanargmin_1d_float32_axis0", (PyCFunction)__pyx_pw_9nanargmin_31nanargmin_1d_float32_axis0, METH_O, __pyx_doc_9nanargmin_30nanargmin_1d_float32_axis0}; -static PyObject *__pyx_pw_9nanargmin_31nanargmin_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_31nanargmin_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_30nanargmin_2d_int_axis0[] = "nanargmin_2d_int_axis0(ndarray a)\nIndex of max of 2d, int array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_31nanargmin_2d_int_axis0 = {"nanargmin_2d_int_axis0", (PyCFunction)__pyx_pw_9nanargmin_31nanargmin_2d_int_axis0, METH_O, __pyx_doc_9nanargmin_30nanargmin_2d_int_axis0}; +static PyObject *__pyx_pw_9nanargmin_31nanargmin_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_1d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_30nanargmin_1d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_30nanargmin_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6482,310 +6744,317 @@ static PyObject *__pyx_pw_9nanargmin_31nanargmin_1d_float32_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_30nanargmin_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amin; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_30nanargmin_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int_t __pyx_v_amin; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_1d_float32_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":530 - * def nanargmin_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): - * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":556 + * def nanargmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Index of max of 2d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amin, ai + * cdef np.int_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":532 + /* "nanargmin.pyx":558 * cdef int allnan = 1 - * cdef np.float32_t amin, ai + * cdef np.int_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":535 - * cdef Py_ssize_t i0 + /* "nanargmin.pyx":561 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":536 + /* "nanargmin.pyx":562 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":537 + /* "nanargmin.pyx":563 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanargmin.pyx":564 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "nanargmin.pyx":565 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_intp, 0) + * if n0 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanargmin.pyx":567 + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanargmin.pyx":538 - * cdef Py_ssize_t n0 = dim[0] + /* "nanargmin.pyx":568 + * NPY_intp, 0) * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amin = MAXfloat32 + * for i1 in range(n1 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":539 + /* "nanargmin.pyx":569 * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amin = MAXfloat32 - * for i0 in range(n0 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXint */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":540 + /* "nanargmin.pyx":570 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amin = MAXfloat32 # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + * amin = MAXint + * for i0 in range(n0 - 1, -1, -1): */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat32; + for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanargmin.pyx":541 + /* "nanargmin.pyx":571 * raise ValueError(msg) - * amin = MAXfloat32 - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai <= amin: + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXint # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] */ - for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { - __pyx_v_i0 = __pyx_t_4; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint; - /* "nanargmin.pyx":542 - * amin = MAXfloat32 - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + /* "nanargmin.pyx":572 + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXint + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai <= amin: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanargmin.pyx":543 - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * allnan = 0 + /* "nanargmin.pyx":573 + * amin = MAXint + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":544 - * ai = a[i0] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * idx = i0 + /* "nanargmin.pyx":574 + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * idx = i0 */ - __pyx_v_amin = __pyx_v_ai; + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { - /* "nanargmin.pyx":545 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: + /* "nanargmin.pyx":575 + * ai = a[i0, i1] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * idx = i0 + * y[i1] = idx */ - __pyx_v_allnan = 0; + __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":546 - * amin = ai - * allnan = 0 - * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.intp(idx) + /* "nanargmin.pyx":576 + * if ai <= amin: + * amin = ai + * idx = i0 # <<<<<<<<<<<<<< + * y[i1] = idx + * return y */ - __pyx_v_idx = __pyx_v_i0; - goto __pyx_L6; + __pyx_v_idx = __pyx_v_i0; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; - } - - /* "nanargmin.pyx":547 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.intp(idx) - * else: - */ - __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_1) { - /* "nanargmin.pyx":548 - * idx = i0 - * if allnan == 0: - * return np.intp(idx) # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmin.pyx":577 + * amin = ai + * idx = i0 + * y[i1] = idx # <<<<<<<<<<<<<< + * return y + * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_7) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /*else*/ { - /* "nanargmin.pyx":550 - * return np.intp(idx) - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + /* "nanargmin.pyx":578 + * idx = i0 + * y[i1] = idx + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "nanargmin.pyx":528 + /* "nanargmin.pyx":554 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmin.pyx":554 +/* "nanargmin.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_33nanargmin_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_32nanargmin_1d_float64_axis0[] = "nanargmin_1d_float64_axis0(ndarray a)\nIndex of max of 1d, float64 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_33nanargmin_1d_float64_axis0 = {"nanargmin_1d_float64_axis0", (PyCFunction)__pyx_pw_9nanargmin_33nanargmin_1d_float64_axis0, METH_O, __pyx_doc_9nanargmin_32nanargmin_1d_float64_axis0}; -static PyObject *__pyx_pw_9nanargmin_33nanargmin_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_33nanargmin_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_32nanargmin_2d_int_axis1[] = "nanargmin_2d_int_axis1(ndarray a)\nIndex of max of 2d, int array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_33nanargmin_2d_int_axis1 = {"nanargmin_2d_int_axis1", (PyCFunction)__pyx_pw_9nanargmin_33nanargmin_2d_int_axis1, METH_O, __pyx_doc_9nanargmin_32nanargmin_2d_int_axis1}; +static PyObject *__pyx_pw_9nanargmin_33nanargmin_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_1d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_32nanargmin_1d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_32nanargmin_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6796,310 +7065,317 @@ static PyObject *__pyx_pw_9nanargmin_33nanargmin_1d_float64_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_32nanargmin_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amin; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_32nanargmin_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int_t __pyx_v_amin; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_1d_float64_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":556 - * def nanargmin_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): - * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":584 + * def nanargmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Index of max of 2d, int array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amin, ai + * cdef np.int_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":558 + /* "nanargmin.pyx":586 * cdef int allnan = 1 - * cdef np.float64_t amin, ai + * cdef np.int_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":561 - * cdef Py_ssize_t i0 + /* "nanargmin.pyx":589 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":562 + /* "nanargmin.pyx":590 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":563 + /* "nanargmin.pyx":591 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanargmin.pyx":592 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "nanargmin.pyx":593 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_intp, 0) + * if n1 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanargmin.pyx":595 + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) + * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { - /* "nanargmin.pyx":564 - * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + /* "nanargmin.pyx":596 + * NPY_intp, 0) + * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amin = MAXfloat64 + * for i0 in range(n0 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":565 - * if n0 == 0: + /* "nanargmin.pyx":597 + * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amin = MAXfloat64 * for i0 in range(n0 - 1, -1, -1): + * amin = MAXint */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":566 + /* "nanargmin.pyx":598 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amin = MAXfloat64 # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] - */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat64; - - /* "nanargmin.pyx":567 - * raise ValueError(msg) - * amin = MAXfloat64 * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai <= amin: + * amin = MAXint + * for i1 in range(n1 - 1, -1, -1): */ - for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { - __pyx_v_i0 = __pyx_t_4; + for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanargmin.pyx":568 - * amin = MAXfloat64 + /* "nanargmin.pyx":599 + * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + * amin = MAXint # <<<<<<<<<<<<<< + * for i1 in range(n1 - 1, -1, -1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_amin = __pyx_v_9nanargmin_MAXint; - /* "nanargmin.pyx":569 + /* "nanargmin.pyx":600 * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * allnan = 0 - */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { - - /* "nanargmin.pyx":570 - * ai = a[i0] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * idx = i0 + * amin = MAXint + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai <= amin: */ - __pyx_v_amin = __pyx_v_ai; + for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanargmin.pyx":571 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: + /* "nanargmin.pyx":601 + * amin = MAXint + * for i1 in range(n1 - 1, -1, -1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_v_allnan = 0; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":572 - * amin = ai - * allnan = 0 - * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.intp(idx) + /* "nanargmin.pyx":602 + * for i1 in range(n1 - 1, -1, -1): + * ai = a[i0, i1] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * idx = i1 */ - __pyx_v_idx = __pyx_v_i0; - goto __pyx_L6; - } - __pyx_L6:; - } + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { - /* "nanargmin.pyx":573 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.intp(idx) - * else: + /* "nanargmin.pyx":603 + * ai = a[i0, i1] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * idx = i1 + * y[i0] = idx */ - __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_1) { + __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":574 - * idx = i0 - * if allnan == 0: - * return np.intp(idx) # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmin.pyx":604 + * if ai <= amin: + * amin = ai + * idx = i1 # <<<<<<<<<<<<<< + * y[i0] = idx + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_idx = __pyx_v_i1; + goto __pyx_L8; } + __pyx_L8:; } - if (!__pyx_t_7) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; + + /* "nanargmin.pyx":605 + * amin = ai + * idx = i1 + * y[i0] = idx # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /*else*/ { - /* "nanargmin.pyx":576 - * return np.intp(idx) - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + /* "nanargmin.pyx":606 + * idx = i1 + * y[i0] = idx + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "nanargmin.pyx":554 + /* "nanargmin.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmin.pyx":580 +/* "nanargmin.pyx":610 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=0 ignoring NaNs." + * def nanargmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_35nanargmin_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_34nanargmin_2d_float_axis0[] = "nanargmin_2d_float_axis0(ndarray a)\nIndex of max of 2d, float array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_35nanargmin_2d_float_axis0 = {"nanargmin_2d_float_axis0", (PyCFunction)__pyx_pw_9nanargmin_35nanargmin_2d_float_axis0, METH_O, __pyx_doc_9nanargmin_34nanargmin_2d_float_axis0}; -static PyObject *__pyx_pw_9nanargmin_35nanargmin_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_35nanargmin_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_34nanargmin_2d_int8_axis0[] = "nanargmin_2d_int8_axis0(ndarray a)\nIndex of max of 2d, int8 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_35nanargmin_2d_int8_axis0 = {"nanargmin_2d_int8_axis0", (PyCFunction)__pyx_pw_9nanargmin_35nanargmin_2d_int8_axis0, METH_O, __pyx_doc_9nanargmin_34nanargmin_2d_int8_axis0}; +static PyObject *__pyx_pw_9nanargmin_35nanargmin_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_34nanargmin_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7110,10 +7386,10 @@ static PyObject *__pyx_pw_9nanargmin_35nanargmin_2d_float_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amin; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int8_t __pyx_v_amin; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -7141,7 +7417,7 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_float_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_int8_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -7152,29 +7428,29 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":582 - * def nanargmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Index of max of 2d, float array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":612 + * def nanargmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amin, ai + * cdef np.int8_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":584 + /* "nanargmin.pyx":614 * cdef int allnan = 1 - * cdef np.float_t amin, ai + * cdef np.int8_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":587 + /* "nanargmin.pyx":617 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7183,7 +7459,7 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":588 + /* "nanargmin.pyx":618 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7192,7 +7468,7 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":589 + /* "nanargmin.pyx":619 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7201,7 +7477,7 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":590 + /* "nanargmin.pyx":620 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -7211,22 +7487,22 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":591 + /* "nanargmin.pyx":621 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -7234,7 +7510,7 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":593 + /* "nanargmin.pyx":623 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< @@ -7244,7 +7520,7 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":594 + /* "nanargmin.pyx":624 * NPY_intp, 0) * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -7254,57 +7530,48 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":595 + /* "nanargmin.pyx":625 * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): - * amin = MAXfloat + * amin = MAXint8 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":596 + /* "nanargmin.pyx":626 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXfloat - * allnan = 1 + * amin = MAXint8 + * for i0 in range(n0 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i1 = __pyx_t_6; - /* "nanargmin.pyx":597 + /* "nanargmin.pyx":627 * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): - * amin = MAXfloat # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0 - 1, -1, -1): - */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat; - - /* "nanargmin.pyx":598 - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXfloat - * allnan = 1 # <<<<<<<<<<<<<< + * amin = MAXint8 # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint8; - /* "nanargmin.pyx":599 - * amin = MAXfloat - * allnan = 1 + /* "nanargmin.pyx":628 + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXint8 * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -7312,8 +7579,8 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanargmin.pyx":600 - * allnan = 1 + /* "nanargmin.pyx":629 + * amin = MAXint8 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -7321,42 +7588,33 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":601 + /* "nanargmin.pyx":630 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * idx = i0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":602 + /* "nanargmin.pyx":631 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i0 + * y[i1] = idx */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":603 + /* "nanargmin.pyx":632 * if ai <= amin: * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmin.pyx":604 - * amin = ai - * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = idx + * y[i1] = idx + * return y */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L8; @@ -7364,48 +7622,20 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py __pyx_L8:; } - /* "nanargmin.pyx":605 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmin.pyx":606 + /* "nanargmin.pyx":633 + * amin = ai * idx = i0 - * if allnan == 0: - * y[i1] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; - } - /*else*/ { - - /* "nanargmin.pyx":608 - * y[i1] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * y[i1] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /* "nanargmin.pyx":609 - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmin.pyx":634 + * idx = i0 + * y[i1] = idx * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -7415,11 +7645,11 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmin.pyx":580 + /* "nanargmin.pyx":610 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=0 ignoring NaNs." + * def nanargmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -7432,7 +7662,7 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7446,27 +7676,27 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "nanargmin.pyx":613 +/* "nanargmin.pyx":638 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=1 ignoring NaNs." + * def nanargmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_37nanargmin_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_36nanargmin_2d_float_axis1[] = "nanargmin_2d_float_axis1(ndarray a)\nIndex of max of 2d, float array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_37nanargmin_2d_float_axis1 = {"nanargmin_2d_float_axis1", (PyCFunction)__pyx_pw_9nanargmin_37nanargmin_2d_float_axis1, METH_O, __pyx_doc_9nanargmin_36nanargmin_2d_float_axis1}; -static PyObject *__pyx_pw_9nanargmin_37nanargmin_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_37nanargmin_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_36nanargmin_2d_int8_axis1[] = "nanargmin_2d_int8_axis1(ndarray a)\nIndex of max of 2d, int8 array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_37nanargmin_2d_int8_axis1 = {"nanargmin_2d_int8_axis1", (PyCFunction)__pyx_pw_9nanargmin_37nanargmin_2d_int8_axis1, METH_O, __pyx_doc_9nanargmin_36nanargmin_2d_int8_axis1}; +static PyObject *__pyx_pw_9nanargmin_37nanargmin_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_float_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_int8_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_36nanargmin_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7477,10 +7707,10 @@ static PyObject *__pyx_pw_9nanargmin_37nanargmin_2d_float_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amin; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int8_t __pyx_v_amin; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -7508,7 +7738,7 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_float_axis1", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_int8_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -7519,29 +7749,29 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":615 - * def nanargmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Index of max of 2d, float array along axis=1 ignoring NaNs." + /* "nanargmin.pyx":640 + * def nanargmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amin, ai + * cdef np.int8_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":617 + /* "nanargmin.pyx":642 * cdef int allnan = 1 - * cdef np.float_t amin, ai + * cdef np.int8_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":620 + /* "nanargmin.pyx":645 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7550,7 +7780,7 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":621 + /* "nanargmin.pyx":646 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7559,7 +7789,7 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":622 + /* "nanargmin.pyx":647 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7568,7 +7798,7 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":623 + /* "nanargmin.pyx":648 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -7578,22 +7808,22 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":624 + /* "nanargmin.pyx":649 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -7601,7 +7831,7 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":626 + /* "nanargmin.pyx":651 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n1 == 0: # <<<<<<<<<<<<<< @@ -7611,7 +7841,7 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":627 + /* "nanargmin.pyx":652 * NPY_intp, 0) * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -7621,57 +7851,48 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":628 + /* "nanargmin.pyx":653 * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): - * amin = MAXfloat + * amin = MAXint8 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":629 + /* "nanargmin.pyx":654 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXfloat - * allnan = 1 + * amin = MAXint8 + * for i1 in range(n1 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i0 = __pyx_t_6; - /* "nanargmin.pyx":630 + /* "nanargmin.pyx":655 * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): - * amin = MAXfloat # <<<<<<<<<<<<<< - * allnan = 1 - * for i1 in range(n1 - 1, -1, -1): - */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat; - - /* "nanargmin.pyx":631 - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXfloat - * allnan = 1 # <<<<<<<<<<<<<< + * amin = MAXint8 # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint8; - /* "nanargmin.pyx":632 - * amin = MAXfloat - * allnan = 1 + /* "nanargmin.pyx":656 + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXint8 * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -7679,8 +7900,8 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanargmin.pyx":633 - * allnan = 1 + /* "nanargmin.pyx":657 + * amin = MAXint8 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -7688,42 +7909,33 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":634 + /* "nanargmin.pyx":658 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * idx = i1 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":635 + /* "nanargmin.pyx":659 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * idx = i1 - */ - __pyx_v_amin = __pyx_v_ai; - - /* "nanargmin.pyx":636 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< * idx = i1 - * if allnan == 0: + * y[i0] = idx */ - __pyx_v_allnan = 0; + __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":637 + /* "nanargmin.pyx":660 + * if ai <= amin: * amin = ai - * allnan = 0 * idx = i1 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = idx + * y[i0] = idx + * return y */ __pyx_v_idx = __pyx_v_i1; goto __pyx_L8; @@ -7731,48 +7943,20 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py __pyx_L8:; } - /* "nanargmin.pyx":638 - * allnan = 0 - * idx = i1 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmin.pyx":639 + /* "nanargmin.pyx":661 + * amin = ai * idx = i1 - * if allnan == 0: - * y[i0] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; - } - /*else*/ { - - /* "nanargmin.pyx":641 - * y[i0] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * y[i0] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /* "nanargmin.pyx":642 - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmin.pyx":662 + * idx = i1 + * y[i0] = idx * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -7782,11 +7966,11 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmin.pyx":613 + /* "nanargmin.pyx":638 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=1 ignoring NaNs." + * def nanargmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -7799,7 +7983,7 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7813,27 +7997,27 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py return __pyx_r; } -/* "nanargmin.pyx":646 +/* "nanargmin.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_39nanargmin_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_38nanargmin_2d_float32_axis0[] = "nanargmin_2d_float32_axis0(ndarray a)\nIndex of max of 2d, float32 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_39nanargmin_2d_float32_axis0 = {"nanargmin_2d_float32_axis0", (PyCFunction)__pyx_pw_9nanargmin_39nanargmin_2d_float32_axis0, METH_O, __pyx_doc_9nanargmin_38nanargmin_2d_float32_axis0}; -static PyObject *__pyx_pw_9nanargmin_39nanargmin_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_39nanargmin_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_38nanargmin_2d_int32_axis0[] = "nanargmin_2d_int32_axis0(ndarray a)\nIndex of max of 2d, int32 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_39nanargmin_2d_int32_axis0 = {"nanargmin_2d_int32_axis0", (PyCFunction)__pyx_pw_9nanargmin_39nanargmin_2d_int32_axis0, METH_O, __pyx_doc_9nanargmin_38nanargmin_2d_int32_axis0}; +static PyObject *__pyx_pw_9nanargmin_39nanargmin_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_38nanargmin_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7844,10 +8028,10 @@ static PyObject *__pyx_pw_9nanargmin_39nanargmin_2d_float32_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amin; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int32_t __pyx_v_amin; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -7875,7 +8059,7 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_float32_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_int32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -7886,29 +8070,29 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":648 - * def nanargmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":668 + * def nanargmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amin, ai + * cdef np.int32_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":650 + /* "nanargmin.pyx":670 * cdef int allnan = 1 - * cdef np.float32_t amin, ai + * cdef np.int32_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":653 + /* "nanargmin.pyx":673 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7917,7 +8101,7 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":654 + /* "nanargmin.pyx":674 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7926,7 +8110,7 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":655 + /* "nanargmin.pyx":675 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7935,7 +8119,7 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":656 + /* "nanargmin.pyx":676 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -7945,22 +8129,22 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":657 + /* "nanargmin.pyx":677 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -7968,7 +8152,7 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":659 + /* "nanargmin.pyx":679 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< @@ -7978,7 +8162,7 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":660 + /* "nanargmin.pyx":680 * NPY_intp, 0) * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -7988,57 +8172,48 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":661 + /* "nanargmin.pyx":681 * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): - * amin = MAXfloat32 + * amin = MAXint32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":662 + /* "nanargmin.pyx":682 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXfloat32 - * allnan = 1 + * amin = MAXint32 + * for i0 in range(n0 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i1 = __pyx_t_6; - /* "nanargmin.pyx":663 + /* "nanargmin.pyx":683 * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): - * amin = MAXfloat32 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0 - 1, -1, -1): - */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat32; - - /* "nanargmin.pyx":664 - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXfloat32 - * allnan = 1 # <<<<<<<<<<<<<< + * amin = MAXint32 # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint32; - /* "nanargmin.pyx":665 - * amin = MAXfloat32 - * allnan = 1 + /* "nanargmin.pyx":684 + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXint32 * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -8046,8 +8221,8 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanargmin.pyx":666 - * allnan = 1 + /* "nanargmin.pyx":685 + * amin = MAXint32 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -8055,42 +8230,33 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":667 + /* "nanargmin.pyx":686 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * idx = i0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":668 + /* "nanargmin.pyx":687 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i0 + * y[i1] = idx */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":669 + /* "nanargmin.pyx":688 * if ai <= amin: * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmin.pyx":670 - * amin = ai - * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = idx + * y[i1] = idx + * return y */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L8; @@ -8098,48 +8264,20 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED __pyx_L8:; } - /* "nanargmin.pyx":671 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmin.pyx":672 + /* "nanargmin.pyx":689 + * amin = ai * idx = i0 - * if allnan == 0: - * y[i1] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; - } - /*else*/ { - - /* "nanargmin.pyx":674 - * y[i1] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * y[i1] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /* "nanargmin.pyx":675 - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmin.pyx":690 + * idx = i0 + * y[i1] = idx * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -8149,11 +8287,11 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmin.pyx":646 + /* "nanargmin.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -8166,7 +8304,7 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8180,27 +8318,27 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED return __pyx_r; } -/* "nanargmin.pyx":679 +/* "nanargmin.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." + * def nanargmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_41nanargmin_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_40nanargmin_2d_float32_axis1[] = "nanargmin_2d_float32_axis1(ndarray a)\nIndex of max of 2d, float32 array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_41nanargmin_2d_float32_axis1 = {"nanargmin_2d_float32_axis1", (PyCFunction)__pyx_pw_9nanargmin_41nanargmin_2d_float32_axis1, METH_O, __pyx_doc_9nanargmin_40nanargmin_2d_float32_axis1}; -static PyObject *__pyx_pw_9nanargmin_41nanargmin_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_41nanargmin_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_40nanargmin_2d_int32_axis1[] = "nanargmin_2d_int32_axis1(ndarray a)\nIndex of max of 2d, int32 array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_41nanargmin_2d_int32_axis1 = {"nanargmin_2d_int32_axis1", (PyCFunction)__pyx_pw_9nanargmin_41nanargmin_2d_int32_axis1, METH_O, __pyx_doc_9nanargmin_40nanargmin_2d_int32_axis1}; +static PyObject *__pyx_pw_9nanargmin_41nanargmin_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_float32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_int32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_40nanargmin_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8211,10 +8349,10 @@ static PyObject *__pyx_pw_9nanargmin_41nanargmin_2d_float32_axis1(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amin; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int32_t __pyx_v_amin; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -8242,7 +8380,7 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_float32_axis1", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_int32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -8253,29 +8391,29 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":681 - * def nanargmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." + /* "nanargmin.pyx":696 + * def nanargmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amin, ai + * cdef np.int32_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":683 + /* "nanargmin.pyx":698 * cdef int allnan = 1 - * cdef np.float32_t amin, ai + * cdef np.int32_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":686 + /* "nanargmin.pyx":701 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8284,7 +8422,7 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":687 + /* "nanargmin.pyx":702 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -8293,7 +8431,7 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":688 + /* "nanargmin.pyx":703 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -8302,7 +8440,7 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":689 + /* "nanargmin.pyx":704 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -8312,22 +8450,22 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":690 + /* "nanargmin.pyx":705 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -8335,7 +8473,7 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":692 + /* "nanargmin.pyx":707 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n1 == 0: # <<<<<<<<<<<<<< @@ -8345,7 +8483,7 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":693 + /* "nanargmin.pyx":708 * NPY_intp, 0) * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -8355,57 +8493,48 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":694 + /* "nanargmin.pyx":709 * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): - * amin = MAXfloat32 + * amin = MAXint32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":695 + /* "nanargmin.pyx":710 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXfloat32 - * allnan = 1 + * amin = MAXint32 + * for i1 in range(n1 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i0 = __pyx_t_6; - /* "nanargmin.pyx":696 + /* "nanargmin.pyx":711 * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): - * amin = MAXfloat32 # <<<<<<<<<<<<<< - * allnan = 1 - * for i1 in range(n1 - 1, -1, -1): - */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat32; - - /* "nanargmin.pyx":697 - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXfloat32 - * allnan = 1 # <<<<<<<<<<<<<< + * amin = MAXint32 # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint32; - /* "nanargmin.pyx":698 - * amin = MAXfloat32 - * allnan = 1 + /* "nanargmin.pyx":712 + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXint32 * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -8413,8 +8542,8 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanargmin.pyx":699 - * allnan = 1 + /* "nanargmin.pyx":713 + * amin = MAXint32 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -8422,91 +8551,54 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":700 + /* "nanargmin.pyx":714 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * idx = i1 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":701 + /* "nanargmin.pyx":715 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i1 + * y[i0] = idx */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":702 + /* "nanargmin.pyx":716 * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i1 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmin.pyx":703 - * amin = ai - * allnan = 0 - * idx = i1 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = idx - */ - __pyx_v_idx = __pyx_v_i1; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "nanargmin.pyx":704 - * allnan = 0 - * idx = i1 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmin.pyx":705 - * idx = i1 - * if allnan == 0: - * y[i0] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") + * amin = ai + * idx = i1 # <<<<<<<<<<<<<< + * y[i0] = idx + * return y */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; + __pyx_v_idx = __pyx_v_i1; + goto __pyx_L8; + } + __pyx_L8:; } - /*else*/ { - /* "nanargmin.pyx":707 - * y[i0] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + /* "nanargmin.pyx":717 + * amin = ai + * idx = i1 + * y[i0] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /* "nanargmin.pyx":708 - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmin.pyx":718 + * idx = i1 + * y[i0] = idx * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -8516,11 +8608,11 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmin.pyx":679 + /* "nanargmin.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." + * def nanargmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -8533,7 +8625,7 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8547,27 +8639,27 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED return __pyx_r; } -/* "nanargmin.pyx":712 +/* "nanargmin.pyx":722 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_43nanargmin_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_42nanargmin_2d_float64_axis0[] = "nanargmin_2d_float64_axis0(ndarray a)\nIndex of max of 2d, float64 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_43nanargmin_2d_float64_axis0 = {"nanargmin_2d_float64_axis0", (PyCFunction)__pyx_pw_9nanargmin_43nanargmin_2d_float64_axis0, METH_O, __pyx_doc_9nanargmin_42nanargmin_2d_float64_axis0}; -static PyObject *__pyx_pw_9nanargmin_43nanargmin_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_43nanargmin_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_42nanargmin_2d_int64_axis0[] = "nanargmin_2d_int64_axis0(ndarray a)\nIndex of max of 2d, int64 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_43nanargmin_2d_int64_axis0 = {"nanargmin_2d_int64_axis0", (PyCFunction)__pyx_pw_9nanargmin_43nanargmin_2d_int64_axis0, METH_O, __pyx_doc_9nanargmin_42nanargmin_2d_int64_axis0}; +static PyObject *__pyx_pw_9nanargmin_43nanargmin_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_42nanargmin_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8578,10 +8670,10 @@ static PyObject *__pyx_pw_9nanargmin_43nanargmin_2d_float64_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amin; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int64_t __pyx_v_amin; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -8609,7 +8701,7 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_float64_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_int64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -8620,29 +8712,29 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":714 - * def nanargmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":724 + * def nanargmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amin, ai + * cdef np.int64_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":716 + /* "nanargmin.pyx":726 * cdef int allnan = 1 - * cdef np.float64_t amin, ai + * cdef np.int64_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":719 + /* "nanargmin.pyx":729 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8651,7 +8743,7 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":720 + /* "nanargmin.pyx":730 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -8660,7 +8752,7 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":721 + /* "nanargmin.pyx":731 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -8669,7 +8761,7 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":722 + /* "nanargmin.pyx":732 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -8679,22 +8771,22 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":723 + /* "nanargmin.pyx":733 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -8702,7 +8794,7 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":725 + /* "nanargmin.pyx":735 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< @@ -8712,7 +8804,7 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":726 + /* "nanargmin.pyx":736 * NPY_intp, 0) * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -8722,57 +8814,48 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":727 + /* "nanargmin.pyx":737 * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): - * amin = MAXfloat64 + * amin = MAXint64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":728 + /* "nanargmin.pyx":738 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXfloat64 - * allnan = 1 + * amin = MAXint64 + * for i0 in range(n0 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i1 = __pyx_t_6; - /* "nanargmin.pyx":729 + /* "nanargmin.pyx":739 * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): - * amin = MAXfloat64 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0 - 1, -1, -1): - */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat64; - - /* "nanargmin.pyx":730 - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXfloat64 - * allnan = 1 # <<<<<<<<<<<<<< + * amin = MAXint64 # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint64; - /* "nanargmin.pyx":731 - * amin = MAXfloat64 - * allnan = 1 + /* "nanargmin.pyx":740 + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXint64 * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -8780,8 +8863,8 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanargmin.pyx":732 - * allnan = 1 + /* "nanargmin.pyx":741 + * amin = MAXint64 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -8789,42 +8872,33 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":733 + /* "nanargmin.pyx":742 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * idx = i0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":734 + /* "nanargmin.pyx":743 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i0 + * y[i1] = idx */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":735 + /* "nanargmin.pyx":744 * if ai <= amin: * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmin.pyx":736 - * amin = ai - * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = idx + * y[i1] = idx + * return y */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L8; @@ -8832,48 +8906,20 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED __pyx_L8:; } - /* "nanargmin.pyx":737 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmin.pyx":738 + /* "nanargmin.pyx":745 + * amin = ai * idx = i0 - * if allnan == 0: - * y[i1] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; - } - /*else*/ { - - /* "nanargmin.pyx":740 - * y[i1] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * y[i1] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /* "nanargmin.pyx":741 - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmin.pyx":746 + * idx = i0 + * y[i1] = idx * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -8883,11 +8929,11 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmin.pyx":712 + /* "nanargmin.pyx":722 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -8900,7 +8946,7 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8914,27 +8960,27 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED return __pyx_r; } -/* "nanargmin.pyx":745 +/* "nanargmin.pyx":750 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." + * def nanargmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_45nanargmin_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_44nanargmin_2d_float64_axis1[] = "nanargmin_2d_float64_axis1(ndarray a)\nIndex of max of 2d, float64 array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_45nanargmin_2d_float64_axis1 = {"nanargmin_2d_float64_axis1", (PyCFunction)__pyx_pw_9nanargmin_45nanargmin_2d_float64_axis1, METH_O, __pyx_doc_9nanargmin_44nanargmin_2d_float64_axis1}; -static PyObject *__pyx_pw_9nanargmin_45nanargmin_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_45nanargmin_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_44nanargmin_2d_int64_axis1[] = "nanargmin_2d_int64_axis1(ndarray a)\nIndex of max of 2d, int64 array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_45nanargmin_2d_int64_axis1 = {"nanargmin_2d_int64_axis1", (PyCFunction)__pyx_pw_9nanargmin_45nanargmin_2d_int64_axis1, METH_O, __pyx_doc_9nanargmin_44nanargmin_2d_int64_axis1}; +static PyObject *__pyx_pw_9nanargmin_45nanargmin_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_float64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_int64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_44nanargmin_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8945,10 +8991,10 @@ static PyObject *__pyx_pw_9nanargmin_45nanargmin_2d_float64_axis1(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amin; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int64_t __pyx_v_amin; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -8976,7 +9022,7 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_float64_axis1", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_int64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -8987,29 +9033,29 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":747 - * def nanargmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." + /* "nanargmin.pyx":752 + * def nanargmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amin, ai + * cdef np.int64_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":749 + /* "nanargmin.pyx":754 * cdef int allnan = 1 - * cdef np.float64_t amin, ai + * cdef np.int64_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":752 + /* "nanargmin.pyx":757 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9018,7 +9064,7 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":753 + /* "nanargmin.pyx":758 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -9027,7 +9073,7 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":754 + /* "nanargmin.pyx":759 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -9036,7 +9082,7 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":755 + /* "nanargmin.pyx":760 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -9046,22 +9092,22 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":756 + /* "nanargmin.pyx":761 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -9069,7 +9115,7 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":758 + /* "nanargmin.pyx":763 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n1 == 0: # <<<<<<<<<<<<<< @@ -9079,7 +9125,7 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":759 + /* "nanargmin.pyx":764 * NPY_intp, 0) * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -9089,57 +9135,48 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":760 + /* "nanargmin.pyx":765 * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): - * amin = MAXfloat64 + * amin = MAXint64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":761 + /* "nanargmin.pyx":766 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXfloat64 - * allnan = 1 + * amin = MAXint64 + * for i1 in range(n1 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i0 = __pyx_t_6; - /* "nanargmin.pyx":762 + /* "nanargmin.pyx":767 * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): - * amin = MAXfloat64 # <<<<<<<<<<<<<< - * allnan = 1 - * for i1 in range(n1 - 1, -1, -1): - */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat64; - - /* "nanargmin.pyx":763 - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXfloat64 - * allnan = 1 # <<<<<<<<<<<<<< + * amin = MAXint64 # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint64; - /* "nanargmin.pyx":764 - * amin = MAXfloat64 - * allnan = 1 + /* "nanargmin.pyx":768 + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXint64 * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -9147,8 +9184,8 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanargmin.pyx":765 - * allnan = 1 + /* "nanargmin.pyx":769 + * amin = MAXint64 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -9156,42 +9193,33 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":766 + /* "nanargmin.pyx":770 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * idx = i1 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":767 + /* "nanargmin.pyx":771 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i1 + * y[i0] = idx */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":768 + /* "nanargmin.pyx":772 * if ai <= amin: * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i1 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmin.pyx":769 - * amin = ai - * allnan = 0 * idx = i1 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = idx + * y[i0] = idx + * return y */ __pyx_v_idx = __pyx_v_i1; goto __pyx_L8; @@ -9199,48 +9227,20 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED __pyx_L8:; } - /* "nanargmin.pyx":770 - * allnan = 0 - * idx = i1 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmin.pyx":771 + /* "nanargmin.pyx":773 + * amin = ai * idx = i1 - * if allnan == 0: - * y[i0] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; - } - /*else*/ { - - /* "nanargmin.pyx":773 - * y[i0] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * y[i0] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } /* "nanargmin.pyx":774 - * else: - * raise ValueError("All-NaN slice encountered") + * idx = i1 + * y[i0] = idx * return y # <<<<<<<<<<<<<< * * cdef dict nanargmin_dict = {} @@ -9250,11 +9250,11 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmin.pyx":745 + /* "nanargmin.pyx":750 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." + * def nanargmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -9267,7 +9267,7 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9282,7 +9282,7 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED } /* "nanargmin.pyx":799 - * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 + * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 * * def nanargmin_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanargmin along axis 0." @@ -9350,7 +9350,7 @@ static PyObject *__pyx_pf_9nanargmin_46nanargmin_slow_axis0(CYTHON_UNUSED PyObje goto __pyx_L0; /* "nanargmin.pyx":799 - * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 + * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 * * def nanargmin_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanargmin along axis 0." @@ -12341,7 +12341,7 @@ static PyObject *__pyx_pf_9nanargmin_112nanargmin_slow_axisNone(CYTHON_UNUSED Py return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -12391,7 +12391,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -12404,7 +12404,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -12413,7 +12413,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -12422,7 +12422,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -12431,7 +12431,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -12441,7 +12441,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -12453,7 +12453,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -12464,7 +12464,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12480,7 +12480,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12492,7 +12492,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -12506,7 +12506,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12522,7 +12522,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12534,7 +12534,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -12548,7 +12548,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -12557,7 +12557,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -12566,7 +12566,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -12576,7 +12576,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -12585,7 +12585,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -12594,7 +12594,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -12605,7 +12605,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -12614,7 +12614,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -12627,7 +12627,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -12636,7 +12636,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -12647,7 +12647,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -12656,7 +12656,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -12665,7 +12665,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -12674,7 +12674,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -12683,7 +12683,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -12695,7 +12695,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -12704,7 +12704,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -12724,7 +12724,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -12740,7 +12740,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -12755,7 +12755,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -12765,7 +12765,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -12775,7 +12775,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -12798,7 +12798,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -12818,7 +12818,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -12832,7 +12832,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -12841,7 +12841,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -12852,7 +12852,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -12863,7 +12863,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -12874,7 +12874,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -12885,7 +12885,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -12896,7 +12896,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -12907,7 +12907,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -12918,7 +12918,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -12929,7 +12929,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -12940,7 +12940,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -12951,7 +12951,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -12962,7 +12962,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -12973,7 +12973,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -12984,7 +12984,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -12995,7 +12995,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -13006,7 +13006,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -13017,7 +13017,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -13029,7 +13029,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -13055,7 +13055,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -13064,7 +13064,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -13076,7 +13076,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -13085,7 +13085,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -13094,7 +13094,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -13103,7 +13103,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -13113,7 +13113,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -13123,7 +13123,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -13155,7 +13155,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -13179,7 +13179,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -13189,7 +13189,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -13201,7 +13201,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -13211,7 +13211,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -13223,7 +13223,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -13235,7 +13235,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -13252,7 +13252,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -13266,7 +13266,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -13285,7 +13285,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -13302,7 +13302,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -13316,7 +13316,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -13335,7 +13335,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13352,7 +13352,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -13366,7 +13366,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13385,7 +13385,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13402,7 +13402,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -13416,7 +13416,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13435,7 +13435,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13452,7 +13452,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -13466,7 +13466,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13485,7 +13485,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -13517,7 +13517,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -13526,7 +13526,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -13535,7 +13535,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -13557,7 +13557,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -13570,7 +13570,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -13609,7 +13609,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -13626,7 +13626,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -13640,7 +13640,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -13663,7 +13663,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -13683,7 +13683,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -13697,7 +13697,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -13713,7 +13713,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -13722,7 +13722,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -13731,7 +13731,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -13742,7 +13742,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -13752,7 +13752,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -13762,7 +13762,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -13774,7 +13774,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -13784,7 +13784,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -13798,7 +13798,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -13816,7 +13816,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -13834,7 +13834,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -13852,7 +13852,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -13870,7 +13870,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -13888,7 +13888,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -13906,7 +13906,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -13924,7 +13924,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -13942,7 +13942,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -13960,7 +13960,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -13978,7 +13978,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -13996,7 +13996,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -14014,7 +14014,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -14032,7 +14032,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -14052,7 +14052,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -14072,7 +14072,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -14092,7 +14092,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -14111,7 +14111,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -14134,7 +14134,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -14146,7 +14146,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -14158,7 +14158,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -14168,7 +14168,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -14178,7 +14178,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -14203,7 +14203,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -14218,7 +14218,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -14229,7 +14229,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -14241,7 +14241,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -14250,7 +14250,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -14261,7 +14261,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -14270,7 +14270,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -14279,7 +14279,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -14291,7 +14291,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14305,7 +14305,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -14315,7 +14315,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -14329,7 +14329,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -14340,7 +14340,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14379,7 +14379,6 @@ static struct PyModuleDef __pyx_moduledef = { static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_s_All_NaN_slice_encountered, __pyx_k_All_NaN_slice_encountered, sizeof(__pyx_k_All_NaN_slice_encountered), 0, 0, 1, 0}, - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -14393,6 +14392,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__16, __pyx_k__16, sizeof(__pyx_k__16), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -14523,106 +14523,106 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "nanargmin.pyx":524 + /* "nanargmin.pyx":212 * return np.intp(idx) * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "nanargmin.pyx":550 + /* "nanargmin.pyx":238 * return np.intp(idx) * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "nanargmin.pyx":576 + /* "nanargmin.pyx":264 * return np.intp(idx) * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "nanargmin.pyx":608 + /* "nanargmin.pyx":296 * y[i1] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "nanargmin.pyx":641 + /* "nanargmin.pyx":329 * y[i0] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "nanargmin.pyx":674 + /* "nanargmin.pyx":362 * y[i1] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6); - /* "nanargmin.pyx":707 + /* "nanargmin.pyx":395 * y[i0] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7); - /* "nanargmin.pyx":740 + /* "nanargmin.pyx":428 * y[i1] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8); - /* "nanargmin.pyx":773 + /* "nanargmin.pyx":461 * y[i0] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -14633,7 +14633,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -14644,7 +14644,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14655,7 +14655,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__12); __Pyx_GIVEREF(__pyx_tuple__12); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -14666,7 +14666,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14677,7 +14677,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -14709,7 +14709,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__18 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18); - __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":113 * return func(arr) @@ -14721,262 +14721,262 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__20 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__20); __Pyx_GIVEREF(__pyx_tuple__20); - __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_selector, 113, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_selector, 113, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":190 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int array along axis=0 ignoring NaNs." + * def nanargmin_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ __pyx_tuple__22 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22); - __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_1d_int_axis0, 190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_1d_float_axis0, 190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":212 + /* "nanargmin.pyx":216 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + * def nanargmin_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__24 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__24 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__24); __Pyx_GIVEREF(__pyx_tuple__24); - __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_1d_int8_axis0, 212, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_1d_float32_axis0, 216, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":234 + /* "nanargmin.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." + * def nanargmin_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__26 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__26 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__26); __Pyx_GIVEREF(__pyx_tuple__26); - __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_1d_int32_axis0, 234, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_1d_float64_axis0, 242, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":256 + /* "nanargmin.pyx":268 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__28 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__28 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__28); __Pyx_GIVEREF(__pyx_tuple__28); - __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_1d_int64_axis0, 256, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_float_axis0, 268, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":278 + /* "nanargmin.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=0 ignoring NaNs." + * def nanargmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__30 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__30 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30); - __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_int_axis0, 278, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_float_axis1, 301, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":306 + /* "nanargmin.pyx":334 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=1 ignoring NaNs." + * def nanargmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__32 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__32 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__32); __Pyx_GIVEREF(__pyx_tuple__32); - __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_int_axis1, 306, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_float32_axis0, 334, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":334 + /* "nanargmin.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__34 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__34 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__34); __Pyx_GIVEREF(__pyx_tuple__34); - __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_int8_axis0, 334, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_float32_axis1, 367, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":362 + /* "nanargmin.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." + * def nanargmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__36 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__36 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); - __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_int8_axis1, 362, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_float64_axis0, 400, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":390 + /* "nanargmin.pyx":433 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__38 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__38 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__38); __Pyx_GIVEREF(__pyx_tuple__38); - __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_int32_axis0, 390, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_float64_axis1, 433, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":418 + /* "nanargmin.pyx":466 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." + * def nanargmin_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__40 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__40 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__40); __Pyx_GIVEREF(__pyx_tuple__40); - __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_int32_axis1, 418, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_1d_int_axis0, 466, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":446 + /* "nanargmin.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." + * def nanargmin_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__42 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__42 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__42); __Pyx_GIVEREF(__pyx_tuple__42); - __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_int64_axis0, 446, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_1d_int8_axis0, 488, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":474 + /* "nanargmin.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." + * def nanargmin_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__44 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__44 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__44); __Pyx_GIVEREF(__pyx_tuple__44); - __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_int64_axis1, 474, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_1d_int32_axis0, 510, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":502 + /* "nanargmin.pyx":532 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float array along axis=0 ignoring NaNs." + * def nanargmin_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__46 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__46 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__46); __Pyx_GIVEREF(__pyx_tuple__46); - __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_1d_float_axis0, 502, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_1d_int64_axis0, 532, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":528 + /* "nanargmin.pyx":554 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__48 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__48 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__48); __Pyx_GIVEREF(__pyx_tuple__48); - __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_1d_float32_axis0, 528, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_int_axis0, 554, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":554 + /* "nanargmin.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__50 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__50 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__50); __Pyx_GIVEREF(__pyx_tuple__50); - __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_1d_float64_axis0, 554, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_int_axis1, 582, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":580 + /* "nanargmin.pyx":610 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=0 ignoring NaNs." + * def nanargmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__52 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__52 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__52); __Pyx_GIVEREF(__pyx_tuple__52); - __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_float_axis0, 580, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_int8_axis0, 610, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":613 + /* "nanargmin.pyx":638 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=1 ignoring NaNs." + * def nanargmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__54 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__54 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__54); __Pyx_GIVEREF(__pyx_tuple__54); - __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_float_axis1, 613, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_int8_axis1, 638, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":646 + /* "nanargmin.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__56 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__56 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__56); __Pyx_GIVEREF(__pyx_tuple__56); - __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_float32_axis0, 646, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_int32_axis0, 666, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":679 + /* "nanargmin.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." + * def nanargmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__58 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__58 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__58); __Pyx_GIVEREF(__pyx_tuple__58); - __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_float32_axis1, 679, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_int32_axis1, 694, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":712 + /* "nanargmin.pyx":722 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__60 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__60 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__60); __Pyx_GIVEREF(__pyx_tuple__60); - __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_float64_axis0, 712, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_int64_axis0, 722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":745 + /* "nanargmin.pyx":750 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." + * def nanargmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__62 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__62 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__62); __Pyx_GIVEREF(__pyx_tuple__62); - __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_float64_axis1, 745, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_int64_axis1, 750, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":799 - * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 + * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 * * def nanargmin_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanargmin along axis 0." @@ -14985,7 +14985,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__64 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__64); __Pyx_GIVEREF(__pyx_tuple__64); - __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis0, 799, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis0, 799, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":803 * return bn.slow.nanargmin(arr, axis=0) @@ -14997,7 +14997,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__66 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__66); __Pyx_GIVEREF(__pyx_tuple__66); - __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis1, 803, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis1, 803, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":807 * return bn.slow.nanargmin(arr, axis=1) @@ -15009,7 +15009,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__68 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__68); __Pyx_GIVEREF(__pyx_tuple__68); - __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis2, 807, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis2, 807, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":811 * return bn.slow.nanargmin(arr, axis=2) @@ -15021,7 +15021,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__70 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__70); __Pyx_GIVEREF(__pyx_tuple__70); - __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis3, 811, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis3, 811, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":815 * return bn.slow.nanargmin(arr, axis=3) @@ -15033,7 +15033,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__72 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__72); __Pyx_GIVEREF(__pyx_tuple__72); - __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis4, 815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis4, 815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":819 * return bn.slow.nanargmin(arr, axis=4) @@ -15045,7 +15045,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__74 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__74); __Pyx_GIVEREF(__pyx_tuple__74); - __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis5, 819, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis5, 819, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":823 * return bn.slow.nanargmin(arr, axis=5) @@ -15057,7 +15057,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__76 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__76); __Pyx_GIVEREF(__pyx_tuple__76); - __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis6, 823, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis6, 823, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":827 * return bn.slow.nanargmin(arr, axis=6) @@ -15069,7 +15069,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__78 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__78); __Pyx_GIVEREF(__pyx_tuple__78); - __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis7, 827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis7, 827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":831 * return bn.slow.nanargmin(arr, axis=7) @@ -15081,7 +15081,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__80 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__80); __Pyx_GIVEREF(__pyx_tuple__80); - __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis8, 831, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis8, 831, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":835 * return bn.slow.nanargmin(arr, axis=8) @@ -15093,7 +15093,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__82 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__82); __Pyx_GIVEREF(__pyx_tuple__82); - __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis9, 835, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis9, 835, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":839 * return bn.slow.nanargmin(arr, axis=9) @@ -15105,7 +15105,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__84 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__84); __Pyx_GIVEREF(__pyx_tuple__84); - __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis10, 839, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis10, 839, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":843 * return bn.slow.nanargmin(arr, axis=10) @@ -15117,7 +15117,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__86 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__86); __Pyx_GIVEREF(__pyx_tuple__86); - __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis11, 843, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis11, 843, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":847 * return bn.slow.nanargmin(arr, axis=11) @@ -15129,7 +15129,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__88 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__88); __Pyx_GIVEREF(__pyx_tuple__88); - __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis12, 847, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis12, 847, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":851 * return bn.slow.nanargmin(arr, axis=12) @@ -15141,7 +15141,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__90 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__90); __Pyx_GIVEREF(__pyx_tuple__90); - __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis13, 851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis13, 851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":855 * return bn.slow.nanargmin(arr, axis=13) @@ -15153,7 +15153,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__92 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__92); __Pyx_GIVEREF(__pyx_tuple__92); - __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis14, 855, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis14, 855, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":859 * return bn.slow.nanargmin(arr, axis=14) @@ -15165,7 +15165,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__94 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__94); __Pyx_GIVEREF(__pyx_tuple__94); - __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis15, 859, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis15, 859, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":863 * return bn.slow.nanargmin(arr, axis=15) @@ -15177,7 +15177,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__96 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__96); __Pyx_GIVEREF(__pyx_tuple__96); - __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis16, 863, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis16, 863, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":867 * return bn.slow.nanargmin(arr, axis=16) @@ -15189,7 +15189,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__98 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__98); __Pyx_GIVEREF(__pyx_tuple__98); - __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis17, 867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis17, 867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":871 * return bn.slow.nanargmin(arr, axis=17) @@ -15201,7 +15201,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__100 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__100); __Pyx_GIVEREF(__pyx_tuple__100); - __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis18, 871, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis18, 871, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":875 * return bn.slow.nanargmin(arr, axis=18) @@ -15213,7 +15213,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__102 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__102); __Pyx_GIVEREF(__pyx_tuple__102); - __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis19, 875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis19, 875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":879 * return bn.slow.nanargmin(arr, axis=19) @@ -15225,7 +15225,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__104 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__104); __Pyx_GIVEREF(__pyx_tuple__104); - __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis20, 879, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis20, 879, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":883 * return bn.slow.nanargmin(arr, axis=20) @@ -15237,7 +15237,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__106 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__106); __Pyx_GIVEREF(__pyx_tuple__106); - __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis21, 883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis21, 883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":887 * return bn.slow.nanargmin(arr, axis=21) @@ -15249,7 +15249,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__108 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__108); __Pyx_GIVEREF(__pyx_tuple__108); - __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis22, 887, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis22, 887, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":891 * return bn.slow.nanargmin(arr, axis=22) @@ -15261,7 +15261,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__110 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__110); __Pyx_GIVEREF(__pyx_tuple__110); - __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis23, 891, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis23, 891, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":895 * return bn.slow.nanargmin(arr, axis=23) @@ -15273,7 +15273,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__112 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__112); __Pyx_GIVEREF(__pyx_tuple__112); - __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis24, 895, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis24, 895, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":899 * return bn.slow.nanargmin(arr, axis=24) @@ -15285,7 +15285,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__114 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__114); __Pyx_GIVEREF(__pyx_tuple__114); - __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis25, 899, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis25, 899, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":903 * return bn.slow.nanargmin(arr, axis=25) @@ -15297,7 +15297,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__116 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__116); __Pyx_GIVEREF(__pyx_tuple__116); - __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis26, 903, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis26, 903, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":907 * return bn.slow.nanargmin(arr, axis=26) @@ -15309,7 +15309,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__118 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__118); __Pyx_GIVEREF(__pyx_tuple__118); - __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis27, 907, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis27, 907, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":911 * return bn.slow.nanargmin(arr, axis=27) @@ -15321,7 +15321,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__120 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__120); __Pyx_GIVEREF(__pyx_tuple__120); - __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis28, 911, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis28, 911, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":915 * return bn.slow.nanargmin(arr, axis=28) @@ -15333,7 +15333,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__122 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__122); __Pyx_GIVEREF(__pyx_tuple__122); - __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis29, 915, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis29, 915, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":919 * return bn.slow.nanargmin(arr, axis=29) @@ -15345,7 +15345,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__124 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__124); __Pyx_GIVEREF(__pyx_tuple__124); - __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis30, 919, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis30, 919, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":923 * return bn.slow.nanargmin(arr, axis=30) @@ -15357,7 +15357,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__126 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__126); __Pyx_GIVEREF(__pyx_tuple__126); - __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis31, 923, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis31, 923, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":927 * return bn.slow.nanargmin(arr, axis=31) @@ -15369,7 +15369,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__128 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__128); __Pyx_GIVEREF(__pyx_tuple__128); - __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis32, 927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis32, 927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":931 * return bn.slow.nanargmin(arr, axis=32) @@ -15381,7 +15381,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__130 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__130); __Pyx_GIVEREF(__pyx_tuple__130); - __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axisNone, 931, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axisNone, 931, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -16347,261 +16347,261 @@ PyMODINIT_FUNC PyInit_nanargmin(void) /* "nanargmin.pyx":190 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int array along axis=0 ignoring NaNs." + * def nanargmin_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_5nanargmin_1d_int_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_5nanargmin_1d_float_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":212 + /* "nanargmin.pyx":216 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + * def nanargmin_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_7nanargmin_1d_int8_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_7nanargmin_1d_float32_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":234 + /* "nanargmin.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." + * def nanargmin_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_9nanargmin_1d_int32_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_9nanargmin_1d_float64_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":256 + /* "nanargmin.pyx":268 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_11nanargmin_1d_int64_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_11nanargmin_2d_float_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":278 + /* "nanargmin.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=0 ignoring NaNs." + * def nanargmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_13nanargmin_2d_int_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_13nanargmin_2d_float_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":306 + /* "nanargmin.pyx":334 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=1 ignoring NaNs." + * def nanargmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_15nanargmin_2d_int_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_15nanargmin_2d_float32_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":334 + /* "nanargmin.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_17nanargmin_2d_int8_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_17nanargmin_2d_float32_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":362 + /* "nanargmin.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." + * def nanargmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_19nanargmin_2d_int8_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_19nanargmin_2d_float64_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":390 + /* "nanargmin.pyx":433 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_21nanargmin_2d_int32_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_21nanargmin_2d_float64_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":418 + /* "nanargmin.pyx":466 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." + * def nanargmin_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_23nanargmin_2d_int32_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_23nanargmin_1d_int_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":446 + /* "nanargmin.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." + * def nanargmin_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_25nanargmin_2d_int64_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_25nanargmin_1d_int8_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":474 + /* "nanargmin.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." + * def nanargmin_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_27nanargmin_2d_int64_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_27nanargmin_1d_int32_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":502 + /* "nanargmin.pyx":532 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float array along axis=0 ignoring NaNs." + * def nanargmin_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_29nanargmin_1d_float_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_29nanargmin_1d_int64_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":528 + /* "nanargmin.pyx":554 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_31nanargmin_1d_float32_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_31nanargmin_2d_int_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":554 + /* "nanargmin.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_33nanargmin_1d_float64_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_33nanargmin_2d_int_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":580 + /* "nanargmin.pyx":610 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=0 ignoring NaNs." + * def nanargmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_35nanargmin_2d_float_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_35nanargmin_2d_int8_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":613 + /* "nanargmin.pyx":638 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=1 ignoring NaNs." + * def nanargmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_37nanargmin_2d_float_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_37nanargmin_2d_int8_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":646 + /* "nanargmin.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_39nanargmin_2d_float32_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_39nanargmin_2d_int32_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":679 + /* "nanargmin.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." + * def nanargmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_41nanargmin_2d_float32_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_41nanargmin_2d_int32_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":712 + /* "nanargmin.pyx":722 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_43nanargmin_2d_float64_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_43nanargmin_2d_int64_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":745 + /* "nanargmin.pyx":750 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." + * def nanargmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_45nanargmin_2d_float64_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_45nanargmin_2d_int64_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":776 * return y * * cdef dict nanargmin_dict = {} # <<<<<<<<<<<<<< - * nanargmin_dict[(1, NPY_int, 0)] = nanargmin_1d_int_axis0 - * nanargmin_dict[(1, NPY_int8, 0)] = nanargmin_1d_int8_axis0 + * nanargmin_dict[(1, NPY_float, 0)] = nanargmin_1d_float_axis0 + * nanargmin_dict[(1, NPY_float32, 0)] = nanargmin_1d_float32_axis0 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -16613,17 +16613,17 @@ PyMODINIT_FUNC PyInit_nanargmin(void) /* "nanargmin.pyx":777 * * cdef dict nanargmin_dict = {} - * nanargmin_dict[(1, NPY_int, 0)] = nanargmin_1d_int_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(1, NPY_int8, 0)] = nanargmin_1d_int8_axis0 - * nanargmin_dict[(1, NPY_int32, 0)] = nanargmin_1d_int32_axis0 + * nanargmin_dict[(1, NPY_float, 0)] = nanargmin_1d_float_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(1, NPY_float32, 0)] = nanargmin_1d_float32_axis0 + * nanargmin_dict[(1, NPY_float64, 0)] = nanargmin_1d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16642,18 +16642,18 @@ PyMODINIT_FUNC PyInit_nanargmin(void) /* "nanargmin.pyx":778 * cdef dict nanargmin_dict = {} - * nanargmin_dict[(1, NPY_int, 0)] = nanargmin_1d_int_axis0 - * nanargmin_dict[(1, NPY_int8, 0)] = nanargmin_1d_int8_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(1, NPY_int32, 0)] = nanargmin_1d_int32_axis0 - * nanargmin_dict[(1, NPY_int64, 0)] = nanargmin_1d_int64_axis0 + * nanargmin_dict[(1, NPY_float, 0)] = nanargmin_1d_float_axis0 + * nanargmin_dict[(1, NPY_float32, 0)] = nanargmin_1d_float32_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(1, NPY_float64, 0)] = nanargmin_1d_float64_axis0 + * nanargmin_dict[(2, NPY_float, 0)] = nanargmin_2d_float_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16671,19 +16671,19 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":779 - * nanargmin_dict[(1, NPY_int, 0)] = nanargmin_1d_int_axis0 - * nanargmin_dict[(1, NPY_int8, 0)] = nanargmin_1d_int8_axis0 - * nanargmin_dict[(1, NPY_int32, 0)] = nanargmin_1d_int32_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(1, NPY_int64, 0)] = nanargmin_1d_int64_axis0 - * nanargmin_dict[(2, NPY_int, 0)] = nanargmin_2d_int_axis0 + * nanargmin_dict[(1, NPY_float, 0)] = nanargmin_1d_float_axis0 + * nanargmin_dict[(1, NPY_float32, 0)] = nanargmin_1d_float32_axis0 + * nanargmin_dict[(1, NPY_float64, 0)] = nanargmin_1d_float64_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_float, 0)] = nanargmin_2d_float_axis0 + * nanargmin_dict[(2, NPY_float, 1)] = nanargmin_2d_float_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16701,25 +16701,25 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":780 - * nanargmin_dict[(1, NPY_int8, 0)] = nanargmin_1d_int8_axis0 - * nanargmin_dict[(1, NPY_int32, 0)] = nanargmin_1d_int32_axis0 - * nanargmin_dict[(1, NPY_int64, 0)] = nanargmin_1d_int64_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_int, 0)] = nanargmin_2d_int_axis0 - * nanargmin_dict[(2, NPY_int, 1)] = nanargmin_2d_int_axis1 + * nanargmin_dict[(1, NPY_float32, 0)] = nanargmin_1d_float32_axis0 + * nanargmin_dict[(1, NPY_float64, 0)] = nanargmin_1d_float64_axis0 + * nanargmin_dict[(2, NPY_float, 0)] = nanargmin_2d_float_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_float, 1)] = nanargmin_2d_float_axis1 + * nanargmin_dict[(2, NPY_float32, 0)] = nanargmin_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16731,19 +16731,19 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":781 - * nanargmin_dict[(1, NPY_int32, 0)] = nanargmin_1d_int32_axis0 - * nanargmin_dict[(1, NPY_int64, 0)] = nanargmin_1d_int64_axis0 - * nanargmin_dict[(2, NPY_int, 0)] = nanargmin_2d_int_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_int, 1)] = nanargmin_2d_int_axis1 - * nanargmin_dict[(2, NPY_int8, 0)] = nanargmin_2d_int8_axis0 + * nanargmin_dict[(1, NPY_float64, 0)] = nanargmin_1d_float64_axis0 + * nanargmin_dict[(2, NPY_float, 0)] = nanargmin_2d_float_axis0 + * nanargmin_dict[(2, NPY_float, 1)] = nanargmin_2d_float_axis1 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_float32, 0)] = nanargmin_2d_float32_axis0 + * nanargmin_dict[(2, NPY_float32, 1)] = nanargmin_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16752,28 +16752,28 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmin_nanargmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":782 - * nanargmin_dict[(1, NPY_int64, 0)] = nanargmin_1d_int64_axis0 - * nanargmin_dict[(2, NPY_int, 0)] = nanargmin_2d_int_axis0 - * nanargmin_dict[(2, NPY_int, 1)] = nanargmin_2d_int_axis1 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_int8, 0)] = nanargmin_2d_int8_axis0 - * nanargmin_dict[(2, NPY_int8, 1)] = nanargmin_2d_int8_axis1 + * nanargmin_dict[(2, NPY_float, 0)] = nanargmin_2d_float_axis0 + * nanargmin_dict[(2, NPY_float, 1)] = nanargmin_2d_float_axis1 + * nanargmin_dict[(2, NPY_float32, 0)] = nanargmin_2d_float32_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_float32, 1)] = nanargmin_2d_float32_axis1 + * nanargmin_dict[(2, NPY_float64, 0)] = nanargmin_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16782,28 +16782,28 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmin_nanargmin_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":783 - * nanargmin_dict[(2, NPY_int, 0)] = nanargmin_2d_int_axis0 - * nanargmin_dict[(2, NPY_int, 1)] = nanargmin_2d_int_axis1 - * nanargmin_dict[(2, NPY_int8, 0)] = nanargmin_2d_int8_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_int8, 1)] = nanargmin_2d_int8_axis1 - * nanargmin_dict[(2, NPY_int32, 0)] = nanargmin_2d_int32_axis0 + * nanargmin_dict[(2, NPY_float, 1)] = nanargmin_2d_float_axis1 + * nanargmin_dict[(2, NPY_float32, 0)] = nanargmin_2d_float32_axis0 + * nanargmin_dict[(2, NPY_float32, 1)] = nanargmin_2d_float32_axis1 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_float64, 0)] = nanargmin_2d_float64_axis0 + * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16812,28 +16812,28 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmin_nanargmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":784 - * nanargmin_dict[(2, NPY_int, 1)] = nanargmin_2d_int_axis1 - * nanargmin_dict[(2, NPY_int8, 0)] = nanargmin_2d_int8_axis0 - * nanargmin_dict[(2, NPY_int8, 1)] = nanargmin_2d_int8_axis1 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_int32, 0)] = nanargmin_2d_int32_axis0 - * nanargmin_dict[(2, NPY_int32, 1)] = nanargmin_2d_int32_axis1 + * nanargmin_dict[(2, NPY_float32, 0)] = nanargmin_2d_float32_axis0 + * nanargmin_dict[(2, NPY_float32, 1)] = nanargmin_2d_float32_axis1 + * nanargmin_dict[(2, NPY_float64, 0)] = nanargmin_2d_float64_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 + * nanargmin_dict[(1, NPY_int, 0)] = nanargmin_1d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16842,28 +16842,28 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmin_nanargmin_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":785 - * nanargmin_dict[(2, NPY_int8, 0)] = nanargmin_2d_int8_axis0 - * nanargmin_dict[(2, NPY_int8, 1)] = nanargmin_2d_int8_axis1 - * nanargmin_dict[(2, NPY_int32, 0)] = nanargmin_2d_int32_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_int32, 1)] = nanargmin_2d_int32_axis1 - * nanargmin_dict[(2, NPY_int64, 0)] = nanargmin_2d_int64_axis0 + * nanargmin_dict[(2, NPY_float32, 1)] = nanargmin_2d_float32_axis1 + * nanargmin_dict[(2, NPY_float64, 0)] = nanargmin_2d_float64_axis0 + * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanargmin_dict[(1, NPY_int, 0)] = nanargmin_1d_int_axis0 + * nanargmin_dict[(1, NPY_int8, 0)] = nanargmin_1d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16872,64 +16872,64 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmin_nanargmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":786 - * nanargmin_dict[(2, NPY_int8, 1)] = nanargmin_2d_int8_axis1 - * nanargmin_dict[(2, NPY_int32, 0)] = nanargmin_2d_int32_axis0 - * nanargmin_dict[(2, NPY_int32, 1)] = nanargmin_2d_int32_axis1 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_int64, 0)] = nanargmin_2d_int64_axis0 - * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 + * nanargmin_dict[(2, NPY_float64, 0)] = nanargmin_2d_float64_axis0 + * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 + * nanargmin_dict[(1, NPY_int, 0)] = nanargmin_1d_int_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(1, NPY_int8, 0)] = nanargmin_1d_int8_axis0 + * nanargmin_dict[(1, NPY_int32, 0)] = nanargmin_1d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmin_nanargmin_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":787 - * nanargmin_dict[(2, NPY_int32, 0)] = nanargmin_2d_int32_axis0 - * nanargmin_dict[(2, NPY_int32, 1)] = nanargmin_2d_int32_axis1 - * nanargmin_dict[(2, NPY_int64, 0)] = nanargmin_2d_int64_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 - * nanargmin_dict[(1, NPY_float, 0)] = nanargmin_1d_float_axis0 + * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 + * nanargmin_dict[(1, NPY_int, 0)] = nanargmin_1d_int_axis0 + * nanargmin_dict[(1, NPY_int8, 0)] = nanargmin_1d_int8_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(1, NPY_int32, 0)] = nanargmin_1d_int32_axis0 + * nanargmin_dict[(1, NPY_int64, 0)] = nanargmin_1d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -16941,49 +16941,49 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":788 - * nanargmin_dict[(2, NPY_int32, 1)] = nanargmin_2d_int32_axis1 - * nanargmin_dict[(2, NPY_int64, 0)] = nanargmin_2d_int64_axis0 - * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 # <<<<<<<<<<<<<< - * nanargmin_dict[(1, NPY_float, 0)] = nanargmin_1d_float_axis0 - * nanargmin_dict[(1, NPY_float32, 0)] = nanargmin_1d_float32_axis0 + * nanargmin_dict[(1, NPY_int, 0)] = nanargmin_1d_int_axis0 + * nanargmin_dict[(1, NPY_int8, 0)] = nanargmin_1d_int8_axis0 + * nanargmin_dict[(1, NPY_int32, 0)] = nanargmin_1d_int32_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(1, NPY_int64, 0)] = nanargmin_1d_int64_axis0 + * nanargmin_dict[(2, NPY_int, 0)] = nanargmin_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmin_nanargmin_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":789 - * nanargmin_dict[(2, NPY_int64, 0)] = nanargmin_2d_int64_axis0 - * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 - * nanargmin_dict[(1, NPY_float, 0)] = nanargmin_1d_float_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(1, NPY_float32, 0)] = nanargmin_1d_float32_axis0 - * nanargmin_dict[(1, NPY_float64, 0)] = nanargmin_1d_float64_axis0 + * nanargmin_dict[(1, NPY_int8, 0)] = nanargmin_1d_int8_axis0 + * nanargmin_dict[(1, NPY_int32, 0)] = nanargmin_1d_int32_axis0 + * nanargmin_dict[(1, NPY_int64, 0)] = nanargmin_1d_int64_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_int, 0)] = nanargmin_2d_int_axis0 + * nanargmin_dict[(2, NPY_int, 1)] = nanargmin_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17001,25 +17001,25 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":790 - * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 - * nanargmin_dict[(1, NPY_float, 0)] = nanargmin_1d_float_axis0 - * nanargmin_dict[(1, NPY_float32, 0)] = nanargmin_1d_float32_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(1, NPY_float64, 0)] = nanargmin_1d_float64_axis0 - * nanargmin_dict[(2, NPY_float, 0)] = nanargmin_2d_float_axis0 + * nanargmin_dict[(1, NPY_int32, 0)] = nanargmin_1d_int32_axis0 + * nanargmin_dict[(1, NPY_int64, 0)] = nanargmin_1d_int64_axis0 + * nanargmin_dict[(2, NPY_int, 0)] = nanargmin_2d_int_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_int, 1)] = nanargmin_2d_int_axis1 + * nanargmin_dict[(2, NPY_int8, 0)] = nanargmin_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -17031,49 +17031,49 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":791 - * nanargmin_dict[(1, NPY_float, 0)] = nanargmin_1d_float_axis0 - * nanargmin_dict[(1, NPY_float32, 0)] = nanargmin_1d_float32_axis0 - * nanargmin_dict[(1, NPY_float64, 0)] = nanargmin_1d_float64_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_float, 0)] = nanargmin_2d_float_axis0 - * nanargmin_dict[(2, NPY_float, 1)] = nanargmin_2d_float_axis1 + * nanargmin_dict[(1, NPY_int64, 0)] = nanargmin_1d_int64_axis0 + * nanargmin_dict[(2, NPY_int, 0)] = nanargmin_2d_int_axis0 + * nanargmin_dict[(2, NPY_int, 1)] = nanargmin_2d_int_axis1 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_int8, 0)] = nanargmin_2d_int8_axis0 + * nanargmin_dict[(2, NPY_int8, 1)] = nanargmin_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmin_nanargmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":792 - * nanargmin_dict[(1, NPY_float32, 0)] = nanargmin_1d_float32_axis0 - * nanargmin_dict[(1, NPY_float64, 0)] = nanargmin_1d_float64_axis0 - * nanargmin_dict[(2, NPY_float, 0)] = nanargmin_2d_float_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_float, 1)] = nanargmin_2d_float_axis1 - * nanargmin_dict[(2, NPY_float32, 0)] = nanargmin_2d_float32_axis0 + * nanargmin_dict[(2, NPY_int, 0)] = nanargmin_2d_int_axis0 + * nanargmin_dict[(2, NPY_int, 1)] = nanargmin_2d_int_axis1 + * nanargmin_dict[(2, NPY_int8, 0)] = nanargmin_2d_int8_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_int8, 1)] = nanargmin_2d_int8_axis1 + * nanargmin_dict[(2, NPY_int32, 0)] = nanargmin_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17091,19 +17091,19 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":793 - * nanargmin_dict[(1, NPY_float64, 0)] = nanargmin_1d_float64_axis0 - * nanargmin_dict[(2, NPY_float, 0)] = nanargmin_2d_float_axis0 - * nanargmin_dict[(2, NPY_float, 1)] = nanargmin_2d_float_axis1 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_float32, 0)] = nanargmin_2d_float32_axis0 - * nanargmin_dict[(2, NPY_float32, 1)] = nanargmin_2d_float32_axis1 + * nanargmin_dict[(2, NPY_int, 1)] = nanargmin_2d_int_axis1 + * nanargmin_dict[(2, NPY_int8, 0)] = nanargmin_2d_int8_axis0 + * nanargmin_dict[(2, NPY_int8, 1)] = nanargmin_2d_int8_axis1 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_int32, 0)] = nanargmin_2d_int32_axis0 + * nanargmin_dict[(2, NPY_int32, 1)] = nanargmin_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17121,19 +17121,19 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":794 - * nanargmin_dict[(2, NPY_float, 0)] = nanargmin_2d_float_axis0 - * nanargmin_dict[(2, NPY_float, 1)] = nanargmin_2d_float_axis1 - * nanargmin_dict[(2, NPY_float32, 0)] = nanargmin_2d_float32_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_float32, 1)] = nanargmin_2d_float32_axis1 - * nanargmin_dict[(2, NPY_float64, 0)] = nanargmin_2d_float64_axis0 + * nanargmin_dict[(2, NPY_int8, 0)] = nanargmin_2d_int8_axis0 + * nanargmin_dict[(2, NPY_int8, 1)] = nanargmin_2d_int8_axis1 + * nanargmin_dict[(2, NPY_int32, 0)] = nanargmin_2d_int32_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_int32, 1)] = nanargmin_2d_int32_axis1 + * nanargmin_dict[(2, NPY_int64, 0)] = nanargmin_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17151,19 +17151,19 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":795 - * nanargmin_dict[(2, NPY_float, 1)] = nanargmin_2d_float_axis1 - * nanargmin_dict[(2, NPY_float32, 0)] = nanargmin_2d_float32_axis0 - * nanargmin_dict[(2, NPY_float32, 1)] = nanargmin_2d_float32_axis1 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_float64, 0)] = nanargmin_2d_float64_axis0 - * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 + * nanargmin_dict[(2, NPY_int8, 1)] = nanargmin_2d_int8_axis1 + * nanargmin_dict[(2, NPY_int32, 0)] = nanargmin_2d_int32_axis0 + * nanargmin_dict[(2, NPY_int32, 1)] = nanargmin_2d_int32_axis1 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_int64, 0)] = nanargmin_2d_int64_axis0 + * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17181,19 +17181,19 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":796 - * nanargmin_dict[(2, NPY_float32, 0)] = nanargmin_2d_float32_axis0 - * nanargmin_dict[(2, NPY_float32, 1)] = nanargmin_2d_float32_axis1 - * nanargmin_dict[(2, NPY_float64, 0)] = nanargmin_2d_float64_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 + * nanargmin_dict[(2, NPY_int32, 0)] = nanargmin_2d_int32_axis0 + * nanargmin_dict[(2, NPY_int32, 1)] = nanargmin_2d_int32_axis1 + * nanargmin_dict[(2, NPY_int64, 0)] = nanargmin_2d_int64_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17211,19 +17211,19 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":797 - * nanargmin_dict[(2, NPY_float32, 1)] = nanargmin_2d_float32_axis1 - * nanargmin_dict[(2, NPY_float64, 0)] = nanargmin_2d_float64_axis0 - * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_int32, 1)] = nanargmin_2d_int32_axis1 + * nanargmin_dict[(2, NPY_int64, 0)] = nanargmin_2d_int64_axis0 + * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nanargmin_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17241,7 +17241,7 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":799 - * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 + * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 * * def nanargmin_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanargmin along axis 0." @@ -18215,7 +18215,7 @@ PyMODINIT_FUNC PyInit_nanargmin(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/nanequal.c b/bottlechest/src/func/32bit/nanequal.c index a15cbb0762..a675798d80 100644 --- a/bottlechest/src/func/32bit/nanequal.c +++ b/bottlechest/src/func/32bit/nanequal.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1104,14 +1104,14 @@ static __pyx_t_5numpy_float32_t __pyx_v_8nanequal_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_8nanequal_MAXfloat64; static PyObject *__pyx_v_8nanequal_nanequal_dict = 0; static PyObject *__pyx_v_8nanequal_nanequal_slow_dict = 0; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t = { "uint8_t", NULL, sizeof(__pyx_t_5numpy_uint8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_uint8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_uint8_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "nanequal" int __pyx_module_is_main_nanequal = 0; @@ -1123,26 +1123,26 @@ static PyObject *__pyx_builtin_KeyError; static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_pf_8nanequal_nanequal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr1, PyObject *__pyx_v_arr2, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_8nanequal_2nanequal_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr1, PyObject *__pyx_v_arr2, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_8nanequal_4nanequal_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_6nanequal_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_8nanequal_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_10nanequal_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_12nanequal_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_14nanequal_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_16nanequal_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_18nanequal_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_22nanequal_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_24nanequal_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_28nanequal_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_30nanequal_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_32nanequal_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_34nanequal_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_36nanequal_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_38nanequal_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_40nanequal_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_42nanequal_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_4nanequal_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_6nanequal_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_8nanequal_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_10nanequal_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_12nanequal_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_14nanequal_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_16nanequal_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_18nanequal_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_22nanequal_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_24nanequal_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_28nanequal_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_30nanequal_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_32nanequal_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_34nanequal_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_36nanequal_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_38nanequal_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_40nanequal_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_42nanequal_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ static PyObject *__pyx_pf_8nanequal_44nanequal_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr1, PyObject *__pyx_v_arr2); /* proto */ static PyObject *__pyx_pf_8nanequal_46nanequal_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr1, PyObject *__pyx_v_arr2); /* proto */ static PyObject *__pyx_pf_8nanequal_48nanequal_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr1, PyObject *__pyx_v_arr2); /* proto */ @@ -1317,16 +1317,15 @@ static char __pyx_k_nanequal_2d_float64_axisNone[] = "nanequal_2d_float64_axisNo static char __pyx_k_Return_nanequal_function_and_ar[] = "\n Return nanequal function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in bn.nanequal()\n is in checking that `axis` is within range, converting `arr` into an\n array (if it is not already an array), and selecting the function to use.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr1 : array_like\n First input array. If `arr` is not an array, a conversion is attempted.\n arr2 : array_like\n Second input array\n axis : {int, None}, optional\n Axis along which arrays are compared. The default (`axis` = ``None``)\n is to compare flattened arrays. `axis` may be\n negative, in which case it counts from the last to the first axis.\n \n Returns\n -------\n func : function\n The nanequal function that matches the number of dimensions and\n dtype of the input array and the axis.\n a1 : ndarray\n If the input array `arr1` is not a ndarray, then `a1` will contain the\n result of converting `arr1` into a ndarray.\n a2 : ndarray\n Equivalent for arr2.\n\n Examples TODO: PROVIDE EXAMPLES\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine if there are any NaN in `arr`:\n\n >>> func, a = bn.func.nanequal_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine if there are any\n NaNs:\n \n >>> func(a)\n False\n\n "; static char __pyx_k_Test_whether_two_array_are_equa[] = "\n Test whether two array are equal along a given axis, ignoring NaNs.\n\n Returns single boolean unless `axis` is not ``None``.\n\n Parameters\n ----------\n arr1 : array_like\n First input array. If `arr` is not an array, a conversion is attempted.\n arr2 : array_like\n Second input array\n axis : {int, None}, optional\n Axis along which arrays are compared. The default (`axis` = ``None``)\n is to compare flattened arrays. `axis` may be\n negative, in which case it counts from the last to the first axis.\n\n Returns\n -------\n y : bool or ndarray\n A new boolean or `ndarray` is returned.\n\n See also\n --------\n bottlechest.nancmp: Compare two arrays, ignoring NaNs\n\n Examples -- TODO: PROVIDE EXAMPLES!\n --------\n >>> bn.nanequal(1)\n False\n >>> bn.nanequal(np.nan)\n True\n >>> bn.nanequal([1, np.nan])\n True\n >>> a = np.array([[1, 4], [1, np.nan]])\n >>> bn.nanequal(a)\n True\n >>> bn.nanequal(a, axis=0)\n array([False, True], dtype=bool) \n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/nanequal.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\nanequal.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_arrays_have_different_dimensions[] = "arrays have different dimensions, %i != %i"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1340,6 +1339,7 @@ static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_kp_u_Test_whether_two_array_are_equa; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__20; static PyObject *__pyx_n_s_a; @@ -2685,16 +2685,16 @@ static PyObject *__pyx_pf_8nanequal_2nanequal_selector(CYTHON_UNUSED PyObject *_ /* "nanequal.pyx":209 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0." + * def nanequal_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_5nanequal_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_4nanequal_2d_int_axis0[] = "nanequal_2d_int_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_8nanequal_5nanequal_2d_int_axis0 = {"nanequal_2d_int_axis0", (PyCFunction)__pyx_pw_8nanequal_5nanequal_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_4nanequal_2d_int_axis0}; -static PyObject *__pyx_pw_8nanequal_5nanequal_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_5nanequal_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_4nanequal_2d_float_axis0[] = "nanequal_2d_float_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_8nanequal_5nanequal_2d_float_axis0 = {"nanequal_2d_float_axis0", (PyCFunction)__pyx_pw_8nanequal_5nanequal_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_4nanequal_2d_float_axis0}; +static PyObject *__pyx_pw_8nanequal_5nanequal_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -2702,7 +2702,7 @@ static PyObject *__pyx_pw_8nanequal_5nanequal_2d_int_axis0(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -2723,11 +2723,11 @@ static PyObject *__pyx_pw_8nanequal_5nanequal_2d_int_axis0(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -2740,15 +2740,15 @@ static PyObject *__pyx_pw_8nanequal_5nanequal_2d_int_axis0(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_4nanequal_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_4nanequal_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -2759,9 +2759,9 @@ static PyObject *__pyx_pw_8nanequal_5nanequal_2d_int_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_4nanequal_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_4nanequal_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_int_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2789,13 +2789,14 @@ static PyObject *__pyx_pf_8nanequal_4nanequal_2d_int_axis0(CYTHON_UNUSED PyObjec Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - Py_ssize_t __pyx_t_14; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + int __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2810,20 +2811,20 @@ static PyObject *__pyx_pf_8nanequal_4nanequal_2d_int_axis0(CYTHON_UNUSED PyObjec __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":212 - * np.ndarray[np.int_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0." + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int_t ai + * cdef np.float_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -2924,22 +2925,22 @@ static PyObject *__pyx_pf_8nanequal_4nanequal_2d_int_axis0(CYTHON_UNUSED PyObjec * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":226 * for i0 in range(n0): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i1] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = __Pyx_PyInt_From_npy_long((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -2947,30 +2948,50 @@ static PyObject *__pyx_pf_8nanequal_4nanequal_2d_int_axis0(CYTHON_UNUSED PyObjec /* "nanequal.pyx":227 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi: # <<<<<<<<<<<<<< + * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< * y[i1] = 0 * f = 0 */ - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_13) { + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (__pyx_t_14) { + goto __pyx_L9_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L9_next_and:; + __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_14) { + goto __pyx_L10_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L10_next_and:; + __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_12 = __pyx_t_14; + __pyx_L8_bool_binop_done:; + if (__pyx_t_12) { /* "nanequal.pyx":228 * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i1] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_14 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_15 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":229 - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i1] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -2997,8 +3018,8 @@ static PyObject *__pyx_pf_8nanequal_4nanequal_2d_int_axis0(CYTHON_UNUSED PyObjec * y[i1] = 1 * return y */ - __pyx_t_13 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_13) { + __pyx_t_12 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_12) { /* "nanequal.pyx":232 * break @@ -3009,9 +3030,9 @@ static PyObject *__pyx_pf_8nanequal_4nanequal_2d_int_axis0(CYTHON_UNUSED PyObjec */ __pyx_t_6 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; + goto __pyx_L11; } - __pyx_L8:; + __pyx_L11:; } /* "nanequal.pyx":233 @@ -3029,22 +3050,22 @@ static PyObject *__pyx_pf_8nanequal_4nanequal_2d_int_axis0(CYTHON_UNUSED PyObjec /* "nanequal.pyx":209 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0." + * def nanequal_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3062,16 +3083,16 @@ static PyObject *__pyx_pf_8nanequal_4nanequal_2d_int_axis0(CYTHON_UNUSED PyObjec /* "nanequal.pyx":237 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1." + * def nanequal_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_7nanequal_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_6nanequal_2d_int_axis1[] = "nanequal_2d_int_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1."; -static PyMethodDef __pyx_mdef_8nanequal_7nanequal_2d_int_axis1 = {"nanequal_2d_int_axis1", (PyCFunction)__pyx_pw_8nanequal_7nanequal_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_6nanequal_2d_int_axis1}; -static PyObject *__pyx_pw_8nanequal_7nanequal_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_7nanequal_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_6nanequal_2d_float_axis1[] = "nanequal_2d_float_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1."; +static PyMethodDef __pyx_mdef_8nanequal_7nanequal_2d_float_axis1 = {"nanequal_2d_float_axis1", (PyCFunction)__pyx_pw_8nanequal_7nanequal_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_6nanequal_2d_float_axis1}; +static PyObject *__pyx_pw_8nanequal_7nanequal_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -3079,7 +3100,7 @@ static PyObject *__pyx_pw_8nanequal_7nanequal_2d_int_axis1(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_int_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -3100,11 +3121,11 @@ static PyObject *__pyx_pw_8nanequal_7nanequal_2d_int_axis1(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3117,15 +3138,15 @@ static PyObject *__pyx_pw_8nanequal_7nanequal_2d_int_axis1(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_6nanequal_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_6nanequal_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -3136,9 +3157,9 @@ static PyObject *__pyx_pw_8nanequal_7nanequal_2d_int_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_6nanequal_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_6nanequal_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_int_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3166,13 +3187,14 @@ static PyObject *__pyx_pf_8nanequal_6nanequal_2d_int_axis1(CYTHON_UNUSED PyObjec Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - Py_ssize_t __pyx_t_14; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + int __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3187,20 +3209,20 @@ static PyObject *__pyx_pf_8nanequal_6nanequal_2d_int_axis1(CYTHON_UNUSED PyObjec __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":240 - * np.ndarray[np.int_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1." + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int_t ai + * cdef np.float_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -3301,22 +3323,22 @@ static PyObject *__pyx_pf_8nanequal_6nanequal_2d_int_axis1(CYTHON_UNUSED PyObjec * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":254 * for i1 in range(n1): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i0] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = __Pyx_PyInt_From_npy_long((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -3324,30 +3346,50 @@ static PyObject *__pyx_pf_8nanequal_6nanequal_2d_int_axis1(CYTHON_UNUSED PyObjec /* "nanequal.pyx":255 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi: # <<<<<<<<<<<<<< + * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< * y[i0] = 0 * f = 0 */ - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_13) { + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (__pyx_t_14) { + goto __pyx_L9_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L9_next_and:; + __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_14) { + goto __pyx_L10_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L10_next_and:; + __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_12 = __pyx_t_14; + __pyx_L8_bool_binop_done:; + if (__pyx_t_12) { /* "nanequal.pyx":256 * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i0] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_14 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_15 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":257 - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i0] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -3374,8 +3416,8 @@ static PyObject *__pyx_pf_8nanequal_6nanequal_2d_int_axis1(CYTHON_UNUSED PyObjec * y[i0] = 1 * return y */ - __pyx_t_13 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_13) { + __pyx_t_12 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_12) { /* "nanequal.pyx":260 * break @@ -3386,9 +3428,9 @@ static PyObject *__pyx_pf_8nanequal_6nanequal_2d_int_axis1(CYTHON_UNUSED PyObjec */ __pyx_t_6 = __pyx_v_i0; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; + goto __pyx_L11; } - __pyx_L8:; + __pyx_L11:; } /* "nanequal.pyx":261 @@ -3406,22 +3448,22 @@ static PyObject *__pyx_pf_8nanequal_6nanequal_2d_int_axis1(CYTHON_UNUSED PyObjec /* "nanequal.pyx":237 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1." + * def nanequal_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3439,16 +3481,16 @@ static PyObject *__pyx_pf_8nanequal_6nanequal_2d_int_axis1(CYTHON_UNUSED PyObjec /* "nanequal.pyx":265 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0." + * def nanequal_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_9nanequal_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_8nanequal_2d_int8_axis0[] = "nanequal_2d_int8_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_8nanequal_9nanequal_2d_int8_axis0 = {"nanequal_2d_int8_axis0", (PyCFunction)__pyx_pw_8nanequal_9nanequal_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_8nanequal_2d_int8_axis0}; -static PyObject *__pyx_pw_8nanequal_9nanequal_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_9nanequal_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_8nanequal_2d_float32_axis0[] = "nanequal_2d_float32_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_8nanequal_9nanequal_2d_float32_axis0 = {"nanequal_2d_float32_axis0", (PyCFunction)__pyx_pw_8nanequal_9nanequal_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_8nanequal_2d_float32_axis0}; +static PyObject *__pyx_pw_8nanequal_9nanequal_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -3456,7 +3498,7 @@ static PyObject *__pyx_pw_8nanequal_9nanequal_2d_int8_axis0(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -3477,11 +3519,11 @@ static PyObject *__pyx_pw_8nanequal_9nanequal_2d_int8_axis0(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3494,15 +3536,15 @@ static PyObject *__pyx_pw_8nanequal_9nanequal_2d_int8_axis0(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_8nanequal_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_8nanequal_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -3513,9 +3555,9 @@ static PyObject *__pyx_pw_8nanequal_9nanequal_2d_int8_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_8nanequal_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_8nanequal_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_int8_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3543,13 +3585,14 @@ static PyObject *__pyx_pf_8nanequal_8nanequal_2d_int8_axis0(CYTHON_UNUSED PyObje Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - Py_ssize_t __pyx_t_14; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + int __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3564,20 +3607,20 @@ static PyObject *__pyx_pf_8nanequal_8nanequal_2d_int8_axis0(CYTHON_UNUSED PyObje __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":268 - * np.ndarray[np.int8_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0." + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t ai + * cdef np.float32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -3678,22 +3721,22 @@ static PyObject *__pyx_pf_8nanequal_8nanequal_2d_int8_axis0(CYTHON_UNUSED PyObje * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":282 * for i0 in range(n0): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i1] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = __Pyx_PyInt_From_npy_int8((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -3701,30 +3744,50 @@ static PyObject *__pyx_pf_8nanequal_8nanequal_2d_int8_axis0(CYTHON_UNUSED PyObje /* "nanequal.pyx":283 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi: # <<<<<<<<<<<<<< + * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< * y[i1] = 0 * f = 0 */ - __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_13) { + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (__pyx_t_14) { + goto __pyx_L9_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L9_next_and:; + __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_14) { + goto __pyx_L10_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L10_next_and:; + __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_12 = __pyx_t_14; + __pyx_L8_bool_binop_done:; + if (__pyx_t_12) { /* "nanequal.pyx":284 * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i1] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_14 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_15 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":285 - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i1] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -3751,8 +3814,8 @@ static PyObject *__pyx_pf_8nanequal_8nanequal_2d_int8_axis0(CYTHON_UNUSED PyObje * y[i1] = 1 * return y */ - __pyx_t_13 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_13) { + __pyx_t_12 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_12) { /* "nanequal.pyx":288 * break @@ -3763,9 +3826,9 @@ static PyObject *__pyx_pf_8nanequal_8nanequal_2d_int8_axis0(CYTHON_UNUSED PyObje */ __pyx_t_6 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; + goto __pyx_L11; } - __pyx_L8:; + __pyx_L11:; } /* "nanequal.pyx":289 @@ -3783,22 +3846,22 @@ static PyObject *__pyx_pf_8nanequal_8nanequal_2d_int8_axis0(CYTHON_UNUSED PyObje /* "nanequal.pyx":265 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0." + * def nanequal_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3816,16 +3879,16 @@ static PyObject *__pyx_pf_8nanequal_8nanequal_2d_int8_axis0(CYTHON_UNUSED PyObje /* "nanequal.pyx":293 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1." + * def nanequal_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_11nanequal_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_10nanequal_2d_int8_axis1[] = "nanequal_2d_int8_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1."; -static PyMethodDef __pyx_mdef_8nanequal_11nanequal_2d_int8_axis1 = {"nanequal_2d_int8_axis1", (PyCFunction)__pyx_pw_8nanequal_11nanequal_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_10nanequal_2d_int8_axis1}; -static PyObject *__pyx_pw_8nanequal_11nanequal_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_11nanequal_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_10nanequal_2d_float32_axis1[] = "nanequal_2d_float32_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1."; +static PyMethodDef __pyx_mdef_8nanequal_11nanequal_2d_float32_axis1 = {"nanequal_2d_float32_axis1", (PyCFunction)__pyx_pw_8nanequal_11nanequal_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_10nanequal_2d_float32_axis1}; +static PyObject *__pyx_pw_8nanequal_11nanequal_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -3833,7 +3896,7 @@ static PyObject *__pyx_pw_8nanequal_11nanequal_2d_int8_axis1(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_int8_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -3854,11 +3917,11 @@ static PyObject *__pyx_pw_8nanequal_11nanequal_2d_int8_axis1(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3871,15 +3934,15 @@ static PyObject *__pyx_pw_8nanequal_11nanequal_2d_int8_axis1(PyObject *__pyx_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_10nanequal_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_10nanequal_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -3890,9 +3953,9 @@ static PyObject *__pyx_pw_8nanequal_11nanequal_2d_int8_axis1(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_10nanequal_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_10nanequal_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_int8_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3920,13 +3983,14 @@ static PyObject *__pyx_pf_8nanequal_10nanequal_2d_int8_axis1(CYTHON_UNUSED PyObj Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - Py_ssize_t __pyx_t_14; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + int __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3941,20 +4005,20 @@ static PyObject *__pyx_pf_8nanequal_10nanequal_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":296 - * np.ndarray[np.int8_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1." + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t ai + * cdef np.float32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -4055,22 +4119,22 @@ static PyObject *__pyx_pf_8nanequal_10nanequal_2d_int8_axis1(CYTHON_UNUSED PyObj * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":310 * for i1 in range(n1): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i0] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = __Pyx_PyInt_From_npy_int8((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -4078,30 +4142,50 @@ static PyObject *__pyx_pf_8nanequal_10nanequal_2d_int8_axis1(CYTHON_UNUSED PyObj /* "nanequal.pyx":311 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi: # <<<<<<<<<<<<<< + * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< * y[i0] = 0 * f = 0 */ - __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_13) { + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (__pyx_t_14) { + goto __pyx_L9_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L9_next_and:; + __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_14) { + goto __pyx_L10_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L10_next_and:; + __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_12 = __pyx_t_14; + __pyx_L8_bool_binop_done:; + if (__pyx_t_12) { /* "nanequal.pyx":312 * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i0] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_14 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_15 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":313 - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i0] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -4128,8 +4212,8 @@ static PyObject *__pyx_pf_8nanequal_10nanequal_2d_int8_axis1(CYTHON_UNUSED PyObj * y[i0] = 1 * return y */ - __pyx_t_13 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_13) { + __pyx_t_12 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_12) { /* "nanequal.pyx":316 * break @@ -4140,9 +4224,9 @@ static PyObject *__pyx_pf_8nanequal_10nanequal_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_t_6 = __pyx_v_i0; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; + goto __pyx_L11; } - __pyx_L8:; + __pyx_L11:; } /* "nanequal.pyx":317 @@ -4160,22 +4244,22 @@ static PyObject *__pyx_pf_8nanequal_10nanequal_2d_int8_axis1(CYTHON_UNUSED PyObj /* "nanequal.pyx":293 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1." + * def nanequal_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4193,16 +4277,16 @@ static PyObject *__pyx_pf_8nanequal_10nanequal_2d_int8_axis1(CYTHON_UNUSED PyObj /* "nanequal.pyx":321 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0." + * def nanequal_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_13nanequal_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_12nanequal_2d_int32_axis0[] = "nanequal_2d_int32_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_8nanequal_13nanequal_2d_int32_axis0 = {"nanequal_2d_int32_axis0", (PyCFunction)__pyx_pw_8nanequal_13nanequal_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_12nanequal_2d_int32_axis0}; -static PyObject *__pyx_pw_8nanequal_13nanequal_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_13nanequal_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_12nanequal_2d_float64_axis0[] = "nanequal_2d_float64_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_8nanequal_13nanequal_2d_float64_axis0 = {"nanequal_2d_float64_axis0", (PyCFunction)__pyx_pw_8nanequal_13nanequal_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_12nanequal_2d_float64_axis0}; +static PyObject *__pyx_pw_8nanequal_13nanequal_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -4210,7 +4294,7 @@ static PyObject *__pyx_pw_8nanequal_13nanequal_2d_int32_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -4231,11 +4315,11 @@ static PyObject *__pyx_pw_8nanequal_13nanequal_2d_int32_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4248,15 +4332,15 @@ static PyObject *__pyx_pw_8nanequal_13nanequal_2d_int32_axis0(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_12nanequal_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_12nanequal_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -4267,9 +4351,9 @@ static PyObject *__pyx_pw_8nanequal_13nanequal_2d_int32_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_12nanequal_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_12nanequal_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -4297,13 +4381,14 @@ static PyObject *__pyx_pf_8nanequal_12nanequal_2d_int32_axis0(CYTHON_UNUSED PyOb Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - Py_ssize_t __pyx_t_14; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + int __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4318,20 +4403,20 @@ static PyObject *__pyx_pf_8nanequal_12nanequal_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":324 - * np.ndarray[np.int32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0." + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -4432,22 +4517,22 @@ static PyObject *__pyx_pf_8nanequal_12nanequal_2d_int32_axis0(CYTHON_UNUSED PyOb * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":338 * for i0 in range(n0): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i1] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = __Pyx_PyInt_From_npy_int32((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -4455,30 +4540,50 @@ static PyObject *__pyx_pf_8nanequal_12nanequal_2d_int32_axis0(CYTHON_UNUSED PyOb /* "nanequal.pyx":339 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi: # <<<<<<<<<<<<<< + * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< * y[i1] = 0 * f = 0 */ - __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_13) { + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (__pyx_t_14) { + goto __pyx_L9_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L9_next_and:; + __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_14) { + goto __pyx_L10_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L10_next_and:; + __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_12 = __pyx_t_14; + __pyx_L8_bool_binop_done:; + if (__pyx_t_12) { /* "nanequal.pyx":340 * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i1] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_14 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_15 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":341 - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i1] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -4505,8 +4610,8 @@ static PyObject *__pyx_pf_8nanequal_12nanequal_2d_int32_axis0(CYTHON_UNUSED PyOb * y[i1] = 1 * return y */ - __pyx_t_13 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_13) { + __pyx_t_12 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_12) { /* "nanequal.pyx":344 * break @@ -4517,9 +4622,9 @@ static PyObject *__pyx_pf_8nanequal_12nanequal_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_t_6 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; + goto __pyx_L11; } - __pyx_L8:; + __pyx_L11:; } /* "nanequal.pyx":345 @@ -4537,22 +4642,22 @@ static PyObject *__pyx_pf_8nanequal_12nanequal_2d_int32_axis0(CYTHON_UNUSED PyOb /* "nanequal.pyx":321 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0." + * def nanequal_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4570,16 +4675,16 @@ static PyObject *__pyx_pf_8nanequal_12nanequal_2d_int32_axis0(CYTHON_UNUSED PyOb /* "nanequal.pyx":349 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1." + * def nanequal_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_15nanequal_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_14nanequal_2d_int32_axis1[] = "nanequal_2d_int32_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1."; -static PyMethodDef __pyx_mdef_8nanequal_15nanequal_2d_int32_axis1 = {"nanequal_2d_int32_axis1", (PyCFunction)__pyx_pw_8nanequal_15nanequal_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_14nanequal_2d_int32_axis1}; -static PyObject *__pyx_pw_8nanequal_15nanequal_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_15nanequal_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_14nanequal_2d_float64_axis1[] = "nanequal_2d_float64_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1."; +static PyMethodDef __pyx_mdef_8nanequal_15nanequal_2d_float64_axis1 = {"nanequal_2d_float64_axis1", (PyCFunction)__pyx_pw_8nanequal_15nanequal_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_14nanequal_2d_float64_axis1}; +static PyObject *__pyx_pw_8nanequal_15nanequal_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -4587,7 +4692,7 @@ static PyObject *__pyx_pw_8nanequal_15nanequal_2d_int32_axis1(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_int32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -4608,11 +4713,11 @@ static PyObject *__pyx_pw_8nanequal_15nanequal_2d_int32_axis1(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4625,15 +4730,15 @@ static PyObject *__pyx_pw_8nanequal_15nanequal_2d_int32_axis1(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_14nanequal_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_14nanequal_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -4644,9 +4749,9 @@ static PyObject *__pyx_pw_8nanequal_15nanequal_2d_int32_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_14nanequal_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_14nanequal_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -4674,13 +4779,14 @@ static PyObject *__pyx_pf_8nanequal_14nanequal_2d_int32_axis1(CYTHON_UNUSED PyOb Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - Py_ssize_t __pyx_t_14; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + int __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4695,20 +4801,20 @@ static PyObject *__pyx_pf_8nanequal_14nanequal_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":352 - * np.ndarray[np.int32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1." + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -4809,22 +4915,22 @@ static PyObject *__pyx_pf_8nanequal_14nanequal_2d_int32_axis1(CYTHON_UNUSED PyOb * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":366 * for i1 in range(n1): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i0] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = __Pyx_PyInt_From_npy_int32((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -4832,30 +4938,50 @@ static PyObject *__pyx_pf_8nanequal_14nanequal_2d_int32_axis1(CYTHON_UNUSED PyOb /* "nanequal.pyx":367 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi: # <<<<<<<<<<<<<< + * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< * y[i0] = 0 * f = 0 */ - __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_13) { + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (__pyx_t_14) { + goto __pyx_L9_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L9_next_and:; + __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_14) { + goto __pyx_L10_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L10_next_and:; + __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_12 = __pyx_t_14; + __pyx_L8_bool_binop_done:; + if (__pyx_t_12) { /* "nanequal.pyx":368 * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i0] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_14 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_15 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":369 - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i0] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -4882,8 +5008,8 @@ static PyObject *__pyx_pf_8nanequal_14nanequal_2d_int32_axis1(CYTHON_UNUSED PyOb * y[i0] = 1 * return y */ - __pyx_t_13 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_13) { + __pyx_t_12 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_12) { /* "nanequal.pyx":372 * break @@ -4894,9 +5020,9 @@ static PyObject *__pyx_pf_8nanequal_14nanequal_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_t_6 = __pyx_v_i0; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; + goto __pyx_L11; } - __pyx_L8:; + __pyx_L11:; } /* "nanequal.pyx":373 @@ -4914,22 +5040,22 @@ static PyObject *__pyx_pf_8nanequal_14nanequal_2d_int32_axis1(CYTHON_UNUSED PyOb /* "nanequal.pyx":349 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1." + * def nanequal_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4947,16 +5073,16 @@ static PyObject *__pyx_pf_8nanequal_14nanequal_2d_int32_axis1(CYTHON_UNUSED PyOb /* "nanequal.pyx":377 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0." + * def nanequal_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_17nanequal_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_16nanequal_2d_int64_axis0[] = "nanequal_2d_int64_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_8nanequal_17nanequal_2d_int64_axis0 = {"nanequal_2d_int64_axis0", (PyCFunction)__pyx_pw_8nanequal_17nanequal_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_16nanequal_2d_int64_axis0}; -static PyObject *__pyx_pw_8nanequal_17nanequal_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_17nanequal_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_16nanequal_1d_float_axisNone[] = "nanequal_1d_float_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None."; +static PyMethodDef __pyx_mdef_8nanequal_17nanequal_1d_float_axisNone = {"nanequal_1d_float_axisNone", (PyCFunction)__pyx_pw_8nanequal_17nanequal_1d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_16nanequal_1d_float_axisNone}; +static PyObject *__pyx_pw_8nanequal_17nanequal_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -4964,7 +5090,7 @@ static PyObject *__pyx_pw_8nanequal_17nanequal_2d_int64_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_1d_float_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -4985,11 +5111,11 @@ static PyObject *__pyx_pw_8nanequal_17nanequal_2d_int64_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_1d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_1d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5002,15 +5128,15 @@ static PyObject *__pyx_pw_8nanequal_17nanequal_2d_int64_axis0(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_1d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_16nanequal_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_16nanequal_1d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -5021,47 +5147,31 @@ static PyObject *__pyx_pw_8nanequal_17nanequal_2d_int64_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_16nanequal_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { - int __pyx_v_f; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_8nanequal_16nanequal_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { + CYTHON_UNUSED int __pyx_v_f; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_bi = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; __Pyx_Buffer __pyx_pybuffer_b; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - Py_ssize_t __pyx_t_14; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanequal_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -5072,30 +5182,30 @@ static PyObject *__pyx_pf_8nanequal_16nanequal_2d_int64_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; /* "nanequal.pyx":380 - * np.ndarray[np.int64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0." + * np.ndarray[np.float_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.float_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; /* "nanequal.pyx":384 - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); @@ -5103,237 +5213,165 @@ static PyObject *__pyx_pf_8nanequal_16nanequal_2d_int64_axis0(CYTHON_UNUSED PyOb * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); /* "nanequal.pyx":386 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * bi = b[i0] */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanequal.pyx":387 + /* "nanequal.pyx":387 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * bi = b[i0] + * if ai != bi and ai == ai and bi == bi: */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanequal.pyx":388 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i1 in range(n1): + /* "nanequal.pyx":388 + * for i0 in range(n0): + * ai = a[i0] + * bi = b[i0] # <<<<<<<<<<<<<< + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_4 = __pyx_v_i0; + __pyx_t_5 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_4, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_5); + __pyx_t_5 = 0; - /* "nanequal.pyx":390 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * f = 1 - * for i0 in range(n0): + /* "nanequal.pyx":389 + * ai = a[i0] + * bi = b[i0] + * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< + * return np.bool_(False) + * return np.bool_(True) */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_8) { + goto __pyx_L7_next_and; + } else { + __pyx_t_6 = __pyx_t_8; + goto __pyx_L6_bool_binop_done; + } + __pyx_L7_next_and:; + __pyx_t_8 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_8) { + goto __pyx_L8_next_and; + } else { + __pyx_t_6 = __pyx_t_8; + goto __pyx_L6_bool_binop_done; + } + __pyx_L8_next_and:; + __pyx_t_7 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_6 = __pyx_t_8; + __pyx_L6_bool_binop_done:; + if (__pyx_t_6) { - /* "nanequal.pyx":391 - * NPY_BOOL, 0) - * for i1 in range(n1): - * f = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanequal.pyx":390 + * bi = b[i0] + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) # <<<<<<<<<<<<<< + * return np.bool_(True) + * */ - __pyx_v_f = 1; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L0; + } + } - /* "nanequal.pyx":392 - * for i1 in range(n1): - * f = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * bi = b[i0, i1] + /* "nanequal.pyx":391 + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) + * return np.bool_(True) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L0; - /* "nanequal.pyx":393 - * f = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * bi = b[i0, i1] - * if ai != bi: + /* "nanequal.pyx":377 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanequal_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None." */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanequal.pyx":394 - * for i0 in range(n0): - * ai = a[i0, i1] - * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi: - * y[i1] = 0 - */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = __Pyx_PyInt_From_npy_int64((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); - __pyx_t_2 = 0; + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("nanequal.nanequal_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __pyx_L2:; + __Pyx_XDECREF(__pyx_v_bi); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} - /* "nanequal.pyx":395 - * ai = a[i0, i1] - * bi = b[i0, i1] - * if ai != bi: # <<<<<<<<<<<<<< - * y[i1] = 0 - * f = 0 - */ - __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_13) { - - /* "nanequal.pyx":396 - * bi = b[i0, i1] - * if ai != bi: - * y[i1] = 0 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_14 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - - /* "nanequal.pyx":397 - * if ai != bi: - * y[i1] = 0 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; - - /* "nanequal.pyx":398 - * y[i1] = 0 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i1] = 1 - */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; - - /* "nanequal.pyx":399 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i1] = 1 - * return y - */ - __pyx_t_13 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_13) { - - /* "nanequal.pyx":400 - * break - * if f == 1: - * y[i1] = 1 # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "nanequal.pyx":401 - * if f == 1: - * y[i1] = 1 - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "nanequal.pyx":377 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanequal_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0." - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_12); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; - __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - goto __pyx_L2; - __pyx_L0:; - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_bi); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "nanequal.pyx":405 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanequal_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1." +/* "nanequal.pyx":395 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanequal_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_19nanequal_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_18nanequal_2d_int64_axis1[] = "nanequal_2d_int64_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1."; -static PyMethodDef __pyx_mdef_8nanequal_19nanequal_2d_int64_axis1 = {"nanequal_2d_int64_axis1", (PyCFunction)__pyx_pw_8nanequal_19nanequal_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_18nanequal_2d_int64_axis1}; -static PyObject *__pyx_pw_8nanequal_19nanequal_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_19nanequal_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_18nanequal_1d_float32_axisNone[] = "nanequal_1d_float32_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None."; +static PyMethodDef __pyx_mdef_8nanequal_19nanequal_1d_float32_axisNone = {"nanequal_1d_float32_axisNone", (PyCFunction)__pyx_pw_8nanequal_19nanequal_1d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_18nanequal_1d_float32_axisNone}; +static PyObject *__pyx_pw_8nanequal_19nanequal_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -5341,7 +5379,7 @@ static PyObject *__pyx_pw_8nanequal_19nanequal_2d_int64_axis1(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_int64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_1d_float32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -5362,11 +5400,11 @@ static PyObject *__pyx_pw_8nanequal_19nanequal_2d_int64_axis1(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_1d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_1d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5379,15 +5417,15 @@ static PyObject *__pyx_pw_8nanequal_19nanequal_2d_int64_axis1(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_1d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_18nanequal_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8nanequal_18nanequal_1d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -5398,47 +5436,31 @@ static PyObject *__pyx_pw_8nanequal_19nanequal_2d_int64_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_18nanequal_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { - int __pyx_v_f; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_8nanequal_18nanequal_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { + CYTHON_UNUSED int __pyx_v_f; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_bi = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; __Pyx_Buffer __pyx_pybuffer_b; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - Py_ssize_t __pyx_t_14; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanequal_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -5449,268 +5471,196 @@ static PyObject *__pyx_pf_8nanequal_18nanequal_2d_int64_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; - /* "nanequal.pyx":408 - * np.ndarray[np.int64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1." + /* "nanequal.pyx":398 + * np.ndarray[np.float32_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.float32_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "nanequal.pyx":412 - * cdef Py_ssize_t i0, i1 + /* "nanequal.pyx":402 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanequal.pyx":413 + /* "nanequal.pyx":403 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanequal.pyx":414 + /* "nanequal.pyx":404 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanequal.pyx":415 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nanequal.pyx":416 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanequal.pyx":418 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * f = 1 - * for i1 in range(n1): + * ai = a[i0] + * bi = b[i0] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanequal.pyx":419 - * NPY_BOOL, 0) + /* "nanequal.pyx":405 + * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): - * f = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] # <<<<<<<<<<<<<< + * bi = b[i0] + * if ai != bi and ai == ai and bi == bi: */ - __pyx_v_f = 1; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanequal.pyx":420 + /* "nanequal.pyx":406 * for i0 in range(n0): - * f = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * bi = b[i0, i1] - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanequal.pyx":421 - * f = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * bi = b[i0, i1] - * if ai != bi: - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanequal.pyx":422 - * for i1 in range(n1): - * ai = a[i0, i1] - * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi: - * y[i0] = 0 - */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = __Pyx_PyInt_From_npy_int64((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); - __pyx_t_2 = 0; - - /* "nanequal.pyx":423 - * ai = a[i0, i1] - * bi = b[i0, i1] - * if ai != bi: # <<<<<<<<<<<<<< - * y[i0] = 0 - * f = 0 - */ - __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_13) { - - /* "nanequal.pyx":424 - * bi = b[i0, i1] - * if ai != bi: - * y[i0] = 0 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_14 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - - /* "nanequal.pyx":425 - * if ai != bi: - * y[i0] = 0 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: + * ai = a[i0] + * bi = b[i0] # <<<<<<<<<<<<<< + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) */ - __pyx_v_f = 0; + __pyx_t_4 = __pyx_v_i0; + __pyx_t_5 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_4, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_5); + __pyx_t_5 = 0; - /* "nanequal.pyx":426 - * y[i0] = 0 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i0] = 1 + /* "nanequal.pyx":407 + * ai = a[i0] + * bi = b[i0] + * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< + * return np.bool_(False) + * return np.bool_(True) */ - goto __pyx_L6_break; - } + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_8) { + goto __pyx_L7_next_and; + } else { + __pyx_t_6 = __pyx_t_8; + goto __pyx_L6_bool_binop_done; } - __pyx_L6_break:; - - /* "nanequal.pyx":427 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i0] = 1 - * return y - */ - __pyx_t_13 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_13) { + __pyx_L7_next_and:; + __pyx_t_8 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_8) { + goto __pyx_L8_next_and; + } else { + __pyx_t_6 = __pyx_t_8; + goto __pyx_L6_bool_binop_done; + } + __pyx_L8_next_and:; + __pyx_t_7 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_6 = __pyx_t_8; + __pyx_L6_bool_binop_done:; + if (__pyx_t_6) { - /* "nanequal.pyx":428 - * break - * if f == 1: - * y[i0] = 1 # <<<<<<<<<<<<<< - * return y + /* "nanequal.pyx":408 + * bi = b[i0] + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) # <<<<<<<<<<<<<< + * return np.bool_(True) * */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L0; } - __pyx_L8:; } - /* "nanequal.pyx":429 - * if f == 1: - * y[i0] = 1 - * return y # <<<<<<<<<<<<<< + /* "nanequal.pyx":409 + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) + * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "nanequal.pyx":405 + /* "nanequal.pyx":395 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1." + * def nanequal_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_bi); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanequal.pyx":433 +/* "nanequal.pyx":413 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None." + * def nanequal_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_21nanequal_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_20nanequal_1d_float_axisNone[] = "nanequal_1d_float_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None."; -static PyMethodDef __pyx_mdef_8nanequal_21nanequal_1d_float_axisNone = {"nanequal_1d_float_axisNone", (PyCFunction)__pyx_pw_8nanequal_21nanequal_1d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_20nanequal_1d_float_axisNone}; -static PyObject *__pyx_pw_8nanequal_21nanequal_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_21nanequal_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_20nanequal_1d_float64_axisNone[] = "nanequal_1d_float64_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None."; +static PyMethodDef __pyx_mdef_8nanequal_21nanequal_1d_float64_axisNone = {"nanequal_1d_float64_axisNone", (PyCFunction)__pyx_pw_8nanequal_21nanequal_1d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_20nanequal_1d_float64_axisNone}; +static PyObject *__pyx_pw_8nanequal_21nanequal_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -5718,7 +5668,7 @@ static PyObject *__pyx_pw_8nanequal_21nanequal_1d_float_axisNone(PyObject *__pyx int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_1d_float_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_1d_float64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -5739,11 +5689,11 @@ static PyObject *__pyx_pw_8nanequal_21nanequal_1d_float_axisNone(PyObject *__pyx case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_1d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_1d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_1d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_1d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5756,15 +5706,15 @@ static PyObject *__pyx_pw_8nanequal_21nanequal_1d_float_axisNone(PyObject *__pyx } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_1d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_1d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_20nanequal_1d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8nanequal_20nanequal_1d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -5775,9 +5725,9 @@ static PyObject *__pyx_pw_8nanequal_21nanequal_1d_float_axisNone(PyObject *__pyx return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -5799,7 +5749,7 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanequal_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -5810,25 +5760,25 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; - /* "nanequal.pyx":436 - * np.ndarray[np.float_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None." + /* "nanequal.pyx":416 + * np.ndarray[np.float64_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "nanequal.pyx":440 + /* "nanequal.pyx":420 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5837,7 +5787,7 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanequal.pyx":441 + /* "nanequal.pyx":421 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5846,7 +5796,7 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanequal.pyx":442 + /* "nanequal.pyx":422 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5857,7 +5807,7 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanequal.pyx":443 + /* "nanequal.pyx":423 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -5865,9 +5815,9 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P * if ai != bi and ai == ai and bi == bi: */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanequal.pyx":444 + /* "nanequal.pyx":424 * for i0 in range(n0): * ai = a[i0] * bi = b[i0] # <<<<<<<<<<<<<< @@ -5875,23 +5825,23 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P * return np.bool_(False) */ __pyx_t_4 = __pyx_v_i0; - __pyx_t_5 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_4, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_4, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_5); __pyx_t_5 = 0; - /* "nanequal.pyx":445 + /* "nanequal.pyx":425 * ai = a[i0] * bi = b[i0] * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< * return np.bool_(False) * return np.bool_(True) */ - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_8) { goto __pyx_L7_next_and; @@ -5908,14 +5858,14 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P goto __pyx_L6_bool_binop_done; } __pyx_L8_next_and:; - __pyx_t_7 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_6 = __pyx_t_8; __pyx_L6_bool_binop_done:; if (__pyx_t_6) { - /* "nanequal.pyx":446 + /* "nanequal.pyx":426 * bi = b[i0] * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) # <<<<<<<<<<<<<< @@ -5923,12 +5873,12 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_r = __pyx_t_7; @@ -5937,7 +5887,7 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P } } - /* "nanequal.pyx":447 + /* "nanequal.pyx":427 * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< @@ -5945,24 +5895,24 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_r = __pyx_t_7; __pyx_t_7 = 0; goto __pyx_L0; - /* "nanequal.pyx":433 + /* "nanequal.pyx":413 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None." + * def nanequal_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None." */ /* function exit code */ @@ -5974,7 +5924,7 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5987,19 +5937,19 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "nanequal.pyx":451 +/* "nanequal.pyx":431 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None." + * def nanequal_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_23nanequal_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_22nanequal_1d_float32_axisNone[] = "nanequal_1d_float32_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None."; -static PyMethodDef __pyx_mdef_8nanequal_23nanequal_1d_float32_axisNone = {"nanequal_1d_float32_axisNone", (PyCFunction)__pyx_pw_8nanequal_23nanequal_1d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_22nanequal_1d_float32_axisNone}; -static PyObject *__pyx_pw_8nanequal_23nanequal_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_23nanequal_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_22nanequal_2d_float_axisNone[] = "nanequal_2d_float_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None."; +static PyMethodDef __pyx_mdef_8nanequal_23nanequal_2d_float_axisNone = {"nanequal_2d_float_axisNone", (PyCFunction)__pyx_pw_8nanequal_23nanequal_2d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_22nanequal_2d_float_axisNone}; +static PyObject *__pyx_pw_8nanequal_23nanequal_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -6007,7 +5957,7 @@ static PyObject *__pyx_pw_8nanequal_23nanequal_1d_float32_axisNone(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_1d_float32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -6028,11 +5978,11 @@ static PyObject *__pyx_pw_8nanequal_23nanequal_1d_float32_axisNone(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_1d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_1d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6045,15 +5995,15 @@ static PyObject *__pyx_pw_8nanequal_23nanequal_1d_float32_axisNone(PyObject *__p } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_1d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_22nanequal_1d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8nanequal_22nanequal_2d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -6064,12 +6014,14 @@ static PyObject *__pyx_pw_8nanequal_23nanequal_1d_float32_axisNone(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_22nanequal_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_22nanequal_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; PyObject *__pyx_v_bi = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; @@ -6081,14 +6033,18 @@ static PyObject *__pyx_pf_8nanequal_22nanequal_1d_float32_axisNone(CYTHON_UNUSED Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - int __pyx_t_8; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + PyObject *__pyx_t_9 = NULL; + int __pyx_t_10; + PyObject *__pyx_t_11 = NULL; + int __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -6099,171 +6055,194 @@ static PyObject *__pyx_pf_8nanequal_22nanequal_1d_float32_axisNone(CYTHON_UNUSED __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; - /* "nanequal.pyx":454 - * np.ndarray[np.float32_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None." + /* "nanequal.pyx":434 + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai - * cdef Py_ssize_t i0 + * cdef np.float_t ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "nanequal.pyx":458 - * cdef Py_ssize_t i0 + /* "nanequal.pyx":438 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanequal.pyx":459 + /* "nanequal.pyx":439 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanequal.pyx":460 + /* "nanequal.pyx":440 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanequal.pyx":441 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * bi = b[i0] + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanequal.pyx":461 - * cdef Py_ssize_t n0 = dim[0] + /* "nanequal.pyx":442 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * bi = b[i0] - * if ai != bi and ai == ai and bi == bi: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * bi = b[i0, i1] */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanequal.pyx":462 + /* "nanequal.pyx":443 * for i0 in range(n0): - * ai = a[i0] - * bi = b[i0] # <<<<<<<<<<<<<< - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * bi = b[i0, i1] + * if ai != bi and ai == ai and bi == bi: */ - __pyx_t_4 = __pyx_v_i0; - __pyx_t_5 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_4, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_5); - __pyx_t_5 = 0; + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanequal.pyx":463 - * ai = a[i0] - * bi = b[i0] - * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< - * return np.bool_(False) + /* "nanequal.pyx":444 + * for i1 in range(n1): + * ai = a[i0, i1] + * bi = b[i0, i1] # <<<<<<<<<<<<<< + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) + */ + __pyx_t_7 = __pyx_v_i0; + __pyx_t_8 = __pyx_v_i1; + __pyx_t_9 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_9); + __pyx_t_9 = 0; + + /* "nanequal.pyx":445 + * ai = a[i0, i1] + * bi = b[i0, i1] + * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< + * return np.bool_(False) * return np.bool_(True) */ - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (__pyx_t_8) { - goto __pyx_L7_next_and; - } else { - __pyx_t_6 = __pyx_t_8; - goto __pyx_L6_bool_binop_done; - } - __pyx_L7_next_and:; - __pyx_t_8 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_8) { - goto __pyx_L8_next_and; - } else { - __pyx_t_6 = __pyx_t_8; - goto __pyx_L6_bool_binop_done; - } - __pyx_L8_next_and:; - __pyx_t_7 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_6 = __pyx_t_8; - __pyx_L6_bool_binop_done:; - if (__pyx_t_6) { + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_11 = PyObject_RichCompare(__pyx_t_9, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (__pyx_t_12) { + goto __pyx_L9_next_and; + } else { + __pyx_t_10 = __pyx_t_12; + goto __pyx_L8_bool_binop_done; + } + __pyx_L9_next_and:; + __pyx_t_12 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_12) { + goto __pyx_L10_next_and; + } else { + __pyx_t_10 = __pyx_t_12; + goto __pyx_L8_bool_binop_done; + } + __pyx_L10_next_and:; + __pyx_t_11 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_10 = __pyx_t_12; + __pyx_L8_bool_binop_done:; + if (__pyx_t_10) { - /* "nanequal.pyx":464 - * bi = b[i0] - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) # <<<<<<<<<<<<<< + /* "nanequal.pyx":446 + * bi = b[i0, i1] + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_11; + __pyx_t_11 = 0; + goto __pyx_L0; + } } } - /* "nanequal.pyx":465 - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) + /* "nanequal.pyx":447 + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_11; + __pyx_t_11 = 0; goto __pyx_L0; - /* "nanequal.pyx":451 + /* "nanequal.pyx":431 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None." + * def nanequal_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6276,19 +6255,19 @@ static PyObject *__pyx_pf_8nanequal_22nanequal_1d_float32_axisNone(CYTHON_UNUSED return __pyx_r; } -/* "nanequal.pyx":469 +/* "nanequal.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None." + * def nanequal_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_25nanequal_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_24nanequal_1d_float64_axisNone[] = "nanequal_1d_float64_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None."; -static PyMethodDef __pyx_mdef_8nanequal_25nanequal_1d_float64_axisNone = {"nanequal_1d_float64_axisNone", (PyCFunction)__pyx_pw_8nanequal_25nanequal_1d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_24nanequal_1d_float64_axisNone}; -static PyObject *__pyx_pw_8nanequal_25nanequal_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_25nanequal_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_24nanequal_2d_float32_axisNone[] = "nanequal_2d_float32_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None."; +static PyMethodDef __pyx_mdef_8nanequal_25nanequal_2d_float32_axisNone = {"nanequal_2d_float32_axisNone", (PyCFunction)__pyx_pw_8nanequal_25nanequal_2d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_24nanequal_2d_float32_axisNone}; +static PyObject *__pyx_pw_8nanequal_25nanequal_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -6296,7 +6275,7 @@ static PyObject *__pyx_pw_8nanequal_25nanequal_1d_float64_axisNone(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_1d_float64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -6317,11 +6296,11 @@ static PyObject *__pyx_pw_8nanequal_25nanequal_1d_float64_axisNone(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_1d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_1d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6334,15 +6313,15 @@ static PyObject *__pyx_pw_8nanequal_25nanequal_1d_float64_axisNone(PyObject *__p } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_1d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_24nanequal_1d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8nanequal_24nanequal_2d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -6353,12 +6332,14 @@ static PyObject *__pyx_pw_8nanequal_25nanequal_1d_float64_axisNone(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_24nanequal_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_24nanequal_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; PyObject *__pyx_v_bi = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; @@ -6370,14 +6351,18 @@ static PyObject *__pyx_pf_8nanequal_24nanequal_1d_float64_axisNone(CYTHON_UNUSED Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - int __pyx_t_8; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + PyObject *__pyx_t_9 = NULL; + int __pyx_t_10; + PyObject *__pyx_t_11 = NULL; + int __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_1d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -6388,171 +6373,194 @@ static PyObject *__pyx_pf_8nanequal_24nanequal_1d_float64_axisNone(CYTHON_UNUSED __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; - /* "nanequal.pyx":472 - * np.ndarray[np.float64_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None." + /* "nanequal.pyx":454 + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai - * cdef Py_ssize_t i0 + * cdef np.float32_t ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "nanequal.pyx":476 - * cdef Py_ssize_t i0 + /* "nanequal.pyx":458 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanequal.pyx":477 + /* "nanequal.pyx":459 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanequal.pyx":478 + /* "nanequal.pyx":460 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanequal.pyx":461 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * bi = b[i0] + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanequal.pyx":479 - * cdef Py_ssize_t n0 = dim[0] + /* "nanequal.pyx":462 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * bi = b[i0] - * if ai != bi and ai == ai and bi == bi: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * bi = b[i0, i1] */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanequal.pyx":480 + /* "nanequal.pyx":463 * for i0 in range(n0): - * ai = a[i0] - * bi = b[i0] # <<<<<<<<<<<<<< - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * bi = b[i0, i1] + * if ai != bi and ai == ai and bi == bi: */ - __pyx_t_4 = __pyx_v_i0; - __pyx_t_5 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_4, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_5); - __pyx_t_5 = 0; + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanequal.pyx":481 - * ai = a[i0] - * bi = b[i0] - * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< - * return np.bool_(False) + /* "nanequal.pyx":464 + * for i1 in range(n1): + * ai = a[i0, i1] + * bi = b[i0, i1] # <<<<<<<<<<<<<< + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) + */ + __pyx_t_7 = __pyx_v_i0; + __pyx_t_8 = __pyx_v_i1; + __pyx_t_9 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_9); + __pyx_t_9 = 0; + + /* "nanequal.pyx":465 + * ai = a[i0, i1] + * bi = b[i0, i1] + * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< + * return np.bool_(False) * return np.bool_(True) */ - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (__pyx_t_8) { - goto __pyx_L7_next_and; - } else { - __pyx_t_6 = __pyx_t_8; - goto __pyx_L6_bool_binop_done; - } - __pyx_L7_next_and:; - __pyx_t_8 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_8) { - goto __pyx_L8_next_and; - } else { - __pyx_t_6 = __pyx_t_8; - goto __pyx_L6_bool_binop_done; - } - __pyx_L8_next_and:; - __pyx_t_7 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_6 = __pyx_t_8; - __pyx_L6_bool_binop_done:; - if (__pyx_t_6) { + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_11 = PyObject_RichCompare(__pyx_t_9, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (__pyx_t_12) { + goto __pyx_L9_next_and; + } else { + __pyx_t_10 = __pyx_t_12; + goto __pyx_L8_bool_binop_done; + } + __pyx_L9_next_and:; + __pyx_t_12 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_12) { + goto __pyx_L10_next_and; + } else { + __pyx_t_10 = __pyx_t_12; + goto __pyx_L8_bool_binop_done; + } + __pyx_L10_next_and:; + __pyx_t_11 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_10 = __pyx_t_12; + __pyx_L8_bool_binop_done:; + if (__pyx_t_10) { - /* "nanequal.pyx":482 - * bi = b[i0] - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) # <<<<<<<<<<<<<< + /* "nanequal.pyx":466 + * bi = b[i0, i1] + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_11; + __pyx_t_11 = 0; + goto __pyx_L0; + } } } - /* "nanequal.pyx":483 - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) + /* "nanequal.pyx":467 + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_11; + __pyx_t_11 = 0; goto __pyx_L0; - /* "nanequal.pyx":469 + /* "nanequal.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None." + * def nanequal_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6565,19 +6573,19 @@ static PyObject *__pyx_pf_8nanequal_24nanequal_1d_float64_axisNone(CYTHON_UNUSED return __pyx_r; } -/* "nanequal.pyx":487 +/* "nanequal.pyx":471 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None." + * def nanequal_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_27nanequal_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_26nanequal_2d_float_axisNone[] = "nanequal_2d_float_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None."; -static PyMethodDef __pyx_mdef_8nanequal_27nanequal_2d_float_axisNone = {"nanequal_2d_float_axisNone", (PyCFunction)__pyx_pw_8nanequal_27nanequal_2d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_26nanequal_2d_float_axisNone}; -static PyObject *__pyx_pw_8nanequal_27nanequal_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_27nanequal_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_26nanequal_2d_float64_axisNone[] = "nanequal_2d_float64_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None."; +static PyMethodDef __pyx_mdef_8nanequal_27nanequal_2d_float64_axisNone = {"nanequal_2d_float64_axisNone", (PyCFunction)__pyx_pw_8nanequal_27nanequal_2d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_26nanequal_2d_float64_axisNone}; +static PyObject *__pyx_pw_8nanequal_27nanequal_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -6585,7 +6593,7 @@ static PyObject *__pyx_pw_8nanequal_27nanequal_2d_float_axisNone(PyObject *__pyx int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_float_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -6606,11 +6614,11 @@ static PyObject *__pyx_pw_8nanequal_27nanequal_2d_float_axisNone(PyObject *__pyx case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6623,15 +6631,15 @@ static PyObject *__pyx_pw_8nanequal_27nanequal_2d_float_axisNone(PyObject *__pyx } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_26nanequal_2d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8nanequal_26nanequal_2d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -6642,9 +6650,9 @@ static PyObject *__pyx_pw_8nanequal_27nanequal_2d_float_axisNone(PyObject *__pyx return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -6672,7 +6680,7 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -6683,25 +6691,25 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; - - /* "nanequal.pyx":490 - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None." + + /* "nanequal.pyx":474 + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "nanequal.pyx":494 + /* "nanequal.pyx":478 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6710,7 +6718,7 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanequal.pyx":495 + /* "nanequal.pyx":479 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -6719,7 +6727,7 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanequal.pyx":496 + /* "nanequal.pyx":480 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -6728,7 +6736,7 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanequal.pyx":497 + /* "nanequal.pyx":481 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -6739,7 +6747,7 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanequal.pyx":498 + /* "nanequal.pyx":482 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -6750,7 +6758,7 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "nanequal.pyx":499 + /* "nanequal.pyx":483 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -6759,9 +6767,9 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_t_5 = __pyx_v_i0; __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanequal.pyx":500 + /* "nanequal.pyx":484 * for i1 in range(n1): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< @@ -6770,23 +6778,23 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_t_7 = __pyx_v_i0; __pyx_t_8 = __pyx_v_i1; - __pyx_t_9 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_9); __pyx_t_9 = 0; - /* "nanequal.pyx":501 + /* "nanequal.pyx":485 * ai = a[i0, i1] * bi = b[i0, i1] * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< * return np.bool_(False) * return np.bool_(True) */ - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = PyObject_RichCompare(__pyx_t_9, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyObject_RichCompare(__pyx_t_9, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_12) { goto __pyx_L9_next_and; @@ -6803,14 +6811,14 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P goto __pyx_L8_bool_binop_done; } __pyx_L10_next_and:; - __pyx_t_11 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_10 = __pyx_t_12; __pyx_L8_bool_binop_done:; if (__pyx_t_10) { - /* "nanequal.pyx":502 + /* "nanequal.pyx":486 * bi = b[i0, i1] * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) # <<<<<<<<<<<<<< @@ -6818,12 +6826,12 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_11; @@ -6833,7 +6841,7 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P } } - /* "nanequal.pyx":503 + /* "nanequal.pyx":487 * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< @@ -6841,24 +6849,24 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_11; __pyx_t_11 = 0; goto __pyx_L0; - /* "nanequal.pyx":487 + /* "nanequal.pyx":471 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None." + * def nanequal_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None." */ /* function exit code */ @@ -6870,7 +6878,7 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6883,19 +6891,19 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "nanequal.pyx":507 +/* "nanequal.pyx":491 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None." + * def nanequal_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_29nanequal_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_28nanequal_2d_float32_axisNone[] = "nanequal_2d_float32_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None."; -static PyMethodDef __pyx_mdef_8nanequal_29nanequal_2d_float32_axisNone = {"nanequal_2d_float32_axisNone", (PyCFunction)__pyx_pw_8nanequal_29nanequal_2d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_28nanequal_2d_float32_axisNone}; -static PyObject *__pyx_pw_8nanequal_29nanequal_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_29nanequal_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_28nanequal_2d_int_axis0[] = "nanequal_2d_int_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_8nanequal_29nanequal_2d_int_axis0 = {"nanequal_2d_int_axis0", (PyCFunction)__pyx_pw_8nanequal_29nanequal_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_28nanequal_2d_int_axis0}; +static PyObject *__pyx_pw_8nanequal_29nanequal_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -6903,7 +6911,7 @@ static PyObject *__pyx_pw_8nanequal_29nanequal_2d_float32_axisNone(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_float32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -6924,11 +6932,11 @@ static PyObject *__pyx_pw_8nanequal_29nanequal_2d_float32_axisNone(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6941,15 +6949,15 @@ static PyObject *__pyx_pw_8nanequal_29nanequal_2d_float32_axisNone(PyObject *__p } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_28nanequal_2d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8nanequal_28nanequal_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -6960,37 +6968,47 @@ static PyObject *__pyx_pw_8nanequal_29nanequal_2d_float32_axisNone(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_28nanequal_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { - CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_8nanequal_28nanequal_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { + int __pyx_v_f; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_bi = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; __Pyx_Buffer __pyx_pybuffer_b; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; - PyObject *__pyx_t_9 = NULL; - int __pyx_t_10; - PyObject *__pyx_t_11 = NULL; - int __pyx_t_12; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -7001,25 +7019,25 @@ static PyObject *__pyx_pf_8nanequal_28nanequal_2d_float32_axisNone(CYTHON_UNUSED __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; - /* "nanequal.pyx":510 - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None." + /* "nanequal.pyx":494 + * np.ndarray[np.int_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai + * cdef np.int_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "nanequal.pyx":514 + /* "nanequal.pyx":498 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7028,192 +7046,241 @@ static PyObject *__pyx_pf_8nanequal_28nanequal_2d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanequal.pyx":515 + /* "nanequal.pyx":499 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanequal.pyx":516 + /* "nanequal.pyx":500 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanequal.pyx":517 + /* "nanequal.pyx":501 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanequal.pyx":518 + /* "nanequal.pyx":502 * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanequal.pyx":504 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * f = 1 + * for i0 in range(n0): + */ + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "nanequal.pyx":505 + * NPY_BOOL, 0) + * for i1 in range(n1): + * f = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_f = 1; + + /* "nanequal.pyx":506 + * for i1 in range(n1): + * f = 1 + * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * bi = b[i0, i1] */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanequal.pyx":519 - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanequal.pyx":507 + * f = 1 + * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanequal.pyx":520 - * for i1 in range(n1): + /* "nanequal.pyx":508 + * for i0 in range(n0): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) + * if ai != bi: + * y[i1] = 0 */ - __pyx_t_7 = __pyx_v_i0; - __pyx_t_8 = __pyx_v_i1; - __pyx_t_9 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_9); - __pyx_t_9 = 0; + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_t_2 = __Pyx_PyInt_From_npy_long((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); + __pyx_t_2 = 0; - /* "nanequal.pyx":521 + /* "nanequal.pyx":509 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< - * return np.bool_(False) - * return np.bool_(True) + * if ai != bi: # <<<<<<<<<<<<<< + * y[i1] = 0 + * f = 0 */ - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = PyObject_RichCompare(__pyx_t_9, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_12) { - goto __pyx_L9_next_and; - } else { - __pyx_t_10 = __pyx_t_12; - goto __pyx_L8_bool_binop_done; - } - __pyx_L9_next_and:; - __pyx_t_12 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_12) { - goto __pyx_L10_next_and; - } else { - __pyx_t_10 = __pyx_t_12; - goto __pyx_L8_bool_binop_done; - } - __pyx_L10_next_and:; - __pyx_t_11 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_10 = __pyx_t_12; - __pyx_L8_bool_binop_done:; - if (__pyx_t_10) { + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_13) { - /* "nanequal.pyx":522 + /* "nanequal.pyx":510 * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) # <<<<<<<<<<<<<< - * return np.bool_(True) - * + * if ai != bi: + * y[i1] = 0 # <<<<<<<<<<<<<< + * f = 0 + * break */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_11; - __pyx_t_11 = 0; - goto __pyx_L0; + __pyx_t_14 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + + /* "nanequal.pyx":511 + * if ai != bi: + * y[i1] = 0 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "nanequal.pyx":512 + * y[i1] = 0 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i1] = 1 + */ + goto __pyx_L6_break; } } + __pyx_L6_break:; + + /* "nanequal.pyx":513 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i1] = 1 + * return y + */ + __pyx_t_13 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_13) { + + /* "nanequal.pyx":514 + * break + * if f == 1: + * y[i1] = 1 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + goto __pyx_L8; + } + __pyx_L8:; } - /* "nanequal.pyx":523 - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) - * return np.bool_(True) # <<<<<<<<<<<<<< + /* "nanequal.pyx":515 + * if f == 1: + * y[i1] = 1 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_11; - __pyx_t_11 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanequal.pyx":507 + /* "nanequal.pyx":491 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None." + * def nanequal_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_bi); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanequal.pyx":527 +/* "nanequal.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None." + * def nanequal_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_31nanequal_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_30nanequal_2d_float64_axisNone[] = "nanequal_2d_float64_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None."; -static PyMethodDef __pyx_mdef_8nanequal_31nanequal_2d_float64_axisNone = {"nanequal_2d_float64_axisNone", (PyCFunction)__pyx_pw_8nanequal_31nanequal_2d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_30nanequal_2d_float64_axisNone}; -static PyObject *__pyx_pw_8nanequal_31nanequal_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_31nanequal_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_30nanequal_2d_int_axis1[] = "nanequal_2d_int_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1."; +static PyMethodDef __pyx_mdef_8nanequal_31nanequal_2d_int_axis1 = {"nanequal_2d_int_axis1", (PyCFunction)__pyx_pw_8nanequal_31nanequal_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_30nanequal_2d_int_axis1}; +static PyObject *__pyx_pw_8nanequal_31nanequal_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -7221,7 +7288,7 @@ static PyObject *__pyx_pw_8nanequal_31nanequal_2d_float64_axisNone(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_float64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -7242,11 +7309,11 @@ static PyObject *__pyx_pw_8nanequal_31nanequal_2d_float64_axisNone(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7259,15 +7326,15 @@ static PyObject *__pyx_pw_8nanequal_31nanequal_2d_float64_axisNone(PyObject *__p } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_30nanequal_2d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8nanequal_30nanequal_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -7278,37 +7345,47 @@ static PyObject *__pyx_pw_8nanequal_31nanequal_2d_float64_axisNone(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_30nanequal_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { - CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_8nanequal_30nanequal_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { + int __pyx_v_f; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_bi = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; __Pyx_Buffer __pyx_pybuffer_b; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; - PyObject *__pyx_t_9 = NULL; - int __pyx_t_10; - PyObject *__pyx_t_11 = NULL; - int __pyx_t_12; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -7319,25 +7396,25 @@ static PyObject *__pyx_pf_8nanequal_30nanequal_2d_float64_axisNone(CYTHON_UNUSED __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; - /* "nanequal.pyx":530 - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None." + /* "nanequal.pyx":522 + * np.ndarray[np.int_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai + * cdef np.int_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "nanequal.pyx":534 + /* "nanequal.pyx":526 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7346,173 +7423,222 @@ static PyObject *__pyx_pf_8nanequal_30nanequal_2d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanequal.pyx":535 + /* "nanequal.pyx":527 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanequal.pyx":536 + /* "nanequal.pyx":528 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanequal.pyx":537 + /* "nanequal.pyx":529 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "nanequal.pyx":530 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanequal.pyx":532 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< + * f = 1 + * for i1 in range(n1): + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; + + /* "nanequal.pyx":533 + * NPY_BOOL, 0) + * for i0 in range(n0): + * f = 1 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_f = 1; - /* "nanequal.pyx":538 - * cdef Py_ssize_t n1 = dim[1] + /* "nanequal.pyx":534 * for i0 in range(n0): + * f = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * bi = b[i0, i1] */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanequal.pyx":539 - * for i0 in range(n0): + /* "nanequal.pyx":535 + * f = 1 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanequal.pyx":540 + /* "nanequal.pyx":536 * for i1 in range(n1): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) + * if ai != bi: + * y[i0] = 0 */ - __pyx_t_7 = __pyx_v_i0; - __pyx_t_8 = __pyx_v_i1; - __pyx_t_9 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_9); - __pyx_t_9 = 0; + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_t_2 = __Pyx_PyInt_From_npy_long((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); + __pyx_t_2 = 0; - /* "nanequal.pyx":541 + /* "nanequal.pyx":537 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< - * return np.bool_(False) - * return np.bool_(True) + * if ai != bi: # <<<<<<<<<<<<<< + * y[i0] = 0 + * f = 0 */ - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = PyObject_RichCompare(__pyx_t_9, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_12) { - goto __pyx_L9_next_and; - } else { - __pyx_t_10 = __pyx_t_12; - goto __pyx_L8_bool_binop_done; - } - __pyx_L9_next_and:; - __pyx_t_12 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_12) { - goto __pyx_L10_next_and; - } else { - __pyx_t_10 = __pyx_t_12; - goto __pyx_L8_bool_binop_done; - } - __pyx_L10_next_and:; - __pyx_t_11 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_10 = __pyx_t_12; - __pyx_L8_bool_binop_done:; - if (__pyx_t_10) { + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_13) { - /* "nanequal.pyx":542 + /* "nanequal.pyx":538 * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) # <<<<<<<<<<<<<< - * return np.bool_(True) - * + * if ai != bi: + * y[i0] = 0 # <<<<<<<<<<<<<< + * f = 0 + * break */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_11; - __pyx_t_11 = 0; - goto __pyx_L0; + __pyx_t_14 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + + /* "nanequal.pyx":539 + * if ai != bi: + * y[i0] = 0 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "nanequal.pyx":540 + * y[i0] = 0 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i0] = 1 + */ + goto __pyx_L6_break; } } + __pyx_L6_break:; + + /* "nanequal.pyx":541 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i0] = 1 + * return y + */ + __pyx_t_13 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_13) { + + /* "nanequal.pyx":542 + * break + * if f == 1: + * y[i0] = 1 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + goto __pyx_L8; + } + __pyx_L8:; } /* "nanequal.pyx":543 - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) - * return np.bool_(True) # <<<<<<<<<<<<<< + * if f == 1: + * y[i0] = 1 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_11; - __pyx_t_11 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanequal.pyx":527 + /* "nanequal.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None." + * def nanequal_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_bi); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); @@ -7522,16 +7648,16 @@ static PyObject *__pyx_pf_8nanequal_30nanequal_2d_float64_axisNone(CYTHON_UNUSED /* "nanequal.pyx":547 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0." + * def nanequal_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_33nanequal_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_32nanequal_2d_float_axis0[] = "nanequal_2d_float_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_8nanequal_33nanequal_2d_float_axis0 = {"nanequal_2d_float_axis0", (PyCFunction)__pyx_pw_8nanequal_33nanequal_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_32nanequal_2d_float_axis0}; -static PyObject *__pyx_pw_8nanequal_33nanequal_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_33nanequal_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_32nanequal_2d_int8_axis0[] = "nanequal_2d_int8_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_8nanequal_33nanequal_2d_int8_axis0 = {"nanequal_2d_int8_axis0", (PyCFunction)__pyx_pw_8nanequal_33nanequal_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_32nanequal_2d_int8_axis0}; +static PyObject *__pyx_pw_8nanequal_33nanequal_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -7539,7 +7665,7 @@ static PyObject *__pyx_pw_8nanequal_33nanequal_2d_float_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int8_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -7560,11 +7686,11 @@ static PyObject *__pyx_pw_8nanequal_33nanequal_2d_float_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7577,15 +7703,15 @@ static PyObject *__pyx_pw_8nanequal_33nanequal_2d_float_axis0(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_32nanequal_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_32nanequal_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -7596,9 +7722,9 @@ static PyObject *__pyx_pw_8nanequal_33nanequal_2d_float_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_32nanequal_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_32nanequal_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -7626,14 +7752,13 @@ static PyObject *__pyx_pf_8nanequal_32nanequal_2d_float_axis0(CYTHON_UNUSED PyOb Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - int __pyx_t_14; - Py_ssize_t __pyx_t_15; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_float_axis0", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int8_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -7648,20 +7773,20 @@ static PyObject *__pyx_pf_8nanequal_32nanequal_2d_float_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":550 - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0." + * np.ndarray[np.int8_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai + * cdef np.int8_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -7762,22 +7887,22 @@ static PyObject *__pyx_pf_8nanequal_32nanequal_2d_float_axis0(CYTHON_UNUSED PyOb * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":564 * for i0 in range(n0): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i1] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int8((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -7785,50 +7910,30 @@ static PyObject *__pyx_pf_8nanequal_32nanequal_2d_float_axis0(CYTHON_UNUSED PyOb /* "nanequal.pyx":565 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< + * if ai != bi: # <<<<<<<<<<<<<< * y[i1] = 0 * f = 0 */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__pyx_t_14) { - goto __pyx_L9_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L9_next_and:; - __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_14) { - goto __pyx_L10_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L10_next_and:; - __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_12 = __pyx_t_14; - __pyx_L8_bool_binop_done:; - if (__pyx_t_12) { + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_13) { /* "nanequal.pyx":566 * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i1] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_15 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_14 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":567 - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i1] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -7855,8 +7960,8 @@ static PyObject *__pyx_pf_8nanequal_32nanequal_2d_float_axis0(CYTHON_UNUSED PyOb * y[i1] = 1 * return y */ - __pyx_t_12 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_12) { + __pyx_t_13 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_13) { /* "nanequal.pyx":570 * break @@ -7867,9 +7972,9 @@ static PyObject *__pyx_pf_8nanequal_32nanequal_2d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_t_6 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L11; + goto __pyx_L8; } - __pyx_L11:; + __pyx_L8:; } /* "nanequal.pyx":571 @@ -7887,22 +7992,22 @@ static PyObject *__pyx_pf_8nanequal_32nanequal_2d_float_axis0(CYTHON_UNUSED PyOb /* "nanequal.pyx":547 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0." + * def nanequal_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7920,16 +8025,16 @@ static PyObject *__pyx_pf_8nanequal_32nanequal_2d_float_axis0(CYTHON_UNUSED PyOb /* "nanequal.pyx":575 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1." + * def nanequal_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_35nanequal_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_34nanequal_2d_float_axis1[] = "nanequal_2d_float_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1."; -static PyMethodDef __pyx_mdef_8nanequal_35nanequal_2d_float_axis1 = {"nanequal_2d_float_axis1", (PyCFunction)__pyx_pw_8nanequal_35nanequal_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_34nanequal_2d_float_axis1}; -static PyObject *__pyx_pw_8nanequal_35nanequal_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_35nanequal_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_34nanequal_2d_int8_axis1[] = "nanequal_2d_int8_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1."; +static PyMethodDef __pyx_mdef_8nanequal_35nanequal_2d_int8_axis1 = {"nanequal_2d_int8_axis1", (PyCFunction)__pyx_pw_8nanequal_35nanequal_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_34nanequal_2d_int8_axis1}; +static PyObject *__pyx_pw_8nanequal_35nanequal_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -7937,7 +8042,7 @@ static PyObject *__pyx_pw_8nanequal_35nanequal_2d_float_axis1(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int8_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -7958,11 +8063,11 @@ static PyObject *__pyx_pw_8nanequal_35nanequal_2d_float_axis1(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7975,15 +8080,15 @@ static PyObject *__pyx_pw_8nanequal_35nanequal_2d_float_axis1(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_34nanequal_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_34nanequal_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -7994,9 +8099,9 @@ static PyObject *__pyx_pw_8nanequal_35nanequal_2d_float_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_34nanequal_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_34nanequal_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -8024,14 +8129,13 @@ static PyObject *__pyx_pf_8nanequal_34nanequal_2d_float_axis1(CYTHON_UNUSED PyOb Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - int __pyx_t_14; - Py_ssize_t __pyx_t_15; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_float_axis1", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int8_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -8046,20 +8150,20 @@ static PyObject *__pyx_pf_8nanequal_34nanequal_2d_float_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":578 - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1." + * np.ndarray[np.int8_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai + * cdef np.int8_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -8160,22 +8264,22 @@ static PyObject *__pyx_pf_8nanequal_34nanequal_2d_float_axis1(CYTHON_UNUSED PyOb * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":592 * for i1 in range(n1): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i0] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int8((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -8183,50 +8287,30 @@ static PyObject *__pyx_pf_8nanequal_34nanequal_2d_float_axis1(CYTHON_UNUSED PyOb /* "nanequal.pyx":593 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< + * if ai != bi: # <<<<<<<<<<<<<< * y[i0] = 0 * f = 0 */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__pyx_t_14) { - goto __pyx_L9_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L9_next_and:; - __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_14) { - goto __pyx_L10_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L10_next_and:; - __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_12 = __pyx_t_14; - __pyx_L8_bool_binop_done:; - if (__pyx_t_12) { + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_13) { /* "nanequal.pyx":594 * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i0] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_15 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_14 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":595 - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i0] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -8253,8 +8337,8 @@ static PyObject *__pyx_pf_8nanequal_34nanequal_2d_float_axis1(CYTHON_UNUSED PyOb * y[i0] = 1 * return y */ - __pyx_t_12 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_12) { + __pyx_t_13 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_13) { /* "nanequal.pyx":598 * break @@ -8265,9 +8349,9 @@ static PyObject *__pyx_pf_8nanequal_34nanequal_2d_float_axis1(CYTHON_UNUSED PyOb */ __pyx_t_6 = __pyx_v_i0; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L11; + goto __pyx_L8; } - __pyx_L11:; + __pyx_L8:; } /* "nanequal.pyx":599 @@ -8285,22 +8369,22 @@ static PyObject *__pyx_pf_8nanequal_34nanequal_2d_float_axis1(CYTHON_UNUSED PyOb /* "nanequal.pyx":575 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1." + * def nanequal_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8318,16 +8402,16 @@ static PyObject *__pyx_pf_8nanequal_34nanequal_2d_float_axis1(CYTHON_UNUSED PyOb /* "nanequal.pyx":603 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0." + * def nanequal_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_37nanequal_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_36nanequal_2d_float32_axis0[] = "nanequal_2d_float32_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_8nanequal_37nanequal_2d_float32_axis0 = {"nanequal_2d_float32_axis0", (PyCFunction)__pyx_pw_8nanequal_37nanequal_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_36nanequal_2d_float32_axis0}; -static PyObject *__pyx_pw_8nanequal_37nanequal_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_37nanequal_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_36nanequal_2d_int32_axis0[] = "nanequal_2d_int32_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_8nanequal_37nanequal_2d_int32_axis0 = {"nanequal_2d_int32_axis0", (PyCFunction)__pyx_pw_8nanequal_37nanequal_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_36nanequal_2d_int32_axis0}; +static PyObject *__pyx_pw_8nanequal_37nanequal_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -8335,7 +8419,7 @@ static PyObject *__pyx_pw_8nanequal_37nanequal_2d_float32_axis0(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -8356,11 +8440,11 @@ static PyObject *__pyx_pw_8nanequal_37nanequal_2d_float32_axis0(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -8373,15 +8457,15 @@ static PyObject *__pyx_pw_8nanequal_37nanequal_2d_float32_axis0(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_36nanequal_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_36nanequal_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -8392,9 +8476,9 @@ static PyObject *__pyx_pw_8nanequal_37nanequal_2d_float32_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_36nanequal_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_36nanequal_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -8422,14 +8506,13 @@ static PyObject *__pyx_pf_8nanequal_36nanequal_2d_float32_axis0(CYTHON_UNUSED Py Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - int __pyx_t_14; - Py_ssize_t __pyx_t_15; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_float32_axis0", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -8444,20 +8527,20 @@ static PyObject *__pyx_pf_8nanequal_36nanequal_2d_float32_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":606 - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0." + * np.ndarray[np.int32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai + * cdef np.int32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -8558,22 +8641,22 @@ static PyObject *__pyx_pf_8nanequal_36nanequal_2d_float32_axis0(CYTHON_UNUSED Py * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":620 * for i0 in range(n0): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i1] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int32((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -8581,50 +8664,30 @@ static PyObject *__pyx_pf_8nanequal_36nanequal_2d_float32_axis0(CYTHON_UNUSED Py /* "nanequal.pyx":621 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< + * if ai != bi: # <<<<<<<<<<<<<< * y[i1] = 0 * f = 0 */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__pyx_t_14) { - goto __pyx_L9_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L9_next_and:; - __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_14) { - goto __pyx_L10_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L10_next_and:; - __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_12 = __pyx_t_14; - __pyx_L8_bool_binop_done:; - if (__pyx_t_12) { + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_13) { /* "nanequal.pyx":622 * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i1] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_15 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_14 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":623 - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i1] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -8651,8 +8714,8 @@ static PyObject *__pyx_pf_8nanequal_36nanequal_2d_float32_axis0(CYTHON_UNUSED Py * y[i1] = 1 * return y */ - __pyx_t_12 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_12) { + __pyx_t_13 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_13) { /* "nanequal.pyx":626 * break @@ -8663,9 +8726,9 @@ static PyObject *__pyx_pf_8nanequal_36nanequal_2d_float32_axis0(CYTHON_UNUSED Py */ __pyx_t_6 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L11; + goto __pyx_L8; } - __pyx_L11:; + __pyx_L8:; } /* "nanequal.pyx":627 @@ -8683,22 +8746,22 @@ static PyObject *__pyx_pf_8nanequal_36nanequal_2d_float32_axis0(CYTHON_UNUSED Py /* "nanequal.pyx":603 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0." + * def nanequal_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8716,16 +8779,16 @@ static PyObject *__pyx_pf_8nanequal_36nanequal_2d_float32_axis0(CYTHON_UNUSED Py /* "nanequal.pyx":631 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1." + * def nanequal_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_39nanequal_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_38nanequal_2d_float32_axis1[] = "nanequal_2d_float32_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1."; -static PyMethodDef __pyx_mdef_8nanequal_39nanequal_2d_float32_axis1 = {"nanequal_2d_float32_axis1", (PyCFunction)__pyx_pw_8nanequal_39nanequal_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_38nanequal_2d_float32_axis1}; -static PyObject *__pyx_pw_8nanequal_39nanequal_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_39nanequal_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_38nanequal_2d_int32_axis1[] = "nanequal_2d_int32_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1."; +static PyMethodDef __pyx_mdef_8nanequal_39nanequal_2d_int32_axis1 = {"nanequal_2d_int32_axis1", (PyCFunction)__pyx_pw_8nanequal_39nanequal_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_38nanequal_2d_int32_axis1}; +static PyObject *__pyx_pw_8nanequal_39nanequal_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -8733,7 +8796,7 @@ static PyObject *__pyx_pw_8nanequal_39nanequal_2d_float32_axis1(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -8754,11 +8817,11 @@ static PyObject *__pyx_pw_8nanequal_39nanequal_2d_float32_axis1(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -8771,15 +8834,15 @@ static PyObject *__pyx_pw_8nanequal_39nanequal_2d_float32_axis1(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_38nanequal_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_38nanequal_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -8790,9 +8853,9 @@ static PyObject *__pyx_pw_8nanequal_39nanequal_2d_float32_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_38nanequal_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_38nanequal_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -8820,14 +8883,13 @@ static PyObject *__pyx_pf_8nanequal_38nanequal_2d_float32_axis1(CYTHON_UNUSED Py Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - int __pyx_t_14; - Py_ssize_t __pyx_t_15; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_float32_axis1", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -8842,20 +8904,20 @@ static PyObject *__pyx_pf_8nanequal_38nanequal_2d_float32_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":634 - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1." + * np.ndarray[np.int32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai + * cdef np.int32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -8956,22 +9018,22 @@ static PyObject *__pyx_pf_8nanequal_38nanequal_2d_float32_axis1(CYTHON_UNUSED Py * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":648 * for i1 in range(n1): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i0] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int32((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -8979,50 +9041,30 @@ static PyObject *__pyx_pf_8nanequal_38nanequal_2d_float32_axis1(CYTHON_UNUSED Py /* "nanequal.pyx":649 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< + * if ai != bi: # <<<<<<<<<<<<<< * y[i0] = 0 * f = 0 */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__pyx_t_14) { - goto __pyx_L9_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L9_next_and:; - __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_14) { - goto __pyx_L10_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L10_next_and:; - __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_12 = __pyx_t_14; - __pyx_L8_bool_binop_done:; - if (__pyx_t_12) { + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_13) { /* "nanequal.pyx":650 * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i0] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_15 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_14 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":651 - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i0] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -9049,8 +9091,8 @@ static PyObject *__pyx_pf_8nanequal_38nanequal_2d_float32_axis1(CYTHON_UNUSED Py * y[i0] = 1 * return y */ - __pyx_t_12 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_12) { + __pyx_t_13 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_13) { /* "nanequal.pyx":654 * break @@ -9061,9 +9103,9 @@ static PyObject *__pyx_pf_8nanequal_38nanequal_2d_float32_axis1(CYTHON_UNUSED Py */ __pyx_t_6 = __pyx_v_i0; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L11; + goto __pyx_L8; } - __pyx_L11:; + __pyx_L8:; } /* "nanequal.pyx":655 @@ -9081,22 +9123,22 @@ static PyObject *__pyx_pf_8nanequal_38nanequal_2d_float32_axis1(CYTHON_UNUSED Py /* "nanequal.pyx":631 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1." + * def nanequal_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9114,16 +9156,16 @@ static PyObject *__pyx_pf_8nanequal_38nanequal_2d_float32_axis1(CYTHON_UNUSED Py /* "nanequal.pyx":659 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0." + * def nanequal_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_41nanequal_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_40nanequal_2d_float64_axis0[] = "nanequal_2d_float64_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_8nanequal_41nanequal_2d_float64_axis0 = {"nanequal_2d_float64_axis0", (PyCFunction)__pyx_pw_8nanequal_41nanequal_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_40nanequal_2d_float64_axis0}; -static PyObject *__pyx_pw_8nanequal_41nanequal_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_41nanequal_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_40nanequal_2d_int64_axis0[] = "nanequal_2d_int64_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_8nanequal_41nanequal_2d_int64_axis0 = {"nanequal_2d_int64_axis0", (PyCFunction)__pyx_pw_8nanequal_41nanequal_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_40nanequal_2d_int64_axis0}; +static PyObject *__pyx_pw_8nanequal_41nanequal_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -9131,7 +9173,7 @@ static PyObject *__pyx_pw_8nanequal_41nanequal_2d_float64_axis0(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -9152,11 +9194,11 @@ static PyObject *__pyx_pw_8nanequal_41nanequal_2d_float64_axis0(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9169,15 +9211,15 @@ static PyObject *__pyx_pw_8nanequal_41nanequal_2d_float64_axis0(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_40nanequal_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_40nanequal_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -9188,9 +9230,9 @@ static PyObject *__pyx_pw_8nanequal_41nanequal_2d_float64_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_40nanequal_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_40nanequal_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -9218,14 +9260,13 @@ static PyObject *__pyx_pf_8nanequal_40nanequal_2d_float64_axis0(CYTHON_UNUSED Py Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - int __pyx_t_14; - Py_ssize_t __pyx_t_15; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_float64_axis0", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -9240,20 +9281,20 @@ static PyObject *__pyx_pf_8nanequal_40nanequal_2d_float64_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":662 - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0." + * np.ndarray[np.int64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai + * cdef np.int64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -9354,22 +9395,22 @@ static PyObject *__pyx_pf_8nanequal_40nanequal_2d_float64_axis0(CYTHON_UNUSED Py * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":676 * for i0 in range(n0): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i1] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int64((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -9377,50 +9418,30 @@ static PyObject *__pyx_pf_8nanequal_40nanequal_2d_float64_axis0(CYTHON_UNUSED Py /* "nanequal.pyx":677 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< + * if ai != bi: # <<<<<<<<<<<<<< * y[i1] = 0 * f = 0 */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__pyx_t_14) { - goto __pyx_L9_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L9_next_and:; - __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_14) { - goto __pyx_L10_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L10_next_and:; - __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_12 = __pyx_t_14; - __pyx_L8_bool_binop_done:; - if (__pyx_t_12) { + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_13) { /* "nanequal.pyx":678 * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i1] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_15 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_14 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":679 - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i1] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -9447,8 +9468,8 @@ static PyObject *__pyx_pf_8nanequal_40nanequal_2d_float64_axis0(CYTHON_UNUSED Py * y[i1] = 1 * return y */ - __pyx_t_12 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_12) { + __pyx_t_13 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_13) { /* "nanequal.pyx":682 * break @@ -9459,9 +9480,9 @@ static PyObject *__pyx_pf_8nanequal_40nanequal_2d_float64_axis0(CYTHON_UNUSED Py */ __pyx_t_6 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L11; + goto __pyx_L8; } - __pyx_L11:; + __pyx_L8:; } /* "nanequal.pyx":683 @@ -9479,22 +9500,22 @@ static PyObject *__pyx_pf_8nanequal_40nanequal_2d_float64_axis0(CYTHON_UNUSED Py /* "nanequal.pyx":659 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0." + * def nanequal_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9512,16 +9533,16 @@ static PyObject *__pyx_pf_8nanequal_40nanequal_2d_float64_axis0(CYTHON_UNUSED Py /* "nanequal.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1." + * def nanequal_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_43nanequal_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_42nanequal_2d_float64_axis1[] = "nanequal_2d_float64_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1."; -static PyMethodDef __pyx_mdef_8nanequal_43nanequal_2d_float64_axis1 = {"nanequal_2d_float64_axis1", (PyCFunction)__pyx_pw_8nanequal_43nanequal_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_42nanequal_2d_float64_axis1}; -static PyObject *__pyx_pw_8nanequal_43nanequal_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_43nanequal_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_42nanequal_2d_int64_axis1[] = "nanequal_2d_int64_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1."; +static PyMethodDef __pyx_mdef_8nanequal_43nanequal_2d_int64_axis1 = {"nanequal_2d_int64_axis1", (PyCFunction)__pyx_pw_8nanequal_43nanequal_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_42nanequal_2d_int64_axis1}; +static PyObject *__pyx_pw_8nanequal_43nanequal_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -9529,7 +9550,7 @@ static PyObject *__pyx_pw_8nanequal_43nanequal_2d_float64_axis1(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -9550,11 +9571,11 @@ static PyObject *__pyx_pw_8nanequal_43nanequal_2d_float64_axis1(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9567,15 +9588,15 @@ static PyObject *__pyx_pw_8nanequal_43nanequal_2d_float64_axis1(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_42nanequal_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_42nanequal_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -9586,9 +9607,9 @@ static PyObject *__pyx_pw_8nanequal_43nanequal_2d_float64_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_42nanequal_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_42nanequal_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -9616,14 +9637,13 @@ static PyObject *__pyx_pf_8nanequal_42nanequal_2d_float64_axis1(CYTHON_UNUSED Py Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - int __pyx_t_14; - Py_ssize_t __pyx_t_15; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_float64_axis1", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -9638,20 +9658,20 @@ static PyObject *__pyx_pf_8nanequal_42nanequal_2d_float64_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":690 - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1." + * np.ndarray[np.int64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai + * cdef np.int64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -9752,22 +9772,22 @@ static PyObject *__pyx_pf_8nanequal_42nanequal_2d_float64_axis1(CYTHON_UNUSED Py * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":704 * for i1 in range(n1): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i0] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int64((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -9775,50 +9795,30 @@ static PyObject *__pyx_pf_8nanequal_42nanequal_2d_float64_axis1(CYTHON_UNUSED Py /* "nanequal.pyx":705 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< + * if ai != bi: # <<<<<<<<<<<<<< * y[i0] = 0 * f = 0 */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__pyx_t_14) { - goto __pyx_L9_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L9_next_and:; - __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_14) { - goto __pyx_L10_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L10_next_and:; - __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_12 = __pyx_t_14; - __pyx_L8_bool_binop_done:; - if (__pyx_t_12) { + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_13) { /* "nanequal.pyx":706 * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i0] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_15 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_14 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":707 - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i0] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -9845,8 +9845,8 @@ static PyObject *__pyx_pf_8nanequal_42nanequal_2d_float64_axis1(CYTHON_UNUSED Py * y[i0] = 1 * return y */ - __pyx_t_12 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_12) { + __pyx_t_13 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_13) { /* "nanequal.pyx":710 * break @@ -9857,9 +9857,9 @@ static PyObject *__pyx_pf_8nanequal_42nanequal_2d_float64_axis1(CYTHON_UNUSED Py */ __pyx_t_6 = __pyx_v_i0; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L11; + goto __pyx_L8; } - __pyx_L11:; + __pyx_L8:; } /* "nanequal.pyx":711 @@ -9877,22 +9877,22 @@ static PyObject *__pyx_pf_8nanequal_42nanequal_2d_float64_axis1(CYTHON_UNUSED Py /* "nanequal.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1." + * def nanequal_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9908,7 +9908,7 @@ static PyObject *__pyx_pf_8nanequal_42nanequal_2d_float64_axis1(CYTHON_UNUSED Py } /* "nanequal.pyx":738 - * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 + * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 * * def nanequal_slow_axis0(arr1, arr2): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanequal along axis 0." @@ -10027,7 +10027,7 @@ static PyObject *__pyx_pf_8nanequal_44nanequal_slow_axis0(CYTHON_UNUSED PyObject goto __pyx_L0; /* "nanequal.pyx":738 - * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 + * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 * * def nanequal_slow_axis0(arr1, arr2): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanequal along axis 0." @@ -14701,7 +14701,7 @@ static PyObject *__pyx_pf_8nanequal_110nanequal_slow_axisNone(CYTHON_UNUSED PyOb return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -14751,7 +14751,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -14764,7 +14764,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -14773,7 +14773,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -14782,7 +14782,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -14791,7 +14791,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -14801,7 +14801,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -14813,7 +14813,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -14824,7 +14824,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -14840,7 +14840,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -14852,7 +14852,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -14866,7 +14866,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -14882,7 +14882,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -14894,7 +14894,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -14908,7 +14908,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -14917,7 +14917,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -14926,7 +14926,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -14936,7 +14936,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -14945,7 +14945,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -14954,7 +14954,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -14965,7 +14965,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -14974,7 +14974,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -14987,7 +14987,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -14996,7 +14996,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -15007,7 +15007,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -15016,7 +15016,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -15025,7 +15025,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -15034,7 +15034,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -15043,7 +15043,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -15055,7 +15055,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -15064,7 +15064,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -15084,7 +15084,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -15100,7 +15100,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -15115,7 +15115,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -15125,7 +15125,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -15135,7 +15135,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -15158,7 +15158,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -15178,7 +15178,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -15192,7 +15192,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -15201,7 +15201,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -15212,7 +15212,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -15223,7 +15223,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -15234,7 +15234,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -15245,7 +15245,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -15256,7 +15256,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -15267,7 +15267,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -15278,7 +15278,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -15289,7 +15289,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -15300,7 +15300,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -15311,7 +15311,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -15322,7 +15322,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -15333,7 +15333,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -15344,7 +15344,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -15355,7 +15355,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -15366,7 +15366,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -15377,7 +15377,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -15389,7 +15389,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -15415,7 +15415,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -15424,7 +15424,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -15436,7 +15436,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -15445,7 +15445,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -15454,7 +15454,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -15463,7 +15463,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -15473,7 +15473,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -15483,7 +15483,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -15515,7 +15515,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -15539,7 +15539,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -15549,7 +15549,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -15561,7 +15561,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -15571,7 +15571,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -15583,7 +15583,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -15595,7 +15595,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -15612,7 +15612,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -15626,7 +15626,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -15645,7 +15645,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -15662,7 +15662,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -15676,7 +15676,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -15695,7 +15695,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -15712,7 +15712,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -15726,7 +15726,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -15745,7 +15745,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -15762,7 +15762,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -15776,7 +15776,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -15795,7 +15795,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -15812,7 +15812,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -15826,7 +15826,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -15845,7 +15845,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -15877,7 +15877,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -15886,7 +15886,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -15895,7 +15895,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -15917,7 +15917,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -15930,7 +15930,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -15969,7 +15969,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -15986,7 +15986,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -16000,7 +16000,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -16023,7 +16023,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -16043,7 +16043,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -16057,7 +16057,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -16073,7 +16073,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -16082,7 +16082,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -16091,7 +16091,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -16102,7 +16102,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -16112,7 +16112,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -16122,7 +16122,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -16134,7 +16134,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -16144,7 +16144,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -16158,7 +16158,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -16176,7 +16176,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -16194,7 +16194,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -16212,7 +16212,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -16230,7 +16230,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -16248,7 +16248,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -16266,7 +16266,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -16284,7 +16284,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -16302,7 +16302,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -16320,7 +16320,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -16338,7 +16338,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -16356,7 +16356,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -16374,7 +16374,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -16392,7 +16392,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -16412,7 +16412,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -16432,7 +16432,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -16452,7 +16452,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -16471,7 +16471,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -16494,7 +16494,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -16506,7 +16506,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -16518,7 +16518,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -16528,7 +16528,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -16538,7 +16538,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -16563,7 +16563,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -16578,7 +16578,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -16589,7 +16589,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -16601,7 +16601,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -16610,7 +16610,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -16621,7 +16621,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -16630,7 +16630,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -16639,7 +16639,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -16651,7 +16651,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -16665,7 +16665,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -16675,7 +16675,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -16689,7 +16689,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -16700,7 +16700,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -16738,7 +16738,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -16752,6 +16751,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_u_Test_whether_two_array_are_equa, __pyx_k_Test_whether_two_array_are_equa, sizeof(__pyx_k_Test_whether_two_array_are_equa), 0, 1, 0, 0}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__20, __pyx_k__20, sizeof(__pyx_k__20), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -16899,139 +16899,139 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "nanequal.pyx":446 + /* "nanequal.pyx":390 * bi = b[i0] * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__2 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__2 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "nanequal.pyx":447 + /* "nanequal.pyx":391 * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__3 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__3 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "nanequal.pyx":464 + /* "nanequal.pyx":408 * bi = b[i0] * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__4 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__4 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "nanequal.pyx":465 + /* "nanequal.pyx":409 * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__5 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__5 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "nanequal.pyx":482 + /* "nanequal.pyx":426 * bi = b[i0] * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__6 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__6 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6); - /* "nanequal.pyx":483 + /* "nanequal.pyx":427 * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__7 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__7 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7); - /* "nanequal.pyx":502 + /* "nanequal.pyx":446 * bi = b[i0, i1] * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__8 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__8 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8); - /* "nanequal.pyx":503 + /* "nanequal.pyx":447 * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__9 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__9 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - /* "nanequal.pyx":522 + /* "nanequal.pyx":466 * bi = b[i0, i1] * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__10 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__10 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); - /* "nanequal.pyx":523 + /* "nanequal.pyx":467 * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__11 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__11 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - /* "nanequal.pyx":542 + /* "nanequal.pyx":486 * bi = b[i0, i1] * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__12 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__12 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__12); __Pyx_GIVEREF(__pyx_tuple__12); - /* "nanequal.pyx":543 + /* "nanequal.pyx":487 * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__13 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__13 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -17042,7 +17042,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -17053,7 +17053,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -17064,7 +17064,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__16); __Pyx_GIVEREF(__pyx_tuple__16); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -17075,7 +17075,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -17086,7 +17086,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -17118,7 +17118,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__22 = PyTuple_Pack(4, __pyx_n_s_arr1, __pyx_n_s_arr2, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22); - __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":112 * return func(arr1, arr2) @@ -17130,250 +17130,250 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__24 = PyTuple_Pack(14, __pyx_n_s_arr1, __pyx_n_s_arr2, __pyx_n_s_axis, __pyx_n_s_a1, __pyx_n_s_a2, __pyx_n_s_ndim, __pyx_n_s_ndim2, __pyx_n_s_dtype, __pyx_n_s_dim1, __pyx_n_s_dim2, __pyx_n_s_i, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__24); __Pyx_GIVEREF(__pyx_tuple__24); - __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(3, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_selector, 112, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(3, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_selector, 112, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":209 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0." + * def nanequal_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0." */ __pyx_tuple__26 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__26); __Pyx_GIVEREF(__pyx_tuple__26); - __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_int_axis0, 209, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_float_axis0, 209, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":237 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1." + * def nanequal_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1." */ __pyx_tuple__28 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__28); __Pyx_GIVEREF(__pyx_tuple__28); - __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_int_axis1, 237, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_float_axis1, 237, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":265 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0." + * def nanequal_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0." */ __pyx_tuple__30 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30); - __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_int8_axis0, 265, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_float32_axis0, 265, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":293 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1." + * def nanequal_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1." */ __pyx_tuple__32 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__32); __Pyx_GIVEREF(__pyx_tuple__32); - __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_int8_axis1, 293, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_float32_axis1, 293, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":321 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0." + * def nanequal_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0." */ __pyx_tuple__34 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__34); __Pyx_GIVEREF(__pyx_tuple__34); - __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_int32_axis0, 321, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_float64_axis0, 321, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":349 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1." + * def nanequal_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1." */ __pyx_tuple__36 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); - __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_int32_axis1, 349, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_float64_axis1, 349, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":377 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0." + * def nanequal_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None." */ - __pyx_tuple__38 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__38 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__38); __Pyx_GIVEREF(__pyx_tuple__38); - __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_int64_axis0, 377, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_1d_float_axisNone, 377, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanequal.pyx":405 + /* "nanequal.pyx":395 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1." + * def nanequal_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None." */ - __pyx_tuple__40 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__40 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__40); __Pyx_GIVEREF(__pyx_tuple__40); - __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_int64_axis1, 405, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_1d_float32_axisNone, 395, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanequal.pyx":433 + /* "nanequal.pyx":413 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None." + * def nanequal_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None." */ - __pyx_tuple__42 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__42 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__42); __Pyx_GIVEREF(__pyx_tuple__42); - __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_1d_float_axisNone, 433, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_1d_float64_axisNone, 413, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanequal.pyx":451 + /* "nanequal.pyx":431 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None." + * def nanequal_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None." */ - __pyx_tuple__44 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__44 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__44); __Pyx_GIVEREF(__pyx_tuple__44); - __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_1d_float32_axisNone, 451, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_float_axisNone, 431, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanequal.pyx":469 + /* "nanequal.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None." + * def nanequal_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None." */ - __pyx_tuple__46 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__46 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__46); __Pyx_GIVEREF(__pyx_tuple__46); - __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_1d_float64_axisNone, 469, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_float32_axisNone, 451, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanequal.pyx":487 + /* "nanequal.pyx":471 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None." + * def nanequal_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None." */ - __pyx_tuple__48 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__48 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__48); __Pyx_GIVEREF(__pyx_tuple__48); - __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_float_axisNone, 487, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_float64_axisNone, 471, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanequal.pyx":507 + /* "nanequal.pyx":491 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None." + * def nanequal_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0." */ - __pyx_tuple__50 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__50 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__50); __Pyx_GIVEREF(__pyx_tuple__50); - __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_float32_axisNone, 507, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_int_axis0, 491, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanequal.pyx":527 + /* "nanequal.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None." + * def nanequal_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1." */ - __pyx_tuple__52 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__52 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__52); __Pyx_GIVEREF(__pyx_tuple__52); - __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_float64_axisNone, 527, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_int_axis1, 519, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":547 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0." + * def nanequal_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0." */ __pyx_tuple__54 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__54); __Pyx_GIVEREF(__pyx_tuple__54); - __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_float_axis0, 547, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_int8_axis0, 547, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":575 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1." + * def nanequal_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1." */ __pyx_tuple__56 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__56); __Pyx_GIVEREF(__pyx_tuple__56); - __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_float_axis1, 575, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_int8_axis1, 575, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":603 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0." + * def nanequal_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0." */ __pyx_tuple__58 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__58); __Pyx_GIVEREF(__pyx_tuple__58); - __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_float32_axis0, 603, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_int32_axis0, 603, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":631 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1." + * def nanequal_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1." */ __pyx_tuple__60 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__60); __Pyx_GIVEREF(__pyx_tuple__60); - __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_float32_axis1, 631, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_int32_axis1, 631, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":659 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0." + * def nanequal_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0." */ __pyx_tuple__62 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__62); __Pyx_GIVEREF(__pyx_tuple__62); - __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_float64_axis0, 659, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_int64_axis0, 659, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1." + * def nanequal_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1." */ __pyx_tuple__64 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__64); __Pyx_GIVEREF(__pyx_tuple__64); - __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_float64_axis1, 687, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_int64_axis1, 687, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":738 - * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 + * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 * * def nanequal_slow_axis0(arr1, arr2): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanequal along axis 0." @@ -17382,7 +17382,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__66 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__66); __Pyx_GIVEREF(__pyx_tuple__66); - __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis0, 738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis0, 738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":742 * return bn.slow.nanequal(arr1, arr2, axis=0) @@ -17394,7 +17394,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__68 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__68); __Pyx_GIVEREF(__pyx_tuple__68); - __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis1, 742, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis1, 742, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":746 * return bn.slow.nanequal(arr1, arr2, axis=1) @@ -17406,7 +17406,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__70 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__70); __Pyx_GIVEREF(__pyx_tuple__70); - __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis2, 746, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis2, 746, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":750 * return bn.slow.nanequal(arr1, arr2, axis=2) @@ -17418,7 +17418,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__72 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__72); __Pyx_GIVEREF(__pyx_tuple__72); - __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis3, 750, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis3, 750, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":754 * return bn.slow.nanequal(arr1, arr2, axis=3) @@ -17430,7 +17430,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__74 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__74); __Pyx_GIVEREF(__pyx_tuple__74); - __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis4, 754, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis4, 754, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":758 * return bn.slow.nanequal(arr1, arr2, axis=4) @@ -17442,7 +17442,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__76 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__76); __Pyx_GIVEREF(__pyx_tuple__76); - __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis5, 758, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis5, 758, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":762 * return bn.slow.nanequal(arr1, arr2, axis=5) @@ -17454,7 +17454,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__78 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__78); __Pyx_GIVEREF(__pyx_tuple__78); - __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis6, 762, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis6, 762, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":766 * return bn.slow.nanequal(arr1, arr2, axis=6) @@ -17466,7 +17466,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__80 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__80); __Pyx_GIVEREF(__pyx_tuple__80); - __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis7, 766, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis7, 766, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":770 * return bn.slow.nanequal(arr1, arr2, axis=7) @@ -17478,7 +17478,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__82 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__82); __Pyx_GIVEREF(__pyx_tuple__82); - __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis8, 770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis8, 770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":774 * return bn.slow.nanequal(arr1, arr2, axis=8) @@ -17490,7 +17490,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__84 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__84); __Pyx_GIVEREF(__pyx_tuple__84); - __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis9, 774, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis9, 774, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":778 * return bn.slow.nanequal(arr1, arr2, axis=9) @@ -17502,7 +17502,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__86 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__86); __Pyx_GIVEREF(__pyx_tuple__86); - __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis10, 778, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis10, 778, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":782 * return bn.slow.nanequal(arr1, arr2, axis=10) @@ -17514,7 +17514,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__88 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__88); __Pyx_GIVEREF(__pyx_tuple__88); - __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis11, 782, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis11, 782, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":786 * return bn.slow.nanequal(arr1, arr2, axis=11) @@ -17526,7 +17526,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__90 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__90); __Pyx_GIVEREF(__pyx_tuple__90); - __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis12, 786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis12, 786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":790 * return bn.slow.nanequal(arr1, arr2, axis=12) @@ -17538,7 +17538,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__92 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__92); __Pyx_GIVEREF(__pyx_tuple__92); - __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis13, 790, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis13, 790, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":794 * return bn.slow.nanequal(arr1, arr2, axis=13) @@ -17550,7 +17550,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__94 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__94); __Pyx_GIVEREF(__pyx_tuple__94); - __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis14, 794, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis14, 794, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":798 * return bn.slow.nanequal(arr1, arr2, axis=14) @@ -17562,7 +17562,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__96 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__96); __Pyx_GIVEREF(__pyx_tuple__96); - __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis15, 798, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis15, 798, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":802 * return bn.slow.nanequal(arr1, arr2, axis=15) @@ -17574,7 +17574,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__98 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__98); __Pyx_GIVEREF(__pyx_tuple__98); - __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis16, 802, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis16, 802, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":806 * return bn.slow.nanequal(arr1, arr2, axis=16) @@ -17586,7 +17586,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__100 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__100); __Pyx_GIVEREF(__pyx_tuple__100); - __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis17, 806, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis17, 806, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":810 * return bn.slow.nanequal(arr1, arr2, axis=17) @@ -17598,7 +17598,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__102 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__102); __Pyx_GIVEREF(__pyx_tuple__102); - __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis18, 810, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis18, 810, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":814 * return bn.slow.nanequal(arr1, arr2, axis=18) @@ -17610,7 +17610,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__104 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__104); __Pyx_GIVEREF(__pyx_tuple__104); - __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis19, 814, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis19, 814, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":818 * return bn.slow.nanequal(arr1, arr2, axis=19) @@ -17622,7 +17622,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__106 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__106); __Pyx_GIVEREF(__pyx_tuple__106); - __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis20, 818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis20, 818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":822 * return bn.slow.nanequal(arr1, arr2, axis=20) @@ -17634,7 +17634,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__108 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__108); __Pyx_GIVEREF(__pyx_tuple__108); - __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis21, 822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis21, 822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":826 * return bn.slow.nanequal(arr1, arr2, axis=21) @@ -17646,7 +17646,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__110 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__110); __Pyx_GIVEREF(__pyx_tuple__110); - __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis22, 826, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis22, 826, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":830 * return bn.slow.nanequal(arr1, arr2, axis=22) @@ -17658,7 +17658,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__112 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__112); __Pyx_GIVEREF(__pyx_tuple__112); - __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis23, 830, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis23, 830, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":834 * return bn.slow.nanequal(arr1, arr2, axis=23) @@ -17670,7 +17670,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__114 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__114); __Pyx_GIVEREF(__pyx_tuple__114); - __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis24, 834, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis24, 834, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":838 * return bn.slow.nanequal(arr1, arr2, axis=24) @@ -17682,7 +17682,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__116 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__116); __Pyx_GIVEREF(__pyx_tuple__116); - __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis25, 838, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis25, 838, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":842 * return bn.slow.nanequal(arr1, arr2, axis=25) @@ -17694,7 +17694,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__118 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__118); __Pyx_GIVEREF(__pyx_tuple__118); - __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis26, 842, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis26, 842, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":846 * return bn.slow.nanequal(arr1, arr2, axis=26) @@ -17706,7 +17706,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__120 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__120); __Pyx_GIVEREF(__pyx_tuple__120); - __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis27, 846, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis27, 846, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":850 * return bn.slow.nanequal(arr1, arr2, axis=27) @@ -17718,7 +17718,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__122 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__122); __Pyx_GIVEREF(__pyx_tuple__122); - __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis28, 850, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis28, 850, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":854 * return bn.slow.nanequal(arr1, arr2, axis=28) @@ -17730,7 +17730,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__124 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__124); __Pyx_GIVEREF(__pyx_tuple__124); - __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis29, 854, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis29, 854, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":858 * return bn.slow.nanequal(arr1, arr2, axis=29) @@ -17742,7 +17742,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__126 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__126); __Pyx_GIVEREF(__pyx_tuple__126); - __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis30, 858, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis30, 858, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":862 * return bn.slow.nanequal(arr1, arr2, axis=30) @@ -17754,7 +17754,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__128 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__128); __Pyx_GIVEREF(__pyx_tuple__128); - __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis31, 862, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis31, 862, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":866 * return bn.slow.nanequal(arr1, arr2, axis=31) @@ -17766,7 +17766,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__130 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__130); __Pyx_GIVEREF(__pyx_tuple__130); - __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis32, 866, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis32, 866, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":870 * return bn.slow.nanequal(arr1, arr2, axis=32) @@ -17778,7 +17778,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__132 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__132); __Pyx_GIVEREF(__pyx_tuple__132); - __pyx_codeobj__133 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axisNone, 870, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__133 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axisNone, 870, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -18744,249 +18744,249 @@ PyMODINIT_FUNC PyInit_nanequal(void) /* "nanequal.pyx":209 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0." + * def nanequal_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_5nanequal_2d_int_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_5nanequal_2d_float_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":237 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1." + * def nanequal_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_7nanequal_2d_int_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_7nanequal_2d_float_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":265 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0." + * def nanequal_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_9nanequal_2d_int8_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_9nanequal_2d_float32_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":293 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1." + * def nanequal_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_11nanequal_2d_int8_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_11nanequal_2d_float32_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":321 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0." + * def nanequal_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_13nanequal_2d_int32_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_13nanequal_2d_float64_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":349 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1." + * def nanequal_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_15nanequal_2d_int32_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_15nanequal_2d_float64_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":377 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0." - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_17nanequal_2d_int64_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "nanequal.pyx":405 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanequal_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1." - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_19nanequal_2d_int64_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "nanequal.pyx":433 - * @cython.boundscheck(False) - * @cython.wraparound(False) * def nanequal_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float_t, ndim=1] b): * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_21nanequal_1d_float_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_17nanequal_1d_float_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanequal.pyx":451 + /* "nanequal.pyx":395 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanequal_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float32_t, ndim=1] b): * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_23nanequal_1d_float32_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_19nanequal_1d_float32_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanequal.pyx":469 + /* "nanequal.pyx":413 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanequal_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] b): * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_25nanequal_1d_float64_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_21nanequal_1d_float64_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanequal.pyx":487 + /* "nanequal.pyx":431 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanequal_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float_t, ndim=2] b): * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_27nanequal_2d_float_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_23nanequal_2d_float_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanequal.pyx":507 + /* "nanequal.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanequal_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float32_t, ndim=2] b): * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_29nanequal_2d_float32_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_25nanequal_2d_float32_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanequal.pyx":527 + /* "nanequal.pyx":471 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanequal_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=2] b): * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_31nanequal_2d_float64_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_27nanequal_2d_float64_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "nanequal.pyx":491 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanequal_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0." + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_29nanequal_2d_int_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "nanequal.pyx":519 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanequal_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1." + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_31nanequal_2d_int_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":547 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0." + * def nanequal_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_33nanequal_2d_float_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_33nanequal_2d_int8_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":575 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1." + * def nanequal_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_35nanequal_2d_float_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_35nanequal_2d_int8_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":603 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0." + * def nanequal_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_37nanequal_2d_float32_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_37nanequal_2d_int32_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":631 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1." + * def nanequal_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_39nanequal_2d_float32_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_39nanequal_2d_int32_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":659 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0." + * def nanequal_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_41nanequal_2d_float64_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_41nanequal_2d_int64_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1." + * def nanequal_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_43nanequal_2d_float64_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_43nanequal_2d_int64_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":713 * return y * * cdef dict nanequal_dict = {} # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_int, 0)] = nanequal_2d_int_axis0 - * nanequal_dict[(2, NPY_int, 1)] = nanequal_2d_int_axis1 + * nanequal_dict[(2, NPY_float, 0)] = nanequal_2d_float_axis0 + * nanequal_dict[(2, NPY_float, 1)] = nanequal_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -18998,17 +18998,17 @@ PyMODINIT_FUNC PyInit_nanequal(void) /* "nanequal.pyx":714 * * cdef dict nanequal_dict = {} - * nanequal_dict[(2, NPY_int, 0)] = nanequal_2d_int_axis0 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_int, 1)] = nanequal_2d_int_axis1 - * nanequal_dict[(2, NPY_int8, 0)] = nanequal_2d_int8_axis0 + * nanequal_dict[(2, NPY_float, 0)] = nanequal_2d_float_axis0 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float, 1)] = nanequal_2d_float_axis1 + * nanequal_dict[(2, NPY_float32, 0)] = nanequal_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19027,18 +19027,18 @@ PyMODINIT_FUNC PyInit_nanequal(void) /* "nanequal.pyx":715 * cdef dict nanequal_dict = {} - * nanequal_dict[(2, NPY_int, 0)] = nanequal_2d_int_axis0 - * nanequal_dict[(2, NPY_int, 1)] = nanequal_2d_int_axis1 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_int8, 0)] = nanequal_2d_int8_axis0 - * nanequal_dict[(2, NPY_int8, 1)] = nanequal_2d_int8_axis1 + * nanequal_dict[(2, NPY_float, 0)] = nanequal_2d_float_axis0 + * nanequal_dict[(2, NPY_float, 1)] = nanequal_2d_float_axis1 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float32, 0)] = nanequal_2d_float32_axis0 + * nanequal_dict[(2, NPY_float32, 1)] = nanequal_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19056,19 +19056,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":716 - * nanequal_dict[(2, NPY_int, 0)] = nanequal_2d_int_axis0 - * nanequal_dict[(2, NPY_int, 1)] = nanequal_2d_int_axis1 - * nanequal_dict[(2, NPY_int8, 0)] = nanequal_2d_int8_axis0 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_int8, 1)] = nanequal_2d_int8_axis1 - * nanequal_dict[(2, NPY_int32, 0)] = nanequal_2d_int32_axis0 + * nanequal_dict[(2, NPY_float, 0)] = nanequal_2d_float_axis0 + * nanequal_dict[(2, NPY_float, 1)] = nanequal_2d_float_axis1 + * nanequal_dict[(2, NPY_float32, 0)] = nanequal_2d_float32_axis0 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float32, 1)] = nanequal_2d_float32_axis1 + * nanequal_dict[(2, NPY_float64, 0)] = nanequal_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19086,19 +19086,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":717 - * nanequal_dict[(2, NPY_int, 1)] = nanequal_2d_int_axis1 - * nanequal_dict[(2, NPY_int8, 0)] = nanequal_2d_int8_axis0 - * nanequal_dict[(2, NPY_int8, 1)] = nanequal_2d_int8_axis1 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_int32, 0)] = nanequal_2d_int32_axis0 - * nanequal_dict[(2, NPY_int32, 1)] = nanequal_2d_int32_axis1 + * nanequal_dict[(2, NPY_float, 1)] = nanequal_2d_float_axis1 + * nanequal_dict[(2, NPY_float32, 0)] = nanequal_2d_float32_axis0 + * nanequal_dict[(2, NPY_float32, 1)] = nanequal_2d_float32_axis1 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float64, 0)] = nanequal_2d_float64_axis0 + * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19116,19 +19116,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":718 - * nanequal_dict[(2, NPY_int8, 0)] = nanequal_2d_int8_axis0 - * nanequal_dict[(2, NPY_int8, 1)] = nanequal_2d_int8_axis1 - * nanequal_dict[(2, NPY_int32, 0)] = nanequal_2d_int32_axis0 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_int32, 1)] = nanequal_2d_int32_axis1 - * nanequal_dict[(2, NPY_int64, 0)] = nanequal_2d_int64_axis0 + * nanequal_dict[(2, NPY_float32, 0)] = nanequal_2d_float32_axis0 + * nanequal_dict[(2, NPY_float32, 1)] = nanequal_2d_float32_axis1 + * nanequal_dict[(2, NPY_float64, 0)] = nanequal_2d_float64_axis0 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 + * nanequal_dict[(1, NPY_float, 0)] = nanequal_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19146,19 +19146,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":719 - * nanequal_dict[(2, NPY_int8, 1)] = nanequal_2d_int8_axis1 - * nanequal_dict[(2, NPY_int32, 0)] = nanequal_2d_int32_axis0 - * nanequal_dict[(2, NPY_int32, 1)] = nanequal_2d_int32_axis1 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_int64, 0)] = nanequal_2d_int64_axis0 - * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 + * nanequal_dict[(2, NPY_float32, 1)] = nanequal_2d_float32_axis1 + * nanequal_dict[(2, NPY_float64, 0)] = nanequal_2d_float64_axis0 + * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float, 0)] = nanequal_1d_float_axisNone + * nanequal_dict[(1, NPY_float, None)] = nanequal_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19176,25 +19176,25 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":720 - * nanequal_dict[(2, NPY_int32, 0)] = nanequal_2d_int32_axis0 - * nanequal_dict[(2, NPY_int32, 1)] = nanequal_2d_int32_axis1 - * nanequal_dict[(2, NPY_int64, 0)] = nanequal_2d_int64_axis0 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 - * nanequal_dict[(1, NPY_float, 0)] = nanequal_1d_float_axisNone + * nanequal_dict[(2, NPY_float64, 0)] = nanequal_2d_float64_axis0 + * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 + * nanequal_dict[(1, NPY_float, 0)] = nanequal_1d_float_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float, None)] = nanequal_1d_float_axisNone + * nanequal_dict[(1, NPY_float32, 0)] = nanequal_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -19206,49 +19206,49 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":721 - * nanequal_dict[(2, NPY_int32, 1)] = nanequal_2d_int32_axis1 - * nanequal_dict[(2, NPY_int64, 0)] = nanequal_2d_int64_axis0 - * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 * nanequal_dict[(1, NPY_float, 0)] = nanequal_1d_float_axisNone - * nanequal_dict[(1, NPY_float, None)] = nanequal_1d_float_axisNone + * nanequal_dict[(1, NPY_float, None)] = nanequal_1d_float_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float32, 0)] = nanequal_1d_float32_axisNone + * nanequal_dict[(1, NPY_float32, None)] = nanequal_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8nanequal_nanequal_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":722 - * nanequal_dict[(2, NPY_int64, 0)] = nanequal_2d_int64_axis0 - * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 - * nanequal_dict[(1, NPY_float, 0)] = nanequal_1d_float_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float, 0)] = nanequal_1d_float_axisNone * nanequal_dict[(1, NPY_float, None)] = nanequal_1d_float_axisNone - * nanequal_dict[(1, NPY_float32, 0)] = nanequal_1d_float32_axisNone + * nanequal_dict[(1, NPY_float32, 0)] = nanequal_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float32, None)] = nanequal_1d_float32_axisNone + * nanequal_dict[(1, NPY_float64, 0)] = nanequal_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19266,19 +19266,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":723 - * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 - * nanequal_dict[(1, NPY_float, 0)] = nanequal_1d_float_axisNone - * nanequal_dict[(1, NPY_float, None)] = nanequal_1d_float_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float, None)] = nanequal_1d_float_axisNone * nanequal_dict[(1, NPY_float32, 0)] = nanequal_1d_float32_axisNone - * nanequal_dict[(1, NPY_float32, None)] = nanequal_1d_float32_axisNone + * nanequal_dict[(1, NPY_float32, None)] = nanequal_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float64, 0)] = nanequal_1d_float64_axisNone + * nanequal_dict[(1, NPY_float64, None)] = nanequal_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19296,19 +19296,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":724 - * nanequal_dict[(1, NPY_float, 0)] = nanequal_1d_float_axisNone - * nanequal_dict[(1, NPY_float, None)] = nanequal_1d_float_axisNone - * nanequal_dict[(1, NPY_float32, 0)] = nanequal_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float32, 0)] = nanequal_1d_float32_axisNone * nanequal_dict[(1, NPY_float32, None)] = nanequal_1d_float32_axisNone - * nanequal_dict[(1, NPY_float64, 0)] = nanequal_1d_float64_axisNone + * nanequal_dict[(1, NPY_float64, 0)] = nanequal_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float64, None)] = nanequal_1d_float64_axisNone + * nanequal_dict[(2, NPY_float, None)] = nanequal_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19326,19 +19326,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":725 - * nanequal_dict[(1, NPY_float, None)] = nanequal_1d_float_axisNone - * nanequal_dict[(1, NPY_float32, 0)] = nanequal_1d_float32_axisNone - * nanequal_dict[(1, NPY_float32, None)] = nanequal_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float32, None)] = nanequal_1d_float32_axisNone * nanequal_dict[(1, NPY_float64, 0)] = nanequal_1d_float64_axisNone - * nanequal_dict[(1, NPY_float64, None)] = nanequal_1d_float64_axisNone + * nanequal_dict[(1, NPY_float64, None)] = nanequal_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float, None)] = nanequal_2d_float_axisNone + * nanequal_dict[(2, NPY_float32, None)] = nanequal_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19356,55 +19356,55 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":726 - * nanequal_dict[(1, NPY_float32, 0)] = nanequal_1d_float32_axisNone - * nanequal_dict[(1, NPY_float32, None)] = nanequal_1d_float32_axisNone - * nanequal_dict[(1, NPY_float64, 0)] = nanequal_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float64, 0)] = nanequal_1d_float64_axisNone * nanequal_dict[(1, NPY_float64, None)] = nanequal_1d_float64_axisNone - * nanequal_dict[(2, NPY_float, None)] = nanequal_2d_float_axisNone + * nanequal_dict[(2, NPY_float, None)] = nanequal_2d_float_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float32, None)] = nanequal_2d_float32_axisNone + * nanequal_dict[(2, NPY_float64, None)] = nanequal_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8nanequal_nanequal_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":727 - * nanequal_dict[(1, NPY_float32, None)] = nanequal_1d_float32_axisNone - * nanequal_dict[(1, NPY_float64, 0)] = nanequal_1d_float64_axisNone - * nanequal_dict[(1, NPY_float64, None)] = nanequal_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float64, None)] = nanequal_1d_float64_axisNone * nanequal_dict[(2, NPY_float, None)] = nanequal_2d_float_axisNone - * nanequal_dict[(2, NPY_float32, None)] = nanequal_2d_float32_axisNone + * nanequal_dict[(2, NPY_float32, None)] = nanequal_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float64, None)] = nanequal_2d_float64_axisNone + * nanequal_dict[(2, NPY_int, 0)] = nanequal_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -19416,19 +19416,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":728 - * nanequal_dict[(1, NPY_float64, 0)] = nanequal_1d_float64_axisNone - * nanequal_dict[(1, NPY_float64, None)] = nanequal_1d_float64_axisNone - * nanequal_dict[(2, NPY_float, None)] = nanequal_2d_float_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float, None)] = nanequal_2d_float_axisNone * nanequal_dict[(2, NPY_float32, None)] = nanequal_2d_float32_axisNone - * nanequal_dict[(2, NPY_float64, None)] = nanequal_2d_float64_axisNone + * nanequal_dict[(2, NPY_float64, None)] = nanequal_2d_float64_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_int, 0)] = nanequal_2d_int_axis0 + * nanequal_dict[(2, NPY_int, 1)] = nanequal_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19446,19 +19446,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":729 - * nanequal_dict[(1, NPY_float64, None)] = nanequal_1d_float64_axisNone - * nanequal_dict[(2, NPY_float, None)] = nanequal_2d_float_axisNone - * nanequal_dict[(2, NPY_float32, None)] = nanequal_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float32, None)] = nanequal_2d_float32_axisNone * nanequal_dict[(2, NPY_float64, None)] = nanequal_2d_float64_axisNone - * nanequal_dict[(2, NPY_float, 0)] = nanequal_2d_float_axis0 + * nanequal_dict[(2, NPY_int, 0)] = nanequal_2d_int_axis0 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_int, 1)] = nanequal_2d_int_axis1 + * nanequal_dict[(2, NPY_int8, 0)] = nanequal_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19467,28 +19467,28 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8nanequal_nanequal_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":730 - * nanequal_dict[(2, NPY_float, None)] = nanequal_2d_float_axisNone - * nanequal_dict[(2, NPY_float32, None)] = nanequal_2d_float32_axisNone - * nanequal_dict[(2, NPY_float64, None)] = nanequal_2d_float64_axisNone # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_float, 0)] = nanequal_2d_float_axis0 - * nanequal_dict[(2, NPY_float, 1)] = nanequal_2d_float_axis1 + * nanequal_dict[(2, NPY_float64, None)] = nanequal_2d_float64_axisNone + * nanequal_dict[(2, NPY_int, 0)] = nanequal_2d_int_axis0 + * nanequal_dict[(2, NPY_int, 1)] = nanequal_2d_int_axis1 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_int8, 0)] = nanequal_2d_int8_axis0 + * nanequal_dict[(2, NPY_int8, 1)] = nanequal_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19497,28 +19497,28 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8nanequal_nanequal_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":731 - * nanequal_dict[(2, NPY_float32, None)] = nanequal_2d_float32_axisNone - * nanequal_dict[(2, NPY_float64, None)] = nanequal_2d_float64_axisNone - * nanequal_dict[(2, NPY_float, 0)] = nanequal_2d_float_axis0 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_float, 1)] = nanequal_2d_float_axis1 - * nanequal_dict[(2, NPY_float32, 0)] = nanequal_2d_float32_axis0 + * nanequal_dict[(2, NPY_int, 0)] = nanequal_2d_int_axis0 + * nanequal_dict[(2, NPY_int, 1)] = nanequal_2d_int_axis1 + * nanequal_dict[(2, NPY_int8, 0)] = nanequal_2d_int8_axis0 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_int8, 1)] = nanequal_2d_int8_axis1 + * nanequal_dict[(2, NPY_int32, 0)] = nanequal_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19536,19 +19536,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":732 - * nanequal_dict[(2, NPY_float64, None)] = nanequal_2d_float64_axisNone - * nanequal_dict[(2, NPY_float, 0)] = nanequal_2d_float_axis0 - * nanequal_dict[(2, NPY_float, 1)] = nanequal_2d_float_axis1 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_float32, 0)] = nanequal_2d_float32_axis0 - * nanequal_dict[(2, NPY_float32, 1)] = nanequal_2d_float32_axis1 + * nanequal_dict[(2, NPY_int, 1)] = nanequal_2d_int_axis1 + * nanequal_dict[(2, NPY_int8, 0)] = nanequal_2d_int8_axis0 + * nanequal_dict[(2, NPY_int8, 1)] = nanequal_2d_int8_axis1 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_int32, 0)] = nanequal_2d_int32_axis0 + * nanequal_dict[(2, NPY_int32, 1)] = nanequal_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19566,19 +19566,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":733 - * nanequal_dict[(2, NPY_float, 0)] = nanequal_2d_float_axis0 - * nanequal_dict[(2, NPY_float, 1)] = nanequal_2d_float_axis1 - * nanequal_dict[(2, NPY_float32, 0)] = nanequal_2d_float32_axis0 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_float32, 1)] = nanequal_2d_float32_axis1 - * nanequal_dict[(2, NPY_float64, 0)] = nanequal_2d_float64_axis0 + * nanequal_dict[(2, NPY_int8, 0)] = nanequal_2d_int8_axis0 + * nanequal_dict[(2, NPY_int8, 1)] = nanequal_2d_int8_axis1 + * nanequal_dict[(2, NPY_int32, 0)] = nanequal_2d_int32_axis0 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_int32, 1)] = nanequal_2d_int32_axis1 + * nanequal_dict[(2, NPY_int64, 0)] = nanequal_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19596,19 +19596,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":734 - * nanequal_dict[(2, NPY_float, 1)] = nanequal_2d_float_axis1 - * nanequal_dict[(2, NPY_float32, 0)] = nanequal_2d_float32_axis0 - * nanequal_dict[(2, NPY_float32, 1)] = nanequal_2d_float32_axis1 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_float64, 0)] = nanequal_2d_float64_axis0 - * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 + * nanequal_dict[(2, NPY_int8, 1)] = nanequal_2d_int8_axis1 + * nanequal_dict[(2, NPY_int32, 0)] = nanequal_2d_int32_axis0 + * nanequal_dict[(2, NPY_int32, 1)] = nanequal_2d_int32_axis1 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_int64, 0)] = nanequal_2d_int64_axis0 + * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19626,19 +19626,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":735 - * nanequal_dict[(2, NPY_float32, 0)] = nanequal_2d_float32_axis0 - * nanequal_dict[(2, NPY_float32, 1)] = nanequal_2d_float32_axis1 - * nanequal_dict[(2, NPY_float64, 0)] = nanequal_2d_float64_axis0 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 + * nanequal_dict[(2, NPY_int32, 0)] = nanequal_2d_int32_axis0 + * nanequal_dict[(2, NPY_int32, 1)] = nanequal_2d_int32_axis1 + * nanequal_dict[(2, NPY_int64, 0)] = nanequal_2d_int64_axis0 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19656,19 +19656,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":736 - * nanequal_dict[(2, NPY_float32, 1)] = nanequal_2d_float32_axis1 - * nanequal_dict[(2, NPY_float64, 0)] = nanequal_2d_float64_axis0 - * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_int32, 1)] = nanequal_2d_int32_axis1 + * nanequal_dict[(2, NPY_int64, 0)] = nanequal_2d_int64_axis0 + * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nanequal_slow_axis0(arr1, arr2): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19686,7 +19686,7 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":738 - * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 + * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 * * def nanequal_slow_axis0(arr1, arr2): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanequal along axis 0." @@ -20660,7 +20660,7 @@ PyMODINIT_FUNC PyInit_nanequal(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/nanmax.c b/bottlechest/src/func/32bit/nanmax.c index c9a4268726..6a3b918252 100644 --- a/bottlechest/src/func/32bit/nanmax.c +++ b/bottlechest/src/func/32bit/nanmax.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1104,13 +1104,13 @@ static __pyx_t_5numpy_float32_t __pyx_v_6nanmax_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_6nanmax_MAXfloat64; static PyObject *__pyx_v_6nanmax_nanmax_dict = 0; static PyObject *__pyx_v_6nanmax_nanmax_slow_dict = 0; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "nanmax" int __pyx_module_is_main_nanmax = 0; @@ -1122,34 +1122,34 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_6nanmax_nanmax(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_6nanmax_2nanmax_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_16nanmax_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_18nanmax_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_22nanmax_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_24nanmax_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_28nanmax_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_30nanmax_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_32nanmax_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_34nanmax_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_36nanmax_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_38nanmax_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_40nanmax_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_42nanmax_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_44nanmax_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_46nanmax_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_48nanmax_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_50nanmax_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_52nanmax_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_54nanmax_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_56nanmax_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_58nanmax_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_4nanmax_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_6nanmax_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_8nanmax_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_10nanmax_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_12nanmax_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_14nanmax_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_16nanmax_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_18nanmax_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_22nanmax_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_24nanmax_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_28nanmax_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_30nanmax_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_32nanmax_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_34nanmax_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_36nanmax_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_38nanmax_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_40nanmax_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_42nanmax_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_44nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_46nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_48nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_50nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_52nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_54nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_56nanmax_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_58nanmax_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_6nanmax_60nanmax_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6nanmax_62nanmax_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6nanmax_64nanmax_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1328,17 +1328,16 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Maximum_values_along_specified[] = "\n Maximum values along specified axis, ignoring NaNs.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}, optional\n Axis along which the maximum is computed. The default (axis=None) is\n to compute the maximum of the flattened array.\n\n Returns\n -------\n y : ndarray\n An array with the same shape as `arr`, with the specified axis removed.\n If `arr` is a 0-d array, or if axis is None, a scalar is returned.\n\n See also\n --------\n bottlechest.nanmin: Minimum along specified axis, ignoring NaNs.\n bottlechest.nanargmax: Indices of maximum values along axis, ignoring NaNs. \n \n Examples\n --------\n >>> bn.nanmax(1)\n 1\n >>> bn.nanmax([1])\n 1\n >>> bn.nanmax([1, np.nan])\n 1.0\n >>> a = np.array([[1, 4], [1, np.nan]])\n >>> bn.nanmax(a)\n 4.0\n >>> bn.nanmax(a, axis=0)\n array([ 1., 4.])\n \n "; static char __pyx_k_Return_nanmax_function_and_arra[] = "\n Return nanmax function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in bn.nanmax()\n is in checking that `axis` is within range, converting `arr` into an\n array (if it is not already an array), and selecting the function to use\n to calculate the maximum.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the maximum is to be computed.\n \n Returns\n -------\n func : function\n The nanamx function that matches the number of dimensions and\n dtype of the input array and the axis along which you wish to find\n the maximum.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine the maximum of `arr` along\n axis=0:\n\n >>> func, a = bn.func.nanmax_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the maximum:\n \n >>> func(a)\n 3.0\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/nanmax.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_numpy_nanmax_raises_on_a_size_0[] = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\nanmax.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_numpy_nanmax_raises_on_a_shape_a[] = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does."; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1352,6 +1351,7 @@ static PyObject *__pyx_kp_u_Return_nanmax_function_and_arra; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__7; static PyObject *__pyx_n_s_a; @@ -2459,24 +2459,24 @@ static PyObject *__pyx_pf_6nanmax_2nanmax_selector(CYTHON_UNUSED PyObject *__pyx /* "nanmax.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=0 ignoring NaNs." + * def nanmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_5nanmax_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_4nanmax_2d_int_axis0[] = "nanmax_2d_int_axis0(ndarray a)\nMaximum of 2d array with dtype=int along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_5nanmax_2d_int_axis0 = {"nanmax_2d_int_axis0", (PyCFunction)__pyx_pw_6nanmax_5nanmax_2d_int_axis0, METH_O, __pyx_doc_6nanmax_4nanmax_2d_int_axis0}; -static PyObject *__pyx_pw_6nanmax_5nanmax_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_5nanmax_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_4nanmax_2d_float_axis0[] = "nanmax_2d_float_axis0(ndarray a)\nMaximum of 2d array with dtype=float along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_5nanmax_2d_float_axis0 = {"nanmax_2d_float_axis0", (PyCFunction)__pyx_pw_6nanmax_5nanmax_2d_float_axis0, METH_O, __pyx_doc_6nanmax_4nanmax_2d_float_axis0}; +static PyObject *__pyx_pw_6nanmax_5nanmax_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanmax_2d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_4nanmax_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6nanmax_4nanmax_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2487,10 +2487,10 @@ static PyObject *__pyx_pw_6nanmax_5nanmax_2d_int_axis0(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amax; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_4nanmax_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amax; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2519,7 +2519,7 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("nanmax_2d_float_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2530,15 +2530,15 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanmax.pyx":185 - * def nanmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Maximum of 2d array with dtype=int along axis=0 ignoring NaNs." + * def nanmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Maximum of 2d array with dtype=float along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amax, ai + * cdef np.float_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; @@ -2566,7 +2566,7 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -2574,8 +2574,8 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; @@ -2583,17 +2583,17 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "nanmax.pyx":193 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -2604,8 +2604,8 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_t_2 = 0; /* "nanmax.pyx":195 - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -2614,7 +2614,7 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ if (__pyx_t_4) { /* "nanmax.pyx":196 - * NPY_int, 0) + * NPY_float, 0) * if n0 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -2628,7 +2628,7 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1): - * amax = MINint + * amax = MINfloat */ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -2647,8 +2647,8 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i1 in range(n1): # <<<<<<<<<<<<<< - * amax = MINint - * for i0 in range(n0): + * amax = MINfloat + * allnan = 1 */ __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { @@ -2657,15 +2657,24 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "nanmax.pyx":199 * raise ValueError(msg) * for i1 in range(n1): - * amax = MINint # <<<<<<<<<<<<<< + * amax = MINfloat # <<<<<<<<<<<<<< + * allnan = 1 * for i0 in range(n0): - * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_6nanmax_MINint; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat; /* "nanmax.pyx":200 * for i1 in range(n1): - * amax = MINint + * amax = MINfloat + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmax.pyx":201 + * amax = MINfloat + * allnan = 1 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -2674,8 +2683,8 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "nanmax.pyx":201 - * amax = MINint + /* "nanmax.pyx":202 + * allnan = 1 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -2683,45 +2692,79 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":202 + /* "nanmax.pyx":203 * for i0 in range(n0): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i1] = amax + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":203 + /* "nanmax.pyx":204 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i1] = amax - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amax = __pyx_v_ai; + + /* "nanmax.pyx":205 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = amax + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmax.pyx":204 - * if ai >= amax: + /* "nanmax.pyx":206 * amax = ai - * y[i1] = amax # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = amax + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":207 + * allnan = 0 + * if allnan == 0: + * y[i1] = amax # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmax.pyx":209 + * y[i1] = amax + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + __pyx_t_9 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; + } + __pyx_L9:; } - /* "nanmax.pyx":205 - * amax = ai - * y[i1] = amax + /* "nanmax.pyx":210 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2734,8 +2777,8 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "nanmax.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=0 ignoring NaNs." + * def nanmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -2748,7 +2791,7 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2762,27 +2805,27 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "nanmax.pyx":209 +/* "nanmax.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=1 ignoring NaNs." + * def nanmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_7nanmax_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_6nanmax_2d_int_axis1[] = "nanmax_2d_int_axis1(ndarray a)\nMaximum of 2d array with dtype=int along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_7nanmax_2d_int_axis1 = {"nanmax_2d_int_axis1", (PyCFunction)__pyx_pw_6nanmax_7nanmax_2d_int_axis1, METH_O, __pyx_doc_6nanmax_6nanmax_2d_int_axis1}; -static PyObject *__pyx_pw_6nanmax_7nanmax_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_7nanmax_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_6nanmax_2d_float_axis1[] = "nanmax_2d_float_axis1(ndarray a)\nMaximum of 2d array with dtype=float along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_7nanmax_2d_float_axis1 = {"nanmax_2d_float_axis1", (PyCFunction)__pyx_pw_6nanmax_7nanmax_2d_float_axis1, METH_O, __pyx_doc_6nanmax_6nanmax_2d_float_axis1}; +static PyObject *__pyx_pw_6nanmax_7nanmax_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_6nanmax_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_float_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_6nanmax_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2793,10 +2836,10 @@ static PyObject *__pyx_pw_6nanmax_7nanmax_2d_int_axis1(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amax; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_6nanmax_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amax; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2825,7 +2868,7 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("nanmax_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2836,20 +2879,20 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":211 - * def nanmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Maximum of 2d array with dtype=int along axis=1 ignoring NaNs." + /* "nanmax.pyx":216 + * def nanmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Maximum of 2d array with dtype=float along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amax, ai + * cdef np.float_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":215 + /* "nanmax.pyx":220 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2858,7 +2901,7 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":216 + /* "nanmax.pyx":221 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2867,41 +2910,41 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":217 + /* "nanmax.pyx":222 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":218 + /* "nanmax.pyx":223 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":219 + /* "nanmax.pyx":224 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2909,9 +2952,9 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":221 - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + /* "nanmax.pyx":226 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -2919,8 +2962,8 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":222 - * NPY_int, 0) + /* "nanmax.pyx":227 + * NPY_float, 0) * if n1 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -2929,49 +2972,58 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; - /* "nanmax.pyx":223 + /* "nanmax.pyx":228 * if n1 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): - * amax = MINint + * amax = MINfloat */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":224 + /* "nanmax.pyx":229 * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i0 in range(n0): # <<<<<<<<<<<<<< - * amax = MINint - * for i1 in range(n1): + * amax = MINfloat + * allnan = 1 */ __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanmax.pyx":225 + /* "nanmax.pyx":230 * raise ValueError(msg) * for i0 in range(n0): - * amax = MINint # <<<<<<<<<<<<<< + * amax = MINfloat # <<<<<<<<<<<<<< + * allnan = 1 * for i1 in range(n1): - * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_6nanmax_MINint; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat; - /* "nanmax.pyx":226 + /* "nanmax.pyx":231 * for i0 in range(n0): - * amax = MINint + * amax = MINfloat + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmax.pyx":232 + * amax = MINfloat + * allnan = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -2980,8 +3032,8 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i1 = __pyx_t_9; - /* "nanmax.pyx":227 - * amax = MINint + /* "nanmax.pyx":233 + * allnan = 1 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -2989,45 +3041,79 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":228 + /* "nanmax.pyx":234 * for i1 in range(n1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i0] = amax + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":229 + /* "nanmax.pyx":235 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i0] = amax - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amax = __pyx_v_ai; + + /* "nanmax.pyx":236 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = amax + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmax.pyx":230 - * if ai >= amax: + /* "nanmax.pyx":237 * amax = ai - * y[i0] = amax # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = amax + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":238 + * allnan = 0 + * if allnan == 0: + * y[i0] = amax # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmax.pyx":240 + * y[i0] = amax + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + __pyx_t_9 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; + } + __pyx_L9:; } - /* "nanmax.pyx":231 - * amax = ai - * y[i0] = amax + /* "nanmax.pyx":241 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3037,11 +3123,11 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":209 + /* "nanmax.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=1 ignoring NaNs." + * def nanmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -3054,7 +3140,7 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3068,27 +3154,27 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "nanmax.pyx":235 +/* "nanmax.pyx":245 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * def nanmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_9nanmax_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_8nanmax_2d_int8_axis0[] = "nanmax_2d_int8_axis0(ndarray a)\nMaximum of 2d array with dtype=int8 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_9nanmax_2d_int8_axis0 = {"nanmax_2d_int8_axis0", (PyCFunction)__pyx_pw_6nanmax_9nanmax_2d_int8_axis0, METH_O, __pyx_doc_6nanmax_8nanmax_2d_int8_axis0}; -static PyObject *__pyx_pw_6nanmax_9nanmax_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_9nanmax_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_8nanmax_2d_float32_axis0[] = "nanmax_2d_float32_axis0(ndarray a)\nMaximum of 2d array with dtype=float32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_9nanmax_2d_float32_axis0 = {"nanmax_2d_float32_axis0", (PyCFunction)__pyx_pw_6nanmax_9nanmax_2d_float32_axis0, METH_O, __pyx_doc_6nanmax_8nanmax_2d_float32_axis0}; +static PyObject *__pyx_pw_6nanmax_9nanmax_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_8nanmax_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_8nanmax_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3099,10 +3185,10 @@ static PyObject *__pyx_pw_6nanmax_9nanmax_2d_int8_axis0(PyObject *__pyx_self, Py return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amax; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_8nanmax_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amax; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3131,7 +3217,7 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nanmax_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3142,20 +3228,20 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":237 - * def nanmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Maximum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + /* "nanmax.pyx":247 + * def nanmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Maximum of 2d array with dtype=float32 along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amax, ai + * cdef np.float32_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":241 + /* "nanmax.pyx":251 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3164,7 +3250,7 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":242 + /* "nanmax.pyx":252 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3173,41 +3259,41 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":243 + /* "nanmax.pyx":253 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":244 + /* "nanmax.pyx":254 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":245 + /* "nanmax.pyx":255 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3215,9 +3301,9 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":247 - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + /* "nanmax.pyx":257 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -3225,8 +3311,8 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":248 - * NPY_int8, 0) + /* "nanmax.pyx":258 + * NPY_float32, 0) * if n0 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -3235,49 +3321,58 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; - /* "nanmax.pyx":249 + /* "nanmax.pyx":259 * if n0 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1): - * amax = MINint8 + * amax = MINfloat32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":250 + /* "nanmax.pyx":260 * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i1 in range(n1): # <<<<<<<<<<<<<< - * amax = MINint8 - * for i0 in range(n0): + * amax = MINfloat32 + * allnan = 1 */ __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":251 + /* "nanmax.pyx":261 * raise ValueError(msg) * for i1 in range(n1): - * amax = MINint8 # <<<<<<<<<<<<<< + * amax = MINfloat32 # <<<<<<<<<<<<<< + * allnan = 1 * for i0 in range(n0): - * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_6nanmax_MINint8; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat32; - /* "nanmax.pyx":252 + /* "nanmax.pyx":262 * for i1 in range(n1): - * amax = MINint8 + * amax = MINfloat32 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmax.pyx":263 + * amax = MINfloat32 + * allnan = 1 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -3286,8 +3381,8 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "nanmax.pyx":253 - * amax = MINint8 + /* "nanmax.pyx":264 + * allnan = 1 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -3295,45 +3390,79 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":254 + /* "nanmax.pyx":265 * for i0 in range(n0): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i1] = amax + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":255 + /* "nanmax.pyx":266 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i1] = amax - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amax = __pyx_v_ai; + + /* "nanmax.pyx":267 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = amax + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmax.pyx":256 - * if ai >= amax: + /* "nanmax.pyx":268 * amax = ai - * y[i1] = amax # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = amax + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":269 + * allnan = 0 + * if allnan == 0: + * y[i1] = amax # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmax.pyx":271 + * y[i1] = amax + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + __pyx_t_9 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; + } + __pyx_L9:; } - /* "nanmax.pyx":257 - * amax = ai - * y[i1] = amax + /* "nanmax.pyx":272 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3343,11 +3472,11 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":235 + /* "nanmax.pyx":245 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * def nanmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -3360,7 +3489,7 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3374,27 +3503,27 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "nanmax.pyx":261 +/* "nanmax.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * def nanmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_11nanmax_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_10nanmax_2d_int8_axis1[] = "nanmax_2d_int8_axis1(ndarray a)\nMaximum of 2d array with dtype=int8 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_11nanmax_2d_int8_axis1 = {"nanmax_2d_int8_axis1", (PyCFunction)__pyx_pw_6nanmax_11nanmax_2d_int8_axis1, METH_O, __pyx_doc_6nanmax_10nanmax_2d_int8_axis1}; -static PyObject *__pyx_pw_6nanmax_11nanmax_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_11nanmax_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_10nanmax_2d_float32_axis1[] = "nanmax_2d_float32_axis1(ndarray a)\nMaximum of 2d array with dtype=float32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_11nanmax_2d_float32_axis1 = {"nanmax_2d_float32_axis1", (PyCFunction)__pyx_pw_6nanmax_11nanmax_2d_float32_axis1, METH_O, __pyx_doc_6nanmax_10nanmax_2d_float32_axis1}; +static PyObject *__pyx_pw_6nanmax_11nanmax_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int8_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_10nanmax_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_float32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_10nanmax_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3405,10 +3534,10 @@ static PyObject *__pyx_pw_6nanmax_11nanmax_2d_int8_axis1(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amax; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_10nanmax_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amax; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3437,7 +3566,7 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("nanmax_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3448,20 +3577,20 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":263 - * def nanmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Maximum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + /* "nanmax.pyx":278 + * def nanmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Maximum of 2d array with dtype=float32 along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amax, ai + * cdef np.float32_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":267 + /* "nanmax.pyx":282 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3470,7 +3599,7 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":268 + /* "nanmax.pyx":283 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3479,41 +3608,41 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":269 + /* "nanmax.pyx":284 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":270 + /* "nanmax.pyx":285 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":271 + /* "nanmax.pyx":286 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3521,9 +3650,9 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":273 - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + /* "nanmax.pyx":288 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -3531,8 +3660,8 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":274 - * NPY_int8, 0) + /* "nanmax.pyx":289 + * NPY_float32, 0) * if n1 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -3541,49 +3670,58 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; - /* "nanmax.pyx":275 + /* "nanmax.pyx":290 * if n1 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): - * amax = MINint8 + * amax = MINfloat32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":276 + /* "nanmax.pyx":291 * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i0 in range(n0): # <<<<<<<<<<<<<< - * amax = MINint8 - * for i1 in range(n1): + * amax = MINfloat32 + * allnan = 1 */ __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanmax.pyx":277 + /* "nanmax.pyx":292 * raise ValueError(msg) * for i0 in range(n0): - * amax = MINint8 # <<<<<<<<<<<<<< + * amax = MINfloat32 # <<<<<<<<<<<<<< + * allnan = 1 * for i1 in range(n1): - * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_6nanmax_MINint8; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat32; - /* "nanmax.pyx":278 + /* "nanmax.pyx":293 * for i0 in range(n0): - * amax = MINint8 + * amax = MINfloat32 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmax.pyx":294 + * amax = MINfloat32 + * allnan = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -3592,8 +3730,8 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i1 = __pyx_t_9; - /* "nanmax.pyx":279 - * amax = MINint8 + /* "nanmax.pyx":295 + * allnan = 1 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -3601,45 +3739,79 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":280 + /* "nanmax.pyx":296 * for i1 in range(n1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i0] = amax + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":281 + /* "nanmax.pyx":297 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i0] = amax - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amax = __pyx_v_ai; + + /* "nanmax.pyx":298 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = amax + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmax.pyx":282 - * if ai >= amax: + /* "nanmax.pyx":299 * amax = ai - * y[i0] = amax # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = amax + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":300 + * allnan = 0 + * if allnan == 0: + * y[i0] = amax # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmax.pyx":302 + * y[i0] = amax + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + __pyx_t_9 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; + } + __pyx_L9:; } - /* "nanmax.pyx":283 - * amax = ai - * y[i0] = amax + /* "nanmax.pyx":303 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3649,11 +3821,11 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":261 + /* "nanmax.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * def nanmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -3666,7 +3838,7 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3680,27 +3852,27 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanmax.pyx":287 +/* "nanmax.pyx":307 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * def nanmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_13nanmax_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_12nanmax_2d_int32_axis0[] = "nanmax_2d_int32_axis0(ndarray a)\nMaximum of 2d array with dtype=int32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_13nanmax_2d_int32_axis0 = {"nanmax_2d_int32_axis0", (PyCFunction)__pyx_pw_6nanmax_13nanmax_2d_int32_axis0, METH_O, __pyx_doc_6nanmax_12nanmax_2d_int32_axis0}; -static PyObject *__pyx_pw_6nanmax_13nanmax_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_13nanmax_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_12nanmax_2d_float64_axis0[] = "nanmax_2d_float64_axis0(ndarray a)\nMaximum of 2d array with dtype=float64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_13nanmax_2d_float64_axis0 = {"nanmax_2d_float64_axis0", (PyCFunction)__pyx_pw_6nanmax_13nanmax_2d_float64_axis0, METH_O, __pyx_doc_6nanmax_12nanmax_2d_float64_axis0}; +static PyObject *__pyx_pw_6nanmax_13nanmax_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_12nanmax_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_12nanmax_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3711,10 +3883,10 @@ static PyObject *__pyx_pw_6nanmax_13nanmax_2d_int32_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amax; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_12nanmax_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_amax; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3743,7 +3915,7 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nanmax_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3754,20 +3926,20 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":289 - * def nanmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Maximum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + /* "nanmax.pyx":309 + * def nanmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Maximum of 2d array with dtype=float64 along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amax, ai + * cdef np.float64_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":293 + /* "nanmax.pyx":313 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3776,7 +3948,7 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":294 + /* "nanmax.pyx":314 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3785,41 +3957,41 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":295 + /* "nanmax.pyx":315 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":296 + /* "nanmax.pyx":316 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":297 + /* "nanmax.pyx":317 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3827,9 +3999,9 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":299 - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + /* "nanmax.pyx":319 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -3837,8 +4009,8 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":300 - * NPY_int32, 0) + /* "nanmax.pyx":320 + * NPY_float64, 0) * if n0 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -3847,49 +4019,58 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; - /* "nanmax.pyx":301 + /* "nanmax.pyx":321 * if n0 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1): - * amax = MINint32 + * amax = MINfloat64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":302 + /* "nanmax.pyx":322 * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i1 in range(n1): # <<<<<<<<<<<<<< - * amax = MINint32 - * for i0 in range(n0): + * amax = MINfloat64 + * allnan = 1 */ __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":303 + /* "nanmax.pyx":323 * raise ValueError(msg) * for i1 in range(n1): - * amax = MINint32 # <<<<<<<<<<<<<< + * amax = MINfloat64 # <<<<<<<<<<<<<< + * allnan = 1 * for i0 in range(n0): - * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_6nanmax_MINint32; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat64; - /* "nanmax.pyx":304 + /* "nanmax.pyx":324 * for i1 in range(n1): - * amax = MINint32 + * amax = MINfloat64 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmax.pyx":325 + * amax = MINfloat64 + * allnan = 1 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -3898,8 +4079,8 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "nanmax.pyx":305 - * amax = MINint32 + /* "nanmax.pyx":326 + * allnan = 1 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -3907,45 +4088,79 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":306 + /* "nanmax.pyx":327 * for i0 in range(n0): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i1] = amax + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":307 + /* "nanmax.pyx":328 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i1] = amax - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amax = __pyx_v_ai; + + /* "nanmax.pyx":329 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = amax + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmax.pyx":308 - * if ai >= amax: + /* "nanmax.pyx":330 * amax = ai - * y[i1] = amax # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = amax + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":331 + * allnan = 0 + * if allnan == 0: + * y[i1] = amax # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmax.pyx":333 + * y[i1] = amax + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + __pyx_t_9 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; + } + __pyx_L9:; } - /* "nanmax.pyx":309 - * amax = ai - * y[i1] = amax + /* "nanmax.pyx":334 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3955,11 +4170,11 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":287 + /* "nanmax.pyx":307 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * def nanmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -3972,7 +4187,7 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3986,27 +4201,27 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanmax.pyx":313 +/* "nanmax.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * def nanmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_15nanmax_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_14nanmax_2d_int32_axis1[] = "nanmax_2d_int32_axis1(ndarray a)\nMaximum of 2d array with dtype=int32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_15nanmax_2d_int32_axis1 = {"nanmax_2d_int32_axis1", (PyCFunction)__pyx_pw_6nanmax_15nanmax_2d_int32_axis1, METH_O, __pyx_doc_6nanmax_14nanmax_2d_int32_axis1}; -static PyObject *__pyx_pw_6nanmax_15nanmax_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_15nanmax_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_14nanmax_2d_float64_axis1[] = "nanmax_2d_float64_axis1(ndarray a)\nMaximum of 2d array with dtype=float64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_15nanmax_2d_float64_axis1 = {"nanmax_2d_float64_axis1", (PyCFunction)__pyx_pw_6nanmax_15nanmax_2d_float64_axis1, METH_O, __pyx_doc_6nanmax_14nanmax_2d_float64_axis1}; +static PyObject *__pyx_pw_6nanmax_15nanmax_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_14nanmax_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_float64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_14nanmax_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4017,10 +4232,10 @@ static PyObject *__pyx_pw_6nanmax_15nanmax_2d_int32_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amax; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_14nanmax_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_amax; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -4049,7 +4264,7 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("nanmax_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4060,20 +4275,20 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":315 - * def nanmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Maximum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + /* "nanmax.pyx":340 + * def nanmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Maximum of 2d array with dtype=float64 along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amax, ai + * cdef np.float64_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":319 + /* "nanmax.pyx":344 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4082,7 +4297,7 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":320 + /* "nanmax.pyx":345 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4091,41 +4306,41 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":321 + /* "nanmax.pyx":346 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":322 + /* "nanmax.pyx":347 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":323 + /* "nanmax.pyx":348 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4133,9 +4348,9 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":325 - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + /* "nanmax.pyx":350 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -4143,8 +4358,8 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":326 - * NPY_int32, 0) + /* "nanmax.pyx":351 + * NPY_float64, 0) * if n1 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -4153,49 +4368,58 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; - /* "nanmax.pyx":327 + /* "nanmax.pyx":352 * if n1 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): - * amax = MINint32 + * amax = MINfloat64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":328 + /* "nanmax.pyx":353 * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i0 in range(n0): # <<<<<<<<<<<<<< - * amax = MINint32 - * for i1 in range(n1): + * amax = MINfloat64 + * allnan = 1 */ __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanmax.pyx":329 + /* "nanmax.pyx":354 * raise ValueError(msg) * for i0 in range(n0): - * amax = MINint32 # <<<<<<<<<<<<<< + * amax = MINfloat64 # <<<<<<<<<<<<<< + * allnan = 1 * for i1 in range(n1): - * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_6nanmax_MINint32; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat64; - /* "nanmax.pyx":330 + /* "nanmax.pyx":355 * for i0 in range(n0): - * amax = MINint32 + * amax = MINfloat64 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmax.pyx":356 + * amax = MINfloat64 + * allnan = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -4204,8 +4428,8 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i1 = __pyx_t_9; - /* "nanmax.pyx":331 - * amax = MINint32 + /* "nanmax.pyx":357 + * allnan = 1 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -4213,45 +4437,79 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":332 + /* "nanmax.pyx":358 * for i1 in range(n1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i0] = amax + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":333 + /* "nanmax.pyx":359 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i0] = amax - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amax = __pyx_v_ai; + + /* "nanmax.pyx":360 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = amax + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmax.pyx":334 - * if ai >= amax: + /* "nanmax.pyx":361 * amax = ai - * y[i0] = amax # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = amax + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":362 + * allnan = 0 + * if allnan == 0: + * y[i0] = amax # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmax.pyx":364 + * y[i0] = amax + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + __pyx_t_9 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; + } + __pyx_L9:; } - /* "nanmax.pyx":335 - * amax = ai - * y[i0] = amax + /* "nanmax.pyx":365 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4261,11 +4519,11 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":313 + /* "nanmax.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * def nanmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -4278,7 +4536,7 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4292,27 +4550,27 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanmax.pyx":339 +/* "nanmax.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * def nanmax_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_17nanmax_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_16nanmax_2d_int64_axis0[] = "nanmax_2d_int64_axis0(ndarray a)\nMaximum of 2d array with dtype=int64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_17nanmax_2d_int64_axis0 = {"nanmax_2d_int64_axis0", (PyCFunction)__pyx_pw_6nanmax_17nanmax_2d_int64_axis0, METH_O, __pyx_doc_6nanmax_16nanmax_2d_int64_axis0}; -static PyObject *__pyx_pw_6nanmax_17nanmax_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_17nanmax_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_16nanmax_1d_float_axisNone[] = "nanmax_1d_float_axisNone(ndarray a)\nMaximum of 1d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_17nanmax_1d_float_axisNone = {"nanmax_1d_float_axisNone", (PyCFunction)__pyx_pw_6nanmax_17nanmax_1d_float_axisNone, METH_O, __pyx_doc_6nanmax_16nanmax_1d_float_axisNone}; +static PyObject *__pyx_pw_6nanmax_17nanmax_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_16nanmax_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_1d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_16nanmax_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4323,302 +4581,325 @@ static PyObject *__pyx_pw_6nanmax_17nanmax_2d_int64_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_16nanmax_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amax; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_16nanmax_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amax; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmax_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmax.pyx":341 - * def nanmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Maximum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + /* "nanmax.pyx":371 + * def nanmax_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): + * "Maximum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amax, ai - * cdef Py_ssize_t i0, i1 + * cdef np.float_t amax, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":345 - * cdef Py_ssize_t i0, i1 + /* "nanmax.pyx":375 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":346 + /* "nanmax.pyx":376 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":347 + /* "nanmax.pyx":377 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmax.pyx":348 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "nanmax.pyx":349 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int64, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmax.pyx":351 - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) * if n0 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":352 - * NPY_int64, 0) + /* "nanmax.pyx":378 + * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i1 in range(n1): + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amax = MINfloat */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":353 + /* "nanmax.pyx":379 * if n0 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * amax = MINint64 + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amax = MINfloat + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":354 - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * amax = MINint64 - * for i0 in range(n0): + /* "nanmax.pyx":380 + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amax = MINfloat # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat; - /* "nanmax.pyx":355 - * raise ValueError(msg) - * for i1 in range(n1): - * amax = MINint64 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanmax.pyx":381 + * raise ValueError(m) + * amax = MINfloat + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai >= amax: */ - __pyx_v_amax = __pyx_v_6nanmax_MINint64; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":356 - * for i1 in range(n1): - * amax = MINint64 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai >= amax: + /* "nanmax.pyx":382 + * amax = MINfloat + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmax.pyx":357 - * amax = MINint64 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "nanmax.pyx":383 + * for i0 in range(n0): + * ai = a[i0] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * allnan = 0 */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":358 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * y[i1] = amax + /* "nanmax.pyx":384 + * ai = a[i0] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { + __pyx_v_amax = __pyx_v_ai; - /* "nanmax.pyx":359 - * ai = a[i0, i1] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * y[i1] = amax - * return y + /* "nanmax.pyx":385 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * return np.float(amax) */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L8; - } - __pyx_L8:; + __pyx_v_allnan = 0; + goto __pyx_L6; } - - /* "nanmax.pyx":360 - * if ai >= amax: - * amax = ai - * y[i1] = amax # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + __pyx_L6:; } - /* "nanmax.pyx":361 - * amax = ai - * y[i1] = amax - * return y # <<<<<<<<<<<<<< - * + /* "nanmax.pyx":386 + * amax = ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.float(amax) + * else: + */ + __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_1) { + + /* "nanmax.pyx":387 + * allnan = 0 + * if allnan == 0: + * return np.float(amax) # <<<<<<<<<<<<<< + * else: + * return np.float(NAN) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + } + /*else*/ { + + /* "nanmax.pyx":389 + * return np.float(amax) + * else: + * return np.float(NAN) # <<<<<<<<<<<<<< + * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_2 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_2) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + } - /* "nanmax.pyx":339 + /* "nanmax.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * def nanmax_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":365 +/* "nanmax.pyx":393 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=1 ignoring NaNs." + * def nanmax_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_19nanmax_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_18nanmax_2d_int64_axis1[] = "nanmax_2d_int64_axis1(ndarray a)\nMaximum of 2d array with dtype=int64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_19nanmax_2d_int64_axis1 = {"nanmax_2d_int64_axis1", (PyCFunction)__pyx_pw_6nanmax_19nanmax_2d_int64_axis1, METH_O, __pyx_doc_6nanmax_18nanmax_2d_int64_axis1}; -static PyObject *__pyx_pw_6nanmax_19nanmax_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_19nanmax_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_18nanmax_1d_float32_axisNone[] = "nanmax_1d_float32_axisNone(ndarray a)\nMaximum of 1d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_19nanmax_1d_float32_axisNone = {"nanmax_1d_float32_axisNone", (PyCFunction)__pyx_pw_6nanmax_19nanmax_1d_float32_axisNone, METH_O, __pyx_doc_6nanmax_18nanmax_1d_float32_axisNone}; +static PyObject *__pyx_pw_6nanmax_19nanmax_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_18nanmax_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_1d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_18nanmax_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4629,302 +4910,325 @@ static PyObject *__pyx_pw_6nanmax_19nanmax_2d_int64_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_18nanmax_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amax; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_18nanmax_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amax; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmax_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmax.pyx":367 - * def nanmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Maximum of 2d array with dtype=int64 along axis=1 ignoring NaNs." + /* "nanmax.pyx":395 + * def nanmax_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): + * "Maximum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amax, ai - * cdef Py_ssize_t i0, i1 + * cdef np.float32_t amax, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":371 - * cdef Py_ssize_t i0, i1 + /* "nanmax.pyx":399 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":372 + /* "nanmax.pyx":400 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":373 + /* "nanmax.pyx":401 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":374 + /* "nanmax.pyx":402 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) + * if n0 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amax = MINfloat32 */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":375 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int64, 0) - * if n1 == 0: + /* "nanmax.pyx":403 + * if n0 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amax = MINfloat32 + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanmax.pyx":377 - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) + /* "nanmax.pyx":404 + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amax = MINfloat32 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_v_amax = __pyx_v_6nanmax_MINfloat32; - /* "nanmax.pyx":378 - * NPY_int64, 0) - * if n1 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i0 in range(n0): + /* "nanmax.pyx":405 + * raise ValueError(m) + * amax = MINfloat32 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai >= amax: */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":379 - * if n1 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< + /* "nanmax.pyx":406 + * amax = MINfloat32 * for i0 in range(n0): - * amax = MINint64 - */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - - /* "nanmax.pyx":380 - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * amax = MINint64 - * for i1 in range(n1): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmax.pyx":381 - * raise ValueError(msg) + /* "nanmax.pyx":407 * for i0 in range(n0): - * amax = MINint64 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * allnan = 0 */ - __pyx_v_amax = __pyx_v_6nanmax_MINint64; + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":382 - * for i0 in range(n0): - * amax = MINint64 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai >= amax: + /* "nanmax.pyx":408 + * ai = a[i0] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_amax = __pyx_v_ai; - /* "nanmax.pyx":383 - * amax = MINint64 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "nanmax.pyx":409 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * return np.float32(amax) */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_allnan = 0; + goto __pyx_L6; + } + __pyx_L6:; + } - /* "nanmax.pyx":384 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * y[i0] = amax + /* "nanmax.pyx":410 + * amax = ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.float32(amax) + * else: */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":385 - * ai = a[i0, i1] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * y[i0] = amax - * return y + /* "nanmax.pyx":411 + * allnan = 0 + * if allnan == 0: + * return np.float32(amax) # <<<<<<<<<<<<<< + * else: + * return np.float32(NAN) */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L8; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); } - __pyx_L8:; } - - /* "nanmax.pyx":386 - * if ai >= amax: - * amax = ai - * y[i0] = amax # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanmax.pyx":387 - * amax = ai - * y[i0] = amax - * return y # <<<<<<<<<<<<<< + /* "nanmax.pyx":413 + * return np.float32(amax) + * else: + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_2 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_2) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + } - /* "nanmax.pyx":365 + /* "nanmax.pyx":393 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=1 ignoring NaNs." + * def nanmax_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":391 +/* "nanmax.pyx":417 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmax_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_21nanmax_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_20nanmax_1d_float_axisNone[] = "nanmax_1d_float_axisNone(ndarray a)\nMaximum of 1d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_21nanmax_1d_float_axisNone = {"nanmax_1d_float_axisNone", (PyCFunction)__pyx_pw_6nanmax_21nanmax_1d_float_axisNone, METH_O, __pyx_doc_6nanmax_20nanmax_1d_float_axisNone}; -static PyObject *__pyx_pw_6nanmax_21nanmax_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_21nanmax_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_20nanmax_1d_float64_axisNone[] = "nanmax_1d_float64_axisNone(ndarray a)\nMaximum of 1d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_21nanmax_1d_float64_axisNone = {"nanmax_1d_float64_axisNone", (PyCFunction)__pyx_pw_6nanmax_21nanmax_1d_float64_axisNone, METH_O, __pyx_doc_6nanmax_20nanmax_1d_float64_axisNone}; +static PyObject *__pyx_pw_6nanmax_21nanmax_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_1d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_20nanmax_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_1d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_20nanmax_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4935,10 +5239,10 @@ static PyObject *__pyx_pw_6nanmax_21nanmax_1d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amax; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_amax; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4959,27 +5263,27 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmax.pyx":393 - * def nanmax_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): - * "Maximum of 1d array with dtype=float along axis=None ignoring NaNs." + /* "nanmax.pyx":419 + * def nanmax_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): + * "Maximum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amax, ai + * cdef np.float64_t amax, ai * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":397 + /* "nanmax.pyx":423 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4988,7 +5292,7 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":398 + /* "nanmax.pyx":424 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4997,7 +5301,7 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":399 + /* "nanmax.pyx":425 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< @@ -5007,48 +5311,48 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":400 + /* "nanmax.pyx":426 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amax = MINfloat + * amax = MINfloat64 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":401 + /* "nanmax.pyx":427 * if n0 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINfloat + * amax = MINfloat64 * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":402 + /* "nanmax.pyx":428 * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amax = MINfloat # <<<<<<<<<<<<<< + * amax = MINfloat64 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0] */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat64; - /* "nanmax.pyx":403 + /* "nanmax.pyx":429 * raise ValueError(m) - * amax = MINfloat + * amax = MINfloat64 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0] * if ai >= amax: @@ -5057,17 +5361,17 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":404 - * amax = MINfloat + /* "nanmax.pyx":430 + * amax = MINfloat64 * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmax.pyx":405 + /* "nanmax.pyx":431 * for i0 in range(n0): * ai = a[i0] * if ai >= amax: # <<<<<<<<<<<<<< @@ -5077,7 +5381,7 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":406 + /* "nanmax.pyx":432 * ai = a[i0] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< @@ -5086,12 +5390,12 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_amax = __pyx_v_ai; - /* "nanmax.pyx":407 + /* "nanmax.pyx":433 * if ai >= amax: * amax = ai * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float(amax) + * return np.float64(amax) */ __pyx_v_allnan = 0; goto __pyx_L6; @@ -5099,30 +5403,30 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_L6:; } - /* "nanmax.pyx":408 + /* "nanmax.pyx":434 * amax = ai * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float(amax) + * return np.float64(amax) * else: */ __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":409 + /* "nanmax.pyx":435 * allnan = 0 * if allnan == 0: - * return np.float(amax) # <<<<<<<<<<<<<< + * return np.float64(amax) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { @@ -5135,17 +5439,17 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -5156,20 +5460,20 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj } /*else*/ { - /* "nanmax.pyx":411 - * return np.float(amax) + /* "nanmax.pyx":437 + * return np.float64(amax) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { @@ -5182,17 +5486,17 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -5202,11 +5506,11 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "nanmax.pyx":391 + /* "nanmax.pyx":417 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmax_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -5221,7 +5525,7 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5233,27 +5537,27 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanmax.pyx":415 +/* "nanmax.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float32 along axis=None ignoring NaNs." - * cdef int allnan = 1 + * def nanmax_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=None ignoring NaNs." + * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_23nanmax_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_22nanmax_1d_float32_axisNone[] = "nanmax_1d_float32_axisNone(ndarray a)\nMaximum of 1d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_23nanmax_1d_float32_axisNone = {"nanmax_1d_float32_axisNone", (PyCFunction)__pyx_pw_6nanmax_23nanmax_1d_float32_axisNone, METH_O, __pyx_doc_6nanmax_22nanmax_1d_float32_axisNone}; -static PyObject *__pyx_pw_6nanmax_23nanmax_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_23nanmax_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_22nanmax_2d_float_axisNone[] = "nanmax_2d_float_axisNone(ndarray a)\nMaximum of 2d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_23nanmax_2d_float_axisNone = {"nanmax_2d_float_axisNone", (PyCFunction)__pyx_pw_6nanmax_23nanmax_2d_float_axisNone, METH_O, __pyx_doc_6nanmax_22nanmax_2d_float_axisNone}; +static PyObject *__pyx_pw_6nanmax_23nanmax_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_1d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_22nanmax_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_22nanmax_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5264,13 +5568,15 @@ static PyObject *__pyx_pw_6nanmax_23nanmax_1d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_22nanmax_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_22nanmax_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amax; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_amax; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; @@ -5282,260 +5588,285 @@ static PyObject *__pyx_pf_6nanmax_22nanmax_1d_float32_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":417 - * def nanmax_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): - * "Maximum of 1d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanmax.pyx":443 + * def nanmax_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): + * "Maximum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amax, ai - * cdef Py_ssize_t i0 + * cdef np.float_t amax, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":421 - * cdef Py_ssize_t i0 + /* "nanmax.pyx":447 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":422 + /* "nanmax.pyx":448 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":423 + /* "nanmax.pyx":449 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanmax.pyx":450 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: # <<<<<<<<<<<<<< * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":424 - * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + /* "nanmax.pyx":451 + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amax = MINfloat32 + * amax = MINfloat */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":425 - * if n0 == 0: + /* "nanmax.pyx":452 + * if n0 * n1 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINfloat32 + * amax = MINfloat * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":426 + /* "nanmax.pyx":453 * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amax = MINfloat32 # <<<<<<<<<<<<<< + * amax = MINfloat # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1): */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat32; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat; - /* "nanmax.pyx":427 + /* "nanmax.pyx":454 * raise ValueError(m) - * amax = MINfloat32 + * amax = MINfloat * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai >= amax: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":428 - * amax = MINfloat32 + /* "nanmax.pyx":455 + * amax = MINfloat * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai >= amax: */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":429 + /* "nanmax.pyx":456 * for i0 in range(n0): - * ai = a[i0] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * allnan = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":430 - * ai = a[i0] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 + /* "nanmax.pyx":457 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * allnan = 0 + */ + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { + + /* "nanmax.pyx":458 + * ai = a[i0, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * allnan = 0 * if allnan == 0: */ - __pyx_v_amax = __pyx_v_ai; + __pyx_v_amax = __pyx_v_ai; - /* "nanmax.pyx":431 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< + /* "nanmax.pyx":459 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float32(amax) + * return np.float(amax) */ - __pyx_v_allnan = 0; - goto __pyx_L6; + __pyx_v_allnan = 0; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; } - /* "nanmax.pyx":432 - * amax = ai - * allnan = 0 + /* "nanmax.pyx":460 + * amax = ai + * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float32(amax) + * return np.float(amax) * else: */ __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":433 - * allnan = 0 + /* "nanmax.pyx":461 + * allnan = 0 * if allnan == 0: - * return np.float32(amax) # <<<<<<<<<<<<<< + * return np.float(amax) # <<<<<<<<<<<<<< * else: - * return np.float32(NAN) + * return np.float(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __Pyx_DECREF_SET(__pyx_t_10, function); } } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /*else*/ { - /* "nanmax.pyx":435 - * return np.float32(amax) + /* "nanmax.pyx":463 + * return np.float(amax) * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< + * return np.float(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + __Pyx_DECREF_SET(__pyx_t_12, function); } } if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } - /* "nanmax.pyx":415 + /* "nanmax.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmax_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -5543,14 +5874,14 @@ static PyObject *__pyx_pf_6nanmax_22nanmax_1d_float32_axisNone(CYTHON_UNUSED PyO __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5562,27 +5893,27 @@ static PyObject *__pyx_pf_6nanmax_22nanmax_1d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanmax.pyx":439 +/* "nanmax.pyx":467 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmax_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_25nanmax_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_24nanmax_1d_float64_axisNone[] = "nanmax_1d_float64_axisNone(ndarray a)\nMaximum of 1d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_25nanmax_1d_float64_axisNone = {"nanmax_1d_float64_axisNone", (PyCFunction)__pyx_pw_6nanmax_25nanmax_1d_float64_axisNone, METH_O, __pyx_doc_6nanmax_24nanmax_1d_float64_axisNone}; -static PyObject *__pyx_pw_6nanmax_25nanmax_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_25nanmax_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_24nanmax_2d_float32_axisNone[] = "nanmax_2d_float32_axisNone(ndarray a)\nMaximum of 2d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_25nanmax_2d_float32_axisNone = {"nanmax_2d_float32_axisNone", (PyCFunction)__pyx_pw_6nanmax_25nanmax_2d_float32_axisNone, METH_O, __pyx_doc_6nanmax_24nanmax_2d_float32_axisNone}; +static PyObject *__pyx_pw_6nanmax_25nanmax_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_1d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_24nanmax_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_24nanmax_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5593,13 +5924,15 @@ static PyObject *__pyx_pw_6nanmax_25nanmax_1d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_24nanmax_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_24nanmax_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amax; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_amax; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; @@ -5611,260 +5944,285 @@ static PyObject *__pyx_pf_6nanmax_24nanmax_1d_float64_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_1d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":441 - * def nanmax_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): - * "Maximum of 1d array with dtype=float64 along axis=None ignoring NaNs." + /* "nanmax.pyx":469 + * def nanmax_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): + * "Maximum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amax, ai - * cdef Py_ssize_t i0 + * cdef np.float32_t amax, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":445 - * cdef Py_ssize_t i0 + /* "nanmax.pyx":473 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":446 + /* "nanmax.pyx":474 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":447 + /* "nanmax.pyx":475 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanmax.pyx":476 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: # <<<<<<<<<<<<<< * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":448 - * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + /* "nanmax.pyx":477 + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amax = MINfloat64 + * amax = MINfloat32 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":449 - * if n0 == 0: + /* "nanmax.pyx":478 + * if n0 * n1 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINfloat64 + * amax = MINfloat32 * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":450 + /* "nanmax.pyx":479 * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amax = MINfloat64 # <<<<<<<<<<<<<< + * amax = MINfloat32 # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1): */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat64; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat32; - /* "nanmax.pyx":451 + /* "nanmax.pyx":480 * raise ValueError(m) - * amax = MINfloat64 + * amax = MINfloat32 * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai >= amax: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":452 - * amax = MINfloat64 + /* "nanmax.pyx":481 + * amax = MINfloat32 * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai >= amax: */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":453 + /* "nanmax.pyx":482 * for i0 in range(n0): - * ai = a[i0] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * allnan = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":454 - * ai = a[i0] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 + /* "nanmax.pyx":483 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * allnan = 0 + */ + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { + + /* "nanmax.pyx":484 + * ai = a[i0, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * allnan = 0 * if allnan == 0: */ - __pyx_v_amax = __pyx_v_ai; + __pyx_v_amax = __pyx_v_ai; - /* "nanmax.pyx":455 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< + /* "nanmax.pyx":485 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float64(amax) + * return np.float32(amax) */ - __pyx_v_allnan = 0; - goto __pyx_L6; + __pyx_v_allnan = 0; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; } - /* "nanmax.pyx":456 - * amax = ai - * allnan = 0 + /* "nanmax.pyx":486 + * amax = ai + * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float64(amax) + * return np.float32(amax) * else: */ __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":457 - * allnan = 0 + /* "nanmax.pyx":487 + * allnan = 0 * if allnan == 0: - * return np.float64(amax) # <<<<<<<<<<<<<< + * return np.float32(amax) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * return np.float32(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __Pyx_DECREF_SET(__pyx_t_10, function); } } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /*else*/ { - /* "nanmax.pyx":459 - * return np.float64(amax) + /* "nanmax.pyx":489 + * return np.float32(amax) * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + __Pyx_DECREF_SET(__pyx_t_12, function); } } if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } - /* "nanmax.pyx":439 + /* "nanmax.pyx":467 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmax_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -5872,14 +6230,14 @@ static PyObject *__pyx_pf_6nanmax_24nanmax_1d_float64_axisNone(CYTHON_UNUSED PyO __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5891,27 +6249,27 @@ static PyObject *__pyx_pf_6nanmax_24nanmax_1d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanmax.pyx":463 +/* "nanmax.pyx":493 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmax_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_27nanmax_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_26nanmax_2d_float_axisNone[] = "nanmax_2d_float_axisNone(ndarray a)\nMaximum of 2d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_27nanmax_2d_float_axisNone = {"nanmax_2d_float_axisNone", (PyCFunction)__pyx_pw_6nanmax_27nanmax_2d_float_axisNone, METH_O, __pyx_doc_6nanmax_26nanmax_2d_float_axisNone}; -static PyObject *__pyx_pw_6nanmax_27nanmax_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_27nanmax_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_26nanmax_2d_float64_axisNone[] = "nanmax_2d_float64_axisNone(ndarray a)\nMaximum of 2d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_27nanmax_2d_float64_axisNone = {"nanmax_2d_float64_axisNone", (PyCFunction)__pyx_pw_6nanmax_27nanmax_2d_float64_axisNone, METH_O, __pyx_doc_6nanmax_26nanmax_2d_float64_axisNone}; +static PyObject *__pyx_pw_6nanmax_27nanmax_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_26nanmax_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_26nanmax_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5922,10 +6280,10 @@ static PyObject *__pyx_pw_6nanmax_27nanmax_2d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amax; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_amax; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -5951,27 +6309,27 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":465 - * def nanmax_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): - * "Maximum of 2d array with dtype=float along axis=None ignoring NaNs." + /* "nanmax.pyx":495 + * def nanmax_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): + * "Maximum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amax, ai + * cdef np.float64_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":469 + /* "nanmax.pyx":499 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5980,7 +6338,7 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":470 + /* "nanmax.pyx":500 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5989,7 +6347,7 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":471 + /* "nanmax.pyx":501 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5998,7 +6356,7 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":472 + /* "nanmax.pyx":502 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * if n0 * n1 == 0: # <<<<<<<<<<<<<< @@ -6008,48 +6366,48 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":473 + /* "nanmax.pyx":503 * cdef Py_ssize_t n1 = dim[1] * if n0 * n1 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amax = MINfloat + * amax = MINfloat64 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":474 + /* "nanmax.pyx":504 * if n0 * n1 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINfloat + * amax = MINfloat64 * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":475 + /* "nanmax.pyx":505 * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amax = MINfloat # <<<<<<<<<<<<<< + * amax = MINfloat64 # <<<<<<<<<<<<<< * for i0 in range(n0): * for i1 in range(n1): */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat64; - /* "nanmax.pyx":476 + /* "nanmax.pyx":506 * raise ValueError(m) - * amax = MINfloat + * amax = MINfloat64 * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] @@ -6058,8 +6416,8 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":477 - * amax = MINfloat + /* "nanmax.pyx":507 + * amax = MINfloat64 * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] @@ -6069,7 +6427,7 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":478 + /* "nanmax.pyx":508 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -6078,9 +6436,9 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":479 + /* "nanmax.pyx":509 * for i1 in range(n1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< @@ -6090,7 +6448,7 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":480 + /* "nanmax.pyx":510 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< @@ -6099,12 +6457,12 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_amax = __pyx_v_ai; - /* "nanmax.pyx":481 + /* "nanmax.pyx":511 * if ai >= amax: * amax = ai * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float(amax) + * return np.float64(amax) */ __pyx_v_allnan = 0; goto __pyx_L8; @@ -6113,30 +6471,30 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "nanmax.pyx":482 + /* "nanmax.pyx":512 * amax = ai * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float(amax) + * return np.float64(amax) * else: */ __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":483 + /* "nanmax.pyx":513 * allnan = 0 * if allnan == 0: - * return np.float(amax) # <<<<<<<<<<<<<< + * return np.float64(amax) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { @@ -6149,17 +6507,17 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } @@ -6170,20 +6528,20 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj } /*else*/ { - /* "nanmax.pyx":485 - * return np.float(amax) + /* "nanmax.pyx":515 + * return np.float64(amax) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { @@ -6196,17 +6554,17 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -6216,11 +6574,11 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "nanmax.pyx":463 + /* "nanmax.pyx":493 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmax_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -6235,7 +6593,7 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6247,27 +6605,27 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanmax.pyx":489 +/* "nanmax.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmax_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_29nanmax_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_28nanmax_2d_float32_axisNone[] = "nanmax_2d_float32_axisNone(ndarray a)\nMaximum of 2d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_29nanmax_2d_float32_axisNone = {"nanmax_2d_float32_axisNone", (PyCFunction)__pyx_pw_6nanmax_29nanmax_2d_float32_axisNone, METH_O, __pyx_doc_6nanmax_28nanmax_2d_float32_axisNone}; -static PyObject *__pyx_pw_6nanmax_29nanmax_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_29nanmax_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_28nanmax_1d_int_axisNone[] = "nanmax_1d_int_axisNone(ndarray a)\nMaximum of 1d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_29nanmax_1d_int_axisNone = {"nanmax_1d_int_axisNone", (PyCFunction)__pyx_pw_6nanmax_29nanmax_1d_int_axisNone, METH_O, __pyx_doc_6nanmax_28nanmax_1d_int_axisNone}; +static PyObject *__pyx_pw_6nanmax_29nanmax_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_28nanmax_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_1d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_28nanmax_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6278,15 +6636,13 @@ static PyObject *__pyx_pw_6nanmax_29nanmax_2d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_28nanmax_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amax; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_28nanmax_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int_t __pyx_v_amax; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; @@ -6298,300 +6654,208 @@ static PyObject *__pyx_pf_6nanmax_28nanmax_2d_float32_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_1d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmax.pyx":491 - * def nanmax_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): - * "Maximum of 2d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanmax.pyx":521 + * def nanmax_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): + * "Maximum of 1d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amax, ai - * cdef Py_ssize_t i0, i1 + * cdef np.int_t amax, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":495 - * cdef Py_ssize_t i0, i1 + /* "nanmax.pyx":525 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":496 + /* "nanmax.pyx":526 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * if n0 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":497 + /* "nanmax.pyx":527 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmax.pyx":498 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":499 - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + /* "nanmax.pyx":528 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amax = MINfloat32 + * amax = MINint */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":500 - * if n0 * n1 == 0: + /* "nanmax.pyx":529 + * if n0 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINfloat32 + * amax = MINint * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":501 + /* "nanmax.pyx":530 * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amax = MINfloat32 # <<<<<<<<<<<<<< + * amax = MINint # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): + * ai = a[i0] */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat32; + __pyx_v_amax = __pyx_v_6nanmax_MINint; - /* "nanmax.pyx":502 + /* "nanmax.pyx":531 * raise ValueError(m) - * amax = MINfloat32 + * amax = MINint * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * if ai >= amax: */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":503 - * amax = MINfloat32 + /* "nanmax.pyx":532 + * amax = MINint * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai >= amax: + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmax.pyx":504 + /* "nanmax.pyx":533 * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmax.pyx":505 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * allnan = 0 - */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { - - /* "nanmax.pyx":506 - * ai = a[i0, i1] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * ai = a[i0] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * return np.int(amax) */ - __pyx_v_amax = __pyx_v_ai; + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":507 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.float32(amax) + /* "nanmax.pyx":534 + * ai = a[i0] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * return np.int(amax) + * */ - __pyx_v_allnan = 0; - goto __pyx_L8; - } - __pyx_L8:; + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L6; } + __pyx_L6:; } - /* "nanmax.pyx":508 - * amax = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float32(amax) - * else: - */ - __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_1) { - - /* "nanmax.pyx":509 - * allnan = 0 - * if allnan == 0: - * return np.float32(amax) # <<<<<<<<<<<<<< - * else: - * return np.float32(NAN) + /* "nanmax.pyx":535 + * if ai >= amax: + * amax = ai + * return np.int(amax) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; } - /*else*/ { + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; - /* "nanmax.pyx":511 - * return np.float32(amax) - * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< - * + /* "nanmax.pyx":519 * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - } - } - if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - } - - /* "nanmax.pyx":489 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmax_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef int allnan = 1 + * @cython.wraparound(False) + * def nanmax_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6603,27 +6867,27 @@ static PyObject *__pyx_pf_6nanmax_28nanmax_2d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanmax.pyx":515 +/* "nanmax.pyx":539 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmax_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_31nanmax_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_30nanmax_2d_float64_axisNone[] = "nanmax_2d_float64_axisNone(ndarray a)\nMaximum of 2d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_31nanmax_2d_float64_axisNone = {"nanmax_2d_float64_axisNone", (PyCFunction)__pyx_pw_6nanmax_31nanmax_2d_float64_axisNone, METH_O, __pyx_doc_6nanmax_30nanmax_2d_float64_axisNone}; -static PyObject *__pyx_pw_6nanmax_31nanmax_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_31nanmax_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_30nanmax_1d_int8_axisNone[] = "nanmax_1d_int8_axisNone(ndarray a)\nMaximum of 1d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_31nanmax_1d_int8_axisNone = {"nanmax_1d_int8_axisNone", (PyCFunction)__pyx_pw_6nanmax_31nanmax_1d_int8_axisNone, METH_O, __pyx_doc_6nanmax_30nanmax_1d_int8_axisNone}; +static PyObject *__pyx_pw_6nanmax_31nanmax_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_30nanmax_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_1d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_30nanmax_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6634,15 +6898,13 @@ static PyObject *__pyx_pw_6nanmax_31nanmax_2d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_30nanmax_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amax; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_30nanmax_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int8_t __pyx_v_amax; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; @@ -6654,285 +6916,193 @@ static PyObject *__pyx_pf_6nanmax_30nanmax_2d_float64_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_1d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmax.pyx":517 - * def nanmax_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): - * "Maximum of 2d array with dtype=float64 along axis=None ignoring NaNs." + /* "nanmax.pyx":541 + * def nanmax_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): + * "Maximum of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amax, ai - * cdef Py_ssize_t i0, i1 + * cdef np.int8_t amax, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":521 - * cdef Py_ssize_t i0, i1 + /* "nanmax.pyx":545 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":522 + /* "nanmax.pyx":546 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * if n0 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":523 + /* "nanmax.pyx":547 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmax.pyx":524 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":525 - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + /* "nanmax.pyx":548 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amax = MINfloat64 + * amax = MINint8 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":526 - * if n0 * n1 == 0: + /* "nanmax.pyx":549 + * if n0 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINfloat64 + * amax = MINint8 * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":527 + /* "nanmax.pyx":550 * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amax = MINfloat64 # <<<<<<<<<<<<<< + * amax = MINint8 # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): + * ai = a[i0] */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat64; + __pyx_v_amax = __pyx_v_6nanmax_MINint8; - /* "nanmax.pyx":528 + /* "nanmax.pyx":551 * raise ValueError(m) - * amax = MINfloat64 + * amax = MINint8 * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * if ai >= amax: */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":529 - * amax = MINfloat64 + /* "nanmax.pyx":552 + * amax = MINint8 * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai >= amax: + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmax.pyx":530 + /* "nanmax.pyx":553 * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmax.pyx":531 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * allnan = 0 - */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { - - /* "nanmax.pyx":532 - * ai = a[i0, i1] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * ai = a[i0] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * return np.int8(amax) */ - __pyx_v_amax = __pyx_v_ai; + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":533 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.float64(amax) + /* "nanmax.pyx":554 + * ai = a[i0] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * return np.int8(amax) + * */ - __pyx_v_allnan = 0; - goto __pyx_L8; - } - __pyx_L8:; + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L6; } + __pyx_L6:; } - /* "nanmax.pyx":534 - * amax = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float64(amax) - * else: - */ - __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_1) { - - /* "nanmax.pyx":535 - * allnan = 0 - * if allnan == 0: - * return np.float64(amax) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanmax.pyx":555 + * if ai >= amax: + * amax = ai + * return np.int8(amax) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; } - /*else*/ { + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; - /* "nanmax.pyx":537 - * return np.float64(amax) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - } - } - if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - } - - /* "nanmax.pyx":515 + /* "nanmax.pyx":539 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmax_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -6940,14 +7110,14 @@ static PyObject *__pyx_pf_6nanmax_30nanmax_2d_float64_axisNone(CYTHON_UNUSED PyO __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6959,27 +7129,27 @@ static PyObject *__pyx_pf_6nanmax_30nanmax_2d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanmax.pyx":541 +/* "nanmax.pyx":559 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=0 ignoring NaNs." + * def nanmax_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_33nanmax_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_32nanmax_2d_float_axis0[] = "nanmax_2d_float_axis0(ndarray a)\nMaximum of 2d array with dtype=float along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_33nanmax_2d_float_axis0 = {"nanmax_2d_float_axis0", (PyCFunction)__pyx_pw_6nanmax_33nanmax_2d_float_axis0, METH_O, __pyx_doc_6nanmax_32nanmax_2d_float_axis0}; -static PyObject *__pyx_pw_6nanmax_33nanmax_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_33nanmax_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_32nanmax_1d_int32_axisNone[] = "nanmax_1d_int32_axisNone(ndarray a)\nMaximum of 1d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_33nanmax_1d_int32_axisNone = {"nanmax_1d_int32_axisNone", (PyCFunction)__pyx_pw_6nanmax_33nanmax_1d_int32_axisNone, METH_O, __pyx_doc_6nanmax_32nanmax_1d_int32_axisNone}; +static PyObject *__pyx_pw_6nanmax_33nanmax_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_32nanmax_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_1d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_32nanmax_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6990,345 +7160,258 @@ static PyObject *__pyx_pw_6nanmax_33nanmax_2d_float_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_32nanmax_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amax; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_32nanmax_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int32_t __pyx_v_amax; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_float_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmax_1d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmax.pyx":543 - * def nanmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Maximum of 2d array with dtype=float along axis=0 ignoring NaNs." + /* "nanmax.pyx":561 + * def nanmax_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): + * "Maximum of 1d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amax, ai - * cdef Py_ssize_t i0, i1 + * cdef np.int32_t amax, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":547 - * cdef Py_ssize_t i0, i1 + /* "nanmax.pyx":565 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":548 + /* "nanmax.pyx":566 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":549 + /* "nanmax.pyx":567 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmax.pyx":550 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "nanmax.pyx":551 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmax.pyx":553 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) * if n0 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":554 - * NPY_float, 0) + /* "nanmax.pyx":568 + * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i1 in range(n1): + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amax = MINint32 */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":555 + /* "nanmax.pyx":569 * if n0 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * amax = MINfloat + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amax = MINint32 + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":556 - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * amax = MINfloat - * allnan = 1 + /* "nanmax.pyx":570 + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amax = MINint32 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_v_amax = __pyx_v_6nanmax_MINint32; - /* "nanmax.pyx":557 - * raise ValueError(msg) - * for i1 in range(n1): - * amax = MINfloat # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0): + /* "nanmax.pyx":571 + * raise ValueError(m) + * amax = MINint32 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai >= amax: */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":558 - * for i1 in range(n1): - * amax = MINfloat - * allnan = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanmax.pyx":572 + * amax = MINint32 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_v_allnan = 1; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmax.pyx":559 - * amax = MINfloat - * allnan = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai >= amax: + /* "nanmax.pyx":573 + * for i0 in range(n0): + * ai = a[i0] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * return np.int32(amax) */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":560 - * allnan = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "nanmax.pyx":574 + * ai = a[i0] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * return np.int32(amax) + * */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmax.pyx":561 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * allnan = 0 - */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":562 - * ai = a[i0, i1] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: - */ - __pyx_v_amax = __pyx_v_ai; - - /* "nanmax.pyx":563 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = amax - */ - __pyx_v_allnan = 0; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "nanmax.pyx":564 - * amax = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = amax - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":565 - * allnan = 0 - * if allnan == 0: - * y[i1] = amax # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN - */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; - goto __pyx_L9; - } - /*else*/ { - - /* "nanmax.pyx":567 - * y[i1] = amax - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_9 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L6; } - __pyx_L9:; + __pyx_L6:; } - /* "nanmax.pyx":568 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmax.pyx":575 + * if ai >= amax: + * amax = ai + * return np.int32(amax) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanmax.pyx":541 + /* "nanmax.pyx":559 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=0 ignoring NaNs." + * def nanmax_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":572 +/* "nanmax.pyx":579 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=1 ignoring NaNs." + * def nanmax_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_35nanmax_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_34nanmax_2d_float_axis1[] = "nanmax_2d_float_axis1(ndarray a)\nMaximum of 2d array with dtype=float along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_35nanmax_2d_float_axis1 = {"nanmax_2d_float_axis1", (PyCFunction)__pyx_pw_6nanmax_35nanmax_2d_float_axis1, METH_O, __pyx_doc_6nanmax_34nanmax_2d_float_axis1}; -static PyObject *__pyx_pw_6nanmax_35nanmax_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_35nanmax_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_34nanmax_1d_int64_axisNone[] = "nanmax_1d_int64_axisNone(ndarray a)\nMaximum of 1d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_35nanmax_1d_int64_axisNone = {"nanmax_1d_int64_axisNone", (PyCFunction)__pyx_pw_6nanmax_35nanmax_1d_int64_axisNone, METH_O, __pyx_doc_6nanmax_34nanmax_1d_int64_axisNone}; +static PyObject *__pyx_pw_6nanmax_35nanmax_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_float_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_34nanmax_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_1d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_34nanmax_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7339,345 +7422,258 @@ static PyObject *__pyx_pw_6nanmax_35nanmax_2d_float_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_34nanmax_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amax; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_34nanmax_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int64_t __pyx_v_amax; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_float_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmax_1d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmax.pyx":574 - * def nanmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Maximum of 2d array with dtype=float along axis=1 ignoring NaNs." + /* "nanmax.pyx":581 + * def nanmax_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): + * "Maximum of 1d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amax, ai - * cdef Py_ssize_t i0, i1 + * cdef np.int64_t amax, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":578 - * cdef Py_ssize_t i0, i1 + /* "nanmax.pyx":585 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":579 + /* "nanmax.pyx":586 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":580 + /* "nanmax.pyx":587 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":581 + /* "nanmax.pyx":588 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * if n0 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amax = MINint64 */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":582 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * if n1 == 0: + /* "nanmax.pyx":589 + * if n0 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amax = MINint64 + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmax.pyx":584 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { - /* "nanmax.pyx":585 - * NPY_float, 0) - * if n1 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) + /* "nanmax.pyx":590 + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amax = MINint64 # <<<<<<<<<<<<<< * for i0 in range(n0): + * ai = a[i0] */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + __pyx_v_amax = __pyx_v_6nanmax_MINint64; - /* "nanmax.pyx":586 - * if n1 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * amax = MINfloat - */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - - /* "nanmax.pyx":587 - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) + /* "nanmax.pyx":591 + * raise ValueError(m) + * amax = MINint64 * for i0 in range(n0): # <<<<<<<<<<<<<< - * amax = MINfloat - * allnan = 1 + * ai = a[i0] + * if ai >= amax: */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":588 - * raise ValueError(msg) + /* "nanmax.pyx":592 + * amax = MINint64 * for i0 in range(n0): - * amax = MINfloat # <<<<<<<<<<<<<< - * allnan = 1 - * for i1 in range(n1): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmax.pyx":589 + /* "nanmax.pyx":593 * for i0 in range(n0): - * amax = MINfloat - * allnan = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_allnan = 1; - - /* "nanmax.pyx":590 - * amax = MINfloat - * allnan = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai >= amax: - */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; - - /* "nanmax.pyx":591 - * allnan = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai - */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmax.pyx":592 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * allnan = 0 - */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":593 - * ai = a[i0, i1] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: - */ - __pyx_v_amax = __pyx_v_ai; - - /* "nanmax.pyx":594 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = amax - */ - __pyx_v_allnan = 0; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "nanmax.pyx":595 - * amax = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = amax - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":596 - * allnan = 0 - * if allnan == 0: - * y[i0] = amax # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN + * ai = a[i0] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * return np.int64(amax) */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; - goto __pyx_L9; - } - /*else*/ { + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":598 - * y[i0] = amax - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y + /* "nanmax.pyx":594 + * ai = a[i0] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * return np.int64(amax) * */ - __pyx_t_9 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L6; } - __pyx_L9:; + __pyx_L6:; } - /* "nanmax.pyx":599 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmax.pyx":595 + * if ai >= amax: + * amax = ai + * return np.int64(amax) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanmax.pyx":572 + /* "nanmax.pyx":579 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=1 ignoring NaNs." + * def nanmax_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":603 +/* "nanmax.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * def nanmax_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_37nanmax_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_36nanmax_2d_float32_axis0[] = "nanmax_2d_float32_axis0(ndarray a)\nMaximum of 2d array with dtype=float32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_37nanmax_2d_float32_axis0 = {"nanmax_2d_float32_axis0", (PyCFunction)__pyx_pw_6nanmax_37nanmax_2d_float32_axis0, METH_O, __pyx_doc_6nanmax_36nanmax_2d_float32_axis0}; -static PyObject *__pyx_pw_6nanmax_37nanmax_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_37nanmax_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_36nanmax_2d_int_axisNone[] = "nanmax_2d_int_axisNone(ndarray a)\nMaximum of 2d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_37nanmax_2d_int_axisNone = {"nanmax_2d_int_axisNone", (PyCFunction)__pyx_pw_6nanmax_37nanmax_2d_int_axisNone, METH_O, __pyx_doc_6nanmax_36nanmax_2d_int_axisNone}; +static PyObject *__pyx_pw_6nanmax_37nanmax_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_36nanmax_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_36nanmax_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7688,63 +7684,56 @@ static PyObject *__pyx_pw_6nanmax_37nanmax_2d_float32_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_36nanmax_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amax; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_36nanmax_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int_t __pyx_v_amax; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_float32_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmax_2d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":605 - * def nanmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Maximum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + /* "nanmax.pyx":601 + * def nanmax_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): + * "Maximum of 2d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amax, ai + * cdef np.int_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":609 + /* "nanmax.pyx":605 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7753,280 +7742,227 @@ static PyObject *__pyx_pf_6nanmax_36nanmax_2d_float32_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":610 + /* "nanmax.pyx":606 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":611 + /* "nanmax.pyx":607 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":612 + /* "nanmax.pyx":608 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":613 + /* "nanmax.pyx":609 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmax.pyx":615 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":616 - * NPY_float32, 0) - * if n0 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i1 in range(n1): + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amax = MINint */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":617 - * if n0 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * amax = MINfloat32 + /* "nanmax.pyx":610 + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amax = MINint + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":618 - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * amax = MINfloat32 - * allnan = 1 - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanmax.pyx":619 - * raise ValueError(msg) - * for i1 in range(n1): - * amax = MINfloat32 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0): + /* "nanmax.pyx":611 + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amax = MINint # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat32; + __pyx_v_amax = __pyx_v_6nanmax_MINint; - /* "nanmax.pyx":620 - * for i1 in range(n1): - * amax = MINfloat32 - * allnan = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanmax.pyx":612 + * raise ValueError(m) + * amax = MINint + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":621 - * amax = MINfloat32 - * allnan = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "nanmax.pyx":613 + * amax = MINint + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":622 - * allnan = 1 - * for i0 in range(n0): + /* "nanmax.pyx":614 + * for i0 in range(n0): + * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":623 - * for i0 in range(n0): + /* "nanmax.pyx":615 + * for i1 in range(n1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * return np.int(amax) */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":624 + /* "nanmax.pyx":616 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * return np.int(amax) + * */ __pyx_v_amax = __pyx_v_ai; - - /* "nanmax.pyx":625 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = amax - */ - __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - - /* "nanmax.pyx":626 - * amax = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = amax - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":627 - * allnan = 0 - * if allnan == 0: - * y[i1] = amax # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN - */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; - goto __pyx_L9; - } - /*else*/ { - - /* "nanmax.pyx":629 - * y[i1] = amax - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_9 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; - } - __pyx_L9:; } - /* "nanmax.pyx":630 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmax.pyx":617 + * if ai >= amax: + * amax = ai + * return np.int(amax) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanmax.pyx":603 + /* "nanmax.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * def nanmax_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":634 +/* "nanmax.pyx":621 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * def nanmax_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_39nanmax_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_38nanmax_2d_float32_axis1[] = "nanmax_2d_float32_axis1(ndarray a)\nMaximum of 2d array with dtype=float32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_39nanmax_2d_float32_axis1 = {"nanmax_2d_float32_axis1", (PyCFunction)__pyx_pw_6nanmax_39nanmax_2d_float32_axis1, METH_O, __pyx_doc_6nanmax_38nanmax_2d_float32_axis1}; -static PyObject *__pyx_pw_6nanmax_39nanmax_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_39nanmax_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_38nanmax_2d_int8_axisNone[] = "nanmax_2d_int8_axisNone(ndarray a)\nMaximum of 2d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_39nanmax_2d_int8_axisNone = {"nanmax_2d_int8_axisNone", (PyCFunction)__pyx_pw_6nanmax_39nanmax_2d_int8_axisNone, METH_O, __pyx_doc_6nanmax_38nanmax_2d_int8_axisNone}; +static PyObject *__pyx_pw_6nanmax_39nanmax_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_float32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_38nanmax_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_38nanmax_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8037,63 +7973,56 @@ static PyObject *__pyx_pw_6nanmax_39nanmax_2d_float32_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_38nanmax_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amax; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_38nanmax_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int8_t __pyx_v_amax; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_float32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmax_2d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":636 - * def nanmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Maximum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + /* "nanmax.pyx":623 + * def nanmax_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): + * "Maximum of 2d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amax, ai + * cdef np.int8_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":640 + /* "nanmax.pyx":627 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8102,280 +8031,227 @@ static PyObject *__pyx_pf_6nanmax_38nanmax_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":641 + /* "nanmax.pyx":628 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":642 + /* "nanmax.pyx":629 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":643 + /* "nanmax.pyx":630 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":644 + /* "nanmax.pyx":631 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) - * if n1 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmax.pyx":646 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":647 - * NPY_float32, 0) - * if n1 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i0 in range(n0): + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amax = MINint8 */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":648 - * if n1 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< + /* "nanmax.pyx":632 + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amax = MINint8 * for i0 in range(n0): - * amax = MINfloat32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":649 - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * amax = MINfloat32 - * allnan = 1 - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanmax.pyx":650 - * raise ValueError(msg) + /* "nanmax.pyx":633 + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amax = MINint8 # <<<<<<<<<<<<<< * for i0 in range(n0): - * amax = MINfloat32 # <<<<<<<<<<<<<< - * allnan = 1 * for i1 in range(n1): */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat32; + __pyx_v_amax = __pyx_v_6nanmax_MINint8; - /* "nanmax.pyx":651 - * for i0 in range(n0): - * amax = MINfloat32 - * allnan = 1 # <<<<<<<<<<<<<< + /* "nanmax.pyx":634 + * raise ValueError(m) + * amax = MINint8 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":652 - * amax = MINfloat32 - * allnan = 1 + /* "nanmax.pyx":635 + * amax = MINint8 + * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":653 - * allnan = 1 + /* "nanmax.pyx":636 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":654 + /* "nanmax.pyx":637 * for i1 in range(n1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * return np.int8(amax) */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":655 + /* "nanmax.pyx":638 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * return np.int8(amax) + * */ __pyx_v_amax = __pyx_v_ai; - - /* "nanmax.pyx":656 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = amax - */ - __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - - /* "nanmax.pyx":657 - * amax = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = amax - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":658 - * allnan = 0 - * if allnan == 0: - * y[i0] = amax # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN - */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; - goto __pyx_L9; - } - /*else*/ { - - /* "nanmax.pyx":660 - * y[i0] = amax - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_9 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; - } - __pyx_L9:; } - /* "nanmax.pyx":661 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmax.pyx":639 + * if ai >= amax: + * amax = ai + * return np.int8(amax) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int8); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanmax.pyx":634 + /* "nanmax.pyx":621 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * def nanmax_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":665 +/* "nanmax.pyx":643 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * def nanmax_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_41nanmax_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_40nanmax_2d_float64_axis0[] = "nanmax_2d_float64_axis0(ndarray a)\nMaximum of 2d array with dtype=float64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_41nanmax_2d_float64_axis0 = {"nanmax_2d_float64_axis0", (PyCFunction)__pyx_pw_6nanmax_41nanmax_2d_float64_axis0, METH_O, __pyx_doc_6nanmax_40nanmax_2d_float64_axis0}; -static PyObject *__pyx_pw_6nanmax_41nanmax_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_41nanmax_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_40nanmax_2d_int32_axisNone[] = "nanmax_2d_int32_axisNone(ndarray a)\nMaximum of 2d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_41nanmax_2d_int32_axisNone = {"nanmax_2d_int32_axisNone", (PyCFunction)__pyx_pw_6nanmax_41nanmax_2d_int32_axisNone, METH_O, __pyx_doc_6nanmax_40nanmax_2d_int32_axisNone}; +static PyObject *__pyx_pw_6nanmax_41nanmax_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_40nanmax_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_40nanmax_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8386,63 +8262,56 @@ static PyObject *__pyx_pw_6nanmax_41nanmax_2d_float64_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_40nanmax_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amax; - __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6nanmax_40nanmax_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int32_t __pyx_v_amax; + __pyx_t_5numpy_int32_t __pyx_v_ai; + Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_float64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmax_2d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":667 - * def nanmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Maximum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + /* "nanmax.pyx":645 + * def nanmax_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): + * "Maximum of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amax, ai + * cdef np.int32_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":671 + /* "nanmax.pyx":649 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8451,280 +8320,227 @@ static PyObject *__pyx_pf_6nanmax_40nanmax_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":672 + /* "nanmax.pyx":650 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":673 + /* "nanmax.pyx":651 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":674 + /* "nanmax.pyx":652 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":675 + /* "nanmax.pyx":653 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmax.pyx":677 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":678 - * NPY_float64, 0) - * if n0 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i1 in range(n1): + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amax = MINint32 */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":679 - * if n0 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * amax = MINfloat64 + /* "nanmax.pyx":654 + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amax = MINint32 + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":680 - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * amax = MINfloat64 - * allnan = 1 - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanmax.pyx":681 - * raise ValueError(msg) - * for i1 in range(n1): - * amax = MINfloat64 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0): + /* "nanmax.pyx":655 + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amax = MINint32 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat64; + __pyx_v_amax = __pyx_v_6nanmax_MINint32; - /* "nanmax.pyx":682 - * for i1 in range(n1): - * amax = MINfloat64 - * allnan = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanmax.pyx":656 + * raise ValueError(m) + * amax = MINint32 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":683 - * amax = MINfloat64 - * allnan = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "nanmax.pyx":657 + * amax = MINint32 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":684 - * allnan = 1 - * for i0 in range(n0): + /* "nanmax.pyx":658 + * for i0 in range(n0): + * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":685 - * for i0 in range(n0): + /* "nanmax.pyx":659 + * for i1 in range(n1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * return np.int32(amax) */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":686 + /* "nanmax.pyx":660 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * return np.int32(amax) + * */ __pyx_v_amax = __pyx_v_ai; - - /* "nanmax.pyx":687 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = amax - */ - __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - - /* "nanmax.pyx":688 - * amax = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = amax - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":689 - * allnan = 0 - * if allnan == 0: - * y[i1] = amax # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN - */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; - goto __pyx_L9; - } - /*else*/ { - - /* "nanmax.pyx":691 - * y[i1] = amax - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_9 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; - } - __pyx_L9:; } - /* "nanmax.pyx":692 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmax.pyx":661 + * if ai >= amax: + * amax = ai + * return np.int32(amax) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "nanmax.pyx":665 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef int allnan = 1 - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "nanmax.pyx":643 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanmax_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef int allnan = 1 + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":696 +/* "nanmax.pyx":665 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * def nanmax_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_43nanmax_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_42nanmax_2d_float64_axis1[] = "nanmax_2d_float64_axis1(ndarray a)\nMaximum of 2d array with dtype=float64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_43nanmax_2d_float64_axis1 = {"nanmax_2d_float64_axis1", (PyCFunction)__pyx_pw_6nanmax_43nanmax_2d_float64_axis1, METH_O, __pyx_doc_6nanmax_42nanmax_2d_float64_axis1}; -static PyObject *__pyx_pw_6nanmax_43nanmax_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_43nanmax_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_42nanmax_2d_int64_axisNone[] = "nanmax_2d_int64_axisNone(ndarray a)\nMaximum of 2d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_43nanmax_2d_int64_axisNone = {"nanmax_2d_int64_axisNone", (PyCFunction)__pyx_pw_6nanmax_43nanmax_2d_int64_axisNone, METH_O, __pyx_doc_6nanmax_42nanmax_2d_int64_axisNone}; +static PyObject *__pyx_pw_6nanmax_43nanmax_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_float64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_42nanmax_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_42nanmax_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8735,63 +8551,56 @@ static PyObject *__pyx_pw_6nanmax_43nanmax_2d_float64_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_42nanmax_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amax; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_42nanmax_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int64_t __pyx_v_amax; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_float64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmax_2d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":698 - * def nanmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Maximum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + /* "nanmax.pyx":667 + * def nanmax_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): + * "Maximum of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amax, ai + * cdef np.int64_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":702 + /* "nanmax.pyx":671 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8800,280 +8609,227 @@ static PyObject *__pyx_pf_6nanmax_42nanmax_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":703 + /* "nanmax.pyx":672 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":704 + /* "nanmax.pyx":673 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":705 + /* "nanmax.pyx":674 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":706 + /* "nanmax.pyx":675 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmax.pyx":708 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":709 - * NPY_float64, 0) - * if n1 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i0 in range(n0): + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amax = MINint64 */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":710 - * if n1 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< + /* "nanmax.pyx":676 + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amax = MINint64 * for i0 in range(n0): - * amax = MINfloat64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":711 - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * amax = MINfloat64 - * allnan = 1 - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanmax.pyx":712 - * raise ValueError(msg) + /* "nanmax.pyx":677 + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amax = MINint64 # <<<<<<<<<<<<<< * for i0 in range(n0): - * amax = MINfloat64 # <<<<<<<<<<<<<< - * allnan = 1 * for i1 in range(n1): */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat64; + __pyx_v_amax = __pyx_v_6nanmax_MINint64; - /* "nanmax.pyx":713 - * for i0 in range(n0): - * amax = MINfloat64 - * allnan = 1 # <<<<<<<<<<<<<< + /* "nanmax.pyx":678 + * raise ValueError(m) + * amax = MINint64 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":714 - * amax = MINfloat64 - * allnan = 1 + /* "nanmax.pyx":679 + * amax = MINint64 + * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":715 - * allnan = 1 + /* "nanmax.pyx":680 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":716 + /* "nanmax.pyx":681 * for i1 in range(n1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * return np.int64(amax) */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":717 + /* "nanmax.pyx":682 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * return np.int64(amax) + * */ __pyx_v_amax = __pyx_v_ai; - - /* "nanmax.pyx":718 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = amax - */ - __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } + } - /* "nanmax.pyx":719 + /* "nanmax.pyx":683 + * if ai >= amax: * amax = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = amax - * else: + * return np.int64(amax) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":720 - * allnan = 0 - * if allnan == 0: - * y[i0] = amax # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN - */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; - goto __pyx_L9; - } - /*else*/ { - - /* "nanmax.pyx":722 - * y[i0] = amax - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_9 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); } - __pyx_L9:; } - - /* "nanmax.pyx":723 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanmax.pyx":696 + /* "nanmax.pyx":665 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * def nanmax_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":727 +/* "nanmax.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_45nanmax_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_44nanmax_1d_int_axisNone[] = "nanmax_1d_int_axisNone(ndarray a)\nMaximum of 1d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_45nanmax_1d_int_axisNone = {"nanmax_1d_int_axisNone", (PyCFunction)__pyx_pw_6nanmax_45nanmax_1d_int_axisNone, METH_O, __pyx_doc_6nanmax_44nanmax_1d_int_axisNone}; -static PyObject *__pyx_pw_6nanmax_45nanmax_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_45nanmax_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_44nanmax_2d_int_axis0[] = "nanmax_2d_int_axis0(ndarray a)\nMaximum of 2d array with dtype=int along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_45nanmax_2d_int_axis0 = {"nanmax_2d_int_axis0", (PyCFunction)__pyx_pw_6nanmax_45nanmax_2d_int_axis0, METH_O, __pyx_doc_6nanmax_44nanmax_2d_int_axis0}; +static PyObject *__pyx_pw_6nanmax_45nanmax_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_1d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_44nanmax_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_44nanmax_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9084,258 +8840,302 @@ static PyObject *__pyx_pw_6nanmax_45nanmax_1d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_44nanmax_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_44nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; __pyx_t_5numpy_int_t __pyx_v_amax; __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_m = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_1d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":729 - * def nanmax_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): - * "Maximum of 1d array with dtype=int along axis=None ignoring NaNs." + /* "nanmax.pyx":689 + * def nanmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Maximum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< * cdef np.int_t amax, ai - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":733 - * cdef Py_ssize_t i0 + /* "nanmax.pyx":693 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":734 + /* "nanmax.pyx":694 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":735 + /* "nanmax.pyx":695 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":736 + /* "nanmax.pyx":696 * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "nanmax.pyx":697 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int, 0) * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amax = MINint */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanmax.pyx":699 + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanmax.pyx":737 + /* "nanmax.pyx":700 + * NPY_int, 0) * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINint - * for i0 in range(n0): + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i1 in range(n1): + */ + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + + /* "nanmax.pyx":701 + * if n0 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * amax = MINint */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":738 - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amax = MINint # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanmax.pyx":702 + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * amax = MINint + * for i0 in range(n0): */ - __pyx_v_amax = __pyx_v_6nanmax_MINint; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":739 - * raise ValueError(m) - * amax = MINint - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai >= amax: + /* "nanmax.pyx":703 + * raise ValueError(msg) + * for i1 in range(n1): + * amax = MINint # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amax = __pyx_v_6nanmax_MINint; - /* "nanmax.pyx":740 - * amax = MINint - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "nanmax.pyx":704 + * for i1 in range(n1): + * amax = MINint + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai >= amax: */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "nanmax.pyx":741 - * for i0 in range(n0): - * ai = a[i0] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * return np.int(amax) + /* "nanmax.pyx":705 + * amax = MINint + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":742 - * ai = a[i0] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * return np.int(amax) - * + /* "nanmax.pyx":706 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * y[i1] = amax */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L6; + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":707 + * ai = a[i0, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * y[i1] = amax + * return y + */ + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; + + /* "nanmax.pyx":708 + * if ai >= amax: + * amax = ai + * y[i1] = amax # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; } - /* "nanmax.pyx":743 - * if ai >= amax: - * amax = ai - * return np.int(amax) # <<<<<<<<<<<<<< + /* "nanmax.pyx":709 + * amax = ai + * y[i1] = amax + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":727 + /* "nanmax.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":747 +/* "nanmax.pyx":713 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_47nanmax_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_46nanmax_1d_int8_axisNone[] = "nanmax_1d_int8_axisNone(ndarray a)\nMaximum of 1d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_47nanmax_1d_int8_axisNone = {"nanmax_1d_int8_axisNone", (PyCFunction)__pyx_pw_6nanmax_47nanmax_1d_int8_axisNone, METH_O, __pyx_doc_6nanmax_46nanmax_1d_int8_axisNone}; -static PyObject *__pyx_pw_6nanmax_47nanmax_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_47nanmax_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_46nanmax_2d_int_axis1[] = "nanmax_2d_int_axis1(ndarray a)\nMaximum of 2d array with dtype=int along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_47nanmax_2d_int_axis1 = {"nanmax_2d_int_axis1", (PyCFunction)__pyx_pw_6nanmax_47nanmax_2d_int_axis1, METH_O, __pyx_doc_6nanmax_46nanmax_2d_int_axis1}; +static PyObject *__pyx_pw_6nanmax_47nanmax_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_1d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_46nanmax_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_46nanmax_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9346,258 +9146,302 @@ static PyObject *__pyx_pw_6nanmax_47nanmax_1d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_46nanmax_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_46nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amax; - __pyx_t_5numpy_int8_t __pyx_v_ai; + __pyx_t_5numpy_int_t __pyx_v_amax; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_m = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_1d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":749 - * def nanmax_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): - * "Maximum of 1d array with dtype=int8 along axis=None ignoring NaNs." + /* "nanmax.pyx":715 + * def nanmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Maximum of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amax, ai - * cdef Py_ssize_t i0 + * cdef np.int_t amax, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":753 - * cdef Py_ssize_t i0 + /* "nanmax.pyx":719 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":754 + /* "nanmax.pyx":720 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":755 + /* "nanmax.pyx":721 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":756 + /* "nanmax.pyx":722 * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amax = MINint8 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":757 - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINint8 - * for i0 in range(n0): + /* "nanmax.pyx":723 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int, 0) + * if n1 == 0: */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmax.pyx":758 - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amax = MINint8 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] - */ - __pyx_v_amax = __pyx_v_6nanmax_MINint8; - - /* "nanmax.pyx":759 - * raise ValueError(m) - * amax = MINint8 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai >= amax: + /* "nanmax.pyx":725 + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { - /* "nanmax.pyx":760 - * amax = MINint8 + /* "nanmax.pyx":726 + * NPY_int, 0) + * if n1 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; - /* "nanmax.pyx":761 + /* "nanmax.pyx":727 + * if n1 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * return np.int8(amax) + * amax = MINint */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "nanmax.pyx":762 - * ai = a[i0] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * return np.int8(amax) - * + /* "nanmax.pyx":728 + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * amax = MINint + * for i1 in range(n1): */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L6; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; + + /* "nanmax.pyx":729 + * raise ValueError(msg) + * for i0 in range(n0): + * amax = MINint # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_amax = __pyx_v_6nanmax_MINint; + + /* "nanmax.pyx":730 + * for i0 in range(n0): + * amax = MINint + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai >= amax: + */ + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; + + /* "nanmax.pyx":731 + * amax = MINint + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai + */ + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "nanmax.pyx":732 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * y[i0] = amax + */ + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":733 + * ai = a[i0, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * y[i0] = amax + * return y + */ + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; + + /* "nanmax.pyx":734 + * if ai >= amax: + * amax = ai + * y[i0] = amax # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; } - /* "nanmax.pyx":763 - * if ai >= amax: - * amax = ai - * return np.int8(amax) # <<<<<<<<<<<<<< + /* "nanmax.pyx":735 + * amax = ai + * y[i0] = amax + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":747 + /* "nanmax.pyx":713 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":767 +/* "nanmax.pyx":739 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_49nanmax_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_48nanmax_1d_int32_axisNone[] = "nanmax_1d_int32_axisNone(ndarray a)\nMaximum of 1d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_49nanmax_1d_int32_axisNone = {"nanmax_1d_int32_axisNone", (PyCFunction)__pyx_pw_6nanmax_49nanmax_1d_int32_axisNone, METH_O, __pyx_doc_6nanmax_48nanmax_1d_int32_axisNone}; -static PyObject *__pyx_pw_6nanmax_49nanmax_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_49nanmax_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_48nanmax_2d_int8_axis0[] = "nanmax_2d_int8_axis0(ndarray a)\nMaximum of 2d array with dtype=int8 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_49nanmax_2d_int8_axis0 = {"nanmax_2d_int8_axis0", (PyCFunction)__pyx_pw_6nanmax_49nanmax_2d_int8_axis0, METH_O, __pyx_doc_6nanmax_48nanmax_2d_int8_axis0}; +static PyObject *__pyx_pw_6nanmax_49nanmax_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_1d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_48nanmax_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_48nanmax_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9608,258 +9452,302 @@ static PyObject *__pyx_pw_6nanmax_49nanmax_1d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_48nanmax_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_48nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amax; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_amax; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_m = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_1d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_int8_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":769 - * def nanmax_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): - * "Maximum of 1d array with dtype=int32 along axis=None ignoring NaNs." + /* "nanmax.pyx":741 + * def nanmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Maximum of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amax, ai - * cdef Py_ssize_t i0 + * cdef np.int8_t amax, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":773 - * cdef Py_ssize_t i0 + /* "nanmax.pyx":745 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":774 + /* "nanmax.pyx":746 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":775 + /* "nanmax.pyx":747 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":776 + /* "nanmax.pyx":748 * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amax = MINint32 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":777 + /* "nanmax.pyx":749 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int8, 0) * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINint32 - * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmax.pyx":778 - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amax = MINint32 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanmax.pyx":751 + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) */ - __pyx_v_amax = __pyx_v_6nanmax_MINint32; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanmax.pyx":779 - * raise ValueError(m) - * amax = MINint32 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai >= amax: + /* "nanmax.pyx":752 + * NPY_int8, 0) + * if n0 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i1 in range(n1): */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; - /* "nanmax.pyx":780 - * amax = MINint32 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "nanmax.pyx":753 + * if n0 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * amax = MINint8 */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "nanmax.pyx":781 - * for i0 in range(n0): - * ai = a[i0] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * return np.int32(amax) + /* "nanmax.pyx":754 + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * amax = MINint8 + * for i0 in range(n0): */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":782 - * ai = a[i0] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * return np.int32(amax) - * + /* "nanmax.pyx":755 + * raise ValueError(msg) + * for i1 in range(n1): + * amax = MINint8 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L6; + __pyx_v_amax = __pyx_v_6nanmax_MINint8; + + /* "nanmax.pyx":756 + * for i1 in range(n1): + * amax = MINint8 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai >= amax: + */ + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; + + /* "nanmax.pyx":757 + * amax = MINint8 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai + */ + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "nanmax.pyx":758 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * y[i1] = amax + */ + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":759 + * ai = a[i0, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * y[i1] = amax + * return y + */ + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; + + /* "nanmax.pyx":760 + * if ai >= amax: + * amax = ai + * y[i1] = amax # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; } - /* "nanmax.pyx":783 - * if ai >= amax: - * amax = ai - * return np.int32(amax) # <<<<<<<<<<<<<< + /* "nanmax.pyx":761 + * amax = ai + * y[i1] = amax + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":767 + /* "nanmax.pyx":739 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":787 +/* "nanmax.pyx":765 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_51nanmax_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_50nanmax_1d_int64_axisNone[] = "nanmax_1d_int64_axisNone(ndarray a)\nMaximum of 1d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_51nanmax_1d_int64_axisNone = {"nanmax_1d_int64_axisNone", (PyCFunction)__pyx_pw_6nanmax_51nanmax_1d_int64_axisNone, METH_O, __pyx_doc_6nanmax_50nanmax_1d_int64_axisNone}; -static PyObject *__pyx_pw_6nanmax_51nanmax_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_51nanmax_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_50nanmax_2d_int8_axis1[] = "nanmax_2d_int8_axis1(ndarray a)\nMaximum of 2d array with dtype=int8 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_51nanmax_2d_int8_axis1 = {"nanmax_2d_int8_axis1", (PyCFunction)__pyx_pw_6nanmax_51nanmax_2d_int8_axis1, METH_O, __pyx_doc_6nanmax_50nanmax_2d_int8_axis1}; +static PyObject *__pyx_pw_6nanmax_51nanmax_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_1d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_50nanmax_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int8_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_50nanmax_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9870,258 +9758,302 @@ static PyObject *__pyx_pw_6nanmax_51nanmax_1d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_50nanmax_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_50nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amax; - __pyx_t_5numpy_int64_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_amax; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_m = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_1d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_int8_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":789 - * def nanmax_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): - * "Maximum of 1d array with dtype=int64 along axis=None ignoring NaNs." + /* "nanmax.pyx":767 + * def nanmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Maximum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amax, ai - * cdef Py_ssize_t i0 + * cdef np.int8_t amax, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":793 - * cdef Py_ssize_t i0 + /* "nanmax.pyx":771 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":794 + /* "nanmax.pyx":772 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":795 + /* "nanmax.pyx":773 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":796 + /* "nanmax.pyx":774 * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amax = MINint64 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":797 - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINint64 - * for i0 in range(n0): + /* "nanmax.pyx":775 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int8, 0) + * if n1 == 0: */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmax.pyx":798 - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amax = MINint64 # <<<<<<<<<<<<<< + /* "nanmax.pyx":777 + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":778 + * NPY_int8, 0) + * if n1 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) * for i0 in range(n0): - * ai = a[i0] */ - __pyx_v_amax = __pyx_v_6nanmax_MINint64; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; - /* "nanmax.pyx":799 - * raise ValueError(m) - * amax = MINint64 + /* "nanmax.pyx":779 + * if n1 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * amax = MINint8 + */ + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + + /* "nanmax.pyx":780 + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai >= amax: + * amax = MINint8 + * for i1 in range(n1): */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanmax.pyx":800 - * amax = MINint64 + /* "nanmax.pyx":781 + * raise ValueError(msg) * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + * amax = MINint8 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_amax = __pyx_v_6nanmax_MINint8; - /* "nanmax.pyx":801 + /* "nanmax.pyx":782 * for i0 in range(n0): - * ai = a[i0] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * return np.int64(amax) + * amax = MINint8 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai >= amax: */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "nanmax.pyx":802 - * ai = a[i0] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * return np.int64(amax) - * + /* "nanmax.pyx":783 + * amax = MINint8 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L6; + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "nanmax.pyx":784 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * y[i0] = amax + */ + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":785 + * ai = a[i0, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * y[i0] = amax + * return y + */ + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; - } - /* "nanmax.pyx":803 - * if ai >= amax: - * amax = ai - * return np.int64(amax) # <<<<<<<<<<<<<< + /* "nanmax.pyx":786 + * if ai >= amax: + * amax = ai + * y[i0] = amax # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + } /* "nanmax.pyx":787 + * amax = ai + * y[i0] = amax + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "nanmax.pyx":765 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":807 +/* "nanmax.pyx":791 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_53nanmax_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_52nanmax_2d_int_axisNone[] = "nanmax_2d_int_axisNone(ndarray a)\nMaximum of 2d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_53nanmax_2d_int_axisNone = {"nanmax_2d_int_axisNone", (PyCFunction)__pyx_pw_6nanmax_53nanmax_2d_int_axisNone, METH_O, __pyx_doc_6nanmax_52nanmax_2d_int_axisNone}; -static PyObject *__pyx_pw_6nanmax_53nanmax_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_53nanmax_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_52nanmax_2d_int32_axis0[] = "nanmax_2d_int32_axis0(ndarray a)\nMaximum of 2d array with dtype=int32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_53nanmax_2d_int32_axis0 = {"nanmax_2d_int32_axis0", (PyCFunction)__pyx_pw_6nanmax_53nanmax_2d_int32_axis0, METH_O, __pyx_doc_6nanmax_52nanmax_2d_int32_axis0}; +static PyObject *__pyx_pw_6nanmax_53nanmax_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_52nanmax_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_52nanmax_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10132,56 +10064,63 @@ static PyObject *__pyx_pw_6nanmax_53nanmax_2d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_52nanmax_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_52nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amax; - __pyx_t_5numpy_int_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_amax; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_m = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_int32_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":809 - * def nanmax_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): - * "Maximum of 2d array with dtype=int along axis=None ignoring NaNs." + /* "nanmax.pyx":793 + * def nanmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Maximum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amax, ai + * cdef np.int32_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":813 + /* "nanmax.pyx":797 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10190,227 +10129,237 @@ static PyObject *__pyx_pf_6nanmax_52nanmax_2d_int_axisNone(CYTHON_UNUSED PyObjec */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":814 + /* "nanmax.pyx":798 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":815 + /* "nanmax.pyx":799 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":816 + /* "nanmax.pyx":800 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":817 + /* "nanmax.pyx":801 * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amax = MINint + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int32, 0) + * if n0 == 0: */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmax.pyx":818 - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINint - * for i0 in range(n0): + /* "nanmax.pyx":803 + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":804 + * NPY_int32, 0) + * if n0 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i1 in range(n1): + */ + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + + /* "nanmax.pyx":805 + * if n0 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * amax = MINint32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":819 - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amax = MINint # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanmax.pyx":806 + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * amax = MINint32 + * for i0 in range(n0): */ - __pyx_v_amax = __pyx_v_6nanmax_MINint; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":820 - * raise ValueError(m) - * amax = MINint - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): + /* "nanmax.pyx":807 + * raise ValueError(msg) + * for i1 in range(n1): + * amax = MINint32 # <<<<<<<<<<<<<< + * for i0 in range(n0): * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amax = __pyx_v_6nanmax_MINint32; - /* "nanmax.pyx":821 - * amax = MINint - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "nanmax.pyx":808 + * for i1 in range(n1): + * amax = MINint32 + * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "nanmax.pyx":822 - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanmax.pyx":809 + * amax = MINint32 + * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":823 - * for i1 in range(n1): + /* "nanmax.pyx":810 + * for i0 in range(n0): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * return np.int(amax) + * y[i1] = amax */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { - /* "nanmax.pyx":824 + /* "nanmax.pyx":811 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * return np.int(amax) - * + * y[i1] = amax + * return y */ __pyx_v_amax = __pyx_v_ai; goto __pyx_L8; } __pyx_L8:; } - } - /* "nanmax.pyx":825 + /* "nanmax.pyx":812 * if ai >= amax: * amax = ai - * return np.int(amax) # <<<<<<<<<<<<<< + * y[i1] = amax # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + + /* "nanmax.pyx":813 + * amax = ai + * y[i1] = amax + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":807 + /* "nanmax.pyx":791 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":829 +/* "nanmax.pyx":817 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_55nanmax_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_54nanmax_2d_int8_axisNone[] = "nanmax_2d_int8_axisNone(ndarray a)\nMaximum of 2d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_55nanmax_2d_int8_axisNone = {"nanmax_2d_int8_axisNone", (PyCFunction)__pyx_pw_6nanmax_55nanmax_2d_int8_axisNone, METH_O, __pyx_doc_6nanmax_54nanmax_2d_int8_axisNone}; -static PyObject *__pyx_pw_6nanmax_55nanmax_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_55nanmax_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_54nanmax_2d_int32_axis1[] = "nanmax_2d_int32_axis1(ndarray a)\nMaximum of 2d array with dtype=int32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_55nanmax_2d_int32_axis1 = {"nanmax_2d_int32_axis1", (PyCFunction)__pyx_pw_6nanmax_55nanmax_2d_int32_axis1, METH_O, __pyx_doc_6nanmax_54nanmax_2d_int32_axis1}; +static PyObject *__pyx_pw_6nanmax_55nanmax_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_54nanmax_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_54nanmax_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10421,56 +10370,63 @@ static PyObject *__pyx_pw_6nanmax_55nanmax_2d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_54nanmax_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_54nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amax; - __pyx_t_5numpy_int8_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_amax; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_m = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_int32_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":831 - * def nanmax_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): - * "Maximum of 2d array with dtype=int8 along axis=None ignoring NaNs." + /* "nanmax.pyx":819 + * def nanmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Maximum of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amax, ai + * cdef np.int32_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":835 + /* "nanmax.pyx":823 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10479,227 +10435,237 @@ static PyObject *__pyx_pf_6nanmax_54nanmax_2d_int8_axisNone(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":836 + /* "nanmax.pyx":824 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":837 + /* "nanmax.pyx":825 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":838 + /* "nanmax.pyx":826 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":839 + /* "nanmax.pyx":827 * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amax = MINint8 + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int32, 0) + * if n1 == 0: */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmax.pyx":840 - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINint8 + /* "nanmax.pyx":829 + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":830 + * NPY_int32, 0) + * if n1 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i0 in range(n0): + */ + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + + /* "nanmax.pyx":831 + * if n1 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): + * amax = MINint32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":841 - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amax = MINint8 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanmax.pyx":832 + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * amax = MINint32 * for i1 in range(n1): */ - __pyx_v_amax = __pyx_v_6nanmax_MINint8; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanmax.pyx":842 - * raise ValueError(m) - * amax = MINint8 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "nanmax.pyx":833 + * raise ValueError(msg) + * for i0 in range(n0): + * amax = MINint32 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amax = __pyx_v_6nanmax_MINint32; - /* "nanmax.pyx":843 - * amax = MINint8 + /* "nanmax.pyx":834 * for i0 in range(n0): + * amax = MINint32 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "nanmax.pyx":844 - * for i0 in range(n0): + /* "nanmax.pyx":835 + * amax = MINint32 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":845 + /* "nanmax.pyx":836 * for i1 in range(n1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * return np.int8(amax) + * y[i0] = amax */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { - /* "nanmax.pyx":846 + /* "nanmax.pyx":837 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * return np.int8(amax) - * + * y[i0] = amax + * return y */ __pyx_v_amax = __pyx_v_ai; goto __pyx_L8; } __pyx_L8:; } - } - /* "nanmax.pyx":847 + /* "nanmax.pyx":838 * if ai >= amax: * amax = ai - * return np.int8(amax) # <<<<<<<<<<<<<< + * y[i0] = amax # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + } + + /* "nanmax.pyx":839 + * amax = ai + * y[i0] = amax + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int8); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":829 + /* "nanmax.pyx":817 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":851 +/* "nanmax.pyx":843 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_57nanmax_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_56nanmax_2d_int32_axisNone[] = "nanmax_2d_int32_axisNone(ndarray a)\nMaximum of 2d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_57nanmax_2d_int32_axisNone = {"nanmax_2d_int32_axisNone", (PyCFunction)__pyx_pw_6nanmax_57nanmax_2d_int32_axisNone, METH_O, __pyx_doc_6nanmax_56nanmax_2d_int32_axisNone}; -static PyObject *__pyx_pw_6nanmax_57nanmax_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_57nanmax_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_56nanmax_2d_int64_axis0[] = "nanmax_2d_int64_axis0(ndarray a)\nMaximum of 2d array with dtype=int64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_57nanmax_2d_int64_axis0 = {"nanmax_2d_int64_axis0", (PyCFunction)__pyx_pw_6nanmax_57nanmax_2d_int64_axis0, METH_O, __pyx_doc_6nanmax_56nanmax_2d_int64_axis0}; +static PyObject *__pyx_pw_6nanmax_57nanmax_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_56nanmax_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_56nanmax_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10710,56 +10676,63 @@ static PyObject *__pyx_pw_6nanmax_57nanmax_2d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_56nanmax_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_56nanmax_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amax; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_int64_t __pyx_v_amax; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_m = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_int64_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":853 - * def nanmax_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): - * "Maximum of 2d array with dtype=int32 along axis=None ignoring NaNs." + /* "nanmax.pyx":845 + * def nanmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Maximum of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amax, ai + * cdef np.int64_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":857 + /* "nanmax.pyx":849 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10768,227 +10741,237 @@ static PyObject *__pyx_pf_6nanmax_56nanmax_2d_int32_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":858 + /* "nanmax.pyx":850 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":859 + /* "nanmax.pyx":851 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":860 + /* "nanmax.pyx":852 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":861 + /* "nanmax.pyx":853 * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amax = MINint32 + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int64, 0) + * if n0 == 0: */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmax.pyx":862 - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINint32 - * for i0 in range(n0): + /* "nanmax.pyx":855 + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":856 + * NPY_int64, 0) + * if n0 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i1 in range(n1): + */ + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + + /* "nanmax.pyx":857 + * if n0 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * amax = MINint64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":863 - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amax = MINint32 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanmax.pyx":858 + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * amax = MINint64 + * for i0 in range(n0): */ - __pyx_v_amax = __pyx_v_6nanmax_MINint32; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":864 - * raise ValueError(m) - * amax = MINint32 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): + /* "nanmax.pyx":859 + * raise ValueError(msg) + * for i1 in range(n1): + * amax = MINint64 # <<<<<<<<<<<<<< + * for i0 in range(n0): * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amax = __pyx_v_6nanmax_MINint64; - /* "nanmax.pyx":865 - * amax = MINint32 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "nanmax.pyx":860 + * for i1 in range(n1): + * amax = MINint64 + * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "nanmax.pyx":866 - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanmax.pyx":861 + * amax = MINint64 + * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":867 - * for i1 in range(n1): + /* "nanmax.pyx":862 + * for i0 in range(n0): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * return np.int32(amax) + * y[i1] = amax */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { - /* "nanmax.pyx":868 + /* "nanmax.pyx":863 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * return np.int32(amax) - * + * y[i1] = amax + * return y */ __pyx_v_amax = __pyx_v_ai; goto __pyx_L8; } __pyx_L8:; } - } - /* "nanmax.pyx":869 + /* "nanmax.pyx":864 * if ai >= amax: * amax = ai - * return np.int32(amax) # <<<<<<<<<<<<<< + * y[i1] = amax # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + } + + /* "nanmax.pyx":865 + * amax = ai + * y[i1] = amax + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":851 + /* "nanmax.pyx":843 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":873 +/* "nanmax.pyx":869 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_59nanmax_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_58nanmax_2d_int64_axisNone[] = "nanmax_2d_int64_axisNone(ndarray a)\nMaximum of 2d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_59nanmax_2d_int64_axisNone = {"nanmax_2d_int64_axisNone", (PyCFunction)__pyx_pw_6nanmax_59nanmax_2d_int64_axisNone, METH_O, __pyx_doc_6nanmax_58nanmax_2d_int64_axisNone}; -static PyObject *__pyx_pw_6nanmax_59nanmax_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_59nanmax_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_58nanmax_2d_int64_axis1[] = "nanmax_2d_int64_axis1(ndarray a)\nMaximum of 2d array with dtype=int64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_59nanmax_2d_int64_axis1 = {"nanmax_2d_int64_axis1", (PyCFunction)__pyx_pw_6nanmax_59nanmax_2d_int64_axis1, METH_O, __pyx_doc_6nanmax_58nanmax_2d_int64_axis1}; +static PyObject *__pyx_pw_6nanmax_59nanmax_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_58nanmax_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_58nanmax_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10999,7 +10982,7 @@ static PyObject *__pyx_pw_6nanmax_59nanmax_2d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_58nanmax_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_58nanmax_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; __pyx_t_5numpy_int64_t __pyx_v_amax; __pyx_t_5numpy_int64_t __pyx_v_ai; @@ -11008,47 +10991,54 @@ static PyObject *__pyx_pf_6nanmax_58nanmax_2d_int64_axisNone(CYTHON_UNUSED PyObj npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_m = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_int64_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":875 - * def nanmax_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): - * "Maximum of 2d array with dtype=int64 along axis=None ignoring NaNs." + /* "nanmax.pyx":871 + * def nanmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Maximum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< * cdef np.int64_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":879 + /* "nanmax.pyx":875 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -11057,208 +11047,218 @@ static PyObject *__pyx_pf_6nanmax_58nanmax_2d_int64_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":880 + /* "nanmax.pyx":876 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":881 + /* "nanmax.pyx":877 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":882 + /* "nanmax.pyx":878 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":883 + /* "nanmax.pyx":879 * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amax = MINint64 + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int64, 0) + * if n1 == 0: */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmax.pyx":884 - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINint64 + /* "nanmax.pyx":881 + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":882 + * NPY_int64, 0) + * if n1 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i0 in range(n0): + */ + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + + /* "nanmax.pyx":883 + * if n1 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): + * amax = MINint64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":885 - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amax = MINint64 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanmax.pyx":884 + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * amax = MINint64 * for i1 in range(n1): */ - __pyx_v_amax = __pyx_v_6nanmax_MINint64; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanmax.pyx":886 - * raise ValueError(m) - * amax = MINint64 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "nanmax.pyx":885 + * raise ValueError(msg) + * for i0 in range(n0): + * amax = MINint64 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amax = __pyx_v_6nanmax_MINint64; - /* "nanmax.pyx":887 - * amax = MINint64 + /* "nanmax.pyx":886 * for i0 in range(n0): + * amax = MINint64 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "nanmax.pyx":888 - * for i0 in range(n0): + /* "nanmax.pyx":887 + * amax = MINint64 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":889 + /* "nanmax.pyx":888 * for i1 in range(n1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * return np.int64(amax) + * y[i0] = amax */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { - /* "nanmax.pyx":890 + /* "nanmax.pyx":889 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * return np.int64(amax) - * + * y[i0] = amax + * return y */ __pyx_v_amax = __pyx_v_ai; goto __pyx_L8; } __pyx_L8:; } + + /* "nanmax.pyx":890 + * if ai >= amax: + * amax = ai + * y[i0] = amax # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; } /* "nanmax.pyx":891 - * if ai >= amax: * amax = ai - * return np.int64(amax) # <<<<<<<<<<<<<< + * y[i0] = amax + * return y # <<<<<<<<<<<<<< * * cdef dict nanmax_dict = {} */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":873 + /* "nanmax.pyx":869 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "nanmax.pyx":930 - * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone + * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 * * def nanmax_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmax along axis 0." @@ -11326,7 +11326,7 @@ static PyObject *__pyx_pf_6nanmax_60nanmax_slow_axis0(CYTHON_UNUSED PyObject *__ goto __pyx_L0; /* "nanmax.pyx":930 - * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone + * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 * * def nanmax_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmax along axis 0." @@ -14317,7 +14317,7 @@ static PyObject *__pyx_pf_6nanmax_126nanmax_slow_axisNone(CYTHON_UNUSED PyObject return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -14367,7 +14367,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -14380,7 +14380,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -14389,7 +14389,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -14398,7 +14398,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -14407,7 +14407,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -14417,7 +14417,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -14429,7 +14429,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -14440,7 +14440,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -14456,7 +14456,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -14468,7 +14468,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -14482,7 +14482,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -14498,7 +14498,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -14510,7 +14510,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -14524,7 +14524,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -14533,7 +14533,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -14542,7 +14542,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -14552,7 +14552,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -14561,7 +14561,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -14570,7 +14570,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -14581,7 +14581,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -14590,7 +14590,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -14603,7 +14603,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -14612,7 +14612,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -14623,7 +14623,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -14632,7 +14632,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -14641,7 +14641,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -14650,7 +14650,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -14659,7 +14659,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -14671,7 +14671,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -14680,7 +14680,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -14700,7 +14700,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -14716,7 +14716,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -14731,7 +14731,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -14741,7 +14741,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -14751,7 +14751,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -14774,7 +14774,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -14794,7 +14794,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14808,7 +14808,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -14817,7 +14817,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -14828,7 +14828,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -14839,7 +14839,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -14850,7 +14850,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -14861,7 +14861,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -14872,7 +14872,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -14883,7 +14883,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -14894,7 +14894,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -14905,7 +14905,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -14916,7 +14916,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -14927,7 +14927,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -14938,7 +14938,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -14949,7 +14949,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -14960,7 +14960,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -14971,7 +14971,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -14982,7 +14982,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -14993,7 +14993,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -15005,7 +15005,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -15031,7 +15031,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -15040,7 +15040,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -15052,7 +15052,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -15061,7 +15061,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -15070,7 +15070,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -15079,7 +15079,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -15089,7 +15089,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -15099,7 +15099,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -15131,7 +15131,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -15155,7 +15155,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -15165,7 +15165,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -15177,7 +15177,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -15187,7 +15187,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -15199,7 +15199,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -15211,7 +15211,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -15228,7 +15228,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -15242,7 +15242,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -15261,7 +15261,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -15278,7 +15278,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -15292,7 +15292,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -15311,7 +15311,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -15328,7 +15328,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -15342,7 +15342,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -15361,7 +15361,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -15378,7 +15378,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -15392,7 +15392,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -15411,7 +15411,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -15428,7 +15428,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -15442,7 +15442,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -15461,7 +15461,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -15493,7 +15493,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -15502,7 +15502,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -15511,7 +15511,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -15533,7 +15533,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -15546,7 +15546,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -15585,7 +15585,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -15602,7 +15602,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -15616,7 +15616,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -15639,7 +15639,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -15659,7 +15659,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -15673,7 +15673,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -15689,7 +15689,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -15698,7 +15698,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -15707,7 +15707,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -15718,7 +15718,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -15728,7 +15728,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -15738,7 +15738,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -15750,7 +15750,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -15760,7 +15760,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -15774,7 +15774,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -15792,7 +15792,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -15810,7 +15810,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -15828,7 +15828,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -15846,7 +15846,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -15864,7 +15864,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -15882,7 +15882,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -15900,7 +15900,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -15918,7 +15918,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -15936,7 +15936,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -15954,7 +15954,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -15972,7 +15972,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -15990,7 +15990,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -16008,7 +16008,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -16028,7 +16028,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -16048,7 +16048,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -16068,7 +16068,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -16087,7 +16087,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -16110,7 +16110,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -16122,7 +16122,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -16134,7 +16134,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -16144,7 +16144,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -16154,7 +16154,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -16179,7 +16179,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -16194,7 +16194,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -16205,7 +16205,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -16217,7 +16217,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -16226,7 +16226,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -16237,7 +16237,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -16246,7 +16246,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -16255,7 +16255,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -16267,7 +16267,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -16281,7 +16281,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -16291,7 +16291,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -16305,7 +16305,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -16316,7 +16316,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -16354,7 +16354,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -16368,6 +16367,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -16506,7 +16506,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -16517,7 +16517,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -16528,7 +16528,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -16539,7 +16539,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -16550,7 +16550,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -16561,7 +16561,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -16593,7 +16593,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":109 * return func(arr) @@ -16605,346 +16605,346 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_selector, 109, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_selector, 109, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=0 ignoring NaNs." + * def nanmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=0 ignoring NaNs." * cdef int allnan = 1 */ __pyx_tuple__13 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int_axis0, 183, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_float_axis0, 183, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":209 + /* "nanmax.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=1 ignoring NaNs." + * def nanmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__15 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__15 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int_axis1, 209, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_float_axis1, 214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":235 + /* "nanmax.pyx":245 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * def nanmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__17 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__17 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int8_axis0, 235, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_float32_axis0, 245, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":261 + /* "nanmax.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * def nanmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__19 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int8_axis1, 261, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_float32_axis1, 276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":287 + /* "nanmax.pyx":307 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * def nanmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__21 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int32_axis0, 287, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_float64_axis0, 307, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":313 + /* "nanmax.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * def nanmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__23 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int32_axis1, 313, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_float64_axis1, 338, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":339 + /* "nanmax.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * def nanmax_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__25 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int64_axis0, 339, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_1d_float_axisNone, 369, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":365 + /* "nanmax.pyx":393 * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=1 ignoring NaNs." + * @cython.wraparound(False) + * def nanmax_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__27 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int64_axis1, 365, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_1d_float32_axisNone, 393, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":391 + /* "nanmax.pyx":417 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmax_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__29 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_1d_float_axisNone, 391, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_1d_float64_axisNone, 417, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":415 + /* "nanmax.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmax_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__31 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_1d_float32_axisNone, 415, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_float_axisNone, 441, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":439 + /* "nanmax.pyx":467 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmax_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__33 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_1d_float64_axisNone, 439, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_float32_axisNone, 467, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":463 + /* "nanmax.pyx":493 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmax_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__35 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_float_axisNone, 463, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_float64_axisNone, 493, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":489 + /* "nanmax.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmax_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__37 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_float32_axisNone, 489, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_1d_int_axisNone, 519, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":515 + /* "nanmax.pyx":539 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmax_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__39 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_float64_axisNone, 515, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_1d_int8_axisNone, 539, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":541 + /* "nanmax.pyx":559 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=0 ignoring NaNs." + * def nanmax_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__41 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_float_axis0, 541, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_1d_int32_axisNone, 559, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":572 + /* "nanmax.pyx":579 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=1 ignoring NaNs." + * def nanmax_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__43 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_float_axis1, 572, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_1d_int64_axisNone, 579, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":603 + /* "nanmax.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * def nanmax_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__45 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_float32_axis0, 603, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int_axisNone, 599, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":634 + /* "nanmax.pyx":621 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * def nanmax_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__47 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_float32_axis1, 634, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int8_axisNone, 621, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":665 + /* "nanmax.pyx":643 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * def nanmax_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__49 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_float64_axis0, 665, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int32_axisNone, 643, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":696 + /* "nanmax.pyx":665 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * def nanmax_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__51 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_float64_axis1, 696, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int64_axisNone, 665, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":727 + /* "nanmax.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__53 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_1d_int_axisNone, 727, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int_axis0, 687, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":747 + /* "nanmax.pyx":713 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__55 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_1d_int8_axisNone, 747, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int_axis1, 713, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":767 + /* "nanmax.pyx":739 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__57 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_1d_int32_axisNone, 767, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int8_axis0, 739, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":787 + /* "nanmax.pyx":765 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__59 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_1d_int64_axisNone, 787, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int8_axis1, 765, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":807 + /* "nanmax.pyx":791 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__61 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int_axisNone, 807, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int32_axis0, 791, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":829 + /* "nanmax.pyx":817 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__63 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int8_axisNone, 829, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int32_axis1, 817, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":851 + /* "nanmax.pyx":843 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__65 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int32_axisNone, 851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int64_axis0, 843, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":873 + /* "nanmax.pyx":869 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__67 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int64_axisNone, 873, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int64_axis1, 869, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":930 - * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone + * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 * * def nanmax_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmax along axis 0." @@ -16953,7 +16953,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis0, 930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis0, 930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":934 * return bn.slow.nanmax(arr, axis=0) @@ -16965,7 +16965,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis1, 934, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis1, 934, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":938 * return bn.slow.nanmax(arr, axis=1) @@ -16977,7 +16977,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis2, 938, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis2, 938, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":942 * return bn.slow.nanmax(arr, axis=2) @@ -16989,7 +16989,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis3, 942, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis3, 942, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":946 * return bn.slow.nanmax(arr, axis=3) @@ -17001,7 +17001,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis4, 946, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis4, 946, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":950 * return bn.slow.nanmax(arr, axis=4) @@ -17013,7 +17013,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis5, 950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis5, 950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":954 * return bn.slow.nanmax(arr, axis=5) @@ -17025,7 +17025,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis6, 954, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis6, 954, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":958 * return bn.slow.nanmax(arr, axis=6) @@ -17037,7 +17037,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis7, 958, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis7, 958, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":962 * return bn.slow.nanmax(arr, axis=7) @@ -17049,7 +17049,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis8, 962, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis8, 962, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":966 * return bn.slow.nanmax(arr, axis=8) @@ -17061,7 +17061,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis9, 966, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis9, 966, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":970 * return bn.slow.nanmax(arr, axis=9) @@ -17073,7 +17073,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis10, 970, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis10, 970, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":974 * return bn.slow.nanmax(arr, axis=10) @@ -17085,7 +17085,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis11, 974, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis11, 974, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":978 * return bn.slow.nanmax(arr, axis=11) @@ -17097,7 +17097,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis12, 978, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis12, 978, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":982 * return bn.slow.nanmax(arr, axis=12) @@ -17109,7 +17109,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis13, 982, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis13, 982, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":986 * return bn.slow.nanmax(arr, axis=13) @@ -17121,7 +17121,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis14, 986, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis14, 986, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":990 * return bn.slow.nanmax(arr, axis=14) @@ -17133,7 +17133,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis15, 990, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis15, 990, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":994 * return bn.slow.nanmax(arr, axis=15) @@ -17145,7 +17145,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis16, 994, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis16, 994, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":998 * return bn.slow.nanmax(arr, axis=16) @@ -17157,7 +17157,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis17, 998, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis17, 998, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1002 * return bn.slow.nanmax(arr, axis=17) @@ -17169,7 +17169,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis18, 1002, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis18, 1002, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1006 * return bn.slow.nanmax(arr, axis=18) @@ -17181,7 +17181,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1006; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis19, 1006, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1006; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis19, 1006, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1006; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1010 * return bn.slow.nanmax(arr, axis=19) @@ -17193,7 +17193,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis20, 1010, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis20, 1010, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1014 * return bn.slow.nanmax(arr, axis=20) @@ -17205,7 +17205,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis21, 1014, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis21, 1014, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1018 * return bn.slow.nanmax(arr, axis=21) @@ -17217,7 +17217,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis22, 1018, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis22, 1018, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1022 * return bn.slow.nanmax(arr, axis=22) @@ -17229,7 +17229,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis23, 1022, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis23, 1022, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1026 * return bn.slow.nanmax(arr, axis=23) @@ -17241,7 +17241,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis24, 1026, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis24, 1026, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1030 * return bn.slow.nanmax(arr, axis=24) @@ -17253,7 +17253,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis25, 1030, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis25, 1030, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1034 * return bn.slow.nanmax(arr, axis=25) @@ -17265,7 +17265,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis26, 1034, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis26, 1034, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1038 * return bn.slow.nanmax(arr, axis=26) @@ -17277,7 +17277,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis27, 1038, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis27, 1038, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1042 * return bn.slow.nanmax(arr, axis=27) @@ -17289,7 +17289,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis28, 1042, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis28, 1042, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1046 * return bn.slow.nanmax(arr, axis=28) @@ -17301,7 +17301,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis29, 1046, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis29, 1046, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1050 * return bn.slow.nanmax(arr, axis=29) @@ -17313,7 +17313,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis30, 1050, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis30, 1050, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1054 * return bn.slow.nanmax(arr, axis=30) @@ -17325,7 +17325,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis31, 1054, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis31, 1054, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1058 * return bn.slow.nanmax(arr, axis=31) @@ -17337,7 +17337,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis32, 1058, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis32, 1058, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1062 * return bn.slow.nanmax(arr, axis=32) @@ -17349,7 +17349,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axisNone, 1062, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axisNone, 1062, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -18315,345 +18315,345 @@ PyMODINIT_FUNC PyInit_nanmax(void) /* "nanmax.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=0 ignoring NaNs." + * def nanmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_5nanmax_2d_int_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_5nanmax_2d_float_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":209 + /* "nanmax.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=1 ignoring NaNs." + * def nanmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_7nanmax_2d_int_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_7nanmax_2d_float_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":235 + /* "nanmax.pyx":245 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * def nanmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_9nanmax_2d_int8_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_9nanmax_2d_float32_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":261 + /* "nanmax.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * def nanmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_11nanmax_2d_int8_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_11nanmax_2d_float32_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":287 + /* "nanmax.pyx":307 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * def nanmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_13nanmax_2d_int32_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_13nanmax_2d_float64_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":313 + /* "nanmax.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * def nanmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_15nanmax_2d_int32_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_15nanmax_2d_float64_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":339 + /* "nanmax.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * def nanmax_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_17nanmax_2d_int64_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_17nanmax_1d_float_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":365 + /* "nanmax.pyx":393 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=1 ignoring NaNs." + * def nanmax_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_19nanmax_2d_int64_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_19nanmax_1d_float32_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":391 + /* "nanmax.pyx":417 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmax_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_21nanmax_1d_float_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_21nanmax_1d_float64_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":415 + /* "nanmax.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmax_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_23nanmax_1d_float32_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_23nanmax_2d_float_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":439 + /* "nanmax.pyx":467 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmax_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_25nanmax_1d_float64_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_25nanmax_2d_float32_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":463 + /* "nanmax.pyx":493 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmax_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_27nanmax_2d_float_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_27nanmax_2d_float64_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":489 + /* "nanmax.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmax_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_29nanmax_2d_float32_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_29nanmax_1d_int_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":515 + /* "nanmax.pyx":539 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmax_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_31nanmax_2d_float64_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_31nanmax_1d_int8_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":541 + /* "nanmax.pyx":559 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=0 ignoring NaNs." + * def nanmax_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_33nanmax_2d_float_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_33nanmax_1d_int32_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":572 + /* "nanmax.pyx":579 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=1 ignoring NaNs." + * def nanmax_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_35nanmax_2d_float_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_35nanmax_1d_int64_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":603 + /* "nanmax.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * def nanmax_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_37nanmax_2d_float32_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_37nanmax_2d_int_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":634 + /* "nanmax.pyx":621 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * def nanmax_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_39nanmax_2d_float32_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_39nanmax_2d_int8_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":665 + /* "nanmax.pyx":643 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * def nanmax_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_41nanmax_2d_float64_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_41nanmax_2d_int32_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":696 + /* "nanmax.pyx":665 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * def nanmax_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_43nanmax_2d_float64_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_43nanmax_2d_int64_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":727 + /* "nanmax.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_45nanmax_1d_int_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_45nanmax_2d_int_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":747 + /* "nanmax.pyx":713 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_47nanmax_1d_int8_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_47nanmax_2d_int_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":767 + /* "nanmax.pyx":739 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_49nanmax_1d_int32_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_49nanmax_2d_int8_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":787 + /* "nanmax.pyx":765 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_51nanmax_1d_int64_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_51nanmax_2d_int8_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":807 + /* "nanmax.pyx":791 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_53nanmax_2d_int_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_53nanmax_2d_int32_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":829 + /* "nanmax.pyx":817 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_55nanmax_2d_int8_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_55nanmax_2d_int32_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":851 + /* "nanmax.pyx":843 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_57nanmax_2d_int32_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_57nanmax_2d_int64_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":873 + /* "nanmax.pyx":869 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_59nanmax_2d_int64_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_59nanmax_2d_int64_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":893 - * return np.int64(amax) + * return y * * cdef dict nanmax_dict = {} # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int, 0)] = nanmax_2d_int_axis0 - * nanmax_dict[(2, NPY_int, 1)] = nanmax_2d_int_axis1 + * nanmax_dict[(2, NPY_float, 0)] = nanmax_2d_float_axis0 + * nanmax_dict[(2, NPY_float, 1)] = nanmax_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -18665,17 +18665,17 @@ PyMODINIT_FUNC PyInit_nanmax(void) /* "nanmax.pyx":894 * * cdef dict nanmax_dict = {} - * nanmax_dict[(2, NPY_int, 0)] = nanmax_2d_int_axis0 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int, 1)] = nanmax_2d_int_axis1 - * nanmax_dict[(2, NPY_int8, 0)] = nanmax_2d_int8_axis0 + * nanmax_dict[(2, NPY_float, 0)] = nanmax_2d_float_axis0 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float, 1)] = nanmax_2d_float_axis1 + * nanmax_dict[(2, NPY_float32, 0)] = nanmax_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18694,18 +18694,18 @@ PyMODINIT_FUNC PyInit_nanmax(void) /* "nanmax.pyx":895 * cdef dict nanmax_dict = {} - * nanmax_dict[(2, NPY_int, 0)] = nanmax_2d_int_axis0 - * nanmax_dict[(2, NPY_int, 1)] = nanmax_2d_int_axis1 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int8, 0)] = nanmax_2d_int8_axis0 - * nanmax_dict[(2, NPY_int8, 1)] = nanmax_2d_int8_axis1 + * nanmax_dict[(2, NPY_float, 0)] = nanmax_2d_float_axis0 + * nanmax_dict[(2, NPY_float, 1)] = nanmax_2d_float_axis1 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float32, 0)] = nanmax_2d_float32_axis0 + * nanmax_dict[(2, NPY_float32, 1)] = nanmax_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18723,19 +18723,19 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":896 - * nanmax_dict[(2, NPY_int, 0)] = nanmax_2d_int_axis0 - * nanmax_dict[(2, NPY_int, 1)] = nanmax_2d_int_axis1 - * nanmax_dict[(2, NPY_int8, 0)] = nanmax_2d_int8_axis0 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int8, 1)] = nanmax_2d_int8_axis1 - * nanmax_dict[(2, NPY_int32, 0)] = nanmax_2d_int32_axis0 + * nanmax_dict[(2, NPY_float, 0)] = nanmax_2d_float_axis0 + * nanmax_dict[(2, NPY_float, 1)] = nanmax_2d_float_axis1 + * nanmax_dict[(2, NPY_float32, 0)] = nanmax_2d_float32_axis0 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float32, 1)] = nanmax_2d_float32_axis1 + * nanmax_dict[(2, NPY_float64, 0)] = nanmax_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18753,19 +18753,19 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":897 - * nanmax_dict[(2, NPY_int, 1)] = nanmax_2d_int_axis1 - * nanmax_dict[(2, NPY_int8, 0)] = nanmax_2d_int8_axis0 - * nanmax_dict[(2, NPY_int8, 1)] = nanmax_2d_int8_axis1 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int32, 0)] = nanmax_2d_int32_axis0 - * nanmax_dict[(2, NPY_int32, 1)] = nanmax_2d_int32_axis1 + * nanmax_dict[(2, NPY_float, 1)] = nanmax_2d_float_axis1 + * nanmax_dict[(2, NPY_float32, 0)] = nanmax_2d_float32_axis0 + * nanmax_dict[(2, NPY_float32, 1)] = nanmax_2d_float32_axis1 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float64, 0)] = nanmax_2d_float64_axis0 + * nanmax_dict[(2, NPY_float64, 1)] = nanmax_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18783,19 +18783,19 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":898 - * nanmax_dict[(2, NPY_int8, 0)] = nanmax_2d_int8_axis0 - * nanmax_dict[(2, NPY_int8, 1)] = nanmax_2d_int8_axis1 - * nanmax_dict[(2, NPY_int32, 0)] = nanmax_2d_int32_axis0 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int32, 1)] = nanmax_2d_int32_axis1 - * nanmax_dict[(2, NPY_int64, 0)] = nanmax_2d_int64_axis0 + * nanmax_dict[(2, NPY_float32, 0)] = nanmax_2d_float32_axis0 + * nanmax_dict[(2, NPY_float32, 1)] = nanmax_2d_float32_axis1 + * nanmax_dict[(2, NPY_float64, 0)] = nanmax_2d_float64_axis0 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float64, 1)] = nanmax_2d_float64_axis1 + * nanmax_dict[(1, NPY_float, 0)] = nanmax_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18813,19 +18813,19 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":899 - * nanmax_dict[(2, NPY_int8, 1)] = nanmax_2d_int8_axis1 - * nanmax_dict[(2, NPY_int32, 0)] = nanmax_2d_int32_axis0 - * nanmax_dict[(2, NPY_int32, 1)] = nanmax_2d_int32_axis1 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int64, 0)] = nanmax_2d_int64_axis0 - * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 + * nanmax_dict[(2, NPY_float32, 1)] = nanmax_2d_float32_axis1 + * nanmax_dict[(2, NPY_float64, 0)] = nanmax_2d_float64_axis0 + * nanmax_dict[(2, NPY_float64, 1)] = nanmax_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float, 0)] = nanmax_1d_float_axisNone + * nanmax_dict[(1, NPY_float, None)] = nanmax_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18843,25 +18843,25 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":900 - * nanmax_dict[(2, NPY_int32, 0)] = nanmax_2d_int32_axis0 - * nanmax_dict[(2, NPY_int32, 1)] = nanmax_2d_int32_axis1 - * nanmax_dict[(2, NPY_int64, 0)] = nanmax_2d_int64_axis0 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 - * nanmax_dict[(1, NPY_float, 0)] = nanmax_1d_float_axisNone + * nanmax_dict[(2, NPY_float64, 0)] = nanmax_2d_float64_axis0 + * nanmax_dict[(2, NPY_float64, 1)] = nanmax_2d_float64_axis1 + * nanmax_dict[(1, NPY_float, 0)] = nanmax_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float, None)] = nanmax_1d_float_axisNone + * nanmax_dict[(1, NPY_float32, 0)] = nanmax_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -18873,49 +18873,49 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":901 - * nanmax_dict[(2, NPY_int32, 1)] = nanmax_2d_int32_axis1 - * nanmax_dict[(2, NPY_int64, 0)] = nanmax_2d_int64_axis0 - * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float64, 1)] = nanmax_2d_float64_axis1 * nanmax_dict[(1, NPY_float, 0)] = nanmax_1d_float_axisNone - * nanmax_dict[(1, NPY_float, None)] = nanmax_1d_float_axisNone + * nanmax_dict[(1, NPY_float, None)] = nanmax_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float32, 0)] = nanmax_1d_float32_axisNone + * nanmax_dict[(1, NPY_float32, None)] = nanmax_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":902 - * nanmax_dict[(2, NPY_int64, 0)] = nanmax_2d_int64_axis0 - * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 - * nanmax_dict[(1, NPY_float, 0)] = nanmax_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float, 0)] = nanmax_1d_float_axisNone * nanmax_dict[(1, NPY_float, None)] = nanmax_1d_float_axisNone - * nanmax_dict[(1, NPY_float32, 0)] = nanmax_1d_float32_axisNone + * nanmax_dict[(1, NPY_float32, 0)] = nanmax_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float32, None)] = nanmax_1d_float32_axisNone + * nanmax_dict[(1, NPY_float64, 0)] = nanmax_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18933,19 +18933,19 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":903 - * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 - * nanmax_dict[(1, NPY_float, 0)] = nanmax_1d_float_axisNone - * nanmax_dict[(1, NPY_float, None)] = nanmax_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float, None)] = nanmax_1d_float_axisNone * nanmax_dict[(1, NPY_float32, 0)] = nanmax_1d_float32_axisNone - * nanmax_dict[(1, NPY_float32, None)] = nanmax_1d_float32_axisNone + * nanmax_dict[(1, NPY_float32, None)] = nanmax_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float64, 0)] = nanmax_1d_float64_axisNone + * nanmax_dict[(1, NPY_float64, None)] = nanmax_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18963,19 +18963,19 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":904 - * nanmax_dict[(1, NPY_float, 0)] = nanmax_1d_float_axisNone - * nanmax_dict[(1, NPY_float, None)] = nanmax_1d_float_axisNone - * nanmax_dict[(1, NPY_float32, 0)] = nanmax_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float32, 0)] = nanmax_1d_float32_axisNone * nanmax_dict[(1, NPY_float32, None)] = nanmax_1d_float32_axisNone - * nanmax_dict[(1, NPY_float64, 0)] = nanmax_1d_float64_axisNone + * nanmax_dict[(1, NPY_float64, 0)] = nanmax_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float64, None)] = nanmax_1d_float64_axisNone + * nanmax_dict[(2, NPY_float, None)] = nanmax_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18993,19 +18993,19 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":905 - * nanmax_dict[(1, NPY_float, None)] = nanmax_1d_float_axisNone - * nanmax_dict[(1, NPY_float32, 0)] = nanmax_1d_float32_axisNone - * nanmax_dict[(1, NPY_float32, None)] = nanmax_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float32, None)] = nanmax_1d_float32_axisNone * nanmax_dict[(1, NPY_float64, 0)] = nanmax_1d_float64_axisNone - * nanmax_dict[(1, NPY_float64, None)] = nanmax_1d_float64_axisNone + * nanmax_dict[(1, NPY_float64, None)] = nanmax_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float, None)] = nanmax_2d_float_axisNone + * nanmax_dict[(2, NPY_float32, None)] = nanmax_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19023,55 +19023,55 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":906 - * nanmax_dict[(1, NPY_float32, 0)] = nanmax_1d_float32_axisNone - * nanmax_dict[(1, NPY_float32, None)] = nanmax_1d_float32_axisNone - * nanmax_dict[(1, NPY_float64, 0)] = nanmax_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float64, 0)] = nanmax_1d_float64_axisNone * nanmax_dict[(1, NPY_float64, None)] = nanmax_1d_float64_axisNone - * nanmax_dict[(2, NPY_float, None)] = nanmax_2d_float_axisNone + * nanmax_dict[(2, NPY_float, None)] = nanmax_2d_float_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float32, None)] = nanmax_2d_float32_axisNone + * nanmax_dict[(2, NPY_float64, None)] = nanmax_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":907 - * nanmax_dict[(1, NPY_float32, None)] = nanmax_1d_float32_axisNone - * nanmax_dict[(1, NPY_float64, 0)] = nanmax_1d_float64_axisNone - * nanmax_dict[(1, NPY_float64, None)] = nanmax_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float64, None)] = nanmax_1d_float64_axisNone * nanmax_dict[(2, NPY_float, None)] = nanmax_2d_float_axisNone - * nanmax_dict[(2, NPY_float32, None)] = nanmax_2d_float32_axisNone + * nanmax_dict[(2, NPY_float32, None)] = nanmax_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float64, None)] = nanmax_2d_float64_axisNone + * nanmax_dict[(1, NPY_int, 0)] = nanmax_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -19083,19 +19083,19 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":908 - * nanmax_dict[(1, NPY_float64, 0)] = nanmax_1d_float64_axisNone - * nanmax_dict[(1, NPY_float64, None)] = nanmax_1d_float64_axisNone - * nanmax_dict[(2, NPY_float, None)] = nanmax_2d_float_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float, None)] = nanmax_2d_float_axisNone * nanmax_dict[(2, NPY_float32, None)] = nanmax_2d_float32_axisNone - * nanmax_dict[(2, NPY_float64, None)] = nanmax_2d_float64_axisNone + * nanmax_dict[(2, NPY_float64, None)] = nanmax_2d_float64_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_int, 0)] = nanmax_1d_int_axisNone + * nanmax_dict[(1, NPY_int, None)] = nanmax_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19113,55 +19113,55 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":909 - * nanmax_dict[(1, NPY_float64, None)] = nanmax_1d_float64_axisNone - * nanmax_dict[(2, NPY_float, None)] = nanmax_2d_float_axisNone - * nanmax_dict[(2, NPY_float32, None)] = nanmax_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float32, None)] = nanmax_2d_float32_axisNone * nanmax_dict[(2, NPY_float64, None)] = nanmax_2d_float64_axisNone - * nanmax_dict[(2, NPY_float, 0)] = nanmax_2d_float_axis0 + * nanmax_dict[(1, NPY_int, 0)] = nanmax_1d_int_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_int, None)] = nanmax_1d_int_axisNone + * nanmax_dict[(1, NPY_int8, 0)] = nanmax_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":910 - * nanmax_dict[(2, NPY_float, None)] = nanmax_2d_float_axisNone - * nanmax_dict[(2, NPY_float32, None)] = nanmax_2d_float32_axisNone - * nanmax_dict[(2, NPY_float64, None)] = nanmax_2d_float64_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_float, 0)] = nanmax_2d_float_axis0 - * nanmax_dict[(2, NPY_float, 1)] = nanmax_2d_float_axis1 + * nanmax_dict[(2, NPY_float64, None)] = nanmax_2d_float64_axisNone + * nanmax_dict[(1, NPY_int, 0)] = nanmax_1d_int_axisNone + * nanmax_dict[(1, NPY_int, None)] = nanmax_1d_int_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_int8, 0)] = nanmax_1d_int8_axisNone + * nanmax_dict[(1, NPY_int8, None)] = nanmax_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -19173,25 +19173,25 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":911 - * nanmax_dict[(2, NPY_float32, None)] = nanmax_2d_float32_axisNone - * nanmax_dict[(2, NPY_float64, None)] = nanmax_2d_float64_axisNone - * nanmax_dict[(2, NPY_float, 0)] = nanmax_2d_float_axis0 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_float, 1)] = nanmax_2d_float_axis1 - * nanmax_dict[(2, NPY_float32, 0)] = nanmax_2d_float32_axis0 + * nanmax_dict[(1, NPY_int, 0)] = nanmax_1d_int_axisNone + * nanmax_dict[(1, NPY_int, None)] = nanmax_1d_int_axisNone + * nanmax_dict[(1, NPY_int8, 0)] = nanmax_1d_int8_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_int8, None)] = nanmax_1d_int8_axisNone + * nanmax_dict[(1, NPY_int32, 0)] = nanmax_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -19203,55 +19203,55 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":912 - * nanmax_dict[(2, NPY_float64, None)] = nanmax_2d_float64_axisNone - * nanmax_dict[(2, NPY_float, 0)] = nanmax_2d_float_axis0 - * nanmax_dict[(2, NPY_float, 1)] = nanmax_2d_float_axis1 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_float32, 0)] = nanmax_2d_float32_axis0 - * nanmax_dict[(2, NPY_float32, 1)] = nanmax_2d_float32_axis1 + * nanmax_dict[(1, NPY_int, None)] = nanmax_1d_int_axisNone + * nanmax_dict[(1, NPY_int8, 0)] = nanmax_1d_int8_axisNone + * nanmax_dict[(1, NPY_int8, None)] = nanmax_1d_int8_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_int32, 0)] = nanmax_1d_int32_axisNone + * nanmax_dict[(1, NPY_int32, None)] = nanmax_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":913 - * nanmax_dict[(2, NPY_float, 0)] = nanmax_2d_float_axis0 - * nanmax_dict[(2, NPY_float, 1)] = nanmax_2d_float_axis1 - * nanmax_dict[(2, NPY_float32, 0)] = nanmax_2d_float32_axis0 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_float32, 1)] = nanmax_2d_float32_axis1 - * nanmax_dict[(2, NPY_float64, 0)] = nanmax_2d_float64_axis0 + * nanmax_dict[(1, NPY_int8, 0)] = nanmax_1d_int8_axisNone + * nanmax_dict[(1, NPY_int8, None)] = nanmax_1d_int8_axisNone + * nanmax_dict[(1, NPY_int32, 0)] = nanmax_1d_int32_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_int32, None)] = nanmax_1d_int32_axisNone + * nanmax_dict[(1, NPY_int64, 0)] = nanmax_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -19263,55 +19263,55 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":914 - * nanmax_dict[(2, NPY_float, 1)] = nanmax_2d_float_axis1 - * nanmax_dict[(2, NPY_float32, 0)] = nanmax_2d_float32_axis0 - * nanmax_dict[(2, NPY_float32, 1)] = nanmax_2d_float32_axis1 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_float64, 0)] = nanmax_2d_float64_axis0 - * nanmax_dict[(2, NPY_float64, 1)] = nanmax_2d_float64_axis1 + * nanmax_dict[(1, NPY_int8, None)] = nanmax_1d_int8_axisNone + * nanmax_dict[(1, NPY_int32, 0)] = nanmax_1d_int32_axisNone + * nanmax_dict[(1, NPY_int32, None)] = nanmax_1d_int32_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_int64, 0)] = nanmax_1d_int64_axisNone + * nanmax_dict[(1, NPY_int64, None)] = nanmax_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":915 - * nanmax_dict[(2, NPY_float32, 0)] = nanmax_2d_float32_axis0 - * nanmax_dict[(2, NPY_float32, 1)] = nanmax_2d_float32_axis1 - * nanmax_dict[(2, NPY_float64, 0)] = nanmax_2d_float64_axis0 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_float64, 1)] = nanmax_2d_float64_axis1 - * nanmax_dict[(1, NPY_int, 0)] = nanmax_1d_int_axisNone + * nanmax_dict[(1, NPY_int32, 0)] = nanmax_1d_int32_axisNone + * nanmax_dict[(1, NPY_int32, None)] = nanmax_1d_int32_axisNone + * nanmax_dict[(1, NPY_int64, 0)] = nanmax_1d_int64_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_int64, None)] = nanmax_1d_int64_axisNone + * nanmax_dict[(2, NPY_int, None)] = nanmax_2d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -19323,43 +19323,43 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":916 - * nanmax_dict[(2, NPY_float32, 1)] = nanmax_2d_float32_axis1 - * nanmax_dict[(2, NPY_float64, 0)] = nanmax_2d_float64_axis0 - * nanmax_dict[(2, NPY_float64, 1)] = nanmax_2d_float64_axis1 # <<<<<<<<<<<<<< - * nanmax_dict[(1, NPY_int, 0)] = nanmax_1d_int_axisNone - * nanmax_dict[(1, NPY_int, None)] = nanmax_1d_int_axisNone + * nanmax_dict[(1, NPY_int32, None)] = nanmax_1d_int32_axisNone + * nanmax_dict[(1, NPY_int64, 0)] = nanmax_1d_int64_axisNone + * nanmax_dict[(1, NPY_int64, None)] = nanmax_1d_int64_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int, None)] = nanmax_2d_int_axisNone + * nanmax_dict[(2, NPY_int8, None)] = nanmax_2d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":917 - * nanmax_dict[(2, NPY_float64, 0)] = nanmax_2d_float64_axis0 - * nanmax_dict[(2, NPY_float64, 1)] = nanmax_2d_float64_axis1 - * nanmax_dict[(1, NPY_int, 0)] = nanmax_1d_int_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(1, NPY_int, None)] = nanmax_1d_int_axisNone - * nanmax_dict[(1, NPY_int8, 0)] = nanmax_1d_int8_axisNone + * nanmax_dict[(1, NPY_int64, 0)] = nanmax_1d_int64_axisNone + * nanmax_dict[(1, NPY_int64, None)] = nanmax_1d_int64_axisNone + * nanmax_dict[(2, NPY_int, None)] = nanmax_2d_int_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int8, None)] = nanmax_2d_int8_axisNone + * nanmax_dict[(2, NPY_int32, None)] = nanmax_2d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -19369,39 +19369,39 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":918 - * nanmax_dict[(2, NPY_float64, 1)] = nanmax_2d_float64_axis1 - * nanmax_dict[(1, NPY_int, 0)] = nanmax_1d_int_axisNone - * nanmax_dict[(1, NPY_int, None)] = nanmax_1d_int_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(1, NPY_int8, 0)] = nanmax_1d_int8_axisNone - * nanmax_dict[(1, NPY_int8, None)] = nanmax_1d_int8_axisNone + * nanmax_dict[(1, NPY_int64, None)] = nanmax_1d_int64_axisNone + * nanmax_dict[(2, NPY_int, None)] = nanmax_2d_int_axisNone + * nanmax_dict[(2, NPY_int8, None)] = nanmax_2d_int8_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int32, None)] = nanmax_2d_int32_axisNone + * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -19413,55 +19413,55 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":919 - * nanmax_dict[(1, NPY_int, 0)] = nanmax_1d_int_axisNone - * nanmax_dict[(1, NPY_int, None)] = nanmax_1d_int_axisNone - * nanmax_dict[(1, NPY_int8, 0)] = nanmax_1d_int8_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(1, NPY_int8, None)] = nanmax_1d_int8_axisNone - * nanmax_dict[(1, NPY_int32, 0)] = nanmax_1d_int32_axisNone + * nanmax_dict[(2, NPY_int, None)] = nanmax_2d_int_axisNone + * nanmax_dict[(2, NPY_int8, None)] = nanmax_2d_int8_axisNone + * nanmax_dict[(2, NPY_int32, None)] = nanmax_2d_int32_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone + * nanmax_dict[(2, NPY_int, 0)] = nanmax_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":920 - * nanmax_dict[(1, NPY_int, None)] = nanmax_1d_int_axisNone - * nanmax_dict[(1, NPY_int8, 0)] = nanmax_1d_int8_axisNone - * nanmax_dict[(1, NPY_int8, None)] = nanmax_1d_int8_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(1, NPY_int32, 0)] = nanmax_1d_int32_axisNone - * nanmax_dict[(1, NPY_int32, None)] = nanmax_1d_int32_axisNone + * nanmax_dict[(2, NPY_int8, None)] = nanmax_2d_int8_axisNone + * nanmax_dict[(2, NPY_int32, None)] = nanmax_2d_int32_axisNone + * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int, 0)] = nanmax_2d_int_axis0 + * nanmax_dict[(2, NPY_int, 1)] = nanmax_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -19473,25 +19473,25 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":921 - * nanmax_dict[(1, NPY_int8, 0)] = nanmax_1d_int8_axisNone - * nanmax_dict[(1, NPY_int8, None)] = nanmax_1d_int8_axisNone - * nanmax_dict[(1, NPY_int32, 0)] = nanmax_1d_int32_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(1, NPY_int32, None)] = nanmax_1d_int32_axisNone - * nanmax_dict[(1, NPY_int64, 0)] = nanmax_1d_int64_axisNone + * nanmax_dict[(2, NPY_int32, None)] = nanmax_2d_int32_axisNone + * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone + * nanmax_dict[(2, NPY_int, 0)] = nanmax_2d_int_axis0 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int, 1)] = nanmax_2d_int_axis1 + * nanmax_dict[(2, NPY_int8, 0)] = nanmax_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -19503,55 +19503,55 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":922 - * nanmax_dict[(1, NPY_int8, None)] = nanmax_1d_int8_axisNone - * nanmax_dict[(1, NPY_int32, 0)] = nanmax_1d_int32_axisNone - * nanmax_dict[(1, NPY_int32, None)] = nanmax_1d_int32_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(1, NPY_int64, 0)] = nanmax_1d_int64_axisNone - * nanmax_dict[(1, NPY_int64, None)] = nanmax_1d_int64_axisNone + * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone + * nanmax_dict[(2, NPY_int, 0)] = nanmax_2d_int_axis0 + * nanmax_dict[(2, NPY_int, 1)] = nanmax_2d_int_axis1 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int8, 0)] = nanmax_2d_int8_axis0 + * nanmax_dict[(2, NPY_int8, 1)] = nanmax_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":923 - * nanmax_dict[(1, NPY_int32, 0)] = nanmax_1d_int32_axisNone - * nanmax_dict[(1, NPY_int32, None)] = nanmax_1d_int32_axisNone - * nanmax_dict[(1, NPY_int64, 0)] = nanmax_1d_int64_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(1, NPY_int64, None)] = nanmax_1d_int64_axisNone - * nanmax_dict[(2, NPY_int, None)] = nanmax_2d_int_axisNone + * nanmax_dict[(2, NPY_int, 0)] = nanmax_2d_int_axis0 + * nanmax_dict[(2, NPY_int, 1)] = nanmax_2d_int_axis1 + * nanmax_dict[(2, NPY_int8, 0)] = nanmax_2d_int8_axis0 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int8, 1)] = nanmax_2d_int8_axis1 + * nanmax_dict[(2, NPY_int32, 0)] = nanmax_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -19563,49 +19563,49 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":924 - * nanmax_dict[(1, NPY_int32, None)] = nanmax_1d_int32_axisNone - * nanmax_dict[(1, NPY_int64, 0)] = nanmax_1d_int64_axisNone - * nanmax_dict[(1, NPY_int64, None)] = nanmax_1d_int64_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int, None)] = nanmax_2d_int_axisNone - * nanmax_dict[(2, NPY_int8, None)] = nanmax_2d_int8_axisNone + * nanmax_dict[(2, NPY_int, 1)] = nanmax_2d_int_axis1 + * nanmax_dict[(2, NPY_int8, 0)] = nanmax_2d_int8_axis0 + * nanmax_dict[(2, NPY_int8, 1)] = nanmax_2d_int8_axis1 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int32, 0)] = nanmax_2d_int32_axis0 + * nanmax_dict[(2, NPY_int32, 1)] = nanmax_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":925 - * nanmax_dict[(1, NPY_int64, 0)] = nanmax_1d_int64_axisNone - * nanmax_dict[(1, NPY_int64, None)] = nanmax_1d_int64_axisNone - * nanmax_dict[(2, NPY_int, None)] = nanmax_2d_int_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int8, None)] = nanmax_2d_int8_axisNone - * nanmax_dict[(2, NPY_int32, None)] = nanmax_2d_int32_axisNone + * nanmax_dict[(2, NPY_int8, 0)] = nanmax_2d_int8_axis0 + * nanmax_dict[(2, NPY_int8, 1)] = nanmax_2d_int8_axis1 + * nanmax_dict[(2, NPY_int32, 0)] = nanmax_2d_int32_axis0 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int32, 1)] = nanmax_2d_int32_axis1 + * nanmax_dict[(2, NPY_int64, 0)] = nanmax_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19614,28 +19614,28 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":926 - * nanmax_dict[(1, NPY_int64, None)] = nanmax_1d_int64_axisNone - * nanmax_dict[(2, NPY_int, None)] = nanmax_2d_int_axisNone - * nanmax_dict[(2, NPY_int8, None)] = nanmax_2d_int8_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int32, None)] = nanmax_2d_int32_axisNone - * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone + * nanmax_dict[(2, NPY_int8, 1)] = nanmax_2d_int8_axis1 + * nanmax_dict[(2, NPY_int32, 0)] = nanmax_2d_int32_axis0 + * nanmax_dict[(2, NPY_int32, 1)] = nanmax_2d_int32_axis1 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int64, 0)] = nanmax_2d_int64_axis0 + * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19644,28 +19644,28 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":927 - * nanmax_dict[(2, NPY_int, None)] = nanmax_2d_int_axisNone - * nanmax_dict[(2, NPY_int8, None)] = nanmax_2d_int8_axisNone - * nanmax_dict[(2, NPY_int32, None)] = nanmax_2d_int32_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone + * nanmax_dict[(2, NPY_int32, 0)] = nanmax_2d_int32_axis0 + * nanmax_dict[(2, NPY_int32, 1)] = nanmax_2d_int32_axis1 + * nanmax_dict[(2, NPY_int64, 0)] = nanmax_2d_int64_axis0 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19674,22 +19674,22 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":928 - * nanmax_dict[(2, NPY_int8, None)] = nanmax_2d_int8_axisNone - * nanmax_dict[(2, NPY_int32, None)] = nanmax_2d_int32_axisNone - * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int32, 1)] = nanmax_2d_int32_axis1 + * nanmax_dict[(2, NPY_int64, 0)] = nanmax_2d_int64_axis0 + * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nanmax_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -19704,16 +19704,16 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":930 - * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone + * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 * * def nanmax_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmax along axis 0." @@ -20687,7 +20687,7 @@ PyMODINIT_FUNC PyInit_nanmax(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/nanmean.c b/bottlechest/src/func/32bit/nanmean.c index 3d34a4375a..251155a1aa 100644 --- a/bottlechest/src/func/32bit/nanmean.c +++ b/bottlechest/src/func/32bit/nanmean.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1100,13 +1100,13 @@ static __pyx_t_5numpy_float32_t __pyx_v_7nanmean_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_7nanmean_MAXfloat64; static PyObject *__pyx_v_7nanmean_nanmean_dict = 0; static PyObject *__pyx_v_7nanmean_nanmean_slow_dict = 0; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "nanmean" int __pyx_module_is_main_nanmean = 0; @@ -1118,34 +1118,34 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_7nanmean_nanmean(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_7nanmean_2nanmean_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_16nanmean_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_18nanmean_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_24nanmean_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_30nanmean_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_32nanmean_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_34nanmean_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_36nanmean_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_38nanmean_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_40nanmean_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_42nanmean_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_44nanmean_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_46nanmean_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_48nanmean_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_50nanmean_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_52nanmean_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_54nanmean_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_56nanmean_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_58nanmean_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_4nanmean_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_6nanmean_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_8nanmean_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_10nanmean_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_12nanmean_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_14nanmean_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_16nanmean_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_18nanmean_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_22nanmean_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_24nanmean_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_28nanmean_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_30nanmean_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_32nanmean_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_34nanmean_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_36nanmean_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_38nanmean_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_40nanmean_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_42nanmean_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_44nanmean_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_46nanmean_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_48nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_50nanmean_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_52nanmean_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_54nanmean_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_56nanmean_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_58nanmean_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_7nanmean_60nanmean_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_7nanmean_62nanmean_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_7nanmean_64nanmean_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1323,15 +1323,14 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Mean_of_array_elements_along_gi[] = "\n Mean of array elements along given axis ignoring NaNs.\n\n `float64` intermediate and return values are used for integer inputs.\n\n Parameters\n ----------\n arr : array_like\n Array containing numbers whose mean is desired. If `arr` is not an\n array, a conversion is attempted.\n axis : {int, None}, optional\n Axis along which the mean is computed. The default (axis=None) is to\n compute the mean of the flattened array.\n\n Returns\n -------\n y : ndarray\n An array with the same shape as `arr`, with the specified axis removed.\n If `arr` is a 0-d array, or if axis is None, a scalar is returned.\n `float64` intermediate and return values are used for integer inputs. \n\n See also\n --------\n bottlechest.nanmedian: Median along specified axis, ignoring NaNs.\n \n Notes\n -----\n No error is raised on overflow. (The sum is computed and then the result\n is divided by the number of non-NaN elements.)\n\n If positive or negative infinity are present the result is positive or\n negative infinity. But if both positive and negative infinity are present,\n the result is Not A Number (NaN).\n\n Examples\n --------\n >>> bn.nanmean(1)\n 1.0\n >>> bn.nanmean([1])\n 1.0\n >>> bn.nanmean([1, np.nan])\n 1.0\n >>> a = np.array([[1, 4], [1, np.nan]])\n >>> bn.nanmean(a)\n 2.0\n >>> bn.nanmean(a, axis=0)\n array([ 1., 4.])\n\n When positive infinity and negative infinity are present:\n\n >>> bn.nanmean([1, np.nan, np.inf])\n inf\n >>> bn.nanmean([1, np.nan, np.NINF])\n -inf\n >>> bn.nanmean([1, np.nan, np.inf, np.NINF])\n nan\n \n "; static char __pyx_k_Return_nanmean_function_and_arr[] = "\n Return nanmean function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.nanmean() is in checking that `axis` is within range, converting `arr`\n into an array (if it is not already an array), and selecting the function\n to use to calculate the mean.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the mean is to be computed.\n \n Returns\n -------\n func : function\n The nanmean function that matches the number of dimensions and dtype\n of the input array and the axis along which you wish to find the mean.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine the nanmean of `arr` along axis=0:\n\n >>> func, a = bn.func.nanmean_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the mean:\n\n >>> func(a)\n 2.0\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/nanmean.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\nanmean.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1345,6 +1344,7 @@ static PyObject *__pyx_kp_u_Return_nanmean_function_and_arr; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__7; static PyObject *__pyx_n_s_a; @@ -2449,24 +2449,24 @@ static PyObject *__pyx_pf_7nanmean_2nanmean_selector(CYTHON_UNUSED PyObject *__p /* "nanmean.pyx":202 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_5nanmean_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_4nanmean_2d_int_axis0[] = "nanmean_2d_int_axis0(ndarray a)\nMean of 2d array with dtype=int along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_5nanmean_2d_int_axis0 = {"nanmean_2d_int_axis0", (PyCFunction)__pyx_pw_7nanmean_5nanmean_2d_int_axis0, METH_O, __pyx_doc_7nanmean_4nanmean_2d_int_axis0}; -static PyObject *__pyx_pw_7nanmean_5nanmean_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_5nanmean_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_4nanmean_2d_float_axis0[] = "nanmean_2d_float_axis0(ndarray a)\nMean of 2d array with dtype=float along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_5nanmean_2d_float_axis0 = {"nanmean_2d_float_axis0", (PyCFunction)__pyx_pw_7nanmean_5nanmean_2d_float_axis0, METH_O, __pyx_doc_7nanmean_4nanmean_2d_float_axis0}; +static PyObject *__pyx_pw_7nanmean_5nanmean_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanmean_2d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_4nanmean_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_7nanmean_4nanmean_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2477,8 +2477,10 @@ static PyObject *__pyx_pw_7nanmean_5nanmean_2d_int_axis0(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float64_t __pyx_v_asum; +static PyObject *__pyx_pf_7nanmean_4nanmean_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2495,17 +2497,17 @@ static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("nanmean_2d_float_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2516,20 +2518,29 @@ static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanmean.pyx":204 - * def nanmean_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Mean of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + * def nanmean_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanmean.pyx":205 + * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":207 + /* "nanmean.pyx":208 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2538,7 +2549,7 @@ static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":208 + /* "nanmean.pyx":209 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2547,41 +2558,41 @@ static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":209 + /* "nanmean.pyx":210 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":210 + /* "nanmean.pyx":211 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":211 + /* "nanmean.pyx":212 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2589,82 +2600,107 @@ static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":213 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanmean.pyx":214 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "nanmean.pyx":214 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + /* "nanmean.pyx":215 + * NPY_float, 0) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; /* "nanmean.pyx":216 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + * for i1 in range(n1): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanmean.pyx":217 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] + /* "nanmean.pyx":217 + * asum = 0 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; /* "nanmean.pyx":218 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i1] = asum / n0 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmean.pyx":219 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i1] = asum / n0 - * return y + /* "nanmean.pyx":219 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":220 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanmean.pyx":221 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * y[i1] = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanmean.pyx":220 - * for i0 in range(n0): - * asum += a[i0, i1] - * y[i1] = asum / n0 # <<<<<<<<<<<<<< - * return y - * + /* "nanmean.pyx":222 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * y[i1] = asum / count + * else: */ - if (unlikely(__pyx_v_n0 == 0)) { + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":223 + * count += 1 + * if count > 0: + * y[i1] = asum / count # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -2672,17 +2708,30 @@ static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); + goto __pyx_L8; + } + /*else*/ { + + /* "nanmean.pyx":225 + * y[i1] = asum / count + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< + * return y + * + */ __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n0); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanmean.pyx":221 - * asum += a[i0, i1] - * y[i1] = asum / n0 + /* "nanmean.pyx":226 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2695,9 +2744,9 @@ static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject /* "nanmean.pyx":202 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -2708,7 +2757,7 @@ static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2721,27 +2770,27 @@ static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanmean.pyx":225 +/* "nanmean.pyx":230 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_7nanmean_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_6nanmean_2d_int_axis1[] = "nanmean_2d_int_axis1(ndarray a)\nMean of 2d array with dtype=int along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_7nanmean_2d_int_axis1 = {"nanmean_2d_int_axis1", (PyCFunction)__pyx_pw_7nanmean_7nanmean_2d_int_axis1, METH_O, __pyx_doc_7nanmean_6nanmean_2d_int_axis1}; -static PyObject *__pyx_pw_7nanmean_7nanmean_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_7nanmean_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_6nanmean_2d_float_axis1[] = "nanmean_2d_float_axis1(ndarray a)\nMean of 2d array with dtype=float along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_7nanmean_2d_float_axis1 = {"nanmean_2d_float_axis1", (PyCFunction)__pyx_pw_7nanmean_7nanmean_2d_float_axis1, METH_O, __pyx_doc_7nanmean_6nanmean_2d_float_axis1}; +static PyObject *__pyx_pw_7nanmean_7nanmean_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_6nanmean_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_float_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_6nanmean_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2752,8 +2801,10 @@ static PyObject *__pyx_pw_7nanmean_7nanmean_2d_int_axis1(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float64_t __pyx_v_asum; +static PyObject *__pyx_pf_7nanmean_6nanmean_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2770,17 +2821,17 @@ static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("nanmean_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2791,20 +2842,29 @@ static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":227 - * def nanmean_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Mean of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nanmean.pyx":232 + * def nanmean_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanmean.pyx":233 + * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":230 + /* "nanmean.pyx":236 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2813,7 +2873,7 @@ static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":231 + /* "nanmean.pyx":237 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2822,41 +2882,41 @@ static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":232 + /* "nanmean.pyx":238 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":233 + /* "nanmean.pyx":239 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":234 + /* "nanmean.pyx":240 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2864,82 +2924,107 @@ static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":236 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanmean.pyx":242 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmean.pyx":237 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + /* "nanmean.pyx":243 + * NPY_float, 0) + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i1 in range(n1): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanmean.pyx":239 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanmean.pyx":244 + * for i0 in range(n0): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanmean.pyx":240 - * else: - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanmean.pyx":245 + * asum = 0 + * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmean.pyx":241 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i0] = asum / n1 + /* "nanmean.pyx":246 + * count = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmean.pyx":242 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i0] = asum / n1 - * return y + /* "nanmean.pyx":247 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":248 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanmean.pyx":249 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * y[i0] = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanmean.pyx":243 - * for i1 in range(n1): - * asum += a[i0, i1] - * y[i0] = asum / n1 # <<<<<<<<<<<<<< - * return y - * + /* "nanmean.pyx":250 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * y[i0] = asum / count + * else: */ - if (unlikely(__pyx_v_n1 == 0)) { + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":251 + * count += 1 + * if count > 0: + * y[i0] = asum / count # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -2947,17 +3032,30 @@ static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); + goto __pyx_L8; + } + /*else*/ { + + /* "nanmean.pyx":253 + * y[i0] = asum / count + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< + * return y + * + */ __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n1); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanmean.pyx":244 - * asum += a[i0, i1] - * y[i0] = asum / n1 + /* "nanmean.pyx":254 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2967,12 +3065,12 @@ static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmean.pyx":225 + /* "nanmean.pyx":230 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -2983,7 +3081,7 @@ static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2996,27 +3094,27 @@ static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanmean.pyx":248 +/* "nanmean.pyx":258 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_9nanmean_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_8nanmean_2d_int8_axis0[] = "nanmean_2d_int8_axis0(ndarray a)\nMean of 2d array with dtype=int8 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_9nanmean_2d_int8_axis0 = {"nanmean_2d_int8_axis0", (PyCFunction)__pyx_pw_7nanmean_9nanmean_2d_int8_axis0, METH_O, __pyx_doc_7nanmean_8nanmean_2d_int8_axis0}; -static PyObject *__pyx_pw_7nanmean_9nanmean_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_9nanmean_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_8nanmean_2d_float32_axis0[] = "nanmean_2d_float32_axis0(ndarray a)\nMean of 2d array with dtype=float32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_9nanmean_2d_float32_axis0 = {"nanmean_2d_float32_axis0", (PyCFunction)__pyx_pw_7nanmean_9nanmean_2d_float32_axis0, METH_O, __pyx_doc_7nanmean_8nanmean_2d_float32_axis0}; +static PyObject *__pyx_pw_7nanmean_9nanmean_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_8nanmean_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_8nanmean_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3027,8 +3125,10 @@ static PyObject *__pyx_pw_7nanmean_9nanmean_2d_int8_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float64_t __pyx_v_asum; +static PyObject *__pyx_pf_7nanmean_8nanmean_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3045,17 +3145,17 @@ static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nanmean_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3066,20 +3166,29 @@ static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":250 - * def nanmean_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Mean of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nanmean.pyx":260 + * def nanmean_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanmean.pyx":261 + * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":253 + /* "nanmean.pyx":264 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3088,7 +3197,7 @@ static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":254 + /* "nanmean.pyx":265 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3097,41 +3206,41 @@ static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":255 + /* "nanmean.pyx":266 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":256 + /* "nanmean.pyx":267 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":257 + /* "nanmean.pyx":268 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3139,82 +3248,107 @@ static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":259 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanmean.pyx":270 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "nanmean.pyx":260 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + /* "nanmean.pyx":271 + * NPY_float32, 0) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanmean.pyx":262 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanmean.pyx":272 + * for i1 in range(n1): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanmean.pyx":263 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] + /* "nanmean.pyx":273 + * asum = 0 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanmean.pyx":264 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i1] = asum / n0 + /* "nanmean.pyx":274 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmean.pyx":265 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i1] = asum / n0 - * return y + /* "nanmean.pyx":275 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":276 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanmean.pyx":277 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * y[i1] = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanmean.pyx":266 - * for i0 in range(n0): - * asum += a[i0, i1] - * y[i1] = asum / n0 # <<<<<<<<<<<<<< - * return y - * + /* "nanmean.pyx":278 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * y[i1] = asum / count + * else: */ - if (unlikely(__pyx_v_n0 == 0)) { + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":279 + * count += 1 + * if count > 0: + * y[i1] = asum / count # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3222,17 +3356,30 @@ static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); + goto __pyx_L8; + } + /*else*/ { + + /* "nanmean.pyx":281 + * y[i1] = asum / count + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< + * return y + * + */ __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n0); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanmean.pyx":267 - * asum += a[i0, i1] - * y[i1] = asum / n0 + /* "nanmean.pyx":282 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3242,12 +3389,12 @@ static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmean.pyx":248 + /* "nanmean.pyx":258 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -3258,7 +3405,7 @@ static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3271,27 +3418,27 @@ static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanmean.pyx":271 +/* "nanmean.pyx":286 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_11nanmean_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_10nanmean_2d_int8_axis1[] = "nanmean_2d_int8_axis1(ndarray a)\nMean of 2d array with dtype=int8 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_11nanmean_2d_int8_axis1 = {"nanmean_2d_int8_axis1", (PyCFunction)__pyx_pw_7nanmean_11nanmean_2d_int8_axis1, METH_O, __pyx_doc_7nanmean_10nanmean_2d_int8_axis1}; -static PyObject *__pyx_pw_7nanmean_11nanmean_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_11nanmean_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_10nanmean_2d_float32_axis1[] = "nanmean_2d_float32_axis1(ndarray a)\nMean of 2d array with dtype=float32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_11nanmean_2d_float32_axis1 = {"nanmean_2d_float32_axis1", (PyCFunction)__pyx_pw_7nanmean_11nanmean_2d_float32_axis1, METH_O, __pyx_doc_7nanmean_10nanmean_2d_float32_axis1}; +static PyObject *__pyx_pw_7nanmean_11nanmean_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int8_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_10nanmean_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_float32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_10nanmean_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3302,8 +3449,10 @@ static PyObject *__pyx_pw_7nanmean_11nanmean_2d_int8_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float64_t __pyx_v_asum; +static PyObject *__pyx_pf_7nanmean_10nanmean_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3320,17 +3469,17 @@ static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObjec npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("nanmean_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3341,20 +3490,29 @@ static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObjec __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":273 - * def nanmean_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Mean of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nanmean.pyx":288 + * def nanmean_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanmean.pyx":289 + * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":276 + /* "nanmean.pyx":292 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3363,7 +3521,7 @@ static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObjec */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":277 + /* "nanmean.pyx":293 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3372,41 +3530,41 @@ static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObjec */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":278 + /* "nanmean.pyx":294 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":279 + /* "nanmean.pyx":295 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":280 + /* "nanmean.pyx":296 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3414,82 +3572,107 @@ static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObjec __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":282 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanmean.pyx":298 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmean.pyx":283 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + /* "nanmean.pyx":299 + * NPY_float32, 0) + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i1 in range(n1): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanmean.pyx":285 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanmean.pyx":300 + * for i0 in range(n0): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanmean.pyx":286 - * else: - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanmean.pyx":301 + * asum = 0 + * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmean.pyx":287 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i0] = asum / n1 + /* "nanmean.pyx":302 + * count = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmean.pyx":288 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i0] = asum / n1 - * return y + /* "nanmean.pyx":303 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":304 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanmean.pyx":305 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * y[i0] = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanmean.pyx":289 - * for i1 in range(n1): - * asum += a[i0, i1] - * y[i0] = asum / n1 # <<<<<<<<<<<<<< - * return y - * + /* "nanmean.pyx":306 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * y[i0] = asum / count + * else: */ - if (unlikely(__pyx_v_n1 == 0)) { + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":307 + * count += 1 + * if count > 0: + * y[i0] = asum / count # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3497,17 +3680,30 @@ static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObjec #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); + goto __pyx_L8; + } + /*else*/ { + + /* "nanmean.pyx":309 + * y[i0] = asum / count + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< + * return y + * + */ __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n1); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanmean.pyx":290 - * asum += a[i0, i1] - * y[i0] = asum / n1 + /* "nanmean.pyx":310 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3517,12 +3713,12 @@ static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObjec __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmean.pyx":271 + /* "nanmean.pyx":286 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -3533,7 +3729,7 @@ static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObjec __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3546,27 +3742,27 @@ static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "nanmean.pyx":294 +/* "nanmean.pyx":314 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_13nanmean_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_12nanmean_2d_int32_axis0[] = "nanmean_2d_int32_axis0(ndarray a)\nMean of 2d array with dtype=int32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_13nanmean_2d_int32_axis0 = {"nanmean_2d_int32_axis0", (PyCFunction)__pyx_pw_7nanmean_13nanmean_2d_int32_axis0, METH_O, __pyx_doc_7nanmean_12nanmean_2d_int32_axis0}; -static PyObject *__pyx_pw_7nanmean_13nanmean_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_13nanmean_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_12nanmean_2d_float64_axis0[] = "nanmean_2d_float64_axis0(ndarray a)\nMean of 2d array with dtype=float64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_13nanmean_2d_float64_axis0 = {"nanmean_2d_float64_axis0", (PyCFunction)__pyx_pw_7nanmean_13nanmean_2d_float64_axis0, METH_O, __pyx_doc_7nanmean_12nanmean_2d_float64_axis0}; +static PyObject *__pyx_pw_7nanmean_13nanmean_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_12nanmean_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_12nanmean_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3577,8 +3773,10 @@ static PyObject *__pyx_pw_7nanmean_13nanmean_2d_int32_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_12nanmean_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + Py_ssize_t __pyx_v_count; __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3595,17 +3793,17 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nanmean_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3616,20 +3814,29 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":296 - * def nanmean_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Mean of 2d array with dtype=int32 along axis=0 ignoring NaNs." + /* "nanmean.pyx":316 + * def nanmean_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanmean.pyx":317 + * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":299 + /* "nanmean.pyx":320 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3638,7 +3845,7 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":300 + /* "nanmean.pyx":321 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3647,7 +3854,7 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":301 + /* "nanmean.pyx":322 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -3656,7 +3863,7 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":302 + /* "nanmean.pyx":323 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -3666,22 +3873,22 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":303 + /* "nanmean.pyx":324 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) - * if n0 == 0: + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3689,82 +3896,107 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":305 + /* "nanmean.pyx":326 * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "nanmean.pyx":306 + /* "nanmean.pyx":327 * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanmean.pyx":308 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanmean.pyx":328 + * for i1 in range(n1): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanmean.pyx":309 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] + /* "nanmean.pyx":329 + * asum = 0 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanmean.pyx":310 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i1] = asum / n0 + /* "nanmean.pyx":330 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmean.pyx":311 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i1] = asum / n0 - * return y + /* "nanmean.pyx":331 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":332 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanmean.pyx":333 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * y[i1] = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanmean.pyx":312 - * for i0 in range(n0): - * asum += a[i0, i1] - * y[i1] = asum / n0 # <<<<<<<<<<<<<< - * return y - * + /* "nanmean.pyx":334 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * y[i1] = asum / count + * else: */ - if (unlikely(__pyx_v_n0 == 0)) { + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":335 + * count += 1 + * if count > 0: + * y[i1] = asum / count # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3772,17 +4004,30 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n0); + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); + goto __pyx_L8; } - } - __pyx_L3:; + /*else*/ { - /* "nanmean.pyx":313 - * asum += a[i0, i1] - * y[i1] = asum / n0 + /* "nanmean.pyx":337 + * y[i1] = asum / count + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; + } + __pyx_L8:; + } + + /* "nanmean.pyx":338 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3792,12 +4037,12 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmean.pyx":294 + /* "nanmean.pyx":314 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -3808,7 +4053,7 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3821,27 +4066,27 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje return __pyx_r; } -/* "nanmean.pyx":317 +/* "nanmean.pyx":342 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_15nanmean_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_14nanmean_2d_int32_axis1[] = "nanmean_2d_int32_axis1(ndarray a)\nMean of 2d array with dtype=int32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_15nanmean_2d_int32_axis1 = {"nanmean_2d_int32_axis1", (PyCFunction)__pyx_pw_7nanmean_15nanmean_2d_int32_axis1, METH_O, __pyx_doc_7nanmean_14nanmean_2d_int32_axis1}; -static PyObject *__pyx_pw_7nanmean_15nanmean_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_15nanmean_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_14nanmean_2d_float64_axis1[] = "nanmean_2d_float64_axis1(ndarray a)\nMean of 2d array with dtype=float64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_15nanmean_2d_float64_axis1 = {"nanmean_2d_float64_axis1", (PyCFunction)__pyx_pw_7nanmean_15nanmean_2d_float64_axis1, METH_O, __pyx_doc_7nanmean_14nanmean_2d_float64_axis1}; +static PyObject *__pyx_pw_7nanmean_15nanmean_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_14nanmean_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_float64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_14nanmean_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3852,8 +4097,10 @@ static PyObject *__pyx_pw_7nanmean_15nanmean_2d_int32_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_14nanmean_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + Py_ssize_t __pyx_v_count; __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3870,17 +4117,17 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("nanmean_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3891,20 +4138,29 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":319 - * def nanmean_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Mean of 2d array with dtype=int32 along axis=1 ignoring NaNs." + /* "nanmean.pyx":344 + * def nanmean_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanmean.pyx":345 + * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":322 + /* "nanmean.pyx":348 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3913,7 +4169,7 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":323 + /* "nanmean.pyx":349 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3922,7 +4178,7 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":324 + /* "nanmean.pyx":350 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -3931,7 +4187,7 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":325 + /* "nanmean.pyx":351 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -3941,22 +4197,22 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":326 + /* "nanmean.pyx":352 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) - * if n1 == 0: + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3964,82 +4220,107 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":328 + /* "nanmean.pyx":354 * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmean.pyx":329 + /* "nanmean.pyx":355 * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i1 in range(n1): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanmean.pyx":331 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanmean.pyx":356 + * for i0 in range(n0): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanmean.pyx":332 - * else: - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanmean.pyx":357 + * asum = 0 + * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmean.pyx":333 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i0] = asum / n1 + /* "nanmean.pyx":358 + * count = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmean.pyx":334 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i0] = asum / n1 - * return y + /* "nanmean.pyx":359 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":360 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanmean.pyx":361 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * y[i0] = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanmean.pyx":335 - * for i1 in range(n1): - * asum += a[i0, i1] - * y[i0] = asum / n1 # <<<<<<<<<<<<<< - * return y - * + /* "nanmean.pyx":362 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * y[i0] = asum / count + * else: */ - if (unlikely(__pyx_v_n1 == 0)) { + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":363 + * count += 1 + * if count > 0: + * y[i0] = asum / count # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -4047,17 +4328,30 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); + goto __pyx_L8; + } + /*else*/ { + + /* "nanmean.pyx":365 + * y[i0] = asum / count + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< + * return y + * + */ __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n1); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanmean.pyx":336 - * asum += a[i0, i1] - * y[i0] = asum / n1 + /* "nanmean.pyx":366 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4067,12 +4361,12 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmean.pyx":317 + /* "nanmean.pyx":342 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -4083,7 +4377,7 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4096,27 +4390,27 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje return __pyx_r; } -/* "nanmean.pyx":340 +/* "nanmean.pyx":370 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_17nanmean_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_16nanmean_2d_int64_axis0[] = "nanmean_2d_int64_axis0(ndarray a)\nMean of 2d array with dtype=int64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_17nanmean_2d_int64_axis0 = {"nanmean_2d_int64_axis0", (PyCFunction)__pyx_pw_7nanmean_17nanmean_2d_int64_axis0, METH_O, __pyx_doc_7nanmean_16nanmean_2d_int64_axis0}; -static PyObject *__pyx_pw_7nanmean_17nanmean_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_17nanmean_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_16nanmean_1d_float_axisNone[] = "nanmean_1d_float_axisNone(ndarray a)\nMean of 1d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_17nanmean_1d_float_axisNone = {"nanmean_1d_float_axisNone", (PyCFunction)__pyx_pw_7nanmean_17nanmean_1d_float_axisNone, METH_O, __pyx_doc_7nanmean_16nanmean_1d_float_axisNone}; +static PyObject *__pyx_pw_7nanmean_17nanmean_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_16nanmean_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_1d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_16nanmean_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4127,546 +4421,293 @@ static PyObject *__pyx_pw_7nanmean_17nanmean_2d_int64_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_16nanmean_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float64_t __pyx_v_asum; +static PyObject *__pyx_pf_7nanmean_16nanmean_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; int __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; - __pyx_pybuffer_a.pybuffer.buf = NULL; - __pyx_pybuffer_a.refcount = 0; - __pyx_pybuffernd_a.data = NULL; - __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nanmean.pyx":342 - * def nanmean_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Mean of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - */ - __pyx_v_asum = 0.0; - - /* "nanmean.pyx":345 - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - */ - __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - - /* "nanmean.pyx":346 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "nanmean.pyx":347 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmean.pyx":348 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "nanmean.pyx":349 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmean.pyx":351 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: - */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { - - /* "nanmean.pyx":352 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): - */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { - - /* "nanmean.pyx":354 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): - */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; - - /* "nanmean.pyx":355 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] - */ - __pyx_v_asum = 0.0; - - /* "nanmean.pyx":356 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i1] = asum / n0 - */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; - - /* "nanmean.pyx":357 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i1] = asum / n0 - * return y - */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); - } - - /* "nanmean.pyx":358 - * for i0 in range(n0): - * asum += a[i0, i1] - * y[i1] = asum / n0 # <<<<<<<<<<<<<< - * return y - * - */ - if (unlikely(__pyx_v_n0 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n0); - } - } - __pyx_L3:; - - /* "nanmean.pyx":359 - * asum += a[i0, i1] - * y[i1] = asum / n0 - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "nanmean.pyx":340 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmean_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; - __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - goto __pyx_L2; - __pyx_L0:; - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "nanmean.pyx":363 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmean_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_19nanmean_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_18nanmean_2d_int64_axis1[] = "nanmean_2d_int64_axis1(ndarray a)\nMean of 2d array with dtype=int64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_19nanmean_2d_int64_axis1 = {"nanmean_2d_int64_axis1", (PyCFunction)__pyx_pw_7nanmean_19nanmean_2d_int64_axis1, METH_O, __pyx_doc_7nanmean_18nanmean_2d_int64_axis1}; -static PyObject *__pyx_pw_7nanmean_19nanmean_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_lineno = 0; - CYTHON_UNUSED const char *__pyx_filename = NULL; - CYTHON_UNUSED int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_18nanmean_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_7nanmean_18nanmean_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; - npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - __Pyx_LocalBuf_ND __pyx_pybuffernd_a; - __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmean_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmean.pyx":365 - * def nanmean_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Mean of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "nanmean.pyx":372 + * def nanmean_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): + * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, ai + * cdef Py_ssize_t i0 + */ + __pyx_v_count = 0; + + /* "nanmean.pyx":373 + * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":368 - * cdef Py_ssize_t i0, i1 + /* "nanmean.pyx":376 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":369 + /* "nanmean.pyx":377 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":370 + /* "nanmean.pyx":378 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":371 + /* "nanmean.pyx":379 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmean.pyx":372 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: + /* "nanmean.pyx":380 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "nanmean.pyx":374 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanmean.pyx":381 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanmean.pyx":375 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + /* "nanmean.pyx":382 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * return np.float(asum / count) */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L5; + } + __pyx_L5:; } - /*else*/ { - /* "nanmean.pyx":377 - * PyArray_FillWithScalar(y, NAN) + /* "nanmean.pyx":383 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * return np.float(asum / count) * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_t_4 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_4) { - /* "nanmean.pyx":378 + /* "nanmean.pyx":384 + * count += 1 + * if count > 0: + * return np.float(asum / count) # <<<<<<<<<<<<<< * else: - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] - */ - __pyx_v_asum = 0.0; - - /* "nanmean.pyx":379 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i0] = asum / n1 - */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; - - /* "nanmean.pyx":380 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i0] = asum / n1 - * return y - */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); - } - - /* "nanmean.pyx":381 - * for i1 in range(n1): - * asum += a[i0, i1] - * y[i0] = asum / n1 # <<<<<<<<<<<<<< - * return y - * + * return np.float(NAN) */ - if (unlikely(__pyx_v_n1 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v_count == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); } - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n1); } + if (!__pyx_t_8) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; } - __pyx_L3:; + /*else*/ { - /* "nanmean.pyx":382 - * asum += a[i0, i1] - * y[i0] = asum / n1 - * return y # <<<<<<<<<<<<<< + /* "nanmean.pyx":386 + * return np.float(asum / count) + * else: + * return np.float(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_6) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + } - /* "nanmean.pyx":363 + /* "nanmean.pyx":370 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":386 +/* "nanmean.pyx":390 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmean_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_21nanmean_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_20nanmean_1d_float_axisNone[] = "nanmean_1d_float_axisNone(ndarray a)\nMean of 1d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_21nanmean_1d_float_axisNone = {"nanmean_1d_float_axisNone", (PyCFunction)__pyx_pw_7nanmean_21nanmean_1d_float_axisNone, METH_O, __pyx_doc_7nanmean_20nanmean_1d_float_axisNone}; -static PyObject *__pyx_pw_7nanmean_21nanmean_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_19nanmean_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_18nanmean_1d_float32_axisNone[] = "nanmean_1d_float32_axisNone(ndarray a)\nMean of 1d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_19nanmean_1d_float32_axisNone = {"nanmean_1d_float32_axisNone", (PyCFunction)__pyx_pw_7nanmean_19nanmean_1d_float32_axisNone, METH_O, __pyx_doc_7nanmean_18nanmean_1d_float32_axisNone}; +static PyObject *__pyx_pw_7nanmean_19nanmean_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_1d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_20nanmean_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_1d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_18nanmean_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4677,10 +4718,10 @@ static PyObject *__pyx_pw_7nanmean_21nanmean_1d_float_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_18nanmean_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4700,36 +4741,36 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmean.pyx":388 - * def nanmean_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): - * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." + /* "nanmean.pyx":392 + * def nanmean_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): + * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, ai + * cdef np.float32_t asum = 0, ai * cdef Py_ssize_t i0 */ __pyx_v_count = 0; - /* "nanmean.pyx":389 - * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." + /* "nanmean.pyx":393 + * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":392 + /* "nanmean.pyx":396 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4738,7 +4779,7 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":393 + /* "nanmean.pyx":397 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4747,7 +4788,7 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":394 + /* "nanmean.pyx":398 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4758,7 +4799,7 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":395 + /* "nanmean.pyx":399 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -4766,9 +4807,9 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO * asum += ai */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmean.pyx":396 + /* "nanmean.pyx":400 * for i0 in range(n0): * ai = a[i0] * if ai == ai: # <<<<<<<<<<<<<< @@ -4778,7 +4819,7 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "nanmean.pyx":397 + /* "nanmean.pyx":401 * ai = a[i0] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -4787,12 +4828,12 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanmean.pyx":398 + /* "nanmean.pyx":402 * if ai == ai: * asum += ai * count += 1 # <<<<<<<<<<<<<< * if count > 0: - * return np.float(asum / count) + * return np.float32(asum / count) */ __pyx_v_count = (__pyx_v_count + 1); goto __pyx_L5; @@ -4800,27 +4841,27 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO __pyx_L5:; } - /* "nanmean.pyx":399 + /* "nanmean.pyx":403 * asum += ai * count += 1 * if count > 0: # <<<<<<<<<<<<<< - * return np.float(asum / count) + * return np.float32(asum / count) * else: */ __pyx_t_4 = ((__pyx_v_count > 0) != 0); if (__pyx_t_4) { - /* "nanmean.pyx":400 + /* "nanmean.pyx":404 * count += 1 * if count > 0: - * return np.float(asum / count) # <<<<<<<<<<<<<< + * return np.float32(asum / count) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float32(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(__pyx_v_count == 0)) { @@ -4831,9 +4872,9 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { @@ -4846,17 +4887,17 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO } } if (!__pyx_t_8) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -4867,20 +4908,20 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO } /*else*/ { - /* "nanmean.pyx":402 - * return np.float(asum / count) + /* "nanmean.pyx":406 + * return np.float32(asum / count) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { @@ -4893,17 +4934,17 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO } } if (!__pyx_t_6) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_5); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -4913,11 +4954,11 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO goto __pyx_L0; } - /* "nanmean.pyx":386 + /* "nanmean.pyx":390 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmean_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ @@ -4932,7 +4973,7 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4943,27 +4984,27 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanmean.pyx":406 +/* "nanmean.pyx":410 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmean_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_23nanmean_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_22nanmean_1d_float32_axisNone[] = "nanmean_1d_float32_axisNone(ndarray a)\nMean of 1d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_23nanmean_1d_float32_axisNone = {"nanmean_1d_float32_axisNone", (PyCFunction)__pyx_pw_7nanmean_23nanmean_1d_float32_axisNone, METH_O, __pyx_doc_7nanmean_22nanmean_1d_float32_axisNone}; -static PyObject *__pyx_pw_7nanmean_23nanmean_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_21nanmean_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_20nanmean_1d_float64_axisNone[] = "nanmean_1d_float64_axisNone(ndarray a)\nMean of 1d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_21nanmean_1d_float64_axisNone = {"nanmean_1d_float64_axisNone", (PyCFunction)__pyx_pw_7nanmean_21nanmean_1d_float64_axisNone, METH_O, __pyx_doc_7nanmean_20nanmean_1d_float64_axisNone}; +static PyObject *__pyx_pw_7nanmean_21nanmean_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_1d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_1d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_20nanmean_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4974,10 +5015,10 @@ static PyObject *__pyx_pw_7nanmean_23nanmean_1d_float32_axisNone(PyObject *__pyx return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4997,36 +5038,36 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmean.pyx":408 - * def nanmean_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): - * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanmean.pyx":412 + * def nanmean_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): + * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, ai + * cdef np.float64_t asum = 0, ai * cdef Py_ssize_t i0 */ __pyx_v_count = 0; - /* "nanmean.pyx":409 - * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanmean.pyx":413 + * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":412 + /* "nanmean.pyx":416 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5035,7 +5076,7 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":413 + /* "nanmean.pyx":417 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5044,7 +5085,7 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":414 + /* "nanmean.pyx":418 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5055,7 +5096,7 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":415 + /* "nanmean.pyx":419 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -5063,9 +5104,9 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P * asum += ai */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmean.pyx":416 + /* "nanmean.pyx":420 * for i0 in range(n0): * ai = a[i0] * if ai == ai: # <<<<<<<<<<<<<< @@ -5075,7 +5116,7 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "nanmean.pyx":417 + /* "nanmean.pyx":421 * ai = a[i0] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -5084,12 +5125,12 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanmean.pyx":418 + /* "nanmean.pyx":422 * if ai == ai: * asum += ai * count += 1 # <<<<<<<<<<<<<< * if count > 0: - * return np.float32(asum / count) + * return np.float64(asum / count) */ __pyx_v_count = (__pyx_v_count + 1); goto __pyx_L5; @@ -5097,27 +5138,27 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P __pyx_L5:; } - /* "nanmean.pyx":419 + /* "nanmean.pyx":423 * asum += ai * count += 1 * if count > 0: # <<<<<<<<<<<<<< - * return np.float32(asum / count) + * return np.float64(asum / count) * else: */ __pyx_t_4 = ((__pyx_v_count > 0) != 0); if (__pyx_t_4) { - /* "nanmean.pyx":420 + /* "nanmean.pyx":424 * count += 1 * if count > 0: - * return np.float32(asum / count) # <<<<<<<<<<<<<< + * return np.float64(asum / count) # <<<<<<<<<<<<<< * else: - * return np.float32(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(__pyx_v_count == 0)) { @@ -5128,9 +5169,9 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { @@ -5143,17 +5184,17 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P } } if (!__pyx_t_8) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -5164,20 +5205,20 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P } /*else*/ { - /* "nanmean.pyx":422 - * return np.float32(asum / count) + /* "nanmean.pyx":426 + * return np.float64(asum / count) * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { @@ -5190,17 +5231,17 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P } } if (!__pyx_t_6) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_5); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -5210,11 +5251,11 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P goto __pyx_L0; } - /* "nanmean.pyx":406 + /* "nanmean.pyx":410 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmean_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ @@ -5229,7 +5270,7 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5240,27 +5281,27 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "nanmean.pyx":426 +/* "nanmean.pyx":430 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmean_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_25nanmean_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_24nanmean_1d_float64_axisNone[] = "nanmean_1d_float64_axisNone(ndarray a)\nMean of 1d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_25nanmean_1d_float64_axisNone = {"nanmean_1d_float64_axisNone", (PyCFunction)__pyx_pw_7nanmean_25nanmean_1d_float64_axisNone, METH_O, __pyx_doc_7nanmean_24nanmean_1d_float64_axisNone}; -static PyObject *__pyx_pw_7nanmean_25nanmean_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_23nanmean_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_22nanmean_2d_float_axisNone[] = "nanmean_2d_float_axisNone(ndarray a)\nMean of 2d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_23nanmean_2d_float_axisNone = {"nanmean_2d_float_axisNone", (PyCFunction)__pyx_pw_7nanmean_23nanmean_2d_float_axisNone, METH_O, __pyx_doc_7nanmean_22nanmean_2d_float_axisNone}; +static PyObject *__pyx_pw_7nanmean_23nanmean_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_1d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_24nanmean_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_22nanmean_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5271,13 +5312,15 @@ static PyObject *__pyx_pw_7nanmean_25nanmean_1d_float64_axisNone(PyObject *__pyx return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_24nanmean_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_22nanmean_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -5285,138 +5328,163 @@ static PyObject *__pyx_pf_7nanmean_24nanmean_1d_float64_axisNone(CYTHON_UNUSED P Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + int __pyx_t_7; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_1d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":428 - * def nanmean_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): - * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." + /* "nanmean.pyx":432 + * def nanmean_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): + * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, ai - * cdef Py_ssize_t i0 + * cdef np.float_t asum = 0, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_count = 0; - /* "nanmean.pyx":429 - * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." + /* "nanmean.pyx":433 + * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":432 - * cdef Py_ssize_t i0 + /* "nanmean.pyx":436 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":433 + /* "nanmean.pyx":437 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":434 + /* "nanmean.pyx":438 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanmean.pyx":439 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":435 - * cdef Py_ssize_t n0 = dim[0] + /* "nanmean.pyx":440 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanmean.pyx":436 + /* "nanmean.pyx":441 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmean.pyx":437 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 + /* "nanmean.pyx":442 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 + */ + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { + + /* "nanmean.pyx":443 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 * if count > 0: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanmean.pyx":438 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< + /* "nanmean.pyx":444 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< * if count > 0: - * return np.float64(asum / count) + * return np.float(asum / count) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L5; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; + } + __pyx_L7:; } - __pyx_L5:; } - /* "nanmean.pyx":439 - * asum += ai - * count += 1 + /* "nanmean.pyx":445 + * asum += ai + * count += 1 * if count > 0: # <<<<<<<<<<<<<< - * return np.float64(asum / count) + * return np.float(asum / count) * else: */ - __pyx_t_4 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_4) { + __pyx_t_7 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_7) { - /* "nanmean.pyx":440 - * count += 1 + /* "nanmean.pyx":446 + * count += 1 * if count > 0: - * return np.float64(asum / count) # <<<<<<<<<<<<<< + * return np.float(asum / count) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * return np.float(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); @@ -5425,108 +5493,108 @@ static PyObject *__pyx_pf_7nanmean_24nanmean_1d_float64_axisNone(CYTHON_UNUSED P #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); + __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __Pyx_DECREF_SET(__pyx_t_10, function); } } - if (!__pyx_t_8) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + if (!__pyx_t_11) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_8); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); + __Pyx_GIVEREF(__pyx_t_9); + __pyx_t_9 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; goto __pyx_L0; } /*else*/ { - /* "nanmean.pyx":442 - * return np.float64(asum / count) + /* "nanmean.pyx":448 + * return np.float(asum / count) * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * return np.float(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_6); + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_9 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + __Pyx_DECREF_SET(__pyx_t_12, function); } } - if (!__pyx_t_6) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_5); + if (!__pyx_t_9) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_8); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; goto __pyx_L0; } - /* "nanmean.pyx":426 + /* "nanmean.pyx":430 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmean_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5537,27 +5605,27 @@ static PyObject *__pyx_pf_7nanmean_24nanmean_1d_float64_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "nanmean.pyx":446 +/* "nanmean.pyx":452 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmean_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_27nanmean_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_26nanmean_2d_float_axisNone[] = "nanmean_2d_float_axisNone(ndarray a)\nMean of 2d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_27nanmean_2d_float_axisNone = {"nanmean_2d_float_axisNone", (PyCFunction)__pyx_pw_7nanmean_27nanmean_2d_float_axisNone, METH_O, __pyx_doc_7nanmean_26nanmean_2d_float_axisNone}; -static PyObject *__pyx_pw_7nanmean_27nanmean_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_25nanmean_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_24nanmean_2d_float32_axisNone[] = "nanmean_2d_float32_axisNone(ndarray a)\nMean of 2d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_25nanmean_2d_float32_axisNone = {"nanmean_2d_float32_axisNone", (PyCFunction)__pyx_pw_7nanmean_25nanmean_2d_float32_axisNone, METH_O, __pyx_doc_7nanmean_24nanmean_2d_float32_axisNone}; +static PyObject *__pyx_pw_7nanmean_25nanmean_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_26nanmean_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_24nanmean_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5568,10 +5636,10 @@ static PyObject *__pyx_pw_7nanmean_27nanmean_2d_float_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_24nanmean_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -5596,36 +5664,36 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":448 - * def nanmean_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): - * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." + /* "nanmean.pyx":454 + * def nanmean_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): + * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, ai + * cdef np.float32_t asum = 0, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_count = 0; - /* "nanmean.pyx":449 - * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." + /* "nanmean.pyx":455 + * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":452 + /* "nanmean.pyx":458 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5634,7 +5702,7 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":453 + /* "nanmean.pyx":459 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5643,7 +5711,7 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":454 + /* "nanmean.pyx":460 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5652,7 +5720,7 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":455 + /* "nanmean.pyx":461 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5663,7 +5731,7 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":456 + /* "nanmean.pyx":462 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -5674,7 +5742,7 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "nanmean.pyx":457 + /* "nanmean.pyx":463 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -5683,9 +5751,9 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO */ __pyx_t_5 = __pyx_v_i0; __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmean.pyx":458 + /* "nanmean.pyx":464 * for i1 in range(n1): * ai = a[i0, i1] * if ai == ai: # <<<<<<<<<<<<<< @@ -5695,7 +5763,7 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "nanmean.pyx":459 + /* "nanmean.pyx":465 * ai = a[i0, i1] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -5704,12 +5772,12 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanmean.pyx":460 + /* "nanmean.pyx":466 * if ai == ai: * asum += ai * count += 1 # <<<<<<<<<<<<<< * if count > 0: - * return np.float(asum / count) + * return np.float32(asum / count) */ __pyx_v_count = (__pyx_v_count + 1); goto __pyx_L7; @@ -5718,27 +5786,27 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO } } - /* "nanmean.pyx":461 + /* "nanmean.pyx":467 * asum += ai * count += 1 * if count > 0: # <<<<<<<<<<<<<< - * return np.float(asum / count) + * return np.float32(asum / count) * else: */ __pyx_t_7 = ((__pyx_v_count > 0) != 0); if (__pyx_t_7) { - /* "nanmean.pyx":462 + /* "nanmean.pyx":468 * count += 1 * if count > 0: - * return np.float(asum / count) # <<<<<<<<<<<<<< + * return np.float32(asum / count) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float32(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(__pyx_v_count == 0)) { @@ -5749,9 +5817,9 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { @@ -5764,17 +5832,17 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO } } if (!__pyx_t_11) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_8); } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } @@ -5785,20 +5853,20 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO } /*else*/ { - /* "nanmean.pyx":464 - * return np.float(asum / count) + /* "nanmean.pyx":470 + * return np.float32(asum / count) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { @@ -5811,17 +5879,17 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO } } if (!__pyx_t_9) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_8); } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -5831,11 +5899,11 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO goto __pyx_L0; } - /* "nanmean.pyx":446 + /* "nanmean.pyx":452 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmean_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ @@ -5850,7 +5918,7 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5861,27 +5929,27 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanmean.pyx":468 +/* "nanmean.pyx":474 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmean_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_29nanmean_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_28nanmean_2d_float32_axisNone[] = "nanmean_2d_float32_axisNone(ndarray a)\nMean of 2d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_29nanmean_2d_float32_axisNone = {"nanmean_2d_float32_axisNone", (PyCFunction)__pyx_pw_7nanmean_29nanmean_2d_float32_axisNone, METH_O, __pyx_doc_7nanmean_28nanmean_2d_float32_axisNone}; -static PyObject *__pyx_pw_7nanmean_29nanmean_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_27nanmean_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_26nanmean_2d_float64_axisNone[] = "nanmean_2d_float64_axisNone(ndarray a)\nMean of 2d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_27nanmean_2d_float64_axisNone = {"nanmean_2d_float64_axisNone", (PyCFunction)__pyx_pw_7nanmean_27nanmean_2d_float64_axisNone, METH_O, __pyx_doc_7nanmean_26nanmean_2d_float64_axisNone}; +static PyObject *__pyx_pw_7nanmean_27nanmean_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_26nanmean_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5892,10 +5960,10 @@ static PyObject *__pyx_pw_7nanmean_29nanmean_2d_float32_axisNone(PyObject *__pyx return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -5920,36 +5988,36 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":470 - * def nanmean_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): - * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanmean.pyx":476 + * def nanmean_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): + * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, ai + * cdef np.float64_t asum = 0, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_count = 0; - /* "nanmean.pyx":471 - * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanmean.pyx":477 + * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":474 + /* "nanmean.pyx":480 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5958,7 +6026,7 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":475 + /* "nanmean.pyx":481 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5967,7 +6035,7 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":476 + /* "nanmean.pyx":482 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5976,7 +6044,7 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":477 + /* "nanmean.pyx":483 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5987,7 +6055,7 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":478 + /* "nanmean.pyx":484 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -5998,7 +6066,7 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "nanmean.pyx":479 + /* "nanmean.pyx":485 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -6007,9 +6075,9 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P */ __pyx_t_5 = __pyx_v_i0; __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmean.pyx":480 + /* "nanmean.pyx":486 * for i1 in range(n1): * ai = a[i0, i1] * if ai == ai: # <<<<<<<<<<<<<< @@ -6019,7 +6087,7 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "nanmean.pyx":481 + /* "nanmean.pyx":487 * ai = a[i0, i1] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -6028,12 +6096,12 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanmean.pyx":482 + /* "nanmean.pyx":488 * if ai == ai: * asum += ai * count += 1 # <<<<<<<<<<<<<< * if count > 0: - * return np.float32(asum / count) + * return np.float64(asum / count) */ __pyx_v_count = (__pyx_v_count + 1); goto __pyx_L7; @@ -6042,27 +6110,27 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P } } - /* "nanmean.pyx":483 + /* "nanmean.pyx":489 * asum += ai * count += 1 * if count > 0: # <<<<<<<<<<<<<< - * return np.float32(asum / count) + * return np.float64(asum / count) * else: */ __pyx_t_7 = ((__pyx_v_count > 0) != 0); if (__pyx_t_7) { - /* "nanmean.pyx":484 + /* "nanmean.pyx":490 * count += 1 * if count > 0: - * return np.float32(asum / count) # <<<<<<<<<<<<<< + * return np.float64(asum / count) # <<<<<<<<<<<<<< * else: - * return np.float32(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(__pyx_v_count == 0)) { @@ -6073,9 +6141,9 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { @@ -6088,17 +6156,17 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P } } if (!__pyx_t_11) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_8); } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } @@ -6109,20 +6177,20 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P } /*else*/ { - /* "nanmean.pyx":486 - * return np.float32(asum / count) + /* "nanmean.pyx":492 + * return np.float64(asum / count) * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { @@ -6135,17 +6203,17 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P } } if (!__pyx_t_9) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_8); } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -6155,11 +6223,11 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P goto __pyx_L0; } - /* "nanmean.pyx":468 + /* "nanmean.pyx":474 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmean_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ @@ -6167,14 +6235,279 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("nanmean.nanmean_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __pyx_L2:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "nanmean.pyx":496 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanmean_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7nanmean_29nanmean_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_28nanmean_1d_int_axisNone[] = "nanmean_1d_int_axisNone(ndarray a)\nMean of 1d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_29nanmean_1d_int_axisNone = {"nanmean_1d_int_axisNone", (PyCFunction)__pyx_pw_7nanmean_29nanmean_1d_int_axisNone, METH_O, __pyx_doc_7nanmean_28nanmean_1d_int_axisNone}; +static PyObject *__pyx_pw_7nanmean_29nanmean_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_lineno = 0; + CYTHON_UNUSED const char *__pyx_filename = NULL; + CYTHON_UNUSED int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("nanmean_1d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_28nanmean_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7nanmean_28nanmean_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + Py_ssize_t __pyx_v_size; + Py_ssize_t __pyx_v_i0; + npy_intp *__pyx_v_dim; + Py_ssize_t __pyx_v_n0; + __Pyx_LocalBuf_ND __pyx_pybuffernd_a; + __Pyx_Buffer __pyx_pybuffer_a; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("nanmean_1d_int_axisNone", 0); + __pyx_pybuffer_a.pybuffer.buf = NULL; + __pyx_pybuffer_a.refcount = 0; + __pyx_pybuffernd_a.data = NULL; + __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + + /* "nanmean.pyx":498 + * def nanmean_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): + * "Mean of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 + */ + __pyx_v_asum = 0.0; + + /* "nanmean.pyx":502 + * cdef Py_ssize_t i0 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n0 = dim[0] + * size = n0 + */ + __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); + + /* "nanmean.pyx":503 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * size = n0 + * for i0 in range(n0): + */ + __pyx_v_n0 = (__pyx_v_dim[0]); + + /* "nanmean.pyx":504 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * size = n0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0] + */ + __pyx_v_size = __pyx_v_n0; + + /* "nanmean.pyx":505 + * cdef Py_ssize_t n0 = dim[0] + * size = n0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0] + * if size > 0: + */ + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; + + /* "nanmean.pyx":506 + * size = n0 + * for i0 in range(n0): + * asum += a[i0] # <<<<<<<<<<<<<< + * if size > 0: + * return np.float64(asum / size) + */ + __pyx_t_3 = __pyx_v_i0; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + } + + /* "nanmean.pyx":507 + * for i0 in range(n0): + * asum += a[i0] + * if size > 0: # <<<<<<<<<<<<<< + * return np.float64(asum / size) + * else: + */ + __pyx_t_4 = ((__pyx_v_size > 0) != 0); + if (__pyx_t_4) { + + /* "nanmean.pyx":508 + * asum += a[i0] + * if size > 0: + * return np.float64(asum / size) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + } + /*else*/ { + + /* "nanmean.pyx":510 + * return np.float64(asum / size) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_6) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + } + + /* "nanmean.pyx":496 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanmean_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6185,27 +6518,27 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "nanmean.pyx":490 +/* "nanmean.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_31nanmean_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_30nanmean_2d_float64_axisNone[] = "nanmean_2d_float64_axisNone(ndarray a)\nMean of 2d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_31nanmean_2d_float64_axisNone = {"nanmean_2d_float64_axisNone", (PyCFunction)__pyx_pw_7nanmean_31nanmean_2d_float64_axisNone, METH_O, __pyx_doc_7nanmean_30nanmean_2d_float64_axisNone}; -static PyObject *__pyx_pw_7nanmean_31nanmean_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_31nanmean_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_30nanmean_1d_int8_axisNone[] = "nanmean_1d_int8_axisNone(ndarray a)\nMean of 1d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_31nanmean_1d_int8_axisNone = {"nanmean_1d_int8_axisNone", (PyCFunction)__pyx_pw_7nanmean_31nanmean_1d_int8_axisNone, METH_O, __pyx_doc_7nanmean_30nanmean_1d_int8_axisNone}; +static PyObject *__pyx_pw_7nanmean_31nanmean_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_30nanmean_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_1d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_30nanmean_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6216,15 +6549,12 @@ static PyObject *__pyx_pw_7nanmean_31nanmean_2d_float64_axisNone(PyObject *__pyx return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_30nanmean_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - Py_ssize_t __pyx_v_count; +static PyObject *__pyx_pf_7nanmean_30nanmean_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -6232,164 +6562,108 @@ static PyObject *__pyx_pf_7nanmean_30nanmean_2d_float64_axisNone(CYTHON_UNUSED P Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - int __pyx_t_7; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_1d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nanmean.pyx":492 - * def nanmean_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): - * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmean.pyx":493 - * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanmean.pyx":516 + * def nanmean_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): + * "Mean of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":496 - * cdef Py_ssize_t i0, i1 + /* "nanmean.pyx":520 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":497 + /* "nanmean.pyx":521 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] + * size = n0 * for i0 in range(n0): */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":498 + /* "nanmean.pyx":522 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * size = n0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): + * asum += a[i0] */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nanmean.pyx":499 + /* "nanmean.pyx":523 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * asum += a[i0] + * if size > 0: */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":500 - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; - - /* "nanmean.pyx":501 + /* "nanmean.pyx":524 + * size = n0 * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmean.pyx":502 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 - */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { - - /* "nanmean.pyx":503 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nanmean.pyx":504 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * return np.float64(asum / count) + * asum += a[i0] # <<<<<<<<<<<<<< + * if size > 0: + * return np.float64(asum / size) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; - } + __pyx_t_3 = __pyx_v_i0; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); } - /* "nanmean.pyx":505 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * return np.float64(asum / count) + /* "nanmean.pyx":525 + * for i0 in range(n0): + * asum += a[i0] + * if size > 0: # <<<<<<<<<<<<<< + * return np.float64(asum / size) * else: */ - __pyx_t_7 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_7) { + __pyx_t_4 = ((__pyx_v_size > 0) != 0); + if (__pyx_t_4) { - /* "nanmean.pyx":506 - * count += 1 - * if count > 0: - * return np.float64(asum / count) # <<<<<<<<<<<<<< + /* "nanmean.pyx":526 + * asum += a[i0] + * if size > 0: + * return np.float64(asum / size) # <<<<<<<<<<<<<< * else: * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(__pyx_v_count == 0)) { + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v_size == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -6397,108 +6671,108 @@ static PyObject *__pyx_pf_7nanmean_30nanmean_2d_float64_axisNone(CYTHON_UNUSED P #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); + __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); + __Pyx_DECREF_SET(__pyx_t_7, function); } } - if (!__pyx_t_11) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_GOTREF(__pyx_t_8); + if (!__pyx_t_8) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_5); } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); - __Pyx_GIVEREF(__pyx_t_9); - __pyx_t_9 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; goto __pyx_L0; } /*else*/ { - /* "nanmean.pyx":508 - * return np.float64(asum / count) + /* "nanmean.pyx":528 + * return np.float64(asum / size) * else: * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_9 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_9); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); + __Pyx_DECREF_SET(__pyx_t_9, function); } } - if (!__pyx_t_9) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_8); + if (!__pyx_t_6) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_5); } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; goto __pyx_L0; } - /* "nanmean.pyx":490 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmean_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanmean.pyx":514 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanmean_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6509,27 +6783,27 @@ static PyObject *__pyx_pf_7nanmean_30nanmean_2d_float64_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "nanmean.pyx":512 +/* "nanmean.pyx":532 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_33nanmean_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_32nanmean_2d_float_axis0[] = "nanmean_2d_float_axis0(ndarray a)\nMean of 2d array with dtype=float along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_33nanmean_2d_float_axis0 = {"nanmean_2d_float_axis0", (PyCFunction)__pyx_pw_7nanmean_33nanmean_2d_float_axis0, METH_O, __pyx_doc_7nanmean_32nanmean_2d_float_axis0}; -static PyObject *__pyx_pw_7nanmean_33nanmean_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_33nanmean_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_32nanmean_1d_int32_axisNone[] = "nanmean_1d_int32_axisNone(ndarray a)\nMean of 1d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_33nanmean_1d_int32_axisNone = {"nanmean_1d_int32_axisNone", (PyCFunction)__pyx_pw_7nanmean_33nanmean_1d_int32_axisNone, METH_O, __pyx_doc_7nanmean_32nanmean_1d_int32_axisNone}; +static PyObject *__pyx_pw_7nanmean_33nanmean_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_32nanmean_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_1d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_32nanmean_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6540,320 +6814,261 @@ static PyObject *__pyx_pw_7nanmean_33nanmean_2d_float_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_32nanmean_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_7nanmean_32nanmean_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_float_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmean_1d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nanmean.pyx":514 - * def nanmean_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmean.pyx":515 - * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + /* "nanmean.pyx":534 + * def nanmean_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): + * "Mean of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":518 - * cdef Py_ssize_t i0, i1 + /* "nanmean.pyx":538 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":519 + /* "nanmean.pyx":539 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 + * for i0 in range(n0): */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":520 + /* "nanmean.pyx":540 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0] */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nanmean.pyx":521 + /* "nanmean.pyx":541 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * size = n0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0] + * if size > 0: */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":522 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * for i1 in range(n1): + /* "nanmean.pyx":542 + * size = n0 + * for i0 in range(n0): + * asum += a[i0] # <<<<<<<<<<<<<< + * if size > 0: + * return np.float64(asum / size) */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } + __pyx_t_3 = __pyx_v_i0; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmean.pyx":524 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "nanmean.pyx":525 - * NPY_float, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): - */ - __pyx_v_asum = 0.0; - - /* "nanmean.pyx":526 - * for i1 in range(n1): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "nanmean.pyx":527 - * asum = 0 - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanmean.pyx":528 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmean.pyx":529 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - /* "nanmean.pyx":530 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanmean.pyx":543 + * for i0 in range(n0): + * asum += a[i0] + * if size > 0: # <<<<<<<<<<<<<< + * return np.float64(asum / size) + * else: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_4 = ((__pyx_v_size > 0) != 0); + if (__pyx_t_4) { - /* "nanmean.pyx":531 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * y[i1] = asum / count + /* "nanmean.pyx":544 + * asum += a[i0] + * if size > 0: + * return np.float64(asum / size) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - - /* "nanmean.pyx":532 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * y[i1] = asum / count - * else: - */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { - - /* "nanmean.pyx":533 - * count += 1 - * if count > 0: - * y[i1] = asum / count # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN - */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); } - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); - goto __pyx_L8; } - /*else*/ { - - /* "nanmean.pyx":535 - * y[i1] = asum / count - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; + if (!__pyx_t_8) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanmean.pyx":536 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmean.pyx":546 + * return np.float64(asum / size) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_6) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + } - /* "nanmean.pyx":512 + /* "nanmean.pyx":532 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":540 +/* "nanmean.pyx":550 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_35nanmean_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_34nanmean_2d_float_axis1[] = "nanmean_2d_float_axis1(ndarray a)\nMean of 2d array with dtype=float along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_35nanmean_2d_float_axis1 = {"nanmean_2d_float_axis1", (PyCFunction)__pyx_pw_7nanmean_35nanmean_2d_float_axis1, METH_O, __pyx_doc_7nanmean_34nanmean_2d_float_axis1}; -static PyObject *__pyx_pw_7nanmean_35nanmean_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_35nanmean_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_34nanmean_1d_int64_axisNone[] = "nanmean_1d_int64_axisNone(ndarray a)\nMean of 1d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_35nanmean_1d_int64_axisNone = {"nanmean_1d_int64_axisNone", (PyCFunction)__pyx_pw_7nanmean_35nanmean_1d_int64_axisNone, METH_O, __pyx_doc_7nanmean_34nanmean_1d_int64_axisNone}; +static PyObject *__pyx_pw_7nanmean_35nanmean_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_float_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_34nanmean_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_1d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_34nanmean_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6864,294 +7079,235 @@ static PyObject *__pyx_pw_7nanmean_35nanmean_2d_float_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_34nanmean_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_7nanmean_34nanmean_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_float_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmean_1d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nanmean.pyx":542 - * def nanmean_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmean.pyx":543 - * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + /* "nanmean.pyx":552 + * def nanmean_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): + * "Mean of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":546 - * cdef Py_ssize_t i0, i1 + /* "nanmean.pyx":556 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - */ - __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - - /* "nanmean.pyx":547 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "nanmean.pyx":548 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmean.pyx":549 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nanmean.pyx":550 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmean.pyx":552 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "nanmean.pyx":553 - * NPY_float, 0) - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i1 in range(n1): - */ - __pyx_v_asum = 0.0; - - /* "nanmean.pyx":554 - * for i0 in range(n0): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "nanmean.pyx":555 - * asum = 0 - * count = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanmean.pyx":556 - * count = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * cdef Py_ssize_t n0 = dim[0] + * size = n0 */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":557 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanmean.pyx":557 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * size = n0 + * for i0 in range(n0): */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":558 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanmean.pyx":558 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * size = n0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0] */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_v_size = __pyx_v_n0; - /* "nanmean.pyx":559 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * y[i0] = asum / count + /* "nanmean.pyx":559 + * cdef Py_ssize_t n0 = dim[0] + * size = n0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0] + * if size > 0: */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; - } + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; /* "nanmean.pyx":560 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * y[i0] = asum / count - * else: + * size = n0 + * for i0 in range(n0): + * asum += a[i0] # <<<<<<<<<<<<<< + * if size > 0: + * return np.float64(asum / size) */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_t_3 = __pyx_v_i0; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + } - /* "nanmean.pyx":561 - * count += 1 - * if count > 0: - * y[i0] = asum / count # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN + /* "nanmean.pyx":561 + * for i0 in range(n0): + * asum += a[i0] + * if size > 0: # <<<<<<<<<<<<<< + * return np.float64(asum / size) + * else: */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); - goto __pyx_L8; - } - /*else*/ { + __pyx_t_4 = ((__pyx_v_size > 0) != 0); + if (__pyx_t_4) { - /* "nanmean.pyx":563 - * y[i0] = asum / count - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * + /* "nanmean.pyx":562 + * asum += a[i0] + * if size > 0: + * return np.float64(asum / size) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_L8:; + __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanmean.pyx":564 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmean.pyx":564 + * return np.float64(asum / size) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_6) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + } - /* "nanmean.pyx":540 + /* "nanmean.pyx":550 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -7160,24 +7316,24 @@ static PyObject *__pyx_pf_7nanmean_34nanmean_2d_float_axis1(CYTHON_UNUSED PyObje /* "nanmean.pyx":568 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_37nanmean_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_36nanmean_2d_float32_axis0[] = "nanmean_2d_float32_axis0(ndarray a)\nMean of 2d array with dtype=float32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_37nanmean_2d_float32_axis0 = {"nanmean_2d_float32_axis0", (PyCFunction)__pyx_pw_7nanmean_37nanmean_2d_float32_axis0, METH_O, __pyx_doc_7nanmean_36nanmean_2d_float32_axis0}; -static PyObject *__pyx_pw_7nanmean_37nanmean_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_37nanmean_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_36nanmean_2d_int_axisNone[] = "nanmean_2d_int_axisNone(ndarray a)\nMean of 2d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_37nanmean_2d_int_axisNone = {"nanmean_2d_int_axisNone", (PyCFunction)__pyx_pw_7nanmean_37nanmean_2d_int_axisNone, METH_O, __pyx_doc_7nanmean_36nanmean_2d_int_axisNone}; +static PyObject *__pyx_pw_7nanmean_37nanmean_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanmean_2d_int_axisNone (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_36nanmean_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_7nanmean_36nanmean_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7188,66 +7344,50 @@ static PyObject *__pyx_pw_7nanmean_37nanmean_2d_float32_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_36nanmean_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_7nanmean_36nanmean_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_float32_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmean_2d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nanmean.pyx":570 - * def nanmean_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":571 - * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nanmean.pyx":570 + * def nanmean_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): + * "Mean of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; @@ -7265,7 +7405,7 @@ static PyObject *__pyx_pf_7nanmean_36nanmean_2d_float32_axis0(CYTHON_UNUSED PyOb * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); @@ -7273,235 +7413,219 @@ static PyObject *__pyx_pf_7nanmean_36nanmean_2d_float32_axis0(CYTHON_UNUSED PyOb * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * for i0 in range(n0): */ __pyx_v_n1 = (__pyx_v_dim[1]); /* "nanmean.pyx":577 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); /* "nanmean.pyx":578 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmean.pyx":580 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "nanmean.pyx":581 - * NPY_float32, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): - */ - __pyx_v_asum = 0.0; - - /* "nanmean.pyx":582 - * for i1 in range(n1): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "nanmean.pyx":583 - * asum = 0 - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanmean.pyx":584 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmean.pyx":585 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + * size = n0 * n1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":586 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanmean.pyx":579 + * size = n0 * n1 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * if size > 0: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanmean.pyx":587 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * y[i1] = asum / count + /* "nanmean.pyx":580 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * if size > 0: + * return np.float64(asum / size) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); } + } - /* "nanmean.pyx":588 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * y[i1] = asum / count - * else: + /* "nanmean.pyx":581 + * for i1 in range(n1): + * asum += a[i0, i1] + * if size > 0: # <<<<<<<<<<<<<< + * return np.float64(asum / size) + * else: */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_t_7 = ((__pyx_v_size > 0) != 0); + if (__pyx_t_7) { - /* "nanmean.pyx":589 - * count += 1 - * if count > 0: - * y[i1] = asum / count # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN + /* "nanmean.pyx":582 + * asum += a[i0, i1] + * if size > 0: + * return np.float64(asum / size) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); } - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); - goto __pyx_L8; } - /*else*/ { - - /* "nanmean.pyx":591 - * y[i1] = asum / count - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; + if (!__pyx_t_11) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_8); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); + __Pyx_GIVEREF(__pyx_t_9); + __pyx_t_9 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanmean.pyx":592 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmean.pyx":584 + * return np.float64(asum / size) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_9 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + if (!__pyx_t_9) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_8); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; + } /* "nanmean.pyx":568 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":596 +/* "nanmean.pyx":588 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_39nanmean_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_38nanmean_2d_float32_axis1[] = "nanmean_2d_float32_axis1(ndarray a)\nMean of 2d array with dtype=float32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_39nanmean_2d_float32_axis1 = {"nanmean_2d_float32_axis1", (PyCFunction)__pyx_pw_7nanmean_39nanmean_2d_float32_axis1, METH_O, __pyx_doc_7nanmean_38nanmean_2d_float32_axis1}; -static PyObject *__pyx_pw_7nanmean_39nanmean_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_39nanmean_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_38nanmean_2d_int8_axisNone[] = "nanmean_2d_int8_axisNone(ndarray a)\nMean of 2d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_39nanmean_2d_int8_axisNone = {"nanmean_2d_int8_axisNone", (PyCFunction)__pyx_pw_7nanmean_39nanmean_2d_int8_axisNone, METH_O, __pyx_doc_7nanmean_38nanmean_2d_int8_axisNone}; +static PyObject *__pyx_pw_7nanmean_39nanmean_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_float32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_38nanmean_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_38nanmean_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7512,70 +7636,54 @@ static PyObject *__pyx_pw_7nanmean_39nanmean_2d_float32_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_38nanmean_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_7nanmean_38nanmean_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_float32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmean_2d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":598 - * def nanmean_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanmean.pyx":599 - * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nanmean.pyx":590 + * def nanmean_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): + * "Mean of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":602 + /* "nanmean.pyx":594 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7584,248 +7692,232 @@ static PyObject *__pyx_pf_7nanmean_38nanmean_2d_float32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":603 + /* "nanmean.pyx":595 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":604 + /* "nanmean.pyx":596 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * for i0 in range(n0): */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":605 + /* "nanmean.pyx":597 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nanmean.pyx":606 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanmean.pyx":608 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + /* "nanmean.pyx":598 + * cdef Py_ssize_t n1 = dim[1] + * size = n0 * n1 * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "nanmean.pyx":609 - * NPY_float32, 0) - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_v_asum = 0.0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":610 + /* "nanmean.pyx":599 + * size = n0 * n1 * for i0 in range(n0): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "nanmean.pyx":611 - * asum = 0 - * count = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + * asum += a[i0, i1] + * if size > 0: */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanmean.pyx":612 - * count = 0 + /* "nanmean.pyx":600 + * for i0 in range(n0): * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * if size > 0: + * return np.float64(asum / size) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); + } + } - /* "nanmean.pyx":613 + /* "nanmean.pyx":601 * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nanmean.pyx":614 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + * asum += a[i0, i1] + * if size > 0: # <<<<<<<<<<<<<< + * return np.float64(asum / size) + * else: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_7 = ((__pyx_v_size > 0) != 0); + if (__pyx_t_7) { - /* "nanmean.pyx":615 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * y[i0] = asum / count + /* "nanmean.pyx":602 + * asum += a[i0, i1] + * if size > 0: + * return np.float64(asum / size) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __Pyx_XDECREF(__pyx_r); + __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - - /* "nanmean.pyx":616 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * y[i0] = asum / count - * else: - */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { - - /* "nanmean.pyx":617 - * count += 1 - * if count > 0: - * y[i0] = asum / count # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN - */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); } - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); - goto __pyx_L8; } - /*else*/ { - - /* "nanmean.pyx":619 - * y[i0] = asum / count - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; + if (!__pyx_t_11) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_8); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); + __Pyx_GIVEREF(__pyx_t_9); + __pyx_t_9 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanmean.pyx":620 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmean.pyx":604 + * return np.float64(asum / size) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_9 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + if (!__pyx_t_9) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_8); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; + } - /* "nanmean.pyx":596 + /* "nanmean.pyx":588 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":624 +/* "nanmean.pyx":608 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_41nanmean_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_40nanmean_2d_float64_axis0[] = "nanmean_2d_float64_axis0(ndarray a)\nMean of 2d array with dtype=float64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_41nanmean_2d_float64_axis0 = {"nanmean_2d_float64_axis0", (PyCFunction)__pyx_pw_7nanmean_41nanmean_2d_float64_axis0, METH_O, __pyx_doc_7nanmean_40nanmean_2d_float64_axis0}; -static PyObject *__pyx_pw_7nanmean_41nanmean_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_41nanmean_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_40nanmean_2d_int32_axisNone[] = "nanmean_2d_int32_axisNone(ndarray a)\nMean of 2d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_41nanmean_2d_int32_axisNone = {"nanmean_2d_int32_axisNone", (PyCFunction)__pyx_pw_7nanmean_41nanmean_2d_int32_axisNone, METH_O, __pyx_doc_7nanmean_40nanmean_2d_int32_axisNone}; +static PyObject *__pyx_pw_7nanmean_41nanmean_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_40nanmean_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_40nanmean_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7836,70 +7928,54 @@ static PyObject *__pyx_pw_7nanmean_41nanmean_2d_float64_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_40nanmean_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - Py_ssize_t __pyx_v_count; +static PyObject *__pyx_pf_7nanmean_40nanmean_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_float64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmean_2d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":626 - * def nanmean_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanmean.pyx":627 - * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanmean.pyx":610 + * def nanmean_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): + * "Mean of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":630 + /* "nanmean.pyx":614 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7908,248 +7984,232 @@ static PyObject *__pyx_pf_7nanmean_40nanmean_2d_float64_axis0(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":631 + /* "nanmean.pyx":615 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":632 + /* "nanmean.pyx":616 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * for i0 in range(n0): */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":633 + /* "nanmean.pyx":617 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanmean.pyx":634 + /* "nanmean.pyx":618 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmean.pyx":636 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "nanmean.pyx":637 - * NPY_float64, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): - */ - __pyx_v_asum = 0.0; - - /* "nanmean.pyx":638 - * for i1 in range(n1): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "nanmean.pyx":639 - * asum = 0 - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanmean.pyx":640 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmean.pyx":641 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + * size = n0 * n1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":642 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanmean.pyx":619 + * size = n0 * n1 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * if size > 0: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nanmean.pyx":643 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * y[i1] = asum / count + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; + + /* "nanmean.pyx":620 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * if size > 0: + * return np.float64(asum / size) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); } + } - /* "nanmean.pyx":644 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * y[i1] = asum / count - * else: + /* "nanmean.pyx":621 + * for i1 in range(n1): + * asum += a[i0, i1] + * if size > 0: # <<<<<<<<<<<<<< + * return np.float64(asum / size) + * else: */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_t_7 = ((__pyx_v_size > 0) != 0); + if (__pyx_t_7) { - /* "nanmean.pyx":645 - * count += 1 - * if count > 0: - * y[i1] = asum / count # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN + /* "nanmean.pyx":622 + * asum += a[i0, i1] + * if size > 0: + * return np.float64(asum / size) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); } - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); - goto __pyx_L8; } - /*else*/ { - - /* "nanmean.pyx":647 - * y[i1] = asum / count - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; + if (!__pyx_t_11) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_8); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); + __Pyx_GIVEREF(__pyx_t_9); + __pyx_t_9 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanmean.pyx":648 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmean.pyx":624 + * return np.float64(asum / size) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_9 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + if (!__pyx_t_9) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_8); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; + } - /* "nanmean.pyx":624 + /* "nanmean.pyx":608 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":652 +/* "nanmean.pyx":628 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_43nanmean_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_42nanmean_2d_float64_axis1[] = "nanmean_2d_float64_axis1(ndarray a)\nMean of 2d array with dtype=float64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_43nanmean_2d_float64_axis1 = {"nanmean_2d_float64_axis1", (PyCFunction)__pyx_pw_7nanmean_43nanmean_2d_float64_axis1, METH_O, __pyx_doc_7nanmean_42nanmean_2d_float64_axis1}; -static PyObject *__pyx_pw_7nanmean_43nanmean_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_43nanmean_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_42nanmean_2d_int64_axisNone[] = "nanmean_2d_int64_axisNone(ndarray a)\nMean of 2d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_43nanmean_2d_int64_axisNone = {"nanmean_2d_int64_axisNone", (PyCFunction)__pyx_pw_7nanmean_43nanmean_2d_int64_axisNone, METH_O, __pyx_doc_7nanmean_42nanmean_2d_int64_axisNone}; +static PyObject *__pyx_pw_7nanmean_43nanmean_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_float64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_42nanmean_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_42nanmean_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8160,70 +8220,54 @@ static PyObject *__pyx_pw_7nanmean_43nanmean_2d_float64_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_42nanmean_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - Py_ssize_t __pyx_v_count; +static PyObject *__pyx_pf_7nanmean_42nanmean_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_float64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmean_2d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":654 - * def nanmean_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanmean.pyx":655 - * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanmean.pyx":630 + * def nanmean_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): + * "Mean of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":658 + /* "nanmean.pyx":634 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8232,248 +8276,232 @@ static PyObject *__pyx_pf_7nanmean_42nanmean_2d_float64_axis1(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":659 + /* "nanmean.pyx":635 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "nanmean.pyx":660 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmean.pyx":661 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nanmean.pyx":662 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + * size = n0 * n1 + */ + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":664 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + /* "nanmean.pyx":636 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * size = n0 * n1 + * for i0 in range(n0): */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":665 - * NPY_float64, 0) + /* "nanmean.pyx":637 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * size = n0 * n1 # <<<<<<<<<<<<<< * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 * for i1 in range(n1): */ - __pyx_v_asum = 0.0; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanmean.pyx":666 - * for i0 in range(n0): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< + /* "nanmean.pyx":638 + * cdef Py_ssize_t n1 = dim[1] + * size = n0 * n1 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * ai = a[i0, i1] + * asum += a[i0, i1] */ - __pyx_v_count = 0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":667 - * asum = 0 - * count = 0 + /* "nanmean.pyx":639 + * size = n0 * n1 + * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + * asum += a[i0, i1] + * if size > 0: */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanmean.pyx":668 - * count = 0 + /* "nanmean.pyx":640 + * for i0 in range(n0): * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * if size > 0: + * return np.float64(asum / size) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); + } + } - /* "nanmean.pyx":669 + /* "nanmean.pyx":641 * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nanmean.pyx":670 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + * asum += a[i0, i1] + * if size > 0: # <<<<<<<<<<<<<< + * return np.float64(asum / size) + * else: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_7 = ((__pyx_v_size > 0) != 0); + if (__pyx_t_7) { - /* "nanmean.pyx":671 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * y[i0] = asum / count + /* "nanmean.pyx":642 + * asum += a[i0, i1] + * if size > 0: + * return np.float64(asum / size) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __Pyx_XDECREF(__pyx_r); + __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - - /* "nanmean.pyx":672 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * y[i0] = asum / count - * else: - */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { - - /* "nanmean.pyx":673 - * count += 1 - * if count > 0: - * y[i0] = asum / count # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN - */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); } - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); - goto __pyx_L8; } - /*else*/ { - - /* "nanmean.pyx":675 - * y[i0] = asum / count - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; + if (!__pyx_t_11) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_8); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); + __Pyx_GIVEREF(__pyx_t_9); + __pyx_t_9 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanmean.pyx":676 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmean.pyx":644 + * return np.float64(asum / size) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_9 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + if (!__pyx_t_9) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_8); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; + } - /* "nanmean.pyx":652 + /* "nanmean.pyx":628 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":680 +/* "nanmean.pyx":648 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmean_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_45nanmean_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_44nanmean_1d_int_axisNone[] = "nanmean_1d_int_axisNone(ndarray a)\nMean of 1d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_45nanmean_1d_int_axisNone = {"nanmean_1d_int_axisNone", (PyCFunction)__pyx_pw_7nanmean_45nanmean_1d_int_axisNone, METH_O, __pyx_doc_7nanmean_44nanmean_1d_int_axisNone}; -static PyObject *__pyx_pw_7nanmean_45nanmean_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_45nanmean_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_44nanmean_2d_int_axis0[] = "nanmean_2d_int_axis0(ndarray a)\nMean of 2d array with dtype=int along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_45nanmean_2d_int_axis0 = {"nanmean_2d_int_axis0", (PyCFunction)__pyx_pw_7nanmean_45nanmean_2d_int_axis0, METH_O, __pyx_doc_7nanmean_44nanmean_2d_int_axis0}; +static PyObject *__pyx_pw_7nanmean_45nanmean_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_1d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_44nanmean_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_44nanmean_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8484,261 +8512,271 @@ static PyObject *__pyx_pw_7nanmean_45nanmean_1d_int_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_44nanmean_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_44nanmean_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + __Pyx_RefNannyDeclarations + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_1d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":682 - * def nanmean_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): - * "Mean of 1d array with dtype=int along axis=None ignoring NaNs." + /* "nanmean.pyx":650 + * def nanmean_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Mean of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":686 - * cdef Py_ssize_t i0 + /* "nanmean.pyx":653 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":687 + /* "nanmean.pyx":654 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":688 + /* "nanmean.pyx":655 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":689 + /* "nanmean.pyx":656 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0] - * if size > 0: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":690 - * size = n0 - * for i0 in range(n0): - * asum += a[i0] # <<<<<<<<<<<<<< - * if size > 0: - * return np.float64(asum / size) + /* "nanmean.pyx":657 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmean.pyx":691 - * for i0 in range(n0): - * asum += a[i0] - * if size > 0: # <<<<<<<<<<<<<< - * return np.float64(asum / size) + /* "nanmean.pyx":659 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) * else: */ - __pyx_t_4 = ((__pyx_v_size > 0) != 0); + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanmean.pyx":692 - * asum += a[i0] - * if size > 0: - * return np.float64(asum / size) # <<<<<<<<<<<<<< + /* "nanmean.pyx":660 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * for i1 in range(n1): */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } /*else*/ { - /* "nanmean.pyx":694 - * return np.float64(asum / size) + /* "nanmean.pyx":662 + * PyArray_FillWithScalar(y, NAN) * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): + */ + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; + + /* "nanmean.pyx":663 + * else: + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0.0; + + /* "nanmean.pyx":664 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i1] = asum / n0 + */ + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; + + /* "nanmean.pyx":665 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i1] = asum / n0 + * return y + */ + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nanmean.pyx":666 + * for i0 in range(n0): + * asum += a[i0, i1] + * y[i1] = asum / n0 # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n0); } - if (!__pyx_t_6) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; } + __pyx_L3:; - /* "nanmean.pyx":680 + /* "nanmean.pyx":667 + * asum += a[i0, i1] + * y[i1] = asum / n0 + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "nanmean.pyx":648 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmean_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":698 +/* "nanmean.pyx":671 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmean_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_47nanmean_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_46nanmean_1d_int8_axisNone[] = "nanmean_1d_int8_axisNone(ndarray a)\nMean of 1d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_47nanmean_1d_int8_axisNone = {"nanmean_1d_int8_axisNone", (PyCFunction)__pyx_pw_7nanmean_47nanmean_1d_int8_axisNone, METH_O, __pyx_doc_7nanmean_46nanmean_1d_int8_axisNone}; -static PyObject *__pyx_pw_7nanmean_47nanmean_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_47nanmean_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_46nanmean_2d_int_axis1[] = "nanmean_2d_int_axis1(ndarray a)\nMean of 2d array with dtype=int along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_47nanmean_2d_int_axis1 = {"nanmean_2d_int_axis1", (PyCFunction)__pyx_pw_7nanmean_47nanmean_2d_int_axis1, METH_O, __pyx_doc_7nanmean_46nanmean_2d_int_axis1}; +static PyObject *__pyx_pw_7nanmean_47nanmean_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_1d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_46nanmean_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_46nanmean_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8749,261 +8787,271 @@ static PyObject *__pyx_pw_7nanmean_47nanmean_1d_int8_axisNone(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_46nanmean_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_46nanmean_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_1d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":700 - * def nanmean_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): - * "Mean of 1d array with dtype=int8 along axis=None ignoring NaNs." + /* "nanmean.pyx":673 + * def nanmean_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Mean of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":704 - * cdef Py_ssize_t i0 + /* "nanmean.pyx":676 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":705 + /* "nanmean.pyx":677 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":706 + /* "nanmean.pyx":678 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":707 + /* "nanmean.pyx":679 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0] - * if size > 0: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":708 - * size = n0 - * for i0 in range(n0): - * asum += a[i0] # <<<<<<<<<<<<<< - * if size > 0: - * return np.float64(asum / size) + /* "nanmean.pyx":680 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmean.pyx":709 - * for i0 in range(n0): - * asum += a[i0] - * if size > 0: # <<<<<<<<<<<<<< - * return np.float64(asum / size) + /* "nanmean.pyx":682 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) * else: */ - __pyx_t_4 = ((__pyx_v_size > 0) != 0); + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanmean.pyx":710 - * asum += a[i0] - * if size > 0: - * return np.float64(asum / size) # <<<<<<<<<<<<<< + /* "nanmean.pyx":683 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * for i0 in range(n0): */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } /*else*/ { - /* "nanmean.pyx":712 - * return np.float64(asum / size) + /* "nanmean.pyx":685 + * PyArray_FillWithScalar(y, NAN) * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): + */ + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; + + /* "nanmean.pyx":686 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0.0; + + /* "nanmean.pyx":687 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i0] = asum / n1 + */ + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; + + /* "nanmean.pyx":688 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i0] = asum / n1 + * return y + */ + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nanmean.pyx":689 + * for i1 in range(n1): + * asum += a[i0, i1] + * y[i0] = asum / n1 # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n1); } - if (!__pyx_t_6) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanmean.pyx":690 + * asum += a[i0, i1] + * y[i0] = asum / n1 + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "nanmean.pyx":698 + /* "nanmean.pyx":671 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmean_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":716 +/* "nanmean.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmean_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_49nanmean_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_48nanmean_1d_int32_axisNone[] = "nanmean_1d_int32_axisNone(ndarray a)\nMean of 1d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_49nanmean_1d_int32_axisNone = {"nanmean_1d_int32_axisNone", (PyCFunction)__pyx_pw_7nanmean_49nanmean_1d_int32_axisNone, METH_O, __pyx_doc_7nanmean_48nanmean_1d_int32_axisNone}; -static PyObject *__pyx_pw_7nanmean_49nanmean_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_49nanmean_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_48nanmean_2d_int8_axis0[] = "nanmean_2d_int8_axis0(ndarray a)\nMean of 2d array with dtype=int8 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_49nanmean_2d_int8_axis0 = {"nanmean_2d_int8_axis0", (PyCFunction)__pyx_pw_7nanmean_49nanmean_2d_int8_axis0, METH_O, __pyx_doc_7nanmean_48nanmean_2d_int8_axis0}; +static PyObject *__pyx_pw_7nanmean_49nanmean_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_1d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_48nanmean_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_48nanmean_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9014,261 +9062,271 @@ static PyObject *__pyx_pw_7nanmean_49nanmean_1d_int32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_48nanmean_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_48nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_1d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_int8_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":718 - * def nanmean_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): - * "Mean of 1d array with dtype=int32 along axis=None ignoring NaNs." + /* "nanmean.pyx":696 + * def nanmean_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Mean of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":722 - * cdef Py_ssize_t i0 + /* "nanmean.pyx":699 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":723 + /* "nanmean.pyx":700 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":724 + /* "nanmean.pyx":701 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":725 + /* "nanmean.pyx":702 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0] - * if size > 0: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":726 - * size = n0 - * for i0 in range(n0): - * asum += a[i0] # <<<<<<<<<<<<<< - * if size > 0: - * return np.float64(asum / size) + /* "nanmean.pyx":703 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmean.pyx":727 - * for i0 in range(n0): - * asum += a[i0] - * if size > 0: # <<<<<<<<<<<<<< - * return np.float64(asum / size) + /* "nanmean.pyx":705 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) * else: */ - __pyx_t_4 = ((__pyx_v_size > 0) != 0); + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanmean.pyx":728 - * asum += a[i0] - * if size > 0: - * return np.float64(asum / size) # <<<<<<<<<<<<<< + /* "nanmean.pyx":706 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * for i1 in range(n1): */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } /*else*/ { - /* "nanmean.pyx":730 - * return np.float64(asum / size) + /* "nanmean.pyx":708 + * PyArray_FillWithScalar(y, NAN) * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): + */ + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; + + /* "nanmean.pyx":709 + * else: + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0.0; + + /* "nanmean.pyx":710 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i1] = asum / n0 + */ + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; + + /* "nanmean.pyx":711 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i1] = asum / n0 + * return y + */ + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nanmean.pyx":712 + * for i0 in range(n0): + * asum += a[i0, i1] + * y[i1] = asum / n0 # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n0); } - if (!__pyx_t_6) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanmean.pyx":713 + * asum += a[i0, i1] + * y[i1] = asum / n0 + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "nanmean.pyx":716 + /* "nanmean.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmean_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":734 +/* "nanmean.pyx":717 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmean_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_51nanmean_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_50nanmean_1d_int64_axisNone[] = "nanmean_1d_int64_axisNone(ndarray a)\nMean of 1d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_51nanmean_1d_int64_axisNone = {"nanmean_1d_int64_axisNone", (PyCFunction)__pyx_pw_7nanmean_51nanmean_1d_int64_axisNone, METH_O, __pyx_doc_7nanmean_50nanmean_1d_int64_axisNone}; -static PyObject *__pyx_pw_7nanmean_51nanmean_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_51nanmean_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_50nanmean_2d_int8_axis1[] = "nanmean_2d_int8_axis1(ndarray a)\nMean of 2d array with dtype=int8 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_51nanmean_2d_int8_axis1 = {"nanmean_2d_int8_axis1", (PyCFunction)__pyx_pw_7nanmean_51nanmean_2d_int8_axis1, METH_O, __pyx_doc_7nanmean_50nanmean_2d_int8_axis1}; +static PyObject *__pyx_pw_7nanmean_51nanmean_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_1d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_50nanmean_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int8_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_50nanmean_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9279,261 +9337,271 @@ static PyObject *__pyx_pw_7nanmean_51nanmean_1d_int64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_50nanmean_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_50nanmean_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_1d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_int8_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":736 - * def nanmean_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): - * "Mean of 1d array with dtype=int64 along axis=None ignoring NaNs." + /* "nanmean.pyx":719 + * def nanmean_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Mean of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":740 - * cdef Py_ssize_t i0 + /* "nanmean.pyx":722 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":741 + /* "nanmean.pyx":723 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":742 + /* "nanmean.pyx":724 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":743 + /* "nanmean.pyx":725 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0] - * if size > 0: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":744 - * size = n0 - * for i0 in range(n0): - * asum += a[i0] # <<<<<<<<<<<<<< - * if size > 0: - * return np.float64(asum / size) + /* "nanmean.pyx":726 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmean.pyx":745 - * for i0 in range(n0): - * asum += a[i0] - * if size > 0: # <<<<<<<<<<<<<< - * return np.float64(asum / size) + /* "nanmean.pyx":728 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) * else: */ - __pyx_t_4 = ((__pyx_v_size > 0) != 0); + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanmean.pyx":746 - * asum += a[i0] - * if size > 0: - * return np.float64(asum / size) # <<<<<<<<<<<<<< + /* "nanmean.pyx":729 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * for i0 in range(n0): */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } /*else*/ { - /* "nanmean.pyx":748 - * return np.float64(asum / size) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanmean.pyx":731 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): + */ + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; + + /* "nanmean.pyx":732 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0.0; + + /* "nanmean.pyx":733 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i0] = asum / n1 + */ + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; + + /* "nanmean.pyx":734 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i0] = asum / n1 + * return y + */ + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nanmean.pyx":735 + * for i1 in range(n1): + * asum += a[i0, i1] + * y[i0] = asum / n1 # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n1); } - if (!__pyx_t_6) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; } + __pyx_L3:; - /* "nanmean.pyx":734 + /* "nanmean.pyx":736 + * asum += a[i0, i1] + * y[i0] = asum / n1 + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "nanmean.pyx":717 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmean_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":752 +/* "nanmean.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmean_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_53nanmean_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_52nanmean_2d_int_axisNone[] = "nanmean_2d_int_axisNone(ndarray a)\nMean of 2d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_53nanmean_2d_int_axisNone = {"nanmean_2d_int_axisNone", (PyCFunction)__pyx_pw_7nanmean_53nanmean_2d_int_axisNone, METH_O, __pyx_doc_7nanmean_52nanmean_2d_int_axisNone}; -static PyObject *__pyx_pw_7nanmean_53nanmean_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_53nanmean_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_52nanmean_2d_int32_axis0[] = "nanmean_2d_int32_axis0(ndarray a)\nMean of 2d array with dtype=int32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_53nanmean_2d_int32_axis0 = {"nanmean_2d_int32_axis0", (PyCFunction)__pyx_pw_7nanmean_53nanmean_2d_int32_axis0, METH_O, __pyx_doc_7nanmean_52nanmean_2d_int32_axis0}; +static PyObject *__pyx_pw_7nanmean_53nanmean_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_52nanmean_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_52nanmean_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9544,54 +9612,59 @@ static PyObject *__pyx_pw_7nanmean_53nanmean_2d_int_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_52nanmean_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_52nanmean_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_int32_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":754 - * def nanmean_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): - * "Mean of 2d array with dtype=int along axis=None ignoring NaNs." + /* "nanmean.pyx":742 + * def nanmean_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Mean of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":758 + /* "nanmean.pyx":745 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9600,232 +9673,210 @@ static PyObject *__pyx_pf_7nanmean_52nanmean_2d_int_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":759 + /* "nanmean.pyx":746 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":760 + /* "nanmean.pyx":747 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":761 + /* "nanmean.pyx":748 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":762 + /* "nanmean.pyx":749 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmean.pyx":763 - * size = n0 * n1 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * if size > 0: + /* "nanmean.pyx":751 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanmean.pyx":764 - * for i0 in range(n0): + /* "nanmean.pyx":752 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * if size > 0: - * return np.float64(asum / size) */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } + /*else*/ { - /* "nanmean.pyx":765 - * for i1 in range(n1): - * asum += a[i0, i1] - * if size > 0: # <<<<<<<<<<<<<< - * return np.float64(asum / size) + /* "nanmean.pyx":754 + * PyArray_FillWithScalar(y, NAN) * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_7 = ((__pyx_v_size > 0) != 0); - if (__pyx_t_7) { + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanmean.pyx":766 - * asum += a[i0, i1] - * if size > 0: - * return np.float64(asum / size) # <<<<<<<<<<<<<< + /* "nanmean.pyx":755 * else: - * return np.float64(NAN) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); + __pyx_v_asum = 0.0; + + /* "nanmean.pyx":756 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i1] = asum / n0 + */ + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; + + /* "nanmean.pyx":757 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i1] = asum / n0 + * return y + */ + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nanmean.pyx":758 + * for i0 in range(n0): + * asum += a[i0, i1] + * y[i1] = asum / n0 # <<<<<<<<<<<<<< + * return y + * + */ + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n0); } - if (!__pyx_t_11) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_GOTREF(__pyx_t_8); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); - __Pyx_GIVEREF(__pyx_t_9); - __pyx_t_9 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; } - /*else*/ { + __pyx_L3:; - /* "nanmean.pyx":768 - * return np.float64(asum / size) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanmean.pyx":759 + * asum += a[i0, i1] + * y[i1] = asum / n0 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_9 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - } - } - if (!__pyx_t_9) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_8); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "nanmean.pyx":752 + /* "nanmean.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmean_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":772 +/* "nanmean.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmean_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_55nanmean_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_54nanmean_2d_int8_axisNone[] = "nanmean_2d_int8_axisNone(ndarray a)\nMean of 2d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_55nanmean_2d_int8_axisNone = {"nanmean_2d_int8_axisNone", (PyCFunction)__pyx_pw_7nanmean_55nanmean_2d_int8_axisNone, METH_O, __pyx_doc_7nanmean_54nanmean_2d_int8_axisNone}; -static PyObject *__pyx_pw_7nanmean_55nanmean_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_55nanmean_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_54nanmean_2d_int32_axis1[] = "nanmean_2d_int32_axis1(ndarray a)\nMean of 2d array with dtype=int32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_55nanmean_2d_int32_axis1 = {"nanmean_2d_int32_axis1", (PyCFunction)__pyx_pw_7nanmean_55nanmean_2d_int32_axis1, METH_O, __pyx_doc_7nanmean_54nanmean_2d_int32_axis1}; +static PyObject *__pyx_pw_7nanmean_55nanmean_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_54nanmean_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_54nanmean_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9836,54 +9887,59 @@ static PyObject *__pyx_pw_7nanmean_55nanmean_2d_int8_axisNone(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_54nanmean_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_54nanmean_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_int32_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":774 - * def nanmean_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): - * "Mean of 2d array with dtype=int8 along axis=None ignoring NaNs." + /* "nanmean.pyx":765 + * def nanmean_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Mean of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":778 + /* "nanmean.pyx":768 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9892,232 +9948,210 @@ static PyObject *__pyx_pf_7nanmean_54nanmean_2d_int8_axisNone(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":779 + /* "nanmean.pyx":769 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":780 + /* "nanmean.pyx":770 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":781 + /* "nanmean.pyx":771 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":782 + /* "nanmean.pyx":772 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] - */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; - - /* "nanmean.pyx":783 - * size = n0 * n1 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * if size > 0: - */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; - - /* "nanmean.pyx":784 - * for i0 in range(n0): - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * if size > 0: - * return np.float64(asum / size) + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmean.pyx":785 - * for i1 in range(n1): - * asum += a[i0, i1] - * if size > 0: # <<<<<<<<<<<<<< - * return np.float64(asum / size) + /* "nanmean.pyx":774 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) * else: */ - __pyx_t_7 = ((__pyx_v_size > 0) != 0); - if (__pyx_t_7) { + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { - /* "nanmean.pyx":786 - * asum += a[i0, i1] - * if size > 0: - * return np.float64(asum / size) # <<<<<<<<<<<<<< + /* "nanmean.pyx":775 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * for i0 in range(n0): */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_GOTREF(__pyx_t_8); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); - __Pyx_GIVEREF(__pyx_t_9); - __pyx_t_9 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } /*else*/ { - /* "nanmean.pyx":788 - * return np.float64(asum / size) + /* "nanmean.pyx":777 + * PyArray_FillWithScalar(y, NAN) * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): + */ + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; + + /* "nanmean.pyx":778 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0.0; + + /* "nanmean.pyx":779 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i0] = asum / n1 + */ + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; + + /* "nanmean.pyx":780 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i0] = asum / n1 + * return y + */ + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nanmean.pyx":781 + * for i1 in range(n1): + * asum += a[i0, i1] + * y[i0] = asum / n1 # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_9 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n1); } - if (!__pyx_t_9) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_8); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; } + __pyx_L3:; - /* "nanmean.pyx":772 + /* "nanmean.pyx":782 + * asum += a[i0, i1] + * y[i0] = asum / n1 + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "nanmean.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmean_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":792 +/* "nanmean.pyx":786 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmean_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_57nanmean_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_56nanmean_2d_int32_axisNone[] = "nanmean_2d_int32_axisNone(ndarray a)\nMean of 2d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_57nanmean_2d_int32_axisNone = {"nanmean_2d_int32_axisNone", (PyCFunction)__pyx_pw_7nanmean_57nanmean_2d_int32_axisNone, METH_O, __pyx_doc_7nanmean_56nanmean_2d_int32_axisNone}; -static PyObject *__pyx_pw_7nanmean_57nanmean_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_57nanmean_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_56nanmean_2d_int64_axis0[] = "nanmean_2d_int64_axis0(ndarray a)\nMean of 2d array with dtype=int64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_57nanmean_2d_int64_axis0 = {"nanmean_2d_int64_axis0", (PyCFunction)__pyx_pw_7nanmean_57nanmean_2d_int64_axis0, METH_O, __pyx_doc_7nanmean_56nanmean_2d_int64_axis0}; +static PyObject *__pyx_pw_7nanmean_57nanmean_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_56nanmean_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_56nanmean_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10128,54 +10162,59 @@ static PyObject *__pyx_pw_7nanmean_57nanmean_2d_int32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_56nanmean_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_56nanmean_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_int64_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":794 - * def nanmean_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): - * "Mean of 2d array with dtype=int32 along axis=None ignoring NaNs." + /* "nanmean.pyx":788 + * def nanmean_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Mean of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":798 + /* "nanmean.pyx":791 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10184,232 +10223,210 @@ static PyObject *__pyx_pf_7nanmean_56nanmean_2d_int32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":799 + /* "nanmean.pyx":792 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":800 + /* "nanmean.pyx":793 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":801 + /* "nanmean.pyx":794 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":802 + /* "nanmean.pyx":795 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * for i0 in range(n0): # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanmean.pyx":797 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: + */ + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmean.pyx":798 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: * for i1 in range(n1): - * asum += a[i0, i1] */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; + } + /*else*/ { - /* "nanmean.pyx":803 - * size = n0 * n1 - * for i0 in range(n0): + /* "nanmean.pyx":800 + * PyArray_FillWithScalar(y, NAN) + * else: * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * if size > 0: + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanmean.pyx":804 - * for i0 in range(n0): + /* "nanmean.pyx":801 + * else: * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * if size > 0: - * return np.float64(asum / size) + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); - } - } + __pyx_v_asum = 0.0; + + /* "nanmean.pyx":802 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i1] = asum / n0 + */ + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanmean.pyx":805 - * for i1 in range(n1): - * asum += a[i0, i1] - * if size > 0: # <<<<<<<<<<<<<< - * return np.float64(asum / size) - * else: + /* "nanmean.pyx":803 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i1] = asum / n0 + * return y */ - __pyx_t_7 = ((__pyx_v_size > 0) != 0); - if (__pyx_t_7) { + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanmean.pyx":806 - * asum += a[i0, i1] - * if size > 0: - * return np.float64(asum / size) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanmean.pyx":804 + * for i0 in range(n0): + * asum += a[i0, i1] + * y[i1] = asum / n0 # <<<<<<<<<<<<<< + * return y + * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n0); } - if (!__pyx_t_11) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_GOTREF(__pyx_t_8); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); - __Pyx_GIVEREF(__pyx_t_9); - __pyx_t_9 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; } - /*else*/ { + __pyx_L3:; - /* "nanmean.pyx":808 - * return np.float64(asum / size) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanmean.pyx":805 + * asum += a[i0, i1] + * y[i1] = asum / n0 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_9 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - } - } - if (!__pyx_t_9) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_8); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "nanmean.pyx":792 + /* "nanmean.pyx":786 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmean_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":812 +/* "nanmean.pyx":809 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmean_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_59nanmean_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_58nanmean_2d_int64_axisNone[] = "nanmean_2d_int64_axisNone(ndarray a)\nMean of 2d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_59nanmean_2d_int64_axisNone = {"nanmean_2d_int64_axisNone", (PyCFunction)__pyx_pw_7nanmean_59nanmean_2d_int64_axisNone, METH_O, __pyx_doc_7nanmean_58nanmean_2d_int64_axisNone}; -static PyObject *__pyx_pw_7nanmean_59nanmean_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_59nanmean_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_58nanmean_2d_int64_axis1[] = "nanmean_2d_int64_axis1(ndarray a)\nMean of 2d array with dtype=int64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_59nanmean_2d_int64_axis1 = {"nanmean_2d_int64_axis1", (PyCFunction)__pyx_pw_7nanmean_59nanmean_2d_int64_axis1, METH_O, __pyx_doc_7nanmean_58nanmean_2d_int64_axis1}; +static PyObject *__pyx_pw_7nanmean_59nanmean_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_58nanmean_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_58nanmean_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10420,54 +10437,59 @@ static PyObject *__pyx_pw_7nanmean_59nanmean_2d_int64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_58nanmean_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_58nanmean_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_int64_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":814 - * def nanmean_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): - * "Mean of 2d array with dtype=int64 along axis=None ignoring NaNs." + /* "nanmean.pyx":811 + * def nanmean_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Mean of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":818 + /* "nanmean.pyx":814 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10476,213 +10498,191 @@ static PyObject *__pyx_pf_7nanmean_58nanmean_2d_int64_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":819 + /* "nanmean.pyx":815 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":820 + /* "nanmean.pyx":816 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":821 + /* "nanmean.pyx":817 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":822 + /* "nanmean.pyx":818 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmean.pyx":823 - * size = n0 * n1 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * if size > 0: + /* "nanmean.pyx":820 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { - /* "nanmean.pyx":824 - * for i0 in range(n0): - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * if size > 0: - * return np.float64(asum / size) + /* "nanmean.pyx":821 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i0 in range(n0): */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } + /*else*/ { - /* "nanmean.pyx":825 - * for i1 in range(n1): - * asum += a[i0, i1] - * if size > 0: # <<<<<<<<<<<<<< - * return np.float64(asum / size) + /* "nanmean.pyx":823 + * PyArray_FillWithScalar(y, NAN) * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_t_7 = ((__pyx_v_size > 0) != 0); - if (__pyx_t_7) { + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanmean.pyx":826 - * asum += a[i0, i1] - * if size > 0: - * return np.float64(asum / size) # <<<<<<<<<<<<<< + /* "nanmean.pyx":824 * else: - * return np.float64(NAN) + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); + __pyx_v_asum = 0.0; + + /* "nanmean.pyx":825 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i0] = asum / n1 + */ + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; + + /* "nanmean.pyx":826 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i0] = asum / n1 + * return y + */ + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); } - } - if (!__pyx_t_11) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_GOTREF(__pyx_t_8); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); - __Pyx_GIVEREF(__pyx_t_9); - __pyx_t_9 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanmean.pyx":828 - * return np.float64(asum / size) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanmean.pyx":827 + * for i1 in range(n1): + * asum += a[i0, i1] + * y[i0] = asum / n1 # <<<<<<<<<<<<<< + * return y * - * cdef dict nanmean_dict = {} */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_9 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n1); } - if (!__pyx_t_9) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_8); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanmean.pyx":828 + * asum += a[i0, i1] + * y[i0] = asum / n1 + * return y # <<<<<<<<<<<<<< + * + * cdef dict nanmean_dict = {} + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "nanmean.pyx":812 + /* "nanmean.pyx":809 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmean_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "nanmean.pyx":867 - * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone + * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 * * def nanmean_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmean along axis 0." @@ -10750,7 +10750,7 @@ static PyObject *__pyx_pf_7nanmean_60nanmean_slow_axis0(CYTHON_UNUSED PyObject * goto __pyx_L0; /* "nanmean.pyx":867 - * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone + * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 * * def nanmean_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmean along axis 0." @@ -13741,7 +13741,7 @@ static PyObject *__pyx_pf_7nanmean_126nanmean_slow_axisNone(CYTHON_UNUSED PyObje return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -13791,7 +13791,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -13804,7 +13804,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -13813,7 +13813,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -13822,7 +13822,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -13831,7 +13831,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -13841,7 +13841,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -13853,7 +13853,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -13864,7 +13864,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -13880,7 +13880,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -13892,7 +13892,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -13906,7 +13906,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -13922,7 +13922,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -13934,7 +13934,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -13948,7 +13948,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -13957,7 +13957,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -13966,7 +13966,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -13976,7 +13976,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -13985,7 +13985,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -13994,7 +13994,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -14005,7 +14005,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -14014,7 +14014,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -14027,7 +14027,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -14036,7 +14036,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -14047,7 +14047,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -14056,7 +14056,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -14065,7 +14065,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -14074,7 +14074,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -14083,7 +14083,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -14095,7 +14095,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -14104,7 +14104,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -14124,7 +14124,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -14140,7 +14140,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -14155,7 +14155,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -14165,7 +14165,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -14175,7 +14175,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -14198,7 +14198,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -14218,7 +14218,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14232,7 +14232,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -14241,7 +14241,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -14252,7 +14252,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -14263,7 +14263,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -14274,7 +14274,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -14285,7 +14285,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -14296,7 +14296,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -14307,7 +14307,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -14318,7 +14318,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -14329,7 +14329,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -14340,7 +14340,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -14351,7 +14351,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -14362,7 +14362,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -14373,7 +14373,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -14384,7 +14384,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -14395,7 +14395,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -14406,7 +14406,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -14417,7 +14417,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -14429,7 +14429,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -14455,7 +14455,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -14464,7 +14464,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -14476,7 +14476,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -14485,7 +14485,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -14494,7 +14494,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -14503,7 +14503,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -14513,7 +14513,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -14523,7 +14523,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -14555,7 +14555,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -14579,7 +14579,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -14589,7 +14589,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -14601,7 +14601,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -14611,7 +14611,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -14623,7 +14623,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -14635,7 +14635,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -14652,7 +14652,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -14666,7 +14666,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -14685,7 +14685,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -14702,7 +14702,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -14716,7 +14716,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -14735,7 +14735,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -14752,7 +14752,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -14766,7 +14766,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -14785,7 +14785,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -14802,7 +14802,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -14816,7 +14816,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -14835,7 +14835,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -14852,7 +14852,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -14866,7 +14866,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -14885,7 +14885,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -14917,7 +14917,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -14926,7 +14926,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -14935,7 +14935,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -14957,7 +14957,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -14970,7 +14970,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -15009,7 +15009,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -15026,7 +15026,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -15040,7 +15040,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -15063,7 +15063,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -15083,7 +15083,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -15097,7 +15097,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -15113,7 +15113,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -15122,7 +15122,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -15131,7 +15131,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -15142,7 +15142,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -15152,7 +15152,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -15162,7 +15162,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -15174,7 +15174,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -15184,7 +15184,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -15198,7 +15198,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -15216,7 +15216,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -15234,7 +15234,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -15252,7 +15252,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -15270,7 +15270,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -15288,7 +15288,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -15306,7 +15306,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -15324,7 +15324,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -15342,7 +15342,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -15360,7 +15360,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -15378,7 +15378,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -15396,7 +15396,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -15414,7 +15414,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -15432,7 +15432,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -15452,7 +15452,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -15472,7 +15472,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -15492,7 +15492,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -15511,7 +15511,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -15534,7 +15534,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -15546,7 +15546,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -15558,7 +15558,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -15568,7 +15568,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -15578,7 +15578,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -15603,7 +15603,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -15618,7 +15618,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -15629,7 +15629,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -15641,7 +15641,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -15650,7 +15650,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -15661,7 +15661,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -15670,7 +15670,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -15679,7 +15679,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -15691,7 +15691,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -15705,7 +15705,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -15715,7 +15715,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -15729,7 +15729,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -15740,7 +15740,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -15778,7 +15778,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -15792,6 +15791,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -15917,7 +15917,7 @@ static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; @@ -15927,7 +15927,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -15938,7 +15938,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -15949,7 +15949,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -15960,7 +15960,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -15971,7 +15971,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -15982,7 +15982,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -16014,7 +16014,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":130 * return func(arr) @@ -16026,346 +16026,346 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_selector, 130, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_selector, 130, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":202 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__13 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__13 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int_axis0, 202, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_float_axis0, 202, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":225 + /* "nanmean.pyx":230 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__15 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__15 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int_axis1, 225, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_float_axis1, 230, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":248 + /* "nanmean.pyx":258 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__17 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__17 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int8_axis0, 248, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_float32_axis0, 258, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":271 + /* "nanmean.pyx":286 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__19 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int8_axis1, 271, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_float32_axis1, 286, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":294 + /* "nanmean.pyx":314 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__21 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int32_axis0, 294, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_float64_axis0, 314, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":317 + /* "nanmean.pyx":342 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__23 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int32_axis1, 317, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_float64_axis1, 342, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":340 + /* "nanmean.pyx":370 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__25 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int64_axis0, 340, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_1d_float_axisNone, 370, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":363 + /* "nanmean.pyx":390 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__27 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int64_axis1, 363, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_1d_float32_axisNone, 390, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":386 + /* "nanmean.pyx":410 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmean_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__29 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_1d_float_axisNone, 386, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_1d_float64_axisNone, 410, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":406 + /* "nanmean.pyx":430 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmean_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__31 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_1d_float32_axisNone, 406, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_float_axisNone, 430, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":426 + /* "nanmean.pyx":452 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmean_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__33 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_1d_float64_axisNone, 426, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_float32_axisNone, 452, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":446 + /* "nanmean.pyx":474 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmean_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__35 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_float_axisNone, 446, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_float64_axisNone, 474, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":468 + /* "nanmean.pyx":496 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__37 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_float32_axisNone, 468, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_1d_int_axisNone, 496, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":490 + /* "nanmean.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__39 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_float64_axisNone, 490, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_1d_int8_axisNone, 514, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":512 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmean_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanmean.pyx":532 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanmean_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__41 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_float_axis0, 512, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_1d_int32_axisNone, 532, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":540 + /* "nanmean.pyx":550 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__43 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_float_axis1, 540, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_1d_int64_axisNone, 550, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":568 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__45 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_float32_axis0, 568, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int_axisNone, 568, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":596 + /* "nanmean.pyx":588 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__47 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_float32_axis1, 596, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int8_axisNone, 588, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":624 + /* "nanmean.pyx":608 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__49 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_float64_axis0, 624, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int32_axisNone, 608, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":652 + /* "nanmean.pyx":628 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__51 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_float64_axis1, 652, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int64_axisNone, 628, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":680 + /* "nanmean.pyx":648 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmean_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__53 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_1d_int_axisNone, 680, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int_axis0, 648, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":698 + /* "nanmean.pyx":671 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmean_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__55 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_1d_int8_axisNone, 698, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int_axis1, 671, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":716 + /* "nanmean.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmean_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__57 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_1d_int32_axisNone, 716, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int8_axis0, 694, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":734 + /* "nanmean.pyx":717 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmean_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__59 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_1d_int64_axisNone, 734, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int8_axis1, 717, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":752 + /* "nanmean.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmean_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__61 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int_axisNone, 752, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int32_axis0, 740, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":772 + /* "nanmean.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmean_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__63 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int8_axisNone, 772, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int32_axis1, 763, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":792 + /* "nanmean.pyx":786 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmean_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__65 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int32_axisNone, 792, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int64_axis0, 786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":812 + /* "nanmean.pyx":809 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmean_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__67 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int64_axisNone, 812, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int64_axis1, 809, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":867 - * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone + * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 * * def nanmean_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmean along axis 0." @@ -16374,7 +16374,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis0, 867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis0, 867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":871 * return bn.slow.nanmean(arr, axis=0) @@ -16386,7 +16386,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis1, 871, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis1, 871, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":875 * return bn.slow.nanmean(arr, axis=1) @@ -16398,7 +16398,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis2, 875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis2, 875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":879 * return bn.slow.nanmean(arr, axis=2) @@ -16410,7 +16410,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis3, 879, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis3, 879, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":883 * return bn.slow.nanmean(arr, axis=3) @@ -16422,7 +16422,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis4, 883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis4, 883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":887 * return bn.slow.nanmean(arr, axis=4) @@ -16434,7 +16434,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis5, 887, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis5, 887, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":891 * return bn.slow.nanmean(arr, axis=5) @@ -16446,7 +16446,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis6, 891, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis6, 891, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":895 * return bn.slow.nanmean(arr, axis=6) @@ -16458,7 +16458,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis7, 895, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis7, 895, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":899 * return bn.slow.nanmean(arr, axis=7) @@ -16470,7 +16470,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis8, 899, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis8, 899, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":903 * return bn.slow.nanmean(arr, axis=8) @@ -16482,7 +16482,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis9, 903, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis9, 903, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":907 * return bn.slow.nanmean(arr, axis=9) @@ -16494,7 +16494,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis10, 907, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis10, 907, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":911 * return bn.slow.nanmean(arr, axis=10) @@ -16506,7 +16506,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis11, 911, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis11, 911, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":915 * return bn.slow.nanmean(arr, axis=11) @@ -16518,7 +16518,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis12, 915, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis12, 915, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":919 * return bn.slow.nanmean(arr, axis=12) @@ -16530,7 +16530,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis13, 919, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis13, 919, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":923 * return bn.slow.nanmean(arr, axis=13) @@ -16542,7 +16542,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis14, 923, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis14, 923, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":927 * return bn.slow.nanmean(arr, axis=14) @@ -16554,7 +16554,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis15, 927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis15, 927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":931 * return bn.slow.nanmean(arr, axis=15) @@ -16566,7 +16566,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis16, 931, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis16, 931, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":935 * return bn.slow.nanmean(arr, axis=16) @@ -16578,7 +16578,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis17, 935, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis17, 935, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":939 * return bn.slow.nanmean(arr, axis=17) @@ -16590,7 +16590,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis18, 939, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis18, 939, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":943 * return bn.slow.nanmean(arr, axis=18) @@ -16602,7 +16602,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis19, 943, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis19, 943, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":947 * return bn.slow.nanmean(arr, axis=19) @@ -16614,7 +16614,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis20, 947, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis20, 947, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":951 * return bn.slow.nanmean(arr, axis=20) @@ -16626,7 +16626,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 951; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis21, 951, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 951; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis21, 951, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 951; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":955 * return bn.slow.nanmean(arr, axis=21) @@ -16638,7 +16638,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis22, 955, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis22, 955, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":959 * return bn.slow.nanmean(arr, axis=22) @@ -16650,7 +16650,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis23, 959, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis23, 959, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":963 * return bn.slow.nanmean(arr, axis=23) @@ -16662,7 +16662,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis24, 963, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis24, 963, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":967 * return bn.slow.nanmean(arr, axis=24) @@ -16674,7 +16674,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis25, 967, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis25, 967, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":971 * return bn.slow.nanmean(arr, axis=25) @@ -16686,7 +16686,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 971; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis26, 971, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 971; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis26, 971, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 971; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":975 * return bn.slow.nanmean(arr, axis=26) @@ -16698,7 +16698,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 975; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis27, 975, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 975; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis27, 975, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 975; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":979 * return bn.slow.nanmean(arr, axis=27) @@ -16710,7 +16710,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 979; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis28, 979, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 979; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis28, 979, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 979; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":983 * return bn.slow.nanmean(arr, axis=28) @@ -16722,7 +16722,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis29, 983, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis29, 983, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":987 * return bn.slow.nanmean(arr, axis=29) @@ -16734,7 +16734,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis30, 987, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis30, 987, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":991 * return bn.slow.nanmean(arr, axis=30) @@ -16746,7 +16746,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis31, 991, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis31, 991, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":995 * return bn.slow.nanmean(arr, axis=31) @@ -16758,7 +16758,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis32, 995, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis32, 995, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":999 * return bn.slow.nanmean(arr, axis=32) @@ -16770,7 +16770,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axisNone, 999, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axisNone, 999, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -17736,345 +17736,345 @@ PyMODINIT_FUNC PyInit_nanmean(void) /* "nanmean.pyx":202 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_5nanmean_2d_int_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "nanmean.pyx":225 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmean_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_7nanmean_2d_int_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "nanmean.pyx":248 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmean_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_9nanmean_2d_int8_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_5nanmean_2d_float_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":271 + /* "nanmean.pyx":230 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_11nanmean_2d_int8_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_7nanmean_2d_float_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":294 + /* "nanmean.pyx":258 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_13nanmean_2d_int32_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_9nanmean_2d_float32_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":317 + /* "nanmean.pyx":286 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_15nanmean_2d_int32_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_11nanmean_2d_float32_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":340 + /* "nanmean.pyx":314 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_17nanmean_2d_int64_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_13nanmean_2d_float64_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":363 + /* "nanmean.pyx":342 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_19nanmean_2d_int64_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_15nanmean_2d_float64_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":386 + /* "nanmean.pyx":370 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanmean_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_21nanmean_1d_float_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_17nanmean_1d_float_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":406 + /* "nanmean.pyx":390 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanmean_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_23nanmean_1d_float32_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_19nanmean_1d_float32_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":426 + /* "nanmean.pyx":410 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanmean_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_25nanmean_1d_float64_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_21nanmean_1d_float64_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":446 + /* "nanmean.pyx":430 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanmean_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_27nanmean_2d_float_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_23nanmean_2d_float_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":468 + /* "nanmean.pyx":452 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanmean_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_29nanmean_2d_float32_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_25nanmean_2d_float32_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":490 + /* "nanmean.pyx":474 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanmean_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_31nanmean_2d_float64_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_27nanmean_2d_float64_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":512 + /* "nanmean.pyx":496 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_33nanmean_2d_float_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_29nanmean_1d_int_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":540 + /* "nanmean.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_31nanmean_1d_int8_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "nanmean.pyx":532 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanmean_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_33nanmean_1d_int32_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "nanmean.pyx":550 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanmean_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_35nanmean_2d_float_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_35nanmean_1d_int64_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":568 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_37nanmean_2d_float32_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_37nanmean_2d_int_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":596 + /* "nanmean.pyx":588 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_39nanmean_2d_float32_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_39nanmean_2d_int8_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":624 + /* "nanmean.pyx":608 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_41nanmean_2d_float64_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_41nanmean_2d_int32_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":652 + /* "nanmean.pyx":628 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_43nanmean_2d_float64_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_43nanmean_2d_int64_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":680 + /* "nanmean.pyx":648 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmean_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_45nanmean_1d_int_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_45nanmean_2d_int_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":698 + /* "nanmean.pyx":671 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmean_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_47nanmean_1d_int8_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_47nanmean_2d_int_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":716 + /* "nanmean.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmean_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_49nanmean_1d_int32_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_49nanmean_2d_int8_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":734 + /* "nanmean.pyx":717 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmean_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_51nanmean_1d_int64_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_51nanmean_2d_int8_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":752 + /* "nanmean.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmean_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_53nanmean_2d_int_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_53nanmean_2d_int32_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":772 + /* "nanmean.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmean_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_55nanmean_2d_int8_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_55nanmean_2d_int32_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":792 + /* "nanmean.pyx":786 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmean_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_57nanmean_2d_int32_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_57nanmean_2d_int64_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":812 + /* "nanmean.pyx":809 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmean_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_59nanmean_2d_int64_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_59nanmean_2d_int64_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":830 - * return np.float64(NAN) + * return y * * cdef dict nanmean_dict = {} # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int, 0)] = nanmean_2d_int_axis0 - * nanmean_dict[(2, NPY_int, 1)] = nanmean_2d_int_axis1 + * nanmean_dict[(2, NPY_float, 0)] = nanmean_2d_float_axis0 + * nanmean_dict[(2, NPY_float, 1)] = nanmean_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -18086,17 +18086,17 @@ PyMODINIT_FUNC PyInit_nanmean(void) /* "nanmean.pyx":831 * * cdef dict nanmean_dict = {} - * nanmean_dict[(2, NPY_int, 0)] = nanmean_2d_int_axis0 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int, 1)] = nanmean_2d_int_axis1 - * nanmean_dict[(2, NPY_int8, 0)] = nanmean_2d_int8_axis0 + * nanmean_dict[(2, NPY_float, 0)] = nanmean_2d_float_axis0 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float, 1)] = nanmean_2d_float_axis1 + * nanmean_dict[(2, NPY_float32, 0)] = nanmean_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18115,18 +18115,18 @@ PyMODINIT_FUNC PyInit_nanmean(void) /* "nanmean.pyx":832 * cdef dict nanmean_dict = {} - * nanmean_dict[(2, NPY_int, 0)] = nanmean_2d_int_axis0 - * nanmean_dict[(2, NPY_int, 1)] = nanmean_2d_int_axis1 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int8, 0)] = nanmean_2d_int8_axis0 - * nanmean_dict[(2, NPY_int8, 1)] = nanmean_2d_int8_axis1 + * nanmean_dict[(2, NPY_float, 0)] = nanmean_2d_float_axis0 + * nanmean_dict[(2, NPY_float, 1)] = nanmean_2d_float_axis1 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float32, 0)] = nanmean_2d_float32_axis0 + * nanmean_dict[(2, NPY_float32, 1)] = nanmean_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18144,19 +18144,19 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":833 - * nanmean_dict[(2, NPY_int, 0)] = nanmean_2d_int_axis0 - * nanmean_dict[(2, NPY_int, 1)] = nanmean_2d_int_axis1 - * nanmean_dict[(2, NPY_int8, 0)] = nanmean_2d_int8_axis0 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int8, 1)] = nanmean_2d_int8_axis1 - * nanmean_dict[(2, NPY_int32, 0)] = nanmean_2d_int32_axis0 + * nanmean_dict[(2, NPY_float, 0)] = nanmean_2d_float_axis0 + * nanmean_dict[(2, NPY_float, 1)] = nanmean_2d_float_axis1 + * nanmean_dict[(2, NPY_float32, 0)] = nanmean_2d_float32_axis0 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float32, 1)] = nanmean_2d_float32_axis1 + * nanmean_dict[(2, NPY_float64, 0)] = nanmean_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18174,19 +18174,19 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":834 - * nanmean_dict[(2, NPY_int, 1)] = nanmean_2d_int_axis1 - * nanmean_dict[(2, NPY_int8, 0)] = nanmean_2d_int8_axis0 - * nanmean_dict[(2, NPY_int8, 1)] = nanmean_2d_int8_axis1 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int32, 0)] = nanmean_2d_int32_axis0 - * nanmean_dict[(2, NPY_int32, 1)] = nanmean_2d_int32_axis1 + * nanmean_dict[(2, NPY_float, 1)] = nanmean_2d_float_axis1 + * nanmean_dict[(2, NPY_float32, 0)] = nanmean_2d_float32_axis0 + * nanmean_dict[(2, NPY_float32, 1)] = nanmean_2d_float32_axis1 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float64, 0)] = nanmean_2d_float64_axis0 + * nanmean_dict[(2, NPY_float64, 1)] = nanmean_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18204,19 +18204,19 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":835 - * nanmean_dict[(2, NPY_int8, 0)] = nanmean_2d_int8_axis0 - * nanmean_dict[(2, NPY_int8, 1)] = nanmean_2d_int8_axis1 - * nanmean_dict[(2, NPY_int32, 0)] = nanmean_2d_int32_axis0 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int32, 1)] = nanmean_2d_int32_axis1 - * nanmean_dict[(2, NPY_int64, 0)] = nanmean_2d_int64_axis0 + * nanmean_dict[(2, NPY_float32, 0)] = nanmean_2d_float32_axis0 + * nanmean_dict[(2, NPY_float32, 1)] = nanmean_2d_float32_axis1 + * nanmean_dict[(2, NPY_float64, 0)] = nanmean_2d_float64_axis0 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float64, 1)] = nanmean_2d_float64_axis1 + * nanmean_dict[(1, NPY_float, 0)] = nanmean_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18234,19 +18234,19 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":836 - * nanmean_dict[(2, NPY_int8, 1)] = nanmean_2d_int8_axis1 - * nanmean_dict[(2, NPY_int32, 0)] = nanmean_2d_int32_axis0 - * nanmean_dict[(2, NPY_int32, 1)] = nanmean_2d_int32_axis1 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int64, 0)] = nanmean_2d_int64_axis0 - * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 + * nanmean_dict[(2, NPY_float32, 1)] = nanmean_2d_float32_axis1 + * nanmean_dict[(2, NPY_float64, 0)] = nanmean_2d_float64_axis0 + * nanmean_dict[(2, NPY_float64, 1)] = nanmean_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float, 0)] = nanmean_1d_float_axisNone + * nanmean_dict[(1, NPY_float, None)] = nanmean_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18264,25 +18264,25 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":837 - * nanmean_dict[(2, NPY_int32, 0)] = nanmean_2d_int32_axis0 - * nanmean_dict[(2, NPY_int32, 1)] = nanmean_2d_int32_axis1 - * nanmean_dict[(2, NPY_int64, 0)] = nanmean_2d_int64_axis0 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 - * nanmean_dict[(1, NPY_float, 0)] = nanmean_1d_float_axisNone + * nanmean_dict[(2, NPY_float64, 0)] = nanmean_2d_float64_axis0 + * nanmean_dict[(2, NPY_float64, 1)] = nanmean_2d_float64_axis1 + * nanmean_dict[(1, NPY_float, 0)] = nanmean_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float, None)] = nanmean_1d_float_axisNone + * nanmean_dict[(1, NPY_float32, 0)] = nanmean_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -18294,49 +18294,49 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":838 - * nanmean_dict[(2, NPY_int32, 1)] = nanmean_2d_int32_axis1 - * nanmean_dict[(2, NPY_int64, 0)] = nanmean_2d_int64_axis0 - * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float64, 1)] = nanmean_2d_float64_axis1 * nanmean_dict[(1, NPY_float, 0)] = nanmean_1d_float_axisNone - * nanmean_dict[(1, NPY_float, None)] = nanmean_1d_float_axisNone + * nanmean_dict[(1, NPY_float, None)] = nanmean_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float32, 0)] = nanmean_1d_float32_axisNone + * nanmean_dict[(1, NPY_float32, None)] = nanmean_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":839 - * nanmean_dict[(2, NPY_int64, 0)] = nanmean_2d_int64_axis0 - * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 - * nanmean_dict[(1, NPY_float, 0)] = nanmean_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float, 0)] = nanmean_1d_float_axisNone * nanmean_dict[(1, NPY_float, None)] = nanmean_1d_float_axisNone - * nanmean_dict[(1, NPY_float32, 0)] = nanmean_1d_float32_axisNone + * nanmean_dict[(1, NPY_float32, 0)] = nanmean_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float32, None)] = nanmean_1d_float32_axisNone + * nanmean_dict[(1, NPY_float64, 0)] = nanmean_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18354,19 +18354,19 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":840 - * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 - * nanmean_dict[(1, NPY_float, 0)] = nanmean_1d_float_axisNone - * nanmean_dict[(1, NPY_float, None)] = nanmean_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float, None)] = nanmean_1d_float_axisNone * nanmean_dict[(1, NPY_float32, 0)] = nanmean_1d_float32_axisNone - * nanmean_dict[(1, NPY_float32, None)] = nanmean_1d_float32_axisNone + * nanmean_dict[(1, NPY_float32, None)] = nanmean_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float64, 0)] = nanmean_1d_float64_axisNone + * nanmean_dict[(1, NPY_float64, None)] = nanmean_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18384,19 +18384,19 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":841 - * nanmean_dict[(1, NPY_float, 0)] = nanmean_1d_float_axisNone - * nanmean_dict[(1, NPY_float, None)] = nanmean_1d_float_axisNone - * nanmean_dict[(1, NPY_float32, 0)] = nanmean_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float32, 0)] = nanmean_1d_float32_axisNone * nanmean_dict[(1, NPY_float32, None)] = nanmean_1d_float32_axisNone - * nanmean_dict[(1, NPY_float64, 0)] = nanmean_1d_float64_axisNone + * nanmean_dict[(1, NPY_float64, 0)] = nanmean_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float64, None)] = nanmean_1d_float64_axisNone + * nanmean_dict[(2, NPY_float, None)] = nanmean_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18414,19 +18414,19 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":842 - * nanmean_dict[(1, NPY_float, None)] = nanmean_1d_float_axisNone - * nanmean_dict[(1, NPY_float32, 0)] = nanmean_1d_float32_axisNone - * nanmean_dict[(1, NPY_float32, None)] = nanmean_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float32, None)] = nanmean_1d_float32_axisNone * nanmean_dict[(1, NPY_float64, 0)] = nanmean_1d_float64_axisNone - * nanmean_dict[(1, NPY_float64, None)] = nanmean_1d_float64_axisNone + * nanmean_dict[(1, NPY_float64, None)] = nanmean_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float, None)] = nanmean_2d_float_axisNone + * nanmean_dict[(2, NPY_float32, None)] = nanmean_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18444,55 +18444,55 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":843 - * nanmean_dict[(1, NPY_float32, 0)] = nanmean_1d_float32_axisNone - * nanmean_dict[(1, NPY_float32, None)] = nanmean_1d_float32_axisNone - * nanmean_dict[(1, NPY_float64, 0)] = nanmean_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float64, 0)] = nanmean_1d_float64_axisNone * nanmean_dict[(1, NPY_float64, None)] = nanmean_1d_float64_axisNone - * nanmean_dict[(2, NPY_float, None)] = nanmean_2d_float_axisNone + * nanmean_dict[(2, NPY_float, None)] = nanmean_2d_float_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float32, None)] = nanmean_2d_float32_axisNone + * nanmean_dict[(2, NPY_float64, None)] = nanmean_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":844 - * nanmean_dict[(1, NPY_float32, None)] = nanmean_1d_float32_axisNone - * nanmean_dict[(1, NPY_float64, 0)] = nanmean_1d_float64_axisNone - * nanmean_dict[(1, NPY_float64, None)] = nanmean_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float64, None)] = nanmean_1d_float64_axisNone * nanmean_dict[(2, NPY_float, None)] = nanmean_2d_float_axisNone - * nanmean_dict[(2, NPY_float32, None)] = nanmean_2d_float32_axisNone + * nanmean_dict[(2, NPY_float32, None)] = nanmean_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float64, None)] = nanmean_2d_float64_axisNone + * nanmean_dict[(1, NPY_int, 0)] = nanmean_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -18504,19 +18504,19 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":845 - * nanmean_dict[(1, NPY_float64, 0)] = nanmean_1d_float64_axisNone - * nanmean_dict[(1, NPY_float64, None)] = nanmean_1d_float64_axisNone - * nanmean_dict[(2, NPY_float, None)] = nanmean_2d_float_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float, None)] = nanmean_2d_float_axisNone * nanmean_dict[(2, NPY_float32, None)] = nanmean_2d_float32_axisNone - * nanmean_dict[(2, NPY_float64, None)] = nanmean_2d_float64_axisNone + * nanmean_dict[(2, NPY_float64, None)] = nanmean_2d_float64_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_int, 0)] = nanmean_1d_int_axisNone + * nanmean_dict[(1, NPY_int, None)] = nanmean_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18534,55 +18534,55 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":846 - * nanmean_dict[(1, NPY_float64, None)] = nanmean_1d_float64_axisNone - * nanmean_dict[(2, NPY_float, None)] = nanmean_2d_float_axisNone - * nanmean_dict[(2, NPY_float32, None)] = nanmean_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float32, None)] = nanmean_2d_float32_axisNone * nanmean_dict[(2, NPY_float64, None)] = nanmean_2d_float64_axisNone - * nanmean_dict[(2, NPY_float, 0)] = nanmean_2d_float_axis0 + * nanmean_dict[(1, NPY_int, 0)] = nanmean_1d_int_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_int, None)] = nanmean_1d_int_axisNone + * nanmean_dict[(1, NPY_int8, 0)] = nanmean_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":847 - * nanmean_dict[(2, NPY_float, None)] = nanmean_2d_float_axisNone - * nanmean_dict[(2, NPY_float32, None)] = nanmean_2d_float32_axisNone - * nanmean_dict[(2, NPY_float64, None)] = nanmean_2d_float64_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_float, 0)] = nanmean_2d_float_axis0 - * nanmean_dict[(2, NPY_float, 1)] = nanmean_2d_float_axis1 + * nanmean_dict[(2, NPY_float64, None)] = nanmean_2d_float64_axisNone + * nanmean_dict[(1, NPY_int, 0)] = nanmean_1d_int_axisNone + * nanmean_dict[(1, NPY_int, None)] = nanmean_1d_int_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_int8, 0)] = nanmean_1d_int8_axisNone + * nanmean_dict[(1, NPY_int8, None)] = nanmean_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -18594,25 +18594,25 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":848 - * nanmean_dict[(2, NPY_float32, None)] = nanmean_2d_float32_axisNone - * nanmean_dict[(2, NPY_float64, None)] = nanmean_2d_float64_axisNone - * nanmean_dict[(2, NPY_float, 0)] = nanmean_2d_float_axis0 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_float, 1)] = nanmean_2d_float_axis1 - * nanmean_dict[(2, NPY_float32, 0)] = nanmean_2d_float32_axis0 + * nanmean_dict[(1, NPY_int, 0)] = nanmean_1d_int_axisNone + * nanmean_dict[(1, NPY_int, None)] = nanmean_1d_int_axisNone + * nanmean_dict[(1, NPY_int8, 0)] = nanmean_1d_int8_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_int8, None)] = nanmean_1d_int8_axisNone + * nanmean_dict[(1, NPY_int32, 0)] = nanmean_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -18624,55 +18624,55 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":849 - * nanmean_dict[(2, NPY_float64, None)] = nanmean_2d_float64_axisNone - * nanmean_dict[(2, NPY_float, 0)] = nanmean_2d_float_axis0 - * nanmean_dict[(2, NPY_float, 1)] = nanmean_2d_float_axis1 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_float32, 0)] = nanmean_2d_float32_axis0 - * nanmean_dict[(2, NPY_float32, 1)] = nanmean_2d_float32_axis1 + * nanmean_dict[(1, NPY_int, None)] = nanmean_1d_int_axisNone + * nanmean_dict[(1, NPY_int8, 0)] = nanmean_1d_int8_axisNone + * nanmean_dict[(1, NPY_int8, None)] = nanmean_1d_int8_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_int32, 0)] = nanmean_1d_int32_axisNone + * nanmean_dict[(1, NPY_int32, None)] = nanmean_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":850 - * nanmean_dict[(2, NPY_float, 0)] = nanmean_2d_float_axis0 - * nanmean_dict[(2, NPY_float, 1)] = nanmean_2d_float_axis1 - * nanmean_dict[(2, NPY_float32, 0)] = nanmean_2d_float32_axis0 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_float32, 1)] = nanmean_2d_float32_axis1 - * nanmean_dict[(2, NPY_float64, 0)] = nanmean_2d_float64_axis0 + * nanmean_dict[(1, NPY_int8, 0)] = nanmean_1d_int8_axisNone + * nanmean_dict[(1, NPY_int8, None)] = nanmean_1d_int8_axisNone + * nanmean_dict[(1, NPY_int32, 0)] = nanmean_1d_int32_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_int32, None)] = nanmean_1d_int32_axisNone + * nanmean_dict[(1, NPY_int64, 0)] = nanmean_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -18684,55 +18684,55 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":851 - * nanmean_dict[(2, NPY_float, 1)] = nanmean_2d_float_axis1 - * nanmean_dict[(2, NPY_float32, 0)] = nanmean_2d_float32_axis0 - * nanmean_dict[(2, NPY_float32, 1)] = nanmean_2d_float32_axis1 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_float64, 0)] = nanmean_2d_float64_axis0 - * nanmean_dict[(2, NPY_float64, 1)] = nanmean_2d_float64_axis1 + * nanmean_dict[(1, NPY_int8, None)] = nanmean_1d_int8_axisNone + * nanmean_dict[(1, NPY_int32, 0)] = nanmean_1d_int32_axisNone + * nanmean_dict[(1, NPY_int32, None)] = nanmean_1d_int32_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_int64, 0)] = nanmean_1d_int64_axisNone + * nanmean_dict[(1, NPY_int64, None)] = nanmean_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":852 - * nanmean_dict[(2, NPY_float32, 0)] = nanmean_2d_float32_axis0 - * nanmean_dict[(2, NPY_float32, 1)] = nanmean_2d_float32_axis1 - * nanmean_dict[(2, NPY_float64, 0)] = nanmean_2d_float64_axis0 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_float64, 1)] = nanmean_2d_float64_axis1 - * nanmean_dict[(1, NPY_int, 0)] = nanmean_1d_int_axisNone + * nanmean_dict[(1, NPY_int32, 0)] = nanmean_1d_int32_axisNone + * nanmean_dict[(1, NPY_int32, None)] = nanmean_1d_int32_axisNone + * nanmean_dict[(1, NPY_int64, 0)] = nanmean_1d_int64_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_int64, None)] = nanmean_1d_int64_axisNone + * nanmean_dict[(2, NPY_int, None)] = nanmean_2d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -18744,43 +18744,43 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":853 - * nanmean_dict[(2, NPY_float32, 1)] = nanmean_2d_float32_axis1 - * nanmean_dict[(2, NPY_float64, 0)] = nanmean_2d_float64_axis0 - * nanmean_dict[(2, NPY_float64, 1)] = nanmean_2d_float64_axis1 # <<<<<<<<<<<<<< - * nanmean_dict[(1, NPY_int, 0)] = nanmean_1d_int_axisNone - * nanmean_dict[(1, NPY_int, None)] = nanmean_1d_int_axisNone + * nanmean_dict[(1, NPY_int32, None)] = nanmean_1d_int32_axisNone + * nanmean_dict[(1, NPY_int64, 0)] = nanmean_1d_int64_axisNone + * nanmean_dict[(1, NPY_int64, None)] = nanmean_1d_int64_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int, None)] = nanmean_2d_int_axisNone + * nanmean_dict[(2, NPY_int8, None)] = nanmean_2d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":854 - * nanmean_dict[(2, NPY_float64, 0)] = nanmean_2d_float64_axis0 - * nanmean_dict[(2, NPY_float64, 1)] = nanmean_2d_float64_axis1 - * nanmean_dict[(1, NPY_int, 0)] = nanmean_1d_int_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(1, NPY_int, None)] = nanmean_1d_int_axisNone - * nanmean_dict[(1, NPY_int8, 0)] = nanmean_1d_int8_axisNone + * nanmean_dict[(1, NPY_int64, 0)] = nanmean_1d_int64_axisNone + * nanmean_dict[(1, NPY_int64, None)] = nanmean_1d_int64_axisNone + * nanmean_dict[(2, NPY_int, None)] = nanmean_2d_int_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int8, None)] = nanmean_2d_int8_axisNone + * nanmean_dict[(2, NPY_int32, None)] = nanmean_2d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -18790,39 +18790,39 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":855 - * nanmean_dict[(2, NPY_float64, 1)] = nanmean_2d_float64_axis1 - * nanmean_dict[(1, NPY_int, 0)] = nanmean_1d_int_axisNone - * nanmean_dict[(1, NPY_int, None)] = nanmean_1d_int_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(1, NPY_int8, 0)] = nanmean_1d_int8_axisNone - * nanmean_dict[(1, NPY_int8, None)] = nanmean_1d_int8_axisNone + * nanmean_dict[(1, NPY_int64, None)] = nanmean_1d_int64_axisNone + * nanmean_dict[(2, NPY_int, None)] = nanmean_2d_int_axisNone + * nanmean_dict[(2, NPY_int8, None)] = nanmean_2d_int8_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int32, None)] = nanmean_2d_int32_axisNone + * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -18834,55 +18834,55 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":856 - * nanmean_dict[(1, NPY_int, 0)] = nanmean_1d_int_axisNone - * nanmean_dict[(1, NPY_int, None)] = nanmean_1d_int_axisNone - * nanmean_dict[(1, NPY_int8, 0)] = nanmean_1d_int8_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(1, NPY_int8, None)] = nanmean_1d_int8_axisNone - * nanmean_dict[(1, NPY_int32, 0)] = nanmean_1d_int32_axisNone + * nanmean_dict[(2, NPY_int, None)] = nanmean_2d_int_axisNone + * nanmean_dict[(2, NPY_int8, None)] = nanmean_2d_int8_axisNone + * nanmean_dict[(2, NPY_int32, None)] = nanmean_2d_int32_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone + * nanmean_dict[(2, NPY_int, 0)] = nanmean_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":857 - * nanmean_dict[(1, NPY_int, None)] = nanmean_1d_int_axisNone - * nanmean_dict[(1, NPY_int8, 0)] = nanmean_1d_int8_axisNone - * nanmean_dict[(1, NPY_int8, None)] = nanmean_1d_int8_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(1, NPY_int32, 0)] = nanmean_1d_int32_axisNone - * nanmean_dict[(1, NPY_int32, None)] = nanmean_1d_int32_axisNone + * nanmean_dict[(2, NPY_int8, None)] = nanmean_2d_int8_axisNone + * nanmean_dict[(2, NPY_int32, None)] = nanmean_2d_int32_axisNone + * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int, 0)] = nanmean_2d_int_axis0 + * nanmean_dict[(2, NPY_int, 1)] = nanmean_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -18894,25 +18894,25 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":858 - * nanmean_dict[(1, NPY_int8, 0)] = nanmean_1d_int8_axisNone - * nanmean_dict[(1, NPY_int8, None)] = nanmean_1d_int8_axisNone - * nanmean_dict[(1, NPY_int32, 0)] = nanmean_1d_int32_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(1, NPY_int32, None)] = nanmean_1d_int32_axisNone - * nanmean_dict[(1, NPY_int64, 0)] = nanmean_1d_int64_axisNone + * nanmean_dict[(2, NPY_int32, None)] = nanmean_2d_int32_axisNone + * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone + * nanmean_dict[(2, NPY_int, 0)] = nanmean_2d_int_axis0 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int, 1)] = nanmean_2d_int_axis1 + * nanmean_dict[(2, NPY_int8, 0)] = nanmean_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -18924,55 +18924,55 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":859 - * nanmean_dict[(1, NPY_int8, None)] = nanmean_1d_int8_axisNone - * nanmean_dict[(1, NPY_int32, 0)] = nanmean_1d_int32_axisNone - * nanmean_dict[(1, NPY_int32, None)] = nanmean_1d_int32_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(1, NPY_int64, 0)] = nanmean_1d_int64_axisNone - * nanmean_dict[(1, NPY_int64, None)] = nanmean_1d_int64_axisNone + * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone + * nanmean_dict[(2, NPY_int, 0)] = nanmean_2d_int_axis0 + * nanmean_dict[(2, NPY_int, 1)] = nanmean_2d_int_axis1 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int8, 0)] = nanmean_2d_int8_axis0 + * nanmean_dict[(2, NPY_int8, 1)] = nanmean_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":860 - * nanmean_dict[(1, NPY_int32, 0)] = nanmean_1d_int32_axisNone - * nanmean_dict[(1, NPY_int32, None)] = nanmean_1d_int32_axisNone - * nanmean_dict[(1, NPY_int64, 0)] = nanmean_1d_int64_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(1, NPY_int64, None)] = nanmean_1d_int64_axisNone - * nanmean_dict[(2, NPY_int, None)] = nanmean_2d_int_axisNone + * nanmean_dict[(2, NPY_int, 0)] = nanmean_2d_int_axis0 + * nanmean_dict[(2, NPY_int, 1)] = nanmean_2d_int_axis1 + * nanmean_dict[(2, NPY_int8, 0)] = nanmean_2d_int8_axis0 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int8, 1)] = nanmean_2d_int8_axis1 + * nanmean_dict[(2, NPY_int32, 0)] = nanmean_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -18984,49 +18984,49 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":861 - * nanmean_dict[(1, NPY_int32, None)] = nanmean_1d_int32_axisNone - * nanmean_dict[(1, NPY_int64, 0)] = nanmean_1d_int64_axisNone - * nanmean_dict[(1, NPY_int64, None)] = nanmean_1d_int64_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int, None)] = nanmean_2d_int_axisNone - * nanmean_dict[(2, NPY_int8, None)] = nanmean_2d_int8_axisNone + * nanmean_dict[(2, NPY_int, 1)] = nanmean_2d_int_axis1 + * nanmean_dict[(2, NPY_int8, 0)] = nanmean_2d_int8_axis0 + * nanmean_dict[(2, NPY_int8, 1)] = nanmean_2d_int8_axis1 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int32, 0)] = nanmean_2d_int32_axis0 + * nanmean_dict[(2, NPY_int32, 1)] = nanmean_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":862 - * nanmean_dict[(1, NPY_int64, 0)] = nanmean_1d_int64_axisNone - * nanmean_dict[(1, NPY_int64, None)] = nanmean_1d_int64_axisNone - * nanmean_dict[(2, NPY_int, None)] = nanmean_2d_int_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int8, None)] = nanmean_2d_int8_axisNone - * nanmean_dict[(2, NPY_int32, None)] = nanmean_2d_int32_axisNone + * nanmean_dict[(2, NPY_int8, 0)] = nanmean_2d_int8_axis0 + * nanmean_dict[(2, NPY_int8, 1)] = nanmean_2d_int8_axis1 + * nanmean_dict[(2, NPY_int32, 0)] = nanmean_2d_int32_axis0 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int32, 1)] = nanmean_2d_int32_axis1 + * nanmean_dict[(2, NPY_int64, 0)] = nanmean_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19035,28 +19035,28 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":863 - * nanmean_dict[(1, NPY_int64, None)] = nanmean_1d_int64_axisNone - * nanmean_dict[(2, NPY_int, None)] = nanmean_2d_int_axisNone - * nanmean_dict[(2, NPY_int8, None)] = nanmean_2d_int8_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int32, None)] = nanmean_2d_int32_axisNone - * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone + * nanmean_dict[(2, NPY_int8, 1)] = nanmean_2d_int8_axis1 + * nanmean_dict[(2, NPY_int32, 0)] = nanmean_2d_int32_axis0 + * nanmean_dict[(2, NPY_int32, 1)] = nanmean_2d_int32_axis1 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int64, 0)] = nanmean_2d_int64_axis0 + * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19065,28 +19065,28 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":864 - * nanmean_dict[(2, NPY_int, None)] = nanmean_2d_int_axisNone - * nanmean_dict[(2, NPY_int8, None)] = nanmean_2d_int8_axisNone - * nanmean_dict[(2, NPY_int32, None)] = nanmean_2d_int32_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone + * nanmean_dict[(2, NPY_int32, 0)] = nanmean_2d_int32_axis0 + * nanmean_dict[(2, NPY_int32, 1)] = nanmean_2d_int32_axis1 + * nanmean_dict[(2, NPY_int64, 0)] = nanmean_2d_int64_axis0 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19095,22 +19095,22 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":865 - * nanmean_dict[(2, NPY_int8, None)] = nanmean_2d_int8_axisNone - * nanmean_dict[(2, NPY_int32, None)] = nanmean_2d_int32_axisNone - * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int32, 1)] = nanmean_2d_int32_axis1 + * nanmean_dict[(2, NPY_int64, 0)] = nanmean_2d_int64_axis0 + * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nanmean_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -19125,16 +19125,16 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":867 - * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone + * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 * * def nanmean_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmean along axis 0." @@ -20108,7 +20108,7 @@ PyMODINIT_FUNC PyInit_nanmean(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/nanmin.c b/bottlechest/src/func/32bit/nanmin.c index 6e34b57a6b..9d60bf59e5 100644 --- a/bottlechest/src/func/32bit/nanmin.c +++ b/bottlechest/src/func/32bit/nanmin.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1104,13 +1104,13 @@ static __pyx_t_5numpy_float32_t __pyx_v_6nanmin_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_6nanmin_MAXfloat64; static PyObject *__pyx_v_6nanmin_nanmin_dict = 0; static PyObject *__pyx_v_6nanmin_nanmin_slow_dict = 0; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "nanmin" int __pyx_module_is_main_nanmin = 0; @@ -1122,34 +1122,34 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_6nanmin_nanmin(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_6nanmin_2nanmin_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_16nanmin_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_18nanmin_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_22nanmin_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_24nanmin_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_28nanmin_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_30nanmin_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_32nanmin_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_34nanmin_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_36nanmin_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_38nanmin_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_40nanmin_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_42nanmin_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_44nanmin_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_46nanmin_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_48nanmin_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_50nanmin_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_52nanmin_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_54nanmin_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_56nanmin_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_58nanmin_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_4nanmin_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_6nanmin_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_8nanmin_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_10nanmin_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_12nanmin_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_14nanmin_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_16nanmin_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_18nanmin_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_22nanmin_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_24nanmin_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_28nanmin_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_30nanmin_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_32nanmin_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_34nanmin_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_36nanmin_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_38nanmin_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_40nanmin_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_42nanmin_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_44nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_46nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_48nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_50nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_52nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_54nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_56nanmin_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_58nanmin_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_6nanmin_60nanmin_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6nanmin_62nanmin_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6nanmin_64nanmin_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1328,17 +1328,16 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Minimum_values_along_specified[] = "\n Minimum values along specified axis, ignoring NaNs.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}, optional\n Axis along which the minimum is computed. The default (axis=None) is\n to compute the minimum of the flattened array.\n\n Returns\n -------\n y : ndarray\n An array with the same shape as `arr`, with the specified axis removed.\n If `arr` is a 0-d array, or if axis is None, a scalar is returned.\n\n See also\n --------\n bottlechest.nanmax: Maximum along specified axis, ignoring NaNs.\n bottlechest.nanargmin: Indices of minimum values along axis, ignoring NaNs. \n\n Examples\n --------\n >>> bn.nanmin(1)\n 1\n >>> bn.nanmin([1])\n 1\n >>> bn.nanmin([1, np.nan])\n 1.0\n >>> a = np.array([[1, 4], [1, np.nan]])\n >>> bn.nanmin(a)\n 1.0\n >>> bn.nanmin(a, axis=0)\n array([ 1., 4.])\n \n "; static char __pyx_k_Return_nanmin_function_and_arra[] = "\n Return nanmin function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in bn.nanmin()\n is in checking that `axis` is within range, converting `arr` into an\n array (if it is not already an array), and selecting the function to use\n to calculate the minimum.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the minimum is to be computed.\n \n Returns\n -------\n func : function\n The nanmin function that matches the number of dimensions and\n dtype of the input array and the axis along which you wish to find\n the minimum.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine the minimum of `arr` along\n axis=0:\n\n >>> func, a = bn.func.nanmin_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the minimum:\n \n >>> func(a)\n 1.0\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/nanmin.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_numpy_nanmin_raises_on_a_size_0[] = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\nanmin.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_numpy_nanmin_raises_on_a_shape_a[] = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does."; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1352,6 +1351,7 @@ static PyObject *__pyx_kp_u_Return_nanmin_function_and_arra; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__7; static PyObject *__pyx_n_s_a; @@ -2459,24 +2459,24 @@ static PyObject *__pyx_pf_6nanmin_2nanmin_selector(CYTHON_UNUSED PyObject *__pyx /* "nanmin.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=0 ignoring NaNs." + * def nanmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_5nanmin_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_4nanmin_2d_int_axis0[] = "nanmin_2d_int_axis0(ndarray a)\nMinimum of 2d array with dtype=int along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_5nanmin_2d_int_axis0 = {"nanmin_2d_int_axis0", (PyCFunction)__pyx_pw_6nanmin_5nanmin_2d_int_axis0, METH_O, __pyx_doc_6nanmin_4nanmin_2d_int_axis0}; -static PyObject *__pyx_pw_6nanmin_5nanmin_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_5nanmin_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_4nanmin_2d_float_axis0[] = "nanmin_2d_float_axis0(ndarray a)\nMinimum of 2d array with dtype=float along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_5nanmin_2d_float_axis0 = {"nanmin_2d_float_axis0", (PyCFunction)__pyx_pw_6nanmin_5nanmin_2d_float_axis0, METH_O, __pyx_doc_6nanmin_4nanmin_2d_float_axis0}; +static PyObject *__pyx_pw_6nanmin_5nanmin_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanmin_2d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_4nanmin_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6nanmin_4nanmin_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2487,10 +2487,10 @@ static PyObject *__pyx_pw_6nanmin_5nanmin_2d_int_axis0(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amin; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_4nanmin_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amin; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2519,7 +2519,7 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("nanmin_2d_float_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2530,15 +2530,15 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanmin.pyx":185 - * def nanmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Minimum of 2d array with dtype=int along axis=0 ignoring NaNs." + * def nanmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Minimum of 2d array with dtype=float along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amin, ai + * cdef np.float_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; @@ -2566,7 +2566,7 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -2574,8 +2574,8 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; @@ -2583,17 +2583,17 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "nanmin.pyx":193 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -2604,8 +2604,8 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_t_2 = 0; /* "nanmin.pyx":195 - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -2614,7 +2614,7 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ if (__pyx_t_4) { /* "nanmin.pyx":196 - * NPY_int, 0) + * NPY_float, 0) * if n0 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -2628,7 +2628,7 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1): - * amin = MAXint + * amin = MAXfloat */ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -2647,8 +2647,8 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i1 in range(n1): # <<<<<<<<<<<<<< - * amin = MAXint - * for i0 in range(n0): + * amin = MAXfloat + * allnan = 1 */ __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { @@ -2657,15 +2657,24 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "nanmin.pyx":199 * raise ValueError(msg) * for i1 in range(n1): - * amin = MAXint # <<<<<<<<<<<<<< + * amin = MAXfloat # <<<<<<<<<<<<<< + * allnan = 1 * for i0 in range(n0): - * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat; /* "nanmin.pyx":200 * for i1 in range(n1): - * amin = MAXint + * amin = MAXfloat + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmin.pyx":201 + * amin = MAXfloat + * allnan = 1 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -2674,8 +2683,8 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "nanmin.pyx":201 - * amin = MAXint + /* "nanmin.pyx":202 + * allnan = 1 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -2683,45 +2692,79 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":202 + /* "nanmin.pyx":203 * for i0 in range(n0): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * y[i1] = amin + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":203 + /* "nanmin.pyx":204 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * y[i1] = amin - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amin = __pyx_v_ai; + + /* "nanmin.pyx":205 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = amin + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmin.pyx":204 - * if ai <= amin: + /* "nanmin.pyx":206 * amin = ai - * y[i1] = amin # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = amin + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":207 + * allnan = 0 + * if allnan == 0: + * y[i1] = amin # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmin.pyx":209 + * y[i1] = amin + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + __pyx_t_9 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; + } + __pyx_L9:; } - /* "nanmin.pyx":205 - * amin = ai - * y[i1] = amin + /* "nanmin.pyx":210 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2734,8 +2777,8 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "nanmin.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=0 ignoring NaNs." + * def nanmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -2748,7 +2791,7 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2762,27 +2805,27 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "nanmin.pyx":209 +/* "nanmin.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=1 ignoring NaNs." + * def nanmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_7nanmin_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_6nanmin_2d_int_axis1[] = "nanmin_2d_int_axis1(ndarray a)\nMinimum of 2d array with dtype=int along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_7nanmin_2d_int_axis1 = {"nanmin_2d_int_axis1", (PyCFunction)__pyx_pw_6nanmin_7nanmin_2d_int_axis1, METH_O, __pyx_doc_6nanmin_6nanmin_2d_int_axis1}; -static PyObject *__pyx_pw_6nanmin_7nanmin_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_7nanmin_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_6nanmin_2d_float_axis1[] = "nanmin_2d_float_axis1(ndarray a)\nMinimum of 2d array with dtype=float along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_7nanmin_2d_float_axis1 = {"nanmin_2d_float_axis1", (PyCFunction)__pyx_pw_6nanmin_7nanmin_2d_float_axis1, METH_O, __pyx_doc_6nanmin_6nanmin_2d_float_axis1}; +static PyObject *__pyx_pw_6nanmin_7nanmin_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_6nanmin_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_float_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_6nanmin_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2793,10 +2836,10 @@ static PyObject *__pyx_pw_6nanmin_7nanmin_2d_int_axis1(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amin; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_6nanmin_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amin; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2825,7 +2868,7 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("nanmin_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2836,20 +2879,20 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":211 - * def nanmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Minimum of 2d array with dtype=int along axis=1 ignoring NaNs." + /* "nanmin.pyx":216 + * def nanmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Minimum of 2d array with dtype=float along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amin, ai + * cdef np.float_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":215 + /* "nanmin.pyx":220 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2858,7 +2901,7 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":216 + /* "nanmin.pyx":221 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2867,41 +2910,41 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":217 + /* "nanmin.pyx":222 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":218 + /* "nanmin.pyx":223 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":219 + /* "nanmin.pyx":224 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2909,9 +2952,9 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":221 - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + /* "nanmin.pyx":226 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -2919,8 +2962,8 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":222 - * NPY_int, 0) + /* "nanmin.pyx":227 + * NPY_float, 0) * if n1 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -2929,49 +2972,58 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; - /* "nanmin.pyx":223 + /* "nanmin.pyx":228 * if n1 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): - * amin = MAXint + * amin = MAXfloat */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":224 + /* "nanmin.pyx":229 * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i0 in range(n0): # <<<<<<<<<<<<<< - * amin = MAXint - * for i1 in range(n1): + * amin = MAXfloat + * allnan = 1 */ __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanmin.pyx":225 + /* "nanmin.pyx":230 * raise ValueError(msg) * for i0 in range(n0): - * amin = MAXint # <<<<<<<<<<<<<< + * amin = MAXfloat # <<<<<<<<<<<<<< + * allnan = 1 * for i1 in range(n1): - * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat; - /* "nanmin.pyx":226 + /* "nanmin.pyx":231 * for i0 in range(n0): - * amin = MAXint + * amin = MAXfloat + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmin.pyx":232 + * amin = MAXfloat + * allnan = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -2980,8 +3032,8 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i1 = __pyx_t_9; - /* "nanmin.pyx":227 - * amin = MAXint + /* "nanmin.pyx":233 + * allnan = 1 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -2989,45 +3041,79 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":228 + /* "nanmin.pyx":234 * for i1 in range(n1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * y[i0] = amin + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":229 + /* "nanmin.pyx":235 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * y[i0] = amin - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amin = __pyx_v_ai; + + /* "nanmin.pyx":236 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = amin + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmin.pyx":230 - * if ai <= amin: + /* "nanmin.pyx":237 * amin = ai - * y[i0] = amin # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = amin + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":238 + * allnan = 0 + * if allnan == 0: + * y[i0] = amin # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmin.pyx":240 + * y[i0] = amin + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + __pyx_t_9 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; + } + __pyx_L9:; } - /* "nanmin.pyx":231 - * amin = ai - * y[i0] = amin + /* "nanmin.pyx":241 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3037,11 +3123,11 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":209 + /* "nanmin.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=1 ignoring NaNs." + * def nanmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -3054,7 +3140,7 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3068,27 +3154,27 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "nanmin.pyx":235 +/* "nanmin.pyx":245 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * def nanmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_9nanmin_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_8nanmin_2d_int8_axis0[] = "nanmin_2d_int8_axis0(ndarray a)\nMinimum of 2d array with dtype=int8 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_9nanmin_2d_int8_axis0 = {"nanmin_2d_int8_axis0", (PyCFunction)__pyx_pw_6nanmin_9nanmin_2d_int8_axis0, METH_O, __pyx_doc_6nanmin_8nanmin_2d_int8_axis0}; -static PyObject *__pyx_pw_6nanmin_9nanmin_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_9nanmin_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_8nanmin_2d_float32_axis0[] = "nanmin_2d_float32_axis0(ndarray a)\nMinimum of 2d array with dtype=float32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_9nanmin_2d_float32_axis0 = {"nanmin_2d_float32_axis0", (PyCFunction)__pyx_pw_6nanmin_9nanmin_2d_float32_axis0, METH_O, __pyx_doc_6nanmin_8nanmin_2d_float32_axis0}; +static PyObject *__pyx_pw_6nanmin_9nanmin_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_8nanmin_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_8nanmin_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3099,10 +3185,10 @@ static PyObject *__pyx_pw_6nanmin_9nanmin_2d_int8_axis0(PyObject *__pyx_self, Py return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amin; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_8nanmin_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amin; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3131,7 +3217,7 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nanmin_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3142,20 +3228,20 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":237 - * def nanmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Minimum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + /* "nanmin.pyx":247 + * def nanmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Minimum of 2d array with dtype=float32 along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amin, ai + * cdef np.float32_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":241 + /* "nanmin.pyx":251 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3164,7 +3250,7 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":242 + /* "nanmin.pyx":252 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3173,41 +3259,41 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":243 + /* "nanmin.pyx":253 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":244 + /* "nanmin.pyx":254 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":245 + /* "nanmin.pyx":255 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3215,9 +3301,9 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":247 - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + /* "nanmin.pyx":257 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -3225,8 +3311,8 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":248 - * NPY_int8, 0) + /* "nanmin.pyx":258 + * NPY_float32, 0) * if n0 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -3235,49 +3321,58 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; - /* "nanmin.pyx":249 + /* "nanmin.pyx":259 * if n0 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1): - * amin = MAXint8 + * amin = MAXfloat32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":250 + /* "nanmin.pyx":260 * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i1 in range(n1): # <<<<<<<<<<<<<< - * amin = MAXint8 - * for i0 in range(n0): + * amin = MAXfloat32 + * allnan = 1 */ __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":251 + /* "nanmin.pyx":261 * raise ValueError(msg) * for i1 in range(n1): - * amin = MAXint8 # <<<<<<<<<<<<<< + * amin = MAXfloat32 # <<<<<<<<<<<<<< + * allnan = 1 * for i0 in range(n0): - * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint8; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat32; - /* "nanmin.pyx":252 + /* "nanmin.pyx":262 * for i1 in range(n1): - * amin = MAXint8 + * amin = MAXfloat32 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmin.pyx":263 + * amin = MAXfloat32 + * allnan = 1 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -3286,8 +3381,8 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "nanmin.pyx":253 - * amin = MAXint8 + /* "nanmin.pyx":264 + * allnan = 1 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -3295,45 +3390,79 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":254 + /* "nanmin.pyx":265 * for i0 in range(n0): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * y[i1] = amin + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":255 + /* "nanmin.pyx":266 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * y[i1] = amin - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amin = __pyx_v_ai; + + /* "nanmin.pyx":267 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = amin + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmin.pyx":256 - * if ai <= amin: + /* "nanmin.pyx":268 * amin = ai - * y[i1] = amin # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = amin + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":269 + * allnan = 0 + * if allnan == 0: + * y[i1] = amin # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmin.pyx":271 + * y[i1] = amin + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + __pyx_t_9 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; + } + __pyx_L9:; } - /* "nanmin.pyx":257 - * amin = ai - * y[i1] = amin + /* "nanmin.pyx":272 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3343,11 +3472,11 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":235 + /* "nanmin.pyx":245 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * def nanmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -3360,7 +3489,7 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3374,27 +3503,27 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "nanmin.pyx":261 +/* "nanmin.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * def nanmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_11nanmin_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_10nanmin_2d_int8_axis1[] = "nanmin_2d_int8_axis1(ndarray a)\nMinimum of 2d array with dtype=int8 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_11nanmin_2d_int8_axis1 = {"nanmin_2d_int8_axis1", (PyCFunction)__pyx_pw_6nanmin_11nanmin_2d_int8_axis1, METH_O, __pyx_doc_6nanmin_10nanmin_2d_int8_axis1}; -static PyObject *__pyx_pw_6nanmin_11nanmin_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_11nanmin_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_10nanmin_2d_float32_axis1[] = "nanmin_2d_float32_axis1(ndarray a)\nMinimum of 2d array with dtype=float32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_11nanmin_2d_float32_axis1 = {"nanmin_2d_float32_axis1", (PyCFunction)__pyx_pw_6nanmin_11nanmin_2d_float32_axis1, METH_O, __pyx_doc_6nanmin_10nanmin_2d_float32_axis1}; +static PyObject *__pyx_pw_6nanmin_11nanmin_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int8_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_10nanmin_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_float32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_10nanmin_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3405,10 +3534,10 @@ static PyObject *__pyx_pw_6nanmin_11nanmin_2d_int8_axis1(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amin; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_10nanmin_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amin; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3437,7 +3566,7 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("nanmin_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3448,20 +3577,20 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":263 - * def nanmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Minimum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + /* "nanmin.pyx":278 + * def nanmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Minimum of 2d array with dtype=float32 along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amin, ai + * cdef np.float32_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":267 + /* "nanmin.pyx":282 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3470,7 +3599,7 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":268 + /* "nanmin.pyx":283 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3479,41 +3608,41 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":269 + /* "nanmin.pyx":284 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":270 + /* "nanmin.pyx":285 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":271 + /* "nanmin.pyx":286 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3521,9 +3650,9 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":273 - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + /* "nanmin.pyx":288 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -3531,8 +3660,8 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":274 - * NPY_int8, 0) + /* "nanmin.pyx":289 + * NPY_float32, 0) * if n1 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -3541,49 +3670,58 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; - /* "nanmin.pyx":275 + /* "nanmin.pyx":290 * if n1 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): - * amin = MAXint8 + * amin = MAXfloat32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":276 + /* "nanmin.pyx":291 * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i0 in range(n0): # <<<<<<<<<<<<<< - * amin = MAXint8 - * for i1 in range(n1): + * amin = MAXfloat32 + * allnan = 1 */ __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanmin.pyx":277 + /* "nanmin.pyx":292 * raise ValueError(msg) * for i0 in range(n0): - * amin = MAXint8 # <<<<<<<<<<<<<< + * amin = MAXfloat32 # <<<<<<<<<<<<<< + * allnan = 1 * for i1 in range(n1): - * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint8; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat32; - /* "nanmin.pyx":278 + /* "nanmin.pyx":293 * for i0 in range(n0): - * amin = MAXint8 + * amin = MAXfloat32 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmin.pyx":294 + * amin = MAXfloat32 + * allnan = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -3592,8 +3730,8 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i1 = __pyx_t_9; - /* "nanmin.pyx":279 - * amin = MAXint8 + /* "nanmin.pyx":295 + * allnan = 1 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -3601,45 +3739,79 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":280 + /* "nanmin.pyx":296 * for i1 in range(n1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * y[i0] = amin + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":281 + /* "nanmin.pyx":297 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * y[i0] = amin - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amin = __pyx_v_ai; + + /* "nanmin.pyx":298 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = amin + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmin.pyx":282 - * if ai <= amin: + /* "nanmin.pyx":299 * amin = ai - * y[i0] = amin # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = amin + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":300 + * allnan = 0 + * if allnan == 0: + * y[i0] = amin # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmin.pyx":302 + * y[i0] = amin + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + __pyx_t_9 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; + } + __pyx_L9:; } - /* "nanmin.pyx":283 - * amin = ai - * y[i0] = amin + /* "nanmin.pyx":303 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3649,11 +3821,11 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":261 + /* "nanmin.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * def nanmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -3666,7 +3838,7 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3680,27 +3852,27 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanmin.pyx":287 +/* "nanmin.pyx":307 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * def nanmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_13nanmin_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_12nanmin_2d_int32_axis0[] = "nanmin_2d_int32_axis0(ndarray a)\nMinimum of 2d array with dtype=int32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_13nanmin_2d_int32_axis0 = {"nanmin_2d_int32_axis0", (PyCFunction)__pyx_pw_6nanmin_13nanmin_2d_int32_axis0, METH_O, __pyx_doc_6nanmin_12nanmin_2d_int32_axis0}; -static PyObject *__pyx_pw_6nanmin_13nanmin_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_13nanmin_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_12nanmin_2d_float64_axis0[] = "nanmin_2d_float64_axis0(ndarray a)\nMinimum of 2d array with dtype=float64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_13nanmin_2d_float64_axis0 = {"nanmin_2d_float64_axis0", (PyCFunction)__pyx_pw_6nanmin_13nanmin_2d_float64_axis0, METH_O, __pyx_doc_6nanmin_12nanmin_2d_float64_axis0}; +static PyObject *__pyx_pw_6nanmin_13nanmin_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_12nanmin_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_12nanmin_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3711,10 +3883,10 @@ static PyObject *__pyx_pw_6nanmin_13nanmin_2d_int32_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amin; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_12nanmin_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_amin; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3743,7 +3915,7 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nanmin_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3754,20 +3926,20 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":289 - * def nanmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Minimum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + /* "nanmin.pyx":309 + * def nanmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Minimum of 2d array with dtype=float64 along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amin, ai + * cdef np.float64_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":293 + /* "nanmin.pyx":313 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3776,7 +3948,7 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":294 + /* "nanmin.pyx":314 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3785,41 +3957,41 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":295 + /* "nanmin.pyx":315 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":296 + /* "nanmin.pyx":316 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":297 + /* "nanmin.pyx":317 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3827,9 +3999,9 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":299 - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + /* "nanmin.pyx":319 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -3837,8 +4009,8 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":300 - * NPY_int32, 0) + /* "nanmin.pyx":320 + * NPY_float64, 0) * if n0 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -3847,49 +4019,58 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; - /* "nanmin.pyx":301 + /* "nanmin.pyx":321 * if n0 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1): - * amin = MAXint32 + * amin = MAXfloat64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":302 + /* "nanmin.pyx":322 * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i1 in range(n1): # <<<<<<<<<<<<<< - * amin = MAXint32 - * for i0 in range(n0): + * amin = MAXfloat64 + * allnan = 1 */ __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":303 + /* "nanmin.pyx":323 * raise ValueError(msg) * for i1 in range(n1): - * amin = MAXint32 # <<<<<<<<<<<<<< + * amin = MAXfloat64 # <<<<<<<<<<<<<< + * allnan = 1 * for i0 in range(n0): - * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint32; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat64; - /* "nanmin.pyx":304 + /* "nanmin.pyx":324 * for i1 in range(n1): - * amin = MAXint32 + * amin = MAXfloat64 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmin.pyx":325 + * amin = MAXfloat64 + * allnan = 1 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -3898,8 +4079,8 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "nanmin.pyx":305 - * amin = MAXint32 + /* "nanmin.pyx":326 + * allnan = 1 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -3907,45 +4088,79 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":306 + /* "nanmin.pyx":327 * for i0 in range(n0): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * y[i1] = amin + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":307 + /* "nanmin.pyx":328 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * y[i1] = amin - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amin = __pyx_v_ai; + + /* "nanmin.pyx":329 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = amin + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmin.pyx":308 - * if ai <= amin: + /* "nanmin.pyx":330 * amin = ai - * y[i1] = amin # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = amin + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":331 + * allnan = 0 + * if allnan == 0: + * y[i1] = amin # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmin.pyx":333 + * y[i1] = amin + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + __pyx_t_9 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; + } + __pyx_L9:; } - /* "nanmin.pyx":309 - * amin = ai - * y[i1] = amin + /* "nanmin.pyx":334 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3955,11 +4170,11 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":287 + /* "nanmin.pyx":307 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * def nanmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -3972,7 +4187,7 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3986,27 +4201,27 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanmin.pyx":313 +/* "nanmin.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * def nanmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_15nanmin_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_14nanmin_2d_int32_axis1[] = "nanmin_2d_int32_axis1(ndarray a)\nMinimum of 2d array with dtype=int32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_15nanmin_2d_int32_axis1 = {"nanmin_2d_int32_axis1", (PyCFunction)__pyx_pw_6nanmin_15nanmin_2d_int32_axis1, METH_O, __pyx_doc_6nanmin_14nanmin_2d_int32_axis1}; -static PyObject *__pyx_pw_6nanmin_15nanmin_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_15nanmin_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_14nanmin_2d_float64_axis1[] = "nanmin_2d_float64_axis1(ndarray a)\nMinimum of 2d array with dtype=float64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_15nanmin_2d_float64_axis1 = {"nanmin_2d_float64_axis1", (PyCFunction)__pyx_pw_6nanmin_15nanmin_2d_float64_axis1, METH_O, __pyx_doc_6nanmin_14nanmin_2d_float64_axis1}; +static PyObject *__pyx_pw_6nanmin_15nanmin_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_14nanmin_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_float64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_14nanmin_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4017,10 +4232,10 @@ static PyObject *__pyx_pw_6nanmin_15nanmin_2d_int32_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amin; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_14nanmin_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_amin; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -4049,7 +4264,7 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("nanmin_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4060,20 +4275,20 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":315 - * def nanmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Minimum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + /* "nanmin.pyx":340 + * def nanmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Minimum of 2d array with dtype=float64 along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amin, ai + * cdef np.float64_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":319 + /* "nanmin.pyx":344 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4082,7 +4297,7 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":320 + /* "nanmin.pyx":345 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4091,41 +4306,41 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":321 + /* "nanmin.pyx":346 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":322 + /* "nanmin.pyx":347 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":323 + /* "nanmin.pyx":348 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4133,9 +4348,9 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":325 - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + /* "nanmin.pyx":350 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -4143,8 +4358,8 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":326 - * NPY_int32, 0) + /* "nanmin.pyx":351 + * NPY_float64, 0) * if n1 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -4153,49 +4368,58 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; - /* "nanmin.pyx":327 + /* "nanmin.pyx":352 * if n1 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): - * amin = MAXint32 + * amin = MAXfloat64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":328 + /* "nanmin.pyx":353 * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i0 in range(n0): # <<<<<<<<<<<<<< - * amin = MAXint32 - * for i1 in range(n1): + * amin = MAXfloat64 + * allnan = 1 */ __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanmin.pyx":329 + /* "nanmin.pyx":354 * raise ValueError(msg) * for i0 in range(n0): - * amin = MAXint32 # <<<<<<<<<<<<<< + * amin = MAXfloat64 # <<<<<<<<<<<<<< + * allnan = 1 * for i1 in range(n1): - * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint32; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat64; - /* "nanmin.pyx":330 + /* "nanmin.pyx":355 * for i0 in range(n0): - * amin = MAXint32 + * amin = MAXfloat64 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmin.pyx":356 + * amin = MAXfloat64 + * allnan = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -4204,8 +4428,8 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i1 = __pyx_t_9; - /* "nanmin.pyx":331 - * amin = MAXint32 + /* "nanmin.pyx":357 + * allnan = 1 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -4213,45 +4437,79 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":332 + /* "nanmin.pyx":358 * for i1 in range(n1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * y[i0] = amin + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":333 + /* "nanmin.pyx":359 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * y[i0] = amin - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amin = __pyx_v_ai; + + /* "nanmin.pyx":360 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = amin + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmin.pyx":334 - * if ai <= amin: + /* "nanmin.pyx":361 * amin = ai - * y[i0] = amin # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = amin + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":362 + * allnan = 0 + * if allnan == 0: + * y[i0] = amin # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmin.pyx":364 + * y[i0] = amin + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + __pyx_t_9 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; + } + __pyx_L9:; } - /* "nanmin.pyx":335 - * amin = ai - * y[i0] = amin + /* "nanmin.pyx":365 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4261,11 +4519,11 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":313 + /* "nanmin.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * def nanmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -4278,7 +4536,7 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4292,27 +4550,27 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanmin.pyx":339 +/* "nanmin.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * def nanmin_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_17nanmin_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_16nanmin_2d_int64_axis0[] = "nanmin_2d_int64_axis0(ndarray a)\nMinimum of 2d array with dtype=int64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_17nanmin_2d_int64_axis0 = {"nanmin_2d_int64_axis0", (PyCFunction)__pyx_pw_6nanmin_17nanmin_2d_int64_axis0, METH_O, __pyx_doc_6nanmin_16nanmin_2d_int64_axis0}; -static PyObject *__pyx_pw_6nanmin_17nanmin_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_17nanmin_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_16nanmin_1d_float_axisNone[] = "nanmin_1d_float_axisNone(ndarray a)\nMinimum of 1d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_17nanmin_1d_float_axisNone = {"nanmin_1d_float_axisNone", (PyCFunction)__pyx_pw_6nanmin_17nanmin_1d_float_axisNone, METH_O, __pyx_doc_6nanmin_16nanmin_1d_float_axisNone}; +static PyObject *__pyx_pw_6nanmin_17nanmin_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_16nanmin_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_1d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_16nanmin_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4323,302 +4581,325 @@ static PyObject *__pyx_pw_6nanmin_17nanmin_2d_int64_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_16nanmin_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amin; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_16nanmin_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amin; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmin_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmin.pyx":341 - * def nanmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Minimum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + /* "nanmin.pyx":371 + * def nanmin_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): + * "Minimum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amin, ai - * cdef Py_ssize_t i0, i1 + * cdef np.float_t amin, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":345 - * cdef Py_ssize_t i0, i1 + /* "nanmin.pyx":375 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":346 + /* "nanmin.pyx":376 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":347 + /* "nanmin.pyx":377 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmin.pyx":348 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "nanmin.pyx":349 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int64, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmin.pyx":351 - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) * if n0 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":352 - * NPY_int64, 0) + /* "nanmin.pyx":378 + * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i1 in range(n1): + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amin = MAXfloat */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":353 + /* "nanmin.pyx":379 * if n0 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * amin = MAXint64 + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amin = MAXfloat + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":354 - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * amin = MAXint64 - * for i0 in range(n0): + /* "nanmin.pyx":380 + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amin = MAXfloat # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat; - /* "nanmin.pyx":355 - * raise ValueError(msg) - * for i1 in range(n1): - * amin = MAXint64 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanmin.pyx":381 + * raise ValueError(m) + * amin = MAXfloat + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai <= amin: */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint64; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":356 - * for i1 in range(n1): - * amin = MAXint64 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai <= amin: + /* "nanmin.pyx":382 + * amin = MAXfloat + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmin.pyx":357 - * amin = MAXint64 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + /* "nanmin.pyx":383 + * for i0 in range(n0): + * ai = a[i0] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * allnan = 0 */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":358 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * y[i1] = amin + /* "nanmin.pyx":384 + * ai = a[i0] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { + __pyx_v_amin = __pyx_v_ai; - /* "nanmin.pyx":359 - * ai = a[i0, i1] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * y[i1] = amin - * return y + /* "nanmin.pyx":385 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * return np.float(amin) */ - __pyx_v_amin = __pyx_v_ai; - goto __pyx_L8; - } - __pyx_L8:; + __pyx_v_allnan = 0; + goto __pyx_L6; } - - /* "nanmin.pyx":360 - * if ai <= amin: - * amin = ai - * y[i1] = amin # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + __pyx_L6:; } - /* "nanmin.pyx":361 - * amin = ai - * y[i1] = amin - * return y # <<<<<<<<<<<<<< - * + /* "nanmin.pyx":386 + * amin = ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.float(amin) + * else: + */ + __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_1) { + + /* "nanmin.pyx":387 + * allnan = 0 + * if allnan == 0: + * return np.float(amin) # <<<<<<<<<<<<<< + * else: + * return np.float(NAN) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + } + /*else*/ { + + /* "nanmin.pyx":389 + * return np.float(amin) + * else: + * return np.float(NAN) # <<<<<<<<<<<<<< + * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_2 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_2) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + } - /* "nanmin.pyx":339 + /* "nanmin.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * def nanmin_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":365 +/* "nanmin.pyx":393 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=1 ignoring NaNs." + * def nanmin_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_19nanmin_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_18nanmin_2d_int64_axis1[] = "nanmin_2d_int64_axis1(ndarray a)\nMinimum of 2d array with dtype=int64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_19nanmin_2d_int64_axis1 = {"nanmin_2d_int64_axis1", (PyCFunction)__pyx_pw_6nanmin_19nanmin_2d_int64_axis1, METH_O, __pyx_doc_6nanmin_18nanmin_2d_int64_axis1}; -static PyObject *__pyx_pw_6nanmin_19nanmin_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_19nanmin_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_18nanmin_1d_float32_axisNone[] = "nanmin_1d_float32_axisNone(ndarray a)\nMinimum of 1d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_19nanmin_1d_float32_axisNone = {"nanmin_1d_float32_axisNone", (PyCFunction)__pyx_pw_6nanmin_19nanmin_1d_float32_axisNone, METH_O, __pyx_doc_6nanmin_18nanmin_1d_float32_axisNone}; +static PyObject *__pyx_pw_6nanmin_19nanmin_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_18nanmin_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_1d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_18nanmin_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4629,302 +4910,325 @@ static PyObject *__pyx_pw_6nanmin_19nanmin_2d_int64_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_18nanmin_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amin; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_18nanmin_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amin; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmin_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmin.pyx":367 - * def nanmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Minimum of 2d array with dtype=int64 along axis=1 ignoring NaNs." + /* "nanmin.pyx":395 + * def nanmin_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): + * "Minimum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amin, ai - * cdef Py_ssize_t i0, i1 + * cdef np.float32_t amin, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":371 - * cdef Py_ssize_t i0, i1 + /* "nanmin.pyx":399 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":372 + /* "nanmin.pyx":400 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":373 + /* "nanmin.pyx":401 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":374 + /* "nanmin.pyx":402 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) + * if n0 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amin = MAXfloat32 */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":375 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int64, 0) - * if n1 == 0: + /* "nanmin.pyx":403 + * if n0 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amin = MAXfloat32 + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanmin.pyx":377 - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) + /* "nanmin.pyx":404 + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amin = MAXfloat32 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat32; - /* "nanmin.pyx":378 - * NPY_int64, 0) - * if n1 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i0 in range(n0): + /* "nanmin.pyx":405 + * raise ValueError(m) + * amin = MAXfloat32 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai <= amin: */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":379 - * if n1 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< + /* "nanmin.pyx":406 + * amin = MAXfloat32 * for i0 in range(n0): - * amin = MAXint64 - */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - - /* "nanmin.pyx":380 - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * amin = MAXint64 - * for i1 in range(n1): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmin.pyx":381 - * raise ValueError(msg) + /* "nanmin.pyx":407 * for i0 in range(n0): - * amin = MAXint64 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * allnan = 0 */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint64; + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":382 - * for i0 in range(n0): - * amin = MAXint64 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai <= amin: + /* "nanmin.pyx":408 + * ai = a[i0] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_amin = __pyx_v_ai; - /* "nanmin.pyx":383 - * amin = MAXint64 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + /* "nanmin.pyx":409 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * return np.float32(amin) */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_allnan = 0; + goto __pyx_L6; + } + __pyx_L6:; + } - /* "nanmin.pyx":384 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * y[i0] = amin + /* "nanmin.pyx":410 + * amin = ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.float32(amin) + * else: */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":385 - * ai = a[i0, i1] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * y[i0] = amin - * return y + /* "nanmin.pyx":411 + * allnan = 0 + * if allnan == 0: + * return np.float32(amin) # <<<<<<<<<<<<<< + * else: + * return np.float32(NAN) */ - __pyx_v_amin = __pyx_v_ai; - goto __pyx_L8; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); } - __pyx_L8:; } - - /* "nanmin.pyx":386 - * if ai <= amin: - * amin = ai - * y[i0] = amin # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanmin.pyx":387 - * amin = ai - * y[i0] = amin - * return y # <<<<<<<<<<<<<< + /* "nanmin.pyx":413 + * return np.float32(amin) + * else: + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_2 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_2) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + } - /* "nanmin.pyx":365 + /* "nanmin.pyx":393 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=1 ignoring NaNs." + * def nanmin_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":391 +/* "nanmin.pyx":417 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmin_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_21nanmin_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_20nanmin_1d_float_axisNone[] = "nanmin_1d_float_axisNone(ndarray a)\nMinimum of 1d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_21nanmin_1d_float_axisNone = {"nanmin_1d_float_axisNone", (PyCFunction)__pyx_pw_6nanmin_21nanmin_1d_float_axisNone, METH_O, __pyx_doc_6nanmin_20nanmin_1d_float_axisNone}; -static PyObject *__pyx_pw_6nanmin_21nanmin_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_21nanmin_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_20nanmin_1d_float64_axisNone[] = "nanmin_1d_float64_axisNone(ndarray a)\nMinimum of 1d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_21nanmin_1d_float64_axisNone = {"nanmin_1d_float64_axisNone", (PyCFunction)__pyx_pw_6nanmin_21nanmin_1d_float64_axisNone, METH_O, __pyx_doc_6nanmin_20nanmin_1d_float64_axisNone}; +static PyObject *__pyx_pw_6nanmin_21nanmin_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_1d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_20nanmin_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_1d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_20nanmin_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4935,10 +5239,10 @@ static PyObject *__pyx_pw_6nanmin_21nanmin_1d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amin; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_amin; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4959,27 +5263,27 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmin.pyx":393 - * def nanmin_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): - * "Minimum of 1d array with dtype=float along axis=None ignoring NaNs." + /* "nanmin.pyx":419 + * def nanmin_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): + * "Minimum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amin, ai + * cdef np.float64_t amin, ai * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":397 + /* "nanmin.pyx":423 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4988,7 +5292,7 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":398 + /* "nanmin.pyx":424 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4997,7 +5301,7 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":399 + /* "nanmin.pyx":425 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< @@ -5007,48 +5311,48 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":400 + /* "nanmin.pyx":426 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amin = MAXfloat + * amin = MAXfloat64 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":401 + /* "nanmin.pyx":427 * if n0 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXfloat + * amin = MAXfloat64 * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":402 + /* "nanmin.pyx":428 * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amin = MAXfloat # <<<<<<<<<<<<<< + * amin = MAXfloat64 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0] */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat64; - /* "nanmin.pyx":403 + /* "nanmin.pyx":429 * raise ValueError(m) - * amin = MAXfloat + * amin = MAXfloat64 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0] * if ai <= amin: @@ -5057,17 +5361,17 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":404 - * amin = MAXfloat + /* "nanmin.pyx":430 + * amin = MAXfloat64 * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmin.pyx":405 + /* "nanmin.pyx":431 * for i0 in range(n0): * ai = a[i0] * if ai <= amin: # <<<<<<<<<<<<<< @@ -5077,7 +5381,7 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":406 + /* "nanmin.pyx":432 * ai = a[i0] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< @@ -5086,12 +5390,12 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_amin = __pyx_v_ai; - /* "nanmin.pyx":407 + /* "nanmin.pyx":433 * if ai <= amin: * amin = ai * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float(amin) + * return np.float64(amin) */ __pyx_v_allnan = 0; goto __pyx_L6; @@ -5099,30 +5403,30 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_L6:; } - /* "nanmin.pyx":408 + /* "nanmin.pyx":434 * amin = ai * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float(amin) + * return np.float64(amin) * else: */ __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":409 + /* "nanmin.pyx":435 * allnan = 0 * if allnan == 0: - * return np.float(amin) # <<<<<<<<<<<<<< + * return np.float64(amin) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { @@ -5135,17 +5439,17 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -5156,20 +5460,20 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj } /*else*/ { - /* "nanmin.pyx":411 - * return np.float(amin) + /* "nanmin.pyx":437 + * return np.float64(amin) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { @@ -5182,17 +5486,17 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -5202,11 +5506,11 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "nanmin.pyx":391 + /* "nanmin.pyx":417 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmin_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -5221,7 +5525,7 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5233,27 +5537,27 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanmin.pyx":415 +/* "nanmin.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float32 along axis=None ignoring NaNs." - * cdef int allnan = 1 + * def nanmin_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=None ignoring NaNs." + * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_23nanmin_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_22nanmin_1d_float32_axisNone[] = "nanmin_1d_float32_axisNone(ndarray a)\nMinimum of 1d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_23nanmin_1d_float32_axisNone = {"nanmin_1d_float32_axisNone", (PyCFunction)__pyx_pw_6nanmin_23nanmin_1d_float32_axisNone, METH_O, __pyx_doc_6nanmin_22nanmin_1d_float32_axisNone}; -static PyObject *__pyx_pw_6nanmin_23nanmin_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_23nanmin_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_22nanmin_2d_float_axisNone[] = "nanmin_2d_float_axisNone(ndarray a)\nMinimum of 2d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_23nanmin_2d_float_axisNone = {"nanmin_2d_float_axisNone", (PyCFunction)__pyx_pw_6nanmin_23nanmin_2d_float_axisNone, METH_O, __pyx_doc_6nanmin_22nanmin_2d_float_axisNone}; +static PyObject *__pyx_pw_6nanmin_23nanmin_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_1d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_22nanmin_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_22nanmin_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5264,13 +5568,15 @@ static PyObject *__pyx_pw_6nanmin_23nanmin_1d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_22nanmin_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_22nanmin_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amin; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_amin; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; @@ -5282,260 +5588,285 @@ static PyObject *__pyx_pf_6nanmin_22nanmin_1d_float32_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":417 - * def nanmin_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): - * "Minimum of 1d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanmin.pyx":443 + * def nanmin_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): + * "Minimum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amin, ai - * cdef Py_ssize_t i0 + * cdef np.float_t amin, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":421 - * cdef Py_ssize_t i0 + /* "nanmin.pyx":447 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":422 + /* "nanmin.pyx":448 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":423 + /* "nanmin.pyx":449 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanmin.pyx":450 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: # <<<<<<<<<<<<<< * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":424 - * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + /* "nanmin.pyx":451 + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amin = MAXfloat32 + * amin = MAXfloat */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":425 - * if n0 == 0: + /* "nanmin.pyx":452 + * if n0 * n1 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXfloat32 + * amin = MAXfloat * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":426 + /* "nanmin.pyx":453 * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amin = MAXfloat32 # <<<<<<<<<<<<<< + * amin = MAXfloat # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat32; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat; - /* "nanmin.pyx":427 + /* "nanmin.pyx":454 * raise ValueError(m) - * amin = MAXfloat32 + * amin = MAXfloat * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai <= amin: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":428 - * amin = MAXfloat32 + /* "nanmin.pyx":455 + * amin = MAXfloat * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai <= amin: */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":429 + /* "nanmin.pyx":456 * for i0 in range(n0): - * ai = a[i0] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * allnan = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":430 - * ai = a[i0] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 + /* "nanmin.pyx":457 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * allnan = 0 + */ + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { + + /* "nanmin.pyx":458 + * ai = a[i0, i1] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * allnan = 0 * if allnan == 0: */ - __pyx_v_amin = __pyx_v_ai; + __pyx_v_amin = __pyx_v_ai; - /* "nanmin.pyx":431 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< + /* "nanmin.pyx":459 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float32(amin) + * return np.float(amin) */ - __pyx_v_allnan = 0; - goto __pyx_L6; + __pyx_v_allnan = 0; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; } - /* "nanmin.pyx":432 - * amin = ai - * allnan = 0 + /* "nanmin.pyx":460 + * amin = ai + * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float32(amin) + * return np.float(amin) * else: */ __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":433 - * allnan = 0 + /* "nanmin.pyx":461 + * allnan = 0 * if allnan == 0: - * return np.float32(amin) # <<<<<<<<<<<<<< + * return np.float(amin) # <<<<<<<<<<<<<< * else: - * return np.float32(NAN) + * return np.float(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __Pyx_DECREF_SET(__pyx_t_10, function); } } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /*else*/ { - /* "nanmin.pyx":435 - * return np.float32(amin) + /* "nanmin.pyx":463 + * return np.float(amin) * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< + * return np.float(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + __Pyx_DECREF_SET(__pyx_t_12, function); } } if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } - /* "nanmin.pyx":415 + /* "nanmin.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmin_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -5543,14 +5874,14 @@ static PyObject *__pyx_pf_6nanmin_22nanmin_1d_float32_axisNone(CYTHON_UNUSED PyO __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5562,27 +5893,27 @@ static PyObject *__pyx_pf_6nanmin_22nanmin_1d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanmin.pyx":439 +/* "nanmin.pyx":467 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmin_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_25nanmin_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_24nanmin_1d_float64_axisNone[] = "nanmin_1d_float64_axisNone(ndarray a)\nMinimum of 1d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_25nanmin_1d_float64_axisNone = {"nanmin_1d_float64_axisNone", (PyCFunction)__pyx_pw_6nanmin_25nanmin_1d_float64_axisNone, METH_O, __pyx_doc_6nanmin_24nanmin_1d_float64_axisNone}; -static PyObject *__pyx_pw_6nanmin_25nanmin_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_25nanmin_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_24nanmin_2d_float32_axisNone[] = "nanmin_2d_float32_axisNone(ndarray a)\nMinimum of 2d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_25nanmin_2d_float32_axisNone = {"nanmin_2d_float32_axisNone", (PyCFunction)__pyx_pw_6nanmin_25nanmin_2d_float32_axisNone, METH_O, __pyx_doc_6nanmin_24nanmin_2d_float32_axisNone}; +static PyObject *__pyx_pw_6nanmin_25nanmin_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_1d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_24nanmin_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_24nanmin_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5593,13 +5924,15 @@ static PyObject *__pyx_pw_6nanmin_25nanmin_1d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_24nanmin_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_24nanmin_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amin; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_amin; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; @@ -5611,260 +5944,285 @@ static PyObject *__pyx_pf_6nanmin_24nanmin_1d_float64_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_1d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":441 - * def nanmin_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): - * "Minimum of 1d array with dtype=float64 along axis=None ignoring NaNs." + /* "nanmin.pyx":469 + * def nanmin_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): + * "Minimum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amin, ai - * cdef Py_ssize_t i0 + * cdef np.float32_t amin, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":445 - * cdef Py_ssize_t i0 + /* "nanmin.pyx":473 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":446 + /* "nanmin.pyx":474 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":447 + /* "nanmin.pyx":475 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanmin.pyx":476 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: # <<<<<<<<<<<<<< * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":448 - * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + /* "nanmin.pyx":477 + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amin = MAXfloat64 + * amin = MAXfloat32 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":449 - * if n0 == 0: + /* "nanmin.pyx":478 + * if n0 * n1 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXfloat64 + * amin = MAXfloat32 * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":450 + /* "nanmin.pyx":479 * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amin = MAXfloat64 # <<<<<<<<<<<<<< + * amin = MAXfloat32 # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat64; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat32; - /* "nanmin.pyx":451 + /* "nanmin.pyx":480 * raise ValueError(m) - * amin = MAXfloat64 + * amin = MAXfloat32 * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai <= amin: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":452 - * amin = MAXfloat64 + /* "nanmin.pyx":481 + * amin = MAXfloat32 * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai <= amin: */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":453 + /* "nanmin.pyx":482 * for i0 in range(n0): - * ai = a[i0] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * allnan = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":454 - * ai = a[i0] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 + /* "nanmin.pyx":483 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * allnan = 0 + */ + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { + + /* "nanmin.pyx":484 + * ai = a[i0, i1] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * allnan = 0 * if allnan == 0: */ - __pyx_v_amin = __pyx_v_ai; + __pyx_v_amin = __pyx_v_ai; - /* "nanmin.pyx":455 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< + /* "nanmin.pyx":485 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float64(amin) + * return np.float32(amin) */ - __pyx_v_allnan = 0; - goto __pyx_L6; + __pyx_v_allnan = 0; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; } - /* "nanmin.pyx":456 - * amin = ai - * allnan = 0 + /* "nanmin.pyx":486 + * amin = ai + * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float64(amin) + * return np.float32(amin) * else: */ __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":457 - * allnan = 0 + /* "nanmin.pyx":487 + * allnan = 0 * if allnan == 0: - * return np.float64(amin) # <<<<<<<<<<<<<< + * return np.float32(amin) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * return np.float32(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __Pyx_DECREF_SET(__pyx_t_10, function); } } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /*else*/ { - /* "nanmin.pyx":459 - * return np.float64(amin) + /* "nanmin.pyx":489 + * return np.float32(amin) * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + __Pyx_DECREF_SET(__pyx_t_12, function); } } if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } - /* "nanmin.pyx":439 + /* "nanmin.pyx":467 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmin_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -5872,14 +6230,14 @@ static PyObject *__pyx_pf_6nanmin_24nanmin_1d_float64_axisNone(CYTHON_UNUSED PyO __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5891,27 +6249,27 @@ static PyObject *__pyx_pf_6nanmin_24nanmin_1d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanmin.pyx":463 +/* "nanmin.pyx":493 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmin_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_27nanmin_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_26nanmin_2d_float_axisNone[] = "nanmin_2d_float_axisNone(ndarray a)\nMinimum of 2d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_27nanmin_2d_float_axisNone = {"nanmin_2d_float_axisNone", (PyCFunction)__pyx_pw_6nanmin_27nanmin_2d_float_axisNone, METH_O, __pyx_doc_6nanmin_26nanmin_2d_float_axisNone}; -static PyObject *__pyx_pw_6nanmin_27nanmin_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_27nanmin_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_26nanmin_2d_float64_axisNone[] = "nanmin_2d_float64_axisNone(ndarray a)\nMinimum of 2d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_27nanmin_2d_float64_axisNone = {"nanmin_2d_float64_axisNone", (PyCFunction)__pyx_pw_6nanmin_27nanmin_2d_float64_axisNone, METH_O, __pyx_doc_6nanmin_26nanmin_2d_float64_axisNone}; +static PyObject *__pyx_pw_6nanmin_27nanmin_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_26nanmin_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_26nanmin_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5922,10 +6280,10 @@ static PyObject *__pyx_pw_6nanmin_27nanmin_2d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amin; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_amin; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -5951,27 +6309,27 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":465 - * def nanmin_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): - * "Minimum of 2d array with dtype=float along axis=None ignoring NaNs." + /* "nanmin.pyx":495 + * def nanmin_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): + * "Minimum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amin, ai + * cdef np.float64_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":469 + /* "nanmin.pyx":499 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5980,7 +6338,7 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":470 + /* "nanmin.pyx":500 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5989,7 +6347,7 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":471 + /* "nanmin.pyx":501 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5998,7 +6356,7 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":472 + /* "nanmin.pyx":502 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * if n0 * n1 == 0: # <<<<<<<<<<<<<< @@ -6008,48 +6366,48 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":473 + /* "nanmin.pyx":503 * cdef Py_ssize_t n1 = dim[1] * if n0 * n1 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amin = MAXfloat + * amin = MAXfloat64 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":474 + /* "nanmin.pyx":504 * if n0 * n1 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXfloat + * amin = MAXfloat64 * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":475 + /* "nanmin.pyx":505 * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amin = MAXfloat # <<<<<<<<<<<<<< + * amin = MAXfloat64 # <<<<<<<<<<<<<< * for i0 in range(n0): * for i1 in range(n1): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat64; - /* "nanmin.pyx":476 + /* "nanmin.pyx":506 * raise ValueError(m) - * amin = MAXfloat + * amin = MAXfloat64 * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] @@ -6058,8 +6416,8 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":477 - * amin = MAXfloat + /* "nanmin.pyx":507 + * amin = MAXfloat64 * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] @@ -6069,7 +6427,7 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":478 + /* "nanmin.pyx":508 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -6078,9 +6436,9 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":479 + /* "nanmin.pyx":509 * for i1 in range(n1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< @@ -6090,7 +6448,7 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":480 + /* "nanmin.pyx":510 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< @@ -6099,12 +6457,12 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_amin = __pyx_v_ai; - /* "nanmin.pyx":481 + /* "nanmin.pyx":511 * if ai <= amin: * amin = ai * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float(amin) + * return np.float64(amin) */ __pyx_v_allnan = 0; goto __pyx_L8; @@ -6113,30 +6471,30 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "nanmin.pyx":482 + /* "nanmin.pyx":512 * amin = ai * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float(amin) + * return np.float64(amin) * else: */ __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":483 + /* "nanmin.pyx":513 * allnan = 0 * if allnan == 0: - * return np.float(amin) # <<<<<<<<<<<<<< + * return np.float64(amin) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { @@ -6149,17 +6507,17 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } @@ -6170,20 +6528,20 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj } /*else*/ { - /* "nanmin.pyx":485 - * return np.float(amin) + /* "nanmin.pyx":515 + * return np.float64(amin) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { @@ -6196,17 +6554,17 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -6216,11 +6574,11 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "nanmin.pyx":463 + /* "nanmin.pyx":493 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmin_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -6235,7 +6593,7 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6247,27 +6605,27 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanmin.pyx":489 +/* "nanmin.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmin_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_29nanmin_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_28nanmin_2d_float32_axisNone[] = "nanmin_2d_float32_axisNone(ndarray a)\nMinimum of 2d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_29nanmin_2d_float32_axisNone = {"nanmin_2d_float32_axisNone", (PyCFunction)__pyx_pw_6nanmin_29nanmin_2d_float32_axisNone, METH_O, __pyx_doc_6nanmin_28nanmin_2d_float32_axisNone}; -static PyObject *__pyx_pw_6nanmin_29nanmin_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_29nanmin_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_28nanmin_1d_int_axisNone[] = "nanmin_1d_int_axisNone(ndarray a)\nMinimum of 1d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_29nanmin_1d_int_axisNone = {"nanmin_1d_int_axisNone", (PyCFunction)__pyx_pw_6nanmin_29nanmin_1d_int_axisNone, METH_O, __pyx_doc_6nanmin_28nanmin_1d_int_axisNone}; +static PyObject *__pyx_pw_6nanmin_29nanmin_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_28nanmin_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_1d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_28nanmin_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6278,15 +6636,13 @@ static PyObject *__pyx_pw_6nanmin_29nanmin_2d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_28nanmin_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amin; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_28nanmin_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int_t __pyx_v_amin; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; @@ -6298,300 +6654,208 @@ static PyObject *__pyx_pf_6nanmin_28nanmin_2d_float32_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_1d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmin.pyx":491 - * def nanmin_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): - * "Minimum of 2d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanmin.pyx":521 + * def nanmin_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): + * "Minimum of 1d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amin, ai - * cdef Py_ssize_t i0, i1 + * cdef np.int_t amin, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":495 - * cdef Py_ssize_t i0, i1 + /* "nanmin.pyx":525 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":496 + /* "nanmin.pyx":526 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * if n0 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":497 + /* "nanmin.pyx":527 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmin.pyx":498 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":499 - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + /* "nanmin.pyx":528 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amin = MAXfloat32 + * amin = MAXint */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":500 - * if n0 * n1 == 0: + /* "nanmin.pyx":529 + * if n0 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXfloat32 + * amin = MAXint * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":501 + /* "nanmin.pyx":530 * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amin = MAXfloat32 # <<<<<<<<<<<<<< + * amin = MAXint # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): + * ai = a[i0] */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat32; + __pyx_v_amin = __pyx_v_6nanmin_MAXint; - /* "nanmin.pyx":502 + /* "nanmin.pyx":531 * raise ValueError(m) - * amin = MAXfloat32 + * amin = MAXint * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * if ai <= amin: */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":503 - * amin = MAXfloat32 + /* "nanmin.pyx":532 + * amin = MAXint * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai <= amin: + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmin.pyx":504 + /* "nanmin.pyx":533 * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmin.pyx":505 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * allnan = 0 - */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { - - /* "nanmin.pyx":506 - * ai = a[i0, i1] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * ai = a[i0] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * return np.int(amin) */ - __pyx_v_amin = __pyx_v_ai; + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":507 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.float32(amin) + /* "nanmin.pyx":534 + * ai = a[i0] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * return np.int(amin) + * */ - __pyx_v_allnan = 0; - goto __pyx_L8; - } - __pyx_L8:; + __pyx_v_amin = __pyx_v_ai; + goto __pyx_L6; } + __pyx_L6:; } - /* "nanmin.pyx":508 - * amin = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float32(amin) - * else: - */ - __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_1) { - - /* "nanmin.pyx":509 - * allnan = 0 - * if allnan == 0: - * return np.float32(amin) # <<<<<<<<<<<<<< - * else: - * return np.float32(NAN) + /* "nanmin.pyx":535 + * if ai <= amin: + * amin = ai + * return np.int(amin) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; } - /*else*/ { + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; - /* "nanmin.pyx":511 - * return np.float32(amin) - * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< - * + /* "nanmin.pyx":519 * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - } - } - if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - } - - /* "nanmin.pyx":489 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmin_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef int allnan = 1 + * @cython.wraparound(False) + * def nanmin_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6603,27 +6867,27 @@ static PyObject *__pyx_pf_6nanmin_28nanmin_2d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanmin.pyx":515 +/* "nanmin.pyx":539 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmin_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_31nanmin_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_30nanmin_2d_float64_axisNone[] = "nanmin_2d_float64_axisNone(ndarray a)\nMinimum of 2d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_31nanmin_2d_float64_axisNone = {"nanmin_2d_float64_axisNone", (PyCFunction)__pyx_pw_6nanmin_31nanmin_2d_float64_axisNone, METH_O, __pyx_doc_6nanmin_30nanmin_2d_float64_axisNone}; -static PyObject *__pyx_pw_6nanmin_31nanmin_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_31nanmin_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_30nanmin_1d_int8_axisNone[] = "nanmin_1d_int8_axisNone(ndarray a)\nMinimum of 1d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_31nanmin_1d_int8_axisNone = {"nanmin_1d_int8_axisNone", (PyCFunction)__pyx_pw_6nanmin_31nanmin_1d_int8_axisNone, METH_O, __pyx_doc_6nanmin_30nanmin_1d_int8_axisNone}; +static PyObject *__pyx_pw_6nanmin_31nanmin_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_30nanmin_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_1d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_30nanmin_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6634,15 +6898,13 @@ static PyObject *__pyx_pw_6nanmin_31nanmin_2d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_30nanmin_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amin; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_30nanmin_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int8_t __pyx_v_amin; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; @@ -6654,285 +6916,193 @@ static PyObject *__pyx_pf_6nanmin_30nanmin_2d_float64_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_1d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmin.pyx":517 - * def nanmin_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): - * "Minimum of 2d array with dtype=float64 along axis=None ignoring NaNs." + /* "nanmin.pyx":541 + * def nanmin_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): + * "Minimum of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amin, ai - * cdef Py_ssize_t i0, i1 + * cdef np.int8_t amin, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":521 - * cdef Py_ssize_t i0, i1 + /* "nanmin.pyx":545 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":522 + /* "nanmin.pyx":546 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * if n0 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":523 + /* "nanmin.pyx":547 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmin.pyx":524 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":525 - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + /* "nanmin.pyx":548 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amin = MAXfloat64 + * amin = MAXint8 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":526 - * if n0 * n1 == 0: + /* "nanmin.pyx":549 + * if n0 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXfloat64 + * amin = MAXint8 * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":527 + /* "nanmin.pyx":550 * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amin = MAXfloat64 # <<<<<<<<<<<<<< + * amin = MAXint8 # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): + * ai = a[i0] */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat64; + __pyx_v_amin = __pyx_v_6nanmin_MAXint8; - /* "nanmin.pyx":528 + /* "nanmin.pyx":551 * raise ValueError(m) - * amin = MAXfloat64 + * amin = MAXint8 * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * if ai <= amin: */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":529 - * amin = MAXfloat64 + /* "nanmin.pyx":552 + * amin = MAXint8 * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai <= amin: + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmin.pyx":530 + /* "nanmin.pyx":553 * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmin.pyx":531 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * allnan = 0 - */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { - - /* "nanmin.pyx":532 - * ai = a[i0, i1] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * ai = a[i0] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * return np.int8(amin) */ - __pyx_v_amin = __pyx_v_ai; + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":533 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.float64(amin) + /* "nanmin.pyx":554 + * ai = a[i0] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * return np.int8(amin) + * */ - __pyx_v_allnan = 0; - goto __pyx_L8; - } - __pyx_L8:; + __pyx_v_amin = __pyx_v_ai; + goto __pyx_L6; } + __pyx_L6:; } - /* "nanmin.pyx":534 - * amin = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float64(amin) - * else: - */ - __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_1) { - - /* "nanmin.pyx":535 - * allnan = 0 - * if allnan == 0: - * return np.float64(amin) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanmin.pyx":555 + * if ai <= amin: + * amin = ai + * return np.int8(amin) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; } - /*else*/ { + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; - /* "nanmin.pyx":537 - * return np.float64(amin) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - } - } - if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - } - - /* "nanmin.pyx":515 + /* "nanmin.pyx":539 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmin_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -6940,14 +7110,14 @@ static PyObject *__pyx_pf_6nanmin_30nanmin_2d_float64_axisNone(CYTHON_UNUSED PyO __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6959,27 +7129,27 @@ static PyObject *__pyx_pf_6nanmin_30nanmin_2d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanmin.pyx":541 +/* "nanmin.pyx":559 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=0 ignoring NaNs." + * def nanmin_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_33nanmin_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_32nanmin_2d_float_axis0[] = "nanmin_2d_float_axis0(ndarray a)\nMinimum of 2d array with dtype=float along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_33nanmin_2d_float_axis0 = {"nanmin_2d_float_axis0", (PyCFunction)__pyx_pw_6nanmin_33nanmin_2d_float_axis0, METH_O, __pyx_doc_6nanmin_32nanmin_2d_float_axis0}; -static PyObject *__pyx_pw_6nanmin_33nanmin_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_33nanmin_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_32nanmin_1d_int32_axisNone[] = "nanmin_1d_int32_axisNone(ndarray a)\nMinimum of 1d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_33nanmin_1d_int32_axisNone = {"nanmin_1d_int32_axisNone", (PyCFunction)__pyx_pw_6nanmin_33nanmin_1d_int32_axisNone, METH_O, __pyx_doc_6nanmin_32nanmin_1d_int32_axisNone}; +static PyObject *__pyx_pw_6nanmin_33nanmin_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_32nanmin_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_1d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_32nanmin_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6990,345 +7160,258 @@ static PyObject *__pyx_pw_6nanmin_33nanmin_2d_float_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_32nanmin_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amin; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_32nanmin_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int32_t __pyx_v_amin; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_float_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmin_1d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmin.pyx":543 - * def nanmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Minimum of 2d array with dtype=float along axis=0 ignoring NaNs." + /* "nanmin.pyx":561 + * def nanmin_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): + * "Minimum of 1d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amin, ai - * cdef Py_ssize_t i0, i1 + * cdef np.int32_t amin, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":547 - * cdef Py_ssize_t i0, i1 + /* "nanmin.pyx":565 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":548 + /* "nanmin.pyx":566 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":549 + /* "nanmin.pyx":567 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmin.pyx":550 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "nanmin.pyx":551 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmin.pyx":553 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) * if n0 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":554 - * NPY_float, 0) + /* "nanmin.pyx":568 + * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i1 in range(n1): + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amin = MAXint32 */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":555 + /* "nanmin.pyx":569 * if n0 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * amin = MAXfloat + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amin = MAXint32 + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":556 - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * amin = MAXfloat - * allnan = 1 + /* "nanmin.pyx":570 + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amin = MAXint32 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_v_amin = __pyx_v_6nanmin_MAXint32; - /* "nanmin.pyx":557 - * raise ValueError(msg) - * for i1 in range(n1): - * amin = MAXfloat # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0): + /* "nanmin.pyx":571 + * raise ValueError(m) + * amin = MAXint32 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai <= amin: */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":558 - * for i1 in range(n1): - * amin = MAXfloat - * allnan = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanmin.pyx":572 + * amin = MAXint32 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_v_allnan = 1; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmin.pyx":559 - * amin = MAXfloat - * allnan = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai <= amin: + /* "nanmin.pyx":573 + * for i0 in range(n0): + * ai = a[i0] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * return np.int32(amin) */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":560 - * allnan = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + /* "nanmin.pyx":574 + * ai = a[i0] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * return np.int32(amin) + * */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmin.pyx":561 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * allnan = 0 - */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":562 - * ai = a[i0, i1] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: - */ - __pyx_v_amin = __pyx_v_ai; - - /* "nanmin.pyx":563 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = amin - */ - __pyx_v_allnan = 0; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "nanmin.pyx":564 - * amin = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = amin - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":565 - * allnan = 0 - * if allnan == 0: - * y[i1] = amin # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN - */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; - goto __pyx_L9; - } - /*else*/ { - - /* "nanmin.pyx":567 - * y[i1] = amin - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_9 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; + __pyx_v_amin = __pyx_v_ai; + goto __pyx_L6; } - __pyx_L9:; + __pyx_L6:; } - /* "nanmin.pyx":568 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmin.pyx":575 + * if ai <= amin: + * amin = ai + * return np.int32(amin) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanmin.pyx":541 + /* "nanmin.pyx":559 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=0 ignoring NaNs." + * def nanmin_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":572 +/* "nanmin.pyx":579 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=1 ignoring NaNs." + * def nanmin_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_35nanmin_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_34nanmin_2d_float_axis1[] = "nanmin_2d_float_axis1(ndarray a)\nMinimum of 2d array with dtype=float along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_35nanmin_2d_float_axis1 = {"nanmin_2d_float_axis1", (PyCFunction)__pyx_pw_6nanmin_35nanmin_2d_float_axis1, METH_O, __pyx_doc_6nanmin_34nanmin_2d_float_axis1}; -static PyObject *__pyx_pw_6nanmin_35nanmin_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_35nanmin_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_34nanmin_1d_int64_axisNone[] = "nanmin_1d_int64_axisNone(ndarray a)\nMinimum of 1d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_35nanmin_1d_int64_axisNone = {"nanmin_1d_int64_axisNone", (PyCFunction)__pyx_pw_6nanmin_35nanmin_1d_int64_axisNone, METH_O, __pyx_doc_6nanmin_34nanmin_1d_int64_axisNone}; +static PyObject *__pyx_pw_6nanmin_35nanmin_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_float_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_34nanmin_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_1d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_34nanmin_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7339,345 +7422,258 @@ static PyObject *__pyx_pw_6nanmin_35nanmin_2d_float_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_34nanmin_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amin; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_34nanmin_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int64_t __pyx_v_amin; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_float_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmin_1d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmin.pyx":574 - * def nanmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Minimum of 2d array with dtype=float along axis=1 ignoring NaNs." + /* "nanmin.pyx":581 + * def nanmin_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): + * "Minimum of 1d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amin, ai - * cdef Py_ssize_t i0, i1 + * cdef np.int64_t amin, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":578 - * cdef Py_ssize_t i0, i1 + /* "nanmin.pyx":585 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":579 + /* "nanmin.pyx":586 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":580 + /* "nanmin.pyx":587 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":581 + /* "nanmin.pyx":588 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * if n0 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amin = MAXint64 */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":582 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * if n1 == 0: + /* "nanmin.pyx":589 + * if n0 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amin = MAXint64 + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmin.pyx":584 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { - /* "nanmin.pyx":585 - * NPY_float, 0) - * if n1 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) + /* "nanmin.pyx":590 + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amin = MAXint64 # <<<<<<<<<<<<<< * for i0 in range(n0): + * ai = a[i0] */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + __pyx_v_amin = __pyx_v_6nanmin_MAXint64; - /* "nanmin.pyx":586 - * if n1 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * amin = MAXfloat - */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - - /* "nanmin.pyx":587 - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) + /* "nanmin.pyx":591 + * raise ValueError(m) + * amin = MAXint64 * for i0 in range(n0): # <<<<<<<<<<<<<< - * amin = MAXfloat - * allnan = 1 + * ai = a[i0] + * if ai <= amin: */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":588 - * raise ValueError(msg) + /* "nanmin.pyx":592 + * amin = MAXint64 * for i0 in range(n0): - * amin = MAXfloat # <<<<<<<<<<<<<< - * allnan = 1 - * for i1 in range(n1): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmin.pyx":589 + /* "nanmin.pyx":593 * for i0 in range(n0): - * amin = MAXfloat - * allnan = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_allnan = 1; - - /* "nanmin.pyx":590 - * amin = MAXfloat - * allnan = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai <= amin: - */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; - - /* "nanmin.pyx":591 - * allnan = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai - */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmin.pyx":592 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * allnan = 0 - */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":593 - * ai = a[i0, i1] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: - */ - __pyx_v_amin = __pyx_v_ai; - - /* "nanmin.pyx":594 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = amin - */ - __pyx_v_allnan = 0; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "nanmin.pyx":595 - * amin = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = amin - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":596 - * allnan = 0 - * if allnan == 0: - * y[i0] = amin # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN + * ai = a[i0] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * return np.int64(amin) */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; - goto __pyx_L9; - } - /*else*/ { + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":598 - * y[i0] = amin - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y + /* "nanmin.pyx":594 + * ai = a[i0] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * return np.int64(amin) * */ - __pyx_t_9 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; + __pyx_v_amin = __pyx_v_ai; + goto __pyx_L6; } - __pyx_L9:; + __pyx_L6:; } - /* "nanmin.pyx":599 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmin.pyx":595 + * if ai <= amin: + * amin = ai + * return np.int64(amin) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanmin.pyx":572 + /* "nanmin.pyx":579 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=1 ignoring NaNs." + * def nanmin_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":603 +/* "nanmin.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * def nanmin_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_37nanmin_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_36nanmin_2d_float32_axis0[] = "nanmin_2d_float32_axis0(ndarray a)\nMinimum of 2d array with dtype=float32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_37nanmin_2d_float32_axis0 = {"nanmin_2d_float32_axis0", (PyCFunction)__pyx_pw_6nanmin_37nanmin_2d_float32_axis0, METH_O, __pyx_doc_6nanmin_36nanmin_2d_float32_axis0}; -static PyObject *__pyx_pw_6nanmin_37nanmin_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_37nanmin_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_36nanmin_2d_int_axisNone[] = "nanmin_2d_int_axisNone(ndarray a)\nMinimum of 2d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_37nanmin_2d_int_axisNone = {"nanmin_2d_int_axisNone", (PyCFunction)__pyx_pw_6nanmin_37nanmin_2d_int_axisNone, METH_O, __pyx_doc_6nanmin_36nanmin_2d_int_axisNone}; +static PyObject *__pyx_pw_6nanmin_37nanmin_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_36nanmin_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_36nanmin_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7688,63 +7684,56 @@ static PyObject *__pyx_pw_6nanmin_37nanmin_2d_float32_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_36nanmin_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amin; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_36nanmin_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int_t __pyx_v_amin; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_float32_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmin_2d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":605 - * def nanmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Minimum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + /* "nanmin.pyx":601 + * def nanmin_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): + * "Minimum of 2d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amin, ai + * cdef np.int_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":609 + /* "nanmin.pyx":605 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7753,280 +7742,227 @@ static PyObject *__pyx_pf_6nanmin_36nanmin_2d_float32_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":610 + /* "nanmin.pyx":606 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":611 + /* "nanmin.pyx":607 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":612 + /* "nanmin.pyx":608 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":613 + /* "nanmin.pyx":609 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmin.pyx":615 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":616 - * NPY_float32, 0) - * if n0 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i1 in range(n1): + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amin = MAXint */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":617 - * if n0 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * amin = MAXfloat32 + /* "nanmin.pyx":610 + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amin = MAXint + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":618 - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * amin = MAXfloat32 - * allnan = 1 - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanmin.pyx":619 - * raise ValueError(msg) - * for i1 in range(n1): - * amin = MAXfloat32 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0): + /* "nanmin.pyx":611 + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amin = MAXint # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat32; + __pyx_v_amin = __pyx_v_6nanmin_MAXint; - /* "nanmin.pyx":620 - * for i1 in range(n1): - * amin = MAXfloat32 - * allnan = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanmin.pyx":612 + * raise ValueError(m) + * amin = MAXint + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":621 - * amin = MAXfloat32 - * allnan = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "nanmin.pyx":613 + * amin = MAXint + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":622 - * allnan = 1 - * for i0 in range(n0): + /* "nanmin.pyx":614 + * for i0 in range(n0): + * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":623 - * for i0 in range(n0): + /* "nanmin.pyx":615 + * for i1 in range(n1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * return np.int(amin) */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":624 + /* "nanmin.pyx":616 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * return np.int(amin) + * */ __pyx_v_amin = __pyx_v_ai; - - /* "nanmin.pyx":625 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = amin - */ - __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - - /* "nanmin.pyx":626 - * amin = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = amin - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":627 - * allnan = 0 - * if allnan == 0: - * y[i1] = amin # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN - */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; - goto __pyx_L9; - } - /*else*/ { - - /* "nanmin.pyx":629 - * y[i1] = amin - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_9 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; - } - __pyx_L9:; } - /* "nanmin.pyx":630 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmin.pyx":617 + * if ai <= amin: + * amin = ai + * return np.int(amin) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanmin.pyx":603 + /* "nanmin.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * def nanmin_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":634 +/* "nanmin.pyx":621 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * def nanmin_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_39nanmin_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_38nanmin_2d_float32_axis1[] = "nanmin_2d_float32_axis1(ndarray a)\nMinimum of 2d array with dtype=float32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_39nanmin_2d_float32_axis1 = {"nanmin_2d_float32_axis1", (PyCFunction)__pyx_pw_6nanmin_39nanmin_2d_float32_axis1, METH_O, __pyx_doc_6nanmin_38nanmin_2d_float32_axis1}; -static PyObject *__pyx_pw_6nanmin_39nanmin_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_39nanmin_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_38nanmin_2d_int8_axisNone[] = "nanmin_2d_int8_axisNone(ndarray a)\nMinimum of 2d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_39nanmin_2d_int8_axisNone = {"nanmin_2d_int8_axisNone", (PyCFunction)__pyx_pw_6nanmin_39nanmin_2d_int8_axisNone, METH_O, __pyx_doc_6nanmin_38nanmin_2d_int8_axisNone}; +static PyObject *__pyx_pw_6nanmin_39nanmin_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_float32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_38nanmin_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_38nanmin_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8037,63 +7973,56 @@ static PyObject *__pyx_pw_6nanmin_39nanmin_2d_float32_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_38nanmin_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amin; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_38nanmin_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int8_t __pyx_v_amin; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_float32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmin_2d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":636 - * def nanmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Minimum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + /* "nanmin.pyx":623 + * def nanmin_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): + * "Minimum of 2d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amin, ai + * cdef np.int8_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":640 + /* "nanmin.pyx":627 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8102,280 +8031,227 @@ static PyObject *__pyx_pf_6nanmin_38nanmin_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":641 + /* "nanmin.pyx":628 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":642 + /* "nanmin.pyx":629 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":643 + /* "nanmin.pyx":630 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":644 + /* "nanmin.pyx":631 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) - * if n1 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmin.pyx":646 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":647 - * NPY_float32, 0) - * if n1 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i0 in range(n0): + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amin = MAXint8 */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":648 - * if n1 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< + /* "nanmin.pyx":632 + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amin = MAXint8 * for i0 in range(n0): - * amin = MAXfloat32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":649 - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * amin = MAXfloat32 - * allnan = 1 - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanmin.pyx":650 - * raise ValueError(msg) + /* "nanmin.pyx":633 + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amin = MAXint8 # <<<<<<<<<<<<<< * for i0 in range(n0): - * amin = MAXfloat32 # <<<<<<<<<<<<<< - * allnan = 1 * for i1 in range(n1): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat32; + __pyx_v_amin = __pyx_v_6nanmin_MAXint8; - /* "nanmin.pyx":651 - * for i0 in range(n0): - * amin = MAXfloat32 - * allnan = 1 # <<<<<<<<<<<<<< + /* "nanmin.pyx":634 + * raise ValueError(m) + * amin = MAXint8 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":652 - * amin = MAXfloat32 - * allnan = 1 + /* "nanmin.pyx":635 + * amin = MAXint8 + * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":653 - * allnan = 1 + /* "nanmin.pyx":636 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":654 + /* "nanmin.pyx":637 * for i1 in range(n1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * return np.int8(amin) */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":655 + /* "nanmin.pyx":638 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * return np.int8(amin) + * */ __pyx_v_amin = __pyx_v_ai; - - /* "nanmin.pyx":656 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = amin - */ - __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - - /* "nanmin.pyx":657 - * amin = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = amin - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":658 - * allnan = 0 - * if allnan == 0: - * y[i0] = amin # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN - */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; - goto __pyx_L9; - } - /*else*/ { - - /* "nanmin.pyx":660 - * y[i0] = amin - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_9 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; - } - __pyx_L9:; } - /* "nanmin.pyx":661 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmin.pyx":639 + * if ai <= amin: + * amin = ai + * return np.int8(amin) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int8); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanmin.pyx":634 + /* "nanmin.pyx":621 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * def nanmin_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":665 +/* "nanmin.pyx":643 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * def nanmin_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_41nanmin_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_40nanmin_2d_float64_axis0[] = "nanmin_2d_float64_axis0(ndarray a)\nMinimum of 2d array with dtype=float64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_41nanmin_2d_float64_axis0 = {"nanmin_2d_float64_axis0", (PyCFunction)__pyx_pw_6nanmin_41nanmin_2d_float64_axis0, METH_O, __pyx_doc_6nanmin_40nanmin_2d_float64_axis0}; -static PyObject *__pyx_pw_6nanmin_41nanmin_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_41nanmin_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_40nanmin_2d_int32_axisNone[] = "nanmin_2d_int32_axisNone(ndarray a)\nMinimum of 2d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_41nanmin_2d_int32_axisNone = {"nanmin_2d_int32_axisNone", (PyCFunction)__pyx_pw_6nanmin_41nanmin_2d_int32_axisNone, METH_O, __pyx_doc_6nanmin_40nanmin_2d_int32_axisNone}; +static PyObject *__pyx_pw_6nanmin_41nanmin_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_40nanmin_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_40nanmin_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8386,63 +8262,56 @@ static PyObject *__pyx_pw_6nanmin_41nanmin_2d_float64_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_40nanmin_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amin; - __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6nanmin_40nanmin_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int32_t __pyx_v_amin; + __pyx_t_5numpy_int32_t __pyx_v_ai; + Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_float64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmin_2d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":667 - * def nanmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Minimum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + /* "nanmin.pyx":645 + * def nanmin_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): + * "Minimum of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amin, ai + * cdef np.int32_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":671 + /* "nanmin.pyx":649 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8451,280 +8320,227 @@ static PyObject *__pyx_pf_6nanmin_40nanmin_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":672 + /* "nanmin.pyx":650 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":673 + /* "nanmin.pyx":651 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":674 + /* "nanmin.pyx":652 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":675 + /* "nanmin.pyx":653 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmin.pyx":677 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":678 - * NPY_float64, 0) - * if n0 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i1 in range(n1): + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amin = MAXint32 */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":679 - * if n0 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * amin = MAXfloat64 + /* "nanmin.pyx":654 + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amin = MAXint32 + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":680 - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * amin = MAXfloat64 - * allnan = 1 - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanmin.pyx":681 - * raise ValueError(msg) - * for i1 in range(n1): - * amin = MAXfloat64 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0): + /* "nanmin.pyx":655 + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amin = MAXint32 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat64; + __pyx_v_amin = __pyx_v_6nanmin_MAXint32; - /* "nanmin.pyx":682 - * for i1 in range(n1): - * amin = MAXfloat64 - * allnan = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanmin.pyx":656 + * raise ValueError(m) + * amin = MAXint32 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":683 - * amin = MAXfloat64 - * allnan = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "nanmin.pyx":657 + * amin = MAXint32 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":684 - * allnan = 1 - * for i0 in range(n0): + /* "nanmin.pyx":658 + * for i0 in range(n0): + * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":685 - * for i0 in range(n0): + /* "nanmin.pyx":659 + * for i1 in range(n1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * return np.int32(amin) */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":686 + /* "nanmin.pyx":660 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * return np.int32(amin) + * */ __pyx_v_amin = __pyx_v_ai; - - /* "nanmin.pyx":687 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = amin - */ - __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - - /* "nanmin.pyx":688 - * amin = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = amin - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":689 - * allnan = 0 - * if allnan == 0: - * y[i1] = amin # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN - */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; - goto __pyx_L9; - } - /*else*/ { - - /* "nanmin.pyx":691 - * y[i1] = amin - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_9 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; - } - __pyx_L9:; } - /* "nanmin.pyx":692 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmin.pyx":661 + * if ai <= amin: + * amin = ai + * return np.int32(amin) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "nanmin.pyx":665 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef int allnan = 1 - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "nanmin.pyx":643 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanmin_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef int allnan = 1 + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":696 +/* "nanmin.pyx":665 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * def nanmin_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_43nanmin_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_42nanmin_2d_float64_axis1[] = "nanmin_2d_float64_axis1(ndarray a)\nMinimum of 2d array with dtype=float64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_43nanmin_2d_float64_axis1 = {"nanmin_2d_float64_axis1", (PyCFunction)__pyx_pw_6nanmin_43nanmin_2d_float64_axis1, METH_O, __pyx_doc_6nanmin_42nanmin_2d_float64_axis1}; -static PyObject *__pyx_pw_6nanmin_43nanmin_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_43nanmin_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_42nanmin_2d_int64_axisNone[] = "nanmin_2d_int64_axisNone(ndarray a)\nMinimum of 2d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_43nanmin_2d_int64_axisNone = {"nanmin_2d_int64_axisNone", (PyCFunction)__pyx_pw_6nanmin_43nanmin_2d_int64_axisNone, METH_O, __pyx_doc_6nanmin_42nanmin_2d_int64_axisNone}; +static PyObject *__pyx_pw_6nanmin_43nanmin_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_float64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_42nanmin_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_42nanmin_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8735,63 +8551,56 @@ static PyObject *__pyx_pw_6nanmin_43nanmin_2d_float64_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_42nanmin_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amin; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_42nanmin_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int64_t __pyx_v_amin; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_float64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmin_2d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":698 - * def nanmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Minimum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + /* "nanmin.pyx":667 + * def nanmin_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): + * "Minimum of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amin, ai + * cdef np.int64_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":702 + /* "nanmin.pyx":671 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8800,280 +8609,227 @@ static PyObject *__pyx_pf_6nanmin_42nanmin_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":703 + /* "nanmin.pyx":672 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":704 + /* "nanmin.pyx":673 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":705 + /* "nanmin.pyx":674 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":706 + /* "nanmin.pyx":675 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmin.pyx":708 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":709 - * NPY_float64, 0) - * if n1 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i0 in range(n0): + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amin = MAXint64 */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":710 - * if n1 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< + /* "nanmin.pyx":676 + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amin = MAXint64 * for i0 in range(n0): - * amin = MAXfloat64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":711 - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * amin = MAXfloat64 - * allnan = 1 - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanmin.pyx":712 - * raise ValueError(msg) + /* "nanmin.pyx":677 + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amin = MAXint64 # <<<<<<<<<<<<<< * for i0 in range(n0): - * amin = MAXfloat64 # <<<<<<<<<<<<<< - * allnan = 1 * for i1 in range(n1): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat64; + __pyx_v_amin = __pyx_v_6nanmin_MAXint64; - /* "nanmin.pyx":713 - * for i0 in range(n0): - * amin = MAXfloat64 - * allnan = 1 # <<<<<<<<<<<<<< + /* "nanmin.pyx":678 + * raise ValueError(m) + * amin = MAXint64 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":714 - * amin = MAXfloat64 - * allnan = 1 + /* "nanmin.pyx":679 + * amin = MAXint64 + * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":715 - * allnan = 1 + /* "nanmin.pyx":680 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":716 + /* "nanmin.pyx":681 * for i1 in range(n1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * return np.int64(amin) */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":717 + /* "nanmin.pyx":682 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * return np.int64(amin) + * */ __pyx_v_amin = __pyx_v_ai; - - /* "nanmin.pyx":718 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = amin - */ - __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } + } - /* "nanmin.pyx":719 + /* "nanmin.pyx":683 + * if ai <= amin: * amin = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = amin - * else: + * return np.int64(amin) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":720 - * allnan = 0 - * if allnan == 0: - * y[i0] = amin # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN - */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; - goto __pyx_L9; - } - /*else*/ { - - /* "nanmin.pyx":722 - * y[i0] = amin - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_9 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); } - __pyx_L9:; } - - /* "nanmin.pyx":723 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanmin.pyx":696 + /* "nanmin.pyx":665 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * def nanmin_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":727 +/* "nanmin.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_45nanmin_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_44nanmin_1d_int_axisNone[] = "nanmin_1d_int_axisNone(ndarray a)\nMinimum of 1d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_45nanmin_1d_int_axisNone = {"nanmin_1d_int_axisNone", (PyCFunction)__pyx_pw_6nanmin_45nanmin_1d_int_axisNone, METH_O, __pyx_doc_6nanmin_44nanmin_1d_int_axisNone}; -static PyObject *__pyx_pw_6nanmin_45nanmin_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_45nanmin_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_44nanmin_2d_int_axis0[] = "nanmin_2d_int_axis0(ndarray a)\nMinimum of 2d array with dtype=int along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_45nanmin_2d_int_axis0 = {"nanmin_2d_int_axis0", (PyCFunction)__pyx_pw_6nanmin_45nanmin_2d_int_axis0, METH_O, __pyx_doc_6nanmin_44nanmin_2d_int_axis0}; +static PyObject *__pyx_pw_6nanmin_45nanmin_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_1d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_44nanmin_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_44nanmin_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9084,258 +8840,302 @@ static PyObject *__pyx_pw_6nanmin_45nanmin_1d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_44nanmin_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_44nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; __pyx_t_5numpy_int_t __pyx_v_amin; __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_m = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_1d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":729 - * def nanmin_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): - * "Minimum of 1d array with dtype=int along axis=None ignoring NaNs." + /* "nanmin.pyx":689 + * def nanmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Minimum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< * cdef np.int_t amin, ai - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":733 - * cdef Py_ssize_t i0 + /* "nanmin.pyx":693 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":734 + /* "nanmin.pyx":694 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":735 + /* "nanmin.pyx":695 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":736 + /* "nanmin.pyx":696 * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "nanmin.pyx":697 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int, 0) * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amin = MAXint */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanmin.pyx":699 + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanmin.pyx":737 + /* "nanmin.pyx":700 + * NPY_int, 0) * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXint - * for i0 in range(n0): + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i1 in range(n1): + */ + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + + /* "nanmin.pyx":701 + * if n0 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * amin = MAXint */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":738 - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amin = MAXint # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanmin.pyx":702 + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * amin = MAXint + * for i0 in range(n0): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":739 - * raise ValueError(m) - * amin = MAXint - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai <= amin: + /* "nanmin.pyx":703 + * raise ValueError(msg) + * for i1 in range(n1): + * amin = MAXint # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amin = __pyx_v_6nanmin_MAXint; - /* "nanmin.pyx":740 - * amin = MAXint - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + /* "nanmin.pyx":704 + * for i1 in range(n1): + * amin = MAXint + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai <= amin: */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "nanmin.pyx":741 - * for i0 in range(n0): - * ai = a[i0] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * return np.int(amin) + /* "nanmin.pyx":705 + * amin = MAXint + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":742 - * ai = a[i0] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * return np.int(amin) - * + /* "nanmin.pyx":706 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * y[i1] = amin */ - __pyx_v_amin = __pyx_v_ai; - goto __pyx_L6; + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":707 + * ai = a[i0, i1] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * y[i1] = amin + * return y + */ + __pyx_v_amin = __pyx_v_ai; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; + + /* "nanmin.pyx":708 + * if ai <= amin: + * amin = ai + * y[i1] = amin # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; } - /* "nanmin.pyx":743 - * if ai <= amin: - * amin = ai - * return np.int(amin) # <<<<<<<<<<<<<< + /* "nanmin.pyx":709 + * amin = ai + * y[i1] = amin + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":727 + /* "nanmin.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":747 +/* "nanmin.pyx":713 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_47nanmin_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_46nanmin_1d_int8_axisNone[] = "nanmin_1d_int8_axisNone(ndarray a)\nMinimum of 1d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_47nanmin_1d_int8_axisNone = {"nanmin_1d_int8_axisNone", (PyCFunction)__pyx_pw_6nanmin_47nanmin_1d_int8_axisNone, METH_O, __pyx_doc_6nanmin_46nanmin_1d_int8_axisNone}; -static PyObject *__pyx_pw_6nanmin_47nanmin_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_47nanmin_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_46nanmin_2d_int_axis1[] = "nanmin_2d_int_axis1(ndarray a)\nMinimum of 2d array with dtype=int along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_47nanmin_2d_int_axis1 = {"nanmin_2d_int_axis1", (PyCFunction)__pyx_pw_6nanmin_47nanmin_2d_int_axis1, METH_O, __pyx_doc_6nanmin_46nanmin_2d_int_axis1}; +static PyObject *__pyx_pw_6nanmin_47nanmin_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_1d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_46nanmin_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_46nanmin_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9346,258 +9146,302 @@ static PyObject *__pyx_pw_6nanmin_47nanmin_1d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_46nanmin_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_46nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amin; - __pyx_t_5numpy_int8_t __pyx_v_ai; + __pyx_t_5numpy_int_t __pyx_v_amin; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_m = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_1d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":749 - * def nanmin_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): - * "Minimum of 1d array with dtype=int8 along axis=None ignoring NaNs." + /* "nanmin.pyx":715 + * def nanmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Minimum of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amin, ai - * cdef Py_ssize_t i0 + * cdef np.int_t amin, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":753 - * cdef Py_ssize_t i0 + /* "nanmin.pyx":719 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":754 + /* "nanmin.pyx":720 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":755 + /* "nanmin.pyx":721 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":756 + /* "nanmin.pyx":722 * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amin = MAXint8 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":757 - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXint8 - * for i0 in range(n0): + /* "nanmin.pyx":723 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int, 0) + * if n1 == 0: */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmin.pyx":758 - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amin = MAXint8 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] - */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint8; - - /* "nanmin.pyx":759 - * raise ValueError(m) - * amin = MAXint8 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai <= amin: + /* "nanmin.pyx":725 + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { - /* "nanmin.pyx":760 - * amin = MAXint8 + /* "nanmin.pyx":726 + * NPY_int, 0) + * if n1 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; - /* "nanmin.pyx":761 + /* "nanmin.pyx":727 + * if n1 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * return np.int8(amin) + * amin = MAXint */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "nanmin.pyx":762 - * ai = a[i0] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * return np.int8(amin) - * + /* "nanmin.pyx":728 + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * amin = MAXint + * for i1 in range(n1): */ - __pyx_v_amin = __pyx_v_ai; - goto __pyx_L6; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; + + /* "nanmin.pyx":729 + * raise ValueError(msg) + * for i0 in range(n0): + * amin = MAXint # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_amin = __pyx_v_6nanmin_MAXint; + + /* "nanmin.pyx":730 + * for i0 in range(n0): + * amin = MAXint + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai <= amin: + */ + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; + + /* "nanmin.pyx":731 + * amin = MAXint + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai + */ + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "nanmin.pyx":732 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * y[i0] = amin + */ + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":733 + * ai = a[i0, i1] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * y[i0] = amin + * return y + */ + __pyx_v_amin = __pyx_v_ai; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; + + /* "nanmin.pyx":734 + * if ai <= amin: + * amin = ai + * y[i0] = amin # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; } - /* "nanmin.pyx":763 - * if ai <= amin: - * amin = ai - * return np.int8(amin) # <<<<<<<<<<<<<< + /* "nanmin.pyx":735 + * amin = ai + * y[i0] = amin + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":747 + /* "nanmin.pyx":713 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":767 +/* "nanmin.pyx":739 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_49nanmin_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_48nanmin_1d_int32_axisNone[] = "nanmin_1d_int32_axisNone(ndarray a)\nMinimum of 1d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_49nanmin_1d_int32_axisNone = {"nanmin_1d_int32_axisNone", (PyCFunction)__pyx_pw_6nanmin_49nanmin_1d_int32_axisNone, METH_O, __pyx_doc_6nanmin_48nanmin_1d_int32_axisNone}; -static PyObject *__pyx_pw_6nanmin_49nanmin_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_49nanmin_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_48nanmin_2d_int8_axis0[] = "nanmin_2d_int8_axis0(ndarray a)\nMinimum of 2d array with dtype=int8 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_49nanmin_2d_int8_axis0 = {"nanmin_2d_int8_axis0", (PyCFunction)__pyx_pw_6nanmin_49nanmin_2d_int8_axis0, METH_O, __pyx_doc_6nanmin_48nanmin_2d_int8_axis0}; +static PyObject *__pyx_pw_6nanmin_49nanmin_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_1d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_48nanmin_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_48nanmin_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9608,258 +9452,302 @@ static PyObject *__pyx_pw_6nanmin_49nanmin_1d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_48nanmin_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_48nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amin; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_amin; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_m = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_1d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_int8_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":769 - * def nanmin_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): - * "Minimum of 1d array with dtype=int32 along axis=None ignoring NaNs." + /* "nanmin.pyx":741 + * def nanmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Minimum of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amin, ai - * cdef Py_ssize_t i0 + * cdef np.int8_t amin, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":773 - * cdef Py_ssize_t i0 + /* "nanmin.pyx":745 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":774 + /* "nanmin.pyx":746 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":775 + /* "nanmin.pyx":747 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":776 + /* "nanmin.pyx":748 * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amin = MAXint32 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":777 + /* "nanmin.pyx":749 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int8, 0) * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXint32 - * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmin.pyx":778 - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amin = MAXint32 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanmin.pyx":751 + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint32; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanmin.pyx":779 - * raise ValueError(m) - * amin = MAXint32 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai <= amin: + /* "nanmin.pyx":752 + * NPY_int8, 0) + * if n0 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i1 in range(n1): */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; - /* "nanmin.pyx":780 - * amin = MAXint32 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + /* "nanmin.pyx":753 + * if n0 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * amin = MAXint8 */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "nanmin.pyx":781 - * for i0 in range(n0): - * ai = a[i0] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * return np.int32(amin) + /* "nanmin.pyx":754 + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * amin = MAXint8 + * for i0 in range(n0): */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":782 - * ai = a[i0] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * return np.int32(amin) - * + /* "nanmin.pyx":755 + * raise ValueError(msg) + * for i1 in range(n1): + * amin = MAXint8 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_ai; - goto __pyx_L6; + __pyx_v_amin = __pyx_v_6nanmin_MAXint8; + + /* "nanmin.pyx":756 + * for i1 in range(n1): + * amin = MAXint8 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai <= amin: + */ + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; + + /* "nanmin.pyx":757 + * amin = MAXint8 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai + */ + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "nanmin.pyx":758 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * y[i1] = amin + */ + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":759 + * ai = a[i0, i1] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * y[i1] = amin + * return y + */ + __pyx_v_amin = __pyx_v_ai; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; + + /* "nanmin.pyx":760 + * if ai <= amin: + * amin = ai + * y[i1] = amin # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; } - /* "nanmin.pyx":783 - * if ai <= amin: - * amin = ai - * return np.int32(amin) # <<<<<<<<<<<<<< + /* "nanmin.pyx":761 + * amin = ai + * y[i1] = amin + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":767 + /* "nanmin.pyx":739 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":787 +/* "nanmin.pyx":765 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_51nanmin_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_50nanmin_1d_int64_axisNone[] = "nanmin_1d_int64_axisNone(ndarray a)\nMinimum of 1d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_51nanmin_1d_int64_axisNone = {"nanmin_1d_int64_axisNone", (PyCFunction)__pyx_pw_6nanmin_51nanmin_1d_int64_axisNone, METH_O, __pyx_doc_6nanmin_50nanmin_1d_int64_axisNone}; -static PyObject *__pyx_pw_6nanmin_51nanmin_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_51nanmin_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_50nanmin_2d_int8_axis1[] = "nanmin_2d_int8_axis1(ndarray a)\nMinimum of 2d array with dtype=int8 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_51nanmin_2d_int8_axis1 = {"nanmin_2d_int8_axis1", (PyCFunction)__pyx_pw_6nanmin_51nanmin_2d_int8_axis1, METH_O, __pyx_doc_6nanmin_50nanmin_2d_int8_axis1}; +static PyObject *__pyx_pw_6nanmin_51nanmin_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_1d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_50nanmin_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int8_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_50nanmin_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9870,258 +9758,302 @@ static PyObject *__pyx_pw_6nanmin_51nanmin_1d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_50nanmin_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_50nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amin; - __pyx_t_5numpy_int64_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_amin; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_m = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_1d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_int8_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":789 - * def nanmin_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): - * "Minimum of 1d array with dtype=int64 along axis=None ignoring NaNs." + /* "nanmin.pyx":767 + * def nanmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Minimum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amin, ai - * cdef Py_ssize_t i0 + * cdef np.int8_t amin, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":793 - * cdef Py_ssize_t i0 + /* "nanmin.pyx":771 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":794 + /* "nanmin.pyx":772 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":795 + /* "nanmin.pyx":773 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":796 + /* "nanmin.pyx":774 * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amin = MAXint64 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":797 - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXint64 - * for i0 in range(n0): + /* "nanmin.pyx":775 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int8, 0) + * if n1 == 0: */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmin.pyx":798 - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amin = MAXint64 # <<<<<<<<<<<<<< + /* "nanmin.pyx":777 + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":778 + * NPY_int8, 0) + * if n1 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) * for i0 in range(n0): - * ai = a[i0] */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint64; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; - /* "nanmin.pyx":799 - * raise ValueError(m) - * amin = MAXint64 + /* "nanmin.pyx":779 + * if n1 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * amin = MAXint8 + */ + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + + /* "nanmin.pyx":780 + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai <= amin: + * amin = MAXint8 + * for i1 in range(n1): */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanmin.pyx":800 - * amin = MAXint64 + /* "nanmin.pyx":781 + * raise ValueError(msg) * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + * amin = MAXint8 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_amin = __pyx_v_6nanmin_MAXint8; - /* "nanmin.pyx":801 + /* "nanmin.pyx":782 * for i0 in range(n0): - * ai = a[i0] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * return np.int64(amin) + * amin = MAXint8 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai <= amin: */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "nanmin.pyx":802 - * ai = a[i0] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * return np.int64(amin) - * + /* "nanmin.pyx":783 + * amin = MAXint8 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_v_amin = __pyx_v_ai; - goto __pyx_L6; + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "nanmin.pyx":784 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * y[i0] = amin + */ + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":785 + * ai = a[i0, i1] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * y[i0] = amin + * return y + */ + __pyx_v_amin = __pyx_v_ai; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; - } - /* "nanmin.pyx":803 - * if ai <= amin: - * amin = ai - * return np.int64(amin) # <<<<<<<<<<<<<< + /* "nanmin.pyx":786 + * if ai <= amin: + * amin = ai + * y[i0] = amin # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + } /* "nanmin.pyx":787 + * amin = ai + * y[i0] = amin + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "nanmin.pyx":765 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":807 +/* "nanmin.pyx":791 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_53nanmin_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_52nanmin_2d_int_axisNone[] = "nanmin_2d_int_axisNone(ndarray a)\nMinimum of 2d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_53nanmin_2d_int_axisNone = {"nanmin_2d_int_axisNone", (PyCFunction)__pyx_pw_6nanmin_53nanmin_2d_int_axisNone, METH_O, __pyx_doc_6nanmin_52nanmin_2d_int_axisNone}; -static PyObject *__pyx_pw_6nanmin_53nanmin_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_53nanmin_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_52nanmin_2d_int32_axis0[] = "nanmin_2d_int32_axis0(ndarray a)\nMinimum of 2d array with dtype=int32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_53nanmin_2d_int32_axis0 = {"nanmin_2d_int32_axis0", (PyCFunction)__pyx_pw_6nanmin_53nanmin_2d_int32_axis0, METH_O, __pyx_doc_6nanmin_52nanmin_2d_int32_axis0}; +static PyObject *__pyx_pw_6nanmin_53nanmin_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_52nanmin_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_52nanmin_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10132,56 +10064,63 @@ static PyObject *__pyx_pw_6nanmin_53nanmin_2d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_52nanmin_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_52nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amin; - __pyx_t_5numpy_int_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_amin; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_m = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_int32_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":809 - * def nanmin_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): - * "Minimum of 2d array with dtype=int along axis=None ignoring NaNs." + /* "nanmin.pyx":793 + * def nanmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Minimum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amin, ai + * cdef np.int32_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":813 + /* "nanmin.pyx":797 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10190,227 +10129,237 @@ static PyObject *__pyx_pf_6nanmin_52nanmin_2d_int_axisNone(CYTHON_UNUSED PyObjec */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":814 + /* "nanmin.pyx":798 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":815 + /* "nanmin.pyx":799 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":816 + /* "nanmin.pyx":800 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":817 + /* "nanmin.pyx":801 * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amin = MAXint + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int32, 0) + * if n0 == 0: */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmin.pyx":818 - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXint - * for i0 in range(n0): + /* "nanmin.pyx":803 + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":804 + * NPY_int32, 0) + * if n0 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i1 in range(n1): + */ + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + + /* "nanmin.pyx":805 + * if n0 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * amin = MAXint32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":819 - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amin = MAXint # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanmin.pyx":806 + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * amin = MAXint32 + * for i0 in range(n0): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":820 - * raise ValueError(m) - * amin = MAXint - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): + /* "nanmin.pyx":807 + * raise ValueError(msg) + * for i1 in range(n1): + * amin = MAXint32 # <<<<<<<<<<<<<< + * for i0 in range(n0): * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amin = __pyx_v_6nanmin_MAXint32; - /* "nanmin.pyx":821 - * amin = MAXint - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "nanmin.pyx":808 + * for i1 in range(n1): + * amin = MAXint32 + * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "nanmin.pyx":822 - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanmin.pyx":809 + * amin = MAXint32 + * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":823 - * for i1 in range(n1): + /* "nanmin.pyx":810 + * for i0 in range(n0): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * return np.int(amin) + * y[i1] = amin */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { - /* "nanmin.pyx":824 + /* "nanmin.pyx":811 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * return np.int(amin) - * + * y[i1] = amin + * return y */ __pyx_v_amin = __pyx_v_ai; goto __pyx_L8; } __pyx_L8:; } - } - /* "nanmin.pyx":825 + /* "nanmin.pyx":812 * if ai <= amin: * amin = ai - * return np.int(amin) # <<<<<<<<<<<<<< + * y[i1] = amin # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + + /* "nanmin.pyx":813 + * amin = ai + * y[i1] = amin + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":807 + /* "nanmin.pyx":791 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":829 +/* "nanmin.pyx":817 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_55nanmin_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_54nanmin_2d_int8_axisNone[] = "nanmin_2d_int8_axisNone(ndarray a)\nMinimum of 2d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_55nanmin_2d_int8_axisNone = {"nanmin_2d_int8_axisNone", (PyCFunction)__pyx_pw_6nanmin_55nanmin_2d_int8_axisNone, METH_O, __pyx_doc_6nanmin_54nanmin_2d_int8_axisNone}; -static PyObject *__pyx_pw_6nanmin_55nanmin_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_55nanmin_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_54nanmin_2d_int32_axis1[] = "nanmin_2d_int32_axis1(ndarray a)\nMinimum of 2d array with dtype=int32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_55nanmin_2d_int32_axis1 = {"nanmin_2d_int32_axis1", (PyCFunction)__pyx_pw_6nanmin_55nanmin_2d_int32_axis1, METH_O, __pyx_doc_6nanmin_54nanmin_2d_int32_axis1}; +static PyObject *__pyx_pw_6nanmin_55nanmin_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_54nanmin_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_54nanmin_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10421,56 +10370,63 @@ static PyObject *__pyx_pw_6nanmin_55nanmin_2d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_54nanmin_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_54nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amin; - __pyx_t_5numpy_int8_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_amin; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_m = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_int32_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":831 - * def nanmin_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): - * "Minimum of 2d array with dtype=int8 along axis=None ignoring NaNs." + /* "nanmin.pyx":819 + * def nanmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Minimum of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amin, ai + * cdef np.int32_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":835 + /* "nanmin.pyx":823 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10479,227 +10435,237 @@ static PyObject *__pyx_pf_6nanmin_54nanmin_2d_int8_axisNone(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":836 + /* "nanmin.pyx":824 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":837 + /* "nanmin.pyx":825 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":838 + /* "nanmin.pyx":826 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":839 + /* "nanmin.pyx":827 * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amin = MAXint8 + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int32, 0) + * if n1 == 0: */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmin.pyx":840 - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXint8 + /* "nanmin.pyx":829 + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":830 + * NPY_int32, 0) + * if n1 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i0 in range(n0): + */ + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + + /* "nanmin.pyx":831 + * if n1 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): + * amin = MAXint32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":841 - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amin = MAXint8 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanmin.pyx":832 + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * amin = MAXint32 * for i1 in range(n1): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint8; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanmin.pyx":842 - * raise ValueError(m) - * amin = MAXint8 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "nanmin.pyx":833 + * raise ValueError(msg) + * for i0 in range(n0): + * amin = MAXint32 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amin = __pyx_v_6nanmin_MAXint32; - /* "nanmin.pyx":843 - * amin = MAXint8 + /* "nanmin.pyx":834 * for i0 in range(n0): + * amin = MAXint32 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "nanmin.pyx":844 - * for i0 in range(n0): + /* "nanmin.pyx":835 + * amin = MAXint32 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":845 + /* "nanmin.pyx":836 * for i1 in range(n1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * return np.int8(amin) + * y[i0] = amin */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { - /* "nanmin.pyx":846 + /* "nanmin.pyx":837 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * return np.int8(amin) - * + * y[i0] = amin + * return y */ __pyx_v_amin = __pyx_v_ai; goto __pyx_L8; } __pyx_L8:; } - } - /* "nanmin.pyx":847 + /* "nanmin.pyx":838 * if ai <= amin: * amin = ai - * return np.int8(amin) # <<<<<<<<<<<<<< + * y[i0] = amin # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + } + + /* "nanmin.pyx":839 + * amin = ai + * y[i0] = amin + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int8); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":829 + /* "nanmin.pyx":817 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":851 +/* "nanmin.pyx":843 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_57nanmin_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_56nanmin_2d_int32_axisNone[] = "nanmin_2d_int32_axisNone(ndarray a)\nMinimum of 2d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_57nanmin_2d_int32_axisNone = {"nanmin_2d_int32_axisNone", (PyCFunction)__pyx_pw_6nanmin_57nanmin_2d_int32_axisNone, METH_O, __pyx_doc_6nanmin_56nanmin_2d_int32_axisNone}; -static PyObject *__pyx_pw_6nanmin_57nanmin_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_57nanmin_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_56nanmin_2d_int64_axis0[] = "nanmin_2d_int64_axis0(ndarray a)\nMinimum of 2d array with dtype=int64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_57nanmin_2d_int64_axis0 = {"nanmin_2d_int64_axis0", (PyCFunction)__pyx_pw_6nanmin_57nanmin_2d_int64_axis0, METH_O, __pyx_doc_6nanmin_56nanmin_2d_int64_axis0}; +static PyObject *__pyx_pw_6nanmin_57nanmin_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_56nanmin_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_56nanmin_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10710,56 +10676,63 @@ static PyObject *__pyx_pw_6nanmin_57nanmin_2d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_56nanmin_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_56nanmin_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amin; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_int64_t __pyx_v_amin; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_m = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_int64_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":853 - * def nanmin_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): - * "Minimum of 2d array with dtype=int32 along axis=None ignoring NaNs." + /* "nanmin.pyx":845 + * def nanmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Minimum of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amin, ai + * cdef np.int64_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":857 + /* "nanmin.pyx":849 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10768,227 +10741,237 @@ static PyObject *__pyx_pf_6nanmin_56nanmin_2d_int32_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":858 + /* "nanmin.pyx":850 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":859 + /* "nanmin.pyx":851 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":860 + /* "nanmin.pyx":852 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":861 + /* "nanmin.pyx":853 * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amin = MAXint32 + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int64, 0) + * if n0 == 0: */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmin.pyx":862 - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXint32 - * for i0 in range(n0): + /* "nanmin.pyx":855 + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":856 + * NPY_int64, 0) + * if n0 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i1 in range(n1): + */ + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + + /* "nanmin.pyx":857 + * if n0 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * amin = MAXint64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":863 - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amin = MAXint32 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanmin.pyx":858 + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * amin = MAXint64 + * for i0 in range(n0): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint32; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":864 - * raise ValueError(m) - * amin = MAXint32 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): + /* "nanmin.pyx":859 + * raise ValueError(msg) + * for i1 in range(n1): + * amin = MAXint64 # <<<<<<<<<<<<<< + * for i0 in range(n0): * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amin = __pyx_v_6nanmin_MAXint64; - /* "nanmin.pyx":865 - * amin = MAXint32 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "nanmin.pyx":860 + * for i1 in range(n1): + * amin = MAXint64 + * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "nanmin.pyx":866 - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanmin.pyx":861 + * amin = MAXint64 + * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":867 - * for i1 in range(n1): + /* "nanmin.pyx":862 + * for i0 in range(n0): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * return np.int32(amin) + * y[i1] = amin */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { - /* "nanmin.pyx":868 + /* "nanmin.pyx":863 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * return np.int32(amin) - * + * y[i1] = amin + * return y */ __pyx_v_amin = __pyx_v_ai; goto __pyx_L8; } __pyx_L8:; } - } - /* "nanmin.pyx":869 + /* "nanmin.pyx":864 * if ai <= amin: * amin = ai - * return np.int32(amin) # <<<<<<<<<<<<<< + * y[i1] = amin # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + } + + /* "nanmin.pyx":865 + * amin = ai + * y[i1] = amin + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":851 + /* "nanmin.pyx":843 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":873 +/* "nanmin.pyx":869 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_59nanmin_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_58nanmin_2d_int64_axisNone[] = "nanmin_2d_int64_axisNone(ndarray a)\nMinimum of 2d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_59nanmin_2d_int64_axisNone = {"nanmin_2d_int64_axisNone", (PyCFunction)__pyx_pw_6nanmin_59nanmin_2d_int64_axisNone, METH_O, __pyx_doc_6nanmin_58nanmin_2d_int64_axisNone}; -static PyObject *__pyx_pw_6nanmin_59nanmin_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_59nanmin_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_58nanmin_2d_int64_axis1[] = "nanmin_2d_int64_axis1(ndarray a)\nMinimum of 2d array with dtype=int64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_59nanmin_2d_int64_axis1 = {"nanmin_2d_int64_axis1", (PyCFunction)__pyx_pw_6nanmin_59nanmin_2d_int64_axis1, METH_O, __pyx_doc_6nanmin_58nanmin_2d_int64_axis1}; +static PyObject *__pyx_pw_6nanmin_59nanmin_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_58nanmin_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_58nanmin_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10999,7 +10982,7 @@ static PyObject *__pyx_pw_6nanmin_59nanmin_2d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_58nanmin_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_58nanmin_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; __pyx_t_5numpy_int64_t __pyx_v_amin; __pyx_t_5numpy_int64_t __pyx_v_ai; @@ -11008,47 +10991,54 @@ static PyObject *__pyx_pf_6nanmin_58nanmin_2d_int64_axisNone(CYTHON_UNUSED PyObj npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_m = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_int64_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":875 - * def nanmin_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): - * "Minimum of 2d array with dtype=int64 along axis=None ignoring NaNs." + /* "nanmin.pyx":871 + * def nanmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Minimum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< * cdef np.int64_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":879 + /* "nanmin.pyx":875 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -11057,208 +11047,218 @@ static PyObject *__pyx_pf_6nanmin_58nanmin_2d_int64_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":880 + /* "nanmin.pyx":876 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":881 + /* "nanmin.pyx":877 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":882 + /* "nanmin.pyx":878 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":883 + /* "nanmin.pyx":879 * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amin = MAXint64 + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int64, 0) + * if n1 == 0: */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmin.pyx":884 - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXint64 + /* "nanmin.pyx":881 + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":882 + * NPY_int64, 0) + * if n1 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i0 in range(n0): + */ + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + + /* "nanmin.pyx":883 + * if n1 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): + * amin = MAXint64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":885 - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amin = MAXint64 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanmin.pyx":884 + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * amin = MAXint64 * for i1 in range(n1): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint64; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanmin.pyx":886 - * raise ValueError(m) - * amin = MAXint64 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "nanmin.pyx":885 + * raise ValueError(msg) + * for i0 in range(n0): + * amin = MAXint64 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amin = __pyx_v_6nanmin_MAXint64; - /* "nanmin.pyx":887 - * amin = MAXint64 + /* "nanmin.pyx":886 * for i0 in range(n0): + * amin = MAXint64 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "nanmin.pyx":888 - * for i0 in range(n0): + /* "nanmin.pyx":887 + * amin = MAXint64 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":889 + /* "nanmin.pyx":888 * for i1 in range(n1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * return np.int64(amin) + * y[i0] = amin */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { - /* "nanmin.pyx":890 + /* "nanmin.pyx":889 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * return np.int64(amin) - * + * y[i0] = amin + * return y */ __pyx_v_amin = __pyx_v_ai; goto __pyx_L8; } __pyx_L8:; } + + /* "nanmin.pyx":890 + * if ai <= amin: + * amin = ai + * y[i0] = amin # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; } /* "nanmin.pyx":891 - * if ai <= amin: * amin = ai - * return np.int64(amin) # <<<<<<<<<<<<<< + * y[i0] = amin + * return y # <<<<<<<<<<<<<< * * cdef dict nanmin_dict = {} */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":873 + /* "nanmin.pyx":869 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "nanmin.pyx":930 - * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone + * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 * * def nanmin_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmin along axis 0." @@ -11326,7 +11326,7 @@ static PyObject *__pyx_pf_6nanmin_60nanmin_slow_axis0(CYTHON_UNUSED PyObject *__ goto __pyx_L0; /* "nanmin.pyx":930 - * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone + * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 * * def nanmin_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmin along axis 0." @@ -14317,7 +14317,7 @@ static PyObject *__pyx_pf_6nanmin_126nanmin_slow_axisNone(CYTHON_UNUSED PyObject return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -14367,7 +14367,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -14380,7 +14380,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -14389,7 +14389,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -14398,7 +14398,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -14407,7 +14407,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -14417,7 +14417,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -14429,7 +14429,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -14440,7 +14440,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -14456,7 +14456,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -14468,7 +14468,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -14482,7 +14482,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -14498,7 +14498,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -14510,7 +14510,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -14524,7 +14524,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -14533,7 +14533,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -14542,7 +14542,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -14552,7 +14552,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -14561,7 +14561,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -14570,7 +14570,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -14581,7 +14581,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -14590,7 +14590,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -14603,7 +14603,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -14612,7 +14612,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -14623,7 +14623,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -14632,7 +14632,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -14641,7 +14641,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -14650,7 +14650,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -14659,7 +14659,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -14671,7 +14671,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -14680,7 +14680,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -14700,7 +14700,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -14716,7 +14716,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -14731,7 +14731,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -14741,7 +14741,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -14751,7 +14751,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -14774,7 +14774,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -14794,7 +14794,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14808,7 +14808,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -14817,7 +14817,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -14828,7 +14828,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -14839,7 +14839,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -14850,7 +14850,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -14861,7 +14861,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -14872,7 +14872,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -14883,7 +14883,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -14894,7 +14894,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -14905,7 +14905,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -14916,7 +14916,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -14927,7 +14927,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -14938,7 +14938,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -14949,7 +14949,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -14960,7 +14960,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -14971,7 +14971,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -14982,7 +14982,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -14993,7 +14993,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -15005,7 +15005,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -15031,7 +15031,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -15040,7 +15040,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -15052,7 +15052,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -15061,7 +15061,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -15070,7 +15070,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -15079,7 +15079,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -15089,7 +15089,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -15099,7 +15099,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -15131,7 +15131,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -15155,7 +15155,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -15165,7 +15165,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -15177,7 +15177,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -15187,7 +15187,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -15199,7 +15199,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -15211,7 +15211,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -15228,7 +15228,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -15242,7 +15242,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -15261,7 +15261,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -15278,7 +15278,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -15292,7 +15292,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -15311,7 +15311,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -15328,7 +15328,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -15342,7 +15342,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -15361,7 +15361,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -15378,7 +15378,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -15392,7 +15392,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -15411,7 +15411,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -15428,7 +15428,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -15442,7 +15442,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -15461,7 +15461,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -15493,7 +15493,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -15502,7 +15502,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -15511,7 +15511,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -15533,7 +15533,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -15546,7 +15546,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -15585,7 +15585,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -15602,7 +15602,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -15616,7 +15616,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -15639,7 +15639,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -15659,7 +15659,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -15673,7 +15673,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -15689,7 +15689,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -15698,7 +15698,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -15707,7 +15707,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -15718,7 +15718,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -15728,7 +15728,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -15738,7 +15738,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -15750,7 +15750,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -15760,7 +15760,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -15774,7 +15774,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -15792,7 +15792,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -15810,7 +15810,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -15828,7 +15828,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -15846,7 +15846,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -15864,7 +15864,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -15882,7 +15882,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -15900,7 +15900,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -15918,7 +15918,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -15936,7 +15936,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -15954,7 +15954,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -15972,7 +15972,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -15990,7 +15990,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -16008,7 +16008,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -16028,7 +16028,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -16048,7 +16048,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -16068,7 +16068,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -16087,7 +16087,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -16110,7 +16110,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -16122,7 +16122,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -16134,7 +16134,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -16144,7 +16144,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -16154,7 +16154,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -16179,7 +16179,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -16194,7 +16194,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -16205,7 +16205,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -16217,7 +16217,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -16226,7 +16226,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -16237,7 +16237,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -16246,7 +16246,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -16255,7 +16255,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -16267,7 +16267,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -16281,7 +16281,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -16291,7 +16291,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -16305,7 +16305,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -16316,7 +16316,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -16354,7 +16354,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -16368,6 +16367,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -16506,7 +16506,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -16517,7 +16517,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -16528,7 +16528,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -16539,7 +16539,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -16550,7 +16550,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -16561,7 +16561,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -16593,7 +16593,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":109 * return func(arr) @@ -16605,346 +16605,346 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_selector, 109, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_selector, 109, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=0 ignoring NaNs." + * def nanmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=0 ignoring NaNs." * cdef int allnan = 1 */ __pyx_tuple__13 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int_axis0, 183, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_float_axis0, 183, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":209 + /* "nanmin.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=1 ignoring NaNs." + * def nanmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__15 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__15 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int_axis1, 209, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_float_axis1, 214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":235 + /* "nanmin.pyx":245 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * def nanmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__17 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__17 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int8_axis0, 235, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_float32_axis0, 245, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":261 + /* "nanmin.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * def nanmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__19 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int8_axis1, 261, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_float32_axis1, 276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":287 + /* "nanmin.pyx":307 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * def nanmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__21 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int32_axis0, 287, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_float64_axis0, 307, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":313 + /* "nanmin.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * def nanmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__23 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int32_axis1, 313, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_float64_axis1, 338, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":339 + /* "nanmin.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * def nanmin_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__25 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int64_axis0, 339, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_1d_float_axisNone, 369, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":365 + /* "nanmin.pyx":393 * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=1 ignoring NaNs." + * @cython.wraparound(False) + * def nanmin_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__27 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int64_axis1, 365, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_1d_float32_axisNone, 393, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":391 + /* "nanmin.pyx":417 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmin_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__29 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_1d_float_axisNone, 391, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_1d_float64_axisNone, 417, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":415 + /* "nanmin.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmin_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__31 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_1d_float32_axisNone, 415, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_float_axisNone, 441, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":439 + /* "nanmin.pyx":467 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmin_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__33 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_1d_float64_axisNone, 439, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_float32_axisNone, 467, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":463 + /* "nanmin.pyx":493 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmin_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__35 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_float_axisNone, 463, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_float64_axisNone, 493, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":489 + /* "nanmin.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmin_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__37 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_float32_axisNone, 489, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_1d_int_axisNone, 519, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":515 + /* "nanmin.pyx":539 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmin_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__39 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_float64_axisNone, 515, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_1d_int8_axisNone, 539, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":541 + /* "nanmin.pyx":559 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=0 ignoring NaNs." + * def nanmin_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__41 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_float_axis0, 541, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_1d_int32_axisNone, 559, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":572 + /* "nanmin.pyx":579 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=1 ignoring NaNs." + * def nanmin_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__43 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_float_axis1, 572, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_1d_int64_axisNone, 579, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":603 + /* "nanmin.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * def nanmin_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__45 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_float32_axis0, 603, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int_axisNone, 599, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":634 + /* "nanmin.pyx":621 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * def nanmin_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__47 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_float32_axis1, 634, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int8_axisNone, 621, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":665 + /* "nanmin.pyx":643 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * def nanmin_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__49 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_float64_axis0, 665, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int32_axisNone, 643, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":696 + /* "nanmin.pyx":665 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * def nanmin_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__51 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_float64_axis1, 696, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int64_axisNone, 665, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":727 + /* "nanmin.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__53 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_1d_int_axisNone, 727, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int_axis0, 687, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":747 + /* "nanmin.pyx":713 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__55 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_1d_int8_axisNone, 747, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int_axis1, 713, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":767 + /* "nanmin.pyx":739 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__57 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_1d_int32_axisNone, 767, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int8_axis0, 739, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":787 + /* "nanmin.pyx":765 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__59 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_1d_int64_axisNone, 787, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int8_axis1, 765, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":807 + /* "nanmin.pyx":791 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__61 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int_axisNone, 807, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int32_axis0, 791, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":829 + /* "nanmin.pyx":817 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__63 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int8_axisNone, 829, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int32_axis1, 817, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":851 + /* "nanmin.pyx":843 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__65 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int32_axisNone, 851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int64_axis0, 843, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":873 + /* "nanmin.pyx":869 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__67 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int64_axisNone, 873, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int64_axis1, 869, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":930 - * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone + * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 * * def nanmin_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmin along axis 0." @@ -16953,7 +16953,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis0, 930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis0, 930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":934 * return bn.slow.nanmin(arr, axis=0) @@ -16965,7 +16965,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis1, 934, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis1, 934, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":938 * return bn.slow.nanmin(arr, axis=1) @@ -16977,7 +16977,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis2, 938, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis2, 938, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":942 * return bn.slow.nanmin(arr, axis=2) @@ -16989,7 +16989,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis3, 942, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis3, 942, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":946 * return bn.slow.nanmin(arr, axis=3) @@ -17001,7 +17001,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis4, 946, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis4, 946, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":950 * return bn.slow.nanmin(arr, axis=4) @@ -17013,7 +17013,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis5, 950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis5, 950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":954 * return bn.slow.nanmin(arr, axis=5) @@ -17025,7 +17025,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis6, 954, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis6, 954, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":958 * return bn.slow.nanmin(arr, axis=6) @@ -17037,7 +17037,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis7, 958, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis7, 958, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":962 * return bn.slow.nanmin(arr, axis=7) @@ -17049,7 +17049,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis8, 962, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis8, 962, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":966 * return bn.slow.nanmin(arr, axis=8) @@ -17061,7 +17061,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis9, 966, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis9, 966, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":970 * return bn.slow.nanmin(arr, axis=9) @@ -17073,7 +17073,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis10, 970, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis10, 970, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":974 * return bn.slow.nanmin(arr, axis=10) @@ -17085,7 +17085,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis11, 974, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis11, 974, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":978 * return bn.slow.nanmin(arr, axis=11) @@ -17097,7 +17097,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis12, 978, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis12, 978, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":982 * return bn.slow.nanmin(arr, axis=12) @@ -17109,7 +17109,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis13, 982, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis13, 982, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":986 * return bn.slow.nanmin(arr, axis=13) @@ -17121,7 +17121,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis14, 986, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis14, 986, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":990 * return bn.slow.nanmin(arr, axis=14) @@ -17133,7 +17133,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis15, 990, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis15, 990, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":994 * return bn.slow.nanmin(arr, axis=15) @@ -17145,7 +17145,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis16, 994, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis16, 994, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":998 * return bn.slow.nanmin(arr, axis=16) @@ -17157,7 +17157,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis17, 998, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis17, 998, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1002 * return bn.slow.nanmin(arr, axis=17) @@ -17169,7 +17169,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis18, 1002, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis18, 1002, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1006 * return bn.slow.nanmin(arr, axis=18) @@ -17181,7 +17181,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1006; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis19, 1006, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1006; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis19, 1006, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1006; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1010 * return bn.slow.nanmin(arr, axis=19) @@ -17193,7 +17193,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis20, 1010, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis20, 1010, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1014 * return bn.slow.nanmin(arr, axis=20) @@ -17205,7 +17205,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis21, 1014, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis21, 1014, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1018 * return bn.slow.nanmin(arr, axis=21) @@ -17217,7 +17217,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis22, 1018, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis22, 1018, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1022 * return bn.slow.nanmin(arr, axis=22) @@ -17229,7 +17229,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis23, 1022, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis23, 1022, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1026 * return bn.slow.nanmin(arr, axis=23) @@ -17241,7 +17241,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis24, 1026, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis24, 1026, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1030 * return bn.slow.nanmin(arr, axis=24) @@ -17253,7 +17253,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis25, 1030, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis25, 1030, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1034 * return bn.slow.nanmin(arr, axis=25) @@ -17265,7 +17265,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis26, 1034, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis26, 1034, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1038 * return bn.slow.nanmin(arr, axis=26) @@ -17277,7 +17277,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis27, 1038, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis27, 1038, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1042 * return bn.slow.nanmin(arr, axis=27) @@ -17289,7 +17289,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis28, 1042, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis28, 1042, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1046 * return bn.slow.nanmin(arr, axis=28) @@ -17301,7 +17301,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis29, 1046, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis29, 1046, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1050 * return bn.slow.nanmin(arr, axis=29) @@ -17313,7 +17313,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis30, 1050, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis30, 1050, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1054 * return bn.slow.nanmin(arr, axis=30) @@ -17325,7 +17325,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis31, 1054, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis31, 1054, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1058 * return bn.slow.nanmin(arr, axis=31) @@ -17337,7 +17337,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis32, 1058, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis32, 1058, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1062 * return bn.slow.nanmin(arr, axis=32) @@ -17349,7 +17349,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axisNone, 1062, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axisNone, 1062, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -18315,345 +18315,345 @@ PyMODINIT_FUNC PyInit_nanmin(void) /* "nanmin.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=0 ignoring NaNs." + * def nanmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_5nanmin_2d_int_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_5nanmin_2d_float_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":209 + /* "nanmin.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=1 ignoring NaNs." + * def nanmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_7nanmin_2d_int_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_7nanmin_2d_float_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":235 + /* "nanmin.pyx":245 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * def nanmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_9nanmin_2d_int8_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_9nanmin_2d_float32_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":261 + /* "nanmin.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * def nanmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_11nanmin_2d_int8_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_11nanmin_2d_float32_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":287 + /* "nanmin.pyx":307 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * def nanmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_13nanmin_2d_int32_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_13nanmin_2d_float64_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":313 + /* "nanmin.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * def nanmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_15nanmin_2d_int32_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_15nanmin_2d_float64_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":339 + /* "nanmin.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * def nanmin_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_17nanmin_2d_int64_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_17nanmin_1d_float_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":365 + /* "nanmin.pyx":393 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=1 ignoring NaNs." + * def nanmin_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_19nanmin_2d_int64_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_19nanmin_1d_float32_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":391 + /* "nanmin.pyx":417 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmin_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_21nanmin_1d_float_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_21nanmin_1d_float64_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":415 + /* "nanmin.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmin_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_23nanmin_1d_float32_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_23nanmin_2d_float_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":439 + /* "nanmin.pyx":467 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmin_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_25nanmin_1d_float64_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_25nanmin_2d_float32_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":463 + /* "nanmin.pyx":493 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmin_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_27nanmin_2d_float_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_27nanmin_2d_float64_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":489 + /* "nanmin.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmin_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_29nanmin_2d_float32_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_29nanmin_1d_int_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":515 + /* "nanmin.pyx":539 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmin_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_31nanmin_2d_float64_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_31nanmin_1d_int8_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":541 + /* "nanmin.pyx":559 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=0 ignoring NaNs." + * def nanmin_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_33nanmin_2d_float_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_33nanmin_1d_int32_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":572 + /* "nanmin.pyx":579 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=1 ignoring NaNs." + * def nanmin_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_35nanmin_2d_float_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_35nanmin_1d_int64_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":603 + /* "nanmin.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * def nanmin_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_37nanmin_2d_float32_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_37nanmin_2d_int_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":634 + /* "nanmin.pyx":621 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * def nanmin_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_39nanmin_2d_float32_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_39nanmin_2d_int8_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":665 + /* "nanmin.pyx":643 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * def nanmin_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_41nanmin_2d_float64_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_41nanmin_2d_int32_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":696 + /* "nanmin.pyx":665 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * def nanmin_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_43nanmin_2d_float64_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_43nanmin_2d_int64_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":727 + /* "nanmin.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_45nanmin_1d_int_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_45nanmin_2d_int_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":747 + /* "nanmin.pyx":713 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_47nanmin_1d_int8_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_47nanmin_2d_int_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":767 + /* "nanmin.pyx":739 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_49nanmin_1d_int32_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_49nanmin_2d_int8_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":787 + /* "nanmin.pyx":765 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_51nanmin_1d_int64_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_51nanmin_2d_int8_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":807 + /* "nanmin.pyx":791 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_53nanmin_2d_int_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_53nanmin_2d_int32_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":829 + /* "nanmin.pyx":817 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_55nanmin_2d_int8_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_55nanmin_2d_int32_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":851 + /* "nanmin.pyx":843 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_57nanmin_2d_int32_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_57nanmin_2d_int64_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":873 + /* "nanmin.pyx":869 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_59nanmin_2d_int64_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_59nanmin_2d_int64_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":893 - * return np.int64(amin) + * return y * * cdef dict nanmin_dict = {} # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int, 0)] = nanmin_2d_int_axis0 - * nanmin_dict[(2, NPY_int, 1)] = nanmin_2d_int_axis1 + * nanmin_dict[(2, NPY_float, 0)] = nanmin_2d_float_axis0 + * nanmin_dict[(2, NPY_float, 1)] = nanmin_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -18665,17 +18665,17 @@ PyMODINIT_FUNC PyInit_nanmin(void) /* "nanmin.pyx":894 * * cdef dict nanmin_dict = {} - * nanmin_dict[(2, NPY_int, 0)] = nanmin_2d_int_axis0 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int, 1)] = nanmin_2d_int_axis1 - * nanmin_dict[(2, NPY_int8, 0)] = nanmin_2d_int8_axis0 + * nanmin_dict[(2, NPY_float, 0)] = nanmin_2d_float_axis0 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float, 1)] = nanmin_2d_float_axis1 + * nanmin_dict[(2, NPY_float32, 0)] = nanmin_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18694,18 +18694,18 @@ PyMODINIT_FUNC PyInit_nanmin(void) /* "nanmin.pyx":895 * cdef dict nanmin_dict = {} - * nanmin_dict[(2, NPY_int, 0)] = nanmin_2d_int_axis0 - * nanmin_dict[(2, NPY_int, 1)] = nanmin_2d_int_axis1 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int8, 0)] = nanmin_2d_int8_axis0 - * nanmin_dict[(2, NPY_int8, 1)] = nanmin_2d_int8_axis1 + * nanmin_dict[(2, NPY_float, 0)] = nanmin_2d_float_axis0 + * nanmin_dict[(2, NPY_float, 1)] = nanmin_2d_float_axis1 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float32, 0)] = nanmin_2d_float32_axis0 + * nanmin_dict[(2, NPY_float32, 1)] = nanmin_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18723,19 +18723,19 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":896 - * nanmin_dict[(2, NPY_int, 0)] = nanmin_2d_int_axis0 - * nanmin_dict[(2, NPY_int, 1)] = nanmin_2d_int_axis1 - * nanmin_dict[(2, NPY_int8, 0)] = nanmin_2d_int8_axis0 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int8, 1)] = nanmin_2d_int8_axis1 - * nanmin_dict[(2, NPY_int32, 0)] = nanmin_2d_int32_axis0 + * nanmin_dict[(2, NPY_float, 0)] = nanmin_2d_float_axis0 + * nanmin_dict[(2, NPY_float, 1)] = nanmin_2d_float_axis1 + * nanmin_dict[(2, NPY_float32, 0)] = nanmin_2d_float32_axis0 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float32, 1)] = nanmin_2d_float32_axis1 + * nanmin_dict[(2, NPY_float64, 0)] = nanmin_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18753,19 +18753,19 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":897 - * nanmin_dict[(2, NPY_int, 1)] = nanmin_2d_int_axis1 - * nanmin_dict[(2, NPY_int8, 0)] = nanmin_2d_int8_axis0 - * nanmin_dict[(2, NPY_int8, 1)] = nanmin_2d_int8_axis1 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int32, 0)] = nanmin_2d_int32_axis0 - * nanmin_dict[(2, NPY_int32, 1)] = nanmin_2d_int32_axis1 + * nanmin_dict[(2, NPY_float, 1)] = nanmin_2d_float_axis1 + * nanmin_dict[(2, NPY_float32, 0)] = nanmin_2d_float32_axis0 + * nanmin_dict[(2, NPY_float32, 1)] = nanmin_2d_float32_axis1 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float64, 0)] = nanmin_2d_float64_axis0 + * nanmin_dict[(2, NPY_float64, 1)] = nanmin_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18783,19 +18783,19 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":898 - * nanmin_dict[(2, NPY_int8, 0)] = nanmin_2d_int8_axis0 - * nanmin_dict[(2, NPY_int8, 1)] = nanmin_2d_int8_axis1 - * nanmin_dict[(2, NPY_int32, 0)] = nanmin_2d_int32_axis0 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int32, 1)] = nanmin_2d_int32_axis1 - * nanmin_dict[(2, NPY_int64, 0)] = nanmin_2d_int64_axis0 + * nanmin_dict[(2, NPY_float32, 0)] = nanmin_2d_float32_axis0 + * nanmin_dict[(2, NPY_float32, 1)] = nanmin_2d_float32_axis1 + * nanmin_dict[(2, NPY_float64, 0)] = nanmin_2d_float64_axis0 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float64, 1)] = nanmin_2d_float64_axis1 + * nanmin_dict[(1, NPY_float, 0)] = nanmin_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18813,19 +18813,19 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":899 - * nanmin_dict[(2, NPY_int8, 1)] = nanmin_2d_int8_axis1 - * nanmin_dict[(2, NPY_int32, 0)] = nanmin_2d_int32_axis0 - * nanmin_dict[(2, NPY_int32, 1)] = nanmin_2d_int32_axis1 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int64, 0)] = nanmin_2d_int64_axis0 - * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 + * nanmin_dict[(2, NPY_float32, 1)] = nanmin_2d_float32_axis1 + * nanmin_dict[(2, NPY_float64, 0)] = nanmin_2d_float64_axis0 + * nanmin_dict[(2, NPY_float64, 1)] = nanmin_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float, 0)] = nanmin_1d_float_axisNone + * nanmin_dict[(1, NPY_float, None)] = nanmin_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18843,25 +18843,25 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":900 - * nanmin_dict[(2, NPY_int32, 0)] = nanmin_2d_int32_axis0 - * nanmin_dict[(2, NPY_int32, 1)] = nanmin_2d_int32_axis1 - * nanmin_dict[(2, NPY_int64, 0)] = nanmin_2d_int64_axis0 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 - * nanmin_dict[(1, NPY_float, 0)] = nanmin_1d_float_axisNone + * nanmin_dict[(2, NPY_float64, 0)] = nanmin_2d_float64_axis0 + * nanmin_dict[(2, NPY_float64, 1)] = nanmin_2d_float64_axis1 + * nanmin_dict[(1, NPY_float, 0)] = nanmin_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float, None)] = nanmin_1d_float_axisNone + * nanmin_dict[(1, NPY_float32, 0)] = nanmin_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -18873,49 +18873,49 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":901 - * nanmin_dict[(2, NPY_int32, 1)] = nanmin_2d_int32_axis1 - * nanmin_dict[(2, NPY_int64, 0)] = nanmin_2d_int64_axis0 - * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float64, 1)] = nanmin_2d_float64_axis1 * nanmin_dict[(1, NPY_float, 0)] = nanmin_1d_float_axisNone - * nanmin_dict[(1, NPY_float, None)] = nanmin_1d_float_axisNone + * nanmin_dict[(1, NPY_float, None)] = nanmin_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float32, 0)] = nanmin_1d_float32_axisNone + * nanmin_dict[(1, NPY_float32, None)] = nanmin_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":902 - * nanmin_dict[(2, NPY_int64, 0)] = nanmin_2d_int64_axis0 - * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 - * nanmin_dict[(1, NPY_float, 0)] = nanmin_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float, 0)] = nanmin_1d_float_axisNone * nanmin_dict[(1, NPY_float, None)] = nanmin_1d_float_axisNone - * nanmin_dict[(1, NPY_float32, 0)] = nanmin_1d_float32_axisNone + * nanmin_dict[(1, NPY_float32, 0)] = nanmin_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float32, None)] = nanmin_1d_float32_axisNone + * nanmin_dict[(1, NPY_float64, 0)] = nanmin_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18933,19 +18933,19 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":903 - * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 - * nanmin_dict[(1, NPY_float, 0)] = nanmin_1d_float_axisNone - * nanmin_dict[(1, NPY_float, None)] = nanmin_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float, None)] = nanmin_1d_float_axisNone * nanmin_dict[(1, NPY_float32, 0)] = nanmin_1d_float32_axisNone - * nanmin_dict[(1, NPY_float32, None)] = nanmin_1d_float32_axisNone + * nanmin_dict[(1, NPY_float32, None)] = nanmin_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float64, 0)] = nanmin_1d_float64_axisNone + * nanmin_dict[(1, NPY_float64, None)] = nanmin_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18963,19 +18963,19 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":904 - * nanmin_dict[(1, NPY_float, 0)] = nanmin_1d_float_axisNone - * nanmin_dict[(1, NPY_float, None)] = nanmin_1d_float_axisNone - * nanmin_dict[(1, NPY_float32, 0)] = nanmin_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float32, 0)] = nanmin_1d_float32_axisNone * nanmin_dict[(1, NPY_float32, None)] = nanmin_1d_float32_axisNone - * nanmin_dict[(1, NPY_float64, 0)] = nanmin_1d_float64_axisNone + * nanmin_dict[(1, NPY_float64, 0)] = nanmin_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float64, None)] = nanmin_1d_float64_axisNone + * nanmin_dict[(2, NPY_float, None)] = nanmin_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18993,19 +18993,19 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":905 - * nanmin_dict[(1, NPY_float, None)] = nanmin_1d_float_axisNone - * nanmin_dict[(1, NPY_float32, 0)] = nanmin_1d_float32_axisNone - * nanmin_dict[(1, NPY_float32, None)] = nanmin_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float32, None)] = nanmin_1d_float32_axisNone * nanmin_dict[(1, NPY_float64, 0)] = nanmin_1d_float64_axisNone - * nanmin_dict[(1, NPY_float64, None)] = nanmin_1d_float64_axisNone + * nanmin_dict[(1, NPY_float64, None)] = nanmin_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float, None)] = nanmin_2d_float_axisNone + * nanmin_dict[(2, NPY_float32, None)] = nanmin_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19023,55 +19023,55 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":906 - * nanmin_dict[(1, NPY_float32, 0)] = nanmin_1d_float32_axisNone - * nanmin_dict[(1, NPY_float32, None)] = nanmin_1d_float32_axisNone - * nanmin_dict[(1, NPY_float64, 0)] = nanmin_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float64, 0)] = nanmin_1d_float64_axisNone * nanmin_dict[(1, NPY_float64, None)] = nanmin_1d_float64_axisNone - * nanmin_dict[(2, NPY_float, None)] = nanmin_2d_float_axisNone + * nanmin_dict[(2, NPY_float, None)] = nanmin_2d_float_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float32, None)] = nanmin_2d_float32_axisNone + * nanmin_dict[(2, NPY_float64, None)] = nanmin_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":907 - * nanmin_dict[(1, NPY_float32, None)] = nanmin_1d_float32_axisNone - * nanmin_dict[(1, NPY_float64, 0)] = nanmin_1d_float64_axisNone - * nanmin_dict[(1, NPY_float64, None)] = nanmin_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float64, None)] = nanmin_1d_float64_axisNone * nanmin_dict[(2, NPY_float, None)] = nanmin_2d_float_axisNone - * nanmin_dict[(2, NPY_float32, None)] = nanmin_2d_float32_axisNone + * nanmin_dict[(2, NPY_float32, None)] = nanmin_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float64, None)] = nanmin_2d_float64_axisNone + * nanmin_dict[(1, NPY_int, 0)] = nanmin_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -19083,19 +19083,19 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":908 - * nanmin_dict[(1, NPY_float64, 0)] = nanmin_1d_float64_axisNone - * nanmin_dict[(1, NPY_float64, None)] = nanmin_1d_float64_axisNone - * nanmin_dict[(2, NPY_float, None)] = nanmin_2d_float_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float, None)] = nanmin_2d_float_axisNone * nanmin_dict[(2, NPY_float32, None)] = nanmin_2d_float32_axisNone - * nanmin_dict[(2, NPY_float64, None)] = nanmin_2d_float64_axisNone + * nanmin_dict[(2, NPY_float64, None)] = nanmin_2d_float64_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_int, 0)] = nanmin_1d_int_axisNone + * nanmin_dict[(1, NPY_int, None)] = nanmin_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19113,55 +19113,55 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":909 - * nanmin_dict[(1, NPY_float64, None)] = nanmin_1d_float64_axisNone - * nanmin_dict[(2, NPY_float, None)] = nanmin_2d_float_axisNone - * nanmin_dict[(2, NPY_float32, None)] = nanmin_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float32, None)] = nanmin_2d_float32_axisNone * nanmin_dict[(2, NPY_float64, None)] = nanmin_2d_float64_axisNone - * nanmin_dict[(2, NPY_float, 0)] = nanmin_2d_float_axis0 + * nanmin_dict[(1, NPY_int, 0)] = nanmin_1d_int_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_int, None)] = nanmin_1d_int_axisNone + * nanmin_dict[(1, NPY_int8, 0)] = nanmin_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":910 - * nanmin_dict[(2, NPY_float, None)] = nanmin_2d_float_axisNone - * nanmin_dict[(2, NPY_float32, None)] = nanmin_2d_float32_axisNone - * nanmin_dict[(2, NPY_float64, None)] = nanmin_2d_float64_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_float, 0)] = nanmin_2d_float_axis0 - * nanmin_dict[(2, NPY_float, 1)] = nanmin_2d_float_axis1 + * nanmin_dict[(2, NPY_float64, None)] = nanmin_2d_float64_axisNone + * nanmin_dict[(1, NPY_int, 0)] = nanmin_1d_int_axisNone + * nanmin_dict[(1, NPY_int, None)] = nanmin_1d_int_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_int8, 0)] = nanmin_1d_int8_axisNone + * nanmin_dict[(1, NPY_int8, None)] = nanmin_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -19173,25 +19173,25 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":911 - * nanmin_dict[(2, NPY_float32, None)] = nanmin_2d_float32_axisNone - * nanmin_dict[(2, NPY_float64, None)] = nanmin_2d_float64_axisNone - * nanmin_dict[(2, NPY_float, 0)] = nanmin_2d_float_axis0 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_float, 1)] = nanmin_2d_float_axis1 - * nanmin_dict[(2, NPY_float32, 0)] = nanmin_2d_float32_axis0 + * nanmin_dict[(1, NPY_int, 0)] = nanmin_1d_int_axisNone + * nanmin_dict[(1, NPY_int, None)] = nanmin_1d_int_axisNone + * nanmin_dict[(1, NPY_int8, 0)] = nanmin_1d_int8_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_int8, None)] = nanmin_1d_int8_axisNone + * nanmin_dict[(1, NPY_int32, 0)] = nanmin_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -19203,55 +19203,55 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":912 - * nanmin_dict[(2, NPY_float64, None)] = nanmin_2d_float64_axisNone - * nanmin_dict[(2, NPY_float, 0)] = nanmin_2d_float_axis0 - * nanmin_dict[(2, NPY_float, 1)] = nanmin_2d_float_axis1 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_float32, 0)] = nanmin_2d_float32_axis0 - * nanmin_dict[(2, NPY_float32, 1)] = nanmin_2d_float32_axis1 + * nanmin_dict[(1, NPY_int, None)] = nanmin_1d_int_axisNone + * nanmin_dict[(1, NPY_int8, 0)] = nanmin_1d_int8_axisNone + * nanmin_dict[(1, NPY_int8, None)] = nanmin_1d_int8_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_int32, 0)] = nanmin_1d_int32_axisNone + * nanmin_dict[(1, NPY_int32, None)] = nanmin_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":913 - * nanmin_dict[(2, NPY_float, 0)] = nanmin_2d_float_axis0 - * nanmin_dict[(2, NPY_float, 1)] = nanmin_2d_float_axis1 - * nanmin_dict[(2, NPY_float32, 0)] = nanmin_2d_float32_axis0 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_float32, 1)] = nanmin_2d_float32_axis1 - * nanmin_dict[(2, NPY_float64, 0)] = nanmin_2d_float64_axis0 + * nanmin_dict[(1, NPY_int8, 0)] = nanmin_1d_int8_axisNone + * nanmin_dict[(1, NPY_int8, None)] = nanmin_1d_int8_axisNone + * nanmin_dict[(1, NPY_int32, 0)] = nanmin_1d_int32_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_int32, None)] = nanmin_1d_int32_axisNone + * nanmin_dict[(1, NPY_int64, 0)] = nanmin_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -19263,55 +19263,55 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":914 - * nanmin_dict[(2, NPY_float, 1)] = nanmin_2d_float_axis1 - * nanmin_dict[(2, NPY_float32, 0)] = nanmin_2d_float32_axis0 - * nanmin_dict[(2, NPY_float32, 1)] = nanmin_2d_float32_axis1 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_float64, 0)] = nanmin_2d_float64_axis0 - * nanmin_dict[(2, NPY_float64, 1)] = nanmin_2d_float64_axis1 + * nanmin_dict[(1, NPY_int8, None)] = nanmin_1d_int8_axisNone + * nanmin_dict[(1, NPY_int32, 0)] = nanmin_1d_int32_axisNone + * nanmin_dict[(1, NPY_int32, None)] = nanmin_1d_int32_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_int64, 0)] = nanmin_1d_int64_axisNone + * nanmin_dict[(1, NPY_int64, None)] = nanmin_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":915 - * nanmin_dict[(2, NPY_float32, 0)] = nanmin_2d_float32_axis0 - * nanmin_dict[(2, NPY_float32, 1)] = nanmin_2d_float32_axis1 - * nanmin_dict[(2, NPY_float64, 0)] = nanmin_2d_float64_axis0 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_float64, 1)] = nanmin_2d_float64_axis1 - * nanmin_dict[(1, NPY_int, 0)] = nanmin_1d_int_axisNone + * nanmin_dict[(1, NPY_int32, 0)] = nanmin_1d_int32_axisNone + * nanmin_dict[(1, NPY_int32, None)] = nanmin_1d_int32_axisNone + * nanmin_dict[(1, NPY_int64, 0)] = nanmin_1d_int64_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_int64, None)] = nanmin_1d_int64_axisNone + * nanmin_dict[(2, NPY_int, None)] = nanmin_2d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -19323,43 +19323,43 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":916 - * nanmin_dict[(2, NPY_float32, 1)] = nanmin_2d_float32_axis1 - * nanmin_dict[(2, NPY_float64, 0)] = nanmin_2d_float64_axis0 - * nanmin_dict[(2, NPY_float64, 1)] = nanmin_2d_float64_axis1 # <<<<<<<<<<<<<< - * nanmin_dict[(1, NPY_int, 0)] = nanmin_1d_int_axisNone - * nanmin_dict[(1, NPY_int, None)] = nanmin_1d_int_axisNone + * nanmin_dict[(1, NPY_int32, None)] = nanmin_1d_int32_axisNone + * nanmin_dict[(1, NPY_int64, 0)] = nanmin_1d_int64_axisNone + * nanmin_dict[(1, NPY_int64, None)] = nanmin_1d_int64_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int, None)] = nanmin_2d_int_axisNone + * nanmin_dict[(2, NPY_int8, None)] = nanmin_2d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":917 - * nanmin_dict[(2, NPY_float64, 0)] = nanmin_2d_float64_axis0 - * nanmin_dict[(2, NPY_float64, 1)] = nanmin_2d_float64_axis1 - * nanmin_dict[(1, NPY_int, 0)] = nanmin_1d_int_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(1, NPY_int, None)] = nanmin_1d_int_axisNone - * nanmin_dict[(1, NPY_int8, 0)] = nanmin_1d_int8_axisNone + * nanmin_dict[(1, NPY_int64, 0)] = nanmin_1d_int64_axisNone + * nanmin_dict[(1, NPY_int64, None)] = nanmin_1d_int64_axisNone + * nanmin_dict[(2, NPY_int, None)] = nanmin_2d_int_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int8, None)] = nanmin_2d_int8_axisNone + * nanmin_dict[(2, NPY_int32, None)] = nanmin_2d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -19369,39 +19369,39 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":918 - * nanmin_dict[(2, NPY_float64, 1)] = nanmin_2d_float64_axis1 - * nanmin_dict[(1, NPY_int, 0)] = nanmin_1d_int_axisNone - * nanmin_dict[(1, NPY_int, None)] = nanmin_1d_int_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(1, NPY_int8, 0)] = nanmin_1d_int8_axisNone - * nanmin_dict[(1, NPY_int8, None)] = nanmin_1d_int8_axisNone + * nanmin_dict[(1, NPY_int64, None)] = nanmin_1d_int64_axisNone + * nanmin_dict[(2, NPY_int, None)] = nanmin_2d_int_axisNone + * nanmin_dict[(2, NPY_int8, None)] = nanmin_2d_int8_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int32, None)] = nanmin_2d_int32_axisNone + * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -19413,55 +19413,55 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":919 - * nanmin_dict[(1, NPY_int, 0)] = nanmin_1d_int_axisNone - * nanmin_dict[(1, NPY_int, None)] = nanmin_1d_int_axisNone - * nanmin_dict[(1, NPY_int8, 0)] = nanmin_1d_int8_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(1, NPY_int8, None)] = nanmin_1d_int8_axisNone - * nanmin_dict[(1, NPY_int32, 0)] = nanmin_1d_int32_axisNone + * nanmin_dict[(2, NPY_int, None)] = nanmin_2d_int_axisNone + * nanmin_dict[(2, NPY_int8, None)] = nanmin_2d_int8_axisNone + * nanmin_dict[(2, NPY_int32, None)] = nanmin_2d_int32_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone + * nanmin_dict[(2, NPY_int, 0)] = nanmin_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":920 - * nanmin_dict[(1, NPY_int, None)] = nanmin_1d_int_axisNone - * nanmin_dict[(1, NPY_int8, 0)] = nanmin_1d_int8_axisNone - * nanmin_dict[(1, NPY_int8, None)] = nanmin_1d_int8_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(1, NPY_int32, 0)] = nanmin_1d_int32_axisNone - * nanmin_dict[(1, NPY_int32, None)] = nanmin_1d_int32_axisNone + * nanmin_dict[(2, NPY_int8, None)] = nanmin_2d_int8_axisNone + * nanmin_dict[(2, NPY_int32, None)] = nanmin_2d_int32_axisNone + * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int, 0)] = nanmin_2d_int_axis0 + * nanmin_dict[(2, NPY_int, 1)] = nanmin_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -19473,25 +19473,25 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":921 - * nanmin_dict[(1, NPY_int8, 0)] = nanmin_1d_int8_axisNone - * nanmin_dict[(1, NPY_int8, None)] = nanmin_1d_int8_axisNone - * nanmin_dict[(1, NPY_int32, 0)] = nanmin_1d_int32_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(1, NPY_int32, None)] = nanmin_1d_int32_axisNone - * nanmin_dict[(1, NPY_int64, 0)] = nanmin_1d_int64_axisNone + * nanmin_dict[(2, NPY_int32, None)] = nanmin_2d_int32_axisNone + * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone + * nanmin_dict[(2, NPY_int, 0)] = nanmin_2d_int_axis0 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int, 1)] = nanmin_2d_int_axis1 + * nanmin_dict[(2, NPY_int8, 0)] = nanmin_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -19503,55 +19503,55 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":922 - * nanmin_dict[(1, NPY_int8, None)] = nanmin_1d_int8_axisNone - * nanmin_dict[(1, NPY_int32, 0)] = nanmin_1d_int32_axisNone - * nanmin_dict[(1, NPY_int32, None)] = nanmin_1d_int32_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(1, NPY_int64, 0)] = nanmin_1d_int64_axisNone - * nanmin_dict[(1, NPY_int64, None)] = nanmin_1d_int64_axisNone + * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone + * nanmin_dict[(2, NPY_int, 0)] = nanmin_2d_int_axis0 + * nanmin_dict[(2, NPY_int, 1)] = nanmin_2d_int_axis1 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int8, 0)] = nanmin_2d_int8_axis0 + * nanmin_dict[(2, NPY_int8, 1)] = nanmin_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":923 - * nanmin_dict[(1, NPY_int32, 0)] = nanmin_1d_int32_axisNone - * nanmin_dict[(1, NPY_int32, None)] = nanmin_1d_int32_axisNone - * nanmin_dict[(1, NPY_int64, 0)] = nanmin_1d_int64_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(1, NPY_int64, None)] = nanmin_1d_int64_axisNone - * nanmin_dict[(2, NPY_int, None)] = nanmin_2d_int_axisNone + * nanmin_dict[(2, NPY_int, 0)] = nanmin_2d_int_axis0 + * nanmin_dict[(2, NPY_int, 1)] = nanmin_2d_int_axis1 + * nanmin_dict[(2, NPY_int8, 0)] = nanmin_2d_int8_axis0 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int8, 1)] = nanmin_2d_int8_axis1 + * nanmin_dict[(2, NPY_int32, 0)] = nanmin_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -19563,49 +19563,49 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":924 - * nanmin_dict[(1, NPY_int32, None)] = nanmin_1d_int32_axisNone - * nanmin_dict[(1, NPY_int64, 0)] = nanmin_1d_int64_axisNone - * nanmin_dict[(1, NPY_int64, None)] = nanmin_1d_int64_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int, None)] = nanmin_2d_int_axisNone - * nanmin_dict[(2, NPY_int8, None)] = nanmin_2d_int8_axisNone + * nanmin_dict[(2, NPY_int, 1)] = nanmin_2d_int_axis1 + * nanmin_dict[(2, NPY_int8, 0)] = nanmin_2d_int8_axis0 + * nanmin_dict[(2, NPY_int8, 1)] = nanmin_2d_int8_axis1 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int32, 0)] = nanmin_2d_int32_axis0 + * nanmin_dict[(2, NPY_int32, 1)] = nanmin_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":925 - * nanmin_dict[(1, NPY_int64, 0)] = nanmin_1d_int64_axisNone - * nanmin_dict[(1, NPY_int64, None)] = nanmin_1d_int64_axisNone - * nanmin_dict[(2, NPY_int, None)] = nanmin_2d_int_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int8, None)] = nanmin_2d_int8_axisNone - * nanmin_dict[(2, NPY_int32, None)] = nanmin_2d_int32_axisNone + * nanmin_dict[(2, NPY_int8, 0)] = nanmin_2d_int8_axis0 + * nanmin_dict[(2, NPY_int8, 1)] = nanmin_2d_int8_axis1 + * nanmin_dict[(2, NPY_int32, 0)] = nanmin_2d_int32_axis0 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int32, 1)] = nanmin_2d_int32_axis1 + * nanmin_dict[(2, NPY_int64, 0)] = nanmin_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19614,28 +19614,28 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":926 - * nanmin_dict[(1, NPY_int64, None)] = nanmin_1d_int64_axisNone - * nanmin_dict[(2, NPY_int, None)] = nanmin_2d_int_axisNone - * nanmin_dict[(2, NPY_int8, None)] = nanmin_2d_int8_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int32, None)] = nanmin_2d_int32_axisNone - * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone + * nanmin_dict[(2, NPY_int8, 1)] = nanmin_2d_int8_axis1 + * nanmin_dict[(2, NPY_int32, 0)] = nanmin_2d_int32_axis0 + * nanmin_dict[(2, NPY_int32, 1)] = nanmin_2d_int32_axis1 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int64, 0)] = nanmin_2d_int64_axis0 + * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19644,28 +19644,28 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":927 - * nanmin_dict[(2, NPY_int, None)] = nanmin_2d_int_axisNone - * nanmin_dict[(2, NPY_int8, None)] = nanmin_2d_int8_axisNone - * nanmin_dict[(2, NPY_int32, None)] = nanmin_2d_int32_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone + * nanmin_dict[(2, NPY_int32, 0)] = nanmin_2d_int32_axis0 + * nanmin_dict[(2, NPY_int32, 1)] = nanmin_2d_int32_axis1 + * nanmin_dict[(2, NPY_int64, 0)] = nanmin_2d_int64_axis0 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19674,22 +19674,22 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":928 - * nanmin_dict[(2, NPY_int8, None)] = nanmin_2d_int8_axisNone - * nanmin_dict[(2, NPY_int32, None)] = nanmin_2d_int32_axisNone - * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int32, 1)] = nanmin_2d_int32_axis1 + * nanmin_dict[(2, NPY_int64, 0)] = nanmin_2d_int64_axis0 + * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nanmin_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -19704,16 +19704,16 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":930 - * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone + * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 * * def nanmin_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmin along axis 0." @@ -20687,7 +20687,7 @@ PyMODINIT_FUNC PyInit_nanmin(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/nanstd.c b/bottlechest/src/func/32bit/nanstd.c index eaad009dfd..3ac154836d 100644 --- a/bottlechest/src/func/32bit/nanstd.c +++ b/bottlechest/src/func/32bit/nanstd.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1100,13 +1100,13 @@ static __pyx_t_5numpy_float32_t __pyx_v_6nanstd_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_6nanstd_MAXfloat64; static PyObject *__pyx_v_6nanstd_nanstd_dict = 0; static PyObject *__pyx_v_6nanstd_nanstd_slow_dict = 0; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "nanstd" int __pyx_module_is_main_nanstd = 0; @@ -1118,34 +1118,34 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_6nanstd_nanstd(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis, int __pyx_v_ddof); /* proto */ static PyObject *__pyx_pf_6nanstd_2nanstd_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_16nanstd_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_18nanstd_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_22nanstd_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_24nanstd_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_28nanstd_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_30nanstd_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_32nanstd_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_34nanstd_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_36nanstd_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_38nanstd_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_40nanstd_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_42nanstd_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_44nanstd_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_46nanstd_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_48nanstd_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_50nanstd_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_52nanstd_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_54nanstd_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_56nanstd_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_58nanstd_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_4nanstd_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_6nanstd_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_8nanstd_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_10nanstd_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_12nanstd_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_14nanstd_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_16nanstd_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_18nanstd_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_22nanstd_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_24nanstd_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_28nanstd_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_30nanstd_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_32nanstd_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_34nanstd_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_36nanstd_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_38nanstd_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_40nanstd_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_42nanstd_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_44nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_46nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_48nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_50nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_52nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_54nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_56nanstd_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_58nanstd_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ static PyObject *__pyx_pf_6nanstd_60nanstd_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_ddof); /* proto */ static PyObject *__pyx_pf_6nanstd_62nanstd_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_ddof); /* proto */ static PyObject *__pyx_pf_6nanstd_64nanstd_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_ddof); /* proto */ @@ -1325,15 +1325,14 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Return_std_function_and_array_t[] = "\n Return std function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in bn.nanstd()\n is in checking that `axis` is within range, converting `arr` into an\n array (if it is not already an array), and selecting the function to use\n to calculate the standard deviation.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the standard deviation is to be computed.\n \n Returns\n -------\n func : function\n The standard deviation function that matches the number of dimensions\n and dtype of the input array and the axis along which you wish to\n find the standard deviation.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine the standard deviation of `arr`\n along axis=0:\n\n >>> func, a = bn.func.nanstd_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the standard deviation:\n \n >>> func(a)\n 0.81649658092772603\n\n "; static char __pyx_k_Standard_deviation_along_the_sp[] = "\n Standard deviation along the specified axis, ignoring NaNs.\n\n `float64` intermediate and return values are used for integer inputs.\n\n Instead of a faster one-pass algorithm, a more stable two-pass algorithm\n is used.\n\n An example of a one-pass algorithm:\n\n >>> np.sqrt((arr*arr).mean() - arr.mean()**2)\n \n An example of a two-pass algorithm: \n \n >>> np.sqrt(((arr - arr.mean())**2).mean())\n\n Note in the two-pass algorithm the mean must be found (first pass) before\n the squared deviation (second pass) can be found.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}, optional\n Axis along which the standard deviation is computed. The default\n (axis=None) is to compute the standard deviation of the flattened\n array.\n ddof : int, optional\n Means Delta Degrees of Freedom. The divisor used in calculations\n is ``N - ddof``, where ``N`` represents the number of elements.\n By default `ddof` is zero.\n\n Returns\n -------\n y : ndarray\n An array with the same shape as `arr`, with the specified axis removed.\n If `arr` is a 0-d array, or if axis is None, a scalar is returned.\n `float64` intermediate and return values are used for integer inputs. \n\n See also\n --------\n bottlechest.nanvar: Variance along specified axis ignoring NaNs\n\n Notes\n -----\n If positive or negative infinity are present the result is Not A Number\n (NaN).\n\n Examples\n --------\n >>> bn.nanstd(1)\n 0.0\n >>> bn.nanstd([1])\n 0.0\n >>> bn.nanstd([1, np.nan])\n 0.0\n >>> a = np.array([[1, 4], [1, np.nan]])\n >>> bn.nanstd(a)\n 1.4142135623730951\n >>> bn.nanstd(a, axis=0)\n array([ 0., 0.])\n\n When positive infinity or negative infinity are present NaN is returned:\n\n >>> bn.nanstd([1, ""np.nan, np.inf])\n nan\n \n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/nanstd.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\nanstd.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1347,6 +1346,7 @@ static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_kp_u_Standard_deviation_along_the_sp; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__7; static PyObject *__pyx_n_s_a; @@ -2472,16 +2472,16 @@ static PyObject *__pyx_pf_6nanstd_2nanstd_selector(CYTHON_UNUSED PyObject *__pyx /* "nanstd.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_5nanstd_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_4nanstd_2d_int_axis0[] = "nanstd_2d_int_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_5nanstd_2d_int_axis0 = {"nanstd_2d_int_axis0", (PyCFunction)__pyx_pw_6nanstd_5nanstd_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_4nanstd_2d_int_axis0}; -static PyObject *__pyx_pw_6nanstd_5nanstd_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_5nanstd_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_4nanstd_2d_float_axis0[] = "nanstd_2d_float_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_5nanstd_2d_float_axis0 = {"nanstd_2d_float_axis0", (PyCFunction)__pyx_pw_6nanstd_5nanstd_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_4nanstd_2d_float_axis0}; +static PyObject *__pyx_pw_6nanstd_5nanstd_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -2489,7 +2489,7 @@ static PyObject *__pyx_pw_6nanstd_5nanstd_2d_int_axis0(PyObject *__pyx_self, PyO int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -2510,11 +2510,11 @@ static PyObject *__pyx_pw_6nanstd_5nanstd_2d_int_axis0(PyObject *__pyx_self, PyO case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -2527,14 +2527,14 @@ static PyObject *__pyx_pw_6nanstd_5nanstd_2d_int_axis0(PyObject *__pyx_self, PyO } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_4nanstd_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanstd_4nanstd_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -2545,10 +2545,11 @@ static PyObject *__pyx_pw_6nanstd_5nanstd_2d_int_axis0(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_4nanstd_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_amean; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2565,19 +2566,19 @@ static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *_ npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2588,20 +2589,29 @@ static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanstd.pyx":216 - * def nanstd_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * def nanstd_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanstd.pyx":217 + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":219 + /* "nanstd.pyx":220 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2610,7 +2620,7 @@ static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *_ */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":220 + /* "nanstd.pyx":221 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2619,41 +2629,41 @@ static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *_ */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":221 + /* "nanstd.pyx":222 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":222 + /* "nanstd.pyx":223 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":223 + /* "nanstd.pyx":224 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2661,82 +2671,107 @@ static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":225 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanstd.pyx":226 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "nanstd.pyx":226 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + /* "nanstd.pyx":227 + * NPY_float, 0) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; /* "nanstd.pyx":228 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + * for i1 in range(n1): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanstd.pyx":229 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] + /* "nanstd.pyx":229 + * asum = 0 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; /* "nanstd.pyx":230 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n0 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":231 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n0 - * asum = 0 + /* "nanstd.pyx":231 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":232 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanstd.pyx":233 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanstd.pyx":232 - * for i0 in range(n0): - * asum += a[i0, i1] - * amean = asum / n0 # <<<<<<<<<<<<<< + /* "nanstd.pyx":234 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":235 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 * for i0 in range(n0): */ - if (unlikely(__pyx_v_n0 == 0)) { + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -2744,69 +2779,82 @@ static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *_ #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":233 - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanstd.pyx":236 + * if count > 0: + * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":234 - * amean = asum / n0 + /* "nanstd.pyx":237 + * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanstd.pyx":235 + /* "nanstd.pyx":238 * asum = 0 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":236 + /* "nanstd.pyx":239 * for i0 in range(n0): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanstd.pyx":237 + /* "nanstd.pyx":240 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = sqrt(asum / (n0 - ddof)) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = sqrt(asum / (count - ddof)) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanstd.pyx":241 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = sqrt(asum / (count - ddof)) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanstd.pyx":238 - * ai -= amean - * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) # <<<<<<<<<<<<<< - * return y - * + /* "nanstd.pyx":242 + * ai -= amean + * asum += (ai * ai) + * y[i1] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN */ - __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -2814,17 +2862,30 @@ static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *_ #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); + goto __pyx_L8; + } + /*else*/ { + + /* "nanstd.pyx":244 + * y[i1] = sqrt(asum / (count - ddof)) + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanstd.pyx":239 - * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) + /* "nanstd.pyx":245 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2837,9 +2898,9 @@ static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "nanstd.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -2850,7 +2911,7 @@ static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2863,19 +2924,19 @@ static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "nanstd.pyx":243 +/* "nanstd.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_7nanstd_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_6nanstd_2d_int_axis1[] = "nanstd_2d_int_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_7nanstd_2d_int_axis1 = {"nanstd_2d_int_axis1", (PyCFunction)__pyx_pw_6nanstd_7nanstd_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_6nanstd_2d_int_axis1}; -static PyObject *__pyx_pw_6nanstd_7nanstd_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_7nanstd_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_6nanstd_2d_float_axis1[] = "nanstd_2d_float_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_7nanstd_2d_float_axis1 = {"nanstd_2d_float_axis1", (PyCFunction)__pyx_pw_6nanstd_7nanstd_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_6nanstd_2d_float_axis1}; +static PyObject *__pyx_pw_6nanstd_7nanstd_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -2883,7 +2944,7 @@ static PyObject *__pyx_pw_6nanstd_7nanstd_2d_int_axis1(PyObject *__pyx_self, PyO int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -2904,11 +2965,11 @@ static PyObject *__pyx_pw_6nanstd_7nanstd_2d_int_axis1(PyObject *__pyx_self, PyO case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -2917,18 +2978,18 @@ static PyObject *__pyx_pw_6nanstd_7nanstd_2d_int_axis1(PyObject *__pyx_self, PyO values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_6nanstd_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_6nanstd_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -2939,10 +3000,11 @@ static PyObject *__pyx_pw_6nanstd_7nanstd_2d_int_axis1(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_6nanstd_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_amean; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2959,19 +3021,19 @@ static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *_ npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2982,20 +3044,29 @@ static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":245 - * def nanstd_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + /* "nanstd.pyx":251 + * def nanstd_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanstd.pyx":252 + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":248 + /* "nanstd.pyx":255 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3004,7 +3075,7 @@ static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":249 + /* "nanstd.pyx":256 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3013,41 +3084,41 @@ static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":250 + /* "nanstd.pyx":257 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":251 + /* "nanstd.pyx":258 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":252 + /* "nanstd.pyx":259 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3055,82 +3126,107 @@ static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":254 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanstd.pyx":261 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanstd.pyx":255 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + /* "nanstd.pyx":262 + * NPY_float, 0) + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i1 in range(n1): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanstd.pyx":257 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanstd.pyx":263 + * for i0 in range(n0): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanstd.pyx":258 - * else: - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanstd.pyx":264 + * asum = 0 + * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanstd.pyx":259 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n1 + /* "nanstd.pyx":265 + * count = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":260 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n1 - * asum = 0 + /* "nanstd.pyx":266 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":267 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanstd.pyx":268 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanstd.pyx":261 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / n1 # <<<<<<<<<<<<<< + /* "nanstd.pyx":269 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":270 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 * for i1 in range(n1): */ - if (unlikely(__pyx_v_n1 == 0)) { + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3138,69 +3234,82 @@ static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *_ #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":262 - * asum += a[i0, i1] - * amean = asum / n1 + /* "nanstd.pyx":271 + * if count > 0: + * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":263 - * amean = asum / n1 + /* "nanstd.pyx":272 + * amean = asum / count * asum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanstd.pyx":264 + /* "nanstd.pyx":273 * asum = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":265 + /* "nanstd.pyx":274 * for i1 in range(n1): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanstd.pyx":266 + /* "nanstd.pyx":275 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = sqrt(asum / (n1 - ddof)) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = sqrt(asum / (count - ddof)) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanstd.pyx":276 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = sqrt(asum / (count - ddof)) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanstd.pyx":267 - * ai -= amean - * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) # <<<<<<<<<<<<<< - * return y - * + /* "nanstd.pyx":277 + * ai -= amean + * asum += (ai * ai) + * y[i0] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN */ - __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3208,17 +3317,30 @@ static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *_ #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); + goto __pyx_L8; } + /*else*/ { + + /* "nanstd.pyx":279 + * y[i0] = sqrt(asum / (count - ddof)) + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; + } + __pyx_L8:; } - __pyx_L3:; - /* "nanstd.pyx":268 - * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) + /* "nanstd.pyx":280 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3228,12 +3350,12 @@ static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanstd.pyx":243 + /* "nanstd.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -3244,7 +3366,7 @@ static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3257,19 +3379,19 @@ static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "nanstd.pyx":272 +/* "nanstd.pyx":284 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_9nanstd_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_8nanstd_2d_int8_axis0[] = "nanstd_2d_int8_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_9nanstd_2d_int8_axis0 = {"nanstd_2d_int8_axis0", (PyCFunction)__pyx_pw_6nanstd_9nanstd_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_8nanstd_2d_int8_axis0}; -static PyObject *__pyx_pw_6nanstd_9nanstd_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_9nanstd_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_8nanstd_2d_float32_axis0[] = "nanstd_2d_float32_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_9nanstd_2d_float32_axis0 = {"nanstd_2d_float32_axis0", (PyCFunction)__pyx_pw_6nanstd_9nanstd_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_8nanstd_2d_float32_axis0}; +static PyObject *__pyx_pw_6nanstd_9nanstd_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -3277,7 +3399,7 @@ static PyObject *__pyx_pw_6nanstd_9nanstd_2d_int8_axis0(PyObject *__pyx_self, Py int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -3298,11 +3420,11 @@ static PyObject *__pyx_pw_6nanstd_9nanstd_2d_int8_axis0(PyObject *__pyx_self, Py case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3311,18 +3433,18 @@ static PyObject *__pyx_pw_6nanstd_9nanstd_2d_int8_axis0(PyObject *__pyx_self, Py values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_8nanstd_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_8nanstd_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -3333,10 +3455,11 @@ static PyObject *__pyx_pw_6nanstd_9nanstd_2d_int8_axis0(PyObject *__pyx_self, Py return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_8nanstd_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_amean; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3353,19 +3476,19 @@ static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject * npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3376,20 +3499,29 @@ static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":274 - * def nanstd_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + /* "nanstd.pyx":286 + * def nanstd_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanstd.pyx":287 + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":277 + /* "nanstd.pyx":290 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3398,7 +3530,7 @@ static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":278 + /* "nanstd.pyx":291 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3407,41 +3539,41 @@ static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":279 + /* "nanstd.pyx":292 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":280 + /* "nanstd.pyx":293 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":281 + /* "nanstd.pyx":294 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3449,82 +3581,107 @@ static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":283 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanstd.pyx":296 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "nanstd.pyx":284 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + /* "nanstd.pyx":297 + * NPY_float32, 0) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanstd.pyx":286 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":298 + * for i1 in range(n1): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanstd.pyx":287 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] + /* "nanstd.pyx":299 + * asum = 0 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanstd.pyx":288 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanstd.pyx":300 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":289 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n0 - * asum = 0 + /* "nanstd.pyx":301 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":302 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanstd.pyx":303 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanstd.pyx":290 - * for i0 in range(n0): - * asum += a[i0, i1] - * amean = asum / n0 # <<<<<<<<<<<<<< + /* "nanstd.pyx":304 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":305 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 * for i0 in range(n0): */ - if (unlikely(__pyx_v_n0 == 0)) { + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3532,69 +3689,82 @@ static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject * #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":291 - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanstd.pyx":306 + * if count > 0: + * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":292 - * amean = asum / n0 + /* "nanstd.pyx":307 + * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanstd.pyx":293 + /* "nanstd.pyx":308 * asum = 0 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":294 + /* "nanstd.pyx":309 * for i0 in range(n0): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanstd.pyx":295 + /* "nanstd.pyx":310 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = sqrt(asum / (n0 - ddof)) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = sqrt(asum / (count - ddof)) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanstd.pyx":311 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = sqrt(asum / (count - ddof)) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanstd.pyx":296 - * ai -= amean - * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) # <<<<<<<<<<<<<< - * return y - * + /* "nanstd.pyx":312 + * ai -= amean + * asum += (ai * ai) + * y[i1] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN */ - __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3602,17 +3772,30 @@ static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject * #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); + goto __pyx_L8; + } + /*else*/ { + + /* "nanstd.pyx":314 + * y[i1] = sqrt(asum / (count - ddof)) + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanstd.pyx":297 - * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) + /* "nanstd.pyx":315 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3622,12 +3805,12 @@ static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanstd.pyx":272 + /* "nanstd.pyx":284 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -3638,7 +3821,7 @@ static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject * __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3651,19 +3834,19 @@ static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "nanstd.pyx":301 +/* "nanstd.pyx":319 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_11nanstd_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_10nanstd_2d_int8_axis1[] = "nanstd_2d_int8_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_11nanstd_2d_int8_axis1 = {"nanstd_2d_int8_axis1", (PyCFunction)__pyx_pw_6nanstd_11nanstd_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_10nanstd_2d_int8_axis1}; -static PyObject *__pyx_pw_6nanstd_11nanstd_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_11nanstd_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_10nanstd_2d_float32_axis1[] = "nanstd_2d_float32_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_11nanstd_2d_float32_axis1 = {"nanstd_2d_float32_axis1", (PyCFunction)__pyx_pw_6nanstd_11nanstd_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_10nanstd_2d_float32_axis1}; +static PyObject *__pyx_pw_6nanstd_11nanstd_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -3671,7 +3854,7 @@ static PyObject *__pyx_pw_6nanstd_11nanstd_2d_int8_axis1(PyObject *__pyx_self, P int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int8_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -3692,11 +3875,11 @@ static PyObject *__pyx_pw_6nanstd_11nanstd_2d_int8_axis1(PyObject *__pyx_self, P case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3705,18 +3888,18 @@ static PyObject *__pyx_pw_6nanstd_11nanstd_2d_int8_axis1(PyObject *__pyx_self, P values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_10nanstd_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_10nanstd_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -3727,10 +3910,11 @@ static PyObject *__pyx_pw_6nanstd_11nanstd_2d_int8_axis1(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_10nanstd_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_amean; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3747,19 +3931,19 @@ static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3770,20 +3954,29 @@ static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":303 - * def nanstd_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + /* "nanstd.pyx":321 + * def nanstd_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanstd.pyx":322 + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":306 + /* "nanstd.pyx":325 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3792,7 +3985,7 @@ static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":307 + /* "nanstd.pyx":326 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3801,41 +3994,41 @@ static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":308 + /* "nanstd.pyx":327 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":309 + /* "nanstd.pyx":328 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":310 + /* "nanstd.pyx":329 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3843,82 +4036,107 @@ static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":312 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanstd.pyx":331 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanstd.pyx":313 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + /* "nanstd.pyx":332 + * NPY_float32, 0) + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i1 in range(n1): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanstd.pyx":315 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanstd.pyx":333 + * for i0 in range(n0): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanstd.pyx":316 - * else: - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanstd.pyx":334 + * asum = 0 + * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanstd.pyx":317 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n1 + /* "nanstd.pyx":335 + * count = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":318 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n1 - * asum = 0 + /* "nanstd.pyx":336 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":337 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanstd.pyx":338 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanstd.pyx":319 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / n1 # <<<<<<<<<<<<<< + /* "nanstd.pyx":339 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":340 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 * for i1 in range(n1): */ - if (unlikely(__pyx_v_n1 == 0)) { + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3926,69 +4144,82 @@ static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":320 - * asum += a[i0, i1] - * amean = asum / n1 + /* "nanstd.pyx":341 + * if count > 0: + * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":321 - * amean = asum / n1 + /* "nanstd.pyx":342 + * amean = asum / count * asum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanstd.pyx":322 + /* "nanstd.pyx":343 * asum = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":323 + /* "nanstd.pyx":344 * for i1 in range(n1): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanstd.pyx":324 + /* "nanstd.pyx":345 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = sqrt(asum / (n1 - ddof)) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = sqrt(asum / (count - ddof)) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanstd.pyx":346 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = sqrt(asum / (count - ddof)) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanstd.pyx":325 - * ai -= amean - * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) # <<<<<<<<<<<<<< - * return y - * + /* "nanstd.pyx":347 + * ai -= amean + * asum += (ai * ai) + * y[i0] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN */ - __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3996,17 +4227,30 @@ static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); + goto __pyx_L8; + } + /*else*/ { + + /* "nanstd.pyx":349 + * y[i0] = sqrt(asum / (count - ddof)) + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanstd.pyx":326 - * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) + /* "nanstd.pyx":350 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4016,12 +4260,12 @@ static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanstd.pyx":301 + /* "nanstd.pyx":319 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -4032,7 +4276,7 @@ static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4045,19 +4289,19 @@ static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanstd.pyx":330 +/* "nanstd.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_13nanstd_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_12nanstd_2d_int32_axis0[] = "nanstd_2d_int32_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_13nanstd_2d_int32_axis0 = {"nanstd_2d_int32_axis0", (PyCFunction)__pyx_pw_6nanstd_13nanstd_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_12nanstd_2d_int32_axis0}; -static PyObject *__pyx_pw_6nanstd_13nanstd_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_13nanstd_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_12nanstd_2d_float64_axis0[] = "nanstd_2d_float64_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_13nanstd_2d_float64_axis0 = {"nanstd_2d_float64_axis0", (PyCFunction)__pyx_pw_6nanstd_13nanstd_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_12nanstd_2d_float64_axis0}; +static PyObject *__pyx_pw_6nanstd_13nanstd_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -4065,7 +4309,7 @@ static PyObject *__pyx_pw_6nanstd_13nanstd_2d_int32_axis0(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -4086,11 +4330,11 @@ static PyObject *__pyx_pw_6nanstd_13nanstd_2d_int32_axis0(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4099,18 +4343,18 @@ static PyObject *__pyx_pw_6nanstd_13nanstd_2d_int32_axis0(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_12nanstd_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_12nanstd_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -4121,7 +4365,8 @@ static PyObject *__pyx_pw_6nanstd_13nanstd_2d_int32_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_12nanstd_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; @@ -4141,19 +4386,19 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4164,20 +4409,29 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":332 - * def nanstd_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." + /* "nanstd.pyx":356 + * def nanstd_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanstd.pyx":357 + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":335 + /* "nanstd.pyx":360 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4186,7 +4440,7 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":336 + /* "nanstd.pyx":361 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4195,7 +4449,7 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":337 + /* "nanstd.pyx":362 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -4204,7 +4458,7 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":338 + /* "nanstd.pyx":363 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -4214,22 +4468,22 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":339 + /* "nanstd.pyx":364 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) - * if n0 == 0: + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4237,82 +4491,107 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":341 + /* "nanstd.pyx":366 * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "nanstd.pyx":342 + /* "nanstd.pyx":367 * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanstd.pyx":344 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":368 + * for i1 in range(n1): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanstd.pyx":345 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] + /* "nanstd.pyx":369 + * asum = 0 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanstd.pyx":346 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanstd.pyx":370 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":347 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n0 - * asum = 0 + /* "nanstd.pyx":371 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":372 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanstd.pyx":373 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanstd.pyx":348 - * for i0 in range(n0): - * asum += a[i0, i1] - * amean = asum / n0 # <<<<<<<<<<<<<< + /* "nanstd.pyx":374 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":375 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 * for i0 in range(n0): */ - if (unlikely(__pyx_v_n0 == 0)) { + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -4320,69 +4599,82 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":349 - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanstd.pyx":376 + * if count > 0: + * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":350 - * amean = asum / n0 + /* "nanstd.pyx":377 + * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanstd.pyx":351 + /* "nanstd.pyx":378 * asum = 0 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":352 + /* "nanstd.pyx":379 * for i0 in range(n0): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanstd.pyx":353 + /* "nanstd.pyx":380 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = sqrt(asum / (n0 - ddof)) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = sqrt(asum / (count - ddof)) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanstd.pyx":381 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = sqrt(asum / (count - ddof)) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanstd.pyx":354 - * ai -= amean - * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) # <<<<<<<<<<<<<< - * return y - * + /* "nanstd.pyx":382 + * ai -= amean + * asum += (ai * ai) + * y[i1] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN */ - __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -4390,17 +4682,30 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); + goto __pyx_L8; + } + /*else*/ { + + /* "nanstd.pyx":384 + * y[i1] = sqrt(asum / (count - ddof)) + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanstd.pyx":355 - * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) + /* "nanstd.pyx":385 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4410,12 +4715,12 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanstd.pyx":330 + /* "nanstd.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -4426,7 +4731,7 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4439,19 +4744,19 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanstd.pyx":359 +/* "nanstd.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_15nanstd_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_14nanstd_2d_int32_axis1[] = "nanstd_2d_int32_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_15nanstd_2d_int32_axis1 = {"nanstd_2d_int32_axis1", (PyCFunction)__pyx_pw_6nanstd_15nanstd_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_14nanstd_2d_int32_axis1}; -static PyObject *__pyx_pw_6nanstd_15nanstd_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_15nanstd_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_14nanstd_2d_float64_axis1[] = "nanstd_2d_float64_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_15nanstd_2d_float64_axis1 = {"nanstd_2d_float64_axis1", (PyCFunction)__pyx_pw_6nanstd_15nanstd_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_14nanstd_2d_float64_axis1}; +static PyObject *__pyx_pw_6nanstd_15nanstd_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -4459,7 +4764,7 @@ static PyObject *__pyx_pw_6nanstd_15nanstd_2d_int32_axis1(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -4480,11 +4785,11 @@ static PyObject *__pyx_pw_6nanstd_15nanstd_2d_int32_axis1(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4493,18 +4798,18 @@ static PyObject *__pyx_pw_6nanstd_15nanstd_2d_int32_axis1(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_14nanstd_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_14nanstd_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -4515,7 +4820,8 @@ static PyObject *__pyx_pw_6nanstd_15nanstd_2d_int32_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_14nanstd_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; @@ -4535,19 +4841,19 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4558,20 +4864,29 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":361 - * def nanstd_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." + /* "nanstd.pyx":391 + * def nanstd_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanstd.pyx":392 + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":364 + /* "nanstd.pyx":395 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4580,7 +4895,7 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":365 + /* "nanstd.pyx":396 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4589,7 +4904,7 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":366 + /* "nanstd.pyx":397 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -4598,7 +4913,7 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":367 + /* "nanstd.pyx":398 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -4608,22 +4923,22 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":368 + /* "nanstd.pyx":399 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) - * if n1 == 0: + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4631,152 +4946,190 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":370 + /* "nanstd.pyx":401 * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanstd.pyx":371 + /* "nanstd.pyx":402 * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i1 in range(n1): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanstd.pyx":373 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanstd.pyx":403 + * for i0 in range(n0): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanstd.pyx":374 - * else: - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanstd.pyx":404 + * asum = 0 + * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanstd.pyx":375 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n1 + /* "nanstd.pyx":405 + * count = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":376 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n1 - * asum = 0 + /* "nanstd.pyx":406 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanstd.pyx":377 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / n1 # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanstd.pyx":407 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: */ - if (unlikely(__pyx_v_n1 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanstd.pyx":378 - * asum += a[i0, i1] - * amean = asum / n1 - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanstd.pyx":408 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; + } + __pyx_L7:; + } + + /* "nanstd.pyx":409 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":410 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): + */ + if (unlikely(__pyx_v_count == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); + + /* "nanstd.pyx":411 + * if count > 0: + * amean = asum / count + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":379 - * amean = asum / n1 + /* "nanstd.pyx":412 + * amean = asum / count * asum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanstd.pyx":380 + /* "nanstd.pyx":413 * asum = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":381 + /* "nanstd.pyx":414 * for i1 in range(n1): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanstd.pyx":382 + /* "nanstd.pyx":415 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = sqrt(asum / (n1 - ddof)) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = sqrt(asum / (count - ddof)) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanstd.pyx":416 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = sqrt(asum / (count - ddof)) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanstd.pyx":383 - * ai -= amean - * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) # <<<<<<<<<<<<<< - * return y - * + /* "nanstd.pyx":417 + * ai -= amean + * asum += (ai * ai) + * y[i0] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN */ - __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -4784,17 +5137,30 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); + goto __pyx_L8; + } + /*else*/ { + + /* "nanstd.pyx":419 + * y[i0] = sqrt(asum / (count - ddof)) + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanstd.pyx":384 - * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) + /* "nanstd.pyx":420 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4804,12 +5170,12 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanstd.pyx":359 + /* "nanstd.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -4820,7 +5186,7 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4833,19 +5199,19 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanstd.pyx":388 +/* "nanstd.pyx":424 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_17nanstd_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_16nanstd_2d_int64_axis0[] = "nanstd_2d_int64_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_17nanstd_2d_int64_axis0 = {"nanstd_2d_int64_axis0", (PyCFunction)__pyx_pw_6nanstd_17nanstd_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_16nanstd_2d_int64_axis0}; -static PyObject *__pyx_pw_6nanstd_17nanstd_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_17nanstd_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_16nanstd_1d_float_axisNone[] = "nanstd_1d_float_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_17nanstd_1d_float_axisNone = {"nanstd_1d_float_axisNone", (PyCFunction)__pyx_pw_6nanstd_17nanstd_1d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_16nanstd_1d_float_axisNone}; +static PyObject *__pyx_pw_6nanstd_17nanstd_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -4853,7 +5219,7 @@ static PyObject *__pyx_pw_6nanstd_17nanstd_2d_int64_axis0(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_1d_float_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -4874,11 +5240,11 @@ static PyObject *__pyx_pw_6nanstd_17nanstd_2d_int64_axis0(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4887,18 +5253,18 @@ static PyObject *__pyx_pw_6nanstd_17nanstd_2d_int64_axis0(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_16nanstd_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_16nanstd_1d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -4909,337 +5275,369 @@ static PyObject *__pyx_pw_6nanstd_17nanstd_2d_int64_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_16nanstd_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_16nanstd_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_amean; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; int __pyx_t_4; Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanstd_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanstd.pyx":390 - * def nanstd_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "nanstd.pyx":426 + * def nanstd_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): + * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, amean, ai + * cdef Py_ssize_t i0 + */ + __pyx_v_count = 0; + + /* "nanstd.pyx":427 + * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":393 - * cdef Py_ssize_t i0, i1 + /* "nanstd.pyx":430 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":394 + /* "nanstd.pyx":431 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":395 + /* "nanstd.pyx":432 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":396 + /* "nanstd.pyx":433 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":397 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: + /* "nanstd.pyx":434 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "nanstd.pyx":399 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanstd.pyx":435 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanstd.pyx":400 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + /* "nanstd.pyx":436 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L5; + } + __pyx_L5:; } - /*else*/ { - - /* "nanstd.pyx":402 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): - */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; - - /* "nanstd.pyx":403 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] - */ - __pyx_v_asum = 0.0; - /* "nanstd.pyx":404 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanstd.pyx":437 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_4 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_4) { - /* "nanstd.pyx":405 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n0 - * asum = 0 + /* "nanstd.pyx":438 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); - } + if (unlikely(__pyx_v_count == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":406 - * for i0 in range(n0): - * asum += a[i0, i1] - * amean = asum / n0 # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":439 + * if count > 0: + * amean = asum / count + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - if (unlikely(__pyx_v_n0 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); + __pyx_v_asum = 0.0; - /* "nanstd.pyx":407 - * asum += a[i0, i1] - * amean = asum / n0 - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanstd.pyx":440 + * amean = asum / count + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":408 - * amean = asum / n0 - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] + /* "nanstd.pyx":441 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: * ai -= amean */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_5 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":409 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< + /* "nanstd.pyx":442 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< * ai -= amean * asum += (ai * ai) */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "nanstd.pyx":410 - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanstd.pyx":443 + * ai = a[i0] + * if ai == ai: * ai -= amean # <<<<<<<<<<<<<< * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) + * return np.float(sqrt(asum / (count - ddof))) */ __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":411 - * ai = a[i0, i1] + /* "nanstd.pyx":444 + * if ai == ai: * ai -= amean * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = sqrt(asum / (n0 - ddof)) - * return y + * return np.float(sqrt(asum / (count - ddof))) + * else: */ __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; } + __pyx_L9:; + } - /* "nanstd.pyx":412 + /* "nanstd.pyx":445 * ai -= amean * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) # <<<<<<<<<<<<<< - * return y - * + * return np.float(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< + * else: + * return np.float(NAN) */ - __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_7 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); } - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); } + if (!__pyx_t_9) { + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else { + __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; + PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; } - __pyx_L3:; + /*else*/ { - /* "nanstd.pyx":413 - * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) - * return y # <<<<<<<<<<<<<< + /* "nanstd.pyx":447 + * return np.float(sqrt(asum / (count - ddof))) + * else: + * return np.float(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "nanstd.pyx":388 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanstd_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; - __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - goto __pyx_L2; - __pyx_L0:; - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); + __Pyx_XDECREF(__pyx_r); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + if (!__pyx_t_7) { + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; + } + + /* "nanstd.pyx":424 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanstd_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("nanstd.nanstd_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanstd.pyx":417 +/* "nanstd.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_19nanstd_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_18nanstd_2d_int64_axis1[] = "nanstd_2d_int64_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_19nanstd_2d_int64_axis1 = {"nanstd_2d_int64_axis1", (PyCFunction)__pyx_pw_6nanstd_19nanstd_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_18nanstd_2d_int64_axis1}; -static PyObject *__pyx_pw_6nanstd_19nanstd_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_19nanstd_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_18nanstd_1d_float32_axisNone[] = "nanstd_1d_float32_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_19nanstd_1d_float32_axisNone = {"nanstd_1d_float32_axisNone", (PyCFunction)__pyx_pw_6nanstd_19nanstd_1d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_18nanstd_1d_float32_axisNone}; +static PyObject *__pyx_pw_6nanstd_19nanstd_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -5247,7 +5645,7 @@ static PyObject *__pyx_pw_6nanstd_19nanstd_2d_int64_axis1(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_1d_float32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -5268,11 +5666,11 @@ static PyObject *__pyx_pw_6nanstd_19nanstd_2d_int64_axis1(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5281,18 +5679,18 @@ static PyObject *__pyx_pw_6nanstd_19nanstd_2d_int64_axis1(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_18nanstd_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_18nanstd_1d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -5303,337 +5701,369 @@ static PyObject *__pyx_pw_6nanstd_19nanstd_2d_int64_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_18nanstd_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_18nanstd_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_amean; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; int __pyx_t_4; Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanstd_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanstd.pyx":419 - * def nanstd_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "nanstd.pyx":453 + * def nanstd_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): + * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, amean, ai + * cdef Py_ssize_t i0 + */ + __pyx_v_count = 0; + + /* "nanstd.pyx":454 + * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":422 - * cdef Py_ssize_t i0, i1 + /* "nanstd.pyx":457 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":423 + /* "nanstd.pyx":458 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":424 + /* "nanstd.pyx":459 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":425 + /* "nanstd.pyx":460 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":426 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: + /* "nanstd.pyx":461 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "nanstd.pyx":428 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanstd.pyx":462 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanstd.pyx":429 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + /* "nanstd.pyx":463 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L5; + } + __pyx_L5:; } - /*else*/ { - /* "nanstd.pyx":431 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanstd.pyx":464 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_t_4 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_4) { - /* "nanstd.pyx":432 - * else: + /* "nanstd.pyx":465 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< + * asum = 0 * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] */ - __pyx_v_asum = 0.0; + if (unlikely(__pyx_v_count == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":433 + /* "nanstd.pyx":466 + * if count > 0: + * amean = asum / count + * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n1 - */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; - - /* "nanstd.pyx":434 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n1 - * asum = 0 - */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); - } - - /* "nanstd.pyx":435 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / n1 # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + * ai = a[i0] */ - if (unlikely(__pyx_v_n1 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); + __pyx_v_asum = 0.0; - /* "nanstd.pyx":436 - * asum += a[i0, i1] - * amean = asum / n1 - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanstd.pyx":467 + * amean = asum / count + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":437 - * amean = asum / n1 - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] + /* "nanstd.pyx":468 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: * ai -= amean */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_5 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":438 - * asum = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< + /* "nanstd.pyx":469 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< * ai -= amean * asum += (ai * ai) */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "nanstd.pyx":439 - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanstd.pyx":470 + * ai = a[i0] + * if ai == ai: * ai -= amean # <<<<<<<<<<<<<< * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) + * return np.float32(sqrt(asum / (count - ddof))) */ __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":440 - * ai = a[i0, i1] + /* "nanstd.pyx":471 + * if ai == ai: * ai -= amean * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = sqrt(asum / (n1 - ddof)) - * return y + * return np.float32(sqrt(asum / (count - ddof))) + * else: */ __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; } + __pyx_L9:; + } - /* "nanstd.pyx":441 + /* "nanstd.pyx":472 * ai -= amean * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) # <<<<<<<<<<<<<< - * return y - * + * return np.float32(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< + * else: + * return np.float32(NAN) */ - __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_7 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); } - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); } + if (!__pyx_t_9) { + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else { + __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; + PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; } - __pyx_L3:; + /*else*/ { - /* "nanstd.pyx":442 - * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) - * return y # <<<<<<<<<<<<<< + /* "nanstd.pyx":474 + * return np.float32(sqrt(asum / (count - ddof))) + * else: + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + if (!__pyx_t_7) { + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; + } - /* "nanstd.pyx":417 + /* "nanstd.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanstd.pyx":446 +/* "nanstd.pyx":478 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanstd_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_21nanstd_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_20nanstd_1d_float_axisNone[] = "nanstd_1d_float_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_21nanstd_1d_float_axisNone = {"nanstd_1d_float_axisNone", (PyCFunction)__pyx_pw_6nanstd_21nanstd_1d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_20nanstd_1d_float_axisNone}; -static PyObject *__pyx_pw_6nanstd_21nanstd_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_21nanstd_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_20nanstd_1d_float64_axisNone[] = "nanstd_1d_float64_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_21nanstd_1d_float64_axisNone = {"nanstd_1d_float64_axisNone", (PyCFunction)__pyx_pw_6nanstd_21nanstd_1d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_20nanstd_1d_float64_axisNone}; +static PyObject *__pyx_pw_6nanstd_21nanstd_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -5641,7 +6071,7 @@ static PyObject *__pyx_pw_6nanstd_21nanstd_1d_float_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_1d_float_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_1d_float64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -5662,11 +6092,11 @@ static PyObject *__pyx_pw_6nanstd_21nanstd_1d_float_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_1d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5675,18 +6105,18 @@ static PyObject *__pyx_pw_6nanstd_21nanstd_1d_float_axisNone(PyObject *__pyx_sel values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_1d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_20nanstd_1d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_20nanstd_1d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -5697,11 +6127,11 @@ static PyObject *__pyx_pw_6nanstd_21nanstd_1d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_amean; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -5722,36 +6152,36 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanstd.pyx":448 - * def nanstd_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): - * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + /* "nanstd.pyx":480 + * def nanstd_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): + * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, amean, ai + * cdef np.float64_t asum = 0, amean, ai * cdef Py_ssize_t i0 */ __pyx_v_count = 0; - /* "nanstd.pyx":449 - * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + /* "nanstd.pyx":481 + * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":452 + /* "nanstd.pyx":484 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5760,7 +6190,7 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":453 + /* "nanstd.pyx":485 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5769,7 +6199,7 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":454 + /* "nanstd.pyx":486 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5780,7 +6210,7 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":455 + /* "nanstd.pyx":487 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -5788,9 +6218,9 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj * asum += ai */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":456 + /* "nanstd.pyx":488 * for i0 in range(n0): * ai = a[i0] * if ai == ai: # <<<<<<<<<<<<<< @@ -5800,7 +6230,7 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "nanstd.pyx":457 + /* "nanstd.pyx":489 * ai = a[i0] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -5809,7 +6239,7 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanstd.pyx":458 + /* "nanstd.pyx":490 * if ai == ai: * asum += ai * count += 1 # <<<<<<<<<<<<<< @@ -5822,7 +6252,7 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_L5:; } - /* "nanstd.pyx":459 + /* "nanstd.pyx":491 * asum += ai * count += 1 * if count > 0: # <<<<<<<<<<<<<< @@ -5832,7 +6262,7 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_4 = ((__pyx_v_count > 0) != 0); if (__pyx_t_4) { - /* "nanstd.pyx":460 + /* "nanstd.pyx":492 * count += 1 * if count > 0: * amean = asum / count # <<<<<<<<<<<<<< @@ -5847,11 +6277,11 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":461 + /* "nanstd.pyx":493 * if count > 0: * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< @@ -5860,7 +6290,7 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":462 + /* "nanstd.pyx":494 * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5871,7 +6301,7 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":463 + /* "nanstd.pyx":495 * asum = 0 * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -5879,9 +6309,9 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj * ai -= amean */ __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":464 + /* "nanstd.pyx":496 * for i0 in range(n0): * ai = a[i0] * if ai == ai: # <<<<<<<<<<<<<< @@ -5891,20 +6321,20 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "nanstd.pyx":465 + /* "nanstd.pyx":497 * ai = a[i0] * if ai == ai: * ai -= amean # <<<<<<<<<<<<<< * asum += (ai * ai) - * return np.float(sqrt(asum / (count - ddof))) + * return np.float64(sqrt(asum / (count - ddof))) */ __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":466 + /* "nanstd.pyx":498 * if ai == ai: * ai -= amean * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float(sqrt(asum / (count - ddof))) + * return np.float64(sqrt(asum / (count - ddof))) * else: */ __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); @@ -5913,17 +6343,17 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_L9:; } - /* "nanstd.pyx":467 + /* "nanstd.pyx":499 * ai -= amean * asum += (ai * ai) - * return np.float(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< + * return np.float64(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); @@ -5935,9 +6365,9 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_7 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_8))) { @@ -5950,17 +6380,17 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_9) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_6); } else { - __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } @@ -5971,20 +6401,20 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj } /*else*/ { - /* "nanstd.pyx":469 - * return np.float(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":501 + * return np.float64(sqrt(asum / (count - ddof))) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { @@ -5997,17 +6427,17 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_7) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_6); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -6017,11 +6447,11 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "nanstd.pyx":446 + /* "nanstd.pyx":478 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanstd_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ @@ -6036,7 +6466,7 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6047,19 +6477,19 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanstd.pyx":473 +/* "nanstd.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanstd_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_23nanstd_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_22nanstd_1d_float32_axisNone[] = "nanstd_1d_float32_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_23nanstd_1d_float32_axisNone = {"nanstd_1d_float32_axisNone", (PyCFunction)__pyx_pw_6nanstd_23nanstd_1d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_22nanstd_1d_float32_axisNone}; -static PyObject *__pyx_pw_6nanstd_23nanstd_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_23nanstd_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_22nanstd_2d_float_axisNone[] = "nanstd_2d_float_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_23nanstd_2d_float_axisNone = {"nanstd_2d_float_axisNone", (PyCFunction)__pyx_pw_6nanstd_23nanstd_2d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_22nanstd_2d_float_axisNone}; +static PyObject *__pyx_pw_6nanstd_23nanstd_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -6067,7 +6497,7 @@ static PyObject *__pyx_pw_6nanstd_23nanstd_1d_float32_axisNone(PyObject *__pyx_s int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_1d_float32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -6088,11 +6518,11 @@ static PyObject *__pyx_pw_6nanstd_23nanstd_1d_float32_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_1d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6101,18 +6531,18 @@ static PyObject *__pyx_pw_6nanstd_23nanstd_1d_float32_axisNone(PyObject *__pyx_s values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_1d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_22nanstd_1d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_22nanstd_2d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -6123,14 +6553,16 @@ static PyObject *__pyx_pw_6nanstd_23nanstd_1d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_22nanstd_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_22nanstd_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_amean; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_amean; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -6138,128 +6570,154 @@ static PyObject *__pyx_pf_6nanstd_22nanstd_1d_float32_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_6; + int __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":475 - * def nanstd_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): - * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanstd.pyx":507 + * def nanstd_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, amean, ai - * cdef Py_ssize_t i0 + * cdef np.float_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_count = 0; - /* "nanstd.pyx":476 - * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanstd.pyx":508 + * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":479 - * cdef Py_ssize_t i0 + /* "nanstd.pyx":511 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":480 + /* "nanstd.pyx":512 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":481 + /* "nanstd.pyx":513 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanstd.pyx":514 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":482 - * cdef Py_ssize_t n0 = dim[0] + /* "nanstd.pyx":515 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanstd.pyx":483 + /* "nanstd.pyx":516 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":484 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 + /* "nanstd.pyx":517 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 + */ + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { + + /* "nanstd.pyx":518 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 * if count > 0: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanstd.pyx":485 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< + /* "nanstd.pyx":519 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< * if count > 0: * amean = asum / count */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L5; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; + } + __pyx_L7:; } - __pyx_L5:; } - /* "nanstd.pyx":486 - * asum += ai - * count += 1 + /* "nanstd.pyx":520 + * asum += ai + * count += 1 * if count > 0: # <<<<<<<<<<<<<< * amean = asum / count * asum = 0 */ - __pyx_t_4 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_4) { + __pyx_t_7 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_7) { - /* "nanstd.pyx":487 - * count += 1 + /* "nanstd.pyx":521 + * count += 1 * if count > 0: * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 @@ -6273,85 +6731,98 @@ static PyObject *__pyx_pf_6nanstd_22nanstd_1d_float32_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":488 + /* "nanstd.pyx":522 * if count > 0: * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1): */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":489 + /* "nanstd.pyx":523 * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":490 + /* "nanstd.pyx":524 * asum = 0 * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanstd.pyx":491 + /* "nanstd.pyx":525 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":492 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * return np.float32(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":526 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { - /* "nanstd.pyx":493 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float32(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":527 + * ai = a[i0, i1] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * return np.float(sqrt(asum / (count - ddof))) + */ + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanstd.pyx":528 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * return np.float(sqrt(asum / (count - ddof))) * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L13; + } + __pyx_L13:; } - __pyx_L9:; } - /* "nanstd.pyx":494 - * ai -= amean - * asum += (ai * ai) - * return np.float32(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< + /* "nanstd.pyx":529 + * ai -= amean + * asum += (ai * ai) + * return np.float(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< * else: - * return np.float32(NAN) + * return np.float(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); if (unlikely(__pyx_t_1 == 0)) { #ifdef WITH_THREAD @@ -6361,108 +6832,108 @@ static PyObject *__pyx_pf_6nanstd_22nanstd_1d_float32_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_7 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - } + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (!__pyx_t_9) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_6); + __pyx_t_11 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_13 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + if (!__pyx_t_13) { + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL; + PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_11 = 0; + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; - PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_r = __pyx_t_10; + __pyx_t_10 = 0; goto __pyx_L0; } /*else*/ { - /* "nanstd.pyx":496 - * return np.float32(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":531 + * return np.float(sqrt(asum / (count - ddof))) * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< + * return np.float(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_7); + __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); + __Pyx_DECREF_SET(__pyx_t_14, function); } } - if (!__pyx_t_7) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_6); + if (!__pyx_t_11) { + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_12); + __Pyx_GIVEREF(__pyx_t_12); + __pyx_t_12 = 0; + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_r = __pyx_t_10; + __pyx_t_10 = 0; goto __pyx_L0; } - /* "nanstd.pyx":473 + /* "nanstd.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanstd_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6473,19 +6944,19 @@ static PyObject *__pyx_pf_6nanstd_22nanstd_1d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanstd.pyx":500 +/* "nanstd.pyx":535 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanstd_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_25nanstd_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_24nanstd_1d_float64_axisNone[] = "nanstd_1d_float64_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_25nanstd_1d_float64_axisNone = {"nanstd_1d_float64_axisNone", (PyCFunction)__pyx_pw_6nanstd_25nanstd_1d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_24nanstd_1d_float64_axisNone}; -static PyObject *__pyx_pw_6nanstd_25nanstd_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_25nanstd_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_24nanstd_2d_float32_axisNone[] = "nanstd_2d_float32_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_25nanstd_2d_float32_axisNone = {"nanstd_2d_float32_axisNone", (PyCFunction)__pyx_pw_6nanstd_25nanstd_2d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_24nanstd_2d_float32_axisNone}; +static PyObject *__pyx_pw_6nanstd_25nanstd_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -6493,7 +6964,7 @@ static PyObject *__pyx_pw_6nanstd_25nanstd_1d_float64_axisNone(PyObject *__pyx_s int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_1d_float64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -6514,11 +6985,11 @@ static PyObject *__pyx_pw_6nanstd_25nanstd_1d_float64_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_1d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6527,18 +6998,18 @@ static PyObject *__pyx_pw_6nanstd_25nanstd_1d_float64_axisNone(PyObject *__pyx_s values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_1d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_24nanstd_1d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_24nanstd_2d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -6549,14 +7020,16 @@ static PyObject *__pyx_pw_6nanstd_25nanstd_1d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_24nanstd_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_24nanstd_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_amean; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -6564,128 +7037,154 @@ static PyObject *__pyx_pf_6nanstd_24nanstd_1d_float64_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_6; + int __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_1d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":502 - * def nanstd_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): - * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." + /* "nanstd.pyx":537 + * def nanstd_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, amean, ai - * cdef Py_ssize_t i0 + * cdef np.float32_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_count = 0; - /* "nanstd.pyx":503 - * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." + /* "nanstd.pyx":538 + * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":506 - * cdef Py_ssize_t i0 + /* "nanstd.pyx":541 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":507 + /* "nanstd.pyx":542 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":508 + /* "nanstd.pyx":543 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanstd.pyx":544 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":509 - * cdef Py_ssize_t n0 = dim[0] + /* "nanstd.pyx":545 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanstd.pyx":510 + /* "nanstd.pyx":546 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":511 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 + /* "nanstd.pyx":547 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 + */ + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { + + /* "nanstd.pyx":548 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 * if count > 0: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanstd.pyx":512 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< + /* "nanstd.pyx":549 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< * if count > 0: * amean = asum / count */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L5; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; + } + __pyx_L7:; } - __pyx_L5:; } - /* "nanstd.pyx":513 - * asum += ai - * count += 1 + /* "nanstd.pyx":550 + * asum += ai + * count += 1 * if count > 0: # <<<<<<<<<<<<<< * amean = asum / count * asum = 0 */ - __pyx_t_4 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_4) { + __pyx_t_7 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_7) { - /* "nanstd.pyx":514 - * count += 1 + /* "nanstd.pyx":551 + * count += 1 * if count > 0: * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 @@ -6699,85 +7198,98 @@ static PyObject *__pyx_pf_6nanstd_24nanstd_1d_float64_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":515 + /* "nanstd.pyx":552 * if count > 0: * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1): */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":516 + /* "nanstd.pyx":553 * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":517 + /* "nanstd.pyx":554 * asum = 0 * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanstd.pyx":518 + /* "nanstd.pyx":555 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":519 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * return np.float64(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":556 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { - /* "nanstd.pyx":520 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float64(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":557 + * ai = a[i0, i1] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * return np.float32(sqrt(asum / (count - ddof))) + */ + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanstd.pyx":558 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * return np.float32(sqrt(asum / (count - ddof))) * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L13; + } + __pyx_L13:; } - __pyx_L9:; } - /* "nanstd.pyx":521 - * ai -= amean - * asum += (ai * ai) - * return np.float64(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< + /* "nanstd.pyx":559 + * ai -= amean + * asum += (ai * ai) + * return np.float32(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * return np.float32(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); if (unlikely(__pyx_t_1 == 0)) { #ifdef WITH_THREAD @@ -6787,108 +7299,108 @@ static PyObject *__pyx_pf_6nanstd_24nanstd_1d_float64_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_7 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_9); + __pyx_t_11 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_13 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); + __Pyx_DECREF_SET(__pyx_t_12, function); } } - if (!__pyx_t_9) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_6); + if (!__pyx_t_13) { + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL; + PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_11 = 0; + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; - PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_r = __pyx_t_10; + __pyx_t_10 = 0; goto __pyx_L0; } /*else*/ { - /* "nanstd.pyx":523 - * return np.float64(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":561 + * return np.float32(sqrt(asum / (count - ddof))) * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_7); + __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float32); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); + __Pyx_DECREF_SET(__pyx_t_14, function); } } - if (!__pyx_t_7) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_6); + if (!__pyx_t_11) { + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_12); + __Pyx_GIVEREF(__pyx_t_12); + __pyx_t_12 = 0; + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_r = __pyx_t_10; + __pyx_t_10 = 0; goto __pyx_L0; } - /* "nanstd.pyx":500 + /* "nanstd.pyx":535 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanstd_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6899,19 +7411,19 @@ static PyObject *__pyx_pf_6nanstd_24nanstd_1d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanstd.pyx":527 +/* "nanstd.pyx":565 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanstd_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_27nanstd_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_26nanstd_2d_float_axisNone[] = "nanstd_2d_float_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_27nanstd_2d_float_axisNone = {"nanstd_2d_float_axisNone", (PyCFunction)__pyx_pw_6nanstd_27nanstd_2d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_26nanstd_2d_float_axisNone}; -static PyObject *__pyx_pw_6nanstd_27nanstd_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_27nanstd_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_26nanstd_2d_float64_axisNone[] = "nanstd_2d_float64_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_27nanstd_2d_float64_axisNone = {"nanstd_2d_float64_axisNone", (PyCFunction)__pyx_pw_6nanstd_27nanstd_2d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_26nanstd_2d_float64_axisNone}; +static PyObject *__pyx_pw_6nanstd_27nanstd_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -6919,7 +7431,7 @@ static PyObject *__pyx_pw_6nanstd_27nanstd_2d_float_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_float_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -6940,11 +7452,11 @@ static PyObject *__pyx_pw_6nanstd_27nanstd_2d_float_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6953,18 +7465,18 @@ static PyObject *__pyx_pw_6nanstd_27nanstd_2d_float_axisNone(PyObject *__pyx_sel values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_26nanstd_2d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_26nanstd_2d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -6975,11 +7487,11 @@ static PyObject *__pyx_pw_6nanstd_27nanstd_2d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_amean; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -7006,36 +7518,36 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":529 - * def nanstd_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." + /* "nanstd.pyx":567 + * def nanstd_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, amean, ai + * cdef np.float64_t asum = 0, amean, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_count = 0; - /* "nanstd.pyx":530 - * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." + /* "nanstd.pyx":568 + * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":533 + /* "nanstd.pyx":571 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7044,7 +7556,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":534 + /* "nanstd.pyx":572 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7053,7 +7565,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":535 + /* "nanstd.pyx":573 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7062,7 +7574,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":536 + /* "nanstd.pyx":574 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -7073,7 +7585,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":537 + /* "nanstd.pyx":575 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -7084,7 +7596,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "nanstd.pyx":538 + /* "nanstd.pyx":576 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -7093,9 +7605,9 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_t_5 = __pyx_v_i0; __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":539 + /* "nanstd.pyx":577 * for i1 in range(n1): * ai = a[i0, i1] * if ai == ai: # <<<<<<<<<<<<<< @@ -7105,7 +7617,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "nanstd.pyx":540 + /* "nanstd.pyx":578 * ai = a[i0, i1] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -7114,7 +7626,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanstd.pyx":541 + /* "nanstd.pyx":579 * if ai == ai: * asum += ai * count += 1 # <<<<<<<<<<<<<< @@ -7128,7 +7640,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "nanstd.pyx":542 + /* "nanstd.pyx":580 * asum += ai * count += 1 * if count > 0: # <<<<<<<<<<<<<< @@ -7138,7 +7650,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_7 = ((__pyx_v_count > 0) != 0); if (__pyx_t_7) { - /* "nanstd.pyx":543 + /* "nanstd.pyx":581 * count += 1 * if count > 0: * amean = asum / count # <<<<<<<<<<<<<< @@ -7153,11 +7665,11 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":544 + /* "nanstd.pyx":582 * if count > 0: * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< @@ -7166,7 +7678,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":545 + /* "nanstd.pyx":583 * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -7177,7 +7689,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":546 + /* "nanstd.pyx":584 * asum = 0 * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -7188,7 +7700,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "nanstd.pyx":547 + /* "nanstd.pyx":585 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -7197,9 +7709,9 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":548 + /* "nanstd.pyx":586 * for i1 in range(n1): * ai = a[i0, i1] * if ai == ai: # <<<<<<<<<<<<<< @@ -7209,20 +7721,20 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "nanstd.pyx":549 + /* "nanstd.pyx":587 * ai = a[i0, i1] * if ai == ai: * ai -= amean # <<<<<<<<<<<<<< * asum += (ai * ai) - * return np.float(sqrt(asum / (count - ddof))) + * return np.float64(sqrt(asum / (count - ddof))) */ __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":550 + /* "nanstd.pyx":588 * if ai == ai: * ai -= amean * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float(sqrt(asum / (count - ddof))) + * return np.float64(sqrt(asum / (count - ddof))) * else: */ __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); @@ -7232,17 +7744,17 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "nanstd.pyx":551 + /* "nanstd.pyx":589 * ai -= amean * asum += (ai * ai) - * return np.float(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< + * return np.float64(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); @@ -7254,9 +7766,9 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_11 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __pyx_t_13 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { @@ -7269,17 +7781,17 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_13) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL; PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } @@ -7290,20 +7802,20 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj } /*else*/ { - /* "nanstd.pyx":553 - * return np.float(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":591 + * return np.float64(sqrt(asum / (count - ddof))) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float64); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_14))) { @@ -7316,17 +7828,17 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_11) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -7336,11 +7848,11 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "nanstd.pyx":527 + /* "nanstd.pyx":565 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanstd_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ @@ -7355,7 +7867,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7366,19 +7878,19 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanstd.pyx":557 +/* "nanstd.pyx":595 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_29nanstd_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_28nanstd_2d_float32_axisNone[] = "nanstd_2d_float32_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_29nanstd_2d_float32_axisNone = {"nanstd_2d_float32_axisNone", (PyCFunction)__pyx_pw_6nanstd_29nanstd_2d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_28nanstd_2d_float32_axisNone}; -static PyObject *__pyx_pw_6nanstd_29nanstd_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_29nanstd_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_28nanstd_1d_int_axisNone[] = "nanstd_1d_int_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_29nanstd_1d_int_axisNone = {"nanstd_1d_int_axisNone", (PyCFunction)__pyx_pw_6nanstd_29nanstd_1d_int_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_28nanstd_1d_int_axisNone}; +static PyObject *__pyx_pw_6nanstd_29nanstd_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -7386,7 +7898,7 @@ static PyObject *__pyx_pw_6nanstd_29nanstd_2d_float32_axisNone(PyObject *__pyx_s int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_float32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_1d_int_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -7407,11 +7919,11 @@ static PyObject *__pyx_pw_6nanstd_29nanstd_2d_float32_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_int_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7420,18 +7932,18 @@ static PyObject *__pyx_pw_6nanstd_29nanstd_2d_float32_axisNone(PyObject *__pyx_s values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_int_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_28nanstd_2d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_28nanstd_1d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -7442,278 +7954,284 @@ static PyObject *__pyx_pw_6nanstd_29nanstd_2d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_28nanstd_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_amean; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_28nanstd_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - int __pyx_t_7; + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_1d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nanstd.pyx":559 - * def nanstd_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanstd.pyx":560 - * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + /* "nanstd.pyx":597 + * def nanstd_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): + * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":563 - * cdef Py_ssize_t i0, i1 + /* "nanstd.pyx":601 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":564 + /* "nanstd.pyx":602 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * size = n0 + * if size == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":565 + /* "nanstd.pyx":603 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * size = n0 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nanstd.pyx":566 + /* "nanstd.pyx":604 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * size = n0 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":567 - * cdef Py_ssize_t n1 = dim[1] + /* "nanstd.pyx":605 + * size = n0 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + * ai = a[i0] */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanstd.pyx":568 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + /* "nanstd.pyx":606 + * if size == 0: + * return np.float64(NAN) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":569 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanstd.pyx":607 + * return np.float64(NAN) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":570 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanstd.pyx":608 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * amean = asum / size */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":571 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanstd.pyx":609 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + goto __pyx_L6; } + __pyx_L6:; } - /* "nanstd.pyx":572 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 - */ - __pyx_t_7 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_7) { - - /* "nanstd.pyx":573 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":610 + * if ai == ai: + * asum += ai + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanstd.pyx":574 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanstd.pyx":611 + * asum += ai + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0.0; - /* "nanstd.pyx":575 - * amean = asum / count - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanstd.pyx":612 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":576 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanstd.pyx":613 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_10 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":577 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanstd.pyx":614 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":578 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanstd.pyx":615 + * ai = a[i0] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":579 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * return np.float32(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":616 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; + } + __pyx_L9:; + } - /* "nanstd.pyx":580 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float32(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":617 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(sqrt(asum / (size - ddof))) * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L13; - } - __pyx_L13:; - } - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":581 - * ai -= amean - * asum += (ai * ai) - * return np.float32(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< + /* "nanstd.pyx":618 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< * else: - * return np.float32(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_1 == 0)) { + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -7721,108 +8239,108 @@ static PyObject *__pyx_pf_6nanstd_28nanstd_2d_float32_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_11 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_13 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_13); + __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); + __Pyx_DECREF_SET(__pyx_t_6, function); } } - if (!__pyx_t_13) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_GOTREF(__pyx_t_10); + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); } else { - __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL; - PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_11 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_10; - __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; goto __pyx_L0; } /*else*/ { - /* "nanstd.pyx":583 - * return np.float32(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":620 + * return np.float64(sqrt(asum / (size - ddof))) * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float32); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_11); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); + __Pyx_DECREF_SET(__pyx_t_5, function); } } - if (!__pyx_t_11) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_GOTREF(__pyx_t_10); + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); } else { - __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_12); - __Pyx_GIVEREF(__pyx_t_12); - __pyx_t_12 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_r = __pyx_t_10; - __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; goto __pyx_L0; } - /* "nanstd.pyx":557 + /* "nanstd.pyx":595 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7833,19 +8351,19 @@ static PyObject *__pyx_pf_6nanstd_28nanstd_2d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanstd.pyx":587 +/* "nanstd.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_31nanstd_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_30nanstd_2d_float64_axisNone[] = "nanstd_2d_float64_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_31nanstd_2d_float64_axisNone = {"nanstd_2d_float64_axisNone", (PyCFunction)__pyx_pw_6nanstd_31nanstd_2d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_30nanstd_2d_float64_axisNone}; -static PyObject *__pyx_pw_6nanstd_31nanstd_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_31nanstd_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_30nanstd_1d_int8_axisNone[] = "nanstd_1d_int8_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_31nanstd_1d_int8_axisNone = {"nanstd_1d_int8_axisNone", (PyCFunction)__pyx_pw_6nanstd_31nanstd_1d_int8_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_30nanstd_1d_int8_axisNone}; +static PyObject *__pyx_pw_6nanstd_31nanstd_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -7853,7 +8371,7 @@ static PyObject *__pyx_pw_6nanstd_31nanstd_2d_float64_axisNone(PyObject *__pyx_s int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_float64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_1d_int8_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -7874,11 +8392,11 @@ static PyObject *__pyx_pw_6nanstd_31nanstd_2d_float64_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_int8_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7887,18 +8405,18 @@ static PyObject *__pyx_pw_6nanstd_31nanstd_2d_float64_axisNone(PyObject *__pyx_s values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_int8_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_30nanstd_2d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_30nanstd_1d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -7909,177 +8427,284 @@ static PyObject *__pyx_pw_6nanstd_31nanstd_2d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_30nanstd_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; +static PyObject *__pyx_pf_6nanstd_30nanstd_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - int __pyx_t_7; + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_1d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanstd.pyx":589 - * def nanstd_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanstd.pyx":590 - * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanstd.pyx":626 + * def nanstd_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): + * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":593 - * cdef Py_ssize_t i0, i1 + /* "nanstd.pyx":630 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":594 + /* "nanstd.pyx":631 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * size = n0 + * if size == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":595 + /* "nanstd.pyx":632 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * size = n0 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nanstd.pyx":596 + /* "nanstd.pyx":633 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): + */ + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { + + /* "nanstd.pyx":634 + * size = n0 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } + + /* "nanstd.pyx":635 + * if size == 0: + * return np.float64(NAN) * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * if ai == ai: */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":597 - * cdef Py_ssize_t n1 = dim[1] + /* "nanstd.pyx":636 + * return np.float64(NAN) * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":598 + /* "nanstd.pyx":637 * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * amean = asum / size */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":599 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanstd.pyx":638 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + goto __pyx_L6; + } + __pyx_L6:; + } - /* "nanstd.pyx":600 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanstd.pyx":639 + * if ai == ai: + * asum += ai + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanstd.pyx":601 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanstd.pyx":640 + * asum += ai + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __pyx_v_asum = 0.0; + + /* "nanstd.pyx":641 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: + */ + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; + + /* "nanstd.pyx":642 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean + */ + __pyx_t_10 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); + + /* "nanstd.pyx":643 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) + */ + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { + + /* "nanstd.pyx":644 + * ai = a[i0] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: + */ + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanstd.pyx":645 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; } + __pyx_L9:; } - /* "nanstd.pyx":602 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanstd.pyx":646 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(sqrt(asum / (size - ddof))) + * else: */ - __pyx_t_7 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_7) { + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":603 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":647 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - if (unlikely(__pyx_v_count == 0)) { + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -8087,209 +8712,108 @@ static PyObject *__pyx_pf_6nanstd_30nanstd_2d_float64_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - - /* "nanstd.pyx":604 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): - */ - __pyx_v_asum = 0.0; - - /* "nanstd.pyx":605 - * amean = asum / count - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; - - /* "nanstd.pyx":606 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; - - /* "nanstd.pyx":607 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanstd.pyx":608 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) - */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { - - /* "nanstd.pyx":609 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * return np.float64(sqrt(asum / (count - ddof))) - */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - - /* "nanstd.pyx":610 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float64(sqrt(asum / (count - ddof))) - * else: - */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L13; - } - __pyx_L13:; - } - } - - /* "nanstd.pyx":611 - * ai -= amean - * asum += (ai * ai) - * return np.float64(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_1 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_11 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_13 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_13); + __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); + __Pyx_DECREF_SET(__pyx_t_6, function); } } - if (!__pyx_t_13) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_GOTREF(__pyx_t_10); + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); } else { - __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL; - PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_11 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_10; - __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; goto __pyx_L0; } /*else*/ { - /* "nanstd.pyx":613 - * return np.float64(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":649 + * return np.float64(sqrt(asum / (size - ddof))) * else: * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float64); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_11); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); + __Pyx_DECREF_SET(__pyx_t_5, function); } } - if (!__pyx_t_11) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_GOTREF(__pyx_t_10); + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); } else { - __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_12); - __Pyx_GIVEREF(__pyx_t_12); - __pyx_t_12 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_r = __pyx_t_10; - __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; goto __pyx_L0; } - /* "nanstd.pyx":587 + /* "nanstd.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8300,19 +8824,19 @@ static PyObject *__pyx_pf_6nanstd_30nanstd_2d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanstd.pyx":617 +/* "nanstd.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_33nanstd_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_32nanstd_2d_float_axis0[] = "nanstd_2d_float_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_33nanstd_2d_float_axis0 = {"nanstd_2d_float_axis0", (PyCFunction)__pyx_pw_6nanstd_33nanstd_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_32nanstd_2d_float_axis0}; -static PyObject *__pyx_pw_6nanstd_33nanstd_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_33nanstd_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_32nanstd_1d_int32_axisNone[] = "nanstd_1d_int32_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_33nanstd_1d_int32_axisNone = {"nanstd_1d_int32_axisNone", (PyCFunction)__pyx_pw_6nanstd_33nanstd_1d_int32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_32nanstd_1d_int32_axisNone}; +static PyObject *__pyx_pw_6nanstd_33nanstd_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -8320,7 +8844,7 @@ static PyObject *__pyx_pw_6nanstd_33nanstd_2d_float_axis0(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_1d_int32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -8341,11 +8865,11 @@ static PyObject *__pyx_pw_6nanstd_33nanstd_2d_float_axis0(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_int32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -8354,18 +8878,18 @@ static PyObject *__pyx_pw_6nanstd_33nanstd_2d_float_axis0(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_int32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_32nanstd_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_32nanstd_1d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -8376,398 +8900,416 @@ static PyObject *__pyx_pw_6nanstd_33nanstd_2d_float_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_32nanstd_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_amean; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_32nanstd_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_float_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanstd_1d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanstd.pyx":619 - * def nanstd_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 + /* "nanstd.pyx":655 + * def nanstd_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): + * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ - __pyx_v_count = 0; + __pyx_v_asum = 0.0; - /* "nanstd.pyx":620 - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - */ - __pyx_v_asum = 0.0; - - /* "nanstd.pyx":623 - * cdef Py_ssize_t i0, i1 + /* "nanstd.pyx":659 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":624 + /* "nanstd.pyx":660 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 + * if size == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":625 + /* "nanstd.pyx":661 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nanstd.pyx":626 + /* "nanstd.pyx":662 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * size = n0 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":627 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * for i1 in range(n1): + /* "nanstd.pyx":663 + * size = n0 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanstd.pyx":629 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + /* "nanstd.pyx":664 + * if size == 0: + * return np.float64(NAN) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":630 - * NPY_float, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): + /* "nanstd.pyx":665 + * return np.float64(NAN) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_v_asum = 0.0; + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":631 - * for i1 in range(n1): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanstd.pyx":666 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * amean = asum / size */ - __pyx_v_count = 0; + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":632 - * asum = 0 - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanstd.pyx":667 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + goto __pyx_L6; + } + __pyx_L6:; + } - /* "nanstd.pyx":633 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + /* "nanstd.pyx":668 + * if ai == ai: + * asum += ai + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanstd.pyx":634 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanstd.pyx":669 + * asum += ai + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_asum = 0.0; - /* "nanstd.pyx":635 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanstd.pyx":670 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":636 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanstd.pyx":671 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; - } + __pyx_t_10 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":637 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanstd.pyx":672 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":638 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":673 + * ai = a[i0] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - - /* "nanstd.pyx":639 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_asum = 0.0; - - /* "nanstd.pyx":640 - * amean = asum / count - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanstd.pyx":641 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean - */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanstd.pyx":642 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":643 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = sqrt(asum / (count - ddof)) + /* "nanstd.pyx":674 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; + } + __pyx_L9:; + } - /* "nanstd.pyx":644 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = sqrt(asum / (count - ddof)) - * else: + /* "nanstd.pyx":675 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(sqrt(asum / (size - ddof))) + * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":645 - * ai -= amean - * asum += (ai * ai) - * y[i1] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN + /* "nanstd.pyx":676 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); - goto __pyx_L8; } - /*else*/ { - - /* "nanstd.pyx":647 - * y[i1] = sqrt(asum / (count - ddof)) - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanstd.pyx":648 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanstd.pyx":678 + * return np.float64(sqrt(asum / (size - ddof))) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanstd.pyx":617 + /* "nanstd.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanstd.pyx":652 +/* "nanstd.pyx":682 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_35nanstd_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_34nanstd_2d_float_axis1[] = "nanstd_2d_float_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_35nanstd_2d_float_axis1 = {"nanstd_2d_float_axis1", (PyCFunction)__pyx_pw_6nanstd_35nanstd_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_34nanstd_2d_float_axis1}; -static PyObject *__pyx_pw_6nanstd_35nanstd_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_35nanstd_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_34nanstd_1d_int64_axisNone[] = "nanstd_1d_int64_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_35nanstd_1d_int64_axisNone = {"nanstd_1d_int64_axisNone", (PyCFunction)__pyx_pw_6nanstd_35nanstd_1d_int64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_34nanstd_1d_int64_axisNone}; +static PyObject *__pyx_pw_6nanstd_35nanstd_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -8775,7 +9317,7 @@ static PyObject *__pyx_pw_6nanstd_35nanstd_2d_float_axis1(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_1d_int64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -8796,11 +9338,11 @@ static PyObject *__pyx_pw_6nanstd_35nanstd_2d_float_axis1(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_int64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -8809,18 +9351,18 @@ static PyObject *__pyx_pw_6nanstd_35nanstd_2d_float_axis1(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_int64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_34nanstd_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_34nanstd_1d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -8831,398 +9373,416 @@ static PyObject *__pyx_pw_6nanstd_35nanstd_2d_float_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_34nanstd_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_amean; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_34nanstd_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_float_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanstd_1d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanstd.pyx":654 - * def nanstd_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanstd.pyx":655 - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + /* "nanstd.pyx":684 + * def nanstd_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): + * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":658 - * cdef Py_ssize_t i0, i1 + /* "nanstd.pyx":688 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":659 + /* "nanstd.pyx":689 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * size = n0 + * if size == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":660 + /* "nanstd.pyx":690 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nanstd.pyx":661 + /* "nanstd.pyx":691 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * size = n0 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":662 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) + /* "nanstd.pyx":692 + * size = n0 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanstd.pyx":664 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + /* "nanstd.pyx":693 + * if size == 0: + * return np.float64(NAN) * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + * ai = a[i0] + * if ai == ai: */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":665 - * NPY_float, 0) + /* "nanstd.pyx":694 + * return np.float64(NAN) * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i1 in range(n1): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_v_asum = 0.0; + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":666 + /* "nanstd.pyx":695 * for i0 in range(n0): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * amean = asum / size */ - __pyx_v_count = 0; + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":667 - * asum = 0 - * count = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanstd.pyx":696 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + goto __pyx_L6; + } + __pyx_L6:; + } - /* "nanstd.pyx":668 - * count = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + /* "nanstd.pyx":697 + * if ai == ai: + * asum += ai + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanstd.pyx":669 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanstd.pyx":698 + * asum += ai + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_asum = 0.0; - /* "nanstd.pyx":670 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanstd.pyx":699 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":671 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanstd.pyx":700 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; - } + __pyx_t_10 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":672 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanstd.pyx":701 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":673 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanstd.pyx":702 + * ai = a[i0] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - - /* "nanstd.pyx":674 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_asum = 0.0; - - /* "nanstd.pyx":675 - * amean = asum / count - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanstd.pyx":676 - * asum = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean - */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanstd.pyx":677 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":678 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = sqrt(asum / (count - ddof)) + /* "nanstd.pyx":703 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; + } + __pyx_L9:; + } - /* "nanstd.pyx":679 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = sqrt(asum / (count - ddof)) - * else: + /* "nanstd.pyx":704 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(sqrt(asum / (size - ddof))) + * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":680 - * ai -= amean - * asum += (ai * ai) - * y[i0] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN + /* "nanstd.pyx":705 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); - goto __pyx_L8; } - /*else*/ { - - /* "nanstd.pyx":682 - * y[i0] = sqrt(asum / (count - ddof)) - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanstd.pyx":683 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanstd.pyx":707 + * return np.float64(sqrt(asum / (size - ddof))) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanstd.pyx":652 + /* "nanstd.pyx":682 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanstd.pyx":687 +/* "nanstd.pyx":711 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_37nanstd_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_36nanstd_2d_float32_axis0[] = "nanstd_2d_float32_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_37nanstd_2d_float32_axis0 = {"nanstd_2d_float32_axis0", (PyCFunction)__pyx_pw_6nanstd_37nanstd_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_36nanstd_2d_float32_axis0}; -static PyObject *__pyx_pw_6nanstd_37nanstd_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_37nanstd_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_36nanstd_2d_int_axisNone[] = "nanstd_2d_int_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_37nanstd_2d_int_axisNone = {"nanstd_2d_int_axisNone", (PyCFunction)__pyx_pw_6nanstd_37nanstd_2d_int_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_36nanstd_2d_int_axisNone}; +static PyObject *__pyx_pw_6nanstd_37nanstd_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -9230,7 +9790,7 @@ static PyObject *__pyx_pw_6nanstd_37nanstd_2d_float32_axis0(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -9251,11 +9811,11 @@ static PyObject *__pyx_pw_6nanstd_37nanstd_2d_float32_axis0(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9264,18 +9824,18 @@ static PyObject *__pyx_pw_6nanstd_37nanstd_2d_float32_axis0(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_36nanstd_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_36nanstd_2d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -9286,73 +9846,58 @@ static PyObject *__pyx_pw_6nanstd_37nanstd_2d_float32_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_36nanstd_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_amean; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_36nanstd_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_float32_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanstd_2d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":689 - * def nanstd_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanstd.pyx":690 - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< + /* "nanstd.pyx":713 + * def nanstd_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":693 + /* "nanstd.pyx":717 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9361,323 +9906,362 @@ static PyObject *__pyx_pf_6nanstd_36nanstd_2d_float32_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":694 + /* "nanstd.pyx":718 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":695 + /* "nanstd.pyx":719 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * if size == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":696 + /* "nanstd.pyx":720 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanstd.pyx":697 + /* "nanstd.pyx":721 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) - * for i1 in range(n1): + * size = n0 * n1 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { + + /* "nanstd.pyx":722 + * size = n0 * n1 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanstd.pyx":699 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + /* "nanstd.pyx":723 + * if size == 0: + * return np.float64(NAN) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":700 - * NPY_float32, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): + /* "nanstd.pyx":724 + * return np.float64(NAN) + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / size */ - __pyx_v_asum = 0.0; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanstd.pyx":701 - * for i1 in range(n1): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanstd.pyx":725 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_v_count = 0; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); + } + } - /* "nanstd.pyx":702 - * asum = 0 - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanstd.pyx":726 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanstd.pyx":703 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + /* "nanstd.pyx":727 + * asum += a[i0, i1] + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_asum = 0.0; - /* "nanstd.pyx":704 - * for i0 in range(n0): + /* "nanstd.pyx":728 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":705 + /* "nanstd.pyx":729 + * asum = 0 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + * ai -= amean */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanstd.pyx":706 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanstd.pyx":730 + * for i0 in range(n0): + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; - } + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":707 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanstd.pyx":731 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":708 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":732 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + } + } - /* "nanstd.pyx":709 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_asum = 0.0; - - /* "nanstd.pyx":710 - * amean = asum / count - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanstd.pyx":711 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean - */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanstd.pyx":712 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nanstd.pyx":713 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = sqrt(asum / (count - ddof)) - */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - - /* "nanstd.pyx":714 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = sqrt(asum / (count - ddof)) - * else: + /* "nanstd.pyx":733 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(sqrt(asum / (size - ddof))) + * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":715 - * ai -= amean - * asum += (ai * ai) - * y[i1] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN + /* "nanstd.pyx":734 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); - goto __pyx_L8; } - /*else*/ { - - /* "nanstd.pyx":717 - * y[i1] = sqrt(asum / (count - ddof)) - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanstd.pyx":718 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanstd.pyx":736 + * return np.float64(sqrt(asum / (size - ddof))) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanstd.pyx":687 + /* "nanstd.pyx":711 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanstd.pyx":722 +/* "nanstd.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_39nanstd_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_38nanstd_2d_float32_axis1[] = "nanstd_2d_float32_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_39nanstd_2d_float32_axis1 = {"nanstd_2d_float32_axis1", (PyCFunction)__pyx_pw_6nanstd_39nanstd_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_38nanstd_2d_float32_axis1}; -static PyObject *__pyx_pw_6nanstd_39nanstd_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_39nanstd_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_38nanstd_2d_int8_axisNone[] = "nanstd_2d_int8_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_39nanstd_2d_int8_axisNone = {"nanstd_2d_int8_axisNone", (PyCFunction)__pyx_pw_6nanstd_39nanstd_2d_int8_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_38nanstd_2d_int8_axisNone}; +static PyObject *__pyx_pw_6nanstd_39nanstd_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -9685,7 +10269,7 @@ static PyObject *__pyx_pw_6nanstd_39nanstd_2d_float32_axis1(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int8_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -9706,11 +10290,11 @@ static PyObject *__pyx_pw_6nanstd_39nanstd_2d_float32_axis1(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9719,18 +10303,18 @@ static PyObject *__pyx_pw_6nanstd_39nanstd_2d_float32_axis1(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_38nanstd_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_38nanstd_2d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -9741,73 +10325,58 @@ static PyObject *__pyx_pw_6nanstd_39nanstd_2d_float32_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_38nanstd_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_amean; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_38nanstd_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_float32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanstd_2d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":724 - * def nanstd_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanstd.pyx":725 - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< + /* "nanstd.pyx":742 + * def nanstd_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":728 + /* "nanstd.pyx":746 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9816,323 +10385,362 @@ static PyObject *__pyx_pf_6nanstd_38nanstd_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":729 + /* "nanstd.pyx":747 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":730 + /* "nanstd.pyx":748 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * if size == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":731 + /* "nanstd.pyx":749 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanstd.pyx":732 + /* "nanstd.pyx":750 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) + * size = n0 * n1 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { + + /* "nanstd.pyx":751 + * size = n0 * n1 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanstd.pyx":734 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + /* "nanstd.pyx":752 + * if size == 0: + * return np.float64(NAN) * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":735 - * NPY_float32, 0) + /* "nanstd.pyx":753 + * return np.float64(NAN) * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / size + */ + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; + + /* "nanstd.pyx":754 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 + */ + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); + } + } + + /* "nanstd.pyx":755 * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_v_asum = 0.0; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanstd.pyx":736 + /* "nanstd.pyx":756 + * asum += a[i0, i1] + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + */ + __pyx_v_asum = 0.0; + + /* "nanstd.pyx":757 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_count = 0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":737 - * asum = 0 - * count = 0 + /* "nanstd.pyx":758 + * asum = 0 + * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * if ai == ai: + * ai -= amean */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanstd.pyx":738 - * count = 0 + /* "nanstd.pyx":759 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":739 + /* "nanstd.pyx":760 * for i1 in range(n1): * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":740 + /* "nanstd.pyx":761 * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nanstd.pyx":741 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } + } - /* "nanstd.pyx":742 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanstd.pyx":762 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(sqrt(asum / (size - ddof))) + * else: */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":743 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanstd.pyx":763 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - - /* "nanstd.pyx":744 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_asum = 0.0; - - /* "nanstd.pyx":745 - * amean = asum / count - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanstd.pyx":746 - * asum = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean - */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanstd.pyx":747 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nanstd.pyx":748 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = sqrt(asum / (count - ddof)) - */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - - /* "nanstd.pyx":749 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = sqrt(asum / (count - ddof)) - * else: - */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } - - /* "nanstd.pyx":750 - * ai -= amean - * asum += (ai * ai) - * y[i0] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN - */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); - goto __pyx_L8; } - /*else*/ { - - /* "nanstd.pyx":752 - * y[i0] = sqrt(asum / (count - ddof)) - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanstd.pyx":753 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanstd.pyx":765 + * return np.float64(sqrt(asum / (size - ddof))) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanstd.pyx":722 + /* "nanstd.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanstd.pyx":757 +/* "nanstd.pyx":769 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_41nanstd_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_40nanstd_2d_float64_axis0[] = "nanstd_2d_float64_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_41nanstd_2d_float64_axis0 = {"nanstd_2d_float64_axis0", (PyCFunction)__pyx_pw_6nanstd_41nanstd_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_40nanstd_2d_float64_axis0}; -static PyObject *__pyx_pw_6nanstd_41nanstd_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_41nanstd_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_40nanstd_2d_int32_axisNone[] = "nanstd_2d_int32_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_41nanstd_2d_int32_axisNone = {"nanstd_2d_int32_axisNone", (PyCFunction)__pyx_pw_6nanstd_41nanstd_2d_int32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_40nanstd_2d_int32_axisNone}; +static PyObject *__pyx_pw_6nanstd_41nanstd_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -10140,7 +10748,7 @@ static PyObject *__pyx_pw_6nanstd_41nanstd_2d_float64_axis0(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -10161,11 +10769,11 @@ static PyObject *__pyx_pw_6nanstd_41nanstd_2d_float64_axis0(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -10174,18 +10782,18 @@ static PyObject *__pyx_pw_6nanstd_41nanstd_2d_float64_axis0(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_40nanstd_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_40nanstd_2d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -10196,73 +10804,58 @@ static PyObject *__pyx_pw_6nanstd_41nanstd_2d_float64_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_40nanstd_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; +static PyObject *__pyx_pf_6nanstd_40nanstd_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_float64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanstd_2d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":759 - * def nanstd_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanstd.pyx":760 - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanstd.pyx":771 + * def nanstd_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":763 + /* "nanstd.pyx":775 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10271,323 +10864,362 @@ static PyObject *__pyx_pf_6nanstd_40nanstd_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":764 + /* "nanstd.pyx":776 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":765 + /* "nanstd.pyx":777 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * if size == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":766 + /* "nanstd.pyx":778 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanstd.pyx":767 + /* "nanstd.pyx":779 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * for i1 in range(n1): + * size = n0 * n1 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":769 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + /* "nanstd.pyx":780 + * size = n0 * n1 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "nanstd.pyx":770 - * NPY_float64, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): - */ - __pyx_v_asum = 0.0; - - /* "nanstd.pyx":771 - * for i1 in range(n1): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "nanstd.pyx":772 - * asum = 0 - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanstd.pyx":773 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanstd.pyx":774 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanstd.pyx":781 + * if size == 0: + * return np.float64(NAN) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":775 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanstd.pyx":782 + * return np.float64(NAN) + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / size */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanstd.pyx":776 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanstd.pyx":783 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); } + } - /* "nanstd.pyx":777 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanstd.pyx":784 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanstd.pyx":778 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":785 + * asum += a[i0, i1] + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); + __pyx_v_asum = 0.0; - /* "nanstd.pyx":779 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanstd.pyx":786 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":780 - * amean = asum / count - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanstd.pyx":787 + * asum = 0 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanstd.pyx":781 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanstd.pyx":788 + * for i0 in range(n0): + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":782 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanstd.pyx":789 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":783 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = sqrt(asum / (count - ddof)) + /* "nanstd.pyx":790 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + } + } - /* "nanstd.pyx":784 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = sqrt(asum / (count - ddof)) - * else: + /* "nanstd.pyx":791 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(sqrt(asum / (size - ddof))) + * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":785 - * ai -= amean - * asum += (ai * ai) - * y[i1] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN + /* "nanstd.pyx":792 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); - goto __pyx_L8; } - /*else*/ { - - /* "nanstd.pyx":787 - * y[i1] = sqrt(asum / (count - ddof)) - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanstd.pyx":788 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanstd.pyx":794 + * return np.float64(sqrt(asum / (size - ddof))) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanstd.pyx":757 + /* "nanstd.pyx":769 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanstd.pyx":792 +/* "nanstd.pyx":798 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_43nanstd_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_42nanstd_2d_float64_axis1[] = "nanstd_2d_float64_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_43nanstd_2d_float64_axis1 = {"nanstd_2d_float64_axis1", (PyCFunction)__pyx_pw_6nanstd_43nanstd_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_42nanstd_2d_float64_axis1}; -static PyObject *__pyx_pw_6nanstd_43nanstd_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_43nanstd_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_42nanstd_2d_int64_axisNone[] = "nanstd_2d_int64_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_43nanstd_2d_int64_axisNone = {"nanstd_2d_int64_axisNone", (PyCFunction)__pyx_pw_6nanstd_43nanstd_2d_int64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_42nanstd_2d_int64_axisNone}; +static PyObject *__pyx_pw_6nanstd_43nanstd_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -10595,7 +11227,7 @@ static PyObject *__pyx_pw_6nanstd_43nanstd_2d_float64_axis1(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -10616,11 +11248,11 @@ static PyObject *__pyx_pw_6nanstd_43nanstd_2d_float64_axis1(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -10629,18 +11261,18 @@ static PyObject *__pyx_pw_6nanstd_43nanstd_2d_float64_axis1(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_42nanstd_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_42nanstd_2d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -10651,73 +11283,58 @@ static PyObject *__pyx_pw_6nanstd_43nanstd_2d_float64_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_42nanstd_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; +static PyObject *__pyx_pf_6nanstd_42nanstd_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_float64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanstd_2d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":794 - * def nanstd_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanstd.pyx":795 - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanstd.pyx":800 + * def nanstd_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":798 + /* "nanstd.pyx":804 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10726,305 +11343,344 @@ static PyObject *__pyx_pf_6nanstd_42nanstd_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":799 + /* "nanstd.pyx":805 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":800 + /* "nanstd.pyx":806 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * if size == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":801 + /* "nanstd.pyx":807 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanstd.pyx":802 + /* "nanstd.pyx":808 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) + * size = n0 * n1 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { + + /* "nanstd.pyx":809 + * size = n0 * n1 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanstd.pyx":804 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + /* "nanstd.pyx":810 + * if size == 0: + * return np.float64(NAN) * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":805 - * NPY_float64, 0) + /* "nanstd.pyx":811 + * return np.float64(NAN) * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i1 in range(n1): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / size */ - __pyx_v_asum = 0.0; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanstd.pyx":806 + /* "nanstd.pyx":812 * for i0 in range(n0): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "nanstd.pyx":807 - * asum = 0 - * count = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); + } + } - /* "nanstd.pyx":808 - * count = 0 + /* "nanstd.pyx":813 * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * asum += a[i0, i1] + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanstd.pyx":809 + /* "nanstd.pyx":814 + * asum += a[i0, i1] + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_asum = 0.0; - /* "nanstd.pyx":810 + /* "nanstd.pyx":815 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nanstd.pyx":811 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count - */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; - } - - /* "nanstd.pyx":812 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 - */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { - - /* "nanstd.pyx":813 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): - */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - - /* "nanstd.pyx":814 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":815 - * amean = asum / count - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanstd.pyx":816 + * asum = 0 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanstd.pyx":816 - * asum = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanstd.pyx":817 + * for i0 in range(n0): + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":817 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanstd.pyx":818 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":818 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = sqrt(asum / (count - ddof)) + /* "nanstd.pyx":819 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + } + } - /* "nanstd.pyx":819 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = sqrt(asum / (count - ddof)) - * else: + /* "nanstd.pyx":820 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(sqrt(asum / (size - ddof))) + * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":820 - * ai -= amean - * asum += (ai * ai) - * y[i0] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN + /* "nanstd.pyx":821 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); - goto __pyx_L8; } - /*else*/ { - - /* "nanstd.pyx":822 - * y[i0] = sqrt(asum / (count - ddof)) - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanstd.pyx":823 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanstd.pyx":823 + * return np.float64(sqrt(asum / (size - ddof))) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanstd.pyx":792 + /* "nanstd.pyx":798 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -11033,16 +11689,16 @@ static PyObject *__pyx_pf_6nanstd_42nanstd_2d_float64_axis1(CYTHON_UNUSED PyObje /* "nanstd.pyx":827 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanstd_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_45nanstd_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_44nanstd_1d_int_axisNone[] = "nanstd_1d_int_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_45nanstd_1d_int_axisNone = {"nanstd_1d_int_axisNone", (PyCFunction)__pyx_pw_6nanstd_45nanstd_1d_int_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_44nanstd_1d_int_axisNone}; -static PyObject *__pyx_pw_6nanstd_45nanstd_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_45nanstd_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_44nanstd_2d_int_axis0[] = "nanstd_2d_int_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_45nanstd_2d_int_axis0 = {"nanstd_2d_int_axis0", (PyCFunction)__pyx_pw_6nanstd_45nanstd_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_44nanstd_2d_int_axis0}; +static PyObject *__pyx_pw_6nanstd_45nanstd_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -11050,7 +11706,7 @@ static PyObject *__pyx_pw_6nanstd_45nanstd_1d_int_axisNone(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_1d_int_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -11071,11 +11727,11 @@ static PyObject *__pyx_pw_6nanstd_45nanstd_1d_int_axisNone(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_1d_int_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -11088,14 +11744,14 @@ static PyObject *__pyx_pw_6nanstd_45nanstd_1d_int_axisNone(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_1d_int_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_44nanstd_1d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanstd_44nanstd_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -11106,398 +11762,319 @@ static PyObject *__pyx_pw_6nanstd_45nanstd_1d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_44nanstd_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_44nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_1d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanstd.pyx":829 - * def nanstd_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): - * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanstd_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":833 - * cdef Py_ssize_t i0 + /* "nanstd.pyx":832 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":834 + /* "nanstd.pyx":833 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * if size == 0: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":835 + /* "nanstd.pyx":834 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":836 + /* "nanstd.pyx":835 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":837 - * size = n0 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanstd.pyx":836 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; /* "nanstd.pyx":838 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { /* "nanstd.pyx":839 - * return np.float64(NAN) - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - - /* "nanstd.pyx":840 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * amean = asum / size + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i1 in range(n1): */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; + } + /*else*/ { - /* "nanstd.pyx":841 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + /* "nanstd.pyx":841 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - goto __pyx_L6; - } - __pyx_L6:; - } + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanstd.pyx":842 - * if ai == ai: - * asum += ai - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":842 + * else: + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_v_asum = 0.0; - /* "nanstd.pyx":843 - * asum += ai - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanstd.pyx":843 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n0 */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":844 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + /* "nanstd.pyx":844 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n0 + * asum = 0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanstd.pyx":845 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanstd.pyx":845 + * for i0 in range(n0): + * asum += a[i0, i1] + * amean = asum / n0 # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_10 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); - /* "nanstd.pyx":846 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanstd.pyx":846 + * asum += a[i0, i1] + * amean = asum / n0 + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_v_asum = 0.0; /* "nanstd.pyx":847 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n0 + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":848 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) + /* "nanstd.pyx":848 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; - } - __pyx_L9:; - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "nanstd.pyx":849 + * for i0 in range(n0): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) + */ + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":849 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(sqrt(asum / (size - ddof))) - * else: + /* "nanstd.pyx":850 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = sqrt(asum / (n0 - ddof)) + * return y */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + } - /* "nanstd.pyx":850 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanstd.pyx":851 + * ai -= amean + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) # <<<<<<<<<<<<<< + * return y + * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } - /*else*/ { + __pyx_L3:; - /* "nanstd.pyx":852 - * return np.float64(sqrt(asum / (size - ddof))) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanstd.pyx":852 + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanstd.pyx":827 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanstd_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -11506,16 +12083,16 @@ static PyObject *__pyx_pf_6nanstd_44nanstd_1d_int_axisNone(CYTHON_UNUSED PyObjec /* "nanstd.pyx":856 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanstd_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_47nanstd_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_46nanstd_1d_int8_axisNone[] = "nanstd_1d_int8_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_47nanstd_1d_int8_axisNone = {"nanstd_1d_int8_axisNone", (PyCFunction)__pyx_pw_6nanstd_47nanstd_1d_int8_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_46nanstd_1d_int8_axisNone}; -static PyObject *__pyx_pw_6nanstd_47nanstd_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_47nanstd_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_46nanstd_2d_int_axis1[] = "nanstd_2d_int_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_47nanstd_2d_int_axis1 = {"nanstd_2d_int_axis1", (PyCFunction)__pyx_pw_6nanstd_47nanstd_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_46nanstd_2d_int_axis1}; +static PyObject *__pyx_pw_6nanstd_47nanstd_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -11523,7 +12100,7 @@ static PyObject *__pyx_pw_6nanstd_47nanstd_1d_int8_axisNone(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_1d_int8_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -11544,11 +12121,11 @@ static PyObject *__pyx_pw_6nanstd_47nanstd_1d_int8_axisNone(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_1d_int8_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -11561,14 +12138,14 @@ static PyObject *__pyx_pw_6nanstd_47nanstd_1d_int8_axisNone(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_1d_int8_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_46nanstd_1d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanstd_46nanstd_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -11579,398 +12156,319 @@ static PyObject *__pyx_pw_6nanstd_47nanstd_1d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_46nanstd_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_46nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_1d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanstd.pyx":858 - * def nanstd_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): - * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanstd_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":862 - * cdef Py_ssize_t i0 + /* "nanstd.pyx":861 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":863 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * if size == 0: - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "nanstd.pyx":864 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) - */ - __pyx_v_size = __pyx_v_n0; - - /* "nanstd.pyx":865 - * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): - */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { - - /* "nanstd.pyx":866 - * size = n0 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - - /* "nanstd.pyx":867 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + /* "nanstd.pyx":862 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":868 - * return np.float64(NAN) - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + /* "nanstd.pyx":863 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":869 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * amean = asum / size + /* "nanstd.pyx":864 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":870 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + /* "nanstd.pyx":865 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - goto __pyx_L6; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __pyx_L6:; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanstd.pyx":871 - * if ai == ai: - * asum += ai - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":867 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "nanstd.pyx":868 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i0 in range(n0): + */ + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + /*else*/ { - /* "nanstd.pyx":872 - * asum += ai - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanstd.pyx":870 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_v_asum = 0.0; + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanstd.pyx":873 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + /* "nanstd.pyx":871 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_asum = 0.0; - /* "nanstd.pyx":874 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanstd.pyx":872 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n1 */ - __pyx_t_10 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanstd.pyx":875 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanstd.pyx":873 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n1 + * asum = 0 */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanstd.pyx":876 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + /* "nanstd.pyx":874 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / n1 # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); - /* "nanstd.pyx":877 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) + /* "nanstd.pyx":875 + * asum += a[i0, i1] + * amean = asum / n1 + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; - } - __pyx_L9:; - } + __pyx_v_asum = 0.0; - /* "nanstd.pyx":878 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(sqrt(asum / (size - ddof))) - * else: + /* "nanstd.pyx":876 + * amean = asum / n1 + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanstd.pyx":879 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanstd.pyx":877 + * asum = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "nanstd.pyx":878 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) + */ + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanstd.pyx":879 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = sqrt(asum / (n1 - ddof)) + * return y + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanstd.pyx":881 - * return np.float64(sqrt(asum / (size - ddof))) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanstd.pyx":880 + * ai -= amean + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanstd.pyx":881 + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanstd.pyx":856 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanstd_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -11979,16 +12477,16 @@ static PyObject *__pyx_pf_6nanstd_46nanstd_1d_int8_axisNone(CYTHON_UNUSED PyObje /* "nanstd.pyx":885 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanstd_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_49nanstd_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_48nanstd_1d_int32_axisNone[] = "nanstd_1d_int32_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_49nanstd_1d_int32_axisNone = {"nanstd_1d_int32_axisNone", (PyCFunction)__pyx_pw_6nanstd_49nanstd_1d_int32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_48nanstd_1d_int32_axisNone}; -static PyObject *__pyx_pw_6nanstd_49nanstd_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_49nanstd_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_48nanstd_2d_int8_axis0[] = "nanstd_2d_int8_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_49nanstd_2d_int8_axis0 = {"nanstd_2d_int8_axis0", (PyCFunction)__pyx_pw_6nanstd_49nanstd_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_48nanstd_2d_int8_axis0}; +static PyObject *__pyx_pw_6nanstd_49nanstd_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -11996,7 +12494,7 @@ static PyObject *__pyx_pw_6nanstd_49nanstd_1d_int32_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_1d_int32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int8_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -12017,11 +12515,11 @@ static PyObject *__pyx_pw_6nanstd_49nanstd_1d_int32_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_1d_int32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -12034,14 +12532,14 @@ static PyObject *__pyx_pw_6nanstd_49nanstd_1d_int32_axisNone(PyObject *__pyx_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_1d_int32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_48nanstd_1d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanstd_48nanstd_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -12052,398 +12550,319 @@ static PyObject *__pyx_pw_6nanstd_49nanstd_1d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_48nanstd_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_48nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_1d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int8_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanstd.pyx":887 - * def nanstd_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): - * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanstd_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":891 - * cdef Py_ssize_t i0 + /* "nanstd.pyx":890 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":892 + /* "nanstd.pyx":891 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * if size == 0: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":893 + /* "nanstd.pyx":892 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":894 + /* "nanstd.pyx":893 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":895 - * size = n0 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanstd.pyx":894 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; /* "nanstd.pyx":896 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: - */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; - - /* "nanstd.pyx":897 - * return np.float64(NAN) - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - - /* "nanstd.pyx":898 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * amean = asum / size + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanstd.pyx":899 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + /* "nanstd.pyx":897 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i1 in range(n1): */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - goto __pyx_L6; - } - __pyx_L6:; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } + /*else*/ { - /* "nanstd.pyx":900 - * if ai == ai: - * asum += ai - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":899 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanstd.pyx":901 - * asum += ai - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanstd.pyx":900 + * else: + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0.0; - /* "nanstd.pyx":902 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + /* "nanstd.pyx":901 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":903 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanstd.pyx":902 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n0 + * asum = 0 */ - __pyx_t_10 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanstd.pyx":904 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanstd.pyx":903 + * for i0 in range(n0): + * asum += a[i0, i1] + * amean = asum / n0 # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); + + /* "nanstd.pyx":904 + * asum += a[i0, i1] + * amean = asum / n0 + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_asum = 0.0; /* "nanstd.pyx":905 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n0 + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":906 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) + /* "nanstd.pyx":906 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; - } - __pyx_L9:; - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":907 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(sqrt(asum / (size - ddof))) - * else: + /* "nanstd.pyx":907 + * for i0 in range(n0): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":908 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanstd.pyx":908 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = sqrt(asum / (n0 - ddof)) + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanstd.pyx":910 - * return np.float64(sqrt(asum / (size - ddof))) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanstd.pyx":909 + * ai -= amean + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanstd.pyx":910 + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanstd.pyx":885 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanstd_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -12452,16 +12871,16 @@ static PyObject *__pyx_pf_6nanstd_48nanstd_1d_int32_axisNone(CYTHON_UNUSED PyObj /* "nanstd.pyx":914 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanstd_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_51nanstd_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_50nanstd_1d_int64_axisNone[] = "nanstd_1d_int64_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_51nanstd_1d_int64_axisNone = {"nanstd_1d_int64_axisNone", (PyCFunction)__pyx_pw_6nanstd_51nanstd_1d_int64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_50nanstd_1d_int64_axisNone}; -static PyObject *__pyx_pw_6nanstd_51nanstd_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_51nanstd_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_50nanstd_2d_int8_axis1[] = "nanstd_2d_int8_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_51nanstd_2d_int8_axis1 = {"nanstd_2d_int8_axis1", (PyCFunction)__pyx_pw_6nanstd_51nanstd_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_50nanstd_2d_int8_axis1}; +static PyObject *__pyx_pw_6nanstd_51nanstd_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -12469,7 +12888,7 @@ static PyObject *__pyx_pw_6nanstd_51nanstd_1d_int64_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_1d_int64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int8_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -12490,11 +12909,11 @@ static PyObject *__pyx_pw_6nanstd_51nanstd_1d_int64_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_1d_int64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -12507,14 +12926,14 @@ static PyObject *__pyx_pw_6nanstd_51nanstd_1d_int64_axisNone(PyObject *__pyx_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_1d_int64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_50nanstd_1d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanstd_50nanstd_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -12525,398 +12944,319 @@ static PyObject *__pyx_pw_6nanstd_51nanstd_1d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_50nanstd_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_50nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_1d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int8_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanstd.pyx":916 - * def nanstd_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): - * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanstd_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":920 - * cdef Py_ssize_t i0 + /* "nanstd.pyx":919 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":921 + /* "nanstd.pyx":920 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * if size == 0: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":922 + /* "nanstd.pyx":921 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":923 + /* "nanstd.pyx":922 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":924 - * size = n0 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanstd.pyx":923 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; /* "nanstd.pyx":925 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { /* "nanstd.pyx":926 - * return np.float64(NAN) - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - - /* "nanstd.pyx":927 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * amean = asum / size - */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { - - /* "nanstd.pyx":928 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i0 in range(n0): */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - goto __pyx_L6; - } - __pyx_L6:; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } + /*else*/ { - /* "nanstd.pyx":929 - * if ai == ai: - * asum += ai - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":928 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 929; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanstd.pyx":930 - * asum += ai - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanstd.pyx":929 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0.0; + + /* "nanstd.pyx":930 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n1 */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanstd.pyx":931 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + /* "nanstd.pyx":931 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n1 + * asum = 0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanstd.pyx":932 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanstd.pyx":932 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / n1 # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_t_10 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); - /* "nanstd.pyx":933 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanstd.pyx":933 + * asum += a[i0, i1] + * amean = asum / n1 + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_v_asum = 0.0; /* "nanstd.pyx":934 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n1 + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanstd.pyx":935 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) + /* "nanstd.pyx":935 + * asum = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; - } - __pyx_L9:; - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":936 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(sqrt(asum / (size - ddof))) - * else: + /* "nanstd.pyx":936 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":937 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanstd.pyx":937 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = sqrt(asum / (n1 - ddof)) + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanstd.pyx":939 - * return np.float64(sqrt(asum / (size - ddof))) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanstd.pyx":938 + * ai -= amean + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanstd.pyx":939 + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanstd.pyx":914 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanstd_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -12925,16 +13265,16 @@ static PyObject *__pyx_pf_6nanstd_50nanstd_1d_int64_axisNone(CYTHON_UNUSED PyObj /* "nanstd.pyx":943 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanstd_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_53nanstd_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_52nanstd_2d_int_axisNone[] = "nanstd_2d_int_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_53nanstd_2d_int_axisNone = {"nanstd_2d_int_axisNone", (PyCFunction)__pyx_pw_6nanstd_53nanstd_2d_int_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_52nanstd_2d_int_axisNone}; -static PyObject *__pyx_pw_6nanstd_53nanstd_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_53nanstd_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_52nanstd_2d_int32_axis0[] = "nanstd_2d_int32_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_53nanstd_2d_int32_axis0 = {"nanstd_2d_int32_axis0", (PyCFunction)__pyx_pw_6nanstd_53nanstd_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_52nanstd_2d_int32_axis0}; +static PyObject *__pyx_pw_6nanstd_53nanstd_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -12942,7 +13282,7 @@ static PyObject *__pyx_pw_6nanstd_53nanstd_2d_int_axisNone(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -12963,11 +13303,11 @@ static PyObject *__pyx_pw_6nanstd_53nanstd_2d_int_axisNone(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -12980,14 +13320,14 @@ static PyObject *__pyx_pw_6nanstd_53nanstd_2d_int_axisNone(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_52nanstd_2d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanstd_52nanstd_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -12998,58 +13338,63 @@ static PyObject *__pyx_pw_6nanstd_53nanstd_2d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_52nanstd_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_52nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int32_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanstd.pyx":945 - * def nanstd_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanstd_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":949 + /* "nanstd.pyx":948 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -13058,344 +13403,254 @@ static PyObject *__pyx_pf_6nanstd_52nanstd_2d_int_axisNone(CYTHON_UNUSED PyObjec */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":950 + /* "nanstd.pyx":949 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":951 + /* "nanstd.pyx":950 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * if size == 0: + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":952 + /* "nanstd.pyx":951 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":953 + /* "nanstd.pyx":952 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): - */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { - - /* "nanstd.pyx":954 - * size = n0 * n1 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanstd.pyx":955 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] - */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; - - /* "nanstd.pyx":956 - * return np.float64(NAN) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / size + /* "nanstd.pyx":954 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanstd.pyx":957 - * for i0 in range(n0): + /* "nanstd.pyx":955 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } + /*else*/ { - /* "nanstd.pyx":958 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":957 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanstd.pyx":959 - * asum += a[i0, i1] - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanstd.pyx":958 + * else: * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0.0; - /* "nanstd.pyx":960 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "nanstd.pyx":959 * for i1 in range(n1): - * ai = a[i0, i1] + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":961 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ai -= amean + /* "nanstd.pyx":960 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n0 + * asum = 0 */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nanstd.pyx":961 + * for i0 in range(n0): + * asum += a[i0, i1] + * amean = asum / n0 # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): + */ + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); /* "nanstd.pyx":962 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * asum += a[i0, i1] + * amean = asum / n0 + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_asum = 0.0; /* "nanstd.pyx":963 - * for i1 in range(n1): - * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n0 + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; + + /* "nanstd.pyx":964 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) + */ + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":964 - * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) + /* "nanstd.pyx":965 + * for i0 in range(n0): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - } - } + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":965 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(sqrt(asum / (size - ddof))) - * else: + /* "nanstd.pyx":966 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = sqrt(asum / (n0 - ddof)) + * return y */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + } - /* "nanstd.pyx":966 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanstd.pyx":967 + * ai -= amean + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) # <<<<<<<<<<<<<< + * return y + * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } - /*else*/ { + __pyx_L3:; - /* "nanstd.pyx":968 - * return np.float64(sqrt(asum / (size - ddof))) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanstd.pyx":968 + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanstd.pyx":943 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanstd_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -13404,16 +13659,16 @@ static PyObject *__pyx_pf_6nanstd_52nanstd_2d_int_axisNone(CYTHON_UNUSED PyObjec /* "nanstd.pyx":972 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanstd_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_55nanstd_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_54nanstd_2d_int8_axisNone[] = "nanstd_2d_int8_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_55nanstd_2d_int8_axisNone = {"nanstd_2d_int8_axisNone", (PyCFunction)__pyx_pw_6nanstd_55nanstd_2d_int8_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_54nanstd_2d_int8_axisNone}; -static PyObject *__pyx_pw_6nanstd_55nanstd_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_55nanstd_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_54nanstd_2d_int32_axis1[] = "nanstd_2d_int32_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_55nanstd_2d_int32_axis1 = {"nanstd_2d_int32_axis1", (PyCFunction)__pyx_pw_6nanstd_55nanstd_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_54nanstd_2d_int32_axis1}; +static PyObject *__pyx_pw_6nanstd_55nanstd_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -13421,7 +13676,7 @@ static PyObject *__pyx_pw_6nanstd_55nanstd_2d_int8_axisNone(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int8_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -13442,11 +13697,11 @@ static PyObject *__pyx_pw_6nanstd_55nanstd_2d_int8_axisNone(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -13459,14 +13714,14 @@ static PyObject *__pyx_pw_6nanstd_55nanstd_2d_int8_axisNone(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_54nanstd_2d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanstd_54nanstd_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -13477,58 +13732,63 @@ static PyObject *__pyx_pw_6nanstd_55nanstd_2d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_54nanstd_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_54nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int32_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanstd.pyx":974 - * def nanstd_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanstd_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":978 + /* "nanstd.pyx":977 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -13537,344 +13797,254 @@ static PyObject *__pyx_pf_6nanstd_54nanstd_2d_int8_axisNone(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":979 + /* "nanstd.pyx":978 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "nanstd.pyx":980 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * if size == 0: - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanstd.pyx":981 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) - */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - - /* "nanstd.pyx":982 - * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): - */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { - - /* "nanstd.pyx":983 - * size = n0 * n1 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + */ + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":984 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanstd.pyx":979 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":985 - * return np.float64(NAN) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / size + /* "nanstd.pyx":980 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":986 - * for i0 in range(n0): - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + /* "nanstd.pyx":981 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanstd.pyx":987 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":983 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "nanstd.pyx":984 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i0 in range(n0): + */ + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + /*else*/ { - /* "nanstd.pyx":988 - * asum += a[i0, i1] - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanstd.pyx":986 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_v_asum = 0.0; + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanstd.pyx":989 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanstd.pyx":987 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_asum = 0.0; - /* "nanstd.pyx":990 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ai -= amean + /* "nanstd.pyx":988 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n1 */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; + + /* "nanstd.pyx":989 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n1 + * asum = 0 + */ + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nanstd.pyx":990 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / n1 # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): + */ + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); /* "nanstd.pyx":991 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * asum += a[i0, i1] + * amean = asum / n1 + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_asum = 0.0; /* "nanstd.pyx":992 - * for i1 in range(n1): - * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n1 + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanstd.pyx":993 - * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) + /* "nanstd.pyx":993 + * asum = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - } - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":994 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(sqrt(asum / (size - ddof))) - * else: + /* "nanstd.pyx":994 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":995 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanstd.pyx":995 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = sqrt(asum / (n1 - ddof)) + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanstd.pyx":997 - * return np.float64(sqrt(asum / (size - ddof))) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanstd.pyx":996 + * ai -= amean + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 996; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanstd.pyx":997 + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanstd.pyx":972 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanstd_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -13883,16 +14053,16 @@ static PyObject *__pyx_pf_6nanstd_54nanstd_2d_int8_axisNone(CYTHON_UNUSED PyObje /* "nanstd.pyx":1001 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanstd_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_57nanstd_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_56nanstd_2d_int32_axisNone[] = "nanstd_2d_int32_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_57nanstd_2d_int32_axisNone = {"nanstd_2d_int32_axisNone", (PyCFunction)__pyx_pw_6nanstd_57nanstd_2d_int32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_56nanstd_2d_int32_axisNone}; -static PyObject *__pyx_pw_6nanstd_57nanstd_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_57nanstd_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_56nanstd_2d_int64_axis0[] = "nanstd_2d_int64_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_57nanstd_2d_int64_axis0 = {"nanstd_2d_int64_axis0", (PyCFunction)__pyx_pw_6nanstd_57nanstd_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_56nanstd_2d_int64_axis0}; +static PyObject *__pyx_pw_6nanstd_57nanstd_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -13900,7 +14070,7 @@ static PyObject *__pyx_pw_6nanstd_57nanstd_2d_int32_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -13921,11 +14091,11 @@ static PyObject *__pyx_pw_6nanstd_57nanstd_2d_int32_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -13938,14 +14108,14 @@ static PyObject *__pyx_pw_6nanstd_57nanstd_2d_int32_axisNone(PyObject *__pyx_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_56nanstd_2d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanstd_56nanstd_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -13956,58 +14126,63 @@ static PyObject *__pyx_pw_6nanstd_57nanstd_2d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_56nanstd_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_56nanstd_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int64_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanstd.pyx":1003 - * def nanstd_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanstd_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":1007 + /* "nanstd.pyx":1006 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -14016,344 +14191,254 @@ static PyObject *__pyx_pf_6nanstd_56nanstd_2d_int32_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":1008 + /* "nanstd.pyx":1007 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":1009 + /* "nanstd.pyx":1008 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * if size == 0: + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":1010 + /* "nanstd.pyx":1009 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":1011 + /* "nanstd.pyx":1010 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): - */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { - - /* "nanstd.pyx":1012 - * size = n0 * n1 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanstd.pyx":1013 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] - */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; - - /* "nanstd.pyx":1014 - * return np.float64(NAN) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / size + /* "nanstd.pyx":1012 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanstd.pyx":1015 - * for i0 in range(n0): + /* "nanstd.pyx":1013 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } + /*else*/ { + + /* "nanstd.pyx":1015 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): + */ + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanstd.pyx":1016 + /* "nanstd.pyx":1016 + * else: * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_v_asum = 0.0; - /* "nanstd.pyx":1017 - * asum += a[i0, i1] - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanstd.pyx":1017 * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n0 */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":1018 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanstd.pyx":1018 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n0 + * asum = 0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanstd.pyx":1019 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ai -= amean + /* "nanstd.pyx":1019 + * for i0 in range(n0): + * asum += a[i0, i1] + * amean = asum / n0 # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1019; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); /* "nanstd.pyx":1020 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * asum += a[i0, i1] + * amean = asum / n0 + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_asum = 0.0; /* "nanstd.pyx":1021 - * for i1 in range(n1): - * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n0 + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":1022 - * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) + /* "nanstd.pyx":1022 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - } - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":1023 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(sqrt(asum / (size - ddof))) - * else: + /* "nanstd.pyx":1023 + * for i0 in range(n0): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":1024 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanstd.pyx":1024 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = sqrt(asum / (n0 - ddof)) + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanstd.pyx":1026 - * return np.float64(sqrt(asum / (size - ddof))) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanstd.pyx":1025 + * ai -= amean + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanstd.pyx":1026 + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanstd.pyx":1001 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanstd_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -14362,16 +14447,16 @@ static PyObject *__pyx_pf_6nanstd_56nanstd_2d_int32_axisNone(CYTHON_UNUSED PyObj /* "nanstd.pyx":1030 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanstd_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_59nanstd_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_58nanstd_2d_int64_axisNone[] = "nanstd_2d_int64_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_59nanstd_2d_int64_axisNone = {"nanstd_2d_int64_axisNone", (PyCFunction)__pyx_pw_6nanstd_59nanstd_2d_int64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_58nanstd_2d_int64_axisNone}; -static PyObject *__pyx_pw_6nanstd_59nanstd_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_59nanstd_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_58nanstd_2d_int64_axis1[] = "nanstd_2d_int64_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_59nanstd_2d_int64_axis1 = {"nanstd_2d_int64_axis1", (PyCFunction)__pyx_pw_6nanstd_59nanstd_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_58nanstd_2d_int64_axis1}; +static PyObject *__pyx_pw_6nanstd_59nanstd_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -14379,7 +14464,7 @@ static PyObject *__pyx_pw_6nanstd_59nanstd_2d_int64_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -14400,11 +14485,11 @@ static PyObject *__pyx_pw_6nanstd_59nanstd_2d_int64_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -14417,14 +14502,14 @@ static PyObject *__pyx_pw_6nanstd_59nanstd_2d_int64_axisNone(PyObject *__pyx_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_58nanstd_2d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanstd_58nanstd_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -14435,38 +14520,43 @@ static PyObject *__pyx_pw_6nanstd_59nanstd_2d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_58nanstd_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_58nanstd_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int64_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -14478,15 +14568,15 @@ static PyObject *__pyx_pf_6nanstd_58nanstd_2d_int64_axisNone(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanstd.pyx":1032 - * def nanstd_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanstd_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":1036 + /* "nanstd.pyx":1035 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -14495,351 +14585,261 @@ static PyObject *__pyx_pf_6nanstd_58nanstd_2d_int64_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":1037 + /* "nanstd.pyx":1036 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":1038 + /* "nanstd.pyx":1037 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * if size == 0: + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":1039 + /* "nanstd.pyx":1038 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":1040 + /* "nanstd.pyx":1039 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): - */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { - - /* "nanstd.pyx":1041 - * size = n0 * n1 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanstd.pyx":1042 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanstd.pyx":1041 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { - /* "nanstd.pyx":1043 - * return np.float64(NAN) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / size + /* "nanstd.pyx":1042 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i0 in range(n0): */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; + } + /*else*/ { - /* "nanstd.pyx":1044 - * for i0 in range(n0): - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + /* "nanstd.pyx":1044 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); - } - } + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanstd.pyx":1045 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":1045 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_v_asum = 0.0; - /* "nanstd.pyx":1046 - * asum += a[i0, i1] - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanstd.pyx":1046 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n1 */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanstd.pyx":1047 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanstd.pyx":1047 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n1 + * asum = 0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanstd.pyx":1048 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ai -= amean + /* "nanstd.pyx":1048 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / n1 # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); /* "nanstd.pyx":1049 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * asum += a[i0, i1] + * amean = asum / n1 + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_asum = 0.0; /* "nanstd.pyx":1050 - * for i1 in range(n1): - * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n1 + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanstd.pyx":1051 - * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) + /* "nanstd.pyx":1051 + * asum = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - } - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":1052 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(sqrt(asum / (size - ddof))) - * else: + /* "nanstd.pyx":1052 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":1053 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanstd.pyx":1053 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = sqrt(asum / (n1 - ddof)) + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanstd.pyx":1055 - * return np.float64(sqrt(asum / (size - ddof))) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanstd.pyx":1054 + * ai -= amean + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) # <<<<<<<<<<<<<< + * return y * - * cdef dict nanstd_dict = {} */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanstd.pyx":1055 + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) + * return y # <<<<<<<<<<<<<< + * + * cdef dict nanstd_dict = {} + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanstd.pyx":1030 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanstd_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "nanstd.pyx":1094 - * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone + * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 * * def nanstd_slow_axis0(arr, ddof): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanstd along axis 0." @@ -14956,7 +14956,7 @@ static PyObject *__pyx_pf_6nanstd_60nanstd_slow_axis0(CYTHON_UNUSED PyObject *__ goto __pyx_L0; /* "nanstd.pyx":1094 - * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone + * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 * * def nanstd_slow_axis0(arr, ddof): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanstd along axis 0." @@ -19564,7 +19564,7 @@ static PyObject *__pyx_pf_6nanstd_126nanstd_slow_axisNone(CYTHON_UNUSED PyObject return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -19614,7 +19614,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -19627,7 +19627,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -19636,7 +19636,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -19645,7 +19645,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -19654,7 +19654,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -19664,7 +19664,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -19676,7 +19676,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -19687,7 +19687,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -19703,7 +19703,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -19715,7 +19715,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -19729,7 +19729,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -19745,7 +19745,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -19757,7 +19757,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -19771,7 +19771,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -19780,7 +19780,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -19789,7 +19789,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -19799,7 +19799,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -19808,7 +19808,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -19817,7 +19817,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -19828,7 +19828,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -19837,7 +19837,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -19850,7 +19850,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -19859,7 +19859,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -19870,7 +19870,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -19879,7 +19879,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -19888,7 +19888,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -19897,7 +19897,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -19906,7 +19906,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -19918,7 +19918,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -19927,7 +19927,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -19947,7 +19947,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -19963,7 +19963,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -19978,7 +19978,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -19988,7 +19988,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -19998,7 +19998,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -20021,7 +20021,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -20041,7 +20041,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -20055,7 +20055,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -20064,7 +20064,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -20075,7 +20075,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -20086,7 +20086,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -20097,7 +20097,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -20108,7 +20108,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -20119,7 +20119,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -20130,7 +20130,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -20141,7 +20141,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -20152,7 +20152,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -20163,7 +20163,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -20174,7 +20174,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -20185,7 +20185,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -20196,7 +20196,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -20207,7 +20207,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -20218,7 +20218,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -20229,7 +20229,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -20240,7 +20240,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -20252,7 +20252,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -20278,7 +20278,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -20287,7 +20287,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -20299,7 +20299,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -20308,7 +20308,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -20317,7 +20317,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -20326,7 +20326,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -20336,7 +20336,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -20346,7 +20346,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -20378,7 +20378,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -20402,7 +20402,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -20412,7 +20412,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -20424,7 +20424,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -20434,7 +20434,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -20446,7 +20446,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -20458,7 +20458,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -20475,7 +20475,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -20489,7 +20489,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -20508,7 +20508,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -20525,7 +20525,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -20539,7 +20539,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -20558,7 +20558,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -20575,7 +20575,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -20589,7 +20589,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -20608,7 +20608,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -20625,7 +20625,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -20639,7 +20639,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -20658,7 +20658,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -20675,7 +20675,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -20689,7 +20689,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -20708,7 +20708,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -20740,7 +20740,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -20749,7 +20749,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -20758,7 +20758,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -20780,7 +20780,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -20793,7 +20793,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -20832,7 +20832,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -20849,7 +20849,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -20863,7 +20863,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -20886,7 +20886,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -20906,7 +20906,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -20920,7 +20920,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -20936,7 +20936,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -20945,7 +20945,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -20954,7 +20954,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -20965,7 +20965,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -20975,7 +20975,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -20985,7 +20985,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -20997,7 +20997,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -21007,7 +21007,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -21021,7 +21021,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -21039,7 +21039,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -21057,7 +21057,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -21075,7 +21075,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -21093,7 +21093,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -21111,7 +21111,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -21129,7 +21129,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -21147,7 +21147,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -21165,7 +21165,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -21183,7 +21183,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -21201,7 +21201,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -21219,7 +21219,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -21237,7 +21237,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -21255,7 +21255,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -21275,7 +21275,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -21295,7 +21295,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -21315,7 +21315,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -21334,7 +21334,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -21357,7 +21357,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -21369,7 +21369,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -21381,7 +21381,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -21391,7 +21391,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -21401,7 +21401,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -21426,7 +21426,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -21441,7 +21441,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -21452,7 +21452,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -21464,7 +21464,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -21473,7 +21473,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -21484,7 +21484,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -21493,7 +21493,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -21502,7 +21502,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -21514,7 +21514,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -21528,7 +21528,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -21538,7 +21538,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -21552,7 +21552,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -21563,7 +21563,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -21601,7 +21601,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -21615,6 +21614,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_u_Standard_deviation_along_the_sp, __pyx_k_Standard_deviation_along_the_sp, sizeof(__pyx_k_Standard_deviation_along_the_sp), 0, 1, 0, 0}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -21742,7 +21742,7 @@ static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; @@ -21752,7 +21752,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -21763,7 +21763,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -21774,7 +21774,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -21785,7 +21785,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -21796,7 +21796,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -21807,7 +21807,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -21839,7 +21839,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_ddof, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":140 * return func(arr, ddof) @@ -21851,346 +21851,346 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_selector, 140, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_selector, 140, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__13 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__13 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int_axis0, 214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_float_axis0, 214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":243 + /* "nanstd.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__15 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__15 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int_axis1, 243, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_float_axis1, 249, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":272 + /* "nanstd.pyx":284 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__17 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__17 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int8_axis0, 272, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_float32_axis0, 284, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":301 + /* "nanstd.pyx":319 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__19 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int8_axis1, 301, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_float32_axis1, 319, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":330 + /* "nanstd.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__21 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int32_axis0, 330, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_float64_axis0, 354, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":359 + /* "nanstd.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__23 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int32_axis1, 359, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_float64_axis1, 389, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":388 + /* "nanstd.pyx":424 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__25 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int64_axis0, 388, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_1d_float_axisNone, 424, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":417 + /* "nanstd.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__27 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int64_axis1, 417, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_1d_float32_axisNone, 451, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":446 + /* "nanstd.pyx":478 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanstd_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__29 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_1d_float_axisNone, 446, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_1d_float64_axisNone, 478, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":473 + /* "nanstd.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanstd_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__31 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_1d_float32_axisNone, 473, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_float_axisNone, 505, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":500 + /* "nanstd.pyx":535 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanstd_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__33 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_1d_float64_axisNone, 500, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_float32_axisNone, 535, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":527 + /* "nanstd.pyx":565 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanstd_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__35 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_float_axisNone, 527, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_float64_axisNone, 565, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":557 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanstd_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanstd.pyx":595 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanstd_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__37 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_float32_axisNone, 557, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_1d_int_axisNone, 595, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":587 + /* "nanstd.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__39 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_float64_axisNone, 587, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_1d_int8_axisNone, 624, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":617 + /* "nanstd.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__41 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_float_axis0, 617, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_1d_int32_axisNone, 653, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":652 + /* "nanstd.pyx":682 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__43 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_float_axis1, 652, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_1d_int64_axisNone, 682, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":687 + /* "nanstd.pyx":711 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__45 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_float32_axis0, 687, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int_axisNone, 711, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":722 + /* "nanstd.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__47 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_float32_axis1, 722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int8_axisNone, 740, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":757 + /* "nanstd.pyx":769 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__49 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_float64_axis0, 757, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int32_axisNone, 769, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":792 + /* "nanstd.pyx":798 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__51 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_float64_axis1, 792, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int64_axisNone, 798, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":827 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanstd_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__53 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_1d_int_axisNone, 827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int_axis0, 827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":856 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanstd_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__55 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_1d_int8_axisNone, 856, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int_axis1, 856, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":885 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanstd_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__57 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_1d_int32_axisNone, 885, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int8_axis0, 885, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":914 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanstd_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__59 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_1d_int64_axisNone, 914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int8_axis1, 914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":943 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanstd_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__61 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int_axisNone, 943, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int32_axis0, 943, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":972 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanstd_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__63 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int8_axisNone, 972, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int32_axis1, 972, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1001 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanstd_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__65 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int32_axisNone, 1001, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int64_axis0, 1001, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1030 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanstd_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__67 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int64_axisNone, 1030, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int64_axis1, 1030, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1094 - * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone + * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 * * def nanstd_slow_axis0(arr, ddof): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanstd along axis 0." @@ -22199,7 +22199,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis0, 1094, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis0, 1094, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1098 * return bn.slow.nanstd(arr, axis=0, ddof=ddof) @@ -22211,7 +22211,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis1, 1098, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis1, 1098, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1102 * return bn.slow.nanstd(arr, axis=1, ddof=ddof) @@ -22223,7 +22223,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis2, 1102, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis2, 1102, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1106 * return bn.slow.nanstd(arr, axis=2, ddof=ddof) @@ -22235,7 +22235,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis3, 1106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis3, 1106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1110 * return bn.slow.nanstd(arr, axis=3, ddof=ddof) @@ -22247,7 +22247,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis4, 1110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis4, 1110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1114 * return bn.slow.nanstd(arr, axis=4, ddof=ddof) @@ -22259,7 +22259,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis5, 1114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis5, 1114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1118 * return bn.slow.nanstd(arr, axis=5, ddof=ddof) @@ -22271,7 +22271,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis6, 1118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis6, 1118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1122 * return bn.slow.nanstd(arr, axis=6, ddof=ddof) @@ -22283,7 +22283,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis7, 1122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis7, 1122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1126 * return bn.slow.nanstd(arr, axis=7, ddof=ddof) @@ -22295,7 +22295,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis8, 1126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis8, 1126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1130 * return bn.slow.nanstd(arr, axis=8, ddof=ddof) @@ -22307,7 +22307,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis9, 1130, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis9, 1130, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1134 * return bn.slow.nanstd(arr, axis=9, ddof=ddof) @@ -22319,7 +22319,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis10, 1134, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis10, 1134, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1138 * return bn.slow.nanstd(arr, axis=10, ddof=ddof) @@ -22331,7 +22331,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis11, 1138, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis11, 1138, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1142 * return bn.slow.nanstd(arr, axis=11, ddof=ddof) @@ -22343,7 +22343,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis12, 1142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis12, 1142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1146 * return bn.slow.nanstd(arr, axis=12, ddof=ddof) @@ -22355,7 +22355,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis13, 1146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis13, 1146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1150 * return bn.slow.nanstd(arr, axis=13, ddof=ddof) @@ -22367,7 +22367,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis14, 1150, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis14, 1150, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1154 * return bn.slow.nanstd(arr, axis=14, ddof=ddof) @@ -22379,7 +22379,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis15, 1154, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis15, 1154, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1158 * return bn.slow.nanstd(arr, axis=15, ddof=ddof) @@ -22391,7 +22391,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis16, 1158, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis16, 1158, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1162 * return bn.slow.nanstd(arr, axis=16, ddof=ddof) @@ -22403,7 +22403,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis17, 1162, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis17, 1162, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1166 * return bn.slow.nanstd(arr, axis=17, ddof=ddof) @@ -22415,7 +22415,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis18, 1166, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis18, 1166, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1170 * return bn.slow.nanstd(arr, axis=18, ddof=ddof) @@ -22427,7 +22427,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis19, 1170, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis19, 1170, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1174 * return bn.slow.nanstd(arr, axis=19, ddof=ddof) @@ -22439,7 +22439,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis20, 1174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis20, 1174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1178 * return bn.slow.nanstd(arr, axis=20, ddof=ddof) @@ -22451,7 +22451,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis21, 1178, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis21, 1178, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1182 * return bn.slow.nanstd(arr, axis=21, ddof=ddof) @@ -22463,7 +22463,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis22, 1182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis22, 1182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1186 * return bn.slow.nanstd(arr, axis=22, ddof=ddof) @@ -22475,7 +22475,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis23, 1186, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis23, 1186, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1190 * return bn.slow.nanstd(arr, axis=23, ddof=ddof) @@ -22487,7 +22487,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis24, 1190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis24, 1190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1194 * return bn.slow.nanstd(arr, axis=24, ddof=ddof) @@ -22499,7 +22499,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis25, 1194, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis25, 1194, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1198 * return bn.slow.nanstd(arr, axis=25, ddof=ddof) @@ -22511,7 +22511,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis26, 1198, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis26, 1198, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1202 * return bn.slow.nanstd(arr, axis=26, ddof=ddof) @@ -22523,7 +22523,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis27, 1202, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis27, 1202, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1206 * return bn.slow.nanstd(arr, axis=27, ddof=ddof) @@ -22535,7 +22535,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis28, 1206, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis28, 1206, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1210 * return bn.slow.nanstd(arr, axis=28, ddof=ddof) @@ -22547,7 +22547,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis29, 1210, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis29, 1210, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1214 * return bn.slow.nanstd(arr, axis=29, ddof=ddof) @@ -22559,7 +22559,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis30, 1214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis30, 1214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1218 * return bn.slow.nanstd(arr, axis=30, ddof=ddof) @@ -22571,7 +22571,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis31, 1218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis31, 1218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1222 * return bn.slow.nanstd(arr, axis=31, ddof=ddof) @@ -22583,7 +22583,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis32, 1222, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis32, 1222, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1226 * return bn.slow.nanstd(arr, axis=32, ddof=ddof) @@ -22595,7 +22595,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axisNone, 1226, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axisNone, 1226, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -23561,345 +23561,345 @@ PyMODINIT_FUNC PyInit_nanstd(void) /* "nanstd.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_5nanstd_2d_int_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "nanstd.pyx":243 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanstd_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_7nanstd_2d_int_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "nanstd.pyx":272 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanstd_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_9nanstd_2d_int8_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_5nanstd_2d_float_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":301 + /* "nanstd.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_11nanstd_2d_int8_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_7nanstd_2d_float_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":330 + /* "nanstd.pyx":284 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_13nanstd_2d_int32_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_9nanstd_2d_float32_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":359 + /* "nanstd.pyx":319 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_15nanstd_2d_int32_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_11nanstd_2d_float32_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":388 + /* "nanstd.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_17nanstd_2d_int64_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_13nanstd_2d_float64_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":417 + /* "nanstd.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_19nanstd_2d_int64_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_15nanstd_2d_float64_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":446 + /* "nanstd.pyx":424 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanstd_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_21nanstd_1d_float_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_17nanstd_1d_float_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":473 + /* "nanstd.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanstd_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_23nanstd_1d_float32_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_19nanstd_1d_float32_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":500 + /* "nanstd.pyx":478 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanstd_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_25nanstd_1d_float64_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_21nanstd_1d_float64_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":527 + /* "nanstd.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanstd_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_27nanstd_2d_float_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_23nanstd_2d_float_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":557 + /* "nanstd.pyx":535 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanstd_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_29nanstd_2d_float32_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_25nanstd_2d_float32_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":587 + /* "nanstd.pyx":565 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanstd_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_31nanstd_2d_float64_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_27nanstd_2d_float64_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":617 + /* "nanstd.pyx":595 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_33nanstd_2d_float_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_29nanstd_1d_int_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":652 + /* "nanstd.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_35nanstd_2d_float_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_31nanstd_1d_int8_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":687 + /* "nanstd.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_37nanstd_2d_float32_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_33nanstd_1d_int32_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":722 + /* "nanstd.pyx":682 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_39nanstd_2d_float32_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_35nanstd_1d_int64_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":757 + /* "nanstd.pyx":711 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_41nanstd_2d_float64_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_37nanstd_2d_int_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":792 + /* "nanstd.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_39nanstd_2d_int8_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "nanstd.pyx":769 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanstd_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_41nanstd_2d_int32_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "nanstd.pyx":798 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanstd_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_43nanstd_2d_float64_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_43nanstd_2d_int64_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":827 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanstd_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_45nanstd_1d_int_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_45nanstd_2d_int_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":856 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanstd_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_47nanstd_1d_int8_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_47nanstd_2d_int_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":885 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanstd_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_49nanstd_1d_int32_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_49nanstd_2d_int8_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":914 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanstd_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_51nanstd_1d_int64_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_51nanstd_2d_int8_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":943 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanstd_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_53nanstd_2d_int_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_53nanstd_2d_int32_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":972 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanstd_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_55nanstd_2d_int8_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_55nanstd_2d_int32_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1001 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanstd_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_57nanstd_2d_int32_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_57nanstd_2d_int64_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1030 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanstd_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_59nanstd_2d_int64_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_59nanstd_2d_int64_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1057 - * return np.float64(NAN) + * return y * * cdef dict nanstd_dict = {} # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int, 0)] = nanstd_2d_int_axis0 - * nanstd_dict[(2, NPY_int, 1)] = nanstd_2d_int_axis1 + * nanstd_dict[(2, NPY_float, 0)] = nanstd_2d_float_axis0 + * nanstd_dict[(2, NPY_float, 1)] = nanstd_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -23911,17 +23911,17 @@ PyMODINIT_FUNC PyInit_nanstd(void) /* "nanstd.pyx":1058 * * cdef dict nanstd_dict = {} - * nanstd_dict[(2, NPY_int, 0)] = nanstd_2d_int_axis0 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int, 1)] = nanstd_2d_int_axis1 - * nanstd_dict[(2, NPY_int8, 0)] = nanstd_2d_int8_axis0 + * nanstd_dict[(2, NPY_float, 0)] = nanstd_2d_float_axis0 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float, 1)] = nanstd_2d_float_axis1 + * nanstd_dict[(2, NPY_float32, 0)] = nanstd_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -23940,18 +23940,18 @@ PyMODINIT_FUNC PyInit_nanstd(void) /* "nanstd.pyx":1059 * cdef dict nanstd_dict = {} - * nanstd_dict[(2, NPY_int, 0)] = nanstd_2d_int_axis0 - * nanstd_dict[(2, NPY_int, 1)] = nanstd_2d_int_axis1 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int8, 0)] = nanstd_2d_int8_axis0 - * nanstd_dict[(2, NPY_int8, 1)] = nanstd_2d_int8_axis1 + * nanstd_dict[(2, NPY_float, 0)] = nanstd_2d_float_axis0 + * nanstd_dict[(2, NPY_float, 1)] = nanstd_2d_float_axis1 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float32, 0)] = nanstd_2d_float32_axis0 + * nanstd_dict[(2, NPY_float32, 1)] = nanstd_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -23969,19 +23969,19 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1060 - * nanstd_dict[(2, NPY_int, 0)] = nanstd_2d_int_axis0 - * nanstd_dict[(2, NPY_int, 1)] = nanstd_2d_int_axis1 - * nanstd_dict[(2, NPY_int8, 0)] = nanstd_2d_int8_axis0 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int8, 1)] = nanstd_2d_int8_axis1 - * nanstd_dict[(2, NPY_int32, 0)] = nanstd_2d_int32_axis0 + * nanstd_dict[(2, NPY_float, 0)] = nanstd_2d_float_axis0 + * nanstd_dict[(2, NPY_float, 1)] = nanstd_2d_float_axis1 + * nanstd_dict[(2, NPY_float32, 0)] = nanstd_2d_float32_axis0 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float32, 1)] = nanstd_2d_float32_axis1 + * nanstd_dict[(2, NPY_float64, 0)] = nanstd_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -23999,19 +23999,19 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1061 - * nanstd_dict[(2, NPY_int, 1)] = nanstd_2d_int_axis1 - * nanstd_dict[(2, NPY_int8, 0)] = nanstd_2d_int8_axis0 - * nanstd_dict[(2, NPY_int8, 1)] = nanstd_2d_int8_axis1 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int32, 0)] = nanstd_2d_int32_axis0 - * nanstd_dict[(2, NPY_int32, 1)] = nanstd_2d_int32_axis1 + * nanstd_dict[(2, NPY_float, 1)] = nanstd_2d_float_axis1 + * nanstd_dict[(2, NPY_float32, 0)] = nanstd_2d_float32_axis0 + * nanstd_dict[(2, NPY_float32, 1)] = nanstd_2d_float32_axis1 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float64, 0)] = nanstd_2d_float64_axis0 + * nanstd_dict[(2, NPY_float64, 1)] = nanstd_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24029,19 +24029,19 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1062 - * nanstd_dict[(2, NPY_int8, 0)] = nanstd_2d_int8_axis0 - * nanstd_dict[(2, NPY_int8, 1)] = nanstd_2d_int8_axis1 - * nanstd_dict[(2, NPY_int32, 0)] = nanstd_2d_int32_axis0 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int32, 1)] = nanstd_2d_int32_axis1 - * nanstd_dict[(2, NPY_int64, 0)] = nanstd_2d_int64_axis0 + * nanstd_dict[(2, NPY_float32, 0)] = nanstd_2d_float32_axis0 + * nanstd_dict[(2, NPY_float32, 1)] = nanstd_2d_float32_axis1 + * nanstd_dict[(2, NPY_float64, 0)] = nanstd_2d_float64_axis0 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float64, 1)] = nanstd_2d_float64_axis1 + * nanstd_dict[(1, NPY_float, 0)] = nanstd_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -24059,19 +24059,19 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1063 - * nanstd_dict[(2, NPY_int8, 1)] = nanstd_2d_int8_axis1 - * nanstd_dict[(2, NPY_int32, 0)] = nanstd_2d_int32_axis0 - * nanstd_dict[(2, NPY_int32, 1)] = nanstd_2d_int32_axis1 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int64, 0)] = nanstd_2d_int64_axis0 - * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 + * nanstd_dict[(2, NPY_float32, 1)] = nanstd_2d_float32_axis1 + * nanstd_dict[(2, NPY_float64, 0)] = nanstd_2d_float64_axis0 + * nanstd_dict[(2, NPY_float64, 1)] = nanstd_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float, 0)] = nanstd_1d_float_axisNone + * nanstd_dict[(1, NPY_float, None)] = nanstd_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24089,25 +24089,25 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1064 - * nanstd_dict[(2, NPY_int32, 0)] = nanstd_2d_int32_axis0 - * nanstd_dict[(2, NPY_int32, 1)] = nanstd_2d_int32_axis1 - * nanstd_dict[(2, NPY_int64, 0)] = nanstd_2d_int64_axis0 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 - * nanstd_dict[(1, NPY_float, 0)] = nanstd_1d_float_axisNone + * nanstd_dict[(2, NPY_float64, 0)] = nanstd_2d_float64_axis0 + * nanstd_dict[(2, NPY_float64, 1)] = nanstd_2d_float64_axis1 + * nanstd_dict[(1, NPY_float, 0)] = nanstd_1d_float_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float, None)] = nanstd_1d_float_axisNone + * nanstd_dict[(1, NPY_float32, 0)] = nanstd_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -24119,49 +24119,49 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1065 - * nanstd_dict[(2, NPY_int32, 1)] = nanstd_2d_int32_axis1 - * nanstd_dict[(2, NPY_int64, 0)] = nanstd_2d_int64_axis0 - * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float64, 1)] = nanstd_2d_float64_axis1 * nanstd_dict[(1, NPY_float, 0)] = nanstd_1d_float_axisNone - * nanstd_dict[(1, NPY_float, None)] = nanstd_1d_float_axisNone + * nanstd_dict[(1, NPY_float, None)] = nanstd_1d_float_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float32, 0)] = nanstd_1d_float32_axisNone + * nanstd_dict[(1, NPY_float32, None)] = nanstd_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1066 - * nanstd_dict[(2, NPY_int64, 0)] = nanstd_2d_int64_axis0 - * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 - * nanstd_dict[(1, NPY_float, 0)] = nanstd_1d_float_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float, 0)] = nanstd_1d_float_axisNone * nanstd_dict[(1, NPY_float, None)] = nanstd_1d_float_axisNone - * nanstd_dict[(1, NPY_float32, 0)] = nanstd_1d_float32_axisNone + * nanstd_dict[(1, NPY_float32, 0)] = nanstd_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float32, None)] = nanstd_1d_float32_axisNone + * nanstd_dict[(1, NPY_float64, 0)] = nanstd_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -24179,19 +24179,19 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1067 - * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 - * nanstd_dict[(1, NPY_float, 0)] = nanstd_1d_float_axisNone - * nanstd_dict[(1, NPY_float, None)] = nanstd_1d_float_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float, None)] = nanstd_1d_float_axisNone * nanstd_dict[(1, NPY_float32, 0)] = nanstd_1d_float32_axisNone - * nanstd_dict[(1, NPY_float32, None)] = nanstd_1d_float32_axisNone + * nanstd_dict[(1, NPY_float32, None)] = nanstd_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float64, 0)] = nanstd_1d_float64_axisNone + * nanstd_dict[(1, NPY_float64, None)] = nanstd_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24209,19 +24209,19 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1068 - * nanstd_dict[(1, NPY_float, 0)] = nanstd_1d_float_axisNone - * nanstd_dict[(1, NPY_float, None)] = nanstd_1d_float_axisNone - * nanstd_dict[(1, NPY_float32, 0)] = nanstd_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float32, 0)] = nanstd_1d_float32_axisNone * nanstd_dict[(1, NPY_float32, None)] = nanstd_1d_float32_axisNone - * nanstd_dict[(1, NPY_float64, 0)] = nanstd_1d_float64_axisNone + * nanstd_dict[(1, NPY_float64, 0)] = nanstd_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float64, None)] = nanstd_1d_float64_axisNone + * nanstd_dict[(2, NPY_float, None)] = nanstd_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -24239,19 +24239,19 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1069 - * nanstd_dict[(1, NPY_float, None)] = nanstd_1d_float_axisNone - * nanstd_dict[(1, NPY_float32, 0)] = nanstd_1d_float32_axisNone - * nanstd_dict[(1, NPY_float32, None)] = nanstd_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float32, None)] = nanstd_1d_float32_axisNone * nanstd_dict[(1, NPY_float64, 0)] = nanstd_1d_float64_axisNone - * nanstd_dict[(1, NPY_float64, None)] = nanstd_1d_float64_axisNone + * nanstd_dict[(1, NPY_float64, None)] = nanstd_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float, None)] = nanstd_2d_float_axisNone + * nanstd_dict[(2, NPY_float32, None)] = nanstd_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24269,55 +24269,55 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1070 - * nanstd_dict[(1, NPY_float32, 0)] = nanstd_1d_float32_axisNone - * nanstd_dict[(1, NPY_float32, None)] = nanstd_1d_float32_axisNone - * nanstd_dict[(1, NPY_float64, 0)] = nanstd_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float64, 0)] = nanstd_1d_float64_axisNone * nanstd_dict[(1, NPY_float64, None)] = nanstd_1d_float64_axisNone - * nanstd_dict[(2, NPY_float, None)] = nanstd_2d_float_axisNone + * nanstd_dict[(2, NPY_float, None)] = nanstd_2d_float_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float32, None)] = nanstd_2d_float32_axisNone + * nanstd_dict[(2, NPY_float64, None)] = nanstd_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1071 - * nanstd_dict[(1, NPY_float32, None)] = nanstd_1d_float32_axisNone - * nanstd_dict[(1, NPY_float64, 0)] = nanstd_1d_float64_axisNone - * nanstd_dict[(1, NPY_float64, None)] = nanstd_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float64, None)] = nanstd_1d_float64_axisNone * nanstd_dict[(2, NPY_float, None)] = nanstd_2d_float_axisNone - * nanstd_dict[(2, NPY_float32, None)] = nanstd_2d_float32_axisNone + * nanstd_dict[(2, NPY_float32, None)] = nanstd_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float64, None)] = nanstd_2d_float64_axisNone + * nanstd_dict[(1, NPY_int, 0)] = nanstd_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -24329,19 +24329,19 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1072 - * nanstd_dict[(1, NPY_float64, 0)] = nanstd_1d_float64_axisNone - * nanstd_dict[(1, NPY_float64, None)] = nanstd_1d_float64_axisNone - * nanstd_dict[(2, NPY_float, None)] = nanstd_2d_float_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float, None)] = nanstd_2d_float_axisNone * nanstd_dict[(2, NPY_float32, None)] = nanstd_2d_float32_axisNone - * nanstd_dict[(2, NPY_float64, None)] = nanstd_2d_float64_axisNone + * nanstd_dict[(2, NPY_float64, None)] = nanstd_2d_float64_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_int, 0)] = nanstd_1d_int_axisNone + * nanstd_dict[(1, NPY_int, None)] = nanstd_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -24359,55 +24359,55 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1073 - * nanstd_dict[(1, NPY_float64, None)] = nanstd_1d_float64_axisNone - * nanstd_dict[(2, NPY_float, None)] = nanstd_2d_float_axisNone - * nanstd_dict[(2, NPY_float32, None)] = nanstd_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float32, None)] = nanstd_2d_float32_axisNone * nanstd_dict[(2, NPY_float64, None)] = nanstd_2d_float64_axisNone - * nanstd_dict[(2, NPY_float, 0)] = nanstd_2d_float_axis0 + * nanstd_dict[(1, NPY_int, 0)] = nanstd_1d_int_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_int, None)] = nanstd_1d_int_axisNone + * nanstd_dict[(1, NPY_int8, 0)] = nanstd_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1074 - * nanstd_dict[(2, NPY_float, None)] = nanstd_2d_float_axisNone - * nanstd_dict[(2, NPY_float32, None)] = nanstd_2d_float32_axisNone - * nanstd_dict[(2, NPY_float64, None)] = nanstd_2d_float64_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_float, 0)] = nanstd_2d_float_axis0 - * nanstd_dict[(2, NPY_float, 1)] = nanstd_2d_float_axis1 + * nanstd_dict[(2, NPY_float64, None)] = nanstd_2d_float64_axisNone + * nanstd_dict[(1, NPY_int, 0)] = nanstd_1d_int_axisNone + * nanstd_dict[(1, NPY_int, None)] = nanstd_1d_int_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_int8, 0)] = nanstd_1d_int8_axisNone + * nanstd_dict[(1, NPY_int8, None)] = nanstd_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -24419,25 +24419,25 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1075 - * nanstd_dict[(2, NPY_float32, None)] = nanstd_2d_float32_axisNone - * nanstd_dict[(2, NPY_float64, None)] = nanstd_2d_float64_axisNone - * nanstd_dict[(2, NPY_float, 0)] = nanstd_2d_float_axis0 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_float, 1)] = nanstd_2d_float_axis1 - * nanstd_dict[(2, NPY_float32, 0)] = nanstd_2d_float32_axis0 + * nanstd_dict[(1, NPY_int, 0)] = nanstd_1d_int_axisNone + * nanstd_dict[(1, NPY_int, None)] = nanstd_1d_int_axisNone + * nanstd_dict[(1, NPY_int8, 0)] = nanstd_1d_int8_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_int8, None)] = nanstd_1d_int8_axisNone + * nanstd_dict[(1, NPY_int32, 0)] = nanstd_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -24449,55 +24449,55 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1076 - * nanstd_dict[(2, NPY_float64, None)] = nanstd_2d_float64_axisNone - * nanstd_dict[(2, NPY_float, 0)] = nanstd_2d_float_axis0 - * nanstd_dict[(2, NPY_float, 1)] = nanstd_2d_float_axis1 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_float32, 0)] = nanstd_2d_float32_axis0 - * nanstd_dict[(2, NPY_float32, 1)] = nanstd_2d_float32_axis1 + * nanstd_dict[(1, NPY_int, None)] = nanstd_1d_int_axisNone + * nanstd_dict[(1, NPY_int8, 0)] = nanstd_1d_int8_axisNone + * nanstd_dict[(1, NPY_int8, None)] = nanstd_1d_int8_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_int32, 0)] = nanstd_1d_int32_axisNone + * nanstd_dict[(1, NPY_int32, None)] = nanstd_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1077 - * nanstd_dict[(2, NPY_float, 0)] = nanstd_2d_float_axis0 - * nanstd_dict[(2, NPY_float, 1)] = nanstd_2d_float_axis1 - * nanstd_dict[(2, NPY_float32, 0)] = nanstd_2d_float32_axis0 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_float32, 1)] = nanstd_2d_float32_axis1 - * nanstd_dict[(2, NPY_float64, 0)] = nanstd_2d_float64_axis0 + * nanstd_dict[(1, NPY_int8, 0)] = nanstd_1d_int8_axisNone + * nanstd_dict[(1, NPY_int8, None)] = nanstd_1d_int8_axisNone + * nanstd_dict[(1, NPY_int32, 0)] = nanstd_1d_int32_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_int32, None)] = nanstd_1d_int32_axisNone + * nanstd_dict[(1, NPY_int64, 0)] = nanstd_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -24509,55 +24509,55 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1078 - * nanstd_dict[(2, NPY_float, 1)] = nanstd_2d_float_axis1 - * nanstd_dict[(2, NPY_float32, 0)] = nanstd_2d_float32_axis0 - * nanstd_dict[(2, NPY_float32, 1)] = nanstd_2d_float32_axis1 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_float64, 0)] = nanstd_2d_float64_axis0 - * nanstd_dict[(2, NPY_float64, 1)] = nanstd_2d_float64_axis1 + * nanstd_dict[(1, NPY_int8, None)] = nanstd_1d_int8_axisNone + * nanstd_dict[(1, NPY_int32, 0)] = nanstd_1d_int32_axisNone + * nanstd_dict[(1, NPY_int32, None)] = nanstd_1d_int32_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_int64, 0)] = nanstd_1d_int64_axisNone + * nanstd_dict[(1, NPY_int64, None)] = nanstd_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1079 - * nanstd_dict[(2, NPY_float32, 0)] = nanstd_2d_float32_axis0 - * nanstd_dict[(2, NPY_float32, 1)] = nanstd_2d_float32_axis1 - * nanstd_dict[(2, NPY_float64, 0)] = nanstd_2d_float64_axis0 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_float64, 1)] = nanstd_2d_float64_axis1 - * nanstd_dict[(1, NPY_int, 0)] = nanstd_1d_int_axisNone + * nanstd_dict[(1, NPY_int32, 0)] = nanstd_1d_int32_axisNone + * nanstd_dict[(1, NPY_int32, None)] = nanstd_1d_int32_axisNone + * nanstd_dict[(1, NPY_int64, 0)] = nanstd_1d_int64_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_int64, None)] = nanstd_1d_int64_axisNone + * nanstd_dict[(2, NPY_int, None)] = nanstd_2d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -24569,43 +24569,43 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1080 - * nanstd_dict[(2, NPY_float32, 1)] = nanstd_2d_float32_axis1 - * nanstd_dict[(2, NPY_float64, 0)] = nanstd_2d_float64_axis0 - * nanstd_dict[(2, NPY_float64, 1)] = nanstd_2d_float64_axis1 # <<<<<<<<<<<<<< - * nanstd_dict[(1, NPY_int, 0)] = nanstd_1d_int_axisNone - * nanstd_dict[(1, NPY_int, None)] = nanstd_1d_int_axisNone + * nanstd_dict[(1, NPY_int32, None)] = nanstd_1d_int32_axisNone + * nanstd_dict[(1, NPY_int64, 0)] = nanstd_1d_int64_axisNone + * nanstd_dict[(1, NPY_int64, None)] = nanstd_1d_int64_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int, None)] = nanstd_2d_int_axisNone + * nanstd_dict[(2, NPY_int8, None)] = nanstd_2d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1081 - * nanstd_dict[(2, NPY_float64, 0)] = nanstd_2d_float64_axis0 - * nanstd_dict[(2, NPY_float64, 1)] = nanstd_2d_float64_axis1 - * nanstd_dict[(1, NPY_int, 0)] = nanstd_1d_int_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(1, NPY_int, None)] = nanstd_1d_int_axisNone - * nanstd_dict[(1, NPY_int8, 0)] = nanstd_1d_int8_axisNone + * nanstd_dict[(1, NPY_int64, 0)] = nanstd_1d_int64_axisNone + * nanstd_dict[(1, NPY_int64, None)] = nanstd_1d_int64_axisNone + * nanstd_dict[(2, NPY_int, None)] = nanstd_2d_int_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int8, None)] = nanstd_2d_int8_axisNone + * nanstd_dict[(2, NPY_int32, None)] = nanstd_2d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -24615,39 +24615,39 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1082 - * nanstd_dict[(2, NPY_float64, 1)] = nanstd_2d_float64_axis1 - * nanstd_dict[(1, NPY_int, 0)] = nanstd_1d_int_axisNone - * nanstd_dict[(1, NPY_int, None)] = nanstd_1d_int_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(1, NPY_int8, 0)] = nanstd_1d_int8_axisNone - * nanstd_dict[(1, NPY_int8, None)] = nanstd_1d_int8_axisNone + * nanstd_dict[(1, NPY_int64, None)] = nanstd_1d_int64_axisNone + * nanstd_dict[(2, NPY_int, None)] = nanstd_2d_int_axisNone + * nanstd_dict[(2, NPY_int8, None)] = nanstd_2d_int8_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int32, None)] = nanstd_2d_int32_axisNone + * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -24659,55 +24659,55 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1083 - * nanstd_dict[(1, NPY_int, 0)] = nanstd_1d_int_axisNone - * nanstd_dict[(1, NPY_int, None)] = nanstd_1d_int_axisNone - * nanstd_dict[(1, NPY_int8, 0)] = nanstd_1d_int8_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(1, NPY_int8, None)] = nanstd_1d_int8_axisNone - * nanstd_dict[(1, NPY_int32, 0)] = nanstd_1d_int32_axisNone + * nanstd_dict[(2, NPY_int, None)] = nanstd_2d_int_axisNone + * nanstd_dict[(2, NPY_int8, None)] = nanstd_2d_int8_axisNone + * nanstd_dict[(2, NPY_int32, None)] = nanstd_2d_int32_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone + * nanstd_dict[(2, NPY_int, 0)] = nanstd_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1084 - * nanstd_dict[(1, NPY_int, None)] = nanstd_1d_int_axisNone - * nanstd_dict[(1, NPY_int8, 0)] = nanstd_1d_int8_axisNone - * nanstd_dict[(1, NPY_int8, None)] = nanstd_1d_int8_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(1, NPY_int32, 0)] = nanstd_1d_int32_axisNone - * nanstd_dict[(1, NPY_int32, None)] = nanstd_1d_int32_axisNone + * nanstd_dict[(2, NPY_int8, None)] = nanstd_2d_int8_axisNone + * nanstd_dict[(2, NPY_int32, None)] = nanstd_2d_int32_axisNone + * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int, 0)] = nanstd_2d_int_axis0 + * nanstd_dict[(2, NPY_int, 1)] = nanstd_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -24719,25 +24719,25 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1085 - * nanstd_dict[(1, NPY_int8, 0)] = nanstd_1d_int8_axisNone - * nanstd_dict[(1, NPY_int8, None)] = nanstd_1d_int8_axisNone - * nanstd_dict[(1, NPY_int32, 0)] = nanstd_1d_int32_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(1, NPY_int32, None)] = nanstd_1d_int32_axisNone - * nanstd_dict[(1, NPY_int64, 0)] = nanstd_1d_int64_axisNone + * nanstd_dict[(2, NPY_int32, None)] = nanstd_2d_int32_axisNone + * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone + * nanstd_dict[(2, NPY_int, 0)] = nanstd_2d_int_axis0 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int, 1)] = nanstd_2d_int_axis1 + * nanstd_dict[(2, NPY_int8, 0)] = nanstd_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -24749,55 +24749,55 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1086 - * nanstd_dict[(1, NPY_int8, None)] = nanstd_1d_int8_axisNone - * nanstd_dict[(1, NPY_int32, 0)] = nanstd_1d_int32_axisNone - * nanstd_dict[(1, NPY_int32, None)] = nanstd_1d_int32_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(1, NPY_int64, 0)] = nanstd_1d_int64_axisNone - * nanstd_dict[(1, NPY_int64, None)] = nanstd_1d_int64_axisNone + * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone + * nanstd_dict[(2, NPY_int, 0)] = nanstd_2d_int_axis0 + * nanstd_dict[(2, NPY_int, 1)] = nanstd_2d_int_axis1 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int8, 0)] = nanstd_2d_int8_axis0 + * nanstd_dict[(2, NPY_int8, 1)] = nanstd_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1087 - * nanstd_dict[(1, NPY_int32, 0)] = nanstd_1d_int32_axisNone - * nanstd_dict[(1, NPY_int32, None)] = nanstd_1d_int32_axisNone - * nanstd_dict[(1, NPY_int64, 0)] = nanstd_1d_int64_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(1, NPY_int64, None)] = nanstd_1d_int64_axisNone - * nanstd_dict[(2, NPY_int, None)] = nanstd_2d_int_axisNone + * nanstd_dict[(2, NPY_int, 0)] = nanstd_2d_int_axis0 + * nanstd_dict[(2, NPY_int, 1)] = nanstd_2d_int_axis1 + * nanstd_dict[(2, NPY_int8, 0)] = nanstd_2d_int8_axis0 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int8, 1)] = nanstd_2d_int8_axis1 + * nanstd_dict[(2, NPY_int32, 0)] = nanstd_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -24809,49 +24809,49 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1088 - * nanstd_dict[(1, NPY_int32, None)] = nanstd_1d_int32_axisNone - * nanstd_dict[(1, NPY_int64, 0)] = nanstd_1d_int64_axisNone - * nanstd_dict[(1, NPY_int64, None)] = nanstd_1d_int64_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int, None)] = nanstd_2d_int_axisNone - * nanstd_dict[(2, NPY_int8, None)] = nanstd_2d_int8_axisNone + * nanstd_dict[(2, NPY_int, 1)] = nanstd_2d_int_axis1 + * nanstd_dict[(2, NPY_int8, 0)] = nanstd_2d_int8_axis0 + * nanstd_dict[(2, NPY_int8, 1)] = nanstd_2d_int8_axis1 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int32, 0)] = nanstd_2d_int32_axis0 + * nanstd_dict[(2, NPY_int32, 1)] = nanstd_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1089 - * nanstd_dict[(1, NPY_int64, 0)] = nanstd_1d_int64_axisNone - * nanstd_dict[(1, NPY_int64, None)] = nanstd_1d_int64_axisNone - * nanstd_dict[(2, NPY_int, None)] = nanstd_2d_int_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int8, None)] = nanstd_2d_int8_axisNone - * nanstd_dict[(2, NPY_int32, None)] = nanstd_2d_int32_axisNone + * nanstd_dict[(2, NPY_int8, 0)] = nanstd_2d_int8_axis0 + * nanstd_dict[(2, NPY_int8, 1)] = nanstd_2d_int8_axis1 + * nanstd_dict[(2, NPY_int32, 0)] = nanstd_2d_int32_axis0 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int32, 1)] = nanstd_2d_int32_axis1 + * nanstd_dict[(2, NPY_int64, 0)] = nanstd_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24860,28 +24860,28 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1090 - * nanstd_dict[(1, NPY_int64, None)] = nanstd_1d_int64_axisNone - * nanstd_dict[(2, NPY_int, None)] = nanstd_2d_int_axisNone - * nanstd_dict[(2, NPY_int8, None)] = nanstd_2d_int8_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int32, None)] = nanstd_2d_int32_axisNone - * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone + * nanstd_dict[(2, NPY_int8, 1)] = nanstd_2d_int8_axis1 + * nanstd_dict[(2, NPY_int32, 0)] = nanstd_2d_int32_axis0 + * nanstd_dict[(2, NPY_int32, 1)] = nanstd_2d_int32_axis1 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int64, 0)] = nanstd_2d_int64_axis0 + * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -24890,28 +24890,28 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1091 - * nanstd_dict[(2, NPY_int, None)] = nanstd_2d_int_axisNone - * nanstd_dict[(2, NPY_int8, None)] = nanstd_2d_int8_axisNone - * nanstd_dict[(2, NPY_int32, None)] = nanstd_2d_int32_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone + * nanstd_dict[(2, NPY_int32, 0)] = nanstd_2d_int32_axis0 + * nanstd_dict[(2, NPY_int32, 1)] = nanstd_2d_int32_axis1 + * nanstd_dict[(2, NPY_int64, 0)] = nanstd_2d_int64_axis0 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24920,22 +24920,22 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1092 - * nanstd_dict[(2, NPY_int8, None)] = nanstd_2d_int8_axisNone - * nanstd_dict[(2, NPY_int32, None)] = nanstd_2d_int32_axisNone - * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int32, 1)] = nanstd_2d_int32_axis1 + * nanstd_dict[(2, NPY_int64, 0)] = nanstd_2d_int64_axis0 + * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nanstd_slow_axis0(arr, ddof): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -24950,16 +24950,16 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1094 - * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone + * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 * * def nanstd_slow_axis0(arr, ddof): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanstd along axis 0." @@ -25933,7 +25933,7 @@ PyMODINIT_FUNC PyInit_nanstd(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/nansum.c b/bottlechest/src/func/32bit/nansum.c index 25f06413cb..9801739d0d 100644 --- a/bottlechest/src/func/32bit/nansum.c +++ b/bottlechest/src/func/32bit/nansum.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1104,13 +1104,13 @@ static __pyx_t_5numpy_float32_t __pyx_v_6nansum_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_6nansum_MAXfloat64; static PyObject *__pyx_v_6nansum_nansum_dict = 0; static PyObject *__pyx_v_6nansum_nansum_slow_dict = 0; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "nansum" int __pyx_module_is_main_nansum = 0; @@ -1122,34 +1122,34 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_6nansum_nansum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_6nansum_2nansum_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_6nansum_4nansum_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_6nansum_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_8nansum_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_10nansum_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_12nansum_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_14nansum_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_16nansum_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_18nansum_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_24nansum_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_30nansum_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_32nansum_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_34nansum_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_36nansum_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_38nansum_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_40nansum_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_42nansum_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_44nansum_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_46nansum_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_48nansum_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_50nansum_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_52nansum_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_54nansum_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_56nansum_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_58nansum_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_4nansum_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_6nansum_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_8nansum_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_10nansum_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_12nansum_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_14nansum_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_16nansum_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_18nansum_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_20nansum_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_22nansum_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_24nansum_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_26nansum_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_28nansum_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_30nansum_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_32nansum_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_34nansum_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_36nansum_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_38nansum_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_40nansum_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_42nansum_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_44nansum_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_46nansum_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_48nansum_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_50nansum_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_52nansum_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_54nansum_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_56nansum_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_58nansum_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_6nansum_60nansum_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6nansum_62nansum_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6nansum_64nansum_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1328,15 +1328,14 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Return_nansum_function_and_arra[] = "\n Return nansum function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.nansum() is in checking that `axis` is within range, converting `arr`\n into an array (if it is not already an array), and selecting the function\n to use to calculate the sum.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the sum is to be computed.\n \n Returns\n -------\n func : function\n The nansum function that matches the number of dimensions and dtype\n of the input array and the axis along which you wish to find the sum.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, np.nan, 3.0])\n \n Obtain the function needed to determine the nansum of `arr` along axis=0:\n\n >>> func, a = bn.func.nansum_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the sum:\n\n >>> func(a)\n 4.0\n\n "; static char __pyx_k_Sum_of_array_elements_along_giv[] = "\n Sum of array elements along given axis ignoring NaNs.\n\n When the input has an integer type with less precision than the default\n platform integer, the default platform integer is used for the\n accumulator and return values.\n\n Parameters\n ----------\n arr : array_like\n Array containing numbers whose sum is desired. If `arr` is not an\n array, a conversion is attempted.\n axis : {int, None}, optional\n Axis along which the sum is computed. The default (axis=None) is to\n compute the sum of the flattened array.\n\n Returns\n -------\n y : ndarray\n An array with the same shape as `arr`, with the specified axis removed.\n If `arr` is a 0-d array, or if axis is None, a scalar is returned. \n \n Notes\n -----\n No error is raised on overflow.\n\n If positive or negative infinity are present the result is positive or\n negative infinity. But if both positive and negative infinity are present,\n the result is Not A Number (NaN).\n\n Examples\n --------\n >>> bn.nansum(1)\n 1\n >>> bn.nansum([1])\n 1\n >>> bn.nansum([1, np.nan])\n 1.0\n >>> a = np.array([[1, 1], [1, np.nan]])\n >>> bn.nansum(a)\n 3.0\n >>> bn.nansum(a, axis=0)\n array([ 2., 1.])\n\n When positive infinity and negative infinity are present:\n\n >>> bn.nansum([1, np.nan, np.inf])\n inf\n >>> bn.nansum([1, np.nan, np.NINF])\n -inf\n >>> bn.nansum([1, np.nan, np.inf, np.NINF])\n nan\n \n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/nansum.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\nansum.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1350,6 +1349,7 @@ static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_kp_u_Sum_of_array_elements_along_giv; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__7; static PyObject *__pyx_n_s_a; @@ -2530,24 +2530,24 @@ static PyObject *__pyx_pf_6nansum_2nansum_selector(CYTHON_UNUSED PyObject *__pyx /* "nansum.pyx":201 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_5nansum_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_4nansum_2d_int_axis0[] = "nansum_2d_int_axis0(ndarray a)\nSum of 2d array with dtype=int along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_5nansum_2d_int_axis0 = {"nansum_2d_int_axis0", (PyCFunction)__pyx_pw_6nansum_5nansum_2d_int_axis0, METH_O, __pyx_doc_6nansum_4nansum_2d_int_axis0}; -static PyObject *__pyx_pw_6nansum_5nansum_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_5nansum_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_4nansum_2d_float_axis0[] = "nansum_2d_float_axis0(ndarray a)\nSum of 2d array with dtype=float along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_5nansum_2d_float_axis0 = {"nansum_2d_float_axis0", (PyCFunction)__pyx_pw_6nansum_5nansum_2d_float_axis0, METH_O, __pyx_doc_6nansum_4nansum_2d_float_axis0}; +static PyObject *__pyx_pw_6nansum_5nansum_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nansum_2d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_4nansum_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6nansum_4nansum_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2558,8 +2558,10 @@ static PyObject *__pyx_pw_6nansum_5nansum_2d_int_axis0(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6nansum_4nansum_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int_t __pyx_v_asum; +static PyObject *__pyx_pf_6nansum_4nansum_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2582,10 +2584,11 @@ static PyObject *__pyx_pf_6nansum_4nansum_2d_int_axis0(CYTHON_UNUSED PyObject *_ Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("nansum_2d_float_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2596,20 +2599,29 @@ static PyObject *__pyx_pf_6nansum_4nansum_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nansum.pyx":203 - * def nansum_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Sum of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.int_t asum = 0, ai # <<<<<<<<<<<<<< + * def nansum_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef int allnan = 1 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":204 + * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef int allnan = 1 + * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":206 + /* "nansum.pyx":207 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2618,7 +2630,7 @@ static PyObject *__pyx_pf_6nansum_4nansum_2d_int_axis0(CYTHON_UNUSED PyObject *_ */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":207 + /* "nansum.pyx":208 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2627,41 +2639,41 @@ static PyObject *__pyx_pf_6nansum_4nansum_2d_int_axis0(CYTHON_UNUSED PyObject *_ */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":208 + /* "nansum.pyx":209 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":209 + /* "nansum.pyx":210 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":210 + /* "nansum.pyx":211 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2669,63 +2681,128 @@ static PyObject *__pyx_pf_6nansum_4nansum_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":212 - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + /* "nansum.pyx":213 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) * for i1 in range(n1): # <<<<<<<<<<<<<< * asum = 0 - * for i0 in range(n0): + * allnan = 1 */ __pyx_t_4 = __pyx_v_n1; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i1 = __pyx_t_5; - /* "nansum.pyx":213 - * NPY_int, 0) + /* "nansum.pyx":214 + * NPY_float, 0) * for i1 in range(n1): * asum = 0 # <<<<<<<<<<<<<< + * allnan = 1 * for i0 in range(n0): - * asum += a[i0, i1] */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":214 + /* "nansum.pyx":215 * for i1 in range(n1): * asum = 0 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":216 + * asum = 0 + * allnan = 1 * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i1] = asum + * ai = a[i0, i1] + * if ai == ai: */ __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "nansum.pyx":215 - * asum = 0 + /* "nansum.pyx":217 + * allnan = 1 * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i1] = asum - * return y + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nansum.pyx":216 + /* "nansum.pyx":218 * for i0 in range(n0): - * asum += a[i0, i1] - * y[i1] = asum # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * allnan = 0 + */ + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":219 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nansum.pyx":220 + * if ai == ai: + * asum += ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = asum + */ + __pyx_v_allnan = 0; + goto __pyx_L7; + } + __pyx_L7:; + } + + /* "nansum.pyx":221 + * asum += ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = asum + * else: + */ + __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":222 + * allnan = 0 + * if allnan == 0: + * y[i1] = asum # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + goto __pyx_L8; + } + /*else*/ { + + /* "nansum.pyx":224 + * y[i1] = asum + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + } + __pyx_L8:; } - /* "nansum.pyx":217 - * asum += a[i0, i1] - * y[i1] = asum + /* "nansum.pyx":225 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2738,9 +2815,9 @@ static PyObject *__pyx_pf_6nansum_4nansum_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "nansum.pyx":201 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ /* function exit code */ @@ -2751,7 +2828,7 @@ static PyObject *__pyx_pf_6nansum_4nansum_2d_int_axis0(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2764,27 +2841,27 @@ static PyObject *__pyx_pf_6nansum_4nansum_2d_int_axis0(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "nansum.pyx":221 +/* "nansum.pyx":229 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_7nansum_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_6nansum_2d_int_axis1[] = "nansum_2d_int_axis1(ndarray a)\nSum of 2d array with dtype=int along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_7nansum_2d_int_axis1 = {"nansum_2d_int_axis1", (PyCFunction)__pyx_pw_6nansum_7nansum_2d_int_axis1, METH_O, __pyx_doc_6nansum_6nansum_2d_int_axis1}; -static PyObject *__pyx_pw_6nansum_7nansum_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_7nansum_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_6nansum_2d_float_axis1[] = "nansum_2d_float_axis1(ndarray a)\nSum of 2d array with dtype=float along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_7nansum_2d_float_axis1 = {"nansum_2d_float_axis1", (PyCFunction)__pyx_pw_6nansum_7nansum_2d_float_axis1, METH_O, __pyx_doc_6nansum_6nansum_2d_float_axis1}; +static PyObject *__pyx_pw_6nansum_7nansum_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_6nansum_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_float_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_6nansum_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2795,8 +2872,10 @@ static PyObject *__pyx_pw_6nansum_7nansum_2d_int_axis1(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6nansum_6nansum_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int_t __pyx_v_asum; +static PyObject *__pyx_pf_6nansum_6nansum_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2819,10 +2898,11 @@ static PyObject *__pyx_pf_6nansum_6nansum_2d_int_axis1(CYTHON_UNUSED PyObject *_ Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("nansum_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2833,20 +2913,29 @@ static PyObject *__pyx_pf_6nansum_6nansum_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":223 - * def nansum_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Sum of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.int_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nansum.pyx":231 + * def nansum_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef int allnan = 1 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":232 + * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef int allnan = 1 + * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":226 + /* "nansum.pyx":235 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2855,7 +2944,7 @@ static PyObject *__pyx_pf_6nansum_6nansum_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":227 + /* "nansum.pyx":236 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2864,41 +2953,41 @@ static PyObject *__pyx_pf_6nansum_6nansum_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":228 + /* "nansum.pyx":237 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":229 + /* "nansum.pyx":238 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":230 + /* "nansum.pyx":239 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2906,63 +2995,128 @@ static PyObject *__pyx_pf_6nansum_6nansum_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":232 - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + /* "nansum.pyx":241 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * asum = 0 - * for i1 in range(n1): + * allnan = 1 */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nansum.pyx":233 - * NPY_int, 0) + /* "nansum.pyx":242 + * NPY_float, 0) * for i0 in range(n0): * asum = 0 # <<<<<<<<<<<<<< + * allnan = 1 * for i1 in range(n1): - * asum += a[i0, i1] */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":234 + /* "nansum.pyx":243 * for i0 in range(n0): * asum = 0 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":244 + * asum = 0 + * allnan = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i0] = asum + * ai = a[i0, i1] + * if ai == ai: */ __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "nansum.pyx":235 - * asum = 0 + /* "nansum.pyx":245 + * allnan = 1 * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i0] = asum - * return y + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nansum.pyx":236 + /* "nansum.pyx":246 * for i1 in range(n1): - * asum += a[i0, i1] - * y[i0] = asum # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * allnan = 0 + */ + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":247 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nansum.pyx":248 + * if ai == ai: + * asum += ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = asum + */ + __pyx_v_allnan = 0; + goto __pyx_L7; + } + __pyx_L7:; + } + + /* "nansum.pyx":249 + * asum += ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = asum + * else: + */ + __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":250 + * allnan = 0 + * if allnan == 0: + * y[i0] = asum # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + goto __pyx_L8; + } + /*else*/ { + + /* "nansum.pyx":252 + * y[i0] = asum + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + } + __pyx_L8:; } - /* "nansum.pyx":237 - * asum += a[i0, i1] - * y[i0] = asum + /* "nansum.pyx":253 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2972,12 +3126,12 @@ static PyObject *__pyx_pf_6nansum_6nansum_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":221 + /* "nansum.pyx":229 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ /* function exit code */ @@ -2988,7 +3142,7 @@ static PyObject *__pyx_pf_6nansum_6nansum_2d_int_axis1(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3001,27 +3155,27 @@ static PyObject *__pyx_pf_6nansum_6nansum_2d_int_axis1(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "nansum.pyx":241 +/* "nansum.pyx":257 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_9nansum_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_8nansum_2d_int8_axis0[] = "nansum_2d_int8_axis0(ndarray a)\nSum of 2d array with dtype=int8 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_9nansum_2d_int8_axis0 = {"nansum_2d_int8_axis0", (PyCFunction)__pyx_pw_6nansum_9nansum_2d_int8_axis0, METH_O, __pyx_doc_6nansum_8nansum_2d_int8_axis0}; -static PyObject *__pyx_pw_6nansum_9nansum_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_9nansum_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_8nansum_2d_float32_axis0[] = "nansum_2d_float32_axis0(ndarray a)\nSum of 2d array with dtype=float32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_9nansum_2d_float32_axis0 = {"nansum_2d_float32_axis0", (PyCFunction)__pyx_pw_6nansum_9nansum_2d_float32_axis0, METH_O, __pyx_doc_6nansum_8nansum_2d_float32_axis0}; +static PyObject *__pyx_pw_6nansum_9nansum_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_8nansum_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_8nansum_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3032,8 +3186,10 @@ static PyObject *__pyx_pw_6nansum_9nansum_2d_int8_axis0(PyObject *__pyx_self, Py return __pyx_r; } -static PyObject *__pyx_pf_6nansum_8nansum_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int8_t __pyx_v_asum; +static PyObject *__pyx_pf_6nansum_8nansum_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3056,10 +3212,11 @@ static PyObject *__pyx_pf_6nansum_8nansum_2d_int8_axis0(CYTHON_UNUSED PyObject * Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nansum_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3070,20 +3227,29 @@ static PyObject *__pyx_pf_6nansum_8nansum_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":243 - * def nansum_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Sum of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.int8_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nansum.pyx":259 + * def nansum_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef int allnan = 1 # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":260 + * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef int allnan = 1 + * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":246 + /* "nansum.pyx":263 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3092,7 +3258,7 @@ static PyObject *__pyx_pf_6nansum_8nansum_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":247 + /* "nansum.pyx":264 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3101,41 +3267,41 @@ static PyObject *__pyx_pf_6nansum_8nansum_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":248 + /* "nansum.pyx":265 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":249 + /* "nansum.pyx":266 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":250 + /* "nansum.pyx":267 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3143,63 +3309,128 @@ static PyObject *__pyx_pf_6nansum_8nansum_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":252 - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + /* "nansum.pyx":269 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) * for i1 in range(n1): # <<<<<<<<<<<<<< * asum = 0 - * for i0 in range(n0): + * allnan = 1 */ __pyx_t_4 = __pyx_v_n1; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i1 = __pyx_t_5; - /* "nansum.pyx":253 - * NPY_int8, 0) + /* "nansum.pyx":270 + * NPY_float32, 0) * for i1 in range(n1): * asum = 0 # <<<<<<<<<<<<<< + * allnan = 1 * for i0 in range(n0): - * asum += a[i0, i1] */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":254 + /* "nansum.pyx":271 * for i1 in range(n1): * asum = 0 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":272 + * asum = 0 + * allnan = 1 * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i1] = asum + * ai = a[i0, i1] + * if ai == ai: */ __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "nansum.pyx":255 - * asum = 0 + /* "nansum.pyx":273 + * allnan = 1 * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i1] = asum - * return y + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nansum.pyx":256 + /* "nansum.pyx":274 * for i0 in range(n0): - * asum += a[i0, i1] - * y[i1] = asum # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * allnan = 0 + */ + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":275 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nansum.pyx":276 + * if ai == ai: + * asum += ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = asum + */ + __pyx_v_allnan = 0; + goto __pyx_L7; + } + __pyx_L7:; + } + + /* "nansum.pyx":277 + * asum += ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = asum + * else: + */ + __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":278 + * allnan = 0 + * if allnan == 0: + * y[i1] = asum # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + goto __pyx_L8; + } + /*else*/ { + + /* "nansum.pyx":280 + * y[i1] = asum + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + } + __pyx_L8:; } - /* "nansum.pyx":257 - * asum += a[i0, i1] - * y[i1] = asum + /* "nansum.pyx":281 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3209,12 +3440,12 @@ static PyObject *__pyx_pf_6nansum_8nansum_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":241 + /* "nansum.pyx":257 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ /* function exit code */ @@ -3225,7 +3456,7 @@ static PyObject *__pyx_pf_6nansum_8nansum_2d_int8_axis0(CYTHON_UNUSED PyObject * __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3238,27 +3469,27 @@ static PyObject *__pyx_pf_6nansum_8nansum_2d_int8_axis0(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "nansum.pyx":261 +/* "nansum.pyx":285 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_11nansum_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_10nansum_2d_int8_axis1[] = "nansum_2d_int8_axis1(ndarray a)\nSum of 2d array with dtype=int8 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_11nansum_2d_int8_axis1 = {"nansum_2d_int8_axis1", (PyCFunction)__pyx_pw_6nansum_11nansum_2d_int8_axis1, METH_O, __pyx_doc_6nansum_10nansum_2d_int8_axis1}; -static PyObject *__pyx_pw_6nansum_11nansum_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_11nansum_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_10nansum_2d_float32_axis1[] = "nansum_2d_float32_axis1(ndarray a)\nSum of 2d array with dtype=float32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_11nansum_2d_float32_axis1 = {"nansum_2d_float32_axis1", (PyCFunction)__pyx_pw_6nansum_11nansum_2d_float32_axis1, METH_O, __pyx_doc_6nansum_10nansum_2d_float32_axis1}; +static PyObject *__pyx_pw_6nansum_11nansum_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int8_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_10nansum_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_float32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_10nansum_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3269,8 +3500,10 @@ static PyObject *__pyx_pw_6nansum_11nansum_2d_int8_axis1(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_6nansum_10nansum_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int8_t __pyx_v_asum; +static PyObject *__pyx_pf_6nansum_10nansum_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3293,10 +3526,11 @@ static PyObject *__pyx_pf_6nansum_10nansum_2d_int8_axis1(CYTHON_UNUSED PyObject Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("nansum_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3307,20 +3541,29 @@ static PyObject *__pyx_pf_6nansum_10nansum_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":263 - * def nansum_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Sum of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.int8_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - */ - __pyx_v_asum = 0; + /* "nansum.pyx":287 + * def nansum_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef int allnan = 1 # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_allnan = 1; - /* "nansum.pyx":266 + /* "nansum.pyx":288 + * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef int allnan = 1 + * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim + */ + __pyx_v_asum = 0.0; + + /* "nansum.pyx":291 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3329,7 +3572,7 @@ static PyObject *__pyx_pf_6nansum_10nansum_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":267 + /* "nansum.pyx":292 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3338,41 +3581,41 @@ static PyObject *__pyx_pf_6nansum_10nansum_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":268 + /* "nansum.pyx":293 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":269 + /* "nansum.pyx":294 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":270 + /* "nansum.pyx":295 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3380,63 +3623,128 @@ static PyObject *__pyx_pf_6nansum_10nansum_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":272 - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + /* "nansum.pyx":297 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * asum = 0 - * for i1 in range(n1): + * allnan = 1 */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nansum.pyx":273 - * NPY_int8, 0) + /* "nansum.pyx":298 + * NPY_float32, 0) * for i0 in range(n0): * asum = 0 # <<<<<<<<<<<<<< + * allnan = 1 * for i1 in range(n1): - * asum += a[i0, i1] */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":274 + /* "nansum.pyx":299 * for i0 in range(n0): * asum = 0 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":300 + * asum = 0 + * allnan = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i0] = asum + * ai = a[i0, i1] + * if ai == ai: */ __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "nansum.pyx":275 - * asum = 0 + /* "nansum.pyx":301 + * allnan = 1 * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i0] = asum - * return y + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nansum.pyx":276 + /* "nansum.pyx":302 * for i1 in range(n1): - * asum += a[i0, i1] - * y[i0] = asum # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * allnan = 0 + */ + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":303 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nansum.pyx":304 + * if ai == ai: + * asum += ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = asum + */ + __pyx_v_allnan = 0; + goto __pyx_L7; + } + __pyx_L7:; + } + + /* "nansum.pyx":305 + * asum += ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = asum + * else: + */ + __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":306 + * allnan = 0 + * if allnan == 0: + * y[i0] = asum # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + goto __pyx_L8; + } + /*else*/ { + + /* "nansum.pyx":308 + * y[i0] = asum + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + } + __pyx_L8:; } - /* "nansum.pyx":277 - * asum += a[i0, i1] - * y[i0] = asum + /* "nansum.pyx":309 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3446,12 +3754,12 @@ static PyObject *__pyx_pf_6nansum_10nansum_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":261 + /* "nansum.pyx":285 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ /* function exit code */ @@ -3462,7 +3770,7 @@ static PyObject *__pyx_pf_6nansum_10nansum_2d_int8_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3475,27 +3783,27 @@ static PyObject *__pyx_pf_6nansum_10nansum_2d_int8_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nansum.pyx":281 +/* "nansum.pyx":313 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_13nansum_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_12nansum_2d_int32_axis0[] = "nansum_2d_int32_axis0(ndarray a)\nSum of 2d array with dtype=int32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_13nansum_2d_int32_axis0 = {"nansum_2d_int32_axis0", (PyCFunction)__pyx_pw_6nansum_13nansum_2d_int32_axis0, METH_O, __pyx_doc_6nansum_12nansum_2d_int32_axis0}; -static PyObject *__pyx_pw_6nansum_13nansum_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_13nansum_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_12nansum_2d_float64_axis0[] = "nansum_2d_float64_axis0(ndarray a)\nSum of 2d array with dtype=float64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_13nansum_2d_float64_axis0 = {"nansum_2d_float64_axis0", (PyCFunction)__pyx_pw_6nansum_13nansum_2d_float64_axis0, METH_O, __pyx_doc_6nansum_12nansum_2d_float64_axis0}; +static PyObject *__pyx_pw_6nansum_13nansum_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_12nansum_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_12nansum_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3506,8 +3814,10 @@ static PyObject *__pyx_pw_6nansum_13nansum_2d_int32_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nansum_12nansum_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int32_t __pyx_v_asum; +static PyObject *__pyx_pf_6nansum_12nansum_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3530,10 +3840,11 @@ static PyObject *__pyx_pf_6nansum_12nansum_2d_int32_axis0(CYTHON_UNUSED PyObject Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nansum_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3544,20 +3855,29 @@ static PyObject *__pyx_pf_6nansum_12nansum_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":283 - * def nansum_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Sum of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.int32_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nansum.pyx":315 + * def nansum_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef int allnan = 1 # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":316 + * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef int allnan = 1 + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":286 + /* "nansum.pyx":319 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3566,7 +3886,7 @@ static PyObject *__pyx_pf_6nansum_12nansum_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":287 + /* "nansum.pyx":320 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3575,41 +3895,41 @@ static PyObject *__pyx_pf_6nansum_12nansum_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":288 + /* "nansum.pyx":321 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":289 + /* "nansum.pyx":322 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":290 + /* "nansum.pyx":323 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3617,78 +3937,143 @@ static PyObject *__pyx_pf_6nansum_12nansum_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":292 - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + /* "nansum.pyx":325 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * for i1 in range(n1): # <<<<<<<<<<<<<< * asum = 0 - * for i0 in range(n0): + * allnan = 1 */ __pyx_t_4 = __pyx_v_n1; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i1 = __pyx_t_5; - /* "nansum.pyx":293 - * NPY_int32, 0) + /* "nansum.pyx":326 + * NPY_float64, 0) * for i1 in range(n1): * asum = 0 # <<<<<<<<<<<<<< + * allnan = 1 * for i0 in range(n0): - * asum += a[i0, i1] */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":294 + /* "nansum.pyx":327 * for i1 in range(n1): * asum = 0 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":328 + * asum = 0 + * allnan = 1 * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i1] = asum + * ai = a[i0, i1] + * if ai == ai: */ __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "nansum.pyx":295 - * asum = 0 + /* "nansum.pyx":329 + * allnan = 1 * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i1] = asum - * return y + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nansum.pyx":296 + /* "nansum.pyx":330 * for i0 in range(n0): - * asum += a[i0, i1] - * y[i1] = asum # <<<<<<<<<<<<<< - * return y - * + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * allnan = 0 */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; - } + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nansum.pyx":297 - * asum += a[i0, i1] - * y[i1] = asum - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + /* "nansum.pyx":331 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nansum.pyx":281 - * @cython.boundscheck(False) + /* "nansum.pyx":332 + * if ai == ai: + * asum += ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = asum + */ + __pyx_v_allnan = 0; + goto __pyx_L7; + } + __pyx_L7:; + } + + /* "nansum.pyx":333 + * asum += ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = asum + * else: + */ + __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":334 + * allnan = 0 + * if allnan == 0: + * y[i1] = asum # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + goto __pyx_L8; + } + /*else*/ { + + /* "nansum.pyx":336 + * y[i1] = asum + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + } + __pyx_L8:; + } + + /* "nansum.pyx":337 + * else: + * y[i1] = NAN + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "nansum.pyx":313 + * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ /* function exit code */ @@ -3699,7 +4084,7 @@ static PyObject *__pyx_pf_6nansum_12nansum_2d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3712,27 +4097,27 @@ static PyObject *__pyx_pf_6nansum_12nansum_2d_int32_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nansum.pyx":301 +/* "nansum.pyx":341 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_15nansum_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_14nansum_2d_int32_axis1[] = "nansum_2d_int32_axis1(ndarray a)\nSum of 2d array with dtype=int32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_15nansum_2d_int32_axis1 = {"nansum_2d_int32_axis1", (PyCFunction)__pyx_pw_6nansum_15nansum_2d_int32_axis1, METH_O, __pyx_doc_6nansum_14nansum_2d_int32_axis1}; -static PyObject *__pyx_pw_6nansum_15nansum_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_15nansum_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_14nansum_2d_float64_axis1[] = "nansum_2d_float64_axis1(ndarray a)\nSum of 2d array with dtype=float64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_15nansum_2d_float64_axis1 = {"nansum_2d_float64_axis1", (PyCFunction)__pyx_pw_6nansum_15nansum_2d_float64_axis1, METH_O, __pyx_doc_6nansum_14nansum_2d_float64_axis1}; +static PyObject *__pyx_pw_6nansum_15nansum_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_14nansum_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_float64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_14nansum_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3743,8 +4128,10 @@ static PyObject *__pyx_pw_6nansum_15nansum_2d_int32_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nansum_14nansum_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int32_t __pyx_v_asum; +static PyObject *__pyx_pf_6nansum_14nansum_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3767,10 +4154,11 @@ static PyObject *__pyx_pf_6nansum_14nansum_2d_int32_axis1(CYTHON_UNUSED PyObject Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("nansum_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3781,20 +4169,29 @@ static PyObject *__pyx_pf_6nansum_14nansum_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":303 - * def nansum_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Sum of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.int32_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nansum.pyx":343 + * def nansum_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef int allnan = 1 # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":344 + * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef int allnan = 1 + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":306 + /* "nansum.pyx":347 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3803,7 +4200,7 @@ static PyObject *__pyx_pf_6nansum_14nansum_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":307 + /* "nansum.pyx":348 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3812,41 +4209,41 @@ static PyObject *__pyx_pf_6nansum_14nansum_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":308 + /* "nansum.pyx":349 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":309 + /* "nansum.pyx":350 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":310 + /* "nansum.pyx":351 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3854,63 +4251,128 @@ static PyObject *__pyx_pf_6nansum_14nansum_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":312 - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + /* "nansum.pyx":353 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * asum = 0 - * for i1 in range(n1): + * allnan = 1 */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nansum.pyx":313 - * NPY_int32, 0) + /* "nansum.pyx":354 + * NPY_float64, 0) * for i0 in range(n0): * asum = 0 # <<<<<<<<<<<<<< + * allnan = 1 * for i1 in range(n1): - * asum += a[i0, i1] */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":314 + /* "nansum.pyx":355 * for i0 in range(n0): * asum = 0 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":356 + * asum = 0 + * allnan = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i0] = asum + * ai = a[i0, i1] + * if ai == ai: */ __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "nansum.pyx":315 - * asum = 0 + /* "nansum.pyx":357 + * allnan = 1 * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i0] = asum - * return y + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nansum.pyx":316 + /* "nansum.pyx":358 * for i1 in range(n1): - * asum += a[i0, i1] - * y[i0] = asum # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * allnan = 0 + */ + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":359 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nansum.pyx":360 + * if ai == ai: + * asum += ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = asum + */ + __pyx_v_allnan = 0; + goto __pyx_L7; + } + __pyx_L7:; + } + + /* "nansum.pyx":361 + * asum += ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = asum + * else: + */ + __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":362 + * allnan = 0 + * if allnan == 0: + * y[i0] = asum # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + goto __pyx_L8; + } + /*else*/ { + + /* "nansum.pyx":364 + * y[i0] = asum + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + } + __pyx_L8:; } - /* "nansum.pyx":317 - * asum += a[i0, i1] - * y[i0] = asum + /* "nansum.pyx":365 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3920,12 +4382,12 @@ static PyObject *__pyx_pf_6nansum_14nansum_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":301 + /* "nansum.pyx":341 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ /* function exit code */ @@ -3936,7 +4398,7 @@ static PyObject *__pyx_pf_6nansum_14nansum_2d_int32_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3949,27 +4411,27 @@ static PyObject *__pyx_pf_6nansum_14nansum_2d_int32_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nansum.pyx":321 +/* "nansum.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.int64_t asum = 0, ai + * def nansum_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_17nansum_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_16nansum_2d_int64_axis0[] = "nansum_2d_int64_axis0(ndarray a)\nSum of 2d array with dtype=int64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_17nansum_2d_int64_axis0 = {"nansum_2d_int64_axis0", (PyCFunction)__pyx_pw_6nansum_17nansum_2d_int64_axis0, METH_O, __pyx_doc_6nansum_16nansum_2d_int64_axis0}; -static PyObject *__pyx_pw_6nansum_17nansum_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_17nansum_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_16nansum_1d_float_axisNone[] = "nansum_1d_float_axisNone(ndarray a)\nSum of 1d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_17nansum_1d_float_axisNone = {"nansum_1d_float_axisNone", (PyCFunction)__pyx_pw_6nansum_17nansum_1d_float_axisNone, METH_O, __pyx_doc_6nansum_16nansum_1d_float_axisNone}; +static PyObject *__pyx_pw_6nansum_17nansum_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_16nansum_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_1d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_16nansum_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3980,470 +4442,283 @@ static PyObject *__pyx_pw_6nansum_17nansum_2d_int64_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nansum_16nansum_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int64_t __pyx_v_asum; +static PyObject *__pyx_pf_6nansum_16nansum_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_lineno = 0; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nansum_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nansum.pyx":323 - * def nansum_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Sum of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.int64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "nansum.pyx":371 + * def nansum_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): + * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef int allnan = 1 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, ai + * cdef Py_ssize_t i0 + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":372 + * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef int allnan = 1 + * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":326 - * cdef Py_ssize_t i0, i1 + /* "nansum.pyx":375 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":327 + /* "nansum.pyx":376 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":328 + /* "nansum.pyx":377 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":329 + /* "nansum.pyx":378 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nansum.pyx":330 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int64, 0) - * for i1 in range(n1): + /* "nansum.pyx":379 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * allnan = 0 */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "nansum.pyx":332 - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nansum.pyx":380 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nansum.pyx":333 - * NPY_int64, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] + /* "nansum.pyx":381 + * if ai == ai: + * asum += ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * return np.float(asum) */ - __pyx_v_asum = 0; + __pyx_v_allnan = 0; + goto __pyx_L5; + } + __pyx_L5:; + } - /* "nansum.pyx":334 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i1] = asum + /* "nansum.pyx":382 + * asum += ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.float(asum) + * else: */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { - /* "nansum.pyx":335 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i1] = asum - * return y + /* "nansum.pyx":383 + * allnan = 0 + * if allnan == 0: + * return np.float(asum) # <<<<<<<<<<<<<< + * else: + * return np.float(NAN) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } } - - /* "nansum.pyx":336 - * for i0 in range(n0): - * asum += a[i0, i1] - * y[i1] = asum # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + if (!__pyx_t_8) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nansum.pyx":337 - * asum += a[i0, i1] - * y[i1] = asum - * return y # <<<<<<<<<<<<<< + /* "nansum.pyx":385 + * return np.float(asum) + * else: + * return np.float(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_6) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + } - /* "nansum.pyx":321 + /* "nansum.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.int64_t asum = 0, ai + * def nansum_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":341 +/* "nansum.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.int64_t asum = 0, ai - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_6nansum_19nansum_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_18nansum_2d_int64_axis1[] = "nansum_2d_int64_axis1(ndarray a)\nSum of 2d array with dtype=int64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_19nansum_2d_int64_axis1 = {"nansum_2d_int64_axis1", (PyCFunction)__pyx_pw_6nansum_19nansum_2d_int64_axis1, METH_O, __pyx_doc_6nansum_18nansum_2d_int64_axis1}; -static PyObject *__pyx_pw_6nansum_19nansum_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_lineno = 0; - CYTHON_UNUSED const char *__pyx_filename = NULL; - CYTHON_UNUSED int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_18nansum_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_6nansum_18nansum_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int64_t __pyx_v_asum; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; - npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - __Pyx_LocalBuf_ND __pyx_pybuffernd_a; - __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; - __pyx_pybuffer_a.pybuffer.buf = NULL; - __pyx_pybuffer_a.refcount = 0; - __pyx_pybuffernd_a.data = NULL; - __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nansum.pyx":343 - * def nansum_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Sum of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.int64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - */ - __pyx_v_asum = 0; - - /* "nansum.pyx":346 - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - */ - __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - - /* "nansum.pyx":347 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "nansum.pyx":348 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nansum.pyx":349 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nansum.pyx":350 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int64, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nansum.pyx":352 - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "nansum.pyx":353 - * NPY_int64, 0) - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] - */ - __pyx_v_asum = 0; - - /* "nansum.pyx":354 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i0] = asum - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nansum.pyx":355 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i0] = asum - * return y - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); - } - - /* "nansum.pyx":356 - * for i1 in range(n1): - * asum += a[i0, i1] - * y[i0] = asum # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; - } - - /* "nansum.pyx":357 - * asum += a[i0, i1] - * y[i0] = asum - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "nansum.pyx":341 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nansum_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.int64_t asum = 0, ai - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; - __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - goto __pyx_L2; - __pyx_L0:; - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "nansum.pyx":361 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nansum_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nansum_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_21nansum_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_20nansum_1d_float_axisNone[] = "nansum_1d_float_axisNone(ndarray a)\nSum of 1d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_21nansum_1d_float_axisNone = {"nansum_1d_float_axisNone", (PyCFunction)__pyx_pw_6nansum_21nansum_1d_float_axisNone, METH_O, __pyx_doc_6nansum_20nansum_1d_float_axisNone}; -static PyObject *__pyx_pw_6nansum_21nansum_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_19nansum_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_18nansum_1d_float32_axisNone[] = "nansum_1d_float32_axisNone(ndarray a)\nSum of 1d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_19nansum_1d_float32_axisNone = {"nansum_1d_float32_axisNone", (PyCFunction)__pyx_pw_6nansum_19nansum_1d_float32_axisNone, METH_O, __pyx_doc_6nansum_18nansum_1d_float32_axisNone}; +static PyObject *__pyx_pw_6nansum_19nansum_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_1d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_20nansum_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_1d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_18nansum_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4454,10 +4729,10 @@ static PyObject *__pyx_pw_6nansum_21nansum_1d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nansum_18nansum_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4477,36 +4752,36 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nansum.pyx":363 - * def nansum_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): - * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." + /* "nansum.pyx":391 + * def nansum_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): + * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, ai + * cdef np.float32_t asum = 0, ai * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nansum.pyx":364 - * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." + /* "nansum.pyx":392 + * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 - * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nansum.pyx":367 + /* "nansum.pyx":395 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4515,7 +4790,7 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":368 + /* "nansum.pyx":396 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4524,7 +4799,7 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":369 + /* "nansum.pyx":397 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4535,7 +4810,7 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":370 + /* "nansum.pyx":398 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -4543,9 +4818,9 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj * asum += ai */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nansum.pyx":371 + /* "nansum.pyx":399 * for i0 in range(n0): * ai = a[i0] * if ai == ai: # <<<<<<<<<<<<<< @@ -4555,7 +4830,7 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "nansum.pyx":372 + /* "nansum.pyx":400 * ai = a[i0] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -4564,12 +4839,12 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nansum.pyx":373 + /* "nansum.pyx":401 * if ai == ai: * asum += ai * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float(asum) + * return np.float32(asum) */ __pyx_v_allnan = 0; goto __pyx_L5; @@ -4577,30 +4852,30 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_L5:; } - /* "nansum.pyx":374 + /* "nansum.pyx":402 * asum += ai * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float(asum) + * return np.float32(asum) * else: */ __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_4) { - /* "nansum.pyx":375 + /* "nansum.pyx":403 * allnan = 0 * if allnan == 0: - * return np.float(asum) # <<<<<<<<<<<<<< + * return np.float32(asum) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float32(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { @@ -4613,17 +4888,17 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_8) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -4634,20 +4909,20 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj } /*else*/ { - /* "nansum.pyx":377 - * return np.float(asum) + /* "nansum.pyx":405 + * return np.float32(asum) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { @@ -4660,17 +4935,17 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_6) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_5); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -4680,11 +4955,11 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "nansum.pyx":361 + /* "nansum.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nansum_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -4699,7 +4974,7 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4710,27 +4985,27 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nansum.pyx":381 +/* "nansum.pyx":409 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nansum_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_23nansum_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_22nansum_1d_float32_axisNone[] = "nansum_1d_float32_axisNone(ndarray a)\nSum of 1d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_23nansum_1d_float32_axisNone = {"nansum_1d_float32_axisNone", (PyCFunction)__pyx_pw_6nansum_23nansum_1d_float32_axisNone, METH_O, __pyx_doc_6nansum_22nansum_1d_float32_axisNone}; -static PyObject *__pyx_pw_6nansum_23nansum_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_21nansum_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_20nansum_1d_float64_axisNone[] = "nansum_1d_float64_axisNone(ndarray a)\nSum of 1d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_21nansum_1d_float64_axisNone = {"nansum_1d_float64_axisNone", (PyCFunction)__pyx_pw_6nansum_21nansum_1d_float64_axisNone, METH_O, __pyx_doc_6nansum_20nansum_1d_float64_axisNone}; +static PyObject *__pyx_pw_6nansum_21nansum_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_1d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_22nansum_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_1d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_20nansum_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4741,10 +5016,10 @@ static PyObject *__pyx_pw_6nansum_23nansum_1d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nansum_20nansum_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4764,36 +5039,36 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nansum.pyx":383 - * def nansum_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): - * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." + /* "nansum.pyx":411 + * def nansum_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): + * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, ai + * cdef np.float64_t asum = 0, ai * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nansum.pyx":384 - * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." + /* "nansum.pyx":412 + * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 - * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nansum.pyx":387 + /* "nansum.pyx":415 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4802,7 +5077,7 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":388 + /* "nansum.pyx":416 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4811,7 +5086,7 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":389 + /* "nansum.pyx":417 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4822,7 +5097,7 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":390 + /* "nansum.pyx":418 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -4830,9 +5105,9 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO * asum += ai */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nansum.pyx":391 + /* "nansum.pyx":419 * for i0 in range(n0): * ai = a[i0] * if ai == ai: # <<<<<<<<<<<<<< @@ -4842,7 +5117,7 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "nansum.pyx":392 + /* "nansum.pyx":420 * ai = a[i0] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -4851,12 +5126,12 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nansum.pyx":393 + /* "nansum.pyx":421 * if ai == ai: * asum += ai * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float32(asum) + * return np.float64(asum) */ __pyx_v_allnan = 0; goto __pyx_L5; @@ -4864,30 +5139,30 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO __pyx_L5:; } - /* "nansum.pyx":394 + /* "nansum.pyx":422 * asum += ai * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float32(asum) + * return np.float64(asum) * else: */ __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_4) { - /* "nansum.pyx":395 + /* "nansum.pyx":423 * allnan = 0 * if allnan == 0: - * return np.float32(asum) # <<<<<<<<<<<<<< + * return np.float64(asum) # <<<<<<<<<<<<<< * else: - * return np.float32(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { @@ -4900,17 +5175,17 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO } } if (!__pyx_t_8) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -4921,20 +5196,20 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO } /*else*/ { - /* "nansum.pyx":397 - * return np.float32(asum) + /* "nansum.pyx":425 + * return np.float64(asum) * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { @@ -4947,17 +5222,17 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO } } if (!__pyx_t_6) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_5); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -4967,11 +5242,11 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO goto __pyx_L0; } - /* "nansum.pyx":381 + /* "nansum.pyx":409 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nansum_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -4986,7 +5261,7 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4997,27 +5272,27 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nansum.pyx":401 +/* "nansum.pyx":429 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nansum_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_25nansum_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_24nansum_1d_float64_axisNone[] = "nansum_1d_float64_axisNone(ndarray a)\nSum of 1d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_25nansum_1d_float64_axisNone = {"nansum_1d_float64_axisNone", (PyCFunction)__pyx_pw_6nansum_25nansum_1d_float64_axisNone, METH_O, __pyx_doc_6nansum_24nansum_1d_float64_axisNone}; -static PyObject *__pyx_pw_6nansum_25nansum_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_23nansum_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_22nansum_2d_float_axisNone[] = "nansum_2d_float_axisNone(ndarray a)\nSum of 2d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_23nansum_2d_float_axisNone = {"nansum_2d_float_axisNone", (PyCFunction)__pyx_pw_6nansum_23nansum_2d_float_axisNone, METH_O, __pyx_doc_6nansum_22nansum_2d_float_axisNone}; +static PyObject *__pyx_pw_6nansum_23nansum_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_1d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_24nansum_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_22nansum_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5028,13 +5303,15 @@ static PyObject *__pyx_pw_6nansum_25nansum_1d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nansum_24nansum_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nansum_22nansum_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -5042,238 +5319,263 @@ static PyObject *__pyx_pf_6nansum_24nansum_1d_float64_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + int __pyx_t_7; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_1d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":403 - * def nansum_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): - * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." + /* "nansum.pyx":431 + * def nansum_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): + * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, ai - * cdef Py_ssize_t i0 + * cdef np.float_t asum = 0, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nansum.pyx":404 - * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." + /* "nansum.pyx":432 + * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nansum.pyx":407 - * cdef Py_ssize_t i0 + /* "nansum.pyx":435 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":408 + /* "nansum.pyx":436 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":409 + /* "nansum.pyx":437 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nansum.pyx":438 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":410 - * cdef Py_ssize_t n0 = dim[0] + /* "nansum.pyx":439 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nansum.pyx":411 + /* "nansum.pyx":440 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * allnan = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nansum.pyx":412 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * allnan = 0 + /* "nansum.pyx":441 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * allnan = 0 + */ + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { + + /* "nansum.pyx":442 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * allnan = 0 * if allnan == 0: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nansum.pyx":413 - * if ai == ai: - * asum += ai - * allnan = 0 # <<<<<<<<<<<<<< + /* "nansum.pyx":443 + * if ai == ai: + * asum += ai + * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float64(asum) + * return np.float(asum) */ - __pyx_v_allnan = 0; - goto __pyx_L5; + __pyx_v_allnan = 0; + goto __pyx_L7; + } + __pyx_L7:; } - __pyx_L5:; } - /* "nansum.pyx":414 - * asum += ai - * allnan = 0 + /* "nansum.pyx":444 + * asum += ai + * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float64(asum) + * return np.float(asum) * else: */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { + __pyx_t_7 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_7) { - /* "nansum.pyx":415 - * allnan = 0 + /* "nansum.pyx":445 + * allnan = 0 * if allnan == 0: - * return np.float64(asum) # <<<<<<<<<<<<<< + * return np.float(asum) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * return np.float(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); + __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __Pyx_DECREF_SET(__pyx_t_10, function); } } - if (!__pyx_t_8) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + if (!__pyx_t_11) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_8); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); + __Pyx_GIVEREF(__pyx_t_9); + __pyx_t_9 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; goto __pyx_L0; } /*else*/ { - /* "nansum.pyx":417 - * return np.float64(asum) + /* "nansum.pyx":447 + * return np.float(asum) * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * return np.float(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - } - } - if (!__pyx_t_6) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_9 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + if (!__pyx_t_9) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_8); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; goto __pyx_L0; } - /* "nansum.pyx":401 + /* "nansum.pyx":429 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nansum_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5284,27 +5586,27 @@ static PyObject *__pyx_pf_6nansum_24nansum_1d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nansum.pyx":421 +/* "nansum.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nansum_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_27nansum_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_26nansum_2d_float_axisNone[] = "nansum_2d_float_axisNone(ndarray a)\nSum of 2d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_27nansum_2d_float_axisNone = {"nansum_2d_float_axisNone", (PyCFunction)__pyx_pw_6nansum_27nansum_2d_float_axisNone, METH_O, __pyx_doc_6nansum_26nansum_2d_float_axisNone}; -static PyObject *__pyx_pw_6nansum_27nansum_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_25nansum_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_24nansum_2d_float32_axisNone[] = "nansum_2d_float32_axisNone(ndarray a)\nSum of 2d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_25nansum_2d_float32_axisNone = {"nansum_2d_float32_axisNone", (PyCFunction)__pyx_pw_6nansum_25nansum_2d_float32_axisNone, METH_O, __pyx_doc_6nansum_24nansum_2d_float32_axisNone}; +static PyObject *__pyx_pw_6nansum_25nansum_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_26nansum_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_24nansum_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5315,10 +5617,10 @@ static PyObject *__pyx_pw_6nansum_27nansum_2d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nansum_24nansum_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -5343,36 +5645,36 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":423 - * def nansum_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): - * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." + /* "nansum.pyx":453 + * def nansum_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): + * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, ai + * cdef np.float32_t asum = 0, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nansum.pyx":424 - * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." + /* "nansum.pyx":454 + * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 - * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nansum.pyx":427 + /* "nansum.pyx":457 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5381,7 +5683,7 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":428 + /* "nansum.pyx":458 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5390,7 +5692,7 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":429 + /* "nansum.pyx":459 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5399,7 +5701,7 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":430 + /* "nansum.pyx":460 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5410,7 +5712,7 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":431 + /* "nansum.pyx":461 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -5421,7 +5723,7 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "nansum.pyx":432 + /* "nansum.pyx":462 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -5430,9 +5732,9 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_t_5 = __pyx_v_i0; __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nansum.pyx":433 + /* "nansum.pyx":463 * for i1 in range(n1): * ai = a[i0, i1] * if ai == ai: # <<<<<<<<<<<<<< @@ -5442,7 +5744,7 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "nansum.pyx":434 + /* "nansum.pyx":464 * ai = a[i0, i1] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -5451,12 +5753,12 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nansum.pyx":435 + /* "nansum.pyx":465 * if ai == ai: * asum += ai * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float(asum) + * return np.float32(asum) */ __pyx_v_allnan = 0; goto __pyx_L7; @@ -5465,30 +5767,30 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "nansum.pyx":436 + /* "nansum.pyx":466 * asum += ai * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float(asum) + * return np.float32(asum) * else: */ __pyx_t_7 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_7) { - /* "nansum.pyx":437 + /* "nansum.pyx":467 * allnan = 0 * if allnan == 0: - * return np.float(asum) # <<<<<<<<<<<<<< + * return np.float32(asum) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float32(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { @@ -5501,17 +5803,17 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_11) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_8); } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } @@ -5522,20 +5824,20 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj } /*else*/ { - /* "nansum.pyx":439 - * return np.float(asum) + /* "nansum.pyx":469 + * return np.float32(asum) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { @@ -5548,17 +5850,17 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_9) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_8); } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -5568,11 +5870,11 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "nansum.pyx":421 + /* "nansum.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nansum_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -5587,7 +5889,7 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5598,27 +5900,27 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nansum.pyx":443 +/* "nansum.pyx":473 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." + * def nansum_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_29nansum_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_28nansum_2d_float32_axisNone[] = "nansum_2d_float32_axisNone(ndarray a)\nSum of 2d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_29nansum_2d_float32_axisNone = {"nansum_2d_float32_axisNone", (PyCFunction)__pyx_pw_6nansum_29nansum_2d_float32_axisNone, METH_O, __pyx_doc_6nansum_28nansum_2d_float32_axisNone}; -static PyObject *__pyx_pw_6nansum_29nansum_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_27nansum_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_26nansum_2d_float64_axisNone[] = "nansum_2d_float64_axisNone(ndarray a)\nSum of 2d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_27nansum_2d_float64_axisNone = {"nansum_2d_float64_axisNone", (PyCFunction)__pyx_pw_6nansum_27nansum_2d_float64_axisNone, METH_O, __pyx_doc_6nansum_26nansum_2d_float64_axisNone}; +static PyObject *__pyx_pw_6nansum_27nansum_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_28nansum_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_26nansum_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5629,10 +5931,10 @@ static PyObject *__pyx_pw_6nansum_29nansum_2d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nansum_26nansum_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -5657,36 +5959,36 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":445 - * def nansum_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): - * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." + /* "nansum.pyx":475 + * def nansum_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): + * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, ai + * cdef np.float64_t asum = 0, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nansum.pyx":446 - * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." + /* "nansum.pyx":476 + * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 - * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nansum.pyx":449 + /* "nansum.pyx":479 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5695,7 +5997,7 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":450 + /* "nansum.pyx":480 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5704,7 +6006,7 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":451 + /* "nansum.pyx":481 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5713,7 +6015,7 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":452 + /* "nansum.pyx":482 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5724,7 +6026,7 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":453 + /* "nansum.pyx":483 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -5735,7 +6037,7 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "nansum.pyx":454 + /* "nansum.pyx":484 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -5744,9 +6046,9 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_t_5 = __pyx_v_i0; __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nansum.pyx":455 + /* "nansum.pyx":485 * for i1 in range(n1): * ai = a[i0, i1] * if ai == ai: # <<<<<<<<<<<<<< @@ -5756,7 +6058,7 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "nansum.pyx":456 + /* "nansum.pyx":486 * ai = a[i0, i1] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -5765,12 +6067,12 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nansum.pyx":457 + /* "nansum.pyx":487 * if ai == ai: * asum += ai * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float32(asum) + * return np.float64(asum) */ __pyx_v_allnan = 0; goto __pyx_L7; @@ -5779,30 +6081,30 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO } } - /* "nansum.pyx":458 + /* "nansum.pyx":488 * asum += ai * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float32(asum) + * return np.float64(asum) * else: */ __pyx_t_7 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_7) { - /* "nansum.pyx":459 + /* "nansum.pyx":489 * allnan = 0 * if allnan == 0: - * return np.float32(asum) # <<<<<<<<<<<<<< + * return np.float64(asum) # <<<<<<<<<<<<<< * else: - * return np.float32(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { @@ -5815,17 +6117,17 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO } } if (!__pyx_t_11) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_8); } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } @@ -5836,20 +6138,20 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO } /*else*/ { - /* "nansum.pyx":461 - * return np.float32(asum) + /* "nansum.pyx":491 + * return np.float64(asum) * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { @@ -5862,17 +6164,17 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO } } if (!__pyx_t_9) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_8); } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -5882,11 +6184,11 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO goto __pyx_L0; } - /* "nansum.pyx":443 + /* "nansum.pyx":473 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." + * def nansum_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -5901,7 +6203,7 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5912,27 +6214,27 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nansum.pyx":465 +/* "nansum.pyx":495 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.int_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_31nansum_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_30nansum_2d_float64_axisNone[] = "nansum_2d_float64_axisNone(ndarray a)\nSum of 2d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_31nansum_2d_float64_axisNone = {"nansum_2d_float64_axisNone", (PyCFunction)__pyx_pw_6nansum_31nansum_2d_float64_axisNone, METH_O, __pyx_doc_6nansum_30nansum_2d_float64_axisNone}; -static PyObject *__pyx_pw_6nansum_31nansum_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_29nansum_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_28nansum_1d_int_axisNone[] = "nansum_1d_int_axisNone(ndarray a)\nSum of 1d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_29nansum_1d_int_axisNone = {"nansum_1d_int_axisNone", (PyCFunction)__pyx_pw_6nansum_29nansum_1d_int_axisNone, METH_O, __pyx_doc_6nansum_28nansum_1d_int_axisNone}; +static PyObject *__pyx_pw_6nansum_29nansum_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_30nansum_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_1d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_28nansum_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5943,15 +6245,12 @@ static PyObject *__pyx_pw_6nansum_31nansum_2d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nansum_30nansum_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nansum_28nansum_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int_t __pyx_v_asum; + CYTHON_UNUSED Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -5959,263 +6258,148 @@ static PyObject *__pyx_pf_6nansum_30nansum_2d_float64_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - int __pyx_t_7; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_1d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nansum.pyx":467 - * def nansum_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): - * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_allnan = 1; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nansum.pyx":468 - * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef int allnan = 1 - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + /* "nansum.pyx":497 + * def nansum_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): + * "Sum of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.int_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0; - /* "nansum.pyx":471 - * cdef Py_ssize_t i0, i1 + /* "nansum.pyx":501 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":472 + /* "nansum.pyx":502 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] + * size = n0 * for i0 in range(n0): */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":473 + /* "nansum.pyx":503 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * size = n0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): + * asum += a[i0] */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nansum.pyx":474 + /* "nansum.pyx":504 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * asum += a[i0] + * return np.int(asum) */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":475 - * cdef Py_ssize_t n1 = dim[1] + /* "nansum.pyx":505 + * size = n0 * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + * asum += a[i0] # <<<<<<<<<<<<<< + * return np.int(asum) + * */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + } - /* "nansum.pyx":476 + /* "nansum.pyx":506 * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nansum.pyx":477 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * allnan = 0 + * asum += a[i0] + * return np.int(asum) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { - - /* "nansum.pyx":478 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nansum.pyx":479 - * if ai == ai: - * asum += ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.float64(asum) - */ - __pyx_v_allnan = 0; - goto __pyx_L7; - } - __pyx_L7:; - } - } - - /* "nansum.pyx":480 - * asum += ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float64(asum) - * else: - */ - __pyx_t_7 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_7) { - - /* "nansum.pyx":481 - * allnan = 0 - * if allnan == 0: - * return np.float64(asum) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_GOTREF(__pyx_t_8); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); - __Pyx_GIVEREF(__pyx_t_9); - __pyx_t_9 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int_2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_asum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; } - /*else*/ { - - /* "nansum.pyx":483 - * return np.float64(asum) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_9 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - } - } - if (!__pyx_t_9) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_8); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; + if (!__pyx_t_7) { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; - /* "nansum.pyx":465 + /* "nansum.pyx":495 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.int_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6226,27 +6410,27 @@ static PyObject *__pyx_pf_6nansum_30nansum_2d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nansum.pyx":487 +/* "nansum.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_33nansum_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_32nansum_2d_float_axis0[] = "nansum_2d_float_axis0(ndarray a)\nSum of 2d array with dtype=float along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_33nansum_2d_float_axis0 = {"nansum_2d_float_axis0", (PyCFunction)__pyx_pw_6nansum_33nansum_2d_float_axis0, METH_O, __pyx_doc_6nansum_32nansum_2d_float_axis0}; -static PyObject *__pyx_pw_6nansum_33nansum_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_31nansum_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_30nansum_1d_int8_axisNone[] = "nansum_1d_int8_axisNone(ndarray a)\nSum of 1d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_31nansum_1d_int8_axisNone = {"nansum_1d_int8_axisNone", (PyCFunction)__pyx_pw_6nansum_31nansum_1d_int8_axisNone, METH_O, __pyx_doc_6nansum_30nansum_1d_int8_axisNone}; +static PyObject *__pyx_pw_6nansum_31nansum_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_32nansum_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_1d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_30nansum_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6257,310 +6441,388 @@ static PyObject *__pyx_pw_6nansum_33nansum_2d_float_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nansum_32nansum_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_6nansum_30nansum_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int8_t __pyx_v_asum; + CYTHON_UNUSED Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_float_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nansum_1d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nansum.pyx":489 - * def nansum_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_allnan = 1; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nansum.pyx":490 - * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef int allnan = 1 - * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + /* "nansum.pyx":512 + * def nansum_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): + * "Sum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.int8_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0; - /* "nansum.pyx":493 - * cdef Py_ssize_t i0, i1 + /* "nansum.pyx":516 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":494 + /* "nansum.pyx":517 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 + * for i0 in range(n0): */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":495 + /* "nansum.pyx":518 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0] */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nansum.pyx":496 + /* "nansum.pyx":519 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * size = n0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0] + * return np.int8(asum) */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":497 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * for i1 in range(n1): + /* "nansum.pyx":520 + * size = n0 + * for i0 in range(n0): + * asum += a[i0] # <<<<<<<<<<<<<< + * return np.int8(asum) + * */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } + __pyx_t_3 = __pyx_v_i0; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nansum.pyx":499 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * allnan = 1 + /* "nansum.pyx":521 + * for i0 in range(n0): + * asum += a[i0] + * return np.int8(asum) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_From_npy_int8(__pyx_v_asum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; - /* "nansum.pyx":500 - * NPY_float, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0): + /* "nansum.pyx":510 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nansum_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ - __pyx_v_asum = 0.0; - /* "nansum.pyx":501 - * for i1 in range(n1): - * asum = 0 - * allnan = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_allnan = 1; + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("nansum.nansum_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __pyx_L2:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} - /* "nansum.pyx":502 - * asum = 0 - * allnan = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: +/* "nansum.pyx":525 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nansum_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - /* "nansum.pyx":503 - * allnan = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); +/* Python wrapper */ +static PyObject *__pyx_pw_6nansum_33nansum_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_32nansum_1d_int32_axisNone[] = "nansum_1d_int32_axisNone(ndarray a)\nSum of 1d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_33nansum_1d_int32_axisNone = {"nansum_1d_int32_axisNone", (PyCFunction)__pyx_pw_6nansum_33nansum_1d_int32_axisNone, METH_O, __pyx_doc_6nansum_32nansum_1d_int32_axisNone}; +static PyObject *__pyx_pw_6nansum_33nansum_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_lineno = 0; + CYTHON_UNUSED const char *__pyx_filename = NULL; + CYTHON_UNUSED int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("nansum_1d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_32nansum_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":504 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * allnan = 0 + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_6nansum_32nansum_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int32_t __pyx_v_asum; + CYTHON_UNUSED Py_ssize_t __pyx_v_size; + Py_ssize_t __pyx_v_i0; + npy_intp *__pyx_v_dim; + Py_ssize_t __pyx_v_n0; + __Pyx_LocalBuf_ND __pyx_pybuffernd_a; + __Pyx_Buffer __pyx_pybuffer_a; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("nansum_1d_int32_axisNone", 0); + __pyx_pybuffer_a.pybuffer.buf = NULL; + __pyx_pybuffer_a.refcount = 0; + __pyx_pybuffernd_a.data = NULL; + __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + + /* "nansum.pyx":527 + * def nansum_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): + * "Sum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.int32_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_asum = 0; - /* "nansum.pyx":505 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + /* "nansum.pyx":531 + * cdef Py_ssize_t i0 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n0 = dim[0] + * size = n0 */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":506 - * if ai == ai: - * asum += ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = asum + /* "nansum.pyx":532 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * size = n0 + * for i0 in range(n0): */ - __pyx_v_allnan = 0; - goto __pyx_L7; - } - __pyx_L7:; - } + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":507 - * asum += ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = asum - * else: + /* "nansum.pyx":533 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * size = n0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0] */ - __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_10) { + __pyx_v_size = __pyx_v_n0; - /* "nansum.pyx":508 - * allnan = 0 - * if allnan == 0: - * y[i1] = asum # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN + /* "nansum.pyx":534 + * cdef Py_ssize_t n0 = dim[0] + * size = n0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0] + * return np.int32(asum) */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; - goto __pyx_L8; - } - /*else*/ { + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":510 - * y[i1] = asum - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y + /* "nansum.pyx":535 + * size = n0 + * for i0 in range(n0): + * asum += a[i0] # <<<<<<<<<<<<<< + * return np.int32(asum) * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; - } - __pyx_L8:; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); } - /* "nansum.pyx":511 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nansum.pyx":536 + * for i0 in range(n0): + * asum += a[i0] + * return np.int32(asum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int32); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_From_npy_int32(__pyx_v_asum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; goto __pyx_L0; - /* "nansum.pyx":487 + /* "nansum.pyx":525 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":515 +/* "nansum.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_35nansum_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_34nansum_2d_float_axis1[] = "nansum_2d_float_axis1(ndarray a)\nSum of 2d array with dtype=float along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_35nansum_2d_float_axis1 = {"nansum_2d_float_axis1", (PyCFunction)__pyx_pw_6nansum_35nansum_2d_float_axis1, METH_O, __pyx_doc_6nansum_34nansum_2d_float_axis1}; -static PyObject *__pyx_pw_6nansum_35nansum_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_35nansum_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_34nansum_1d_int64_axisNone[] = "nansum_1d_int64_axisNone(ndarray a)\nSum of 1d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_35nansum_1d_int64_axisNone = {"nansum_1d_int64_axisNone", (PyCFunction)__pyx_pw_6nansum_35nansum_1d_int64_axisNone, METH_O, __pyx_doc_6nansum_34nansum_1d_int64_axisNone}; +static PyObject *__pyx_pw_6nansum_35nansum_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_float_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_34nansum_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_1d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_34nansum_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6571,310 +6833,192 @@ static PyObject *__pyx_pw_6nansum_35nansum_2d_float_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nansum_34nansum_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_6nansum_34nansum_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int64_t __pyx_v_asum; + CYTHON_UNUSED Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_float_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nansum_1d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nansum.pyx":517 - * def nansum_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_allnan = 1; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nansum.pyx":518 - * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef int allnan = 1 - * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + /* "nansum.pyx":542 + * def nansum_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): + * "Sum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.int64_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0; - /* "nansum.pyx":521 - * cdef Py_ssize_t i0, i1 + /* "nansum.pyx":546 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":522 + /* "nansum.pyx":547 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * size = n0 + * for i0 in range(n0): */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":523 + /* "nansum.pyx":548 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nansum.pyx":524 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nansum.pyx":525 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) + * size = n0 # <<<<<<<<<<<<<< * for i0 in range(n0): + * asum += a[i0] */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_v_size = __pyx_v_n0; - /* "nansum.pyx":527 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + /* "nansum.pyx":549 + * cdef Py_ssize_t n0 = dim[0] + * size = n0 * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * allnan = 1 + * asum += a[i0] + * return np.int64(asum) */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":528 - * NPY_float, 0) + /* "nansum.pyx":550 + * size = n0 * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * allnan = 1 - * for i1 in range(n1): + * asum += a[i0] # <<<<<<<<<<<<<< + * return np.int64(asum) + * */ - __pyx_v_asum = 0.0; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + } - /* "nansum.pyx":529 + /* "nansum.pyx":551 * for i0 in range(n0): - * asum = 0 - * allnan = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_allnan = 1; - - /* "nansum.pyx":530 - * asum = 0 - * allnan = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nansum.pyx":531 - * allnan = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nansum.pyx":532 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * allnan = 0 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nansum.pyx":533 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nansum.pyx":534 - * if ai == ai: - * asum += ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = asum - */ - __pyx_v_allnan = 0; - goto __pyx_L7; - } - __pyx_L7:; - } - - /* "nansum.pyx":535 - * asum += ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = asum - * else: - */ - __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_10) { - - /* "nansum.pyx":536 - * allnan = 0 - * if allnan == 0: - * y[i0] = asum # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; - goto __pyx_L8; - } - /*else*/ { - - /* "nansum.pyx":538 - * y[i0] = asum - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y + * asum += a[i0] + * return np.int64(asum) # <<<<<<<<<<<<<< * + * @cython.boundscheck(False) */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_From_npy_int64(__pyx_v_asum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_L8:; } - - /* "nansum.pyx":539 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + if (!__pyx_t_7) { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; goto __pyx_L0; - /* "nansum.pyx":515 + /* "nansum.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":543 +/* "nansum.pyx":555 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.int_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_37nansum_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_36nansum_2d_float32_axis0[] = "nansum_2d_float32_axis0(ndarray a)\nSum of 2d array with dtype=float32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_37nansum_2d_float32_axis0 = {"nansum_2d_float32_axis0", (PyCFunction)__pyx_pw_6nansum_37nansum_2d_float32_axis0, METH_O, __pyx_doc_6nansum_36nansum_2d_float32_axis0}; -static PyObject *__pyx_pw_6nansum_37nansum_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_37nansum_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_36nansum_2d_int_axisNone[] = "nansum_2d_int_axisNone(ndarray a)\nSum of 2d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_37nansum_2d_int_axisNone = {"nansum_2d_int_axisNone", (PyCFunction)__pyx_pw_6nansum_37nansum_2d_int_axisNone, METH_O, __pyx_doc_6nansum_36nansum_2d_int_axisNone}; +static PyObject *__pyx_pw_6nansum_37nansum_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_36nansum_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_36nansum_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6885,70 +7029,53 @@ static PyObject *__pyx_pw_6nansum_37nansum_2d_float32_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nansum_36nansum_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nansum_36nansum_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int_t __pyx_v_asum; + CYTHON_UNUSED Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_float32_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nansum_2d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":545 - * def nansum_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_allnan = 1; - - /* "nansum.pyx":546 - * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef int allnan = 1 - * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nansum.pyx":557 + * def nansum_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): + * "Sum of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.int_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0; - /* "nansum.pyx":549 + /* "nansum.pyx":561 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6957,238 +7084,164 @@ static PyObject *__pyx_pf_6nansum_36nansum_2d_float32_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":550 + /* "nansum.pyx":562 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":551 + /* "nansum.pyx":563 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * for i0 in range(n0): */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":552 + /* "nansum.pyx":564 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nansum.pyx":553 + /* "nansum.pyx":565 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nansum.pyx":555 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * allnan = 1 - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "nansum.pyx":556 - * NPY_float32, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0): - */ - __pyx_v_asum = 0.0; - - /* "nansum.pyx":557 - * for i1 in range(n1): - * asum = 0 - * allnan = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_allnan = 1; - - /* "nansum.pyx":558 - * asum = 0 - * allnan = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nansum.pyx":559 - * allnan = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nansum.pyx":560 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * allnan = 0 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nansum.pyx":561 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nansum.pyx":562 - * if ai == ai: - * asum += ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = asum - */ - __pyx_v_allnan = 0; - goto __pyx_L7; - } - __pyx_L7:; - } - - /* "nansum.pyx":563 - * asum += ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = asum - * else: + * size = n0 * n1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_10) { + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":564 - * allnan = 0 - * if allnan == 0: - * y[i1] = asum # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN + /* "nansum.pyx":566 + * size = n0 * n1 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * return np.int(asum) */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; - goto __pyx_L8; - } - /*else*/ { + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nansum.pyx":566 - * y[i1] = asum - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y + /* "nansum.pyx":567 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * return np.int(asum) * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); } - __pyx_L8:; } - /* "nansum.pyx":567 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nansum.pyx":568 + * for i1 in range(n1): + * asum += a[i0, i1] + * return np.int(asum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int_2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyInt_From_npy_long(__pyx_v_asum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "nansum.pyx":543 + /* "nansum.pyx":555 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.int_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":571 +/* "nansum.pyx":572 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_39nansum_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_38nansum_2d_float32_axis1[] = "nansum_2d_float32_axis1(ndarray a)\nSum of 2d array with dtype=float32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_39nansum_2d_float32_axis1 = {"nansum_2d_float32_axis1", (PyCFunction)__pyx_pw_6nansum_39nansum_2d_float32_axis1, METH_O, __pyx_doc_6nansum_38nansum_2d_float32_axis1}; -static PyObject *__pyx_pw_6nansum_39nansum_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_39nansum_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_38nansum_2d_int8_axisNone[] = "nansum_2d_int8_axisNone(ndarray a)\nSum of 2d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_39nansum_2d_int8_axisNone = {"nansum_2d_int8_axisNone", (PyCFunction)__pyx_pw_6nansum_39nansum_2d_int8_axisNone, METH_O, __pyx_doc_6nansum_38nansum_2d_int8_axisNone}; +static PyObject *__pyx_pw_6nansum_39nansum_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_float32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_38nansum_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_38nansum_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7199,70 +7252,53 @@ static PyObject *__pyx_pw_6nansum_39nansum_2d_float32_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nansum_38nansum_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nansum_38nansum_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int8_t __pyx_v_asum; + CYTHON_UNUSED Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_float32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nansum_2d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":573 - * def nansum_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_allnan = 1; - /* "nansum.pyx":574 - * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef int allnan = 1 - * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< + * def nansum_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): + * "Sum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.int8_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0; - /* "nansum.pyx":577 + /* "nansum.pyx":578 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7271,238 +7307,164 @@ static PyObject *__pyx_pf_6nansum_38nansum_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":578 + /* "nansum.pyx":579 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":579 + /* "nansum.pyx":580 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * for i0 in range(n0): */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":580 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":581 + * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nansum.pyx":583 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + /* "nansum.pyx":582 + * cdef Py_ssize_t n1 = dim[1] + * size = n0 * n1 * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * allnan = 1 - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "nansum.pyx":584 - * NPY_float32, 0) - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * allnan = 1 * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_v_asum = 0.0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":585 + /* "nansum.pyx":583 + * size = n0 * n1 * for i0 in range(n0): - * asum = 0 - * allnan = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_allnan = 1; - - /* "nansum.pyx":586 - * asum = 0 - * allnan = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nansum.pyx":587 - * allnan = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * asum += a[i0, i1] + * return np.int8(asum) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nansum.pyx":588 + /* "nansum.pyx":584 + * for i0 in range(n0): * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * allnan = 0 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nansum.pyx":589 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nansum.pyx":590 - * if ai == ai: - * asum += ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = asum - */ - __pyx_v_allnan = 0; - goto __pyx_L7; - } - __pyx_L7:; - } - - /* "nansum.pyx":591 - * asum += ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = asum - * else: - */ - __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_10) { - - /* "nansum.pyx":592 - * allnan = 0 - * if allnan == 0: - * y[i0] = asum # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; - goto __pyx_L8; - } - /*else*/ { - - /* "nansum.pyx":594 - * y[i0] = asum - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * return np.int8(asum) * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); } - __pyx_L8:; } - /* "nansum.pyx":595 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nansum.pyx":585 + * for i1 in range(n1): + * asum += a[i0, i1] + * return np.int8(asum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyInt_From_npy_int8(__pyx_v_asum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "nansum.pyx":571 + /* "nansum.pyx":572 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":599 +/* "nansum.pyx":589 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_41nansum_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_40nansum_2d_float64_axis0[] = "nansum_2d_float64_axis0(ndarray a)\nSum of 2d array with dtype=float64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_41nansum_2d_float64_axis0 = {"nansum_2d_float64_axis0", (PyCFunction)__pyx_pw_6nansum_41nansum_2d_float64_axis0, METH_O, __pyx_doc_6nansum_40nansum_2d_float64_axis0}; -static PyObject *__pyx_pw_6nansum_41nansum_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_41nansum_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_40nansum_2d_int32_axisNone[] = "nansum_2d_int32_axisNone(ndarray a)\nSum of 2d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_41nansum_2d_int32_axisNone = {"nansum_2d_int32_axisNone", (PyCFunction)__pyx_pw_6nansum_41nansum_2d_int32_axisNone, METH_O, __pyx_doc_6nansum_40nansum_2d_int32_axisNone}; +static PyObject *__pyx_pw_6nansum_41nansum_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_40nansum_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_40nansum_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7513,70 +7475,53 @@ static PyObject *__pyx_pw_6nansum_41nansum_2d_float64_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nansum_40nansum_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nansum_40nansum_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int32_t __pyx_v_asum; + CYTHON_UNUSED Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_float64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nansum_2d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":601 - * def nansum_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_allnan = 1; - - /* "nansum.pyx":602 - * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef int allnan = 1 - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nansum.pyx":591 + * def nansum_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): + * "Sum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.int32_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0; - /* "nansum.pyx":605 + /* "nansum.pyx":595 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7585,238 +7530,164 @@ static PyObject *__pyx_pf_6nansum_40nansum_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":606 + /* "nansum.pyx":596 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":607 + /* "nansum.pyx":597 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * for i0 in range(n0): */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":608 + /* "nansum.pyx":598 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nansum.pyx":609 + /* "nansum.pyx":599 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nansum.pyx":611 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * allnan = 1 - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "nansum.pyx":612 - * NPY_float64, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0): - */ - __pyx_v_asum = 0.0; - - /* "nansum.pyx":613 - * for i1 in range(n1): - * asum = 0 - * allnan = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_allnan = 1; - - /* "nansum.pyx":614 - * asum = 0 - * allnan = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nansum.pyx":615 - * allnan = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nansum.pyx":616 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * allnan = 0 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nansum.pyx":617 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nansum.pyx":618 - * if ai == ai: - * asum += ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = asum - */ - __pyx_v_allnan = 0; - goto __pyx_L7; - } - __pyx_L7:; - } - - /* "nansum.pyx":619 - * asum += ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = asum - * else: + * size = n0 * n1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_10) { + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":620 - * allnan = 0 - * if allnan == 0: - * y[i1] = asum # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; - goto __pyx_L8; - } - /*else*/ { + /* "nansum.pyx":600 + * size = n0 * n1 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * return np.int32(asum) + */ + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nansum.pyx":622 - * y[i1] = asum - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y + /* "nansum.pyx":601 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * return np.int32(asum) * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); } - __pyx_L8:; } - /* "nansum.pyx":623 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nansum.pyx":602 + * for i1 in range(n1): + * asum += a[i0, i1] + * return np.int32(asum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyInt_From_npy_int32(__pyx_v_asum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "nansum.pyx":599 + /* "nansum.pyx":589 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":627 +/* "nansum.pyx":606 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_43nansum_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_42nansum_2d_float64_axis1[] = "nansum_2d_float64_axis1(ndarray a)\nSum of 2d array with dtype=float64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_43nansum_2d_float64_axis1 = {"nansum_2d_float64_axis1", (PyCFunction)__pyx_pw_6nansum_43nansum_2d_float64_axis1, METH_O, __pyx_doc_6nansum_42nansum_2d_float64_axis1}; -static PyObject *__pyx_pw_6nansum_43nansum_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_43nansum_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_42nansum_2d_int64_axisNone[] = "nansum_2d_int64_axisNone(ndarray a)\nSum of 2d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_43nansum_2d_int64_axisNone = {"nansum_2d_int64_axisNone", (PyCFunction)__pyx_pw_6nansum_43nansum_2d_int64_axisNone, METH_O, __pyx_doc_6nansum_42nansum_2d_int64_axisNone}; +static PyObject *__pyx_pw_6nansum_43nansum_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_float64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_42nansum_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_42nansum_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7827,70 +7698,53 @@ static PyObject *__pyx_pw_6nansum_43nansum_2d_float64_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nansum_42nansum_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nansum_42nansum_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int64_t __pyx_v_asum; + CYTHON_UNUSED Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_float64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nansum_2d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":629 - * def nansum_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_allnan = 1; - - /* "nansum.pyx":630 - * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef int allnan = 1 - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nansum.pyx":608 + * def nansum_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): + * "Sum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.int64_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0; - /* "nansum.pyx":633 + /* "nansum.pyx":612 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7899,238 +7753,164 @@ static PyObject *__pyx_pf_6nansum_42nansum_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":634 + /* "nansum.pyx":613 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":635 + /* "nansum.pyx":614 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * for i0 in range(n0): */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":636 + /* "nansum.pyx":615 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nansum.pyx":637 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nansum.pyx":639 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * allnan = 1 - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "nansum.pyx":640 - * NPY_float64, 0) - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * allnan = 1 - * for i1 in range(n1): - */ - __pyx_v_asum = 0.0; - - /* "nansum.pyx":641 + * size = n0 * n1 # <<<<<<<<<<<<<< * for i0 in range(n0): - * asum = 0 - * allnan = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_allnan = 1; - - /* "nansum.pyx":642 - * asum = 0 - * allnan = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nansum.pyx":643 - * allnan = 1 * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nansum.pyx":644 + /* "nansum.pyx":616 + * cdef Py_ssize_t n1 = dim[1] + * size = n0 * n1 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * allnan = 0 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nansum.pyx":645 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nansum.pyx":646 - * if ai == ai: - * asum += ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = asum - */ - __pyx_v_allnan = 0; - goto __pyx_L7; - } - __pyx_L7:; - } - - /* "nansum.pyx":647 - * asum += ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = asum - * else: + * asum += a[i0, i1] */ - __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_10) { + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":648 - * allnan = 0 - * if allnan == 0: - * y[i0] = asum # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN + /* "nansum.pyx":617 + * size = n0 * n1 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * return np.int64(asum) */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; - goto __pyx_L8; - } - /*else*/ { + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nansum.pyx":650 - * y[i0] = asum - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y + /* "nansum.pyx":618 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * return np.int64(asum) * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); } - __pyx_L8:; } - /* "nansum.pyx":651 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nansum.pyx":619 + * for i1 in range(n1): + * asum += a[i0, i1] + * return np.int64(asum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyInt_From_npy_int64(__pyx_v_asum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "nansum.pyx":627 + /* "nansum.pyx":606 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":655 +/* "nansum.pyx":623 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nansum_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.int_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_45nansum_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_44nansum_1d_int_axisNone[] = "nansum_1d_int_axisNone(ndarray a)\nSum of 1d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_45nansum_1d_int_axisNone = {"nansum_1d_int_axisNone", (PyCFunction)__pyx_pw_6nansum_45nansum_1d_int_axisNone, METH_O, __pyx_doc_6nansum_44nansum_1d_int_axisNone}; -static PyObject *__pyx_pw_6nansum_45nansum_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_45nansum_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_44nansum_2d_int_axis0[] = "nansum_2d_int_axis0(ndarray a)\nSum of 2d array with dtype=int along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_45nansum_2d_int_axis0 = {"nansum_2d_int_axis0", (PyCFunction)__pyx_pw_6nansum_45nansum_2d_int_axis0, METH_O, __pyx_doc_6nansum_44nansum_2d_int_axis0}; +static PyObject *__pyx_pw_6nansum_45nansum_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_1d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_44nansum_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_44nansum_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8141,192 +7921,233 @@ static PyObject *__pyx_pw_6nansum_45nansum_1d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nansum_44nansum_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nansum_44nansum_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_int_t __pyx_v_asum; - CYTHON_UNUSED Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_1d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":657 - * def nansum_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): - * "Sum of 1d array with dtype=int along axis=None ignoring NaNs." + /* "nansum.pyx":625 + * def nansum_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Sum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.int_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0; - /* "nansum.pyx":661 - * cdef Py_ssize_t i0 + /* "nansum.pyx":628 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":662 + /* "nansum.pyx":629 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":663 + /* "nansum.pyx":630 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":664 + /* "nansum.pyx":631 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0] - * return np.int(asum) + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":665 - * size = n0 - * for i0 in range(n0): - * asum += a[i0] # <<<<<<<<<<<<<< - * return np.int(asum) - * + /* "nansum.pyx":632 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int, 0) + * for i1 in range(n1): */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nansum.pyx":666 - * for i0 in range(n0): - * asum += a[i0] - * return np.int(asum) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + /* "nansum.pyx":634 + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int_2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_asum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "nansum.pyx":635 + * NPY_int, 0) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0; + + /* "nansum.pyx":636 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i1] = asum + */ + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; + + /* "nansum.pyx":637 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i1] = asum + * return y + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); } + + /* "nansum.pyx":638 + * for i0 in range(n0): + * asum += a[i0, i1] + * y[i1] = asum # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; } - if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + + /* "nansum.pyx":639 + * asum += a[i0, i1] + * y[i1] = asum + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":655 + /* "nansum.pyx":623 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nansum_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.int_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":670 +/* "nansum.pyx":643 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int8 along axis=None ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=1 ignoring NaNs." + * cdef np.int_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_47nansum_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_46nansum_1d_int8_axisNone[] = "nansum_1d_int8_axisNone(ndarray a)\nSum of 1d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_47nansum_1d_int8_axisNone = {"nansum_1d_int8_axisNone", (PyCFunction)__pyx_pw_6nansum_47nansum_1d_int8_axisNone, METH_O, __pyx_doc_6nansum_46nansum_1d_int8_axisNone}; -static PyObject *__pyx_pw_6nansum_47nansum_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_47nansum_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_46nansum_2d_int_axis1[] = "nansum_2d_int_axis1(ndarray a)\nSum of 2d array with dtype=int along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_47nansum_2d_int_axis1 = {"nansum_2d_int_axis1", (PyCFunction)__pyx_pw_6nansum_47nansum_2d_int_axis1, METH_O, __pyx_doc_6nansum_46nansum_2d_int_axis1}; +static PyObject *__pyx_pw_6nansum_47nansum_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_1d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_46nansum_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_46nansum_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8337,192 +8158,233 @@ static PyObject *__pyx_pw_6nansum_47nansum_1d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nansum_46nansum_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int8_t __pyx_v_asum; - CYTHON_UNUSED Py_ssize_t __pyx_v_size; +static PyObject *__pyx_pf_6nansum_46nansum_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int_t __pyx_v_asum; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_1d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":672 - * def nansum_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): - * "Sum of 1d array with dtype=int8 along axis=None ignoring NaNs." - * cdef np.int8_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + /* "nansum.pyx":645 + * def nansum_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Sum of 2d array with dtype=int along axis=1 ignoring NaNs." + * cdef np.int_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0; - /* "nansum.pyx":676 - * cdef Py_ssize_t i0 + /* "nansum.pyx":648 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":677 + /* "nansum.pyx":649 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":678 + /* "nansum.pyx":650 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":679 + /* "nansum.pyx":651 * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "nansum.pyx":652 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nansum.pyx":654 + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0] - * return np.int8(asum) + * asum = 0 + * for i1 in range(n1): */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nansum.pyx":680 - * size = n0 + /* "nansum.pyx":655 + * NPY_int, 0) * for i0 in range(n0): - * asum += a[i0] # <<<<<<<<<<<<<< - * return np.int8(asum) + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0; + + /* "nansum.pyx":656 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i0] = asum + */ + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; + + /* "nansum.pyx":657 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i0] = asum + * return y + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nansum.pyx":658 + * for i1 in range(n1): + * asum += a[i0, i1] + * y[i0] = asum # <<<<<<<<<<<<<< + * return y * */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; } - /* "nansum.pyx":681 - * for i0 in range(n0): - * asum += a[i0] - * return np.int8(asum) # <<<<<<<<<<<<<< + /* "nansum.pyx":659 + * asum += a[i0, i1] + * y[i0] = asum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_From_npy_int8(__pyx_v_asum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":670 + /* "nansum.pyx":643 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int8 along axis=None ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=1 ignoring NaNs." + * cdef np.int_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":685 +/* "nansum.pyx":663 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int32 along axis=None ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_49nansum_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_48nansum_1d_int32_axisNone[] = "nansum_1d_int32_axisNone(ndarray a)\nSum of 1d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_49nansum_1d_int32_axisNone = {"nansum_1d_int32_axisNone", (PyCFunction)__pyx_pw_6nansum_49nansum_1d_int32_axisNone, METH_O, __pyx_doc_6nansum_48nansum_1d_int32_axisNone}; -static PyObject *__pyx_pw_6nansum_49nansum_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_49nansum_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_48nansum_2d_int8_axis0[] = "nansum_2d_int8_axis0(ndarray a)\nSum of 2d array with dtype=int8 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_49nansum_2d_int8_axis0 = {"nansum_2d_int8_axis0", (PyCFunction)__pyx_pw_6nansum_49nansum_2d_int8_axis0, METH_O, __pyx_doc_6nansum_48nansum_2d_int8_axis0}; +static PyObject *__pyx_pw_6nansum_49nansum_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_1d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_48nansum_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_48nansum_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8533,192 +8395,233 @@ static PyObject *__pyx_pw_6nansum_49nansum_1d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nansum_48nansum_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int32_t __pyx_v_asum; - CYTHON_UNUSED Py_ssize_t __pyx_v_size; +static PyObject *__pyx_pf_6nansum_48nansum_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int8_t __pyx_v_asum; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_1d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_int8_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":687 - * def nansum_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): - * "Sum of 1d array with dtype=int32 along axis=None ignoring NaNs." - * cdef np.int32_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + /* "nansum.pyx":665 + * def nansum_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Sum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * cdef np.int8_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0; - /* "nansum.pyx":691 - * cdef Py_ssize_t i0 + /* "nansum.pyx":668 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":692 + /* "nansum.pyx":669 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":693 + /* "nansum.pyx":670 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":694 + /* "nansum.pyx":671 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0] - * return np.int32(asum) + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":695 - * size = n0 - * for i0 in range(n0): - * asum += a[i0] # <<<<<<<<<<<<<< - * return np.int32(asum) + /* "nansum.pyx":672 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int8, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nansum.pyx":674 + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): + */ + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "nansum.pyx":675 + * NPY_int8, 0) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0; + + /* "nansum.pyx":676 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i1] = asum + */ + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; + + /* "nansum.pyx":677 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i1] = asum + * return y + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nansum.pyx":678 + * for i0 in range(n0): + * asum += a[i0, i1] + * y[i1] = asum # <<<<<<<<<<<<<< + * return y * */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; } - /* "nansum.pyx":696 - * for i0 in range(n0): - * asum += a[i0] - * return np.int32(asum) # <<<<<<<<<<<<<< + /* "nansum.pyx":679 + * asum += a[i0, i1] + * y[i1] = asum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int32); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_From_npy_int32(__pyx_v_asum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":685 + /* "nansum.pyx":663 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int32 along axis=None ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":700 +/* "nansum.pyx":683 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int64 along axis=None ignoring NaNs." - * cdef np.int64_t asum = 0, ai + * def nansum_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_51nansum_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_50nansum_1d_int64_axisNone[] = "nansum_1d_int64_axisNone(ndarray a)\nSum of 1d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_51nansum_1d_int64_axisNone = {"nansum_1d_int64_axisNone", (PyCFunction)__pyx_pw_6nansum_51nansum_1d_int64_axisNone, METH_O, __pyx_doc_6nansum_50nansum_1d_int64_axisNone}; -static PyObject *__pyx_pw_6nansum_51nansum_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_51nansum_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_50nansum_2d_int8_axis1[] = "nansum_2d_int8_axis1(ndarray a)\nSum of 2d array with dtype=int8 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_51nansum_2d_int8_axis1 = {"nansum_2d_int8_axis1", (PyCFunction)__pyx_pw_6nansum_51nansum_2d_int8_axis1, METH_O, __pyx_doc_6nansum_50nansum_2d_int8_axis1}; +static PyObject *__pyx_pw_6nansum_51nansum_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_1d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_50nansum_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int8_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_50nansum_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8729,192 +8632,233 @@ static PyObject *__pyx_pw_6nansum_51nansum_1d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nansum_50nansum_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int64_t __pyx_v_asum; - CYTHON_UNUSED Py_ssize_t __pyx_v_size; +static PyObject *__pyx_pf_6nansum_50nansum_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int8_t __pyx_v_asum; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_1d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_int8_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":702 - * def nansum_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): - * "Sum of 1d array with dtype=int64 along axis=None ignoring NaNs." - * cdef np.int64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + /* "nansum.pyx":685 + * def nansum_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Sum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * cdef np.int8_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0; - /* "nansum.pyx":706 - * cdef Py_ssize_t i0 + /* "nansum.pyx":688 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":707 + /* "nansum.pyx":689 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":708 + /* "nansum.pyx":690 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":709 + /* "nansum.pyx":691 * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "nansum.pyx":692 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int8, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nansum.pyx":694 + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0] - * return np.int64(asum) + * asum = 0 + * for i1 in range(n1): */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nansum.pyx":710 - * size = n0 + /* "nansum.pyx":695 + * NPY_int8, 0) * for i0 in range(n0): - * asum += a[i0] # <<<<<<<<<<<<<< - * return np.int64(asum) + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0; + + /* "nansum.pyx":696 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i0] = asum + */ + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; + + /* "nansum.pyx":697 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i0] = asum + * return y + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nansum.pyx":698 + * for i1 in range(n1): + * asum += a[i0, i1] + * y[i0] = asum # <<<<<<<<<<<<<< + * return y * */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; } - /* "nansum.pyx":711 - * for i0 in range(n0): - * asum += a[i0] - * return np.int64(asum) # <<<<<<<<<<<<<< + /* "nansum.pyx":699 + * asum += a[i0, i1] + * y[i0] = asum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_From_npy_int64(__pyx_v_asum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":700 + /* "nansum.pyx":683 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int64 along axis=None ignoring NaNs." - * cdef np.int64_t asum = 0, ai + * def nansum_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":715 +/* "nansum.pyx":703 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=None ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_53nansum_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_52nansum_2d_int_axisNone[] = "nansum_2d_int_axisNone(ndarray a)\nSum of 2d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_53nansum_2d_int_axisNone = {"nansum_2d_int_axisNone", (PyCFunction)__pyx_pw_6nansum_53nansum_2d_int_axisNone, METH_O, __pyx_doc_6nansum_52nansum_2d_int_axisNone}; -static PyObject *__pyx_pw_6nansum_53nansum_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_53nansum_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_52nansum_2d_int32_axis0[] = "nansum_2d_int32_axis0(ndarray a)\nSum of 2d array with dtype=int32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_53nansum_2d_int32_axis0 = {"nansum_2d_int32_axis0", (PyCFunction)__pyx_pw_6nansum_53nansum_2d_int32_axis0, METH_O, __pyx_doc_6nansum_52nansum_2d_int32_axis0}; +static PyObject *__pyx_pw_6nansum_53nansum_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_52nansum_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_52nansum_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8925,53 +8869,58 @@ static PyObject *__pyx_pw_6nansum_53nansum_2d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nansum_52nansum_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int_t __pyx_v_asum; - CYTHON_UNUSED Py_ssize_t __pyx_v_size; +static PyObject *__pyx_pf_6nansum_52nansum_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int32_t __pyx_v_asum; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_int32_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":717 - * def nansum_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): - * "Sum of 2d array with dtype=int along axis=None ignoring NaNs." - * cdef np.int_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size + /* "nansum.pyx":705 + * def nansum_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Sum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * cdef np.int32_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0; - /* "nansum.pyx":721 + /* "nansum.pyx":708 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8980,164 +8929,173 @@ static PyObject *__pyx_pf_6nansum_52nansum_2d_int_axisNone(CYTHON_UNUSED PyObjec */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":722 + /* "nansum.pyx":709 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":723 + /* "nansum.pyx":710 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":724 + /* "nansum.pyx":711 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":725 + /* "nansum.pyx":712 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int32, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nansum.pyx":714 + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): + */ + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "nansum.pyx":715 + * NPY_int32, 0) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * asum += a[i0, i1] */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_asum = 0; - /* "nansum.pyx":726 - * size = n0 * n1 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "nansum.pyx":716 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * asum += a[i0, i1] - * return np.int(asum) + * y[i1] = asum */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nansum.pyx":727 - * for i0 in range(n0): - * for i1 in range(n1): + /* "nansum.pyx":717 + * asum = 0 + * for i0 in range(n0): * asum += a[i0, i1] # <<<<<<<<<<<<<< - * return np.int(asum) - * + * y[i1] = asum + * return y */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); } + + /* "nansum.pyx":718 + * for i0 in range(n0): + * asum += a[i0, i1] + * y[i1] = asum # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; } - /* "nansum.pyx":728 - * for i1 in range(n1): + /* "nansum.pyx":719 * asum += a[i0, i1] - * return np.int(asum) # <<<<<<<<<<<<<< + * y[i1] = asum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int_2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyInt_From_npy_long(__pyx_v_asum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - } - } - if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_7); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":715 + /* "nansum.pyx":703 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=None ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":732 +/* "nansum.pyx":723 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=None ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_55nansum_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_54nansum_2d_int8_axisNone[] = "nansum_2d_int8_axisNone(ndarray a)\nSum of 2d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_55nansum_2d_int8_axisNone = {"nansum_2d_int8_axisNone", (PyCFunction)__pyx_pw_6nansum_55nansum_2d_int8_axisNone, METH_O, __pyx_doc_6nansum_54nansum_2d_int8_axisNone}; -static PyObject *__pyx_pw_6nansum_55nansum_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_55nansum_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_54nansum_2d_int32_axis1[] = "nansum_2d_int32_axis1(ndarray a)\nSum of 2d array with dtype=int32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_55nansum_2d_int32_axis1 = {"nansum_2d_int32_axis1", (PyCFunction)__pyx_pw_6nansum_55nansum_2d_int32_axis1, METH_O, __pyx_doc_6nansum_54nansum_2d_int32_axis1}; +static PyObject *__pyx_pw_6nansum_55nansum_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_54nansum_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_54nansum_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9148,53 +9106,58 @@ static PyObject *__pyx_pw_6nansum_55nansum_2d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nansum_54nansum_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int8_t __pyx_v_asum; - CYTHON_UNUSED Py_ssize_t __pyx_v_size; +static PyObject *__pyx_pf_6nansum_54nansum_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int32_t __pyx_v_asum; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_int32_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":734 - * def nansum_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): - * "Sum of 2d array with dtype=int8 along axis=None ignoring NaNs." - * cdef np.int8_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size + /* "nansum.pyx":725 + * def nansum_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Sum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * cdef np.int32_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0; - /* "nansum.pyx":738 + /* "nansum.pyx":728 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9203,164 +9166,173 @@ static PyObject *__pyx_pf_6nansum_54nansum_2d_int8_axisNone(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":739 + /* "nansum.pyx":729 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":740 + /* "nansum.pyx":730 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":741 + /* "nansum.pyx":731 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":742 + /* "nansum.pyx":732 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int32, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nansum.pyx":734 + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; + + /* "nansum.pyx":735 + * NPY_int32, 0) + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * asum += a[i0, i1] */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_asum = 0; - /* "nansum.pyx":743 - * size = n0 * n1 + /* "nansum.pyx":736 * for i0 in range(n0): + * asum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * asum += a[i0, i1] - * return np.int8(asum) + * y[i0] = asum */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nansum.pyx":744 - * for i0 in range(n0): + /* "nansum.pyx":737 + * asum = 0 * for i1 in range(n1): * asum += a[i0, i1] # <<<<<<<<<<<<<< - * return np.int8(asum) - * + * y[i0] = asum + * return y */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); } - } - /* "nansum.pyx":745 + /* "nansum.pyx":738 * for i1 in range(n1): * asum += a[i0, i1] - * return np.int8(asum) # <<<<<<<<<<<<<< + * y[i0] = asum # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + } + + /* "nansum.pyx":739 + * asum += a[i0, i1] + * y[i0] = asum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyInt_From_npy_int8(__pyx_v_asum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - } - } - if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_7); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":732 + /* "nansum.pyx":723 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=None ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":749 +/* "nansum.pyx":743 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=None ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_57nansum_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_56nansum_2d_int32_axisNone[] = "nansum_2d_int32_axisNone(ndarray a)\nSum of 2d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_57nansum_2d_int32_axisNone = {"nansum_2d_int32_axisNone", (PyCFunction)__pyx_pw_6nansum_57nansum_2d_int32_axisNone, METH_O, __pyx_doc_6nansum_56nansum_2d_int32_axisNone}; -static PyObject *__pyx_pw_6nansum_57nansum_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_57nansum_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_56nansum_2d_int64_axis0[] = "nansum_2d_int64_axis0(ndarray a)\nSum of 2d array with dtype=int64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_57nansum_2d_int64_axis0 = {"nansum_2d_int64_axis0", (PyCFunction)__pyx_pw_6nansum_57nansum_2d_int64_axis0, METH_O, __pyx_doc_6nansum_56nansum_2d_int64_axis0}; +static PyObject *__pyx_pw_6nansum_57nansum_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_56nansum_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_56nansum_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9371,53 +9343,58 @@ static PyObject *__pyx_pw_6nansum_57nansum_2d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nansum_56nansum_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int32_t __pyx_v_asum; - CYTHON_UNUSED Py_ssize_t __pyx_v_size; +static PyObject *__pyx_pf_6nansum_56nansum_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int64_t __pyx_v_asum; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_int64_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":751 - * def nansum_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): - * "Sum of 2d array with dtype=int32 along axis=None ignoring NaNs." - * cdef np.int32_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size + /* "nansum.pyx":745 + * def nansum_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Sum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * cdef np.int64_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0; - /* "nansum.pyx":755 + /* "nansum.pyx":748 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9426,164 +9403,173 @@ static PyObject *__pyx_pf_6nansum_56nansum_2d_int32_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":756 + /* "nansum.pyx":749 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":757 + /* "nansum.pyx":750 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":758 + /* "nansum.pyx":751 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":759 + /* "nansum.pyx":752 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int64, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nansum.pyx":754 + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): + */ + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "nansum.pyx":755 + * NPY_int64, 0) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * asum += a[i0, i1] */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_asum = 0; - /* "nansum.pyx":760 - * size = n0 * n1 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "nansum.pyx":756 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * asum += a[i0, i1] - * return np.int32(asum) + * y[i1] = asum */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nansum.pyx":761 - * for i0 in range(n0): - * for i1 in range(n1): + /* "nansum.pyx":757 + * asum = 0 + * for i0 in range(n0): * asum += a[i0, i1] # <<<<<<<<<<<<<< - * return np.int32(asum) - * + * y[i1] = asum + * return y */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); } + + /* "nansum.pyx":758 + * for i0 in range(n0): + * asum += a[i0, i1] + * y[i1] = asum # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; } - /* "nansum.pyx":762 - * for i1 in range(n1): + /* "nansum.pyx":759 * asum += a[i0, i1] - * return np.int32(asum) # <<<<<<<<<<<<<< + * y[i1] = asum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyInt_From_npy_int32(__pyx_v_asum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - } - } - if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_7); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":749 + /* "nansum.pyx":743 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=None ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":766 +/* "nansum.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nansum_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.int64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_59nansum_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_58nansum_2d_int64_axisNone[] = "nansum_2d_int64_axisNone(ndarray a)\nSum of 2d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_59nansum_2d_int64_axisNone = {"nansum_2d_int64_axisNone", (PyCFunction)__pyx_pw_6nansum_59nansum_2d_int64_axisNone, METH_O, __pyx_doc_6nansum_58nansum_2d_int64_axisNone}; -static PyObject *__pyx_pw_6nansum_59nansum_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_59nansum_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_58nansum_2d_int64_axis1[] = "nansum_2d_int64_axis1(ndarray a)\nSum of 2d array with dtype=int64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_59nansum_2d_int64_axis1 = {"nansum_2d_int64_axis1", (PyCFunction)__pyx_pw_6nansum_59nansum_2d_int64_axis1, METH_O, __pyx_doc_6nansum_58nansum_2d_int64_axis1}; +static PyObject *__pyx_pw_6nansum_59nansum_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_58nansum_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_58nansum_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9594,53 +9580,58 @@ static PyObject *__pyx_pw_6nansum_59nansum_2d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nansum_58nansum_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nansum_58nansum_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_int64_t __pyx_v_asum; - CYTHON_UNUSED Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_int64_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":768 - * def nansum_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): - * "Sum of 2d array with dtype=int64 along axis=None ignoring NaNs." + /* "nansum.pyx":765 + * def nansum_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Sum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.int64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0; - /* "nansum.pyx":772 + /* "nansum.pyx":768 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9649,145 +9640,154 @@ static PyObject *__pyx_pf_6nansum_58nansum_2d_int64_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":773 + /* "nansum.pyx":769 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":774 + /* "nansum.pyx":770 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":775 + /* "nansum.pyx":771 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":776 + /* "nansum.pyx":772 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int64, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nansum.pyx":774 + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; + + /* "nansum.pyx":775 + * NPY_int64, 0) + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * asum += a[i0, i1] */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_asum = 0; - /* "nansum.pyx":777 - * size = n0 * n1 + /* "nansum.pyx":776 * for i0 in range(n0): + * asum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * asum += a[i0, i1] - * return np.int64(asum) + * y[i0] = asum */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nansum.pyx":778 - * for i0 in range(n0): + /* "nansum.pyx":777 + * asum = 0 * for i1 in range(n1): * asum += a[i0, i1] # <<<<<<<<<<<<<< - * return np.int64(asum) - * + * y[i0] = asum + * return y */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); } + + /* "nansum.pyx":778 + * for i1 in range(n1): + * asum += a[i0, i1] + * y[i0] = asum # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; } /* "nansum.pyx":779 - * for i1 in range(n1): * asum += a[i0, i1] - * return np.int64(asum) # <<<<<<<<<<<<<< + * y[i0] = asum + * return y # <<<<<<<<<<<<<< * * cdef dict nansum_dict = {} */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyInt_From_npy_int64(__pyx_v_asum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - } - } - if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_7); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":766 + /* "nansum.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nansum_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.int64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "nansum.pyx":818 - * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone + * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 * * def nansum_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nansum along axis 0." @@ -9855,7 +9855,7 @@ static PyObject *__pyx_pf_6nansum_60nansum_slow_axis0(CYTHON_UNUSED PyObject *__ goto __pyx_L0; /* "nansum.pyx":818 - * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone + * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 * * def nansum_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nansum along axis 0." @@ -12846,7 +12846,7 @@ static PyObject *__pyx_pf_6nansum_126nansum_slow_axisNone(CYTHON_UNUSED PyObject return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -12896,7 +12896,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -12909,7 +12909,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -12918,7 +12918,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -12927,7 +12927,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -12936,7 +12936,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -12946,7 +12946,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -12958,7 +12958,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -12969,7 +12969,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12985,7 +12985,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12997,7 +12997,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -13011,7 +13011,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -13027,7 +13027,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -13039,7 +13039,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -13053,7 +13053,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -13062,7 +13062,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -13071,7 +13071,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -13081,7 +13081,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -13090,7 +13090,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -13099,7 +13099,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -13110,7 +13110,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -13119,7 +13119,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -13132,7 +13132,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -13141,7 +13141,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -13152,7 +13152,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -13161,7 +13161,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -13170,7 +13170,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -13179,7 +13179,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -13188,7 +13188,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -13200,7 +13200,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -13209,7 +13209,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -13229,7 +13229,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -13245,7 +13245,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -13260,7 +13260,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -13270,7 +13270,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -13280,7 +13280,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -13303,7 +13303,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -13323,7 +13323,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -13337,7 +13337,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -13346,7 +13346,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -13357,7 +13357,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -13368,7 +13368,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -13379,7 +13379,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -13390,7 +13390,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -13401,7 +13401,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -13412,7 +13412,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -13423,7 +13423,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -13434,7 +13434,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -13445,7 +13445,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -13456,7 +13456,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -13467,7 +13467,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -13478,7 +13478,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -13489,7 +13489,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -13500,7 +13500,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -13511,7 +13511,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -13522,7 +13522,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -13534,7 +13534,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -13560,7 +13560,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -13569,7 +13569,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -13581,7 +13581,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -13590,7 +13590,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -13599,7 +13599,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -13608,7 +13608,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -13618,7 +13618,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -13628,7 +13628,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -13660,7 +13660,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -13684,7 +13684,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -13694,7 +13694,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -13706,7 +13706,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -13716,7 +13716,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -13728,7 +13728,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -13740,7 +13740,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -13757,7 +13757,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -13771,7 +13771,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -13790,7 +13790,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -13807,7 +13807,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -13821,7 +13821,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -13840,7 +13840,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13857,7 +13857,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -13871,7 +13871,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13890,7 +13890,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13907,7 +13907,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -13921,7 +13921,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13940,7 +13940,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13957,7 +13957,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -13971,7 +13971,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13990,7 +13990,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -14022,7 +14022,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -14031,7 +14031,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -14040,7 +14040,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -14062,7 +14062,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -14075,7 +14075,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -14114,7 +14114,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -14131,7 +14131,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -14145,7 +14145,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -14168,7 +14168,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -14188,7 +14188,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14202,7 +14202,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -14218,7 +14218,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -14227,7 +14227,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -14236,7 +14236,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -14247,7 +14247,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -14257,7 +14257,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -14267,7 +14267,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -14279,7 +14279,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -14289,7 +14289,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -14303,7 +14303,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -14321,7 +14321,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -14339,7 +14339,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -14357,7 +14357,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -14375,7 +14375,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -14393,7 +14393,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -14411,7 +14411,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -14429,7 +14429,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -14447,7 +14447,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -14465,7 +14465,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -14483,7 +14483,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -14501,7 +14501,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -14519,7 +14519,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -14537,7 +14537,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -14557,7 +14557,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -14577,7 +14577,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -14597,7 +14597,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -14616,7 +14616,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -14639,7 +14639,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -14651,7 +14651,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -14663,7 +14663,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -14673,7 +14673,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -14683,7 +14683,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -14708,7 +14708,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -14723,7 +14723,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -14734,7 +14734,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -14746,7 +14746,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -14755,7 +14755,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -14766,7 +14766,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -14775,7 +14775,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -14784,7 +14784,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -14796,7 +14796,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14810,7 +14810,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -14820,7 +14820,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -14834,7 +14834,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -14845,7 +14845,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14883,7 +14883,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -14897,6 +14896,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_u_Sum_of_array_elements_along_giv, __pyx_k_Sum_of_array_elements_along_giv, sizeof(__pyx_k_Sum_of_array_elements_along_giv), 0, 1, 0, 0}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -15023,7 +15023,7 @@ static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; @@ -15033,7 +15033,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -15044,7 +15044,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -15055,7 +15055,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -15066,7 +15066,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -15077,7 +15077,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -15088,7 +15088,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -15120,7 +15120,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":126 * return func(arr) @@ -15132,346 +15132,346 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_selector, 126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_selector, 126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":201 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_tuple__13 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__13 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int_axis0, 201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_float_axis0, 201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":221 + /* "nansum.pyx":229 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_tuple__15 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__15 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int_axis1, 221, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_float_axis1, 229, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":241 + /* "nansum.pyx":257 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_tuple__17 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__17 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int8_axis0, 241, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_float32_axis0, 257, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":261 + /* "nansum.pyx":285 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_tuple__19 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int8_axis1, 261, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_float32_axis1, 285, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":281 + /* "nansum.pyx":313 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_tuple__21 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int32_axis0, 281, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_float64_axis0, 313, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":301 + /* "nansum.pyx":341 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_tuple__23 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int32_axis1, 301, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_float64_axis1, 341, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":321 + /* "nansum.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.int64_t asum = 0, ai + * def nansum_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_tuple__25 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int64_axis0, 321, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_1d_float_axisNone, 369, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":341 + /* "nansum.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.int64_t asum = 0, ai + * def nansum_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_tuple__27 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int64_axis1, 341, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_1d_float32_axisNone, 389, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":361 + /* "nansum.pyx":409 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nansum_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__29 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_1d_float_axisNone, 361, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_1d_float64_axisNone, 409, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":381 + /* "nansum.pyx":429 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nansum_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__31 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_1d_float32_axisNone, 381, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_float_axisNone, 429, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":401 + /* "nansum.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nansum_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__33 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_1d_float64_axisNone, 401, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_float32_axisNone, 451, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":421 + /* "nansum.pyx":473 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nansum_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__35 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_float_axisNone, 421, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_float64_axisNone, 473, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":443 + /* "nansum.pyx":495 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.int_t asum = 0, ai */ - __pyx_tuple__37 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_float32_axisNone, 443, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_1d_int_axisNone, 495, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":465 + /* "nansum.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ - __pyx_tuple__39 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_float64_axisNone, 465, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_1d_int8_axisNone, 510, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":487 + /* "nansum.pyx":525 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ - __pyx_tuple__41 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_float_axis0, 487, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_1d_int32_axisNone, 525, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":515 + /* "nansum.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ - __pyx_tuple__43 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_float_axis1, 515, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_1d_int64_axisNone, 540, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":543 + /* "nansum.pyx":555 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.int_t asum = 0, ai */ - __pyx_tuple__45 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_float32_axis0, 543, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int_axisNone, 555, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":571 + /* "nansum.pyx":572 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ - __pyx_tuple__47 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_float32_axis1, 571, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int8_axisNone, 572, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":599 + /* "nansum.pyx":589 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ - __pyx_tuple__49 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_float64_axis0, 599, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int32_axisNone, 589, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":627 + /* "nansum.pyx":606 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ - __pyx_tuple__51 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_float64_axis1, 627, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int64_axisNone, 606, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":655 + /* "nansum.pyx":623 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nansum_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.int_t asum = 0, ai */ - __pyx_tuple__53 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_1d_int_axisNone, 655, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int_axis0, 623, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":670 + /* "nansum.pyx":643 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int8 along axis=None ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=1 ignoring NaNs." + * cdef np.int_t asum = 0, ai */ - __pyx_tuple__55 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_1d_int8_axisNone, 670, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int_axis1, 643, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":685 + /* "nansum.pyx":663 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int32 along axis=None ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ - __pyx_tuple__57 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_1d_int32_axisNone, 685, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int8_axis0, 663, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":700 + /* "nansum.pyx":683 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int64 along axis=None ignoring NaNs." - * cdef np.int64_t asum = 0, ai + * def nansum_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ - __pyx_tuple__59 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_1d_int64_axisNone, 700, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int8_axis1, 683, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":715 + /* "nansum.pyx":703 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=None ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ - __pyx_tuple__61 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int_axisNone, 715, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int32_axis0, 703, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":732 + /* "nansum.pyx":723 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=None ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ - __pyx_tuple__63 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int8_axisNone, 732, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int32_axis1, 723, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":749 + /* "nansum.pyx":743 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=None ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ - __pyx_tuple__65 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int32_axisNone, 749, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int64_axis0, 743, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":766 + /* "nansum.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nansum_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.int64_t asum = 0, ai */ - __pyx_tuple__67 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int64_axisNone, 766, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int64_axis1, 763, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":818 - * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone + * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 * * def nansum_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nansum along axis 0." @@ -15480,7 +15480,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis0, 818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis0, 818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":822 * return bn.slow.nansum(arr, axis=0) @@ -15492,7 +15492,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis1, 822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis1, 822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":826 * return bn.slow.nansum(arr, axis=1) @@ -15504,7 +15504,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis2, 826, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis2, 826, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":830 * return bn.slow.nansum(arr, axis=2) @@ -15516,7 +15516,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis3, 830, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis3, 830, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":834 * return bn.slow.nansum(arr, axis=3) @@ -15528,7 +15528,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis4, 834, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis4, 834, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":838 * return bn.slow.nansum(arr, axis=4) @@ -15540,7 +15540,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis5, 838, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis5, 838, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":842 * return bn.slow.nansum(arr, axis=5) @@ -15552,7 +15552,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis6, 842, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis6, 842, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":846 * return bn.slow.nansum(arr, axis=6) @@ -15564,7 +15564,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis7, 846, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis7, 846, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":850 * return bn.slow.nansum(arr, axis=7) @@ -15576,7 +15576,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis8, 850, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis8, 850, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":854 * return bn.slow.nansum(arr, axis=8) @@ -15588,7 +15588,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis9, 854, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis9, 854, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":858 * return bn.slow.nansum(arr, axis=9) @@ -15600,7 +15600,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis10, 858, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis10, 858, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":862 * return bn.slow.nansum(arr, axis=10) @@ -15612,7 +15612,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis11, 862, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis11, 862, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":866 * return bn.slow.nansum(arr, axis=11) @@ -15624,7 +15624,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis12, 866, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis12, 866, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":870 * return bn.slow.nansum(arr, axis=12) @@ -15636,7 +15636,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis13, 870, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis13, 870, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":874 * return bn.slow.nansum(arr, axis=13) @@ -15648,7 +15648,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis14, 874, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis14, 874, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":878 * return bn.slow.nansum(arr, axis=14) @@ -15660,7 +15660,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis15, 878, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis15, 878, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":882 * return bn.slow.nansum(arr, axis=15) @@ -15672,7 +15672,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis16, 882, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis16, 882, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":886 * return bn.slow.nansum(arr, axis=16) @@ -15684,7 +15684,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis17, 886, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis17, 886, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":890 * return bn.slow.nansum(arr, axis=17) @@ -15696,7 +15696,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis18, 890, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis18, 890, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":894 * return bn.slow.nansum(arr, axis=18) @@ -15708,7 +15708,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis19, 894, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis19, 894, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":898 * return bn.slow.nansum(arr, axis=19) @@ -15720,7 +15720,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis20, 898, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis20, 898, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":902 * return bn.slow.nansum(arr, axis=20) @@ -15732,7 +15732,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis21, 902, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis21, 902, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":906 * return bn.slow.nansum(arr, axis=21) @@ -15744,7 +15744,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis22, 906, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis22, 906, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":910 * return bn.slow.nansum(arr, axis=22) @@ -15756,7 +15756,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis23, 910, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis23, 910, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":914 * return bn.slow.nansum(arr, axis=23) @@ -15768,7 +15768,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis24, 914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis24, 914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":918 * return bn.slow.nansum(arr, axis=24) @@ -15780,7 +15780,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis25, 918, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis25, 918, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":922 * return bn.slow.nansum(arr, axis=25) @@ -15792,7 +15792,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis26, 922, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis26, 922, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":926 * return bn.slow.nansum(arr, axis=26) @@ -15804,7 +15804,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis27, 926, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis27, 926, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":930 * return bn.slow.nansum(arr, axis=27) @@ -15816,7 +15816,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis28, 930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis28, 930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":934 * return bn.slow.nansum(arr, axis=28) @@ -15828,7 +15828,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis29, 934, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis29, 934, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":938 * return bn.slow.nansum(arr, axis=29) @@ -15840,7 +15840,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis30, 938, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis30, 938, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":942 * return bn.slow.nansum(arr, axis=30) @@ -15852,7 +15852,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis31, 942, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis31, 942, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":946 * return bn.slow.nansum(arr, axis=31) @@ -15864,7 +15864,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis32, 946, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis32, 946, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":950 * return bn.slow.nansum(arr, axis=32) @@ -15876,7 +15876,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axisNone, 950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axisNone, 950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -16842,345 +16842,345 @@ PyMODINIT_FUNC PyInit_nansum(void) /* "nansum.pyx":201 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.int_t asum = 0, ai - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_5nansum_2d_int_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "nansum.pyx":221 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nansum_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.int_t asum = 0, ai - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_7nansum_2d_int_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "nansum.pyx":241 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nansum_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_9nansum_2d_int8_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_5nansum_2d_float_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":261 + /* "nansum.pyx":229 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_11nansum_2d_int8_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_7nansum_2d_float_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":281 + /* "nansum.pyx":257 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_13nansum_2d_int32_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_9nansum_2d_float32_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":301 + /* "nansum.pyx":285 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_15nansum_2d_int32_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_11nansum_2d_float32_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":321 + /* "nansum.pyx":313 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.int64_t asum = 0, ai + * def nansum_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_17nansum_2d_int64_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_13nansum_2d_float64_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":341 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.int64_t asum = 0, ai + * def nansum_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_19nansum_2d_int64_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_15nansum_2d_float64_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":361 + /* "nansum.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) * def nansum_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_21nansum_1d_float_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_17nansum_1d_float_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":381 + /* "nansum.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) * def nansum_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_23nansum_1d_float32_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_19nansum_1d_float32_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":401 + /* "nansum.pyx":409 * @cython.boundscheck(False) * @cython.wraparound(False) * def nansum_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_25nansum_1d_float64_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_21nansum_1d_float64_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":421 + /* "nansum.pyx":429 * @cython.boundscheck(False) * @cython.wraparound(False) * def nansum_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_27nansum_2d_float_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_23nansum_2d_float_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":443 + /* "nansum.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) * def nansum_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_29nansum_2d_float32_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_25nansum_2d_float32_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":465 + /* "nansum.pyx":473 * @cython.boundscheck(False) * @cython.wraparound(False) * def nansum_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_31nansum_2d_float64_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_27nansum_2d_float64_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":487 + /* "nansum.pyx":495 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.int_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_33nansum_2d_float_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_29nansum_1d_int_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":515 + /* "nansum.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_35nansum_2d_float_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_31nansum_1d_int8_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":543 + /* "nansum.pyx":525 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_37nansum_2d_float32_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_33nansum_1d_int32_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":571 + /* "nansum.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_39nansum_2d_float32_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_35nansum_1d_int64_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":599 + /* "nansum.pyx":555 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.int_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_41nansum_2d_float64_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_37nansum_2d_int_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":627 + /* "nansum.pyx":572 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_43nansum_2d_float64_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_39nansum_2d_int8_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":655 + /* "nansum.pyx":589 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int along axis=None ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_45nansum_1d_int_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_41nansum_2d_int32_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":670 + /* "nansum.pyx":606 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int8 along axis=None ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_47nansum_1d_int8_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_43nansum_2d_int64_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":685 + /* "nansum.pyx":623 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int32 along axis=None ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=0 ignoring NaNs." + * cdef np.int_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_49nansum_1d_int32_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_45nansum_2d_int_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":700 + /* "nansum.pyx":643 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int64 along axis=None ignoring NaNs." - * cdef np.int64_t asum = 0, ai + * def nansum_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=1 ignoring NaNs." + * cdef np.int_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_51nansum_1d_int64_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_47nansum_2d_int_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":715 + /* "nansum.pyx":663 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=None ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_53nansum_2d_int_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_49nansum_2d_int8_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":732 + /* "nansum.pyx":683 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nansum_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.int8_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_55nansum_2d_int8_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_51nansum_2d_int8_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":749 + /* "nansum.pyx":703 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nansum_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.int32_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_57nansum_2d_int32_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_53nansum_2d_int32_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":766 + /* "nansum.pyx":723 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nansum_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * cdef np.int32_t asum = 0, ai + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_55nansum_2d_int32_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "nansum.pyx":743 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nansum_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * cdef np.int64_t asum = 0, ai + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_57nansum_2d_int64_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "nansum.pyx":763 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nansum_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.int64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_59nansum_2d_int64_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_59nansum_2d_int64_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":781 - * return np.int64(asum) + * return y * * cdef dict nansum_dict = {} # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int, 0)] = nansum_2d_int_axis0 - * nansum_dict[(2, NPY_int, 1)] = nansum_2d_int_axis1 + * nansum_dict[(2, NPY_float, 0)] = nansum_2d_float_axis0 + * nansum_dict[(2, NPY_float, 1)] = nansum_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -17192,17 +17192,17 @@ PyMODINIT_FUNC PyInit_nansum(void) /* "nansum.pyx":782 * * cdef dict nansum_dict = {} - * nansum_dict[(2, NPY_int, 0)] = nansum_2d_int_axis0 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int, 1)] = nansum_2d_int_axis1 - * nansum_dict[(2, NPY_int8, 0)] = nansum_2d_int8_axis0 + * nansum_dict[(2, NPY_float, 0)] = nansum_2d_float_axis0 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float, 1)] = nansum_2d_float_axis1 + * nansum_dict[(2, NPY_float32, 0)] = nansum_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17221,18 +17221,18 @@ PyMODINIT_FUNC PyInit_nansum(void) /* "nansum.pyx":783 * cdef dict nansum_dict = {} - * nansum_dict[(2, NPY_int, 0)] = nansum_2d_int_axis0 - * nansum_dict[(2, NPY_int, 1)] = nansum_2d_int_axis1 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int8, 0)] = nansum_2d_int8_axis0 - * nansum_dict[(2, NPY_int8, 1)] = nansum_2d_int8_axis1 + * nansum_dict[(2, NPY_float, 0)] = nansum_2d_float_axis0 + * nansum_dict[(2, NPY_float, 1)] = nansum_2d_float_axis1 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float32, 0)] = nansum_2d_float32_axis0 + * nansum_dict[(2, NPY_float32, 1)] = nansum_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17250,19 +17250,19 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":784 - * nansum_dict[(2, NPY_int, 0)] = nansum_2d_int_axis0 - * nansum_dict[(2, NPY_int, 1)] = nansum_2d_int_axis1 - * nansum_dict[(2, NPY_int8, 0)] = nansum_2d_int8_axis0 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int8, 1)] = nansum_2d_int8_axis1 - * nansum_dict[(2, NPY_int32, 0)] = nansum_2d_int32_axis0 + * nansum_dict[(2, NPY_float, 0)] = nansum_2d_float_axis0 + * nansum_dict[(2, NPY_float, 1)] = nansum_2d_float_axis1 + * nansum_dict[(2, NPY_float32, 0)] = nansum_2d_float32_axis0 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float32, 1)] = nansum_2d_float32_axis1 + * nansum_dict[(2, NPY_float64, 0)] = nansum_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17280,19 +17280,19 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":785 - * nansum_dict[(2, NPY_int, 1)] = nansum_2d_int_axis1 - * nansum_dict[(2, NPY_int8, 0)] = nansum_2d_int8_axis0 - * nansum_dict[(2, NPY_int8, 1)] = nansum_2d_int8_axis1 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int32, 0)] = nansum_2d_int32_axis0 - * nansum_dict[(2, NPY_int32, 1)] = nansum_2d_int32_axis1 + * nansum_dict[(2, NPY_float, 1)] = nansum_2d_float_axis1 + * nansum_dict[(2, NPY_float32, 0)] = nansum_2d_float32_axis0 + * nansum_dict[(2, NPY_float32, 1)] = nansum_2d_float32_axis1 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float64, 0)] = nansum_2d_float64_axis0 + * nansum_dict[(2, NPY_float64, 1)] = nansum_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17310,19 +17310,19 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":786 - * nansum_dict[(2, NPY_int8, 0)] = nansum_2d_int8_axis0 - * nansum_dict[(2, NPY_int8, 1)] = nansum_2d_int8_axis1 - * nansum_dict[(2, NPY_int32, 0)] = nansum_2d_int32_axis0 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int32, 1)] = nansum_2d_int32_axis1 - * nansum_dict[(2, NPY_int64, 0)] = nansum_2d_int64_axis0 + * nansum_dict[(2, NPY_float32, 0)] = nansum_2d_float32_axis0 + * nansum_dict[(2, NPY_float32, 1)] = nansum_2d_float32_axis1 + * nansum_dict[(2, NPY_float64, 0)] = nansum_2d_float64_axis0 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float64, 1)] = nansum_2d_float64_axis1 + * nansum_dict[(1, NPY_float, 0)] = nansum_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17340,19 +17340,19 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":787 - * nansum_dict[(2, NPY_int8, 1)] = nansum_2d_int8_axis1 - * nansum_dict[(2, NPY_int32, 0)] = nansum_2d_int32_axis0 - * nansum_dict[(2, NPY_int32, 1)] = nansum_2d_int32_axis1 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int64, 0)] = nansum_2d_int64_axis0 - * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 + * nansum_dict[(2, NPY_float32, 1)] = nansum_2d_float32_axis1 + * nansum_dict[(2, NPY_float64, 0)] = nansum_2d_float64_axis0 + * nansum_dict[(2, NPY_float64, 1)] = nansum_2d_float64_axis1 # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float, 0)] = nansum_1d_float_axisNone + * nansum_dict[(1, NPY_float, None)] = nansum_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17370,25 +17370,25 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":788 - * nansum_dict[(2, NPY_int32, 0)] = nansum_2d_int32_axis0 - * nansum_dict[(2, NPY_int32, 1)] = nansum_2d_int32_axis1 - * nansum_dict[(2, NPY_int64, 0)] = nansum_2d_int64_axis0 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 - * nansum_dict[(1, NPY_float, 0)] = nansum_1d_float_axisNone + * nansum_dict[(2, NPY_float64, 0)] = nansum_2d_float64_axis0 + * nansum_dict[(2, NPY_float64, 1)] = nansum_2d_float64_axis1 + * nansum_dict[(1, NPY_float, 0)] = nansum_1d_float_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float, None)] = nansum_1d_float_axisNone + * nansum_dict[(1, NPY_float32, 0)] = nansum_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -17400,49 +17400,49 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":789 - * nansum_dict[(2, NPY_int32, 1)] = nansum_2d_int32_axis1 - * nansum_dict[(2, NPY_int64, 0)] = nansum_2d_int64_axis0 - * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float64, 1)] = nansum_2d_float64_axis1 * nansum_dict[(1, NPY_float, 0)] = nansum_1d_float_axisNone - * nansum_dict[(1, NPY_float, None)] = nansum_1d_float_axisNone + * nansum_dict[(1, NPY_float, None)] = nansum_1d_float_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float32, 0)] = nansum_1d_float32_axisNone + * nansum_dict[(1, NPY_float32, None)] = nansum_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":790 - * nansum_dict[(2, NPY_int64, 0)] = nansum_2d_int64_axis0 - * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 - * nansum_dict[(1, NPY_float, 0)] = nansum_1d_float_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float, 0)] = nansum_1d_float_axisNone * nansum_dict[(1, NPY_float, None)] = nansum_1d_float_axisNone - * nansum_dict[(1, NPY_float32, 0)] = nansum_1d_float32_axisNone + * nansum_dict[(1, NPY_float32, 0)] = nansum_1d_float32_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float32, None)] = nansum_1d_float32_axisNone + * nansum_dict[(1, NPY_float64, 0)] = nansum_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17460,19 +17460,19 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":791 - * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 - * nansum_dict[(1, NPY_float, 0)] = nansum_1d_float_axisNone - * nansum_dict[(1, NPY_float, None)] = nansum_1d_float_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float, None)] = nansum_1d_float_axisNone * nansum_dict[(1, NPY_float32, 0)] = nansum_1d_float32_axisNone - * nansum_dict[(1, NPY_float32, None)] = nansum_1d_float32_axisNone + * nansum_dict[(1, NPY_float32, None)] = nansum_1d_float32_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float64, 0)] = nansum_1d_float64_axisNone + * nansum_dict[(1, NPY_float64, None)] = nansum_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17490,19 +17490,19 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":792 - * nansum_dict[(1, NPY_float, 0)] = nansum_1d_float_axisNone - * nansum_dict[(1, NPY_float, None)] = nansum_1d_float_axisNone - * nansum_dict[(1, NPY_float32, 0)] = nansum_1d_float32_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float32, 0)] = nansum_1d_float32_axisNone * nansum_dict[(1, NPY_float32, None)] = nansum_1d_float32_axisNone - * nansum_dict[(1, NPY_float64, 0)] = nansum_1d_float64_axisNone + * nansum_dict[(1, NPY_float64, 0)] = nansum_1d_float64_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float64, None)] = nansum_1d_float64_axisNone + * nansum_dict[(2, NPY_float, None)] = nansum_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17520,19 +17520,19 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":793 - * nansum_dict[(1, NPY_float, None)] = nansum_1d_float_axisNone - * nansum_dict[(1, NPY_float32, 0)] = nansum_1d_float32_axisNone - * nansum_dict[(1, NPY_float32, None)] = nansum_1d_float32_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float32, None)] = nansum_1d_float32_axisNone * nansum_dict[(1, NPY_float64, 0)] = nansum_1d_float64_axisNone - * nansum_dict[(1, NPY_float64, None)] = nansum_1d_float64_axisNone + * nansum_dict[(1, NPY_float64, None)] = nansum_1d_float64_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float, None)] = nansum_2d_float_axisNone + * nansum_dict[(2, NPY_float32, None)] = nansum_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17550,55 +17550,55 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":794 - * nansum_dict[(1, NPY_float32, 0)] = nansum_1d_float32_axisNone - * nansum_dict[(1, NPY_float32, None)] = nansum_1d_float32_axisNone - * nansum_dict[(1, NPY_float64, 0)] = nansum_1d_float64_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float64, 0)] = nansum_1d_float64_axisNone * nansum_dict[(1, NPY_float64, None)] = nansum_1d_float64_axisNone - * nansum_dict[(2, NPY_float, None)] = nansum_2d_float_axisNone + * nansum_dict[(2, NPY_float, None)] = nansum_2d_float_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float32, None)] = nansum_2d_float32_axisNone + * nansum_dict[(2, NPY_float64, None)] = nansum_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":795 - * nansum_dict[(1, NPY_float32, None)] = nansum_1d_float32_axisNone - * nansum_dict[(1, NPY_float64, 0)] = nansum_1d_float64_axisNone - * nansum_dict[(1, NPY_float64, None)] = nansum_1d_float64_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float64, None)] = nansum_1d_float64_axisNone * nansum_dict[(2, NPY_float, None)] = nansum_2d_float_axisNone - * nansum_dict[(2, NPY_float32, None)] = nansum_2d_float32_axisNone + * nansum_dict[(2, NPY_float32, None)] = nansum_2d_float32_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float64, None)] = nansum_2d_float64_axisNone + * nansum_dict[(1, NPY_int, 0)] = nansum_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -17610,19 +17610,19 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":796 - * nansum_dict[(1, NPY_float64, 0)] = nansum_1d_float64_axisNone - * nansum_dict[(1, NPY_float64, None)] = nansum_1d_float64_axisNone - * nansum_dict[(2, NPY_float, None)] = nansum_2d_float_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float, None)] = nansum_2d_float_axisNone * nansum_dict[(2, NPY_float32, None)] = nansum_2d_float32_axisNone - * nansum_dict[(2, NPY_float64, None)] = nansum_2d_float64_axisNone + * nansum_dict[(2, NPY_float64, None)] = nansum_2d_float64_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_int, 0)] = nansum_1d_int_axisNone + * nansum_dict[(1, NPY_int, None)] = nansum_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17640,55 +17640,55 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":797 - * nansum_dict[(1, NPY_float64, None)] = nansum_1d_float64_axisNone - * nansum_dict[(2, NPY_float, None)] = nansum_2d_float_axisNone - * nansum_dict[(2, NPY_float32, None)] = nansum_2d_float32_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float32, None)] = nansum_2d_float32_axisNone * nansum_dict[(2, NPY_float64, None)] = nansum_2d_float64_axisNone - * nansum_dict[(2, NPY_float, 0)] = nansum_2d_float_axis0 + * nansum_dict[(1, NPY_int, 0)] = nansum_1d_int_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_int, None)] = nansum_1d_int_axisNone + * nansum_dict[(1, NPY_int8, 0)] = nansum_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":798 - * nansum_dict[(2, NPY_float, None)] = nansum_2d_float_axisNone - * nansum_dict[(2, NPY_float32, None)] = nansum_2d_float32_axisNone - * nansum_dict[(2, NPY_float64, None)] = nansum_2d_float64_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_float, 0)] = nansum_2d_float_axis0 - * nansum_dict[(2, NPY_float, 1)] = nansum_2d_float_axis1 + * nansum_dict[(2, NPY_float64, None)] = nansum_2d_float64_axisNone + * nansum_dict[(1, NPY_int, 0)] = nansum_1d_int_axisNone + * nansum_dict[(1, NPY_int, None)] = nansum_1d_int_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_int8, 0)] = nansum_1d_int8_axisNone + * nansum_dict[(1, NPY_int8, None)] = nansum_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -17700,25 +17700,25 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":799 - * nansum_dict[(2, NPY_float32, None)] = nansum_2d_float32_axisNone - * nansum_dict[(2, NPY_float64, None)] = nansum_2d_float64_axisNone - * nansum_dict[(2, NPY_float, 0)] = nansum_2d_float_axis0 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_float, 1)] = nansum_2d_float_axis1 - * nansum_dict[(2, NPY_float32, 0)] = nansum_2d_float32_axis0 + * nansum_dict[(1, NPY_int, 0)] = nansum_1d_int_axisNone + * nansum_dict[(1, NPY_int, None)] = nansum_1d_int_axisNone + * nansum_dict[(1, NPY_int8, 0)] = nansum_1d_int8_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_int8, None)] = nansum_1d_int8_axisNone + * nansum_dict[(1, NPY_int32, 0)] = nansum_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -17730,55 +17730,55 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":800 - * nansum_dict[(2, NPY_float64, None)] = nansum_2d_float64_axisNone - * nansum_dict[(2, NPY_float, 0)] = nansum_2d_float_axis0 - * nansum_dict[(2, NPY_float, 1)] = nansum_2d_float_axis1 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_float32, 0)] = nansum_2d_float32_axis0 - * nansum_dict[(2, NPY_float32, 1)] = nansum_2d_float32_axis1 + * nansum_dict[(1, NPY_int, None)] = nansum_1d_int_axisNone + * nansum_dict[(1, NPY_int8, 0)] = nansum_1d_int8_axisNone + * nansum_dict[(1, NPY_int8, None)] = nansum_1d_int8_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_int32, 0)] = nansum_1d_int32_axisNone + * nansum_dict[(1, NPY_int32, None)] = nansum_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":801 - * nansum_dict[(2, NPY_float, 0)] = nansum_2d_float_axis0 - * nansum_dict[(2, NPY_float, 1)] = nansum_2d_float_axis1 - * nansum_dict[(2, NPY_float32, 0)] = nansum_2d_float32_axis0 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_float32, 1)] = nansum_2d_float32_axis1 - * nansum_dict[(2, NPY_float64, 0)] = nansum_2d_float64_axis0 + * nansum_dict[(1, NPY_int8, 0)] = nansum_1d_int8_axisNone + * nansum_dict[(1, NPY_int8, None)] = nansum_1d_int8_axisNone + * nansum_dict[(1, NPY_int32, 0)] = nansum_1d_int32_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_int32, None)] = nansum_1d_int32_axisNone + * nansum_dict[(1, NPY_int64, 0)] = nansum_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -17790,55 +17790,55 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":802 - * nansum_dict[(2, NPY_float, 1)] = nansum_2d_float_axis1 - * nansum_dict[(2, NPY_float32, 0)] = nansum_2d_float32_axis0 - * nansum_dict[(2, NPY_float32, 1)] = nansum_2d_float32_axis1 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_float64, 0)] = nansum_2d_float64_axis0 - * nansum_dict[(2, NPY_float64, 1)] = nansum_2d_float64_axis1 + * nansum_dict[(1, NPY_int8, None)] = nansum_1d_int8_axisNone + * nansum_dict[(1, NPY_int32, 0)] = nansum_1d_int32_axisNone + * nansum_dict[(1, NPY_int32, None)] = nansum_1d_int32_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_int64, 0)] = nansum_1d_int64_axisNone + * nansum_dict[(1, NPY_int64, None)] = nansum_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":803 - * nansum_dict[(2, NPY_float32, 0)] = nansum_2d_float32_axis0 - * nansum_dict[(2, NPY_float32, 1)] = nansum_2d_float32_axis1 - * nansum_dict[(2, NPY_float64, 0)] = nansum_2d_float64_axis0 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_float64, 1)] = nansum_2d_float64_axis1 - * nansum_dict[(1, NPY_int, 0)] = nansum_1d_int_axisNone + * nansum_dict[(1, NPY_int32, 0)] = nansum_1d_int32_axisNone + * nansum_dict[(1, NPY_int32, None)] = nansum_1d_int32_axisNone + * nansum_dict[(1, NPY_int64, 0)] = nansum_1d_int64_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_int64, None)] = nansum_1d_int64_axisNone + * nansum_dict[(2, NPY_int, None)] = nansum_2d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -17850,43 +17850,43 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":804 - * nansum_dict[(2, NPY_float32, 1)] = nansum_2d_float32_axis1 - * nansum_dict[(2, NPY_float64, 0)] = nansum_2d_float64_axis0 - * nansum_dict[(2, NPY_float64, 1)] = nansum_2d_float64_axis1 # <<<<<<<<<<<<<< - * nansum_dict[(1, NPY_int, 0)] = nansum_1d_int_axisNone - * nansum_dict[(1, NPY_int, None)] = nansum_1d_int_axisNone + * nansum_dict[(1, NPY_int32, None)] = nansum_1d_int32_axisNone + * nansum_dict[(1, NPY_int64, 0)] = nansum_1d_int64_axisNone + * nansum_dict[(1, NPY_int64, None)] = nansum_1d_int64_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int, None)] = nansum_2d_int_axisNone + * nansum_dict[(2, NPY_int8, None)] = nansum_2d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":805 - * nansum_dict[(2, NPY_float64, 0)] = nansum_2d_float64_axis0 - * nansum_dict[(2, NPY_float64, 1)] = nansum_2d_float64_axis1 - * nansum_dict[(1, NPY_int, 0)] = nansum_1d_int_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(1, NPY_int, None)] = nansum_1d_int_axisNone - * nansum_dict[(1, NPY_int8, 0)] = nansum_1d_int8_axisNone + * nansum_dict[(1, NPY_int64, 0)] = nansum_1d_int64_axisNone + * nansum_dict[(1, NPY_int64, None)] = nansum_1d_int64_axisNone + * nansum_dict[(2, NPY_int, None)] = nansum_2d_int_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int8, None)] = nansum_2d_int8_axisNone + * nansum_dict[(2, NPY_int32, None)] = nansum_2d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -17896,39 +17896,39 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":806 - * nansum_dict[(2, NPY_float64, 1)] = nansum_2d_float64_axis1 - * nansum_dict[(1, NPY_int, 0)] = nansum_1d_int_axisNone - * nansum_dict[(1, NPY_int, None)] = nansum_1d_int_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(1, NPY_int8, 0)] = nansum_1d_int8_axisNone - * nansum_dict[(1, NPY_int8, None)] = nansum_1d_int8_axisNone + * nansum_dict[(1, NPY_int64, None)] = nansum_1d_int64_axisNone + * nansum_dict[(2, NPY_int, None)] = nansum_2d_int_axisNone + * nansum_dict[(2, NPY_int8, None)] = nansum_2d_int8_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int32, None)] = nansum_2d_int32_axisNone + * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -17940,55 +17940,55 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":807 - * nansum_dict[(1, NPY_int, 0)] = nansum_1d_int_axisNone - * nansum_dict[(1, NPY_int, None)] = nansum_1d_int_axisNone - * nansum_dict[(1, NPY_int8, 0)] = nansum_1d_int8_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(1, NPY_int8, None)] = nansum_1d_int8_axisNone - * nansum_dict[(1, NPY_int32, 0)] = nansum_1d_int32_axisNone + * nansum_dict[(2, NPY_int, None)] = nansum_2d_int_axisNone + * nansum_dict[(2, NPY_int8, None)] = nansum_2d_int8_axisNone + * nansum_dict[(2, NPY_int32, None)] = nansum_2d_int32_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone + * nansum_dict[(2, NPY_int, 0)] = nansum_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":808 - * nansum_dict[(1, NPY_int, None)] = nansum_1d_int_axisNone - * nansum_dict[(1, NPY_int8, 0)] = nansum_1d_int8_axisNone - * nansum_dict[(1, NPY_int8, None)] = nansum_1d_int8_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(1, NPY_int32, 0)] = nansum_1d_int32_axisNone - * nansum_dict[(1, NPY_int32, None)] = nansum_1d_int32_axisNone + * nansum_dict[(2, NPY_int8, None)] = nansum_2d_int8_axisNone + * nansum_dict[(2, NPY_int32, None)] = nansum_2d_int32_axisNone + * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int, 0)] = nansum_2d_int_axis0 + * nansum_dict[(2, NPY_int, 1)] = nansum_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -18000,25 +18000,25 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":809 - * nansum_dict[(1, NPY_int8, 0)] = nansum_1d_int8_axisNone - * nansum_dict[(1, NPY_int8, None)] = nansum_1d_int8_axisNone - * nansum_dict[(1, NPY_int32, 0)] = nansum_1d_int32_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(1, NPY_int32, None)] = nansum_1d_int32_axisNone - * nansum_dict[(1, NPY_int64, 0)] = nansum_1d_int64_axisNone + * nansum_dict[(2, NPY_int32, None)] = nansum_2d_int32_axisNone + * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone + * nansum_dict[(2, NPY_int, 0)] = nansum_2d_int_axis0 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int, 1)] = nansum_2d_int_axis1 + * nansum_dict[(2, NPY_int8, 0)] = nansum_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -18030,55 +18030,55 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":810 - * nansum_dict[(1, NPY_int8, None)] = nansum_1d_int8_axisNone - * nansum_dict[(1, NPY_int32, 0)] = nansum_1d_int32_axisNone - * nansum_dict[(1, NPY_int32, None)] = nansum_1d_int32_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(1, NPY_int64, 0)] = nansum_1d_int64_axisNone - * nansum_dict[(1, NPY_int64, None)] = nansum_1d_int64_axisNone + * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone + * nansum_dict[(2, NPY_int, 0)] = nansum_2d_int_axis0 + * nansum_dict[(2, NPY_int, 1)] = nansum_2d_int_axis1 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int8, 0)] = nansum_2d_int8_axis0 + * nansum_dict[(2, NPY_int8, 1)] = nansum_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":811 - * nansum_dict[(1, NPY_int32, 0)] = nansum_1d_int32_axisNone - * nansum_dict[(1, NPY_int32, None)] = nansum_1d_int32_axisNone - * nansum_dict[(1, NPY_int64, 0)] = nansum_1d_int64_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(1, NPY_int64, None)] = nansum_1d_int64_axisNone - * nansum_dict[(2, NPY_int, None)] = nansum_2d_int_axisNone + * nansum_dict[(2, NPY_int, 0)] = nansum_2d_int_axis0 + * nansum_dict[(2, NPY_int, 1)] = nansum_2d_int_axis1 + * nansum_dict[(2, NPY_int8, 0)] = nansum_2d_int8_axis0 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int8, 1)] = nansum_2d_int8_axis1 + * nansum_dict[(2, NPY_int32, 0)] = nansum_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -18090,49 +18090,49 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":812 - * nansum_dict[(1, NPY_int32, None)] = nansum_1d_int32_axisNone - * nansum_dict[(1, NPY_int64, 0)] = nansum_1d_int64_axisNone - * nansum_dict[(1, NPY_int64, None)] = nansum_1d_int64_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int, None)] = nansum_2d_int_axisNone - * nansum_dict[(2, NPY_int8, None)] = nansum_2d_int8_axisNone + * nansum_dict[(2, NPY_int, 1)] = nansum_2d_int_axis1 + * nansum_dict[(2, NPY_int8, 0)] = nansum_2d_int8_axis0 + * nansum_dict[(2, NPY_int8, 1)] = nansum_2d_int8_axis1 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int32, 0)] = nansum_2d_int32_axis0 + * nansum_dict[(2, NPY_int32, 1)] = nansum_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":813 - * nansum_dict[(1, NPY_int64, 0)] = nansum_1d_int64_axisNone - * nansum_dict[(1, NPY_int64, None)] = nansum_1d_int64_axisNone - * nansum_dict[(2, NPY_int, None)] = nansum_2d_int_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int8, None)] = nansum_2d_int8_axisNone - * nansum_dict[(2, NPY_int32, None)] = nansum_2d_int32_axisNone + * nansum_dict[(2, NPY_int8, 0)] = nansum_2d_int8_axis0 + * nansum_dict[(2, NPY_int8, 1)] = nansum_2d_int8_axis1 + * nansum_dict[(2, NPY_int32, 0)] = nansum_2d_int32_axis0 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int32, 1)] = nansum_2d_int32_axis1 + * nansum_dict[(2, NPY_int64, 0)] = nansum_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18141,28 +18141,28 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":814 - * nansum_dict[(1, NPY_int64, None)] = nansum_1d_int64_axisNone - * nansum_dict[(2, NPY_int, None)] = nansum_2d_int_axisNone - * nansum_dict[(2, NPY_int8, None)] = nansum_2d_int8_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int32, None)] = nansum_2d_int32_axisNone - * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone + * nansum_dict[(2, NPY_int8, 1)] = nansum_2d_int8_axis1 + * nansum_dict[(2, NPY_int32, 0)] = nansum_2d_int32_axis0 + * nansum_dict[(2, NPY_int32, 1)] = nansum_2d_int32_axis1 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int64, 0)] = nansum_2d_int64_axis0 + * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18171,28 +18171,28 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":815 - * nansum_dict[(2, NPY_int, None)] = nansum_2d_int_axisNone - * nansum_dict[(2, NPY_int8, None)] = nansum_2d_int8_axisNone - * nansum_dict[(2, NPY_int32, None)] = nansum_2d_int32_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone + * nansum_dict[(2, NPY_int32, 0)] = nansum_2d_int32_axis0 + * nansum_dict[(2, NPY_int32, 1)] = nansum_2d_int32_axis1 + * nansum_dict[(2, NPY_int64, 0)] = nansum_2d_int64_axis0 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18201,22 +18201,22 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":816 - * nansum_dict[(2, NPY_int8, None)] = nansum_2d_int8_axisNone - * nansum_dict[(2, NPY_int32, None)] = nansum_2d_int32_axisNone - * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int32, 1)] = nansum_2d_int32_axis1 + * nansum_dict[(2, NPY_int64, 0)] = nansum_2d_int64_axis0 + * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nansum_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -18231,16 +18231,16 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":818 - * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone + * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 * * def nansum_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nansum along axis 0." @@ -19214,7 +19214,7 @@ PyMODINIT_FUNC PyInit_nansum(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/nanvar.c b/bottlechest/src/func/32bit/nanvar.c index 0bcf16128e..d71416a50e 100644 --- a/bottlechest/src/func/32bit/nanvar.c +++ b/bottlechest/src/func/32bit/nanvar.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1100,13 +1100,13 @@ static __pyx_t_5numpy_float32_t __pyx_v_6nanvar_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_6nanvar_MAXfloat64; static PyObject *__pyx_v_6nanvar_nanvar_dict = 0; static PyObject *__pyx_v_6nanvar_nanvar_slow_dict = 0; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "nanvar" int __pyx_module_is_main_nanvar = 0; @@ -1118,34 +1118,34 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_6nanvar_nanvar(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis, int __pyx_v_ddof); /* proto */ static PyObject *__pyx_pf_6nanvar_2nanvar_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_16nanvar_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_18nanvar_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_22nanvar_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_24nanvar_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_28nanvar_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_30nanvar_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_32nanvar_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_34nanvar_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_36nanvar_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_38nanvar_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_40nanvar_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_42nanvar_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_44nanvar_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_46nanvar_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_48nanvar_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_50nanvar_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_52nanvar_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_54nanvar_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_56nanvar_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_58nanvar_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_4nanvar_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_6nanvar_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_8nanvar_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_10nanvar_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_12nanvar_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_14nanvar_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_16nanvar_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_18nanvar_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_22nanvar_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_24nanvar_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_28nanvar_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_30nanvar_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_32nanvar_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_34nanvar_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_36nanvar_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_38nanvar_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_40nanvar_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_42nanvar_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_44nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_46nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_48nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_50nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_52nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_54nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_56nanvar_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_58nanvar_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ static PyObject *__pyx_pf_6nanvar_60nanvar_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_ddof); /* proto */ static PyObject *__pyx_pf_6nanvar_62nanvar_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_ddof); /* proto */ static PyObject *__pyx_pf_6nanvar_64nanvar_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_ddof); /* proto */ @@ -1324,16 +1324,15 @@ static char __pyx_k_nanvar_2d_float64_axisNone[] = "nanvar_2d_float64_axisNone"; static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous"; static char __pyx_k_Return_nanvar_function_and_arra[] = "\n Return nanvar function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in bn.nanvar()\n is in checking that `axis` is within range, converting `arr` into an array\n (if it is not already an array), and selecting the function to use to\n calculate the variance.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the variance is to be computed.\n \n Returns\n -------\n func : function\n The nanvar function that matches the number of dimensions and dtype\n of the input array and the axis along which you wish to find the\n variance.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine the variance of `arr` along\n axis=0:\n\n >>> func, a = ds.func.nanvar_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the variance:\n \n >>> func(a)\n 0.66666666666666663\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/nanvar.pyx"; static char __pyx_k_Variance_along_the_specified_ax[] = "\n Variance along the specified axis, ignoring NaNs.\n\n `float64` intermediate and return values are used for integer inputs.\n\n Instead of a faster one-pass algorithm, a more stable two-pass algorithm\n is used.\n\n An example of a one-pass algorithm:\n\n >>> np.sqrt((arr*arr).mean() - arr.mean()**2)\n \n An example of a two-pass algorithm: \n \n >>> np.sqrt(((arr - arr.mean())**2).mean())\n\n Note in the two-pass algorithm the mean must be found (first pass) before\n the squared deviation (second pass) can be found.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}, optional\n Axis along which the variance is computed. The default (axis=None)is\n to compute the variance of the flattened array.\n ddof : int, optional\n Means Delta Degrees of Freedom. The divisor used in calculations\n is ``N - ddof``, where ``N`` represents the number of elements.\n By default `ddof` is zero.\n\n Returns\n -------\n y : ndarray\n An array with the same shape as `arr`, with the specified axis\n removed. If `arr` is a 0-d array, or if axis is None, a scalar is\n returned. `float64` intermediate and return values are used for\n integer inputs. \n \n See also\n --------\n bottlechest.nanstd: Standard deviation along specified axis ignoring NaNs.\n \n Notes\n -----\n If positive or negative infinity are present the result is Not A Number\n (NaN).\n\n Examples\n --------\n >>> bn.nanvar(1)\n 0.0\n >>> bn.nanvar([1])\n 0.0\n >>> bn.nanvar([1, np.nan])\n 0.0\n >>> a = np.array([[1, 4], [1, np.nan]])\n >>> bn.nanvar(a)\n 2.0\n >>> bn.nanvar(a, axis=0)\n array([ 0., 0.])\n\n When positive infinity or negative infinity are present NaN is returned:\n\n >>> bn.nanvar([1, np.nan, np.inf])\n nan""\n \n "; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\nanvar.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1346,6 +1345,7 @@ static PyObject *__pyx_kp_u_Return_nanvar_function_and_arra; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_kp_u_Variance_along_the_specified_ax; static PyObject *__pyx_n_s__7; @@ -2472,16 +2472,16 @@ static PyObject *__pyx_pf_6nanvar_2nanvar_selector(CYTHON_UNUSED PyObject *__pyx /* "nanvar.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_5nanvar_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_4nanvar_2d_int_axis0[] = "nanvar_2d_int_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_5nanvar_2d_int_axis0 = {"nanvar_2d_int_axis0", (PyCFunction)__pyx_pw_6nanvar_5nanvar_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_4nanvar_2d_int_axis0}; -static PyObject *__pyx_pw_6nanvar_5nanvar_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_5nanvar_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_4nanvar_2d_float_axis0[] = "nanvar_2d_float_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_5nanvar_2d_float_axis0 = {"nanvar_2d_float_axis0", (PyCFunction)__pyx_pw_6nanvar_5nanvar_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_4nanvar_2d_float_axis0}; +static PyObject *__pyx_pw_6nanvar_5nanvar_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -2489,7 +2489,7 @@ static PyObject *__pyx_pw_6nanvar_5nanvar_2d_int_axis0(PyObject *__pyx_self, PyO int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -2510,11 +2510,11 @@ static PyObject *__pyx_pw_6nanvar_5nanvar_2d_int_axis0(PyObject *__pyx_self, PyO case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -2527,14 +2527,14 @@ static PyObject *__pyx_pw_6nanvar_5nanvar_2d_int_axis0(PyObject *__pyx_self, PyO } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_4nanvar_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanvar_4nanvar_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -2545,10 +2545,11 @@ static PyObject *__pyx_pw_6nanvar_5nanvar_2d_int_axis0(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_4nanvar_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_amean; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2565,19 +2566,19 @@ static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *_ npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2588,20 +2589,29 @@ static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanvar.pyx":216 - * def nanvar_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * def nanvar_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanvar.pyx":217 + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":219 + /* "nanvar.pyx":220 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2610,7 +2620,7 @@ static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *_ */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":220 + /* "nanvar.pyx":221 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2619,41 +2629,41 @@ static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *_ */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":221 + /* "nanvar.pyx":222 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":222 + /* "nanvar.pyx":223 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":223 + /* "nanvar.pyx":224 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2661,82 +2671,107 @@ static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":225 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanvar.pyx":226 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "nanvar.pyx":226 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + /* "nanvar.pyx":227 + * NPY_float, 0) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; /* "nanvar.pyx":228 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + * for i1 in range(n1): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanvar.pyx":229 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] + /* "nanvar.pyx":229 + * asum = 0 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; /* "nanvar.pyx":230 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n0 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":231 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n0 - * asum = 0 + /* "nanvar.pyx":231 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":232 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanvar.pyx":233 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanvar.pyx":232 - * for i0 in range(n0): - * asum += a[i0, i1] - * amean = asum / n0 # <<<<<<<<<<<<<< + /* "nanvar.pyx":234 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":235 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 * for i0 in range(n0): */ - if (unlikely(__pyx_v_n0 == 0)) { + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -2744,69 +2779,82 @@ static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *_ #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":233 - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanvar.pyx":236 + * if count > 0: + * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":234 - * amean = asum / n0 + /* "nanvar.pyx":237 + * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanvar.pyx":235 + /* "nanvar.pyx":238 * asum = 0 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":236 + /* "nanvar.pyx":239 * for i0 in range(n0): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanvar.pyx":237 + /* "nanvar.pyx":240 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = asum / (n0 - ddof) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = asum / (count - ddof) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanvar.pyx":241 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = asum / (count - ddof) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanvar.pyx":238 - * ai -= amean - * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) # <<<<<<<<<<<<<< - * return y - * + /* "nanvar.pyx":242 + * ai -= amean + * asum += (ai * ai) + * y[i1] = asum / (count - ddof) # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN */ - __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -2814,17 +2862,30 @@ static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *_ #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); + goto __pyx_L8; + } + /*else*/ { + + /* "nanvar.pyx":244 + * y[i1] = asum / (count - ddof) + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanvar.pyx":239 - * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) + /* "nanvar.pyx":245 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2837,9 +2898,9 @@ static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "nanvar.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -2850,7 +2911,7 @@ static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2863,19 +2924,19 @@ static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "nanvar.pyx":243 +/* "nanvar.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_7nanvar_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_6nanvar_2d_int_axis1[] = "nanvar_2d_int_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_7nanvar_2d_int_axis1 = {"nanvar_2d_int_axis1", (PyCFunction)__pyx_pw_6nanvar_7nanvar_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_6nanvar_2d_int_axis1}; -static PyObject *__pyx_pw_6nanvar_7nanvar_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_7nanvar_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_6nanvar_2d_float_axis1[] = "nanvar_2d_float_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_7nanvar_2d_float_axis1 = {"nanvar_2d_float_axis1", (PyCFunction)__pyx_pw_6nanvar_7nanvar_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_6nanvar_2d_float_axis1}; +static PyObject *__pyx_pw_6nanvar_7nanvar_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -2883,7 +2944,7 @@ static PyObject *__pyx_pw_6nanvar_7nanvar_2d_int_axis1(PyObject *__pyx_self, PyO int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -2904,11 +2965,11 @@ static PyObject *__pyx_pw_6nanvar_7nanvar_2d_int_axis1(PyObject *__pyx_self, PyO case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -2917,18 +2978,18 @@ static PyObject *__pyx_pw_6nanvar_7nanvar_2d_int_axis1(PyObject *__pyx_self, PyO values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_6nanvar_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_6nanvar_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -2939,10 +3000,11 @@ static PyObject *__pyx_pw_6nanvar_7nanvar_2d_int_axis1(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_6nanvar_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_amean; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2959,19 +3021,19 @@ static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *_ npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2982,20 +3044,29 @@ static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":245 - * def nanvar_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + /* "nanvar.pyx":251 + * def nanvar_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanvar.pyx":252 + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":248 + /* "nanvar.pyx":255 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3004,7 +3075,7 @@ static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":249 + /* "nanvar.pyx":256 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3013,41 +3084,41 @@ static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":250 + /* "nanvar.pyx":257 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":251 + /* "nanvar.pyx":258 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":252 + /* "nanvar.pyx":259 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3055,82 +3126,107 @@ static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":254 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanvar.pyx":261 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanvar.pyx":255 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + /* "nanvar.pyx":262 + * NPY_float, 0) + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i1 in range(n1): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanvar.pyx":257 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanvar.pyx":263 + * for i0 in range(n0): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanvar.pyx":258 - * else: - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanvar.pyx":264 + * asum = 0 + * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanvar.pyx":259 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n1 + /* "nanvar.pyx":265 + * count = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":260 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n1 - * asum = 0 + /* "nanvar.pyx":266 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":267 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanvar.pyx":268 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanvar.pyx":261 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / n1 # <<<<<<<<<<<<<< + /* "nanvar.pyx":269 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":270 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 * for i1 in range(n1): */ - if (unlikely(__pyx_v_n1 == 0)) { + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3138,69 +3234,82 @@ static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *_ #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":262 - * asum += a[i0, i1] - * amean = asum / n1 + /* "nanvar.pyx":271 + * if count > 0: + * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":263 - * amean = asum / n1 + /* "nanvar.pyx":272 + * amean = asum / count * asum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanvar.pyx":264 + /* "nanvar.pyx":273 * asum = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":265 + /* "nanvar.pyx":274 * for i1 in range(n1): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanvar.pyx":266 + /* "nanvar.pyx":275 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = asum / (n1 - ddof) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = asum / (count - ddof) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanvar.pyx":276 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = asum / (count - ddof) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanvar.pyx":267 - * ai -= amean - * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) # <<<<<<<<<<<<<< - * return y - * + /* "nanvar.pyx":277 + * ai -= amean + * asum += (ai * ai) + * y[i0] = asum / (count - ddof) # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN */ - __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3208,17 +3317,30 @@ static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *_ #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); + goto __pyx_L8; } + /*else*/ { + + /* "nanvar.pyx":279 + * y[i0] = asum / (count - ddof) + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; + } + __pyx_L8:; } - __pyx_L3:; - /* "nanvar.pyx":268 - * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) + /* "nanvar.pyx":280 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3228,12 +3350,12 @@ static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanvar.pyx":243 + /* "nanvar.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -3244,7 +3366,7 @@ static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3257,19 +3379,19 @@ static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "nanvar.pyx":272 +/* "nanvar.pyx":284 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_9nanvar_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_8nanvar_2d_int8_axis0[] = "nanvar_2d_int8_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_9nanvar_2d_int8_axis0 = {"nanvar_2d_int8_axis0", (PyCFunction)__pyx_pw_6nanvar_9nanvar_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_8nanvar_2d_int8_axis0}; -static PyObject *__pyx_pw_6nanvar_9nanvar_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_9nanvar_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_8nanvar_2d_float32_axis0[] = "nanvar_2d_float32_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_9nanvar_2d_float32_axis0 = {"nanvar_2d_float32_axis0", (PyCFunction)__pyx_pw_6nanvar_9nanvar_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_8nanvar_2d_float32_axis0}; +static PyObject *__pyx_pw_6nanvar_9nanvar_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -3277,7 +3399,7 @@ static PyObject *__pyx_pw_6nanvar_9nanvar_2d_int8_axis0(PyObject *__pyx_self, Py int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -3298,11 +3420,11 @@ static PyObject *__pyx_pw_6nanvar_9nanvar_2d_int8_axis0(PyObject *__pyx_self, Py case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3311,18 +3433,18 @@ static PyObject *__pyx_pw_6nanvar_9nanvar_2d_int8_axis0(PyObject *__pyx_self, Py values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_8nanvar_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_8nanvar_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -3333,10 +3455,11 @@ static PyObject *__pyx_pw_6nanvar_9nanvar_2d_int8_axis0(PyObject *__pyx_self, Py return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_8nanvar_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_amean; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3353,19 +3476,19 @@ static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject * npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3376,20 +3499,29 @@ static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":274 - * def nanvar_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + /* "nanvar.pyx":286 + * def nanvar_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanvar.pyx":287 + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":277 + /* "nanvar.pyx":290 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3398,7 +3530,7 @@ static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":278 + /* "nanvar.pyx":291 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3407,41 +3539,41 @@ static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":279 + /* "nanvar.pyx":292 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":280 + /* "nanvar.pyx":293 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":281 + /* "nanvar.pyx":294 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3449,82 +3581,107 @@ static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":283 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanvar.pyx":296 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "nanvar.pyx":284 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + /* "nanvar.pyx":297 + * NPY_float32, 0) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanvar.pyx":286 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":298 + * for i1 in range(n1): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanvar.pyx":287 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] + /* "nanvar.pyx":299 + * asum = 0 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanvar.pyx":288 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanvar.pyx":300 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":289 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n0 - * asum = 0 + /* "nanvar.pyx":301 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":302 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanvar.pyx":303 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanvar.pyx":290 - * for i0 in range(n0): - * asum += a[i0, i1] - * amean = asum / n0 # <<<<<<<<<<<<<< + /* "nanvar.pyx":304 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":305 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 * for i0 in range(n0): */ - if (unlikely(__pyx_v_n0 == 0)) { + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3532,69 +3689,82 @@ static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject * #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":291 - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanvar.pyx":306 + * if count > 0: + * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":292 - * amean = asum / n0 + /* "nanvar.pyx":307 + * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanvar.pyx":293 + /* "nanvar.pyx":308 * asum = 0 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":294 + /* "nanvar.pyx":309 * for i0 in range(n0): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanvar.pyx":295 + /* "nanvar.pyx":310 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = asum / (n0 - ddof) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = asum / (count - ddof) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanvar.pyx":311 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = asum / (count - ddof) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanvar.pyx":296 - * ai -= amean - * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) # <<<<<<<<<<<<<< - * return y - * + /* "nanvar.pyx":312 + * ai -= amean + * asum += (ai * ai) + * y[i1] = asum / (count - ddof) # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN */ - __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3602,17 +3772,30 @@ static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject * #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); + goto __pyx_L8; + } + /*else*/ { + + /* "nanvar.pyx":314 + * y[i1] = asum / (count - ddof) + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanvar.pyx":297 - * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) + /* "nanvar.pyx":315 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3622,12 +3805,12 @@ static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanvar.pyx":272 + /* "nanvar.pyx":284 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -3638,7 +3821,7 @@ static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject * __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3651,19 +3834,19 @@ static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "nanvar.pyx":301 +/* "nanvar.pyx":319 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_11nanvar_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_10nanvar_2d_int8_axis1[] = "nanvar_2d_int8_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_11nanvar_2d_int8_axis1 = {"nanvar_2d_int8_axis1", (PyCFunction)__pyx_pw_6nanvar_11nanvar_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_10nanvar_2d_int8_axis1}; -static PyObject *__pyx_pw_6nanvar_11nanvar_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_11nanvar_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_10nanvar_2d_float32_axis1[] = "nanvar_2d_float32_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_11nanvar_2d_float32_axis1 = {"nanvar_2d_float32_axis1", (PyCFunction)__pyx_pw_6nanvar_11nanvar_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_10nanvar_2d_float32_axis1}; +static PyObject *__pyx_pw_6nanvar_11nanvar_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -3671,7 +3854,7 @@ static PyObject *__pyx_pw_6nanvar_11nanvar_2d_int8_axis1(PyObject *__pyx_self, P int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int8_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -3692,11 +3875,11 @@ static PyObject *__pyx_pw_6nanvar_11nanvar_2d_int8_axis1(PyObject *__pyx_self, P case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3705,18 +3888,18 @@ static PyObject *__pyx_pw_6nanvar_11nanvar_2d_int8_axis1(PyObject *__pyx_self, P values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_10nanvar_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_10nanvar_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -3727,10 +3910,11 @@ static PyObject *__pyx_pw_6nanvar_11nanvar_2d_int8_axis1(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_10nanvar_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_amean; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3747,19 +3931,19 @@ static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3770,20 +3954,29 @@ static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":303 - * def nanvar_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + /* "nanvar.pyx":321 + * def nanvar_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanvar.pyx":322 + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":306 + /* "nanvar.pyx":325 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3792,7 +3985,7 @@ static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":307 + /* "nanvar.pyx":326 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3801,41 +3994,41 @@ static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":308 + /* "nanvar.pyx":327 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":309 + /* "nanvar.pyx":328 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":310 + /* "nanvar.pyx":329 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3843,82 +4036,107 @@ static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":312 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanvar.pyx":331 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanvar.pyx":313 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + /* "nanvar.pyx":332 + * NPY_float32, 0) + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i1 in range(n1): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanvar.pyx":315 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanvar.pyx":333 + * for i0 in range(n0): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanvar.pyx":316 - * else: - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanvar.pyx":334 + * asum = 0 + * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanvar.pyx":317 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n1 + /* "nanvar.pyx":335 + * count = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":318 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n1 - * asum = 0 + /* "nanvar.pyx":336 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":337 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanvar.pyx":338 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanvar.pyx":319 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / n1 # <<<<<<<<<<<<<< + /* "nanvar.pyx":339 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":340 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 * for i1 in range(n1): */ - if (unlikely(__pyx_v_n1 == 0)) { + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3926,69 +4144,82 @@ static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":320 - * asum += a[i0, i1] - * amean = asum / n1 + /* "nanvar.pyx":341 + * if count > 0: + * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":321 - * amean = asum / n1 + /* "nanvar.pyx":342 + * amean = asum / count * asum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanvar.pyx":322 + /* "nanvar.pyx":343 * asum = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":323 + /* "nanvar.pyx":344 * for i1 in range(n1): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanvar.pyx":324 + /* "nanvar.pyx":345 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = asum / (n1 - ddof) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = asum / (count - ddof) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanvar.pyx":346 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = asum / (count - ddof) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanvar.pyx":325 - * ai -= amean - * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) # <<<<<<<<<<<<<< - * return y - * + /* "nanvar.pyx":347 + * ai -= amean + * asum += (ai * ai) + * y[i0] = asum / (count - ddof) # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN */ - __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3996,17 +4227,30 @@ static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); + goto __pyx_L8; + } + /*else*/ { + + /* "nanvar.pyx":349 + * y[i0] = asum / (count - ddof) + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanvar.pyx":326 - * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) + /* "nanvar.pyx":350 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4016,12 +4260,12 @@ static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanvar.pyx":301 + /* "nanvar.pyx":319 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -4032,7 +4276,7 @@ static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4045,19 +4289,19 @@ static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanvar.pyx":330 +/* "nanvar.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_13nanvar_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_12nanvar_2d_int32_axis0[] = "nanvar_2d_int32_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_13nanvar_2d_int32_axis0 = {"nanvar_2d_int32_axis0", (PyCFunction)__pyx_pw_6nanvar_13nanvar_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_12nanvar_2d_int32_axis0}; -static PyObject *__pyx_pw_6nanvar_13nanvar_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_13nanvar_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_12nanvar_2d_float64_axis0[] = "nanvar_2d_float64_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_13nanvar_2d_float64_axis0 = {"nanvar_2d_float64_axis0", (PyCFunction)__pyx_pw_6nanvar_13nanvar_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_12nanvar_2d_float64_axis0}; +static PyObject *__pyx_pw_6nanvar_13nanvar_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -4065,7 +4309,7 @@ static PyObject *__pyx_pw_6nanvar_13nanvar_2d_int32_axis0(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -4086,11 +4330,11 @@ static PyObject *__pyx_pw_6nanvar_13nanvar_2d_int32_axis0(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4099,18 +4343,18 @@ static PyObject *__pyx_pw_6nanvar_13nanvar_2d_int32_axis0(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_12nanvar_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_12nanvar_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -4121,7 +4365,8 @@ static PyObject *__pyx_pw_6nanvar_13nanvar_2d_int32_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_12nanvar_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; @@ -4141,19 +4386,19 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4164,20 +4409,29 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":332 - * def nanvar_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." + /* "nanvar.pyx":356 + * def nanvar_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanvar.pyx":357 + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":335 + /* "nanvar.pyx":360 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4186,7 +4440,7 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":336 + /* "nanvar.pyx":361 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4195,7 +4449,7 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":337 + /* "nanvar.pyx":362 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -4204,7 +4458,7 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":338 + /* "nanvar.pyx":363 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -4214,22 +4468,22 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":339 + /* "nanvar.pyx":364 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) - * if n0 == 0: + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4237,82 +4491,107 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":341 + /* "nanvar.pyx":366 * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "nanvar.pyx":342 + /* "nanvar.pyx":367 * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanvar.pyx":344 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":368 + * for i1 in range(n1): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanvar.pyx":345 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] + /* "nanvar.pyx":369 + * asum = 0 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanvar.pyx":346 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanvar.pyx":370 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":347 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n0 - * asum = 0 + /* "nanvar.pyx":371 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":372 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanvar.pyx":373 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanvar.pyx":348 - * for i0 in range(n0): - * asum += a[i0, i1] - * amean = asum / n0 # <<<<<<<<<<<<<< + /* "nanvar.pyx":374 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":375 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 * for i0 in range(n0): */ - if (unlikely(__pyx_v_n0 == 0)) { + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -4320,69 +4599,82 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":349 - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanvar.pyx":376 + * if count > 0: + * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":350 - * amean = asum / n0 + /* "nanvar.pyx":377 + * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanvar.pyx":351 + /* "nanvar.pyx":378 * asum = 0 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":352 + /* "nanvar.pyx":379 * for i0 in range(n0): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanvar.pyx":353 + /* "nanvar.pyx":380 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = asum / (n0 - ddof) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = asum / (count - ddof) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanvar.pyx":381 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = asum / (count - ddof) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanvar.pyx":354 - * ai -= amean - * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) # <<<<<<<<<<<<<< - * return y - * + /* "nanvar.pyx":382 + * ai -= amean + * asum += (ai * ai) + * y[i1] = asum / (count - ddof) # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN */ - __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -4390,17 +4682,30 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); + goto __pyx_L8; + } + /*else*/ { + + /* "nanvar.pyx":384 + * y[i1] = asum / (count - ddof) + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanvar.pyx":355 - * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) + /* "nanvar.pyx":385 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4410,12 +4715,12 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanvar.pyx":330 + /* "nanvar.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -4426,7 +4731,7 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4439,19 +4744,19 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanvar.pyx":359 +/* "nanvar.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_15nanvar_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_14nanvar_2d_int32_axis1[] = "nanvar_2d_int32_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_15nanvar_2d_int32_axis1 = {"nanvar_2d_int32_axis1", (PyCFunction)__pyx_pw_6nanvar_15nanvar_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_14nanvar_2d_int32_axis1}; -static PyObject *__pyx_pw_6nanvar_15nanvar_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_15nanvar_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_14nanvar_2d_float64_axis1[] = "nanvar_2d_float64_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_15nanvar_2d_float64_axis1 = {"nanvar_2d_float64_axis1", (PyCFunction)__pyx_pw_6nanvar_15nanvar_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_14nanvar_2d_float64_axis1}; +static PyObject *__pyx_pw_6nanvar_15nanvar_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -4459,7 +4764,7 @@ static PyObject *__pyx_pw_6nanvar_15nanvar_2d_int32_axis1(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -4480,11 +4785,11 @@ static PyObject *__pyx_pw_6nanvar_15nanvar_2d_int32_axis1(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4493,18 +4798,18 @@ static PyObject *__pyx_pw_6nanvar_15nanvar_2d_int32_axis1(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_14nanvar_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_14nanvar_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -4515,7 +4820,8 @@ static PyObject *__pyx_pw_6nanvar_15nanvar_2d_int32_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_14nanvar_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; @@ -4535,19 +4841,19 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4558,20 +4864,29 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":361 - * def nanvar_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." + /* "nanvar.pyx":391 + * def nanvar_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanvar.pyx":392 + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":364 + /* "nanvar.pyx":395 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4580,7 +4895,7 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":365 + /* "nanvar.pyx":396 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4589,7 +4904,7 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":366 + /* "nanvar.pyx":397 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -4598,7 +4913,7 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":367 + /* "nanvar.pyx":398 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -4608,22 +4923,22 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":368 + /* "nanvar.pyx":399 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) - * if n1 == 0: + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4631,152 +4946,190 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":370 + /* "nanvar.pyx":401 * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanvar.pyx":371 + /* "nanvar.pyx":402 * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i1 in range(n1): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanvar.pyx":373 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanvar.pyx":403 + * for i0 in range(n0): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanvar.pyx":374 - * else: - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanvar.pyx":404 + * asum = 0 + * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanvar.pyx":375 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n1 + /* "nanvar.pyx":405 + * count = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":376 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n1 - * asum = 0 + /* "nanvar.pyx":406 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanvar.pyx":377 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / n1 # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanvar.pyx":407 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: */ - if (unlikely(__pyx_v_n1 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanvar.pyx":378 - * asum += a[i0, i1] - * amean = asum / n1 - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanvar.pyx":408 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; + } + __pyx_L7:; + } + + /* "nanvar.pyx":409 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":410 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): + */ + if (unlikely(__pyx_v_count == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); + + /* "nanvar.pyx":411 + * if count > 0: + * amean = asum / count + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":379 - * amean = asum / n1 + /* "nanvar.pyx":412 + * amean = asum / count * asum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanvar.pyx":380 + /* "nanvar.pyx":413 * asum = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":381 + /* "nanvar.pyx":414 * for i1 in range(n1): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanvar.pyx":382 + /* "nanvar.pyx":415 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = asum / (n1 - ddof) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = asum / (count - ddof) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanvar.pyx":416 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = asum / (count - ddof) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanvar.pyx":383 - * ai -= amean - * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) # <<<<<<<<<<<<<< - * return y - * + /* "nanvar.pyx":417 + * ai -= amean + * asum += (ai * ai) + * y[i0] = asum / (count - ddof) # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN */ - __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -4784,17 +5137,30 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); + goto __pyx_L8; + } + /*else*/ { + + /* "nanvar.pyx":419 + * y[i0] = asum / (count - ddof) + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanvar.pyx":384 - * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) + /* "nanvar.pyx":420 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4804,12 +5170,12 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanvar.pyx":359 + /* "nanvar.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -4820,7 +5186,7 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4833,19 +5199,19 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanvar.pyx":388 +/* "nanvar.pyx":424 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_17nanvar_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_16nanvar_2d_int64_axis0[] = "nanvar_2d_int64_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_17nanvar_2d_int64_axis0 = {"nanvar_2d_int64_axis0", (PyCFunction)__pyx_pw_6nanvar_17nanvar_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_16nanvar_2d_int64_axis0}; -static PyObject *__pyx_pw_6nanvar_17nanvar_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_17nanvar_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_16nanvar_1d_float_axisNone[] = "nanvar_1d_float_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_17nanvar_1d_float_axisNone = {"nanvar_1d_float_axisNone", (PyCFunction)__pyx_pw_6nanvar_17nanvar_1d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_16nanvar_1d_float_axisNone}; +static PyObject *__pyx_pw_6nanvar_17nanvar_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -4853,7 +5219,7 @@ static PyObject *__pyx_pw_6nanvar_17nanvar_2d_int64_axis0(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_1d_float_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -4874,11 +5240,11 @@ static PyObject *__pyx_pw_6nanvar_17nanvar_2d_int64_axis0(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4887,18 +5253,18 @@ static PyObject *__pyx_pw_6nanvar_17nanvar_2d_int64_axis0(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_16nanvar_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_16nanvar_1d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -4909,337 +5275,369 @@ static PyObject *__pyx_pw_6nanvar_17nanvar_2d_int64_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_16nanvar_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_16nanvar_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_amean; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; int __pyx_t_4; Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanvar_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanvar.pyx":390 - * def nanvar_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "nanvar.pyx":426 + * def nanvar_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): + * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, amean, ai + * cdef Py_ssize_t i0 + */ + __pyx_v_count = 0; + + /* "nanvar.pyx":427 + * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":393 - * cdef Py_ssize_t i0, i1 + /* "nanvar.pyx":430 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":394 + /* "nanvar.pyx":431 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":395 + /* "nanvar.pyx":432 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":396 + /* "nanvar.pyx":433 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":397 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: + /* "nanvar.pyx":434 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "nanvar.pyx":399 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanvar.pyx":435 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanvar.pyx":400 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + /* "nanvar.pyx":436 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L5; + } + __pyx_L5:; } - /*else*/ { - - /* "nanvar.pyx":402 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): - */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; - - /* "nanvar.pyx":403 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] - */ - __pyx_v_asum = 0.0; - /* "nanvar.pyx":404 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanvar.pyx":437 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_4 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_4) { - /* "nanvar.pyx":405 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n0 - * asum = 0 + /* "nanvar.pyx":438 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); - } + if (unlikely(__pyx_v_count == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":406 - * for i0 in range(n0): - * asum += a[i0, i1] - * amean = asum / n0 # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":439 + * if count > 0: + * amean = asum / count + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - if (unlikely(__pyx_v_n0 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); + __pyx_v_asum = 0.0; - /* "nanvar.pyx":407 - * asum += a[i0, i1] - * amean = asum / n0 - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanvar.pyx":440 + * amean = asum / count + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":408 - * amean = asum / n0 - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] + /* "nanvar.pyx":441 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: * ai -= amean */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_5 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":409 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< + /* "nanvar.pyx":442 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< * ai -= amean * asum += (ai * ai) */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "nanvar.pyx":410 - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanvar.pyx":443 + * ai = a[i0] + * if ai == ai: * ai -= amean # <<<<<<<<<<<<<< * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) + * return np.float(asum / (count - ddof)) */ __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":411 - * ai = a[i0, i1] + /* "nanvar.pyx":444 + * if ai == ai: * ai -= amean * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = asum / (n0 - ddof) - * return y + * return np.float(asum / (count - ddof)) + * else: */ __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; } + __pyx_L9:; + } - /* "nanvar.pyx":412 + /* "nanvar.pyx":445 * ai -= amean * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) # <<<<<<<<<<<<<< - * return y - * + * return np.float(asum / (count - ddof)) # <<<<<<<<<<<<<< + * else: + * return np.float(NAN) */ - __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_7 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); } - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); } + if (!__pyx_t_9) { + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else { + __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; + PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; } - __pyx_L3:; + /*else*/ { - /* "nanvar.pyx":413 - * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) - * return y # <<<<<<<<<<<<<< + /* "nanvar.pyx":447 + * return np.float(asum / (count - ddof)) + * else: + * return np.float(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "nanvar.pyx":388 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanvar_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; - __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - goto __pyx_L2; - __pyx_L0:; - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); + __Pyx_XDECREF(__pyx_r); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + if (!__pyx_t_7) { + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; + } + + /* "nanvar.pyx":424 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanvar_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("nanvar.nanvar_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanvar.pyx":417 +/* "nanvar.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_19nanvar_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_18nanvar_2d_int64_axis1[] = "nanvar_2d_int64_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_19nanvar_2d_int64_axis1 = {"nanvar_2d_int64_axis1", (PyCFunction)__pyx_pw_6nanvar_19nanvar_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_18nanvar_2d_int64_axis1}; -static PyObject *__pyx_pw_6nanvar_19nanvar_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_19nanvar_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_18nanvar_1d_float32_axisNone[] = "nanvar_1d_float32_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_19nanvar_1d_float32_axisNone = {"nanvar_1d_float32_axisNone", (PyCFunction)__pyx_pw_6nanvar_19nanvar_1d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_18nanvar_1d_float32_axisNone}; +static PyObject *__pyx_pw_6nanvar_19nanvar_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -5247,7 +5645,7 @@ static PyObject *__pyx_pw_6nanvar_19nanvar_2d_int64_axis1(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_1d_float32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -5268,11 +5666,11 @@ static PyObject *__pyx_pw_6nanvar_19nanvar_2d_int64_axis1(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5281,18 +5679,18 @@ static PyObject *__pyx_pw_6nanvar_19nanvar_2d_int64_axis1(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_18nanvar_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_18nanvar_1d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -5303,337 +5701,369 @@ static PyObject *__pyx_pw_6nanvar_19nanvar_2d_int64_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_18nanvar_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_18nanvar_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_amean; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; int __pyx_t_4; Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanvar_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanvar.pyx":419 - * def nanvar_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "nanvar.pyx":453 + * def nanvar_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): + * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, amean, ai + * cdef Py_ssize_t i0 + */ + __pyx_v_count = 0; + + /* "nanvar.pyx":454 + * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":422 - * cdef Py_ssize_t i0, i1 + /* "nanvar.pyx":457 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":423 + /* "nanvar.pyx":458 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":424 + /* "nanvar.pyx":459 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":425 + /* "nanvar.pyx":460 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":426 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: + /* "nanvar.pyx":461 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "nanvar.pyx":428 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanvar.pyx":462 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanvar.pyx":429 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + /* "nanvar.pyx":463 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L5; + } + __pyx_L5:; } - /*else*/ { - /* "nanvar.pyx":431 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanvar.pyx":464 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_t_4 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_4) { - /* "nanvar.pyx":432 - * else: + /* "nanvar.pyx":465 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< + * asum = 0 * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] */ - __pyx_v_asum = 0.0; + if (unlikely(__pyx_v_count == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":433 + /* "nanvar.pyx":466 + * if count > 0: + * amean = asum / count + * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n1 - */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; - - /* "nanvar.pyx":434 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n1 - * asum = 0 - */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); - } - - /* "nanvar.pyx":435 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / n1 # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + * ai = a[i0] */ - if (unlikely(__pyx_v_n1 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); + __pyx_v_asum = 0.0; - /* "nanvar.pyx":436 - * asum += a[i0, i1] - * amean = asum / n1 - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanvar.pyx":467 + * amean = asum / count + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":437 - * amean = asum / n1 - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] + /* "nanvar.pyx":468 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: * ai -= amean */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_5 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":438 - * asum = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< + /* "nanvar.pyx":469 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< * ai -= amean * asum += (ai * ai) */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "nanvar.pyx":439 - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanvar.pyx":470 + * ai = a[i0] + * if ai == ai: * ai -= amean # <<<<<<<<<<<<<< * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) + * return np.float32(asum / (count - ddof)) */ __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":440 - * ai = a[i0, i1] + /* "nanvar.pyx":471 + * if ai == ai: * ai -= amean * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = asum / (n1 - ddof) - * return y + * return np.float32(asum / (count - ddof)) + * else: */ __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; } + __pyx_L9:; + } - /* "nanvar.pyx":441 + /* "nanvar.pyx":472 * ai -= amean * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) # <<<<<<<<<<<<<< - * return y - * + * return np.float32(asum / (count - ddof)) # <<<<<<<<<<<<<< + * else: + * return np.float32(NAN) */ - __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_7 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); } - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); } + if (!__pyx_t_9) { + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else { + __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; + PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; } - __pyx_L3:; + /*else*/ { - /* "nanvar.pyx":442 - * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) - * return y # <<<<<<<<<<<<<< + /* "nanvar.pyx":474 + * return np.float32(asum / (count - ddof)) + * else: + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + if (!__pyx_t_7) { + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; + } - /* "nanvar.pyx":417 + /* "nanvar.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanvar.pyx":446 +/* "nanvar.pyx":478 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanvar_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_21nanvar_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_20nanvar_1d_float_axisNone[] = "nanvar_1d_float_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_21nanvar_1d_float_axisNone = {"nanvar_1d_float_axisNone", (PyCFunction)__pyx_pw_6nanvar_21nanvar_1d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_20nanvar_1d_float_axisNone}; -static PyObject *__pyx_pw_6nanvar_21nanvar_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_21nanvar_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_20nanvar_1d_float64_axisNone[] = "nanvar_1d_float64_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_21nanvar_1d_float64_axisNone = {"nanvar_1d_float64_axisNone", (PyCFunction)__pyx_pw_6nanvar_21nanvar_1d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_20nanvar_1d_float64_axisNone}; +static PyObject *__pyx_pw_6nanvar_21nanvar_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -5641,7 +6071,7 @@ static PyObject *__pyx_pw_6nanvar_21nanvar_1d_float_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_1d_float_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_1d_float64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -5662,11 +6092,11 @@ static PyObject *__pyx_pw_6nanvar_21nanvar_1d_float_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_1d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5675,18 +6105,18 @@ static PyObject *__pyx_pw_6nanvar_21nanvar_1d_float_axisNone(PyObject *__pyx_sel values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_1d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_20nanvar_1d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_20nanvar_1d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -5697,11 +6127,11 @@ static PyObject *__pyx_pw_6nanvar_21nanvar_1d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_amean; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -5722,36 +6152,36 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanvar.pyx":448 - * def nanvar_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): - * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + /* "nanvar.pyx":480 + * def nanvar_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): + * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, amean, ai + * cdef np.float64_t asum = 0, amean, ai * cdef Py_ssize_t i0 */ __pyx_v_count = 0; - /* "nanvar.pyx":449 - * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + /* "nanvar.pyx":481 + * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":452 + /* "nanvar.pyx":484 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5760,7 +6190,7 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":453 + /* "nanvar.pyx":485 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5769,7 +6199,7 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":454 + /* "nanvar.pyx":486 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5780,7 +6210,7 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":455 + /* "nanvar.pyx":487 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -5788,9 +6218,9 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj * asum += ai */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":456 + /* "nanvar.pyx":488 * for i0 in range(n0): * ai = a[i0] * if ai == ai: # <<<<<<<<<<<<<< @@ -5800,7 +6230,7 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "nanvar.pyx":457 + /* "nanvar.pyx":489 * ai = a[i0] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -5809,7 +6239,7 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanvar.pyx":458 + /* "nanvar.pyx":490 * if ai == ai: * asum += ai * count += 1 # <<<<<<<<<<<<<< @@ -5822,7 +6252,7 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_L5:; } - /* "nanvar.pyx":459 + /* "nanvar.pyx":491 * asum += ai * count += 1 * if count > 0: # <<<<<<<<<<<<<< @@ -5832,7 +6262,7 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_4 = ((__pyx_v_count > 0) != 0); if (__pyx_t_4) { - /* "nanvar.pyx":460 + /* "nanvar.pyx":492 * count += 1 * if count > 0: * amean = asum / count # <<<<<<<<<<<<<< @@ -5847,11 +6277,11 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":461 + /* "nanvar.pyx":493 * if count > 0: * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< @@ -5860,7 +6290,7 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":462 + /* "nanvar.pyx":494 * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5871,7 +6301,7 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":463 + /* "nanvar.pyx":495 * asum = 0 * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -5879,9 +6309,9 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj * ai -= amean */ __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":464 + /* "nanvar.pyx":496 * for i0 in range(n0): * ai = a[i0] * if ai == ai: # <<<<<<<<<<<<<< @@ -5891,20 +6321,20 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "nanvar.pyx":465 + /* "nanvar.pyx":497 * ai = a[i0] * if ai == ai: * ai -= amean # <<<<<<<<<<<<<< * asum += (ai * ai) - * return np.float(asum / (count - ddof)) + * return np.float64(asum / (count - ddof)) */ __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":466 + /* "nanvar.pyx":498 * if ai == ai: * ai -= amean * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float(asum / (count - ddof)) + * return np.float64(asum / (count - ddof)) * else: */ __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); @@ -5913,17 +6343,17 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_L9:; } - /* "nanvar.pyx":467 + /* "nanvar.pyx":499 * ai -= amean * asum += (ai * ai) - * return np.float(asum / (count - ddof)) # <<<<<<<<<<<<<< + * return np.float64(asum / (count - ddof)) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); @@ -5935,9 +6365,9 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_7 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_8))) { @@ -5950,17 +6380,17 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_9) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_6); } else { - __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } @@ -5971,20 +6401,20 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj } /*else*/ { - /* "nanvar.pyx":469 - * return np.float(asum / (count - ddof)) + /* "nanvar.pyx":501 + * return np.float64(asum / (count - ddof)) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { @@ -5997,17 +6427,17 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_7) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_6); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -6017,11 +6447,11 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "nanvar.pyx":446 + /* "nanvar.pyx":478 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanvar_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ @@ -6036,7 +6466,7 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6047,19 +6477,19 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanvar.pyx":473 +/* "nanvar.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanvar_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_23nanvar_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_22nanvar_1d_float32_axisNone[] = "nanvar_1d_float32_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_23nanvar_1d_float32_axisNone = {"nanvar_1d_float32_axisNone", (PyCFunction)__pyx_pw_6nanvar_23nanvar_1d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_22nanvar_1d_float32_axisNone}; -static PyObject *__pyx_pw_6nanvar_23nanvar_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_23nanvar_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_22nanvar_2d_float_axisNone[] = "nanvar_2d_float_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_23nanvar_2d_float_axisNone = {"nanvar_2d_float_axisNone", (PyCFunction)__pyx_pw_6nanvar_23nanvar_2d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_22nanvar_2d_float_axisNone}; +static PyObject *__pyx_pw_6nanvar_23nanvar_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -6067,7 +6497,7 @@ static PyObject *__pyx_pw_6nanvar_23nanvar_1d_float32_axisNone(PyObject *__pyx_s int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_1d_float32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -6088,11 +6518,11 @@ static PyObject *__pyx_pw_6nanvar_23nanvar_1d_float32_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_1d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6101,18 +6531,18 @@ static PyObject *__pyx_pw_6nanvar_23nanvar_1d_float32_axisNone(PyObject *__pyx_s values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_1d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_22nanvar_1d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_22nanvar_2d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -6123,14 +6553,16 @@ static PyObject *__pyx_pw_6nanvar_23nanvar_1d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_22nanvar_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_22nanvar_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_amean; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_amean; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -6138,128 +6570,154 @@ static PyObject *__pyx_pf_6nanvar_22nanvar_1d_float32_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_6; + int __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":475 - * def nanvar_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): - * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanvar.pyx":507 + * def nanvar_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, amean, ai - * cdef Py_ssize_t i0 + * cdef np.float_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_count = 0; - /* "nanvar.pyx":476 - * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanvar.pyx":508 + * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":479 - * cdef Py_ssize_t i0 + /* "nanvar.pyx":511 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":480 + /* "nanvar.pyx":512 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":481 + /* "nanvar.pyx":513 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanvar.pyx":514 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":482 - * cdef Py_ssize_t n0 = dim[0] + /* "nanvar.pyx":515 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanvar.pyx":483 + /* "nanvar.pyx":516 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":484 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 + /* "nanvar.pyx":517 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 + */ + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { + + /* "nanvar.pyx":518 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 * if count > 0: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanvar.pyx":485 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< + /* "nanvar.pyx":519 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< * if count > 0: * amean = asum / count */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L5; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; + } + __pyx_L7:; } - __pyx_L5:; } - /* "nanvar.pyx":486 - * asum += ai - * count += 1 + /* "nanvar.pyx":520 + * asum += ai + * count += 1 * if count > 0: # <<<<<<<<<<<<<< * amean = asum / count * asum = 0 */ - __pyx_t_4 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_4) { + __pyx_t_7 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_7) { - /* "nanvar.pyx":487 - * count += 1 + /* "nanvar.pyx":521 + * count += 1 * if count > 0: * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 @@ -6273,85 +6731,98 @@ static PyObject *__pyx_pf_6nanvar_22nanvar_1d_float32_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":488 + /* "nanvar.pyx":522 * if count > 0: * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1): */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":489 + /* "nanvar.pyx":523 * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":490 + /* "nanvar.pyx":524 * asum = 0 * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanvar.pyx":491 + /* "nanvar.pyx":525 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":492 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * return np.float32(asum / (count - ddof)) + /* "nanvar.pyx":526 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { - /* "nanvar.pyx":493 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float32(asum / (count - ddof)) + /* "nanvar.pyx":527 + * ai = a[i0, i1] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * return np.float(asum / (count - ddof)) + */ + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanvar.pyx":528 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * return np.float(asum / (count - ddof)) * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L13; + } + __pyx_L13:; } - __pyx_L9:; } - /* "nanvar.pyx":494 - * ai -= amean - * asum += (ai * ai) - * return np.float32(asum / (count - ddof)) # <<<<<<<<<<<<<< + /* "nanvar.pyx":529 + * ai -= amean + * asum += (ai * ai) + * return np.float(asum / (count - ddof)) # <<<<<<<<<<<<<< * else: - * return np.float32(NAN) + * return np.float(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); if (unlikely(__pyx_t_1 == 0)) { #ifdef WITH_THREAD @@ -6361,108 +6832,108 @@ static PyObject *__pyx_pf_6nanvar_22nanvar_1d_float32_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_7 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - } + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (!__pyx_t_9) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_6); + __pyx_t_11 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_13 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + if (!__pyx_t_13) { + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL; + PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_11 = 0; + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; - PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_r = __pyx_t_10; + __pyx_t_10 = 0; goto __pyx_L0; } /*else*/ { - /* "nanvar.pyx":496 - * return np.float32(asum / (count - ddof)) + /* "nanvar.pyx":531 + * return np.float(asum / (count - ddof)) * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< + * return np.float(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_7); + __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); + __Pyx_DECREF_SET(__pyx_t_14, function); } } - if (!__pyx_t_7) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_6); + if (!__pyx_t_11) { + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_12); + __Pyx_GIVEREF(__pyx_t_12); + __pyx_t_12 = 0; + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_r = __pyx_t_10; + __pyx_t_10 = 0; goto __pyx_L0; } - /* "nanvar.pyx":473 + /* "nanvar.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanvar_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6473,19 +6944,19 @@ static PyObject *__pyx_pf_6nanvar_22nanvar_1d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanvar.pyx":500 +/* "nanvar.pyx":535 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanvar_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_25nanvar_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_24nanvar_1d_float64_axisNone[] = "nanvar_1d_float64_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_25nanvar_1d_float64_axisNone = {"nanvar_1d_float64_axisNone", (PyCFunction)__pyx_pw_6nanvar_25nanvar_1d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_24nanvar_1d_float64_axisNone}; -static PyObject *__pyx_pw_6nanvar_25nanvar_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_25nanvar_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_24nanvar_2d_float32_axisNone[] = "nanvar_2d_float32_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_25nanvar_2d_float32_axisNone = {"nanvar_2d_float32_axisNone", (PyCFunction)__pyx_pw_6nanvar_25nanvar_2d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_24nanvar_2d_float32_axisNone}; +static PyObject *__pyx_pw_6nanvar_25nanvar_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -6493,7 +6964,7 @@ static PyObject *__pyx_pw_6nanvar_25nanvar_1d_float64_axisNone(PyObject *__pyx_s int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_1d_float64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -6514,11 +6985,11 @@ static PyObject *__pyx_pw_6nanvar_25nanvar_1d_float64_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_1d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6527,18 +6998,18 @@ static PyObject *__pyx_pw_6nanvar_25nanvar_1d_float64_axisNone(PyObject *__pyx_s values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_1d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_24nanvar_1d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_24nanvar_2d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -6549,14 +7020,16 @@ static PyObject *__pyx_pw_6nanvar_25nanvar_1d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_24nanvar_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_24nanvar_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_amean; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -6564,128 +7037,154 @@ static PyObject *__pyx_pf_6nanvar_24nanvar_1d_float64_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_6; + int __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_1d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":502 - * def nanvar_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): - * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." + /* "nanvar.pyx":537 + * def nanvar_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, amean, ai - * cdef Py_ssize_t i0 + * cdef np.float32_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_count = 0; - /* "nanvar.pyx":503 - * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." + /* "nanvar.pyx":538 + * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":506 - * cdef Py_ssize_t i0 + /* "nanvar.pyx":541 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":507 + /* "nanvar.pyx":542 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":508 + /* "nanvar.pyx":543 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanvar.pyx":544 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":509 - * cdef Py_ssize_t n0 = dim[0] + /* "nanvar.pyx":545 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanvar.pyx":510 + /* "nanvar.pyx":546 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":511 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 + /* "nanvar.pyx":547 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 + */ + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { + + /* "nanvar.pyx":548 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 * if count > 0: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanvar.pyx":512 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< + /* "nanvar.pyx":549 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< * if count > 0: * amean = asum / count */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L5; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; + } + __pyx_L7:; } - __pyx_L5:; } - /* "nanvar.pyx":513 - * asum += ai - * count += 1 + /* "nanvar.pyx":550 + * asum += ai + * count += 1 * if count > 0: # <<<<<<<<<<<<<< * amean = asum / count * asum = 0 */ - __pyx_t_4 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_4) { + __pyx_t_7 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_7) { - /* "nanvar.pyx":514 - * count += 1 + /* "nanvar.pyx":551 + * count += 1 * if count > 0: * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 @@ -6699,85 +7198,98 @@ static PyObject *__pyx_pf_6nanvar_24nanvar_1d_float64_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":515 + /* "nanvar.pyx":552 * if count > 0: * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1): */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":516 + /* "nanvar.pyx":553 * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":517 + /* "nanvar.pyx":554 * asum = 0 * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanvar.pyx":518 + /* "nanvar.pyx":555 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":519 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * return np.float64(asum / (count - ddof)) + /* "nanvar.pyx":556 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { - /* "nanvar.pyx":520 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float64(asum / (count - ddof)) + /* "nanvar.pyx":557 + * ai = a[i0, i1] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * return np.float32(asum / (count - ddof)) + */ + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanvar.pyx":558 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * return np.float32(asum / (count - ddof)) * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L13; + } + __pyx_L13:; } - __pyx_L9:; } - /* "nanvar.pyx":521 - * ai -= amean - * asum += (ai * ai) - * return np.float64(asum / (count - ddof)) # <<<<<<<<<<<<<< + /* "nanvar.pyx":559 + * ai -= amean + * asum += (ai * ai) + * return np.float32(asum / (count - ddof)) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * return np.float32(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); if (unlikely(__pyx_t_1 == 0)) { #ifdef WITH_THREAD @@ -6787,108 +7299,108 @@ static PyObject *__pyx_pf_6nanvar_24nanvar_1d_float64_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_7 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_9); + __pyx_t_11 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_13 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); + __Pyx_DECREF_SET(__pyx_t_12, function); } } - if (!__pyx_t_9) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_6); + if (!__pyx_t_13) { + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL; + PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_11 = 0; + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; - PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_r = __pyx_t_10; + __pyx_t_10 = 0; goto __pyx_L0; } /*else*/ { - /* "nanvar.pyx":523 - * return np.float64(asum / (count - ddof)) + /* "nanvar.pyx":561 + * return np.float32(asum / (count - ddof)) * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_7); + __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float32); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); + __Pyx_DECREF_SET(__pyx_t_14, function); } } - if (!__pyx_t_7) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_6); + if (!__pyx_t_11) { + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_12); + __Pyx_GIVEREF(__pyx_t_12); + __pyx_t_12 = 0; + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_r = __pyx_t_10; + __pyx_t_10 = 0; goto __pyx_L0; } - /* "nanvar.pyx":500 + /* "nanvar.pyx":535 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanvar_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6899,19 +7411,19 @@ static PyObject *__pyx_pf_6nanvar_24nanvar_1d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanvar.pyx":527 +/* "nanvar.pyx":565 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanvar_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_27nanvar_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_26nanvar_2d_float_axisNone[] = "nanvar_2d_float_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_27nanvar_2d_float_axisNone = {"nanvar_2d_float_axisNone", (PyCFunction)__pyx_pw_6nanvar_27nanvar_2d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_26nanvar_2d_float_axisNone}; -static PyObject *__pyx_pw_6nanvar_27nanvar_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_27nanvar_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_26nanvar_2d_float64_axisNone[] = "nanvar_2d_float64_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_27nanvar_2d_float64_axisNone = {"nanvar_2d_float64_axisNone", (PyCFunction)__pyx_pw_6nanvar_27nanvar_2d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_26nanvar_2d_float64_axisNone}; +static PyObject *__pyx_pw_6nanvar_27nanvar_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -6919,7 +7431,7 @@ static PyObject *__pyx_pw_6nanvar_27nanvar_2d_float_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_float_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -6940,11 +7452,11 @@ static PyObject *__pyx_pw_6nanvar_27nanvar_2d_float_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6953,18 +7465,18 @@ static PyObject *__pyx_pw_6nanvar_27nanvar_2d_float_axisNone(PyObject *__pyx_sel values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_26nanvar_2d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_26nanvar_2d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -6975,11 +7487,11 @@ static PyObject *__pyx_pw_6nanvar_27nanvar_2d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_amean; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -7006,36 +7518,36 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":529 - * def nanvar_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." + /* "nanvar.pyx":567 + * def nanvar_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, amean, ai + * cdef np.float64_t asum = 0, amean, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_count = 0; - /* "nanvar.pyx":530 - * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." + /* "nanvar.pyx":568 + * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":533 + /* "nanvar.pyx":571 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7044,7 +7556,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":534 + /* "nanvar.pyx":572 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7053,7 +7565,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":535 + /* "nanvar.pyx":573 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7062,7 +7574,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":536 + /* "nanvar.pyx":574 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -7073,7 +7585,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":537 + /* "nanvar.pyx":575 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -7084,7 +7596,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "nanvar.pyx":538 + /* "nanvar.pyx":576 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -7093,9 +7605,9 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_t_5 = __pyx_v_i0; __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":539 + /* "nanvar.pyx":577 * for i1 in range(n1): * ai = a[i0, i1] * if ai == ai: # <<<<<<<<<<<<<< @@ -7105,7 +7617,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "nanvar.pyx":540 + /* "nanvar.pyx":578 * ai = a[i0, i1] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -7114,7 +7626,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanvar.pyx":541 + /* "nanvar.pyx":579 * if ai == ai: * asum += ai * count += 1 # <<<<<<<<<<<<<< @@ -7128,7 +7640,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "nanvar.pyx":542 + /* "nanvar.pyx":580 * asum += ai * count += 1 * if count > 0: # <<<<<<<<<<<<<< @@ -7138,7 +7650,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_7 = ((__pyx_v_count > 0) != 0); if (__pyx_t_7) { - /* "nanvar.pyx":543 + /* "nanvar.pyx":581 * count += 1 * if count > 0: * amean = asum / count # <<<<<<<<<<<<<< @@ -7153,11 +7665,11 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":544 + /* "nanvar.pyx":582 * if count > 0: * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< @@ -7166,7 +7678,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":545 + /* "nanvar.pyx":583 * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -7177,7 +7689,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":546 + /* "nanvar.pyx":584 * asum = 0 * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -7188,7 +7700,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "nanvar.pyx":547 + /* "nanvar.pyx":585 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -7197,9 +7709,9 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":548 + /* "nanvar.pyx":586 * for i1 in range(n1): * ai = a[i0, i1] * if ai == ai: # <<<<<<<<<<<<<< @@ -7209,20 +7721,20 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "nanvar.pyx":549 + /* "nanvar.pyx":587 * ai = a[i0, i1] * if ai == ai: * ai -= amean # <<<<<<<<<<<<<< * asum += (ai * ai) - * return np.float(asum / (count - ddof)) + * return np.float64(asum / (count - ddof)) */ __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":550 + /* "nanvar.pyx":588 * if ai == ai: * ai -= amean * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float(asum / (count - ddof)) + * return np.float64(asum / (count - ddof)) * else: */ __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); @@ -7232,17 +7744,17 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "nanvar.pyx":551 + /* "nanvar.pyx":589 * ai -= amean * asum += (ai * ai) - * return np.float(asum / (count - ddof)) # <<<<<<<<<<<<<< + * return np.float64(asum / (count - ddof)) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); @@ -7254,9 +7766,9 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_11 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __pyx_t_13 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { @@ -7269,17 +7781,17 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_13) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL; PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } @@ -7290,20 +7802,20 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj } /*else*/ { - /* "nanvar.pyx":553 - * return np.float(asum / (count - ddof)) + /* "nanvar.pyx":591 + * return np.float64(asum / (count - ddof)) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float64); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_14))) { @@ -7316,17 +7828,17 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_11) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -7336,11 +7848,11 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "nanvar.pyx":527 + /* "nanvar.pyx":565 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanvar_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ @@ -7355,7 +7867,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7366,19 +7878,19 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanvar.pyx":557 +/* "nanvar.pyx":595 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_29nanvar_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_28nanvar_2d_float32_axisNone[] = "nanvar_2d_float32_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_29nanvar_2d_float32_axisNone = {"nanvar_2d_float32_axisNone", (PyCFunction)__pyx_pw_6nanvar_29nanvar_2d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_28nanvar_2d_float32_axisNone}; -static PyObject *__pyx_pw_6nanvar_29nanvar_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_29nanvar_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_28nanvar_1d_int_axisNone[] = "nanvar_1d_int_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_29nanvar_1d_int_axisNone = {"nanvar_1d_int_axisNone", (PyCFunction)__pyx_pw_6nanvar_29nanvar_1d_int_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_28nanvar_1d_int_axisNone}; +static PyObject *__pyx_pw_6nanvar_29nanvar_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -7386,7 +7898,7 @@ static PyObject *__pyx_pw_6nanvar_29nanvar_2d_float32_axisNone(PyObject *__pyx_s int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_float32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_1d_int_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -7407,11 +7919,11 @@ static PyObject *__pyx_pw_6nanvar_29nanvar_2d_float32_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_int_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7420,18 +7932,18 @@ static PyObject *__pyx_pw_6nanvar_29nanvar_2d_float32_axisNone(PyObject *__pyx_s values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_int_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_28nanvar_2d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_28nanvar_1d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -7442,278 +7954,284 @@ static PyObject *__pyx_pw_6nanvar_29nanvar_2d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_28nanvar_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_amean; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_28nanvar_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - int __pyx_t_7; + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_1d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nanvar.pyx":559 - * def nanvar_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanvar.pyx":560 - * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + /* "nanvar.pyx":597 + * def nanvar_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): + * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":563 - * cdef Py_ssize_t i0, i1 + /* "nanvar.pyx":601 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":564 + /* "nanvar.pyx":602 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * size = n0 + * if size == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":565 + /* "nanvar.pyx":603 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * size = n0 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nanvar.pyx":566 + /* "nanvar.pyx":604 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * size = n0 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":567 - * cdef Py_ssize_t n1 = dim[1] + /* "nanvar.pyx":605 + * size = n0 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + * ai = a[i0] */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanvar.pyx":568 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + /* "nanvar.pyx":606 + * if size == 0: + * return np.float64(NAN) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":569 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanvar.pyx":607 + * return np.float64(NAN) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":570 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanvar.pyx":608 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * amean = asum / size */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":571 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanvar.pyx":609 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + goto __pyx_L6; } + __pyx_L6:; } - /* "nanvar.pyx":572 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 - */ - __pyx_t_7 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_7) { - - /* "nanvar.pyx":573 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":610 + * if ai == ai: + * asum += ai + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanvar.pyx":574 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanvar.pyx":611 + * asum += ai + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0.0; - /* "nanvar.pyx":575 - * amean = asum / count - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanvar.pyx":612 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":576 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanvar.pyx":613 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_10 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":577 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanvar.pyx":614 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":578 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanvar.pyx":615 + * ai = a[i0] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":579 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * return np.float32(asum / (count - ddof)) + /* "nanvar.pyx":616 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(asum / (size - ddof)) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; + } + __pyx_L9:; + } - /* "nanvar.pyx":580 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float32(asum / (count - ddof)) + /* "nanvar.pyx":617 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(asum / (size - ddof)) * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L13; - } - __pyx_L13:; - } - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":581 - * ai -= amean - * asum += (ai * ai) - * return np.float32(asum / (count - ddof)) # <<<<<<<<<<<<<< + /* "nanvar.pyx":618 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< * else: - * return np.float32(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_1 == 0)) { + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -7721,108 +8239,108 @@ static PyObject *__pyx_pf_6nanvar_28nanvar_2d_float32_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_11 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_13 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_13); + __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); + __Pyx_DECREF_SET(__pyx_t_6, function); } } - if (!__pyx_t_13) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_GOTREF(__pyx_t_10); + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); } else { - __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL; - PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_11 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_10; - __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; goto __pyx_L0; } /*else*/ { - /* "nanvar.pyx":583 - * return np.float32(asum / (count - ddof)) + /* "nanvar.pyx":620 + * return np.float64(asum / (size - ddof)) * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float32); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_11); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); + __Pyx_DECREF_SET(__pyx_t_5, function); } } - if (!__pyx_t_11) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_GOTREF(__pyx_t_10); + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); } else { - __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_12); - __Pyx_GIVEREF(__pyx_t_12); - __pyx_t_12 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_r = __pyx_t_10; - __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; goto __pyx_L0; } - /* "nanvar.pyx":557 + /* "nanvar.pyx":595 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7833,19 +8351,19 @@ static PyObject *__pyx_pf_6nanvar_28nanvar_2d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanvar.pyx":587 +/* "nanvar.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_31nanvar_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_30nanvar_2d_float64_axisNone[] = "nanvar_2d_float64_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_31nanvar_2d_float64_axisNone = {"nanvar_2d_float64_axisNone", (PyCFunction)__pyx_pw_6nanvar_31nanvar_2d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_30nanvar_2d_float64_axisNone}; -static PyObject *__pyx_pw_6nanvar_31nanvar_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_31nanvar_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_30nanvar_1d_int8_axisNone[] = "nanvar_1d_int8_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_31nanvar_1d_int8_axisNone = {"nanvar_1d_int8_axisNone", (PyCFunction)__pyx_pw_6nanvar_31nanvar_1d_int8_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_30nanvar_1d_int8_axisNone}; +static PyObject *__pyx_pw_6nanvar_31nanvar_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -7853,7 +8371,7 @@ static PyObject *__pyx_pw_6nanvar_31nanvar_2d_float64_axisNone(PyObject *__pyx_s int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_float64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_1d_int8_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -7874,11 +8392,11 @@ static PyObject *__pyx_pw_6nanvar_31nanvar_2d_float64_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_int8_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7887,18 +8405,18 @@ static PyObject *__pyx_pw_6nanvar_31nanvar_2d_float64_axisNone(PyObject *__pyx_s values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_int8_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_30nanvar_2d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_30nanvar_1d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -7909,177 +8427,284 @@ static PyObject *__pyx_pw_6nanvar_31nanvar_2d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_30nanvar_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; +static PyObject *__pyx_pf_6nanvar_30nanvar_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - int __pyx_t_7; + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_1d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanvar.pyx":589 - * def nanvar_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanvar.pyx":590 - * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanvar.pyx":626 + * def nanvar_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): + * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":593 - * cdef Py_ssize_t i0, i1 + /* "nanvar.pyx":630 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":594 + /* "nanvar.pyx":631 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * size = n0 + * if size == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":595 + /* "nanvar.pyx":632 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * size = n0 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nanvar.pyx":596 + /* "nanvar.pyx":633 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): + */ + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { + + /* "nanvar.pyx":634 + * size = n0 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } + + /* "nanvar.pyx":635 + * if size == 0: + * return np.float64(NAN) * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * if ai == ai: */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":597 - * cdef Py_ssize_t n1 = dim[1] + /* "nanvar.pyx":636 + * return np.float64(NAN) * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":598 + /* "nanvar.pyx":637 * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * amean = asum / size */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":599 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanvar.pyx":638 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + goto __pyx_L6; + } + __pyx_L6:; + } - /* "nanvar.pyx":600 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanvar.pyx":639 + * if ai == ai: + * asum += ai + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanvar.pyx":601 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanvar.pyx":640 + * asum += ai + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __pyx_v_asum = 0.0; + + /* "nanvar.pyx":641 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: + */ + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; + + /* "nanvar.pyx":642 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean + */ + __pyx_t_10 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); + + /* "nanvar.pyx":643 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) + */ + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { + + /* "nanvar.pyx":644 + * ai = a[i0] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: + */ + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanvar.pyx":645 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(asum / (size - ddof)) + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; } + __pyx_L9:; } - /* "nanvar.pyx":602 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanvar.pyx":646 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(asum / (size - ddof)) + * else: */ - __pyx_t_7 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_7) { + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":603 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":647 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - if (unlikely(__pyx_v_count == 0)) { + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -8087,209 +8712,108 @@ static PyObject *__pyx_pf_6nanvar_30nanvar_2d_float64_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - - /* "nanvar.pyx":604 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): - */ - __pyx_v_asum = 0.0; - - /* "nanvar.pyx":605 - * amean = asum / count - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; - - /* "nanvar.pyx":606 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; - - /* "nanvar.pyx":607 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanvar.pyx":608 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) - */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { - - /* "nanvar.pyx":609 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * return np.float64(asum / (count - ddof)) - */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - - /* "nanvar.pyx":610 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float64(asum / (count - ddof)) - * else: - */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L13; - } - __pyx_L13:; - } - } - - /* "nanvar.pyx":611 - * ai -= amean - * asum += (ai * ai) - * return np.float64(asum / (count - ddof)) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_1 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_11 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_13 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_13); + __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); + __Pyx_DECREF_SET(__pyx_t_6, function); } } - if (!__pyx_t_13) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_GOTREF(__pyx_t_10); + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); } else { - __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL; - PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_11 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_10; - __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; goto __pyx_L0; } /*else*/ { - /* "nanvar.pyx":613 - * return np.float64(asum / (count - ddof)) + /* "nanvar.pyx":649 + * return np.float64(asum / (size - ddof)) * else: * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float64); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_11); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); + __Pyx_DECREF_SET(__pyx_t_5, function); } } - if (!__pyx_t_11) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_GOTREF(__pyx_t_10); + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); } else { - __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_12); - __Pyx_GIVEREF(__pyx_t_12); - __pyx_t_12 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_r = __pyx_t_10; - __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; goto __pyx_L0; } - /* "nanvar.pyx":587 + /* "nanvar.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8300,19 +8824,19 @@ static PyObject *__pyx_pf_6nanvar_30nanvar_2d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanvar.pyx":617 +/* "nanvar.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_33nanvar_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_32nanvar_2d_float_axis0[] = "nanvar_2d_float_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_33nanvar_2d_float_axis0 = {"nanvar_2d_float_axis0", (PyCFunction)__pyx_pw_6nanvar_33nanvar_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_32nanvar_2d_float_axis0}; -static PyObject *__pyx_pw_6nanvar_33nanvar_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_33nanvar_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_32nanvar_1d_int32_axisNone[] = "nanvar_1d_int32_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_33nanvar_1d_int32_axisNone = {"nanvar_1d_int32_axisNone", (PyCFunction)__pyx_pw_6nanvar_33nanvar_1d_int32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_32nanvar_1d_int32_axisNone}; +static PyObject *__pyx_pw_6nanvar_33nanvar_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -8320,7 +8844,7 @@ static PyObject *__pyx_pw_6nanvar_33nanvar_2d_float_axis0(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_1d_int32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -8341,11 +8865,11 @@ static PyObject *__pyx_pw_6nanvar_33nanvar_2d_float_axis0(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_int32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -8354,18 +8878,18 @@ static PyObject *__pyx_pw_6nanvar_33nanvar_2d_float_axis0(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_int32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_32nanvar_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_32nanvar_1d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -8376,398 +8900,416 @@ static PyObject *__pyx_pw_6nanvar_33nanvar_2d_float_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_32nanvar_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_amean; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_32nanvar_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_float_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanvar_1d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanvar.pyx":619 - * def nanvar_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 + /* "nanvar.pyx":655 + * def nanvar_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): + * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ - __pyx_v_count = 0; + __pyx_v_asum = 0.0; - /* "nanvar.pyx":620 - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - */ - __pyx_v_asum = 0.0; - - /* "nanvar.pyx":623 - * cdef Py_ssize_t i0, i1 + /* "nanvar.pyx":659 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":624 + /* "nanvar.pyx":660 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 + * if size == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":625 + /* "nanvar.pyx":661 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nanvar.pyx":626 + /* "nanvar.pyx":662 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * size = n0 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":627 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * for i1 in range(n1): + /* "nanvar.pyx":663 + * size = n0 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanvar.pyx":629 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + /* "nanvar.pyx":664 + * if size == 0: + * return np.float64(NAN) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":630 - * NPY_float, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): + /* "nanvar.pyx":665 + * return np.float64(NAN) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_v_asum = 0.0; + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":631 - * for i1 in range(n1): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanvar.pyx":666 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * amean = asum / size */ - __pyx_v_count = 0; + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":632 - * asum = 0 - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanvar.pyx":667 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + goto __pyx_L6; + } + __pyx_L6:; + } - /* "nanvar.pyx":633 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + /* "nanvar.pyx":668 + * if ai == ai: + * asum += ai + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanvar.pyx":634 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanvar.pyx":669 + * asum += ai + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_asum = 0.0; - /* "nanvar.pyx":635 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanvar.pyx":670 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":636 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanvar.pyx":671 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; - } + __pyx_t_10 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":637 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanvar.pyx":672 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":638 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":673 + * ai = a[i0] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - - /* "nanvar.pyx":639 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_asum = 0.0; - - /* "nanvar.pyx":640 - * amean = asum / count - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanvar.pyx":641 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean - */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanvar.pyx":642 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":643 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = asum / (count - ddof) + /* "nanvar.pyx":674 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(asum / (size - ddof)) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; + } + __pyx_L9:; + } - /* "nanvar.pyx":644 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = asum / (count - ddof) - * else: + /* "nanvar.pyx":675 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(asum / (size - ddof)) + * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":645 - * ai -= amean - * asum += (ai * ai) - * y[i1] = asum / (count - ddof) # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN + /* "nanvar.pyx":676 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); - goto __pyx_L8; } - /*else*/ { - - /* "nanvar.pyx":647 - * y[i1] = asum / (count - ddof) - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanvar.pyx":648 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanvar.pyx":678 + * return np.float64(asum / (size - ddof)) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanvar.pyx":617 + /* "nanvar.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanvar.pyx":652 +/* "nanvar.pyx":682 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_35nanvar_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_34nanvar_2d_float_axis1[] = "nanvar_2d_float_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_35nanvar_2d_float_axis1 = {"nanvar_2d_float_axis1", (PyCFunction)__pyx_pw_6nanvar_35nanvar_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_34nanvar_2d_float_axis1}; -static PyObject *__pyx_pw_6nanvar_35nanvar_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_35nanvar_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_34nanvar_1d_int64_axisNone[] = "nanvar_1d_int64_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_35nanvar_1d_int64_axisNone = {"nanvar_1d_int64_axisNone", (PyCFunction)__pyx_pw_6nanvar_35nanvar_1d_int64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_34nanvar_1d_int64_axisNone}; +static PyObject *__pyx_pw_6nanvar_35nanvar_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -8775,7 +9317,7 @@ static PyObject *__pyx_pw_6nanvar_35nanvar_2d_float_axis1(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_1d_int64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -8796,11 +9338,11 @@ static PyObject *__pyx_pw_6nanvar_35nanvar_2d_float_axis1(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_int64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -8809,18 +9351,18 @@ static PyObject *__pyx_pw_6nanvar_35nanvar_2d_float_axis1(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_int64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_34nanvar_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_34nanvar_1d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -8831,398 +9373,416 @@ static PyObject *__pyx_pw_6nanvar_35nanvar_2d_float_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_34nanvar_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_amean; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_34nanvar_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_float_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanvar_1d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanvar.pyx":654 - * def nanvar_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanvar.pyx":655 - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + /* "nanvar.pyx":684 + * def nanvar_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): + * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":658 - * cdef Py_ssize_t i0, i1 + /* "nanvar.pyx":688 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":659 + /* "nanvar.pyx":689 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * size = n0 + * if size == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":660 + /* "nanvar.pyx":690 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nanvar.pyx":661 + /* "nanvar.pyx":691 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * size = n0 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":662 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) + /* "nanvar.pyx":692 + * size = n0 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanvar.pyx":664 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + /* "nanvar.pyx":693 + * if size == 0: + * return np.float64(NAN) * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + * ai = a[i0] + * if ai == ai: */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":665 - * NPY_float, 0) + /* "nanvar.pyx":694 + * return np.float64(NAN) * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i1 in range(n1): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_v_asum = 0.0; + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":666 + /* "nanvar.pyx":695 * for i0 in range(n0): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * amean = asum / size */ - __pyx_v_count = 0; + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":667 - * asum = 0 - * count = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanvar.pyx":696 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + goto __pyx_L6; + } + __pyx_L6:; + } - /* "nanvar.pyx":668 - * count = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + /* "nanvar.pyx":697 + * if ai == ai: + * asum += ai + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanvar.pyx":669 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanvar.pyx":698 + * asum += ai + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_asum = 0.0; - /* "nanvar.pyx":670 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanvar.pyx":699 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":671 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanvar.pyx":700 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; - } + __pyx_t_10 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":672 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanvar.pyx":701 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":673 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanvar.pyx":702 + * ai = a[i0] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - - /* "nanvar.pyx":674 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_asum = 0.0; - - /* "nanvar.pyx":675 - * amean = asum / count - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanvar.pyx":676 - * asum = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean - */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanvar.pyx":677 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":678 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = asum / (count - ddof) + /* "nanvar.pyx":703 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(asum / (size - ddof)) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; + } + __pyx_L9:; + } - /* "nanvar.pyx":679 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = asum / (count - ddof) - * else: + /* "nanvar.pyx":704 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(asum / (size - ddof)) + * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":680 - * ai -= amean - * asum += (ai * ai) - * y[i0] = asum / (count - ddof) # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN + /* "nanvar.pyx":705 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); - goto __pyx_L8; } - /*else*/ { - - /* "nanvar.pyx":682 - * y[i0] = asum / (count - ddof) - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanvar.pyx":683 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanvar.pyx":707 + * return np.float64(asum / (size - ddof)) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanvar.pyx":652 + /* "nanvar.pyx":682 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanvar.pyx":687 +/* "nanvar.pyx":711 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_37nanvar_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_36nanvar_2d_float32_axis0[] = "nanvar_2d_float32_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_37nanvar_2d_float32_axis0 = {"nanvar_2d_float32_axis0", (PyCFunction)__pyx_pw_6nanvar_37nanvar_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_36nanvar_2d_float32_axis0}; -static PyObject *__pyx_pw_6nanvar_37nanvar_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_37nanvar_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_36nanvar_2d_int_axisNone[] = "nanvar_2d_int_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_37nanvar_2d_int_axisNone = {"nanvar_2d_int_axisNone", (PyCFunction)__pyx_pw_6nanvar_37nanvar_2d_int_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_36nanvar_2d_int_axisNone}; +static PyObject *__pyx_pw_6nanvar_37nanvar_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -9230,7 +9790,7 @@ static PyObject *__pyx_pw_6nanvar_37nanvar_2d_float32_axis0(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -9251,11 +9811,11 @@ static PyObject *__pyx_pw_6nanvar_37nanvar_2d_float32_axis0(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9264,18 +9824,18 @@ static PyObject *__pyx_pw_6nanvar_37nanvar_2d_float32_axis0(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_36nanvar_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_36nanvar_2d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -9286,73 +9846,58 @@ static PyObject *__pyx_pw_6nanvar_37nanvar_2d_float32_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_36nanvar_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_amean; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_36nanvar_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_float32_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanvar_2d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":689 - * def nanvar_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanvar.pyx":690 - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< + /* "nanvar.pyx":713 + * def nanvar_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":693 + /* "nanvar.pyx":717 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9361,323 +9906,362 @@ static PyObject *__pyx_pf_6nanvar_36nanvar_2d_float32_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":694 + /* "nanvar.pyx":718 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":695 + /* "nanvar.pyx":719 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * if size == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":696 + /* "nanvar.pyx":720 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanvar.pyx":697 + /* "nanvar.pyx":721 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) - * for i1 in range(n1): + * size = n0 * n1 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { + + /* "nanvar.pyx":722 + * size = n0 * n1 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanvar.pyx":699 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + /* "nanvar.pyx":723 + * if size == 0: + * return np.float64(NAN) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":700 - * NPY_float32, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): + /* "nanvar.pyx":724 + * return np.float64(NAN) + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / size */ - __pyx_v_asum = 0.0; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanvar.pyx":701 - * for i1 in range(n1): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanvar.pyx":725 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_v_count = 0; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); + } + } - /* "nanvar.pyx":702 - * asum = 0 - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanvar.pyx":726 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanvar.pyx":703 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + /* "nanvar.pyx":727 + * asum += a[i0, i1] + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_asum = 0.0; - /* "nanvar.pyx":704 - * for i0 in range(n0): + /* "nanvar.pyx":728 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":705 + /* "nanvar.pyx":729 + * asum = 0 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + * ai -= amean */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanvar.pyx":706 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanvar.pyx":730 + * for i0 in range(n0): + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; - } + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":707 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanvar.pyx":731 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":708 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":732 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(asum / (size - ddof)) */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + } + } - /* "nanvar.pyx":709 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_asum = 0.0; - - /* "nanvar.pyx":710 - * amean = asum / count - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanvar.pyx":711 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean - */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanvar.pyx":712 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nanvar.pyx":713 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = asum / (count - ddof) - */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - - /* "nanvar.pyx":714 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = asum / (count - ddof) - * else: + /* "nanvar.pyx":733 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(asum / (size - ddof)) + * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":715 - * ai -= amean - * asum += (ai * ai) - * y[i1] = asum / (count - ddof) # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN + /* "nanvar.pyx":734 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); - goto __pyx_L8; } - /*else*/ { - - /* "nanvar.pyx":717 - * y[i1] = asum / (count - ddof) - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanvar.pyx":718 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanvar.pyx":736 + * return np.float64(asum / (size - ddof)) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanvar.pyx":687 + /* "nanvar.pyx":711 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanvar.pyx":722 +/* "nanvar.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_39nanvar_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_38nanvar_2d_float32_axis1[] = "nanvar_2d_float32_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_39nanvar_2d_float32_axis1 = {"nanvar_2d_float32_axis1", (PyCFunction)__pyx_pw_6nanvar_39nanvar_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_38nanvar_2d_float32_axis1}; -static PyObject *__pyx_pw_6nanvar_39nanvar_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_39nanvar_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_38nanvar_2d_int8_axisNone[] = "nanvar_2d_int8_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_39nanvar_2d_int8_axisNone = {"nanvar_2d_int8_axisNone", (PyCFunction)__pyx_pw_6nanvar_39nanvar_2d_int8_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_38nanvar_2d_int8_axisNone}; +static PyObject *__pyx_pw_6nanvar_39nanvar_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -9685,7 +10269,7 @@ static PyObject *__pyx_pw_6nanvar_39nanvar_2d_float32_axis1(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int8_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -9706,11 +10290,11 @@ static PyObject *__pyx_pw_6nanvar_39nanvar_2d_float32_axis1(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9719,18 +10303,18 @@ static PyObject *__pyx_pw_6nanvar_39nanvar_2d_float32_axis1(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_38nanvar_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_38nanvar_2d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -9741,73 +10325,58 @@ static PyObject *__pyx_pw_6nanvar_39nanvar_2d_float32_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_38nanvar_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_amean; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_38nanvar_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_float32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanvar_2d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":724 - * def nanvar_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanvar.pyx":725 - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< + /* "nanvar.pyx":742 + * def nanvar_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":728 + /* "nanvar.pyx":746 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9816,323 +10385,362 @@ static PyObject *__pyx_pf_6nanvar_38nanvar_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":729 + /* "nanvar.pyx":747 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":730 + /* "nanvar.pyx":748 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * if size == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":731 + /* "nanvar.pyx":749 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanvar.pyx":732 + /* "nanvar.pyx":750 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) + * size = n0 * n1 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { + + /* "nanvar.pyx":751 + * size = n0 * n1 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanvar.pyx":734 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + /* "nanvar.pyx":752 + * if size == 0: + * return np.float64(NAN) * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":735 - * NPY_float32, 0) + /* "nanvar.pyx":753 + * return np.float64(NAN) * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / size + */ + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; + + /* "nanvar.pyx":754 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 + */ + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); + } + } + + /* "nanvar.pyx":755 * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_v_asum = 0.0; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanvar.pyx":736 + /* "nanvar.pyx":756 + * asum += a[i0, i1] + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + */ + __pyx_v_asum = 0.0; + + /* "nanvar.pyx":757 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_count = 0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":737 - * asum = 0 - * count = 0 + /* "nanvar.pyx":758 + * asum = 0 + * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * if ai == ai: + * ai -= amean */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanvar.pyx":738 - * count = 0 + /* "nanvar.pyx":759 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":739 + /* "nanvar.pyx":760 * for i1 in range(n1): * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":740 + /* "nanvar.pyx":761 * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nanvar.pyx":741 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(asum / (size - ddof)) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } + } - /* "nanvar.pyx":742 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanvar.pyx":762 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(asum / (size - ddof)) + * else: */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":743 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanvar.pyx":763 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - - /* "nanvar.pyx":744 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_asum = 0.0; - - /* "nanvar.pyx":745 - * amean = asum / count - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanvar.pyx":746 - * asum = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean - */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanvar.pyx":747 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nanvar.pyx":748 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = asum / (count - ddof) - */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - - /* "nanvar.pyx":749 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = asum / (count - ddof) - * else: - */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } - - /* "nanvar.pyx":750 - * ai -= amean - * asum += (ai * ai) - * y[i0] = asum / (count - ddof) # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN - */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); - goto __pyx_L8; } - /*else*/ { - - /* "nanvar.pyx":752 - * y[i0] = asum / (count - ddof) - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanvar.pyx":753 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanvar.pyx":765 + * return np.float64(asum / (size - ddof)) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanvar.pyx":722 + /* "nanvar.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanvar.pyx":757 +/* "nanvar.pyx":769 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_41nanvar_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_40nanvar_2d_float64_axis0[] = "nanvar_2d_float64_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_41nanvar_2d_float64_axis0 = {"nanvar_2d_float64_axis0", (PyCFunction)__pyx_pw_6nanvar_41nanvar_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_40nanvar_2d_float64_axis0}; -static PyObject *__pyx_pw_6nanvar_41nanvar_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_41nanvar_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_40nanvar_2d_int32_axisNone[] = "nanvar_2d_int32_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_41nanvar_2d_int32_axisNone = {"nanvar_2d_int32_axisNone", (PyCFunction)__pyx_pw_6nanvar_41nanvar_2d_int32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_40nanvar_2d_int32_axisNone}; +static PyObject *__pyx_pw_6nanvar_41nanvar_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -10140,7 +10748,7 @@ static PyObject *__pyx_pw_6nanvar_41nanvar_2d_float64_axis0(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -10161,11 +10769,11 @@ static PyObject *__pyx_pw_6nanvar_41nanvar_2d_float64_axis0(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -10174,18 +10782,18 @@ static PyObject *__pyx_pw_6nanvar_41nanvar_2d_float64_axis0(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_40nanvar_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_40nanvar_2d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -10196,73 +10804,58 @@ static PyObject *__pyx_pw_6nanvar_41nanvar_2d_float64_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_40nanvar_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; +static PyObject *__pyx_pf_6nanvar_40nanvar_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_float64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanvar_2d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":759 - * def nanvar_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanvar.pyx":760 - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanvar.pyx":771 + * def nanvar_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":763 + /* "nanvar.pyx":775 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10271,323 +10864,362 @@ static PyObject *__pyx_pf_6nanvar_40nanvar_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":764 + /* "nanvar.pyx":776 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":765 + /* "nanvar.pyx":777 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * if size == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":766 + /* "nanvar.pyx":778 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanvar.pyx":767 + /* "nanvar.pyx":779 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * for i1 in range(n1): + * size = n0 * n1 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":769 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + /* "nanvar.pyx":780 + * size = n0 * n1 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "nanvar.pyx":770 - * NPY_float64, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): - */ - __pyx_v_asum = 0.0; - - /* "nanvar.pyx":771 - * for i1 in range(n1): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "nanvar.pyx":772 - * asum = 0 - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanvar.pyx":773 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanvar.pyx":774 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanvar.pyx":781 + * if size == 0: + * return np.float64(NAN) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":775 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanvar.pyx":782 + * return np.float64(NAN) + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / size */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanvar.pyx":776 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanvar.pyx":783 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); } + } - /* "nanvar.pyx":777 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanvar.pyx":784 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanvar.pyx":778 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":785 + * asum += a[i0, i1] + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); + __pyx_v_asum = 0.0; - /* "nanvar.pyx":779 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanvar.pyx":786 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":780 - * amean = asum / count - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanvar.pyx":787 + * asum = 0 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanvar.pyx":781 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanvar.pyx":788 + * for i0 in range(n0): + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":782 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanvar.pyx":789 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":783 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = asum / (count - ddof) + /* "nanvar.pyx":790 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(asum / (size - ddof)) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + } + } - /* "nanvar.pyx":784 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = asum / (count - ddof) - * else: + /* "nanvar.pyx":791 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(asum / (size - ddof)) + * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":785 - * ai -= amean - * asum += (ai * ai) - * y[i1] = asum / (count - ddof) # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN + /* "nanvar.pyx":792 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); - goto __pyx_L8; } - /*else*/ { - - /* "nanvar.pyx":787 - * y[i1] = asum / (count - ddof) - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanvar.pyx":788 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanvar.pyx":794 + * return np.float64(asum / (size - ddof)) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanvar.pyx":757 + /* "nanvar.pyx":769 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanvar.pyx":792 +/* "nanvar.pyx":798 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_43nanvar_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_42nanvar_2d_float64_axis1[] = "nanvar_2d_float64_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_43nanvar_2d_float64_axis1 = {"nanvar_2d_float64_axis1", (PyCFunction)__pyx_pw_6nanvar_43nanvar_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_42nanvar_2d_float64_axis1}; -static PyObject *__pyx_pw_6nanvar_43nanvar_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_43nanvar_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_42nanvar_2d_int64_axisNone[] = "nanvar_2d_int64_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_43nanvar_2d_int64_axisNone = {"nanvar_2d_int64_axisNone", (PyCFunction)__pyx_pw_6nanvar_43nanvar_2d_int64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_42nanvar_2d_int64_axisNone}; +static PyObject *__pyx_pw_6nanvar_43nanvar_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -10595,7 +11227,7 @@ static PyObject *__pyx_pw_6nanvar_43nanvar_2d_float64_axis1(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -10616,11 +11248,11 @@ static PyObject *__pyx_pw_6nanvar_43nanvar_2d_float64_axis1(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -10629,18 +11261,18 @@ static PyObject *__pyx_pw_6nanvar_43nanvar_2d_float64_axis1(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_42nanvar_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_42nanvar_2d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -10651,73 +11283,58 @@ static PyObject *__pyx_pw_6nanvar_43nanvar_2d_float64_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_42nanvar_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; +static PyObject *__pyx_pf_6nanvar_42nanvar_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_float64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanvar_2d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":794 - * def nanvar_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanvar.pyx":795 - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanvar.pyx":800 + * def nanvar_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":798 + /* "nanvar.pyx":804 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10726,305 +11343,344 @@ static PyObject *__pyx_pf_6nanvar_42nanvar_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":799 + /* "nanvar.pyx":805 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":800 + /* "nanvar.pyx":806 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * if size == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":801 + /* "nanvar.pyx":807 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanvar.pyx":802 + /* "nanvar.pyx":808 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) + * size = n0 * n1 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { + + /* "nanvar.pyx":809 + * size = n0 * n1 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanvar.pyx":804 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + /* "nanvar.pyx":810 + * if size == 0: + * return np.float64(NAN) * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":805 - * NPY_float64, 0) + /* "nanvar.pyx":811 + * return np.float64(NAN) * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i1 in range(n1): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / size */ - __pyx_v_asum = 0.0; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanvar.pyx":806 + /* "nanvar.pyx":812 * for i0 in range(n0): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "nanvar.pyx":807 - * asum = 0 - * count = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); + } + } - /* "nanvar.pyx":808 - * count = 0 + /* "nanvar.pyx":813 * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * asum += a[i0, i1] + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanvar.pyx":809 + /* "nanvar.pyx":814 + * asum += a[i0, i1] + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_asum = 0.0; - /* "nanvar.pyx":810 + /* "nanvar.pyx":815 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nanvar.pyx":811 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count - */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; - } - - /* "nanvar.pyx":812 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 - */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { - - /* "nanvar.pyx":813 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): - */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - - /* "nanvar.pyx":814 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":815 - * amean = asum / count - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanvar.pyx":816 + * asum = 0 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanvar.pyx":816 - * asum = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanvar.pyx":817 + * for i0 in range(n0): + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":817 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanvar.pyx":818 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":818 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = asum / (count - ddof) + /* "nanvar.pyx":819 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(asum / (size - ddof)) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + } + } - /* "nanvar.pyx":819 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = asum / (count - ddof) - * else: + /* "nanvar.pyx":820 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(asum / (size - ddof)) + * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":820 - * ai -= amean - * asum += (ai * ai) - * y[i0] = asum / (count - ddof) # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN + /* "nanvar.pyx":821 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); - goto __pyx_L8; } - /*else*/ { - - /* "nanvar.pyx":822 - * y[i0] = asum / (count - ddof) - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanvar.pyx":823 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanvar.pyx":823 + * return np.float64(asum / (size - ddof)) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanvar.pyx":792 + /* "nanvar.pyx":798 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -11033,16 +11689,16 @@ static PyObject *__pyx_pf_6nanvar_42nanvar_2d_float64_axis1(CYTHON_UNUSED PyObje /* "nanvar.pyx":827 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanvar_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_45nanvar_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_44nanvar_1d_int_axisNone[] = "nanvar_1d_int_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_45nanvar_1d_int_axisNone = {"nanvar_1d_int_axisNone", (PyCFunction)__pyx_pw_6nanvar_45nanvar_1d_int_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_44nanvar_1d_int_axisNone}; -static PyObject *__pyx_pw_6nanvar_45nanvar_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_45nanvar_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_44nanvar_2d_int_axis0[] = "nanvar_2d_int_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_45nanvar_2d_int_axis0 = {"nanvar_2d_int_axis0", (PyCFunction)__pyx_pw_6nanvar_45nanvar_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_44nanvar_2d_int_axis0}; +static PyObject *__pyx_pw_6nanvar_45nanvar_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -11050,7 +11706,7 @@ static PyObject *__pyx_pw_6nanvar_45nanvar_1d_int_axisNone(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_1d_int_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -11071,11 +11727,11 @@ static PyObject *__pyx_pw_6nanvar_45nanvar_1d_int_axisNone(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_1d_int_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -11088,14 +11744,14 @@ static PyObject *__pyx_pw_6nanvar_45nanvar_1d_int_axisNone(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_1d_int_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_44nanvar_1d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanvar_44nanvar_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -11106,398 +11762,319 @@ static PyObject *__pyx_pw_6nanvar_45nanvar_1d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_44nanvar_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_44nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_1d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanvar.pyx":829 - * def nanvar_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): - * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanvar_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":833 - * cdef Py_ssize_t i0 + /* "nanvar.pyx":832 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":834 + /* "nanvar.pyx":833 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * if size == 0: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":835 + /* "nanvar.pyx":834 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":836 + /* "nanvar.pyx":835 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":837 - * size = n0 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanvar.pyx":836 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; /* "nanvar.pyx":838 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { /* "nanvar.pyx":839 - * return np.float64(NAN) - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - - /* "nanvar.pyx":840 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * amean = asum / size + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i1 in range(n1): */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; + } + /*else*/ { - /* "nanvar.pyx":841 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + /* "nanvar.pyx":841 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - goto __pyx_L6; - } - __pyx_L6:; - } + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanvar.pyx":842 - * if ai == ai: - * asum += ai - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":842 + * else: + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_v_asum = 0.0; - /* "nanvar.pyx":843 - * asum += ai - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanvar.pyx":843 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n0 */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":844 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + /* "nanvar.pyx":844 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n0 + * asum = 0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanvar.pyx":845 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanvar.pyx":845 + * for i0 in range(n0): + * asum += a[i0, i1] + * amean = asum / n0 # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_10 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); - /* "nanvar.pyx":846 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanvar.pyx":846 + * asum += a[i0, i1] + * amean = asum / n0 + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_v_asum = 0.0; /* "nanvar.pyx":847 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n0 + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":848 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(asum / (size - ddof)) + /* "nanvar.pyx":848 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; - } - __pyx_L9:; - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "nanvar.pyx":849 + * for i0 in range(n0): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) + */ + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":849 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(asum / (size - ddof)) - * else: + /* "nanvar.pyx":850 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = asum / (n0 - ddof) + * return y */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + } - /* "nanvar.pyx":850 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanvar.pyx":851 + * ai -= amean + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) # <<<<<<<<<<<<<< + * return y + * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } - /*else*/ { + __pyx_L3:; - /* "nanvar.pyx":852 - * return np.float64(asum / (size - ddof)) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanvar.pyx":852 + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanvar.pyx":827 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanvar_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -11506,16 +12083,16 @@ static PyObject *__pyx_pf_6nanvar_44nanvar_1d_int_axisNone(CYTHON_UNUSED PyObjec /* "nanvar.pyx":856 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanvar_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_47nanvar_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_46nanvar_1d_int8_axisNone[] = "nanvar_1d_int8_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_47nanvar_1d_int8_axisNone = {"nanvar_1d_int8_axisNone", (PyCFunction)__pyx_pw_6nanvar_47nanvar_1d_int8_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_46nanvar_1d_int8_axisNone}; -static PyObject *__pyx_pw_6nanvar_47nanvar_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_47nanvar_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_46nanvar_2d_int_axis1[] = "nanvar_2d_int_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_47nanvar_2d_int_axis1 = {"nanvar_2d_int_axis1", (PyCFunction)__pyx_pw_6nanvar_47nanvar_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_46nanvar_2d_int_axis1}; +static PyObject *__pyx_pw_6nanvar_47nanvar_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -11523,7 +12100,7 @@ static PyObject *__pyx_pw_6nanvar_47nanvar_1d_int8_axisNone(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_1d_int8_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -11544,11 +12121,11 @@ static PyObject *__pyx_pw_6nanvar_47nanvar_1d_int8_axisNone(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_1d_int8_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -11561,14 +12138,14 @@ static PyObject *__pyx_pw_6nanvar_47nanvar_1d_int8_axisNone(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_1d_int8_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_46nanvar_1d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanvar_46nanvar_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -11579,398 +12156,319 @@ static PyObject *__pyx_pw_6nanvar_47nanvar_1d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_46nanvar_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_46nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_1d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanvar.pyx":858 - * def nanvar_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): - * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanvar_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":862 - * cdef Py_ssize_t i0 + /* "nanvar.pyx":861 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":863 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * if size == 0: - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "nanvar.pyx":864 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) - */ - __pyx_v_size = __pyx_v_n0; - - /* "nanvar.pyx":865 - * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): - */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { - - /* "nanvar.pyx":866 - * size = n0 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - - /* "nanvar.pyx":867 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + /* "nanvar.pyx":862 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":868 - * return np.float64(NAN) - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + /* "nanvar.pyx":863 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":869 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * amean = asum / size + /* "nanvar.pyx":864 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":870 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + /* "nanvar.pyx":865 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - goto __pyx_L6; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __pyx_L6:; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanvar.pyx":871 - * if ai == ai: - * asum += ai - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":867 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "nanvar.pyx":868 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i0 in range(n0): + */ + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + /*else*/ { - /* "nanvar.pyx":872 - * asum += ai - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanvar.pyx":870 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_v_asum = 0.0; + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanvar.pyx":873 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + /* "nanvar.pyx":871 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_asum = 0.0; - /* "nanvar.pyx":874 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanvar.pyx":872 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n1 */ - __pyx_t_10 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanvar.pyx":875 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanvar.pyx":873 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n1 + * asum = 0 */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanvar.pyx":876 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + /* "nanvar.pyx":874 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / n1 # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); - /* "nanvar.pyx":877 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(asum / (size - ddof)) + /* "nanvar.pyx":875 + * asum += a[i0, i1] + * amean = asum / n1 + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; - } - __pyx_L9:; - } + __pyx_v_asum = 0.0; - /* "nanvar.pyx":878 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(asum / (size - ddof)) - * else: + /* "nanvar.pyx":876 + * amean = asum / n1 + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanvar.pyx":879 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanvar.pyx":877 + * asum = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "nanvar.pyx":878 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) + */ + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanvar.pyx":879 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = asum / (n1 - ddof) + * return y + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanvar.pyx":881 - * return np.float64(asum / (size - ddof)) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanvar.pyx":880 + * ai -= amean + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanvar.pyx":881 + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanvar.pyx":856 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanvar_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -11979,16 +12477,16 @@ static PyObject *__pyx_pf_6nanvar_46nanvar_1d_int8_axisNone(CYTHON_UNUSED PyObje /* "nanvar.pyx":885 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanvar_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_49nanvar_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_48nanvar_1d_int32_axisNone[] = "nanvar_1d_int32_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_49nanvar_1d_int32_axisNone = {"nanvar_1d_int32_axisNone", (PyCFunction)__pyx_pw_6nanvar_49nanvar_1d_int32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_48nanvar_1d_int32_axisNone}; -static PyObject *__pyx_pw_6nanvar_49nanvar_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_49nanvar_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_48nanvar_2d_int8_axis0[] = "nanvar_2d_int8_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_49nanvar_2d_int8_axis0 = {"nanvar_2d_int8_axis0", (PyCFunction)__pyx_pw_6nanvar_49nanvar_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_48nanvar_2d_int8_axis0}; +static PyObject *__pyx_pw_6nanvar_49nanvar_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -11996,7 +12494,7 @@ static PyObject *__pyx_pw_6nanvar_49nanvar_1d_int32_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_1d_int32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int8_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -12017,11 +12515,11 @@ static PyObject *__pyx_pw_6nanvar_49nanvar_1d_int32_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_1d_int32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -12034,14 +12532,14 @@ static PyObject *__pyx_pw_6nanvar_49nanvar_1d_int32_axisNone(PyObject *__pyx_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_1d_int32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_48nanvar_1d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanvar_48nanvar_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -12052,398 +12550,319 @@ static PyObject *__pyx_pw_6nanvar_49nanvar_1d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_48nanvar_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_48nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_1d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int8_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanvar.pyx":887 - * def nanvar_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): - * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanvar_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":891 - * cdef Py_ssize_t i0 + /* "nanvar.pyx":890 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":892 + /* "nanvar.pyx":891 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * if size == 0: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":893 + /* "nanvar.pyx":892 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":894 + /* "nanvar.pyx":893 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":895 - * size = n0 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanvar.pyx":894 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; /* "nanvar.pyx":896 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: - */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; - - /* "nanvar.pyx":897 - * return np.float64(NAN) - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - - /* "nanvar.pyx":898 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * amean = asum / size + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanvar.pyx":899 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + /* "nanvar.pyx":897 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i1 in range(n1): */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - goto __pyx_L6; - } - __pyx_L6:; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } + /*else*/ { - /* "nanvar.pyx":900 - * if ai == ai: - * asum += ai - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":899 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanvar.pyx":901 - * asum += ai - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanvar.pyx":900 + * else: + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0.0; - /* "nanvar.pyx":902 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + /* "nanvar.pyx":901 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":903 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanvar.pyx":902 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n0 + * asum = 0 */ - __pyx_t_10 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanvar.pyx":904 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanvar.pyx":903 + * for i0 in range(n0): + * asum += a[i0, i1] + * amean = asum / n0 # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); + + /* "nanvar.pyx":904 + * asum += a[i0, i1] + * amean = asum / n0 + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_asum = 0.0; /* "nanvar.pyx":905 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n0 + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":906 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(asum / (size - ddof)) + /* "nanvar.pyx":906 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; - } - __pyx_L9:; - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":907 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(asum / (size - ddof)) - * else: + /* "nanvar.pyx":907 + * for i0 in range(n0): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":908 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanvar.pyx":908 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = asum / (n0 - ddof) + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanvar.pyx":910 - * return np.float64(asum / (size - ddof)) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanvar.pyx":909 + * ai -= amean + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanvar.pyx":910 + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanvar.pyx":885 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanvar_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -12452,16 +12871,16 @@ static PyObject *__pyx_pf_6nanvar_48nanvar_1d_int32_axisNone(CYTHON_UNUSED PyObj /* "nanvar.pyx":914 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanvar_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_51nanvar_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_50nanvar_1d_int64_axisNone[] = "nanvar_1d_int64_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_51nanvar_1d_int64_axisNone = {"nanvar_1d_int64_axisNone", (PyCFunction)__pyx_pw_6nanvar_51nanvar_1d_int64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_50nanvar_1d_int64_axisNone}; -static PyObject *__pyx_pw_6nanvar_51nanvar_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_51nanvar_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_50nanvar_2d_int8_axis1[] = "nanvar_2d_int8_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_51nanvar_2d_int8_axis1 = {"nanvar_2d_int8_axis1", (PyCFunction)__pyx_pw_6nanvar_51nanvar_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_50nanvar_2d_int8_axis1}; +static PyObject *__pyx_pw_6nanvar_51nanvar_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -12469,7 +12888,7 @@ static PyObject *__pyx_pw_6nanvar_51nanvar_1d_int64_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_1d_int64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int8_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -12490,11 +12909,11 @@ static PyObject *__pyx_pw_6nanvar_51nanvar_1d_int64_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_1d_int64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -12507,14 +12926,14 @@ static PyObject *__pyx_pw_6nanvar_51nanvar_1d_int64_axisNone(PyObject *__pyx_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_1d_int64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_50nanvar_1d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanvar_50nanvar_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -12525,398 +12944,319 @@ static PyObject *__pyx_pw_6nanvar_51nanvar_1d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_50nanvar_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_50nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_1d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int8_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanvar.pyx":916 - * def nanvar_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): - * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanvar_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":920 - * cdef Py_ssize_t i0 + /* "nanvar.pyx":919 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":921 + /* "nanvar.pyx":920 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * if size == 0: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":922 + /* "nanvar.pyx":921 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":923 + /* "nanvar.pyx":922 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":924 - * size = n0 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanvar.pyx":923 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; /* "nanvar.pyx":925 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { /* "nanvar.pyx":926 - * return np.float64(NAN) - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - - /* "nanvar.pyx":927 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * amean = asum / size - */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { - - /* "nanvar.pyx":928 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i0 in range(n0): */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - goto __pyx_L6; - } - __pyx_L6:; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } + /*else*/ { - /* "nanvar.pyx":929 - * if ai == ai: - * asum += ai - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":928 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 929; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanvar.pyx":930 - * asum += ai - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanvar.pyx":929 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0.0; + + /* "nanvar.pyx":930 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n1 */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanvar.pyx":931 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + /* "nanvar.pyx":931 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n1 + * asum = 0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanvar.pyx":932 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanvar.pyx":932 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / n1 # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_t_10 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); - /* "nanvar.pyx":933 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanvar.pyx":933 + * asum += a[i0, i1] + * amean = asum / n1 + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_v_asum = 0.0; /* "nanvar.pyx":934 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n1 + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanvar.pyx":935 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(asum / (size - ddof)) + /* "nanvar.pyx":935 + * asum = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; - } - __pyx_L9:; - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":936 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(asum / (size - ddof)) - * else: + /* "nanvar.pyx":936 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":937 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanvar.pyx":937 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = asum / (n1 - ddof) + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanvar.pyx":939 - * return np.float64(asum / (size - ddof)) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanvar.pyx":938 + * ai -= amean + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanvar.pyx":939 + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanvar.pyx":914 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanvar_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -12925,16 +13265,16 @@ static PyObject *__pyx_pf_6nanvar_50nanvar_1d_int64_axisNone(CYTHON_UNUSED PyObj /* "nanvar.pyx":943 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanvar_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_53nanvar_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_52nanvar_2d_int_axisNone[] = "nanvar_2d_int_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_53nanvar_2d_int_axisNone = {"nanvar_2d_int_axisNone", (PyCFunction)__pyx_pw_6nanvar_53nanvar_2d_int_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_52nanvar_2d_int_axisNone}; -static PyObject *__pyx_pw_6nanvar_53nanvar_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_53nanvar_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_52nanvar_2d_int32_axis0[] = "nanvar_2d_int32_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_53nanvar_2d_int32_axis0 = {"nanvar_2d_int32_axis0", (PyCFunction)__pyx_pw_6nanvar_53nanvar_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_52nanvar_2d_int32_axis0}; +static PyObject *__pyx_pw_6nanvar_53nanvar_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -12942,7 +13282,7 @@ static PyObject *__pyx_pw_6nanvar_53nanvar_2d_int_axisNone(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -12963,11 +13303,11 @@ static PyObject *__pyx_pw_6nanvar_53nanvar_2d_int_axisNone(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -12980,14 +13320,14 @@ static PyObject *__pyx_pw_6nanvar_53nanvar_2d_int_axisNone(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_52nanvar_2d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanvar_52nanvar_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -12998,58 +13338,63 @@ static PyObject *__pyx_pw_6nanvar_53nanvar_2d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_52nanvar_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_52nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int32_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanvar.pyx":945 - * def nanvar_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanvar_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":949 + /* "nanvar.pyx":948 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -13058,344 +13403,254 @@ static PyObject *__pyx_pf_6nanvar_52nanvar_2d_int_axisNone(CYTHON_UNUSED PyObjec */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":950 + /* "nanvar.pyx":949 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":951 + /* "nanvar.pyx":950 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * if size == 0: + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":952 + /* "nanvar.pyx":951 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":953 + /* "nanvar.pyx":952 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): - */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { - - /* "nanvar.pyx":954 - * size = n0 * n1 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanvar.pyx":955 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] - */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; - - /* "nanvar.pyx":956 - * return np.float64(NAN) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / size + /* "nanvar.pyx":954 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanvar.pyx":957 - * for i0 in range(n0): + /* "nanvar.pyx":955 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } + /*else*/ { - /* "nanvar.pyx":958 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":957 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanvar.pyx":959 - * asum += a[i0, i1] - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanvar.pyx":958 + * else: * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0.0; - /* "nanvar.pyx":960 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "nanvar.pyx":959 * for i1 in range(n1): - * ai = a[i0, i1] + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":961 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ai -= amean + /* "nanvar.pyx":960 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n0 + * asum = 0 */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nanvar.pyx":961 + * for i0 in range(n0): + * asum += a[i0, i1] + * amean = asum / n0 # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): + */ + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); /* "nanvar.pyx":962 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * asum += a[i0, i1] + * amean = asum / n0 + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_asum = 0.0; /* "nanvar.pyx":963 - * for i1 in range(n1): - * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n0 + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; + + /* "nanvar.pyx":964 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) + */ + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":964 - * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(asum / (size - ddof)) + /* "nanvar.pyx":965 + * for i0 in range(n0): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - } - } + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":965 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(asum / (size - ddof)) - * else: + /* "nanvar.pyx":966 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = asum / (n0 - ddof) + * return y */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + } - /* "nanvar.pyx":966 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanvar.pyx":967 + * ai -= amean + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) # <<<<<<<<<<<<<< + * return y + * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } - /*else*/ { + __pyx_L3:; - /* "nanvar.pyx":968 - * return np.float64(asum / (size - ddof)) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanvar.pyx":968 + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanvar.pyx":943 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanvar_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -13404,16 +13659,16 @@ static PyObject *__pyx_pf_6nanvar_52nanvar_2d_int_axisNone(CYTHON_UNUSED PyObjec /* "nanvar.pyx":972 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanvar_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_55nanvar_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_54nanvar_2d_int8_axisNone[] = "nanvar_2d_int8_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_55nanvar_2d_int8_axisNone = {"nanvar_2d_int8_axisNone", (PyCFunction)__pyx_pw_6nanvar_55nanvar_2d_int8_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_54nanvar_2d_int8_axisNone}; -static PyObject *__pyx_pw_6nanvar_55nanvar_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_55nanvar_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_54nanvar_2d_int32_axis1[] = "nanvar_2d_int32_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_55nanvar_2d_int32_axis1 = {"nanvar_2d_int32_axis1", (PyCFunction)__pyx_pw_6nanvar_55nanvar_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_54nanvar_2d_int32_axis1}; +static PyObject *__pyx_pw_6nanvar_55nanvar_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -13421,7 +13676,7 @@ static PyObject *__pyx_pw_6nanvar_55nanvar_2d_int8_axisNone(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int8_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -13442,11 +13697,11 @@ static PyObject *__pyx_pw_6nanvar_55nanvar_2d_int8_axisNone(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -13459,14 +13714,14 @@ static PyObject *__pyx_pw_6nanvar_55nanvar_2d_int8_axisNone(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_54nanvar_2d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanvar_54nanvar_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -13477,58 +13732,63 @@ static PyObject *__pyx_pw_6nanvar_55nanvar_2d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_54nanvar_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_54nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int32_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanvar.pyx":974 - * def nanvar_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanvar_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":978 + /* "nanvar.pyx":977 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -13537,344 +13797,254 @@ static PyObject *__pyx_pf_6nanvar_54nanvar_2d_int8_axisNone(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":979 + /* "nanvar.pyx":978 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "nanvar.pyx":980 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * if size == 0: - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanvar.pyx":981 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) - */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - - /* "nanvar.pyx":982 - * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): - */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { - - /* "nanvar.pyx":983 - * size = n0 * n1 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + */ + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":984 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanvar.pyx":979 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":985 - * return np.float64(NAN) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / size + /* "nanvar.pyx":980 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":986 - * for i0 in range(n0): - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + /* "nanvar.pyx":981 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanvar.pyx":987 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":983 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "nanvar.pyx":984 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i0 in range(n0): + */ + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + /*else*/ { - /* "nanvar.pyx":988 - * asum += a[i0, i1] - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanvar.pyx":986 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_v_asum = 0.0; + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanvar.pyx":989 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanvar.pyx":987 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_asum = 0.0; - /* "nanvar.pyx":990 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ai -= amean + /* "nanvar.pyx":988 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n1 */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; + + /* "nanvar.pyx":989 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n1 + * asum = 0 + */ + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nanvar.pyx":990 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / n1 # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): + */ + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); /* "nanvar.pyx":991 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * asum += a[i0, i1] + * amean = asum / n1 + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_asum = 0.0; /* "nanvar.pyx":992 - * for i1 in range(n1): - * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n1 + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanvar.pyx":993 - * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(asum / (size - ddof)) + /* "nanvar.pyx":993 + * asum = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - } - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":994 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(asum / (size - ddof)) - * else: + /* "nanvar.pyx":994 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":995 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanvar.pyx":995 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = asum / (n1 - ddof) + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanvar.pyx":997 - * return np.float64(asum / (size - ddof)) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanvar.pyx":996 + * ai -= amean + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 996; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanvar.pyx":997 + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanvar.pyx":972 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanvar_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -13883,16 +14053,16 @@ static PyObject *__pyx_pf_6nanvar_54nanvar_2d_int8_axisNone(CYTHON_UNUSED PyObje /* "nanvar.pyx":1001 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanvar_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_57nanvar_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_56nanvar_2d_int32_axisNone[] = "nanvar_2d_int32_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_57nanvar_2d_int32_axisNone = {"nanvar_2d_int32_axisNone", (PyCFunction)__pyx_pw_6nanvar_57nanvar_2d_int32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_56nanvar_2d_int32_axisNone}; -static PyObject *__pyx_pw_6nanvar_57nanvar_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_57nanvar_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_56nanvar_2d_int64_axis0[] = "nanvar_2d_int64_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_57nanvar_2d_int64_axis0 = {"nanvar_2d_int64_axis0", (PyCFunction)__pyx_pw_6nanvar_57nanvar_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_56nanvar_2d_int64_axis0}; +static PyObject *__pyx_pw_6nanvar_57nanvar_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -13900,7 +14070,7 @@ static PyObject *__pyx_pw_6nanvar_57nanvar_2d_int32_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -13921,11 +14091,11 @@ static PyObject *__pyx_pw_6nanvar_57nanvar_2d_int32_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -13938,14 +14108,14 @@ static PyObject *__pyx_pw_6nanvar_57nanvar_2d_int32_axisNone(PyObject *__pyx_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_56nanvar_2d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanvar_56nanvar_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -13956,58 +14126,63 @@ static PyObject *__pyx_pw_6nanvar_57nanvar_2d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_56nanvar_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_56nanvar_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int64_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanvar.pyx":1003 - * def nanvar_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanvar_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":1007 + /* "nanvar.pyx":1006 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -14016,344 +14191,254 @@ static PyObject *__pyx_pf_6nanvar_56nanvar_2d_int32_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":1008 + /* "nanvar.pyx":1007 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":1009 + /* "nanvar.pyx":1008 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * if size == 0: + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":1010 + /* "nanvar.pyx":1009 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":1011 + /* "nanvar.pyx":1010 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): - */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { - - /* "nanvar.pyx":1012 - * size = n0 * n1 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanvar.pyx":1013 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] - */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; - - /* "nanvar.pyx":1014 - * return np.float64(NAN) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / size + /* "nanvar.pyx":1012 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanvar.pyx":1015 - * for i0 in range(n0): + /* "nanvar.pyx":1013 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } + /*else*/ { + + /* "nanvar.pyx":1015 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): + */ + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanvar.pyx":1016 + /* "nanvar.pyx":1016 + * else: * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_v_asum = 0.0; - /* "nanvar.pyx":1017 - * asum += a[i0, i1] - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanvar.pyx":1017 * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n0 */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":1018 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanvar.pyx":1018 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n0 + * asum = 0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanvar.pyx":1019 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ai -= amean + /* "nanvar.pyx":1019 + * for i0 in range(n0): + * asum += a[i0, i1] + * amean = asum / n0 # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1019; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); /* "nanvar.pyx":1020 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * asum += a[i0, i1] + * amean = asum / n0 + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_asum = 0.0; /* "nanvar.pyx":1021 - * for i1 in range(n1): - * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n0 + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":1022 - * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(asum / (size - ddof)) + /* "nanvar.pyx":1022 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - } - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":1023 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(asum / (size - ddof)) - * else: + /* "nanvar.pyx":1023 + * for i0 in range(n0): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":1024 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanvar.pyx":1024 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = asum / (n0 - ddof) + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanvar.pyx":1026 - * return np.float64(asum / (size - ddof)) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanvar.pyx":1025 + * ai -= amean + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanvar.pyx":1026 + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanvar.pyx":1001 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanvar_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -14362,16 +14447,16 @@ static PyObject *__pyx_pf_6nanvar_56nanvar_2d_int32_axisNone(CYTHON_UNUSED PyObj /* "nanvar.pyx":1030 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanvar_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_59nanvar_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_58nanvar_2d_int64_axisNone[] = "nanvar_2d_int64_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_59nanvar_2d_int64_axisNone = {"nanvar_2d_int64_axisNone", (PyCFunction)__pyx_pw_6nanvar_59nanvar_2d_int64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_58nanvar_2d_int64_axisNone}; -static PyObject *__pyx_pw_6nanvar_59nanvar_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_59nanvar_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_58nanvar_2d_int64_axis1[] = "nanvar_2d_int64_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_59nanvar_2d_int64_axis1 = {"nanvar_2d_int64_axis1", (PyCFunction)__pyx_pw_6nanvar_59nanvar_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_58nanvar_2d_int64_axis1}; +static PyObject *__pyx_pw_6nanvar_59nanvar_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -14379,7 +14464,7 @@ static PyObject *__pyx_pw_6nanvar_59nanvar_2d_int64_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -14400,11 +14485,11 @@ static PyObject *__pyx_pw_6nanvar_59nanvar_2d_int64_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -14417,14 +14502,14 @@ static PyObject *__pyx_pw_6nanvar_59nanvar_2d_int64_axisNone(PyObject *__pyx_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_58nanvar_2d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanvar_58nanvar_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -14435,38 +14520,43 @@ static PyObject *__pyx_pw_6nanvar_59nanvar_2d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_58nanvar_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_58nanvar_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int64_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -14478,15 +14568,15 @@ static PyObject *__pyx_pf_6nanvar_58nanvar_2d_int64_axisNone(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanvar.pyx":1032 - * def nanvar_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanvar_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":1036 + /* "nanvar.pyx":1035 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -14495,351 +14585,261 @@ static PyObject *__pyx_pf_6nanvar_58nanvar_2d_int64_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":1037 + /* "nanvar.pyx":1036 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":1038 + /* "nanvar.pyx":1037 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * if size == 0: + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":1039 + /* "nanvar.pyx":1038 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":1040 + /* "nanvar.pyx":1039 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): - */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { - - /* "nanvar.pyx":1041 - * size = n0 * n1 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanvar.pyx":1042 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanvar.pyx":1041 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { - /* "nanvar.pyx":1043 - * return np.float64(NAN) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / size + /* "nanvar.pyx":1042 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i0 in range(n0): */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; + } + /*else*/ { - /* "nanvar.pyx":1044 - * for i0 in range(n0): - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + /* "nanvar.pyx":1044 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); - } - } + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanvar.pyx":1045 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":1045 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_v_asum = 0.0; - /* "nanvar.pyx":1046 - * asum += a[i0, i1] - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanvar.pyx":1046 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n1 */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanvar.pyx":1047 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanvar.pyx":1047 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n1 + * asum = 0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanvar.pyx":1048 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ai -= amean + /* "nanvar.pyx":1048 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / n1 # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); /* "nanvar.pyx":1049 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * asum += a[i0, i1] + * amean = asum / n1 + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_asum = 0.0; /* "nanvar.pyx":1050 - * for i1 in range(n1): - * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n1 + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanvar.pyx":1051 - * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(asum / (size - ddof)) + /* "nanvar.pyx":1051 + * asum = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - } - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":1052 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(asum / (size - ddof)) - * else: + /* "nanvar.pyx":1052 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":1053 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanvar.pyx":1053 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = asum / (n1 - ddof) + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanvar.pyx":1055 - * return np.float64(asum / (size - ddof)) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanvar.pyx":1054 + * ai -= amean + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) # <<<<<<<<<<<<<< + * return y * - * cdef dict nanvar_dict = {} */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanvar.pyx":1055 + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) + * return y # <<<<<<<<<<<<<< + * + * cdef dict nanvar_dict = {} + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanvar.pyx":1030 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanvar_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "nanvar.pyx":1094 - * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone + * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 * * def nanvar_slow_axis0(arr, ddof): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanvar along axis 0." @@ -14956,7 +14956,7 @@ static PyObject *__pyx_pf_6nanvar_60nanvar_slow_axis0(CYTHON_UNUSED PyObject *__ goto __pyx_L0; /* "nanvar.pyx":1094 - * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone + * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 * * def nanvar_slow_axis0(arr, ddof): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanvar along axis 0." @@ -19564,7 +19564,7 @@ static PyObject *__pyx_pf_6nanvar_126nanvar_slow_axisNone(CYTHON_UNUSED PyObject return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -19614,7 +19614,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -19627,7 +19627,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -19636,7 +19636,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -19645,7 +19645,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -19654,7 +19654,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -19664,7 +19664,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -19676,7 +19676,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -19687,7 +19687,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -19703,7 +19703,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -19715,7 +19715,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -19729,7 +19729,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -19745,7 +19745,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -19757,7 +19757,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -19771,7 +19771,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -19780,7 +19780,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -19789,7 +19789,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -19799,7 +19799,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -19808,7 +19808,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -19817,7 +19817,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -19828,7 +19828,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -19837,7 +19837,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -19850,7 +19850,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -19859,7 +19859,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -19870,7 +19870,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -19879,7 +19879,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -19888,7 +19888,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -19897,7 +19897,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -19906,7 +19906,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -19918,7 +19918,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -19927,7 +19927,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -19947,7 +19947,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -19963,7 +19963,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -19978,7 +19978,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -19988,7 +19988,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -19998,7 +19998,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -20021,7 +20021,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -20041,7 +20041,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -20055,7 +20055,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -20064,7 +20064,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -20075,7 +20075,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -20086,7 +20086,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -20097,7 +20097,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -20108,7 +20108,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -20119,7 +20119,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -20130,7 +20130,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -20141,7 +20141,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -20152,7 +20152,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -20163,7 +20163,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -20174,7 +20174,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -20185,7 +20185,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -20196,7 +20196,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -20207,7 +20207,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -20218,7 +20218,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -20229,7 +20229,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -20240,7 +20240,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -20252,7 +20252,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -20278,7 +20278,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -20287,7 +20287,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -20299,7 +20299,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -20308,7 +20308,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -20317,7 +20317,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -20326,7 +20326,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -20336,7 +20336,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -20346,7 +20346,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -20378,7 +20378,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -20402,7 +20402,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -20412,7 +20412,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -20424,7 +20424,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -20434,7 +20434,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -20446,7 +20446,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -20458,7 +20458,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -20475,7 +20475,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -20489,7 +20489,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -20508,7 +20508,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -20525,7 +20525,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -20539,7 +20539,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -20558,7 +20558,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -20575,7 +20575,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -20589,7 +20589,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -20608,7 +20608,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -20625,7 +20625,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -20639,7 +20639,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -20658,7 +20658,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -20675,7 +20675,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -20689,7 +20689,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -20708,7 +20708,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -20740,7 +20740,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -20749,7 +20749,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -20758,7 +20758,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -20780,7 +20780,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -20793,7 +20793,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -20832,7 +20832,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -20849,7 +20849,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -20863,7 +20863,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -20886,7 +20886,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -20906,7 +20906,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -20920,7 +20920,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -20936,7 +20936,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -20945,7 +20945,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -20954,7 +20954,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -20965,7 +20965,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -20975,7 +20975,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -20985,7 +20985,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -20997,7 +20997,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -21007,7 +21007,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -21021,7 +21021,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -21039,7 +21039,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -21057,7 +21057,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -21075,7 +21075,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -21093,7 +21093,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -21111,7 +21111,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -21129,7 +21129,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -21147,7 +21147,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -21165,7 +21165,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -21183,7 +21183,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -21201,7 +21201,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -21219,7 +21219,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -21237,7 +21237,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -21255,7 +21255,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -21275,7 +21275,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -21295,7 +21295,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -21315,7 +21315,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -21334,7 +21334,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -21357,7 +21357,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -21369,7 +21369,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -21381,7 +21381,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -21391,7 +21391,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -21401,7 +21401,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -21426,7 +21426,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -21441,7 +21441,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -21452,7 +21452,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -21464,7 +21464,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -21473,7 +21473,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -21484,7 +21484,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -21493,7 +21493,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -21502,7 +21502,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -21514,7 +21514,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -21528,7 +21528,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -21538,7 +21538,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -21552,7 +21552,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -21563,7 +21563,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -21601,7 +21601,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -21614,6 +21613,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_kp_u_Variance_along_the_specified_ax, __pyx_k_Variance_along_the_specified_ax, sizeof(__pyx_k_Variance_along_the_specified_ax), 0, 1, 0, 0}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, @@ -21742,7 +21742,7 @@ static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; @@ -21752,7 +21752,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -21763,7 +21763,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -21774,7 +21774,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -21785,7 +21785,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -21796,7 +21796,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -21807,7 +21807,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -21839,7 +21839,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_ddof, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":140 * return func(arr, ddof) @@ -21851,346 +21851,346 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_selector, 140, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_selector, 140, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__13 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__13 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int_axis0, 214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_float_axis0, 214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":243 + /* "nanvar.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__15 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__15 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int_axis1, 243, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_float_axis1, 249, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":272 + /* "nanvar.pyx":284 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__17 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__17 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int8_axis0, 272, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_float32_axis0, 284, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":301 + /* "nanvar.pyx":319 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__19 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int8_axis1, 301, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_float32_axis1, 319, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":330 + /* "nanvar.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__21 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int32_axis0, 330, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_float64_axis0, 354, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":359 + /* "nanvar.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__23 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int32_axis1, 359, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_float64_axis1, 389, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":388 + /* "nanvar.pyx":424 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__25 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int64_axis0, 388, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_1d_float_axisNone, 424, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":417 + /* "nanvar.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__27 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int64_axis1, 417, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_1d_float32_axisNone, 451, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":446 + /* "nanvar.pyx":478 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanvar_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__29 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_1d_float_axisNone, 446, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_1d_float64_axisNone, 478, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":473 + /* "nanvar.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanvar_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__31 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_1d_float32_axisNone, 473, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_float_axisNone, 505, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":500 + /* "nanvar.pyx":535 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanvar_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__33 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_1d_float64_axisNone, 500, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_float32_axisNone, 535, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":527 + /* "nanvar.pyx":565 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanvar_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__35 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_float_axisNone, 527, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_float64_axisNone, 565, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":557 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanvar_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanvar.pyx":595 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanvar_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__37 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_float32_axisNone, 557, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_1d_int_axisNone, 595, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":587 + /* "nanvar.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__39 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_float64_axisNone, 587, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_1d_int8_axisNone, 624, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":617 + /* "nanvar.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__41 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_float_axis0, 617, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_1d_int32_axisNone, 653, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":652 + /* "nanvar.pyx":682 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__43 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_float_axis1, 652, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_1d_int64_axisNone, 682, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":687 + /* "nanvar.pyx":711 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__45 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_float32_axis0, 687, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int_axisNone, 711, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":722 + /* "nanvar.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__47 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_float32_axis1, 722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int8_axisNone, 740, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":757 + /* "nanvar.pyx":769 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__49 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_float64_axis0, 757, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int32_axisNone, 769, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":792 + /* "nanvar.pyx":798 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__51 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_float64_axis1, 792, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int64_axisNone, 798, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":827 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanvar_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__53 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_1d_int_axisNone, 827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int_axis0, 827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":856 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanvar_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__55 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_1d_int8_axisNone, 856, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int_axis1, 856, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":885 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanvar_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__57 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_1d_int32_axisNone, 885, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int8_axis0, 885, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":914 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanvar_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__59 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_1d_int64_axisNone, 914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int8_axis1, 914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":943 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanvar_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__61 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int_axisNone, 943, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int32_axis0, 943, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":972 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanvar_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__63 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int8_axisNone, 972, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int32_axis1, 972, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1001 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanvar_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__65 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int32_axisNone, 1001, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int64_axis0, 1001, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1030 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanvar_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__67 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int64_axisNone, 1030, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int64_axis1, 1030, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1094 - * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone + * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 * * def nanvar_slow_axis0(arr, ddof): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanvar along axis 0." @@ -22199,7 +22199,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis0, 1094, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis0, 1094, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1098 * return bn.slow.nanvar(arr, axis=0, ddof=ddof) @@ -22211,7 +22211,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis1, 1098, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis1, 1098, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1102 * return bn.slow.nanvar(arr, axis=1, ddof=ddof) @@ -22223,7 +22223,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis2, 1102, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis2, 1102, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1106 * return bn.slow.nanvar(arr, axis=2, ddof=ddof) @@ -22235,7 +22235,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis3, 1106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis3, 1106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1110 * return bn.slow.nanvar(arr, axis=3, ddof=ddof) @@ -22247,7 +22247,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis4, 1110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis4, 1110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1114 * return bn.slow.nanvar(arr, axis=4, ddof=ddof) @@ -22259,7 +22259,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis5, 1114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis5, 1114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1118 * return bn.slow.nanvar(arr, axis=5, ddof=ddof) @@ -22271,7 +22271,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis6, 1118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis6, 1118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1122 * return bn.slow.nanvar(arr, axis=6, ddof=ddof) @@ -22283,7 +22283,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis7, 1122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis7, 1122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1126 * return bn.slow.nanvar(arr, axis=7, ddof=ddof) @@ -22295,7 +22295,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis8, 1126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis8, 1126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1130 * return bn.slow.nanvar(arr, axis=8, ddof=ddof) @@ -22307,7 +22307,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis9, 1130, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis9, 1130, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1134 * return bn.slow.nanvar(arr, axis=9, ddof=ddof) @@ -22319,7 +22319,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis10, 1134, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis10, 1134, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1138 * return bn.slow.nanvar(arr, axis=10, ddof=ddof) @@ -22331,7 +22331,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis11, 1138, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis11, 1138, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1142 * return bn.slow.nanvar(arr, axis=11, ddof=ddof) @@ -22343,7 +22343,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis12, 1142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis12, 1142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1146 * return bn.slow.nanvar(arr, axis=12, ddof=ddof) @@ -22355,7 +22355,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis13, 1146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis13, 1146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1150 * return bn.slow.nanvar(arr, axis=13, ddof=ddof) @@ -22367,7 +22367,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis14, 1150, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis14, 1150, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1154 * return bn.slow.nanvar(arr, axis=14, ddof=ddof) @@ -22379,7 +22379,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis15, 1154, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis15, 1154, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1158 * return bn.slow.nanvar(arr, axis=15, ddof=ddof) @@ -22391,7 +22391,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis16, 1158, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis16, 1158, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1162 * return bn.slow.nanvar(arr, axis=16, ddof=ddof) @@ -22403,7 +22403,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis17, 1162, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis17, 1162, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1166 * return bn.slow.nanvar(arr, axis=17, ddof=ddof) @@ -22415,7 +22415,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis18, 1166, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis18, 1166, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1170 * return bn.slow.nanvar(arr, axis=18, ddof=ddof) @@ -22427,7 +22427,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis19, 1170, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis19, 1170, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1174 * return bn.slow.nanvar(arr, axis=19, ddof=ddof) @@ -22439,7 +22439,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis20, 1174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis20, 1174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1178 * return bn.slow.nanvar(arr, axis=20, ddof=ddof) @@ -22451,7 +22451,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis21, 1178, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis21, 1178, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1182 * return bn.slow.nanvar(arr, axis=21, ddof=ddof) @@ -22463,7 +22463,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis22, 1182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis22, 1182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1186 * return bn.slow.nanvar(arr, axis=22, ddof=ddof) @@ -22475,7 +22475,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis23, 1186, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis23, 1186, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1190 * return bn.slow.nanvar(arr, axis=23, ddof=ddof) @@ -22487,7 +22487,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis24, 1190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis24, 1190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1194 * return bn.slow.nanvar(arr, axis=24, ddof=ddof) @@ -22499,7 +22499,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis25, 1194, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis25, 1194, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1198 * return bn.slow.nanvar(arr, axis=25, ddof=ddof) @@ -22511,7 +22511,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis26, 1198, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis26, 1198, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1202 * return bn.slow.nanvar(arr, axis=26, ddof=ddof) @@ -22523,7 +22523,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis27, 1202, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis27, 1202, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1206 * return bn.slow.nanvar(arr, axis=27, ddof=ddof) @@ -22535,7 +22535,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis28, 1206, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis28, 1206, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1210 * return bn.slow.nanvar(arr, axis=28, ddof=ddof) @@ -22547,7 +22547,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis29, 1210, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis29, 1210, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1214 * return bn.slow.nanvar(arr, axis=29, ddof=ddof) @@ -22559,7 +22559,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis30, 1214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis30, 1214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1218 * return bn.slow.nanvar(arr, axis=30, ddof=ddof) @@ -22571,7 +22571,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis31, 1218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis31, 1218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1222 * return bn.slow.nanvar(arr, axis=31, ddof=ddof) @@ -22583,7 +22583,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis32, 1222, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis32, 1222, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1226 * return bn.slow.nanvar(arr, axis=32, ddof=ddof) @@ -22595,7 +22595,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axisNone, 1226, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axisNone, 1226, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -23561,345 +23561,345 @@ PyMODINIT_FUNC PyInit_nanvar(void) /* "nanvar.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_5nanvar_2d_int_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "nanvar.pyx":243 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanvar_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_7nanvar_2d_int_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "nanvar.pyx":272 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanvar_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_9nanvar_2d_int8_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_5nanvar_2d_float_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":301 + /* "nanvar.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_11nanvar_2d_int8_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_7nanvar_2d_float_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":330 + /* "nanvar.pyx":284 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_13nanvar_2d_int32_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_9nanvar_2d_float32_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":359 + /* "nanvar.pyx":319 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_15nanvar_2d_int32_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_11nanvar_2d_float32_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":388 + /* "nanvar.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_17nanvar_2d_int64_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_13nanvar_2d_float64_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":417 + /* "nanvar.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_19nanvar_2d_int64_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_15nanvar_2d_float64_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":446 + /* "nanvar.pyx":424 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanvar_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_21nanvar_1d_float_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_17nanvar_1d_float_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":473 + /* "nanvar.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanvar_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_23nanvar_1d_float32_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_19nanvar_1d_float32_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":500 + /* "nanvar.pyx":478 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanvar_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_25nanvar_1d_float64_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_21nanvar_1d_float64_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":527 + /* "nanvar.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanvar_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_27nanvar_2d_float_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_23nanvar_2d_float_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":557 + /* "nanvar.pyx":535 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanvar_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_29nanvar_2d_float32_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_25nanvar_2d_float32_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":587 + /* "nanvar.pyx":565 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanvar_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_31nanvar_2d_float64_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_27nanvar_2d_float64_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":617 + /* "nanvar.pyx":595 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_33nanvar_2d_float_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_29nanvar_1d_int_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":652 + /* "nanvar.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_35nanvar_2d_float_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_31nanvar_1d_int8_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":687 + /* "nanvar.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_37nanvar_2d_float32_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_33nanvar_1d_int32_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":722 + /* "nanvar.pyx":682 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_39nanvar_2d_float32_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_35nanvar_1d_int64_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":757 + /* "nanvar.pyx":711 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_41nanvar_2d_float64_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_37nanvar_2d_int_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":792 + /* "nanvar.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_39nanvar_2d_int8_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "nanvar.pyx":769 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanvar_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_41nanvar_2d_int32_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "nanvar.pyx":798 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanvar_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_43nanvar_2d_float64_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_43nanvar_2d_int64_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":827 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanvar_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_45nanvar_1d_int_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_45nanvar_2d_int_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":856 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanvar_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_47nanvar_1d_int8_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_47nanvar_2d_int_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":885 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanvar_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_49nanvar_1d_int32_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_49nanvar_2d_int8_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":914 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanvar_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_51nanvar_1d_int64_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_51nanvar_2d_int8_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":943 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanvar_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_53nanvar_2d_int_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_53nanvar_2d_int32_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":972 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanvar_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_55nanvar_2d_int8_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_55nanvar_2d_int32_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1001 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanvar_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_57nanvar_2d_int32_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_57nanvar_2d_int64_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1030 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanvar_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_59nanvar_2d_int64_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_59nanvar_2d_int64_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1057 - * return np.float64(NAN) + * return y * * cdef dict nanvar_dict = {} # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int, 0)] = nanvar_2d_int_axis0 - * nanvar_dict[(2, NPY_int, 1)] = nanvar_2d_int_axis1 + * nanvar_dict[(2, NPY_float, 0)] = nanvar_2d_float_axis0 + * nanvar_dict[(2, NPY_float, 1)] = nanvar_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -23911,17 +23911,17 @@ PyMODINIT_FUNC PyInit_nanvar(void) /* "nanvar.pyx":1058 * * cdef dict nanvar_dict = {} - * nanvar_dict[(2, NPY_int, 0)] = nanvar_2d_int_axis0 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int, 1)] = nanvar_2d_int_axis1 - * nanvar_dict[(2, NPY_int8, 0)] = nanvar_2d_int8_axis0 + * nanvar_dict[(2, NPY_float, 0)] = nanvar_2d_float_axis0 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float, 1)] = nanvar_2d_float_axis1 + * nanvar_dict[(2, NPY_float32, 0)] = nanvar_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -23940,18 +23940,18 @@ PyMODINIT_FUNC PyInit_nanvar(void) /* "nanvar.pyx":1059 * cdef dict nanvar_dict = {} - * nanvar_dict[(2, NPY_int, 0)] = nanvar_2d_int_axis0 - * nanvar_dict[(2, NPY_int, 1)] = nanvar_2d_int_axis1 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int8, 0)] = nanvar_2d_int8_axis0 - * nanvar_dict[(2, NPY_int8, 1)] = nanvar_2d_int8_axis1 + * nanvar_dict[(2, NPY_float, 0)] = nanvar_2d_float_axis0 + * nanvar_dict[(2, NPY_float, 1)] = nanvar_2d_float_axis1 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float32, 0)] = nanvar_2d_float32_axis0 + * nanvar_dict[(2, NPY_float32, 1)] = nanvar_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -23969,19 +23969,19 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1060 - * nanvar_dict[(2, NPY_int, 0)] = nanvar_2d_int_axis0 - * nanvar_dict[(2, NPY_int, 1)] = nanvar_2d_int_axis1 - * nanvar_dict[(2, NPY_int8, 0)] = nanvar_2d_int8_axis0 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int8, 1)] = nanvar_2d_int8_axis1 - * nanvar_dict[(2, NPY_int32, 0)] = nanvar_2d_int32_axis0 + * nanvar_dict[(2, NPY_float, 0)] = nanvar_2d_float_axis0 + * nanvar_dict[(2, NPY_float, 1)] = nanvar_2d_float_axis1 + * nanvar_dict[(2, NPY_float32, 0)] = nanvar_2d_float32_axis0 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float32, 1)] = nanvar_2d_float32_axis1 + * nanvar_dict[(2, NPY_float64, 0)] = nanvar_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -23999,19 +23999,19 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1061 - * nanvar_dict[(2, NPY_int, 1)] = nanvar_2d_int_axis1 - * nanvar_dict[(2, NPY_int8, 0)] = nanvar_2d_int8_axis0 - * nanvar_dict[(2, NPY_int8, 1)] = nanvar_2d_int8_axis1 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int32, 0)] = nanvar_2d_int32_axis0 - * nanvar_dict[(2, NPY_int32, 1)] = nanvar_2d_int32_axis1 + * nanvar_dict[(2, NPY_float, 1)] = nanvar_2d_float_axis1 + * nanvar_dict[(2, NPY_float32, 0)] = nanvar_2d_float32_axis0 + * nanvar_dict[(2, NPY_float32, 1)] = nanvar_2d_float32_axis1 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float64, 0)] = nanvar_2d_float64_axis0 + * nanvar_dict[(2, NPY_float64, 1)] = nanvar_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24029,19 +24029,19 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1062 - * nanvar_dict[(2, NPY_int8, 0)] = nanvar_2d_int8_axis0 - * nanvar_dict[(2, NPY_int8, 1)] = nanvar_2d_int8_axis1 - * nanvar_dict[(2, NPY_int32, 0)] = nanvar_2d_int32_axis0 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int32, 1)] = nanvar_2d_int32_axis1 - * nanvar_dict[(2, NPY_int64, 0)] = nanvar_2d_int64_axis0 + * nanvar_dict[(2, NPY_float32, 0)] = nanvar_2d_float32_axis0 + * nanvar_dict[(2, NPY_float32, 1)] = nanvar_2d_float32_axis1 + * nanvar_dict[(2, NPY_float64, 0)] = nanvar_2d_float64_axis0 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float64, 1)] = nanvar_2d_float64_axis1 + * nanvar_dict[(1, NPY_float, 0)] = nanvar_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -24059,19 +24059,19 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1063 - * nanvar_dict[(2, NPY_int8, 1)] = nanvar_2d_int8_axis1 - * nanvar_dict[(2, NPY_int32, 0)] = nanvar_2d_int32_axis0 - * nanvar_dict[(2, NPY_int32, 1)] = nanvar_2d_int32_axis1 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int64, 0)] = nanvar_2d_int64_axis0 - * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 + * nanvar_dict[(2, NPY_float32, 1)] = nanvar_2d_float32_axis1 + * nanvar_dict[(2, NPY_float64, 0)] = nanvar_2d_float64_axis0 + * nanvar_dict[(2, NPY_float64, 1)] = nanvar_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float, 0)] = nanvar_1d_float_axisNone + * nanvar_dict[(1, NPY_float, None)] = nanvar_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24089,25 +24089,25 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1064 - * nanvar_dict[(2, NPY_int32, 0)] = nanvar_2d_int32_axis0 - * nanvar_dict[(2, NPY_int32, 1)] = nanvar_2d_int32_axis1 - * nanvar_dict[(2, NPY_int64, 0)] = nanvar_2d_int64_axis0 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 - * nanvar_dict[(1, NPY_float, 0)] = nanvar_1d_float_axisNone + * nanvar_dict[(2, NPY_float64, 0)] = nanvar_2d_float64_axis0 + * nanvar_dict[(2, NPY_float64, 1)] = nanvar_2d_float64_axis1 + * nanvar_dict[(1, NPY_float, 0)] = nanvar_1d_float_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float, None)] = nanvar_1d_float_axisNone + * nanvar_dict[(1, NPY_float32, 0)] = nanvar_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -24119,49 +24119,49 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1065 - * nanvar_dict[(2, NPY_int32, 1)] = nanvar_2d_int32_axis1 - * nanvar_dict[(2, NPY_int64, 0)] = nanvar_2d_int64_axis0 - * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float64, 1)] = nanvar_2d_float64_axis1 * nanvar_dict[(1, NPY_float, 0)] = nanvar_1d_float_axisNone - * nanvar_dict[(1, NPY_float, None)] = nanvar_1d_float_axisNone + * nanvar_dict[(1, NPY_float, None)] = nanvar_1d_float_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float32, 0)] = nanvar_1d_float32_axisNone + * nanvar_dict[(1, NPY_float32, None)] = nanvar_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1066 - * nanvar_dict[(2, NPY_int64, 0)] = nanvar_2d_int64_axis0 - * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 - * nanvar_dict[(1, NPY_float, 0)] = nanvar_1d_float_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float, 0)] = nanvar_1d_float_axisNone * nanvar_dict[(1, NPY_float, None)] = nanvar_1d_float_axisNone - * nanvar_dict[(1, NPY_float32, 0)] = nanvar_1d_float32_axisNone + * nanvar_dict[(1, NPY_float32, 0)] = nanvar_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float32, None)] = nanvar_1d_float32_axisNone + * nanvar_dict[(1, NPY_float64, 0)] = nanvar_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -24179,19 +24179,19 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1067 - * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 - * nanvar_dict[(1, NPY_float, 0)] = nanvar_1d_float_axisNone - * nanvar_dict[(1, NPY_float, None)] = nanvar_1d_float_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float, None)] = nanvar_1d_float_axisNone * nanvar_dict[(1, NPY_float32, 0)] = nanvar_1d_float32_axisNone - * nanvar_dict[(1, NPY_float32, None)] = nanvar_1d_float32_axisNone + * nanvar_dict[(1, NPY_float32, None)] = nanvar_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float64, 0)] = nanvar_1d_float64_axisNone + * nanvar_dict[(1, NPY_float64, None)] = nanvar_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24209,19 +24209,19 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1068 - * nanvar_dict[(1, NPY_float, 0)] = nanvar_1d_float_axisNone - * nanvar_dict[(1, NPY_float, None)] = nanvar_1d_float_axisNone - * nanvar_dict[(1, NPY_float32, 0)] = nanvar_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float32, 0)] = nanvar_1d_float32_axisNone * nanvar_dict[(1, NPY_float32, None)] = nanvar_1d_float32_axisNone - * nanvar_dict[(1, NPY_float64, 0)] = nanvar_1d_float64_axisNone + * nanvar_dict[(1, NPY_float64, 0)] = nanvar_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float64, None)] = nanvar_1d_float64_axisNone + * nanvar_dict[(2, NPY_float, None)] = nanvar_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -24239,19 +24239,19 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1069 - * nanvar_dict[(1, NPY_float, None)] = nanvar_1d_float_axisNone - * nanvar_dict[(1, NPY_float32, 0)] = nanvar_1d_float32_axisNone - * nanvar_dict[(1, NPY_float32, None)] = nanvar_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float32, None)] = nanvar_1d_float32_axisNone * nanvar_dict[(1, NPY_float64, 0)] = nanvar_1d_float64_axisNone - * nanvar_dict[(1, NPY_float64, None)] = nanvar_1d_float64_axisNone + * nanvar_dict[(1, NPY_float64, None)] = nanvar_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float, None)] = nanvar_2d_float_axisNone + * nanvar_dict[(2, NPY_float32, None)] = nanvar_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24269,55 +24269,55 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1070 - * nanvar_dict[(1, NPY_float32, 0)] = nanvar_1d_float32_axisNone - * nanvar_dict[(1, NPY_float32, None)] = nanvar_1d_float32_axisNone - * nanvar_dict[(1, NPY_float64, 0)] = nanvar_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float64, 0)] = nanvar_1d_float64_axisNone * nanvar_dict[(1, NPY_float64, None)] = nanvar_1d_float64_axisNone - * nanvar_dict[(2, NPY_float, None)] = nanvar_2d_float_axisNone + * nanvar_dict[(2, NPY_float, None)] = nanvar_2d_float_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float32, None)] = nanvar_2d_float32_axisNone + * nanvar_dict[(2, NPY_float64, None)] = nanvar_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1071 - * nanvar_dict[(1, NPY_float32, None)] = nanvar_1d_float32_axisNone - * nanvar_dict[(1, NPY_float64, 0)] = nanvar_1d_float64_axisNone - * nanvar_dict[(1, NPY_float64, None)] = nanvar_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float64, None)] = nanvar_1d_float64_axisNone * nanvar_dict[(2, NPY_float, None)] = nanvar_2d_float_axisNone - * nanvar_dict[(2, NPY_float32, None)] = nanvar_2d_float32_axisNone + * nanvar_dict[(2, NPY_float32, None)] = nanvar_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float64, None)] = nanvar_2d_float64_axisNone + * nanvar_dict[(1, NPY_int, 0)] = nanvar_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -24329,19 +24329,19 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1072 - * nanvar_dict[(1, NPY_float64, 0)] = nanvar_1d_float64_axisNone - * nanvar_dict[(1, NPY_float64, None)] = nanvar_1d_float64_axisNone - * nanvar_dict[(2, NPY_float, None)] = nanvar_2d_float_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float, None)] = nanvar_2d_float_axisNone * nanvar_dict[(2, NPY_float32, None)] = nanvar_2d_float32_axisNone - * nanvar_dict[(2, NPY_float64, None)] = nanvar_2d_float64_axisNone + * nanvar_dict[(2, NPY_float64, None)] = nanvar_2d_float64_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_int, 0)] = nanvar_1d_int_axisNone + * nanvar_dict[(1, NPY_int, None)] = nanvar_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -24359,55 +24359,55 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1073 - * nanvar_dict[(1, NPY_float64, None)] = nanvar_1d_float64_axisNone - * nanvar_dict[(2, NPY_float, None)] = nanvar_2d_float_axisNone - * nanvar_dict[(2, NPY_float32, None)] = nanvar_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float32, None)] = nanvar_2d_float32_axisNone * nanvar_dict[(2, NPY_float64, None)] = nanvar_2d_float64_axisNone - * nanvar_dict[(2, NPY_float, 0)] = nanvar_2d_float_axis0 + * nanvar_dict[(1, NPY_int, 0)] = nanvar_1d_int_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_int, None)] = nanvar_1d_int_axisNone + * nanvar_dict[(1, NPY_int8, 0)] = nanvar_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1074 - * nanvar_dict[(2, NPY_float, None)] = nanvar_2d_float_axisNone - * nanvar_dict[(2, NPY_float32, None)] = nanvar_2d_float32_axisNone - * nanvar_dict[(2, NPY_float64, None)] = nanvar_2d_float64_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_float, 0)] = nanvar_2d_float_axis0 - * nanvar_dict[(2, NPY_float, 1)] = nanvar_2d_float_axis1 + * nanvar_dict[(2, NPY_float64, None)] = nanvar_2d_float64_axisNone + * nanvar_dict[(1, NPY_int, 0)] = nanvar_1d_int_axisNone + * nanvar_dict[(1, NPY_int, None)] = nanvar_1d_int_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_int8, 0)] = nanvar_1d_int8_axisNone + * nanvar_dict[(1, NPY_int8, None)] = nanvar_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -24419,25 +24419,25 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1075 - * nanvar_dict[(2, NPY_float32, None)] = nanvar_2d_float32_axisNone - * nanvar_dict[(2, NPY_float64, None)] = nanvar_2d_float64_axisNone - * nanvar_dict[(2, NPY_float, 0)] = nanvar_2d_float_axis0 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_float, 1)] = nanvar_2d_float_axis1 - * nanvar_dict[(2, NPY_float32, 0)] = nanvar_2d_float32_axis0 + * nanvar_dict[(1, NPY_int, 0)] = nanvar_1d_int_axisNone + * nanvar_dict[(1, NPY_int, None)] = nanvar_1d_int_axisNone + * nanvar_dict[(1, NPY_int8, 0)] = nanvar_1d_int8_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_int8, None)] = nanvar_1d_int8_axisNone + * nanvar_dict[(1, NPY_int32, 0)] = nanvar_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -24449,55 +24449,55 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1076 - * nanvar_dict[(2, NPY_float64, None)] = nanvar_2d_float64_axisNone - * nanvar_dict[(2, NPY_float, 0)] = nanvar_2d_float_axis0 - * nanvar_dict[(2, NPY_float, 1)] = nanvar_2d_float_axis1 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_float32, 0)] = nanvar_2d_float32_axis0 - * nanvar_dict[(2, NPY_float32, 1)] = nanvar_2d_float32_axis1 + * nanvar_dict[(1, NPY_int, None)] = nanvar_1d_int_axisNone + * nanvar_dict[(1, NPY_int8, 0)] = nanvar_1d_int8_axisNone + * nanvar_dict[(1, NPY_int8, None)] = nanvar_1d_int8_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_int32, 0)] = nanvar_1d_int32_axisNone + * nanvar_dict[(1, NPY_int32, None)] = nanvar_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1077 - * nanvar_dict[(2, NPY_float, 0)] = nanvar_2d_float_axis0 - * nanvar_dict[(2, NPY_float, 1)] = nanvar_2d_float_axis1 - * nanvar_dict[(2, NPY_float32, 0)] = nanvar_2d_float32_axis0 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_float32, 1)] = nanvar_2d_float32_axis1 - * nanvar_dict[(2, NPY_float64, 0)] = nanvar_2d_float64_axis0 + * nanvar_dict[(1, NPY_int8, 0)] = nanvar_1d_int8_axisNone + * nanvar_dict[(1, NPY_int8, None)] = nanvar_1d_int8_axisNone + * nanvar_dict[(1, NPY_int32, 0)] = nanvar_1d_int32_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_int32, None)] = nanvar_1d_int32_axisNone + * nanvar_dict[(1, NPY_int64, 0)] = nanvar_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -24509,55 +24509,55 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1078 - * nanvar_dict[(2, NPY_float, 1)] = nanvar_2d_float_axis1 - * nanvar_dict[(2, NPY_float32, 0)] = nanvar_2d_float32_axis0 - * nanvar_dict[(2, NPY_float32, 1)] = nanvar_2d_float32_axis1 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_float64, 0)] = nanvar_2d_float64_axis0 - * nanvar_dict[(2, NPY_float64, 1)] = nanvar_2d_float64_axis1 + * nanvar_dict[(1, NPY_int8, None)] = nanvar_1d_int8_axisNone + * nanvar_dict[(1, NPY_int32, 0)] = nanvar_1d_int32_axisNone + * nanvar_dict[(1, NPY_int32, None)] = nanvar_1d_int32_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_int64, 0)] = nanvar_1d_int64_axisNone + * nanvar_dict[(1, NPY_int64, None)] = nanvar_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1079 - * nanvar_dict[(2, NPY_float32, 0)] = nanvar_2d_float32_axis0 - * nanvar_dict[(2, NPY_float32, 1)] = nanvar_2d_float32_axis1 - * nanvar_dict[(2, NPY_float64, 0)] = nanvar_2d_float64_axis0 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_float64, 1)] = nanvar_2d_float64_axis1 - * nanvar_dict[(1, NPY_int, 0)] = nanvar_1d_int_axisNone + * nanvar_dict[(1, NPY_int32, 0)] = nanvar_1d_int32_axisNone + * nanvar_dict[(1, NPY_int32, None)] = nanvar_1d_int32_axisNone + * nanvar_dict[(1, NPY_int64, 0)] = nanvar_1d_int64_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_int64, None)] = nanvar_1d_int64_axisNone + * nanvar_dict[(2, NPY_int, None)] = nanvar_2d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -24569,43 +24569,43 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1080 - * nanvar_dict[(2, NPY_float32, 1)] = nanvar_2d_float32_axis1 - * nanvar_dict[(2, NPY_float64, 0)] = nanvar_2d_float64_axis0 - * nanvar_dict[(2, NPY_float64, 1)] = nanvar_2d_float64_axis1 # <<<<<<<<<<<<<< - * nanvar_dict[(1, NPY_int, 0)] = nanvar_1d_int_axisNone - * nanvar_dict[(1, NPY_int, None)] = nanvar_1d_int_axisNone + * nanvar_dict[(1, NPY_int32, None)] = nanvar_1d_int32_axisNone + * nanvar_dict[(1, NPY_int64, 0)] = nanvar_1d_int64_axisNone + * nanvar_dict[(1, NPY_int64, None)] = nanvar_1d_int64_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int, None)] = nanvar_2d_int_axisNone + * nanvar_dict[(2, NPY_int8, None)] = nanvar_2d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1081 - * nanvar_dict[(2, NPY_float64, 0)] = nanvar_2d_float64_axis0 - * nanvar_dict[(2, NPY_float64, 1)] = nanvar_2d_float64_axis1 - * nanvar_dict[(1, NPY_int, 0)] = nanvar_1d_int_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(1, NPY_int, None)] = nanvar_1d_int_axisNone - * nanvar_dict[(1, NPY_int8, 0)] = nanvar_1d_int8_axisNone + * nanvar_dict[(1, NPY_int64, 0)] = nanvar_1d_int64_axisNone + * nanvar_dict[(1, NPY_int64, None)] = nanvar_1d_int64_axisNone + * nanvar_dict[(2, NPY_int, None)] = nanvar_2d_int_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int8, None)] = nanvar_2d_int8_axisNone + * nanvar_dict[(2, NPY_int32, None)] = nanvar_2d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -24615,39 +24615,39 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1082 - * nanvar_dict[(2, NPY_float64, 1)] = nanvar_2d_float64_axis1 - * nanvar_dict[(1, NPY_int, 0)] = nanvar_1d_int_axisNone - * nanvar_dict[(1, NPY_int, None)] = nanvar_1d_int_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(1, NPY_int8, 0)] = nanvar_1d_int8_axisNone - * nanvar_dict[(1, NPY_int8, None)] = nanvar_1d_int8_axisNone + * nanvar_dict[(1, NPY_int64, None)] = nanvar_1d_int64_axisNone + * nanvar_dict[(2, NPY_int, None)] = nanvar_2d_int_axisNone + * nanvar_dict[(2, NPY_int8, None)] = nanvar_2d_int8_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int32, None)] = nanvar_2d_int32_axisNone + * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -24659,55 +24659,55 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1083 - * nanvar_dict[(1, NPY_int, 0)] = nanvar_1d_int_axisNone - * nanvar_dict[(1, NPY_int, None)] = nanvar_1d_int_axisNone - * nanvar_dict[(1, NPY_int8, 0)] = nanvar_1d_int8_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(1, NPY_int8, None)] = nanvar_1d_int8_axisNone - * nanvar_dict[(1, NPY_int32, 0)] = nanvar_1d_int32_axisNone + * nanvar_dict[(2, NPY_int, None)] = nanvar_2d_int_axisNone + * nanvar_dict[(2, NPY_int8, None)] = nanvar_2d_int8_axisNone + * nanvar_dict[(2, NPY_int32, None)] = nanvar_2d_int32_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone + * nanvar_dict[(2, NPY_int, 0)] = nanvar_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1084 - * nanvar_dict[(1, NPY_int, None)] = nanvar_1d_int_axisNone - * nanvar_dict[(1, NPY_int8, 0)] = nanvar_1d_int8_axisNone - * nanvar_dict[(1, NPY_int8, None)] = nanvar_1d_int8_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(1, NPY_int32, 0)] = nanvar_1d_int32_axisNone - * nanvar_dict[(1, NPY_int32, None)] = nanvar_1d_int32_axisNone + * nanvar_dict[(2, NPY_int8, None)] = nanvar_2d_int8_axisNone + * nanvar_dict[(2, NPY_int32, None)] = nanvar_2d_int32_axisNone + * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int, 0)] = nanvar_2d_int_axis0 + * nanvar_dict[(2, NPY_int, 1)] = nanvar_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -24719,25 +24719,25 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1085 - * nanvar_dict[(1, NPY_int8, 0)] = nanvar_1d_int8_axisNone - * nanvar_dict[(1, NPY_int8, None)] = nanvar_1d_int8_axisNone - * nanvar_dict[(1, NPY_int32, 0)] = nanvar_1d_int32_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(1, NPY_int32, None)] = nanvar_1d_int32_axisNone - * nanvar_dict[(1, NPY_int64, 0)] = nanvar_1d_int64_axisNone + * nanvar_dict[(2, NPY_int32, None)] = nanvar_2d_int32_axisNone + * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone + * nanvar_dict[(2, NPY_int, 0)] = nanvar_2d_int_axis0 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int, 1)] = nanvar_2d_int_axis1 + * nanvar_dict[(2, NPY_int8, 0)] = nanvar_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -24749,55 +24749,55 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1086 - * nanvar_dict[(1, NPY_int8, None)] = nanvar_1d_int8_axisNone - * nanvar_dict[(1, NPY_int32, 0)] = nanvar_1d_int32_axisNone - * nanvar_dict[(1, NPY_int32, None)] = nanvar_1d_int32_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(1, NPY_int64, 0)] = nanvar_1d_int64_axisNone - * nanvar_dict[(1, NPY_int64, None)] = nanvar_1d_int64_axisNone + * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone + * nanvar_dict[(2, NPY_int, 0)] = nanvar_2d_int_axis0 + * nanvar_dict[(2, NPY_int, 1)] = nanvar_2d_int_axis1 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int8, 0)] = nanvar_2d_int8_axis0 + * nanvar_dict[(2, NPY_int8, 1)] = nanvar_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1087 - * nanvar_dict[(1, NPY_int32, 0)] = nanvar_1d_int32_axisNone - * nanvar_dict[(1, NPY_int32, None)] = nanvar_1d_int32_axisNone - * nanvar_dict[(1, NPY_int64, 0)] = nanvar_1d_int64_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(1, NPY_int64, None)] = nanvar_1d_int64_axisNone - * nanvar_dict[(2, NPY_int, None)] = nanvar_2d_int_axisNone + * nanvar_dict[(2, NPY_int, 0)] = nanvar_2d_int_axis0 + * nanvar_dict[(2, NPY_int, 1)] = nanvar_2d_int_axis1 + * nanvar_dict[(2, NPY_int8, 0)] = nanvar_2d_int8_axis0 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int8, 1)] = nanvar_2d_int8_axis1 + * nanvar_dict[(2, NPY_int32, 0)] = nanvar_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -24809,49 +24809,49 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1088 - * nanvar_dict[(1, NPY_int32, None)] = nanvar_1d_int32_axisNone - * nanvar_dict[(1, NPY_int64, 0)] = nanvar_1d_int64_axisNone - * nanvar_dict[(1, NPY_int64, None)] = nanvar_1d_int64_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int, None)] = nanvar_2d_int_axisNone - * nanvar_dict[(2, NPY_int8, None)] = nanvar_2d_int8_axisNone + * nanvar_dict[(2, NPY_int, 1)] = nanvar_2d_int_axis1 + * nanvar_dict[(2, NPY_int8, 0)] = nanvar_2d_int8_axis0 + * nanvar_dict[(2, NPY_int8, 1)] = nanvar_2d_int8_axis1 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int32, 0)] = nanvar_2d_int32_axis0 + * nanvar_dict[(2, NPY_int32, 1)] = nanvar_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1089 - * nanvar_dict[(1, NPY_int64, 0)] = nanvar_1d_int64_axisNone - * nanvar_dict[(1, NPY_int64, None)] = nanvar_1d_int64_axisNone - * nanvar_dict[(2, NPY_int, None)] = nanvar_2d_int_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int8, None)] = nanvar_2d_int8_axisNone - * nanvar_dict[(2, NPY_int32, None)] = nanvar_2d_int32_axisNone + * nanvar_dict[(2, NPY_int8, 0)] = nanvar_2d_int8_axis0 + * nanvar_dict[(2, NPY_int8, 1)] = nanvar_2d_int8_axis1 + * nanvar_dict[(2, NPY_int32, 0)] = nanvar_2d_int32_axis0 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int32, 1)] = nanvar_2d_int32_axis1 + * nanvar_dict[(2, NPY_int64, 0)] = nanvar_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24860,28 +24860,28 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1090 - * nanvar_dict[(1, NPY_int64, None)] = nanvar_1d_int64_axisNone - * nanvar_dict[(2, NPY_int, None)] = nanvar_2d_int_axisNone - * nanvar_dict[(2, NPY_int8, None)] = nanvar_2d_int8_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int32, None)] = nanvar_2d_int32_axisNone - * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone + * nanvar_dict[(2, NPY_int8, 1)] = nanvar_2d_int8_axis1 + * nanvar_dict[(2, NPY_int32, 0)] = nanvar_2d_int32_axis0 + * nanvar_dict[(2, NPY_int32, 1)] = nanvar_2d_int32_axis1 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int64, 0)] = nanvar_2d_int64_axis0 + * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -24890,28 +24890,28 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1091 - * nanvar_dict[(2, NPY_int, None)] = nanvar_2d_int_axisNone - * nanvar_dict[(2, NPY_int8, None)] = nanvar_2d_int8_axisNone - * nanvar_dict[(2, NPY_int32, None)] = nanvar_2d_int32_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone + * nanvar_dict[(2, NPY_int32, 0)] = nanvar_2d_int32_axis0 + * nanvar_dict[(2, NPY_int32, 1)] = nanvar_2d_int32_axis1 + * nanvar_dict[(2, NPY_int64, 0)] = nanvar_2d_int64_axis0 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24920,22 +24920,22 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1092 - * nanvar_dict[(2, NPY_int8, None)] = nanvar_2d_int8_axisNone - * nanvar_dict[(2, NPY_int32, None)] = nanvar_2d_int32_axisNone - * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int32, 1)] = nanvar_2d_int32_axis1 + * nanvar_dict[(2, NPY_int64, 0)] = nanvar_2d_int64_axis0 + * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nanvar_slow_axis0(arr, ddof): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -24950,16 +24950,16 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1094 - * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone + * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 * * def nanvar_slow_axis0(arr, ddof): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanvar along axis 0." @@ -25933,7 +25933,7 @@ PyMODINIT_FUNC PyInit_nanvar(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/nn.c b/bottlechest/src/func/32bit/nn.c index 290e59d7d3..508340bb18 100644 --- a/bottlechest/src/func/32bit/nn.c +++ b/bottlechest/src/func/32bit/nn.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1096,13 +1096,13 @@ static __pyx_t_5numpy_float32_t __pyx_v_2nn_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_2nn_MAXfloat64; static PyObject *__pyx_v_2nn_nn_dict = 0; static PyObject *__pyx_v_2nn_nn_slow_dict = 0; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "nn" int __pyx_module_is_main_nn = 0; @@ -1114,20 +1114,20 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_2nn_nn(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_arr0, int __pyx_v_axis); /* proto */ static PyObject *__pyx_pf_2nn_2nn_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_arr0, int __pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_2nn_4nn_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_6nn_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_8nn_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_10nn_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_12nn_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_14nn_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_16nn_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_18nn_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_20nn_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_22nn_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_24nn_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_26nn_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_28nn_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_30nn_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_4nn_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_6nn_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_8nn_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_10nn_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_12nn_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_14nn_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_16nn_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_18nn_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_20nn_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_22nn_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_24nn_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_26nn_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_28nn_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_30nn_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ static PyObject *__pyx_pf_2nn_32nn_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_arr0); /* proto */ static PyObject *__pyx_pf_2nn_34nn_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_arr0); /* proto */ static PyObject *__pyx_pf_2nn_36nn_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_arr0); /* proto */ @@ -1296,17 +1296,16 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Distance_of_nearest_neighbor_an[] = "\n Distance of nearest neighbor (and its index) along specified axis.\n\n The Euclidian distance between `arr0` and its nearest neighbor in\n `arr` is returned along with the index of the nearest neighbor in\n `arr`.\n\n The squared distance used to determine the nearest neighbor of `arr0`\n is equivalent to np.sum((arr - arr0) ** 2), axis) where `arr` is 2d\n and `arr0` is 1d and `arr0` must be reshaped if `axis` is 1.\n\n If all distances are NaN then the distance returned is NaN and the\n index is zero.\n\n Parameters\n ----------\n arr : array_like\n A 2d array. If `arr` is not an array, a conversion is attempted.\n arr0 : array_like\n A 1d array. If `arr0` is not an array, a conversion is attempted.\n axis : int, optional\n Axis along which the distance is computed. The default (axis=1)\n is to compute the distance along rows.\n\n Returns\n -------\n dist : np.float64\n The Euclidian distance between `arr0` and the nearest neighbor\n in `arr`. If all distances are NaN then the distance returned\n is NaN.\n idx : int\n Index of nearest neighbor in `arr`. If all distances are NaN\n then the index returned is zero.\n\n See also\n --------\n bottlechest.ss: Sum of squares along specified axis.\n\n Notes\n -----\n A brute force algorithm is used to find the nearest neighbor.\n\n Depending on the shapes of `arr` and `arr0`, SciPy's cKDTree may\n be faster than bn.nn(). So benchmark if speed is important.\n \n The relative speed also depends on how many times you will use\n the same array `arr` to find nearest neighbors with different\n `arr0`. That is because it takes time to set up SciPy's cKDTree.\n\n Examples\n --------\n Create the input arrays:\n\n >>> arr = np.array([[1, 2], [3, 4]])\n >>> arr0 = np.array([2, 4])\n\n Find nearest neighbor of `arr0` in `arr` along axis 1:\n\n >>> dist, idx ="" bn.nn(arr, arr0, axis=1)\n >>> dist\n 1.0\n >>> idx\n 1\n\n Find nearest neighbor of `arr0` in `arr` along axis 0:\n\n >>> dist, idx = bn.nn(arr, arr0, axis=0)\n >>> dist\n 0.0\n >>> idx\n 1\n \n "; static char __pyx_k_Return_nn_function_and_arrays_U[] = "\n Return nn function and arrays.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of dtype, and axis. A lot of the overhead in bn.nn() is in\n checking that `axis` is within range, converting `arr` into an array\n (if it is not already an array), and selecting the function to use to\n find the nearest neighbor.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using this function.\n\n Parameters\n ----------\n arr : array_like\n A 2d array. If `arr` is not an array, a conversion is attempted.\n arr0 : array_like\n A 1d array. If `arr0` is not an array, a conversion is attempted.\n axis : int, optional\n Axis along which the distance is computed. The default (axis=1)\n is to compute the distance along rows.\n\n Returns\n -------\n func : function\n The nn function that is appropriate to use with the given input.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n a0 : ndarray\n If the input array `arr0` is not a ndarray, then `a0` will contain the\n result of converting `arr0` into a ndarray.\n\n Examples\n --------\n Create the input arrays:\n\n >>> arr = np.array([[1, 2], [3, 4]])\n >>> arr0 = np.array([2, 4])\n \n Obtain the function needed to find the nearest neighbor of `arr0`\n in `arr0` along axis 0:\n\n >>> func, a, a0 = bn.func.nn_selector(arr, arr0, axis=0)\n >>> func\n \n \n Use the returned function and arrays to determine the nearest\n neighbor:\n\n >>> dist, idx = func(a, a0)\n >>> dist\n 0.0\n >>> idx\n 1\n\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/nn.pyx"; static char __pyx_k_a0_must_match_size_of_a_along_s[] = "`a0` must match size of `a` along specified axis"; static char __pyx_k_arr_and_arr0_must_be_of_the_sam[] = "`arr` and `arr0` must be of the same dtype."; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\nn.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_u_Distance_of_nearest_neighbor_an; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; @@ -1320,6 +1319,7 @@ static PyObject *__pyx_kp_u_Return_nn_function_and_arrays_U; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__24; static PyObject *__pyx_n_s_a; @@ -2587,16 +2587,16 @@ static PyObject *__pyx_pf_2nn_2nn_selector(CYTHON_UNUSED PyObject *__pyx_self, P /* "nn.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0." + * def nn_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_5nn_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_4nn_2d_int_axis0[] = "nn_2d_int_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0."; -static PyMethodDef __pyx_mdef_2nn_5nn_2d_int_axis0 = {"nn_2d_int_axis0", (PyCFunction)__pyx_pw_2nn_5nn_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_4nn_2d_int_axis0}; -static PyObject *__pyx_pw_2nn_5nn_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_5nn_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_4nn_2d_float_axis0[] = "nn_2d_float_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0."; +static PyMethodDef __pyx_mdef_2nn_5nn_2d_float_axis0 = {"nn_2d_float_axis0", (PyCFunction)__pyx_pw_2nn_5nn_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_4nn_2d_float_axis0}; +static PyObject *__pyx_pw_2nn_5nn_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -2604,7 +2604,7 @@ static PyObject *__pyx_pw_2nn_5nn_2d_int_axis0(PyObject *__pyx_self, PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -2625,11 +2625,11 @@ static PyObject *__pyx_pw_2nn_5nn_2d_int_axis0(PyObject *__pyx_self, PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -2642,15 +2642,15 @@ static PyObject *__pyx_pw_2nn_5nn_2d_int_axis0(PyObject *__pyx_self, PyObject *_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_4nn_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_4nn_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -2661,7 +2661,7 @@ static PyObject *__pyx_pw_2nn_5nn_2d_int_axis0(PyObject *__pyx_self, PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_2nn_4nn_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_4nn_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -2694,7 +2694,7 @@ static PyObject *__pyx_pf_2nn_4nn_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("nn_2d_float_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -2705,17 +2705,17 @@ static PyObject *__pyx_pf_2nn_4nn_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":246 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -2841,7 +2841,7 @@ static PyObject *__pyx_pf_2nn_4nn_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i0; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":260 * for i0 in range(n0): @@ -2954,9 +2954,9 @@ static PyObject *__pyx_pf_2nn_4nn_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel /* "nn.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0." + * def nn_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0." */ /* function exit code */ @@ -2969,7 +2969,7 @@ static PyObject *__pyx_pf_2nn_4nn_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2984,16 +2984,16 @@ static PyObject *__pyx_pf_2nn_4nn_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel /* "nn.pyx":273 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1." + * def nn_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_7nn_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_6nn_2d_int_axis1[] = "nn_2d_int_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1."; -static PyMethodDef __pyx_mdef_2nn_7nn_2d_int_axis1 = {"nn_2d_int_axis1", (PyCFunction)__pyx_pw_2nn_7nn_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_6nn_2d_int_axis1}; -static PyObject *__pyx_pw_2nn_7nn_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_7nn_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_6nn_2d_float_axis1[] = "nn_2d_float_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1."; +static PyMethodDef __pyx_mdef_2nn_7nn_2d_float_axis1 = {"nn_2d_float_axis1", (PyCFunction)__pyx_pw_2nn_7nn_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_6nn_2d_float_axis1}; +static PyObject *__pyx_pw_2nn_7nn_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -3001,7 +3001,7 @@ static PyObject *__pyx_pw_2nn_7nn_2d_int_axis1(PyObject *__pyx_self, PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_int_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_float_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -3022,11 +3022,11 @@ static PyObject *__pyx_pw_2nn_7nn_2d_int_axis1(PyObject *__pyx_self, PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3039,15 +3039,15 @@ static PyObject *__pyx_pw_2nn_7nn_2d_int_axis1(PyObject *__pyx_self, PyObject *_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_6nn_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_6nn_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -3058,7 +3058,7 @@ static PyObject *__pyx_pw_2nn_7nn_2d_int_axis1(PyObject *__pyx_self, PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_2nn_6nn_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_6nn_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -3091,7 +3091,7 @@ static PyObject *__pyx_pf_2nn_6nn_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("nn_2d_float_axis1", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -3102,17 +3102,17 @@ static PyObject *__pyx_pf_2nn_6nn_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":277 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -3238,7 +3238,7 @@ static PyObject *__pyx_pf_2nn_6nn_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i1; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":291 * for i1 in range(n1): @@ -3351,9 +3351,9 @@ static PyObject *__pyx_pf_2nn_6nn_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel /* "nn.pyx":273 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1." + * def nn_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1." */ /* function exit code */ @@ -3366,7 +3366,7 @@ static PyObject *__pyx_pf_2nn_6nn_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3381,16 +3381,16 @@ static PyObject *__pyx_pf_2nn_6nn_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel /* "nn.pyx":304 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0." + * def nn_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_9nn_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_8nn_2d_int8_axis0[] = "nn_2d_int8_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0."; -static PyMethodDef __pyx_mdef_2nn_9nn_2d_int8_axis0 = {"nn_2d_int8_axis0", (PyCFunction)__pyx_pw_2nn_9nn_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_8nn_2d_int8_axis0}; -static PyObject *__pyx_pw_2nn_9nn_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_9nn_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_8nn_2d_float32_axis0[] = "nn_2d_float32_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0."; +static PyMethodDef __pyx_mdef_2nn_9nn_2d_float32_axis0 = {"nn_2d_float32_axis0", (PyCFunction)__pyx_pw_2nn_9nn_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_8nn_2d_float32_axis0}; +static PyObject *__pyx_pw_2nn_9nn_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -3398,7 +3398,7 @@ static PyObject *__pyx_pw_2nn_9nn_2d_int8_axis0(PyObject *__pyx_self, PyObject * int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -3419,11 +3419,11 @@ static PyObject *__pyx_pw_2nn_9nn_2d_int8_axis0(PyObject *__pyx_self, PyObject * case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3436,15 +3436,15 @@ static PyObject *__pyx_pw_2nn_9nn_2d_int8_axis0(PyObject *__pyx_self, PyObject * } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_8nn_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_8nn_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -3455,7 +3455,7 @@ static PyObject *__pyx_pw_2nn_9nn_2d_int8_axis0(PyObject *__pyx_self, PyObject * return __pyx_r; } -static PyObject *__pyx_pf_2nn_8nn_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_8nn_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -3488,7 +3488,7 @@ static PyObject *__pyx_pf_2nn_8nn_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nn_2d_float32_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -3499,17 +3499,17 @@ static PyObject *__pyx_pf_2nn_8nn_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":308 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -3635,7 +3635,7 @@ static PyObject *__pyx_pf_2nn_8nn_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i0; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":322 * for i0 in range(n0): @@ -3748,9 +3748,9 @@ static PyObject *__pyx_pf_2nn_8nn_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se /* "nn.pyx":304 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0." + * def nn_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0." */ /* function exit code */ @@ -3763,7 +3763,7 @@ static PyObject *__pyx_pf_2nn_8nn_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3778,16 +3778,16 @@ static PyObject *__pyx_pf_2nn_8nn_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se /* "nn.pyx":335 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1." + * def nn_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_11nn_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_10nn_2d_int8_axis1[] = "nn_2d_int8_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1."; -static PyMethodDef __pyx_mdef_2nn_11nn_2d_int8_axis1 = {"nn_2d_int8_axis1", (PyCFunction)__pyx_pw_2nn_11nn_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_10nn_2d_int8_axis1}; -static PyObject *__pyx_pw_2nn_11nn_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_11nn_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_10nn_2d_float32_axis1[] = "nn_2d_float32_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1."; +static PyMethodDef __pyx_mdef_2nn_11nn_2d_float32_axis1 = {"nn_2d_float32_axis1", (PyCFunction)__pyx_pw_2nn_11nn_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_10nn_2d_float32_axis1}; +static PyObject *__pyx_pw_2nn_11nn_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -3795,7 +3795,7 @@ static PyObject *__pyx_pw_2nn_11nn_2d_int8_axis1(PyObject *__pyx_self, PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_int8_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_float32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -3816,11 +3816,11 @@ static PyObject *__pyx_pw_2nn_11nn_2d_int8_axis1(PyObject *__pyx_self, PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3833,15 +3833,15 @@ static PyObject *__pyx_pw_2nn_11nn_2d_int8_axis1(PyObject *__pyx_self, PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_10nn_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_10nn_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -3852,7 +3852,7 @@ static PyObject *__pyx_pw_2nn_11nn_2d_int8_axis1(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2nn_10nn_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_10nn_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -3885,7 +3885,7 @@ static PyObject *__pyx_pf_2nn_10nn_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("nn_2d_float32_axis1", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -3896,17 +3896,17 @@ static PyObject *__pyx_pf_2nn_10nn_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":339 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -4032,7 +4032,7 @@ static PyObject *__pyx_pf_2nn_10nn_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i1; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":353 * for i1 in range(n1): @@ -4145,9 +4145,9 @@ static PyObject *__pyx_pf_2nn_10nn_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s /* "nn.pyx":335 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1." + * def nn_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1." */ /* function exit code */ @@ -4160,7 +4160,7 @@ static PyObject *__pyx_pf_2nn_10nn_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4175,16 +4175,16 @@ static PyObject *__pyx_pf_2nn_10nn_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s /* "nn.pyx":366 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0." + * def nn_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_13nn_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_12nn_2d_int32_axis0[] = "nn_2d_int32_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0."; -static PyMethodDef __pyx_mdef_2nn_13nn_2d_int32_axis0 = {"nn_2d_int32_axis0", (PyCFunction)__pyx_pw_2nn_13nn_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_12nn_2d_int32_axis0}; -static PyObject *__pyx_pw_2nn_13nn_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_13nn_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_12nn_2d_float64_axis0[] = "nn_2d_float64_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0."; +static PyMethodDef __pyx_mdef_2nn_13nn_2d_float64_axis0 = {"nn_2d_float64_axis0", (PyCFunction)__pyx_pw_2nn_13nn_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_12nn_2d_float64_axis0}; +static PyObject *__pyx_pw_2nn_13nn_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -4192,7 +4192,7 @@ static PyObject *__pyx_pw_2nn_13nn_2d_int32_axis0(PyObject *__pyx_self, PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -4213,11 +4213,11 @@ static PyObject *__pyx_pw_2nn_13nn_2d_int32_axis0(PyObject *__pyx_self, PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4230,15 +4230,15 @@ static PyObject *__pyx_pw_2nn_13nn_2d_int32_axis0(PyObject *__pyx_self, PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_12nn_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_12nn_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -4249,7 +4249,7 @@ static PyObject *__pyx_pw_2nn_13nn_2d_int32_axis0(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2nn_12nn_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_12nn_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -4282,7 +4282,7 @@ static PyObject *__pyx_pf_2nn_12nn_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nn_2d_float64_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -4293,17 +4293,17 @@ static PyObject *__pyx_pf_2nn_12nn_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":370 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -4429,7 +4429,7 @@ static PyObject *__pyx_pf_2nn_12nn_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i0; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":384 * for i0 in range(n0): @@ -4542,9 +4542,9 @@ static PyObject *__pyx_pf_2nn_12nn_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":366 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0." + * def nn_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0." */ /* function exit code */ @@ -4557,7 +4557,7 @@ static PyObject *__pyx_pf_2nn_12nn_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4572,16 +4572,16 @@ static PyObject *__pyx_pf_2nn_12nn_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":397 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1." + * def nn_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_15nn_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_14nn_2d_int32_axis1[] = "nn_2d_int32_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1."; -static PyMethodDef __pyx_mdef_2nn_15nn_2d_int32_axis1 = {"nn_2d_int32_axis1", (PyCFunction)__pyx_pw_2nn_15nn_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_14nn_2d_int32_axis1}; -static PyObject *__pyx_pw_2nn_15nn_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_15nn_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_14nn_2d_float64_axis1[] = "nn_2d_float64_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1."; +static PyMethodDef __pyx_mdef_2nn_15nn_2d_float64_axis1 = {"nn_2d_float64_axis1", (PyCFunction)__pyx_pw_2nn_15nn_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_14nn_2d_float64_axis1}; +static PyObject *__pyx_pw_2nn_15nn_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -4589,7 +4589,7 @@ static PyObject *__pyx_pw_2nn_15nn_2d_int32_axis1(PyObject *__pyx_self, PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_int32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_float64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -4610,11 +4610,11 @@ static PyObject *__pyx_pw_2nn_15nn_2d_int32_axis1(PyObject *__pyx_self, PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4627,15 +4627,15 @@ static PyObject *__pyx_pw_2nn_15nn_2d_int32_axis1(PyObject *__pyx_self, PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_14nn_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_14nn_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -4646,7 +4646,7 @@ static PyObject *__pyx_pw_2nn_15nn_2d_int32_axis1(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2nn_14nn_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_14nn_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -4679,7 +4679,7 @@ static PyObject *__pyx_pf_2nn_14nn_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("nn_2d_float64_axis1", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -4690,17 +4690,17 @@ static PyObject *__pyx_pf_2nn_14nn_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":401 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -4826,7 +4826,7 @@ static PyObject *__pyx_pf_2nn_14nn_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i1; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":415 * for i1 in range(n1): @@ -4939,9 +4939,9 @@ static PyObject *__pyx_pf_2nn_14nn_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":397 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1." + * def nn_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1." */ /* function exit code */ @@ -4954,7 +4954,7 @@ static PyObject *__pyx_pf_2nn_14nn_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4969,16 +4969,16 @@ static PyObject *__pyx_pf_2nn_14nn_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":428 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0." + * def nn_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_17nn_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_16nn_2d_int64_axis0[] = "nn_2d_int64_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0."; -static PyMethodDef __pyx_mdef_2nn_17nn_2d_int64_axis0 = {"nn_2d_int64_axis0", (PyCFunction)__pyx_pw_2nn_17nn_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_16nn_2d_int64_axis0}; -static PyObject *__pyx_pw_2nn_17nn_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_17nn_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_16nn_2d_int_axis0[] = "nn_2d_int_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0."; +static PyMethodDef __pyx_mdef_2nn_17nn_2d_int_axis0 = {"nn_2d_int_axis0", (PyCFunction)__pyx_pw_2nn_17nn_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_16nn_2d_int_axis0}; +static PyObject *__pyx_pw_2nn_17nn_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -4986,7 +4986,7 @@ static PyObject *__pyx_pw_2nn_17nn_2d_int64_axis0(PyObject *__pyx_self, PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_int_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -5007,11 +5007,11 @@ static PyObject *__pyx_pw_2nn_17nn_2d_int64_axis0(PyObject *__pyx_self, PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5024,15 +5024,15 @@ static PyObject *__pyx_pw_2nn_17nn_2d_int64_axis0(PyObject *__pyx_self, PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_16nn_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_16nn_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -5043,7 +5043,7 @@ static PyObject *__pyx_pw_2nn_17nn_2d_int64_axis0(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2nn_16nn_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_16nn_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -5076,7 +5076,7 @@ static PyObject *__pyx_pf_2nn_16nn_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_int64_axis0", 0); + __Pyx_RefNannySetupContext("nn_2d_int_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -5087,17 +5087,17 @@ static PyObject *__pyx_pf_2nn_16nn_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_ __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":432 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -5223,7 +5223,7 @@ static PyObject *__pyx_pf_2nn_16nn_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i0; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":446 * for i0 in range(n0): @@ -5336,9 +5336,9 @@ static PyObject *__pyx_pf_2nn_16nn_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":428 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0." + * def nn_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0." */ /* function exit code */ @@ -5351,7 +5351,7 @@ static PyObject *__pyx_pf_2nn_16nn_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5366,16 +5366,16 @@ static PyObject *__pyx_pf_2nn_16nn_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":459 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1." + * def nn_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_19nn_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_18nn_2d_int64_axis1[] = "nn_2d_int64_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1."; -static PyMethodDef __pyx_mdef_2nn_19nn_2d_int64_axis1 = {"nn_2d_int64_axis1", (PyCFunction)__pyx_pw_2nn_19nn_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_18nn_2d_int64_axis1}; -static PyObject *__pyx_pw_2nn_19nn_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_19nn_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_18nn_2d_int_axis1[] = "nn_2d_int_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1."; +static PyMethodDef __pyx_mdef_2nn_19nn_2d_int_axis1 = {"nn_2d_int_axis1", (PyCFunction)__pyx_pw_2nn_19nn_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_18nn_2d_int_axis1}; +static PyObject *__pyx_pw_2nn_19nn_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -5383,7 +5383,7 @@ static PyObject *__pyx_pw_2nn_19nn_2d_int64_axis1(PyObject *__pyx_self, PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_int64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_int_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -5404,11 +5404,11 @@ static PyObject *__pyx_pw_2nn_19nn_2d_int64_axis1(PyObject *__pyx_self, PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5421,15 +5421,15 @@ static PyObject *__pyx_pw_2nn_19nn_2d_int64_axis1(PyObject *__pyx_self, PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_18nn_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_18nn_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -5440,7 +5440,7 @@ static PyObject *__pyx_pw_2nn_19nn_2d_int64_axis1(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2nn_18nn_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_18nn_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -5473,7 +5473,7 @@ static PyObject *__pyx_pf_2nn_18nn_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_int64_axis1", 0); + __Pyx_RefNannySetupContext("nn_2d_int_axis1", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -5484,17 +5484,17 @@ static PyObject *__pyx_pf_2nn_18nn_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_ __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":463 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -5620,7 +5620,7 @@ static PyObject *__pyx_pf_2nn_18nn_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i1; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":477 * for i1 in range(n1): @@ -5733,9 +5733,9 @@ static PyObject *__pyx_pf_2nn_18nn_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":459 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1." + * def nn_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1." */ /* function exit code */ @@ -5748,7 +5748,7 @@ static PyObject *__pyx_pf_2nn_18nn_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5763,16 +5763,16 @@ static PyObject *__pyx_pf_2nn_18nn_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":490 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0." + * def nn_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_21nn_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_20nn_2d_float_axis0[] = "nn_2d_float_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0."; -static PyMethodDef __pyx_mdef_2nn_21nn_2d_float_axis0 = {"nn_2d_float_axis0", (PyCFunction)__pyx_pw_2nn_21nn_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_20nn_2d_float_axis0}; -static PyObject *__pyx_pw_2nn_21nn_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_21nn_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_20nn_2d_int8_axis0[] = "nn_2d_int8_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0."; +static PyMethodDef __pyx_mdef_2nn_21nn_2d_int8_axis0 = {"nn_2d_int8_axis0", (PyCFunction)__pyx_pw_2nn_21nn_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_20nn_2d_int8_axis0}; +static PyObject *__pyx_pw_2nn_21nn_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -5780,7 +5780,7 @@ static PyObject *__pyx_pw_2nn_21nn_2d_float_axis0(PyObject *__pyx_self, PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_int8_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -5801,11 +5801,11 @@ static PyObject *__pyx_pw_2nn_21nn_2d_float_axis0(PyObject *__pyx_self, PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5818,15 +5818,15 @@ static PyObject *__pyx_pw_2nn_21nn_2d_float_axis0(PyObject *__pyx_self, PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_20nn_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_20nn_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -5837,7 +5837,7 @@ static PyObject *__pyx_pw_2nn_21nn_2d_float_axis0(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2nn_20nn_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_20nn_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -5870,7 +5870,7 @@ static PyObject *__pyx_pf_2nn_20nn_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_float_axis0", 0); + __Pyx_RefNannySetupContext("nn_2d_int8_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -5881,17 +5881,17 @@ static PyObject *__pyx_pf_2nn_20nn_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_ __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":494 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -6017,7 +6017,7 @@ static PyObject *__pyx_pf_2nn_20nn_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i0; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":508 * for i0 in range(n0): @@ -6130,9 +6130,9 @@ static PyObject *__pyx_pf_2nn_20nn_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":490 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0." + * def nn_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0." */ /* function exit code */ @@ -6145,7 +6145,7 @@ static PyObject *__pyx_pf_2nn_20nn_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6160,16 +6160,16 @@ static PyObject *__pyx_pf_2nn_20nn_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":521 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1." + * def nn_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_23nn_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_22nn_2d_float_axis1[] = "nn_2d_float_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1."; -static PyMethodDef __pyx_mdef_2nn_23nn_2d_float_axis1 = {"nn_2d_float_axis1", (PyCFunction)__pyx_pw_2nn_23nn_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_22nn_2d_float_axis1}; -static PyObject *__pyx_pw_2nn_23nn_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_23nn_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_22nn_2d_int8_axis1[] = "nn_2d_int8_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1."; +static PyMethodDef __pyx_mdef_2nn_23nn_2d_int8_axis1 = {"nn_2d_int8_axis1", (PyCFunction)__pyx_pw_2nn_23nn_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_22nn_2d_int8_axis1}; +static PyObject *__pyx_pw_2nn_23nn_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -6177,7 +6177,7 @@ static PyObject *__pyx_pw_2nn_23nn_2d_float_axis1(PyObject *__pyx_self, PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_int8_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -6198,11 +6198,11 @@ static PyObject *__pyx_pw_2nn_23nn_2d_float_axis1(PyObject *__pyx_self, PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6215,15 +6215,15 @@ static PyObject *__pyx_pw_2nn_23nn_2d_float_axis1(PyObject *__pyx_self, PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_22nn_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_22nn_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -6234,7 +6234,7 @@ static PyObject *__pyx_pw_2nn_23nn_2d_float_axis1(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2nn_22nn_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_22nn_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -6267,7 +6267,7 @@ static PyObject *__pyx_pf_2nn_22nn_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_float_axis1", 0); + __Pyx_RefNannySetupContext("nn_2d_int8_axis1", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -6278,17 +6278,17 @@ static PyObject *__pyx_pf_2nn_22nn_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_ __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":525 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -6414,7 +6414,7 @@ static PyObject *__pyx_pf_2nn_22nn_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i1; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":539 * for i1 in range(n1): @@ -6527,9 +6527,9 @@ static PyObject *__pyx_pf_2nn_22nn_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":521 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1." + * def nn_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1." */ /* function exit code */ @@ -6542,7 +6542,7 @@ static PyObject *__pyx_pf_2nn_22nn_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6557,16 +6557,16 @@ static PyObject *__pyx_pf_2nn_22nn_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":552 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0." + * def nn_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_25nn_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_24nn_2d_float32_axis0[] = "nn_2d_float32_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0."; -static PyMethodDef __pyx_mdef_2nn_25nn_2d_float32_axis0 = {"nn_2d_float32_axis0", (PyCFunction)__pyx_pw_2nn_25nn_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_24nn_2d_float32_axis0}; -static PyObject *__pyx_pw_2nn_25nn_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_25nn_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_24nn_2d_int32_axis0[] = "nn_2d_int32_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0."; +static PyMethodDef __pyx_mdef_2nn_25nn_2d_int32_axis0 = {"nn_2d_int32_axis0", (PyCFunction)__pyx_pw_2nn_25nn_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_24nn_2d_int32_axis0}; +static PyObject *__pyx_pw_2nn_25nn_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -6574,7 +6574,7 @@ static PyObject *__pyx_pw_2nn_25nn_2d_float32_axis0(PyObject *__pyx_self, PyObje int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_int32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -6595,11 +6595,11 @@ static PyObject *__pyx_pw_2nn_25nn_2d_float32_axis0(PyObject *__pyx_self, PyObje case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6612,15 +6612,15 @@ static PyObject *__pyx_pw_2nn_25nn_2d_float32_axis0(PyObject *__pyx_self, PyObje } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_24nn_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_24nn_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -6631,7 +6631,7 @@ static PyObject *__pyx_pw_2nn_25nn_2d_float32_axis0(PyObject *__pyx_self, PyObje return __pyx_r; } -static PyObject *__pyx_pf_2nn_24nn_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_24nn_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -6664,7 +6664,7 @@ static PyObject *__pyx_pf_2nn_24nn_2d_float32_axis0(CYTHON_UNUSED PyObject *__py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_float32_axis0", 0); + __Pyx_RefNannySetupContext("nn_2d_int32_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -6675,17 +6675,17 @@ static PyObject *__pyx_pf_2nn_24nn_2d_float32_axis0(CYTHON_UNUSED PyObject *__py __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":556 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -6811,7 +6811,7 @@ static PyObject *__pyx_pf_2nn_24nn_2d_float32_axis0(CYTHON_UNUSED PyObject *__py __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i0; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":570 * for i0 in range(n0): @@ -6924,9 +6924,9 @@ static PyObject *__pyx_pf_2nn_24nn_2d_float32_axis0(CYTHON_UNUSED PyObject *__py /* "nn.pyx":552 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0." + * def nn_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0." */ /* function exit code */ @@ -6939,7 +6939,7 @@ static PyObject *__pyx_pf_2nn_24nn_2d_float32_axis0(CYTHON_UNUSED PyObject *__py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6954,16 +6954,16 @@ static PyObject *__pyx_pf_2nn_24nn_2d_float32_axis0(CYTHON_UNUSED PyObject *__py /* "nn.pyx":583 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1." + * def nn_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_27nn_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_26nn_2d_float32_axis1[] = "nn_2d_float32_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1."; -static PyMethodDef __pyx_mdef_2nn_27nn_2d_float32_axis1 = {"nn_2d_float32_axis1", (PyCFunction)__pyx_pw_2nn_27nn_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_26nn_2d_float32_axis1}; -static PyObject *__pyx_pw_2nn_27nn_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_27nn_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_26nn_2d_int32_axis1[] = "nn_2d_int32_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1."; +static PyMethodDef __pyx_mdef_2nn_27nn_2d_int32_axis1 = {"nn_2d_int32_axis1", (PyCFunction)__pyx_pw_2nn_27nn_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_26nn_2d_int32_axis1}; +static PyObject *__pyx_pw_2nn_27nn_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -6971,7 +6971,7 @@ static PyObject *__pyx_pw_2nn_27nn_2d_float32_axis1(PyObject *__pyx_self, PyObje int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_int32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -6992,11 +6992,11 @@ static PyObject *__pyx_pw_2nn_27nn_2d_float32_axis1(PyObject *__pyx_self, PyObje case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7009,15 +7009,15 @@ static PyObject *__pyx_pw_2nn_27nn_2d_float32_axis1(PyObject *__pyx_self, PyObje } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_26nn_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_26nn_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -7028,7 +7028,7 @@ static PyObject *__pyx_pw_2nn_27nn_2d_float32_axis1(PyObject *__pyx_self, PyObje return __pyx_r; } -static PyObject *__pyx_pf_2nn_26nn_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_26nn_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -7061,7 +7061,7 @@ static PyObject *__pyx_pf_2nn_26nn_2d_float32_axis1(CYTHON_UNUSED PyObject *__py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_float32_axis1", 0); + __Pyx_RefNannySetupContext("nn_2d_int32_axis1", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -7072,17 +7072,17 @@ static PyObject *__pyx_pf_2nn_26nn_2d_float32_axis1(CYTHON_UNUSED PyObject *__py __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":587 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -7208,7 +7208,7 @@ static PyObject *__pyx_pf_2nn_26nn_2d_float32_axis1(CYTHON_UNUSED PyObject *__py __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i1; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":601 * for i1 in range(n1): @@ -7321,9 +7321,9 @@ static PyObject *__pyx_pf_2nn_26nn_2d_float32_axis1(CYTHON_UNUSED PyObject *__py /* "nn.pyx":583 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1." + * def nn_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1." */ /* function exit code */ @@ -7336,7 +7336,7 @@ static PyObject *__pyx_pf_2nn_26nn_2d_float32_axis1(CYTHON_UNUSED PyObject *__py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7351,16 +7351,16 @@ static PyObject *__pyx_pf_2nn_26nn_2d_float32_axis1(CYTHON_UNUSED PyObject *__py /* "nn.pyx":614 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0." + * def nn_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_29nn_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_28nn_2d_float64_axis0[] = "nn_2d_float64_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0."; -static PyMethodDef __pyx_mdef_2nn_29nn_2d_float64_axis0 = {"nn_2d_float64_axis0", (PyCFunction)__pyx_pw_2nn_29nn_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_28nn_2d_float64_axis0}; -static PyObject *__pyx_pw_2nn_29nn_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_29nn_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_28nn_2d_int64_axis0[] = "nn_2d_int64_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0."; +static PyMethodDef __pyx_mdef_2nn_29nn_2d_int64_axis0 = {"nn_2d_int64_axis0", (PyCFunction)__pyx_pw_2nn_29nn_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_28nn_2d_int64_axis0}; +static PyObject *__pyx_pw_2nn_29nn_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -7368,7 +7368,7 @@ static PyObject *__pyx_pw_2nn_29nn_2d_float64_axis0(PyObject *__pyx_self, PyObje int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_int64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -7389,11 +7389,11 @@ static PyObject *__pyx_pw_2nn_29nn_2d_float64_axis0(PyObject *__pyx_self, PyObje case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7406,15 +7406,15 @@ static PyObject *__pyx_pw_2nn_29nn_2d_float64_axis0(PyObject *__pyx_self, PyObje } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_28nn_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_28nn_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -7425,7 +7425,7 @@ static PyObject *__pyx_pw_2nn_29nn_2d_float64_axis0(PyObject *__pyx_self, PyObje return __pyx_r; } -static PyObject *__pyx_pf_2nn_28nn_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_28nn_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -7458,7 +7458,7 @@ static PyObject *__pyx_pf_2nn_28nn_2d_float64_axis0(CYTHON_UNUSED PyObject *__py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_float64_axis0", 0); + __Pyx_RefNannySetupContext("nn_2d_int64_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -7469,17 +7469,17 @@ static PyObject *__pyx_pf_2nn_28nn_2d_float64_axis0(CYTHON_UNUSED PyObject *__py __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":618 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -7605,7 +7605,7 @@ static PyObject *__pyx_pf_2nn_28nn_2d_float64_axis0(CYTHON_UNUSED PyObject *__py __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i0; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":632 * for i0 in range(n0): @@ -7718,9 +7718,9 @@ static PyObject *__pyx_pf_2nn_28nn_2d_float64_axis0(CYTHON_UNUSED PyObject *__py /* "nn.pyx":614 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0." + * def nn_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0." */ /* function exit code */ @@ -7733,7 +7733,7 @@ static PyObject *__pyx_pf_2nn_28nn_2d_float64_axis0(CYTHON_UNUSED PyObject *__py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7748,16 +7748,16 @@ static PyObject *__pyx_pf_2nn_28nn_2d_float64_axis0(CYTHON_UNUSED PyObject *__py /* "nn.pyx":645 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1." + * def nn_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_31nn_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_30nn_2d_float64_axis1[] = "nn_2d_float64_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1."; -static PyMethodDef __pyx_mdef_2nn_31nn_2d_float64_axis1 = {"nn_2d_float64_axis1", (PyCFunction)__pyx_pw_2nn_31nn_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_30nn_2d_float64_axis1}; -static PyObject *__pyx_pw_2nn_31nn_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_31nn_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_30nn_2d_int64_axis1[] = "nn_2d_int64_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1."; +static PyMethodDef __pyx_mdef_2nn_31nn_2d_int64_axis1 = {"nn_2d_int64_axis1", (PyCFunction)__pyx_pw_2nn_31nn_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_30nn_2d_int64_axis1}; +static PyObject *__pyx_pw_2nn_31nn_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -7765,7 +7765,7 @@ static PyObject *__pyx_pw_2nn_31nn_2d_float64_axis1(PyObject *__pyx_self, PyObje int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_int64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -7786,11 +7786,11 @@ static PyObject *__pyx_pw_2nn_31nn_2d_float64_axis1(PyObject *__pyx_self, PyObje case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7803,15 +7803,15 @@ static PyObject *__pyx_pw_2nn_31nn_2d_float64_axis1(PyObject *__pyx_self, PyObje } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_30nn_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_30nn_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -7822,7 +7822,7 @@ static PyObject *__pyx_pw_2nn_31nn_2d_float64_axis1(PyObject *__pyx_self, PyObje return __pyx_r; } -static PyObject *__pyx_pf_2nn_30nn_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_30nn_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -7855,7 +7855,7 @@ static PyObject *__pyx_pf_2nn_30nn_2d_float64_axis1(CYTHON_UNUSED PyObject *__py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_float64_axis1", 0); + __Pyx_RefNannySetupContext("nn_2d_int64_axis1", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -7866,17 +7866,17 @@ static PyObject *__pyx_pf_2nn_30nn_2d_float64_axis1(CYTHON_UNUSED PyObject *__py __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":649 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -8002,7 +8002,7 @@ static PyObject *__pyx_pf_2nn_30nn_2d_float64_axis1(CYTHON_UNUSED PyObject *__py __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i1; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":663 * for i1 in range(n1): @@ -8115,9 +8115,9 @@ static PyObject *__pyx_pf_2nn_30nn_2d_float64_axis1(CYTHON_UNUSED PyObject *__py /* "nn.pyx":645 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1." + * def nn_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1." */ /* function exit code */ @@ -8130,7 +8130,7 @@ static PyObject *__pyx_pf_2nn_30nn_2d_float64_axis1(CYTHON_UNUSED PyObject *__py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8143,7 +8143,7 @@ static PyObject *__pyx_pf_2nn_30nn_2d_float64_axis1(CYTHON_UNUSED PyObject *__py } /* "nn.pyx":690 - * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 + * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 * * def nn_slow_axis0(arr, arr0): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nn along axis 0." @@ -8262,7 +8262,7 @@ static PyObject *__pyx_pf_2nn_32nn_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self goto __pyx_L0; /* "nn.pyx":690 - * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 + * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 * * def nn_slow_axis0(arr, arr0): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nn along axis 0." @@ -12936,7 +12936,7 @@ static PyObject *__pyx_pf_2nn_98nn_slow_axisNone(CYTHON_UNUSED PyObject *__pyx_s return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -12986,7 +12986,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -12999,7 +12999,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -13008,7 +13008,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -13017,7 +13017,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -13026,7 +13026,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -13036,7 +13036,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -13048,7 +13048,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -13059,7 +13059,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -13075,7 +13075,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -13087,7 +13087,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -13101,7 +13101,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -13117,7 +13117,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -13129,7 +13129,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -13143,7 +13143,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -13152,7 +13152,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -13161,7 +13161,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -13171,7 +13171,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -13180,7 +13180,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -13189,7 +13189,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -13200,7 +13200,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -13209,7 +13209,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -13222,7 +13222,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -13231,7 +13231,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -13242,7 +13242,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -13251,7 +13251,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -13260,7 +13260,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -13269,7 +13269,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -13278,7 +13278,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -13290,7 +13290,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -13299,7 +13299,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -13319,7 +13319,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -13335,7 +13335,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -13350,7 +13350,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -13360,7 +13360,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -13370,7 +13370,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -13393,7 +13393,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -13413,7 +13413,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -13427,7 +13427,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -13436,7 +13436,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -13447,7 +13447,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -13458,7 +13458,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -13469,7 +13469,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -13480,7 +13480,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -13491,7 +13491,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -13502,7 +13502,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -13513,7 +13513,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -13524,7 +13524,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -13535,7 +13535,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -13546,7 +13546,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -13557,7 +13557,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -13568,7 +13568,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -13579,7 +13579,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -13590,7 +13590,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -13601,7 +13601,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -13612,7 +13612,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -13624,7 +13624,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -13650,7 +13650,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -13659,7 +13659,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -13671,7 +13671,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -13680,7 +13680,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -13689,7 +13689,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -13698,7 +13698,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -13708,7 +13708,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -13718,7 +13718,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -13750,7 +13750,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -13774,7 +13774,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -13784,7 +13784,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -13796,7 +13796,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -13806,7 +13806,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -13818,7 +13818,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -13830,7 +13830,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -13847,7 +13847,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -13861,7 +13861,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -13880,7 +13880,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -13897,7 +13897,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -13911,7 +13911,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -13930,7 +13930,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13947,7 +13947,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -13961,7 +13961,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13980,7 +13980,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13997,7 +13997,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -14011,7 +14011,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -14030,7 +14030,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -14047,7 +14047,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -14061,7 +14061,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -14080,7 +14080,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -14112,7 +14112,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -14121,7 +14121,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -14130,7 +14130,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -14152,7 +14152,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -14165,7 +14165,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -14204,7 +14204,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -14221,7 +14221,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -14235,7 +14235,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -14258,7 +14258,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -14278,7 +14278,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14292,7 +14292,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -14308,7 +14308,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -14317,7 +14317,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -14326,7 +14326,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -14337,7 +14337,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -14347,7 +14347,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -14357,7 +14357,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -14369,7 +14369,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -14379,7 +14379,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -14393,7 +14393,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -14411,7 +14411,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -14429,7 +14429,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -14447,7 +14447,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -14465,7 +14465,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -14483,7 +14483,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -14501,7 +14501,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -14519,7 +14519,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -14537,7 +14537,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -14555,7 +14555,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -14573,7 +14573,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -14591,7 +14591,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -14609,7 +14609,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -14627,7 +14627,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -14647,7 +14647,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -14667,7 +14667,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -14687,7 +14687,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -14706,7 +14706,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -14729,7 +14729,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -14741,7 +14741,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -14753,7 +14753,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -14763,7 +14763,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -14773,7 +14773,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -14798,7 +14798,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -14813,7 +14813,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -14824,7 +14824,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -14836,7 +14836,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -14845,7 +14845,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -14856,7 +14856,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -14865,7 +14865,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -14874,7 +14874,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -14886,7 +14886,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14900,7 +14900,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -14910,7 +14910,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -14924,7 +14924,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -14935,7 +14935,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14973,7 +14973,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_u_Distance_of_nearest_neighbor_an, __pyx_k_Distance_of_nearest_neighbor_an, sizeof(__pyx_k_Distance_of_nearest_neighbor_an), 0, 1, 0, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, @@ -14987,6 +14986,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__24, __pyx_k__24, sizeof(__pyx_k__24), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -15303,7 +15303,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -15314,7 +15314,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -15325,7 +15325,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -15336,7 +15336,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__20); __Pyx_GIVEREF(__pyx_tuple__20); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -15347,7 +15347,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -15358,7 +15358,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -15390,7 +15390,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__26 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_arr0, __pyx_n_s_axis, __pyx_n_s_func, __pyx_n_s_a, __pyx_n_s_a0); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__26); __Pyx_GIVEREF(__pyx_tuple__26); - __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":145 * return func(a, a0) @@ -15402,178 +15402,178 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__28 = PyTuple_Pack(12, __pyx_n_s_arr, __pyx_n_s_arr0, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_dtype, __pyx_n_s_dtype0, __pyx_n_s_ndim, __pyx_n_s_ndim0, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__28); __Pyx_GIVEREF(__pyx_tuple__28); - __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(3, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_selector, 145, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(3, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_selector, 145, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0." + * def nn_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0." */ __pyx_tuple__30 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30); - __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_int_axis0, 242, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_float_axis0, 242, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":273 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1." + * def nn_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1." */ __pyx_tuple__32 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__32); __Pyx_GIVEREF(__pyx_tuple__32); - __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_int_axis1, 273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_float_axis1, 273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":304 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0." + * def nn_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0." */ __pyx_tuple__34 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__34); __Pyx_GIVEREF(__pyx_tuple__34); - __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_int8_axis0, 304, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_float32_axis0, 304, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":335 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1." + * def nn_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1." */ __pyx_tuple__36 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); - __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_int8_axis1, 335, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_float32_axis1, 335, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":366 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0." + * def nn_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0." */ __pyx_tuple__38 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__38); __Pyx_GIVEREF(__pyx_tuple__38); - __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_int32_axis0, 366, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_float64_axis0, 366, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":397 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1." + * def nn_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1." */ __pyx_tuple__40 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__40); __Pyx_GIVEREF(__pyx_tuple__40); - __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_int32_axis1, 397, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_float64_axis1, 397, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":428 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0." + * def nn_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0." */ __pyx_tuple__42 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__42); __Pyx_GIVEREF(__pyx_tuple__42); - __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_int64_axis0, 428, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_int_axis0, 428, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":459 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1." + * def nn_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1." */ __pyx_tuple__44 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__44); __Pyx_GIVEREF(__pyx_tuple__44); - __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_int64_axis1, 459, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_int_axis1, 459, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":490 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0." + * def nn_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0." */ __pyx_tuple__46 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__46); __Pyx_GIVEREF(__pyx_tuple__46); - __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_float_axis0, 490, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_int8_axis0, 490, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":521 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1." + * def nn_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1." */ __pyx_tuple__48 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__48); __Pyx_GIVEREF(__pyx_tuple__48); - __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_float_axis1, 521, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_int8_axis1, 521, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":552 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0." + * def nn_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0." */ __pyx_tuple__50 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__50); __Pyx_GIVEREF(__pyx_tuple__50); - __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_float32_axis0, 552, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_int32_axis0, 552, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":583 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1." + * def nn_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1." */ __pyx_tuple__52 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__52); __Pyx_GIVEREF(__pyx_tuple__52); - __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_float32_axis1, 583, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_int32_axis1, 583, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":614 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0." + * def nn_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0." */ __pyx_tuple__54 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__54); __Pyx_GIVEREF(__pyx_tuple__54); - __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_float64_axis0, 614, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_int64_axis0, 614, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":645 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1." + * def nn_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1." */ __pyx_tuple__56 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__56); __Pyx_GIVEREF(__pyx_tuple__56); - __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_float64_axis1, 645, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_int64_axis1, 645, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":690 - * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 + * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 * * def nn_slow_axis0(arr, arr0): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nn along axis 0." @@ -15582,7 +15582,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__58 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__58); __Pyx_GIVEREF(__pyx_tuple__58); - __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis0, 690, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis0, 690, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":694 * return bn.slow.nn(arr, arr0, axis=0) @@ -15594,7 +15594,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__60 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__60); __Pyx_GIVEREF(__pyx_tuple__60); - __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis1, 694, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis1, 694, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":698 * return bn.slow.nn(arr, arr0, axis=1) @@ -15606,7 +15606,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__62 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__62); __Pyx_GIVEREF(__pyx_tuple__62); - __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis2, 698, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis2, 698, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":702 * return bn.slow.nn(arr, arr0, axis=2) @@ -15618,7 +15618,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__64 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__64); __Pyx_GIVEREF(__pyx_tuple__64); - __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis3, 702, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis3, 702, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":706 * return bn.slow.nn(arr, arr0, axis=3) @@ -15630,7 +15630,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__66 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__66); __Pyx_GIVEREF(__pyx_tuple__66); - __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis4, 706, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis4, 706, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":710 * return bn.slow.nn(arr, arr0, axis=4) @@ -15642,7 +15642,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__68 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__68); __Pyx_GIVEREF(__pyx_tuple__68); - __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis5, 710, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis5, 710, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":714 * return bn.slow.nn(arr, arr0, axis=5) @@ -15654,7 +15654,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__70 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__70); __Pyx_GIVEREF(__pyx_tuple__70); - __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis6, 714, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis6, 714, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":718 * return bn.slow.nn(arr, arr0, axis=6) @@ -15666,7 +15666,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__72 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__72); __Pyx_GIVEREF(__pyx_tuple__72); - __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis7, 718, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis7, 718, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":722 * return bn.slow.nn(arr, arr0, axis=7) @@ -15678,7 +15678,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__74 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__74); __Pyx_GIVEREF(__pyx_tuple__74); - __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis8, 722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis8, 722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":726 * return bn.slow.nn(arr, arr0, axis=8) @@ -15690,7 +15690,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__76 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__76); __Pyx_GIVEREF(__pyx_tuple__76); - __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis9, 726, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis9, 726, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":730 * return bn.slow.nn(arr, arr0, axis=9) @@ -15702,7 +15702,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__78 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__78); __Pyx_GIVEREF(__pyx_tuple__78); - __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis10, 730, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis10, 730, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":734 * return bn.slow.nn(arr, arr0, axis=10) @@ -15714,7 +15714,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__80 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__80); __Pyx_GIVEREF(__pyx_tuple__80); - __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis11, 734, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis11, 734, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":738 * return bn.slow.nn(arr, arr0, axis=11) @@ -15726,7 +15726,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__82 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__82); __Pyx_GIVEREF(__pyx_tuple__82); - __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis12, 738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis12, 738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":742 * return bn.slow.nn(arr, arr0, axis=12) @@ -15738,7 +15738,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__84 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__84); __Pyx_GIVEREF(__pyx_tuple__84); - __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis13, 742, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis13, 742, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":746 * return bn.slow.nn(arr, arr0, axis=13) @@ -15750,7 +15750,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__86 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__86); __Pyx_GIVEREF(__pyx_tuple__86); - __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis14, 746, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis14, 746, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":750 * return bn.slow.nn(arr, arr0, axis=14) @@ -15762,7 +15762,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__88 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__88); __Pyx_GIVEREF(__pyx_tuple__88); - __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis15, 750, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis15, 750, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":754 * return bn.slow.nn(arr, arr0, axis=15) @@ -15774,7 +15774,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__90 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__90); __Pyx_GIVEREF(__pyx_tuple__90); - __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis16, 754, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis16, 754, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":758 * return bn.slow.nn(arr, arr0, axis=16) @@ -15786,7 +15786,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__92 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__92); __Pyx_GIVEREF(__pyx_tuple__92); - __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis17, 758, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis17, 758, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":762 * return bn.slow.nn(arr, arr0, axis=17) @@ -15798,7 +15798,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__94 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__94); __Pyx_GIVEREF(__pyx_tuple__94); - __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis18, 762, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis18, 762, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":766 * return bn.slow.nn(arr, arr0, axis=18) @@ -15810,7 +15810,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__96 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__96); __Pyx_GIVEREF(__pyx_tuple__96); - __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis19, 766, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis19, 766, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":770 * return bn.slow.nn(arr, arr0, axis=19) @@ -15822,7 +15822,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__98 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__98); __Pyx_GIVEREF(__pyx_tuple__98); - __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis20, 770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis20, 770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":774 * return bn.slow.nn(arr, arr0, axis=20) @@ -15834,7 +15834,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__100 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__100); __Pyx_GIVEREF(__pyx_tuple__100); - __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis21, 774, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis21, 774, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":778 * return bn.slow.nn(arr, arr0, axis=21) @@ -15846,7 +15846,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__102 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__102); __Pyx_GIVEREF(__pyx_tuple__102); - __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis22, 778, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis22, 778, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":782 * return bn.slow.nn(arr, arr0, axis=22) @@ -15858,7 +15858,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__104 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__104); __Pyx_GIVEREF(__pyx_tuple__104); - __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis23, 782, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis23, 782, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":786 * return bn.slow.nn(arr, arr0, axis=23) @@ -15870,7 +15870,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__106 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__106); __Pyx_GIVEREF(__pyx_tuple__106); - __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis24, 786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis24, 786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":790 * return bn.slow.nn(arr, arr0, axis=24) @@ -15882,7 +15882,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__108 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__108); __Pyx_GIVEREF(__pyx_tuple__108); - __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis25, 790, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis25, 790, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":794 * return bn.slow.nn(arr, arr0, axis=25) @@ -15894,7 +15894,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__110 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__110); __Pyx_GIVEREF(__pyx_tuple__110); - __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis26, 794, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis26, 794, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":798 * return bn.slow.nn(arr, arr0, axis=26) @@ -15906,7 +15906,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__112 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__112); __Pyx_GIVEREF(__pyx_tuple__112); - __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis27, 798, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis27, 798, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":802 * return bn.slow.nn(arr, arr0, axis=27) @@ -15918,7 +15918,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__114 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__114); __Pyx_GIVEREF(__pyx_tuple__114); - __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis28, 802, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis28, 802, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":806 * return bn.slow.nn(arr, arr0, axis=28) @@ -15930,7 +15930,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__116 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__116); __Pyx_GIVEREF(__pyx_tuple__116); - __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis29, 806, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis29, 806, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":810 * return bn.slow.nn(arr, arr0, axis=29) @@ -15942,7 +15942,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__118 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__118); __Pyx_GIVEREF(__pyx_tuple__118); - __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis30, 810, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis30, 810, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":814 * return bn.slow.nn(arr, arr0, axis=30) @@ -15954,7 +15954,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__120 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__120); __Pyx_GIVEREF(__pyx_tuple__120); - __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis31, 814, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis31, 814, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":818 * return bn.slow.nn(arr, arr0, axis=31) @@ -15966,7 +15966,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__122 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__122); __Pyx_GIVEREF(__pyx_tuple__122); - __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis32, 818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis32, 818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":822 * return bn.slow.nn(arr, arr0, axis=32) @@ -15978,7 +15978,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__124 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__124); __Pyx_GIVEREF(__pyx_tuple__124); - __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axisNone, 822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axisNone, 822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -16944,177 +16944,177 @@ PyMODINIT_FUNC PyInit_nn(void) /* "nn.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0." + * def nn_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_5nn_2d_int_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_5nn_2d_float_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":273 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1." + * def nn_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_7nn_2d_int_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_7nn_2d_float_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":304 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0." + * def nn_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_9nn_2d_int8_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_9nn_2d_float32_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":335 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1." + * def nn_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_11nn_2d_int8_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_11nn_2d_float32_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":366 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0." + * def nn_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_13nn_2d_int32_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_13nn_2d_float64_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":397 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1." + * def nn_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_15nn_2d_int32_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_15nn_2d_float64_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":428 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0." + * def nn_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_17nn_2d_int64_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_17nn_2d_int_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":459 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1." + * def nn_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_19nn_2d_int64_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_19nn_2d_int_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":490 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0." + * def nn_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_21nn_2d_float_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_21nn_2d_int8_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":521 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1." + * def nn_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_23nn_2d_float_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_23nn_2d_int8_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":552 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0." + * def nn_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_25nn_2d_float32_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_25nn_2d_int32_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":583 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1." + * def nn_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_27nn_2d_float32_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_27nn_2d_int32_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":614 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0." + * def nn_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_29nn_2d_float64_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_29nn_2d_int64_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":645 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1." + * def nn_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_31nn_2d_float64_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_31nn_2d_int64_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":674 * return dist, imin * * cdef dict nn_dict = {} # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_int, 0)] = nn_2d_int_axis0 - * nn_dict[(2, NPY_int, 1)] = nn_2d_int_axis1 + * nn_dict[(2, NPY_float, 0)] = nn_2d_float_axis0 + * nn_dict[(2, NPY_float, 1)] = nn_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -17126,17 +17126,17 @@ PyMODINIT_FUNC PyInit_nn(void) /* "nn.pyx":675 * * cdef dict nn_dict = {} - * nn_dict[(2, NPY_int, 0)] = nn_2d_int_axis0 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_int, 1)] = nn_2d_int_axis1 - * nn_dict[(2, NPY_int8, 0)] = nn_2d_int8_axis0 + * nn_dict[(2, NPY_float, 0)] = nn_2d_float_axis0 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_float, 1)] = nn_2d_float_axis1 + * nn_dict[(2, NPY_float32, 0)] = nn_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17155,18 +17155,18 @@ PyMODINIT_FUNC PyInit_nn(void) /* "nn.pyx":676 * cdef dict nn_dict = {} - * nn_dict[(2, NPY_int, 0)] = nn_2d_int_axis0 - * nn_dict[(2, NPY_int, 1)] = nn_2d_int_axis1 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_int8, 0)] = nn_2d_int8_axis0 - * nn_dict[(2, NPY_int8, 1)] = nn_2d_int8_axis1 + * nn_dict[(2, NPY_float, 0)] = nn_2d_float_axis0 + * nn_dict[(2, NPY_float, 1)] = nn_2d_float_axis1 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_float32, 0)] = nn_2d_float32_axis0 + * nn_dict[(2, NPY_float32, 1)] = nn_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17184,19 +17184,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":677 - * nn_dict[(2, NPY_int, 0)] = nn_2d_int_axis0 - * nn_dict[(2, NPY_int, 1)] = nn_2d_int_axis1 - * nn_dict[(2, NPY_int8, 0)] = nn_2d_int8_axis0 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_int8, 1)] = nn_2d_int8_axis1 - * nn_dict[(2, NPY_int32, 0)] = nn_2d_int32_axis0 + * nn_dict[(2, NPY_float, 0)] = nn_2d_float_axis0 + * nn_dict[(2, NPY_float, 1)] = nn_2d_float_axis1 + * nn_dict[(2, NPY_float32, 0)] = nn_2d_float32_axis0 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_float32, 1)] = nn_2d_float32_axis1 + * nn_dict[(2, NPY_float64, 0)] = nn_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17214,19 +17214,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":678 - * nn_dict[(2, NPY_int, 1)] = nn_2d_int_axis1 - * nn_dict[(2, NPY_int8, 0)] = nn_2d_int8_axis0 - * nn_dict[(2, NPY_int8, 1)] = nn_2d_int8_axis1 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_int32, 0)] = nn_2d_int32_axis0 - * nn_dict[(2, NPY_int32, 1)] = nn_2d_int32_axis1 + * nn_dict[(2, NPY_float, 1)] = nn_2d_float_axis1 + * nn_dict[(2, NPY_float32, 0)] = nn_2d_float32_axis0 + * nn_dict[(2, NPY_float32, 1)] = nn_2d_float32_axis1 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_float64, 0)] = nn_2d_float64_axis0 + * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17244,19 +17244,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":679 - * nn_dict[(2, NPY_int8, 0)] = nn_2d_int8_axis0 - * nn_dict[(2, NPY_int8, 1)] = nn_2d_int8_axis1 - * nn_dict[(2, NPY_int32, 0)] = nn_2d_int32_axis0 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_int32, 1)] = nn_2d_int32_axis1 - * nn_dict[(2, NPY_int64, 0)] = nn_2d_int64_axis0 + * nn_dict[(2, NPY_float32, 0)] = nn_2d_float32_axis0 + * nn_dict[(2, NPY_float32, 1)] = nn_2d_float32_axis1 + * nn_dict[(2, NPY_float64, 0)] = nn_2d_float64_axis0 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 + * nn_dict[(2, NPY_int, 0)] = nn_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17274,19 +17274,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":680 - * nn_dict[(2, NPY_int8, 1)] = nn_2d_int8_axis1 - * nn_dict[(2, NPY_int32, 0)] = nn_2d_int32_axis0 - * nn_dict[(2, NPY_int32, 1)] = nn_2d_int32_axis1 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_int64, 0)] = nn_2d_int64_axis0 - * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 + * nn_dict[(2, NPY_float32, 1)] = nn_2d_float32_axis1 + * nn_dict[(2, NPY_float64, 0)] = nn_2d_float64_axis0 + * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_int, 0)] = nn_2d_int_axis0 + * nn_dict[(2, NPY_int, 1)] = nn_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17304,19 +17304,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":681 - * nn_dict[(2, NPY_int32, 0)] = nn_2d_int32_axis0 - * nn_dict[(2, NPY_int32, 1)] = nn_2d_int32_axis1 - * nn_dict[(2, NPY_int64, 0)] = nn_2d_int64_axis0 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 - * nn_dict[(2, NPY_float, 0)] = nn_2d_float_axis0 + * nn_dict[(2, NPY_float64, 0)] = nn_2d_float64_axis0 + * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 + * nn_dict[(2, NPY_int, 0)] = nn_2d_int_axis0 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_int, 1)] = nn_2d_int_axis1 + * nn_dict[(2, NPY_int8, 0)] = nn_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17334,19 +17334,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":682 - * nn_dict[(2, NPY_int32, 1)] = nn_2d_int32_axis1 - * nn_dict[(2, NPY_int64, 0)] = nn_2d_int64_axis0 - * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_float, 0)] = nn_2d_float_axis0 - * nn_dict[(2, NPY_float, 1)] = nn_2d_float_axis1 + * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 + * nn_dict[(2, NPY_int, 0)] = nn_2d_int_axis0 + * nn_dict[(2, NPY_int, 1)] = nn_2d_int_axis1 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_int8, 0)] = nn_2d_int8_axis0 + * nn_dict[(2, NPY_int8, 1)] = nn_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17364,19 +17364,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":683 - * nn_dict[(2, NPY_int64, 0)] = nn_2d_int64_axis0 - * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 - * nn_dict[(2, NPY_float, 0)] = nn_2d_float_axis0 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_float, 1)] = nn_2d_float_axis1 - * nn_dict[(2, NPY_float32, 0)] = nn_2d_float32_axis0 + * nn_dict[(2, NPY_int, 0)] = nn_2d_int_axis0 + * nn_dict[(2, NPY_int, 1)] = nn_2d_int_axis1 + * nn_dict[(2, NPY_int8, 0)] = nn_2d_int8_axis0 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_int8, 1)] = nn_2d_int8_axis1 + * nn_dict[(2, NPY_int32, 0)] = nn_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17394,19 +17394,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":684 - * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 - * nn_dict[(2, NPY_float, 0)] = nn_2d_float_axis0 - * nn_dict[(2, NPY_float, 1)] = nn_2d_float_axis1 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_float32, 0)] = nn_2d_float32_axis0 - * nn_dict[(2, NPY_float32, 1)] = nn_2d_float32_axis1 + * nn_dict[(2, NPY_int, 1)] = nn_2d_int_axis1 + * nn_dict[(2, NPY_int8, 0)] = nn_2d_int8_axis0 + * nn_dict[(2, NPY_int8, 1)] = nn_2d_int8_axis1 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_int32, 0)] = nn_2d_int32_axis0 + * nn_dict[(2, NPY_int32, 1)] = nn_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17424,19 +17424,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":685 - * nn_dict[(2, NPY_float, 0)] = nn_2d_float_axis0 - * nn_dict[(2, NPY_float, 1)] = nn_2d_float_axis1 - * nn_dict[(2, NPY_float32, 0)] = nn_2d_float32_axis0 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_float32, 1)] = nn_2d_float32_axis1 - * nn_dict[(2, NPY_float64, 0)] = nn_2d_float64_axis0 + * nn_dict[(2, NPY_int8, 0)] = nn_2d_int8_axis0 + * nn_dict[(2, NPY_int8, 1)] = nn_2d_int8_axis1 + * nn_dict[(2, NPY_int32, 0)] = nn_2d_int32_axis0 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_int32, 1)] = nn_2d_int32_axis1 + * nn_dict[(2, NPY_int64, 0)] = nn_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17454,19 +17454,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":686 - * nn_dict[(2, NPY_float, 1)] = nn_2d_float_axis1 - * nn_dict[(2, NPY_float32, 0)] = nn_2d_float32_axis0 - * nn_dict[(2, NPY_float32, 1)] = nn_2d_float32_axis1 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_float64, 0)] = nn_2d_float64_axis0 - * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 + * nn_dict[(2, NPY_int8, 1)] = nn_2d_int8_axis1 + * nn_dict[(2, NPY_int32, 0)] = nn_2d_int32_axis0 + * nn_dict[(2, NPY_int32, 1)] = nn_2d_int32_axis1 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_int64, 0)] = nn_2d_int64_axis0 + * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17484,19 +17484,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":687 - * nn_dict[(2, NPY_float32, 0)] = nn_2d_float32_axis0 - * nn_dict[(2, NPY_float32, 1)] = nn_2d_float32_axis1 - * nn_dict[(2, NPY_float64, 0)] = nn_2d_float64_axis0 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 + * nn_dict[(2, NPY_int32, 0)] = nn_2d_int32_axis0 + * nn_dict[(2, NPY_int32, 1)] = nn_2d_int32_axis1 + * nn_dict[(2, NPY_int64, 0)] = nn_2d_int64_axis0 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17514,19 +17514,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":688 - * nn_dict[(2, NPY_float32, 1)] = nn_2d_float32_axis1 - * nn_dict[(2, NPY_float64, 0)] = nn_2d_float64_axis0 - * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_int32, 1)] = nn_2d_int32_axis1 + * nn_dict[(2, NPY_int64, 0)] = nn_2d_int64_axis0 + * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nn_slow_axis0(arr, arr0): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17544,7 +17544,7 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":690 - * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 + * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 * * def nn_slow_axis0(arr, arr0): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nn along axis 0." @@ -18518,7 +18518,7 @@ PyMODINIT_FUNC PyInit_nn(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/partsort.c b/bottlechest/src/func/32bit/partsort.c index 8c8600ebcf..5a3f1d5320 100644 --- a/bottlechest/src/func/32bit/partsort.c +++ b/bottlechest/src/func/32bit/partsort.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1101,13 +1101,13 @@ static __pyx_t_5numpy_float32_t __pyx_v_8partsort_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_8partsort_MAXfloat64; static PyObject *__pyx_v_8partsort_partsort_dict = 0; static PyObject *__pyx_v_8partsort_partsort_slow_dict = 0; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "partsort" int __pyx_module_is_main_partsort = 0; @@ -1119,48 +1119,48 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_8partsort_partsort(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_n, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_8partsort_2partsort_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_42partsort_3d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_54partsort_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_4partsort_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_6partsort_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_8partsort_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_10partsort_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_12partsort_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_14partsort_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_16partsort_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_18partsort_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_20partsort_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_22partsort_3d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_24partsort_3d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_26partsort_3d_float_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_28partsort_3d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_30partsort_3d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_32partsort_3d_float32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_34partsort_3d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_36partsort_3d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_38partsort_3d_float64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_40partsort_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_42partsort_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_44partsort_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_46partsort_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_48partsort_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_50partsort_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_52partsort_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_54partsort_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_56partsort_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_58partsort_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_60partsort_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_62partsort_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_64partsort_3d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_66partsort_3d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_68partsort_3d_int_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_70partsort_3d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_72partsort_3d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_74partsort_3d_int8_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_76partsort_3d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_78partsort_3d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_80partsort_3d_int32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_82partsort_3d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_84partsort_3d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_86partsort_3d_int64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ static PyObject *__pyx_pf_8partsort_88partsort_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_n); /* proto */ static PyObject *__pyx_pf_8partsort_90partsort_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_n); /* proto */ static PyObject *__pyx_pf_8partsort_92partsort_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_n); /* proto */ @@ -1353,15 +1353,14 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Partial_sorting_of_array_elemen[] = "\n Partial sorting of array elements along given axis.\n \n A partially sorted array is one in which the `n` smallest values appear\n (in any order) in the first `n` elements. The remaining largest elements\n are also unordered. Due to the algorithm used (Wirth's method), the nth\n smallest element is in its sorted position (at index `n-1`).\n\n Shuffling the input array may change the output. The only guarantee is\n that the first `n` elements will be the `n` smallest and the remaining\n element will appear in the remainder of the output.\n\n This functions is not protected against NaN. Therefore, you may get\n unexpected results if the input contains NaN.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n n : int \n The `n` smallest elements will appear (unordered) in the first `n`\n elements of the output array.\n axis : {int, None}, optional\n Axis along which the partial sort is performed. The default (axis=-1)\n is to sort along the last axis.\n\n Returns\n -------\n y : ndarray\n A partially sorted copy of the input array where the `n` smallest\n elements will appear (unordered) in the first `n` elements.\n \n See Also\n --------\n bottlechest.argpartsort: Indices that would partially sort an array\n \n Notes\n -----\n Unexpected results may occur if the input array contains NaN.\n\n Examples\n --------\n Create a numpy array:\n\n >>> a = np.array([1, 0, 3, 4, 2])\n \n Partially sort array so that the first 3 elements are the smallest 3\n elements (note, as in this example, that the smallest 3 elements may not\n be sorted):\n\n >>> bn.partsort(a, n=3)\n array([1, 0, 2, 4, 3])\n \n "; static char __pyx_k_Return_partsort_function_and_ar[] = "\n Return partsort function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.partsort() is in checking that `axis` is within range, converting `arr`\n into an array (if it is not already an array), and selecting the function\n to use to partially sort.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which to partially sort.\n \n Returns\n -------\n func : function\n The partsort function that matches the number of dimensions and dtype\n of the input array and the axis along which you wish to partially\n sort.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1, 0, 3, 4, 2])\n \n Obtain the function needed to partially sort `arr` along axis=0:\n\n >>> func, a = bn.func.partsort_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to partially sort:\n\n >>> func(a, n=3)\n array([1, 0, 2, 4, 3])\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/partsort.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\partsort.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1375,6 +1374,7 @@ static PyObject *__pyx_kp_u_Return_partsort_function_and_ar; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__7; static PyObject *__pyx_n_s_a; @@ -2559,16 +2559,16 @@ static PyObject *__pyx_pf_8partsort_2partsort_selector(CYTHON_UNUSED PyObject *_ /* "partsort.pyx":220 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int along axis=0." + * def partsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_5partsort_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_4partsort_1d_int_axis0[] = "partsort_1d_int_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_5partsort_1d_int_axis0 = {"partsort_1d_int_axis0", (PyCFunction)__pyx_pw_8partsort_5partsort_1d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_4partsort_1d_int_axis0}; -static PyObject *__pyx_pw_8partsort_5partsort_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_5partsort_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_4partsort_1d_float_axis0[] = "partsort_1d_float_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_5partsort_1d_float_axis0 = {"partsort_1d_float_axis0", (PyCFunction)__pyx_pw_8partsort_5partsort_1d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_4partsort_1d_float_axis0}; +static PyObject *__pyx_pw_8partsort_5partsort_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -2576,7 +2576,7 @@ static PyObject *__pyx_pw_8partsort_5partsort_1d_int_axis0(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_1d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_1d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -2597,11 +2597,11 @@ static PyObject *__pyx_pw_8partsort_5partsort_1d_int_axis0(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_1d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -2614,14 +2614,14 @@ static PyObject *__pyx_pw_8partsort_5partsort_1d_int_axis0(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_1d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_4partsort_1d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_4partsort_1d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -2632,14 +2632,14 @@ static PyObject *__pyx_pw_8partsort_5partsort_1d_int_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_4partsort_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -2666,7 +2666,7 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_1d_int_axis0", 0); + __Pyx_RefNannySetupContext("partsort_1d_float_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -2677,24 +2677,24 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "partsort.pyx":222 - * def partsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=int along axis=0." + * def partsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":224 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ @@ -2704,7 +2704,7 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; @@ -2864,7 +2864,7 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec * j = r */ __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); /* "partsort.pyx":238 * while l < r: @@ -2902,7 +2902,7 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec */ while (1) { __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -2916,7 +2916,7 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec */ while (1) { __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -2939,7 +2939,7 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec * b[j] = tmp */ __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); /* "partsort.pyx":245 * if i <= j: @@ -2950,7 +2950,7 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec */ __pyx_t_12 = __pyx_v_j; __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); /* "partsort.pyx":246 * tmp = b[i] @@ -2960,7 +2960,7 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec * j -= 1 */ __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; /* "partsort.pyx":247 * b[i] = b[j] @@ -3060,8 +3060,8 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec /* "partsort.pyx":220 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int along axis=0." + * def partsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -3076,7 +3076,7 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3092,16 +3092,16 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec /* "partsort.pyx":256 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int8 along axis=0." + * def partsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_7partsort_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_6partsort_1d_int8_axis0[] = "partsort_1d_int8_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_7partsort_1d_int8_axis0 = {"partsort_1d_int8_axis0", (PyCFunction)__pyx_pw_8partsort_7partsort_1d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_6partsort_1d_int8_axis0}; -static PyObject *__pyx_pw_8partsort_7partsort_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_7partsort_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_6partsort_1d_float32_axis0[] = "partsort_1d_float32_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_7partsort_1d_float32_axis0 = {"partsort_1d_float32_axis0", (PyCFunction)__pyx_pw_8partsort_7partsort_1d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_6partsort_1d_float32_axis0}; +static PyObject *__pyx_pw_8partsort_7partsort_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -3109,7 +3109,7 @@ static PyObject *__pyx_pw_8partsort_7partsort_1d_int8_axis0(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_1d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_1d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -3130,11 +3130,11 @@ static PyObject *__pyx_pw_8partsort_7partsort_1d_int8_axis0(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_1d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3147,14 +3147,14 @@ static PyObject *__pyx_pw_8partsort_7partsort_1d_int8_axis0(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_1d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_6partsort_1d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_6partsort_1d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -3165,14 +3165,14 @@ static PyObject *__pyx_pw_8partsort_7partsort_1d_int8_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_6partsort_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -3199,7 +3199,7 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_1d_int8_axis0", 0); + __Pyx_RefNannySetupContext("partsort_1d_float32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -3210,24 +3210,24 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "partsort.pyx":258 - * def partsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=int8 along axis=0." + * def partsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":260 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ @@ -3237,7 +3237,7 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; @@ -3397,7 +3397,7 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje * j = r */ __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); /* "partsort.pyx":274 * while l < r: @@ -3435,7 +3435,7 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje */ while (1) { __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -3449,7 +3449,7 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje */ while (1) { __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -3472,7 +3472,7 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje * b[j] = tmp */ __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); /* "partsort.pyx":281 * if i <= j: @@ -3483,7 +3483,7 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje */ __pyx_t_12 = __pyx_v_j; __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); /* "partsort.pyx":282 * tmp = b[i] @@ -3493,7 +3493,7 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje * j -= 1 */ __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; /* "partsort.pyx":283 * b[i] = b[j] @@ -3593,8 +3593,8 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje /* "partsort.pyx":256 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int8 along axis=0." + * def partsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -3609,7 +3609,7 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3625,16 +3625,16 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje /* "partsort.pyx":292 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int32 along axis=0." + * def partsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_9partsort_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_8partsort_1d_int32_axis0[] = "partsort_1d_int32_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_9partsort_1d_int32_axis0 = {"partsort_1d_int32_axis0", (PyCFunction)__pyx_pw_8partsort_9partsort_1d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_8partsort_1d_int32_axis0}; -static PyObject *__pyx_pw_8partsort_9partsort_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_9partsort_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_8partsort_1d_float64_axis0[] = "partsort_1d_float64_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_9partsort_1d_float64_axis0 = {"partsort_1d_float64_axis0", (PyCFunction)__pyx_pw_8partsort_9partsort_1d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_8partsort_1d_float64_axis0}; +static PyObject *__pyx_pw_8partsort_9partsort_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -3642,7 +3642,7 @@ static PyObject *__pyx_pw_8partsort_9partsort_1d_int32_axis0(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_1d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_1d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -3663,11 +3663,11 @@ static PyObject *__pyx_pw_8partsort_9partsort_1d_int32_axis0(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_1d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3680,14 +3680,14 @@ static PyObject *__pyx_pw_8partsort_9partsort_1d_int32_axis0(PyObject *__pyx_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_1d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_8partsort_1d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_8partsort_1d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -3698,14 +3698,14 @@ static PyObject *__pyx_pw_8partsort_9partsort_1d_int32_axis0(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_8partsort_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -3732,7 +3732,7 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_1d_int32_axis0", 0); + __Pyx_RefNannySetupContext("partsort_1d_float64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -3743,24 +3743,24 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "partsort.pyx":294 - * def partsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=int32 along axis=0." + * def partsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":296 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ @@ -3770,7 +3770,7 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; @@ -3930,7 +3930,7 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj * j = r */ __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); /* "partsort.pyx":310 * while l < r: @@ -3968,7 +3968,7 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj */ while (1) { __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -3982,7 +3982,7 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj */ while (1) { __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -4005,7 +4005,7 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj * b[j] = tmp */ __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); /* "partsort.pyx":317 * if i <= j: @@ -4016,7 +4016,7 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj */ __pyx_t_12 = __pyx_v_j; __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); /* "partsort.pyx":318 * tmp = b[i] @@ -4026,7 +4026,7 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj * j -= 1 */ __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; /* "partsort.pyx":319 * b[i] = b[j] @@ -4126,8 +4126,8 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj /* "partsort.pyx":292 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int32 along axis=0." + * def partsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -4142,7 +4142,7 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4158,16 +4158,16 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj /* "partsort.pyx":328 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int64 along axis=0." + * def partsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_11partsort_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_10partsort_1d_int64_axis0[] = "partsort_1d_int64_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_11partsort_1d_int64_axis0 = {"partsort_1d_int64_axis0", (PyCFunction)__pyx_pw_8partsort_11partsort_1d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_10partsort_1d_int64_axis0}; -static PyObject *__pyx_pw_8partsort_11partsort_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_11partsort_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_10partsort_2d_float_axis0[] = "partsort_2d_float_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_11partsort_2d_float_axis0 = {"partsort_2d_float_axis0", (PyCFunction)__pyx_pw_8partsort_11partsort_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_10partsort_2d_float_axis0}; +static PyObject *__pyx_pw_8partsort_11partsort_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -4175,7 +4175,7 @@ static PyObject *__pyx_pw_8partsort_11partsort_1d_int64_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_1d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -4196,11 +4196,11 @@ static PyObject *__pyx_pw_8partsort_11partsort_1d_int64_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_1d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4213,14 +4213,14 @@ static PyObject *__pyx_pw_8partsort_11partsort_1d_int64_axis0(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_1d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_10partsort_1d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_10partsort_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -4231,17 +4231,19 @@ static PyObject *__pyx_pw_8partsort_11partsort_1d_int64_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_10partsort_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -4255,17 +4257,26 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; - npy_intp __pyx_t_8; - npy_intp __pyx_t_9; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; npy_intp __pyx_t_10; - npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_11; npy_intp __pyx_t_12; - npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_13; npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_15; + npy_intp __pyx_t_16; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_1d_int64_axis0", 0); + __Pyx_RefNannySetupContext("partsort_2d_float_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -4276,25 +4287,25 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "partsort.pyx":330 - * def partsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=int64 along axis=0." + * def partsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":332 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -4303,10 +4314,10 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; @@ -4314,11 +4325,11 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb __pyx_t_1 = 0; /* "partsort.pyx":335 - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); @@ -4326,14 +4337,23 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * if n0 == 0: - * return b */ __pyx_v_n0 = (__pyx_v_dim[0]); /* "partsort.pyx":337 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * if n0 == 0: + * return b + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "partsort.pyx":338 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * if n0 == 0: # <<<<<<<<<<<<<< * return b * if (n < 1) or (n > n0): @@ -4341,8 +4361,8 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":338 - * cdef Py_ssize_t n0 = dim[0] + /* "partsort.pyx":339 + * cdef Py_ssize_t n1 = dim[1] * if n0 == 0: * return b # <<<<<<<<<<<<<< * if (n < 1) or (n > n0): @@ -4354,12 +4374,12 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":339 + /* "partsort.pyx":340 * if n0 == 0: * return b * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 + * for i1 in range(n1): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -4374,20 +4394,20 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":340 + /* "partsort.pyx":341 * return b * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * for i1 in range(n1): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -4395,256 +4415,242 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":341 + /* "partsort.pyx":342 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_v_l = 0; + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "partsort.pyx":342 + /* "partsort.pyx":343 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "partsort.pyx":343 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "partsort.pyx":344 + * for i1 in range(n1): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[k, i1] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":344 - * r = n0 - 1 - * with nogil: + /* "partsort.pyx":345 + * l = 0 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[k, i1] * i = l */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":345 - * with nogil: + /* "partsort.pyx":346 + * r = n0 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_10 = __pyx_v_k; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":346 + /* "partsort.pyx":347 * while l < r: - * x = b[k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":347 - * x = b[k] + /* "partsort.pyx":348 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":348 + /* "partsort.pyx":349 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ - while (1) { + while (1) { - /* "partsort.pyx":349 + /* "partsort.pyx":350 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_12 = __pyx_v_i; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":350 + /* "partsort.pyx":351 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i, i1] */ - while (1) { - __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_14 = __pyx_v_j; + __pyx_t_15 = __pyx_v_i1; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":351 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "partsort.pyx":352 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":352 - * while x < b[j]: j -= 1 + /* "partsort.pyx":353 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_16 = __pyx_v_i; + __pyx_t_17 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":353 + /* "partsort.pyx":354 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp * i += 1 */ - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":354 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":355 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":355 - * b[i] = b[j] - * b[j] = tmp + /* "partsort.pyx":356 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":356 - * b[j] = tmp + /* "partsort.pyx":357 + * b[j, i1] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L18; - } - __pyx_L18:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L17; + } + __pyx_L17:; - /* "partsort.pyx":357 + /* "partsort.pyx":358 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L13_break; - } - } - __pyx_L13_break:; + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L12_break; + } + } + __pyx_L12_break:; - /* "partsort.pyx":358 + /* "partsort.pyx":359 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L20; - } - __pyx_L20:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L19; + } + __pyx_L19:; - /* "partsort.pyx":359 + /* "partsort.pyx":360 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L21; - } - __pyx_L21:; - } - } - - /* "partsort.pyx":343 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] - */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L9; - } - __pyx_L9:; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L20; } + __pyx_L20:; + } } - /* "partsort.pyx":360 + /* "partsort.pyx":361 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -4659,8 +4665,8 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb /* "partsort.pyx":328 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int64 along axis=0." + * def partsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -4675,7 +4681,7 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4688,19 +4694,19 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":364 +/* "partsort.pyx":365 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=0." + * def partsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_13partsort_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_12partsort_2d_int_axis0[] = "partsort_2d_int_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_13partsort_2d_int_axis0 = {"partsort_2d_int_axis0", (PyCFunction)__pyx_pw_8partsort_13partsort_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_12partsort_2d_int_axis0}; -static PyObject *__pyx_pw_8partsort_13partsort_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_13partsort_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_12partsort_2d_float_axis1[] = "partsort_2d_float_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_13partsort_2d_float_axis1 = {"partsort_2d_float_axis1", (PyCFunction)__pyx_pw_8partsort_13partsort_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_12partsort_2d_float_axis1}; +static PyObject *__pyx_pw_8partsort_13partsort_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -4708,7 +4714,7 @@ static PyObject *__pyx_pw_8partsort_13partsort_2d_int_axis0(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_float_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -4729,11 +4735,11 @@ static PyObject *__pyx_pw_8partsort_13partsort_2d_int_axis0(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4742,18 +4748,18 @@ static PyObject *__pyx_pw_8partsort_13partsort_2d_int_axis0(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_12partsort_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_12partsort_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -4764,16 +4770,16 @@ static PyObject *__pyx_pw_8partsort_13partsort_2d_int_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_12partsort_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -4792,24 +4798,24 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - npy_intp __pyx_t_10; - Py_ssize_t __pyx_t_11; - npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; - npy_intp __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; + Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("partsort_2d_float_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -4820,36 +4826,36 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":366 - * def partsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int along axis=0." + /* "partsort.pyx":367 + * def partsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":368 + /* "partsort.pyx":369 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -4857,7 +4863,7 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":371 + /* "partsort.pyx":372 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4866,40 +4872,40 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":372 + /* "partsort.pyx":373 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * if n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":373 + /* "partsort.pyx":374 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 == 0: + * if n1 == 0: * return b */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":374 + /* "partsort.pyx":375 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":375 + /* "partsort.pyx":376 * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * if n1 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -4907,12 +4913,12 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje goto __pyx_L0; } - /* "partsort.pyx":376 - * if n0 == 0: + /* "partsort.pyx":377 + * if n1 == 0: * return b - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -4922,25 +4928,25 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":377 + /* "partsort.pyx":378 * return b - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -4948,187 +4954,187 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":378 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "partsort.pyx":379 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_t_8 = __pyx_v_n1; + __pyx_t_8 = __pyx_v_n0; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":379 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + /* "partsort.pyx":380 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "partsort.pyx":380 - * for i1 in range(n1): + /* "partsort.pyx":381 + * for i0 in range(n0): * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":381 + /* "partsort.pyx":382 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":382 - * r = n0 - 1 + /* "partsort.pyx":383 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_10 = __pyx_v_k; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":383 + /* "partsort.pyx":384 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":384 - * x = b[k, i1] + /* "partsort.pyx":385 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":385 + /* "partsort.pyx":386 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "partsort.pyx":386 + /* "partsort.pyx":387 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_12 = __pyx_v_i; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":387 + /* "partsort.pyx":388 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_14 = __pyx_v_j; - __pyx_t_15 = __pyx_v_i1; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":388 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":389 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":389 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":390 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_16 = __pyx_v_i; - __pyx_t_17 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":390 + /* "partsort.pyx":391 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp * i += 1 */ - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":391 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":392 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":392 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "partsort.pyx":393 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":393 - * b[j, i1] = tmp + /* "partsort.pyx":394 + * b[i0, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -5139,7 +5145,7 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje } __pyx_L17:; - /* "partsort.pyx":394 + /* "partsort.pyx":395 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -5153,7 +5159,7 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje } __pyx_L12_break:; - /* "partsort.pyx":395 + /* "partsort.pyx":396 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -5167,7 +5173,7 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje } __pyx_L19:; - /* "partsort.pyx":396 + /* "partsort.pyx":397 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -5183,7 +5189,7 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje } } - /* "partsort.pyx":397 + /* "partsort.pyx":398 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -5195,11 +5201,11 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":364 + /* "partsort.pyx":365 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=0." + * def partsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -5214,7 +5220,7 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5227,19 +5233,19 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje return __pyx_r; } -/* "partsort.pyx":401 +/* "partsort.pyx":402 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=1." + * def partsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_15partsort_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_14partsort_2d_int_axis1[] = "partsort_2d_int_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_15partsort_2d_int_axis1 = {"partsort_2d_int_axis1", (PyCFunction)__pyx_pw_8partsort_15partsort_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_14partsort_2d_int_axis1}; -static PyObject *__pyx_pw_8partsort_15partsort_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_15partsort_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_14partsort_2d_float32_axis0[] = "partsort_2d_float32_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_15partsort_2d_float32_axis0 = {"partsort_2d_float32_axis0", (PyCFunction)__pyx_pw_8partsort_15partsort_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_14partsort_2d_float32_axis0}; +static PyObject *__pyx_pw_8partsort_15partsort_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -5247,7 +5253,7 @@ static PyObject *__pyx_pw_8partsort_15partsort_2d_int_axis1(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_int_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -5268,11 +5274,11 @@ static PyObject *__pyx_pw_8partsort_15partsort_2d_int_axis1(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5281,18 +5287,18 @@ static PyObject *__pyx_pw_8partsort_15partsort_2d_int_axis1(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_14partsort_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_14partsort_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -5303,16 +5309,16 @@ static PyObject *__pyx_pw_8partsort_15partsort_2d_int_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_14partsort_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -5331,24 +5337,24 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - npy_intp __pyx_t_11; - Py_ssize_t __pyx_t_12; - npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; - npy_intp __pyx_t_15; - Py_ssize_t __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; + npy_intp __pyx_t_10; + Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_12; + Py_ssize_t __pyx_t_13; + npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_15; + npy_intp __pyx_t_16; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("partsort_2d_float32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -5359,36 +5365,36 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":403 - * def partsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int along axis=1." + /* "partsort.pyx":404 + * def partsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":405 + /* "partsort.pyx":406 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -5396,7 +5402,7 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":408 + /* "partsort.pyx":409 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5405,40 +5411,40 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":409 + /* "partsort.pyx":410 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * if n0 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":410 + /* "partsort.pyx":411 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n1 == 0: + * if n0 == 0: * return b */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":411 + /* "partsort.pyx":412 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":412 + /* "partsort.pyx":413 * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * if n0 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -5446,12 +5452,12 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje goto __pyx_L0; } - /* "partsort.pyx":413 - * if n1 == 0: + /* "partsort.pyx":414 + * if n0 == 0: * return b - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -5461,25 +5467,25 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":414 + /* "partsort.pyx":415 * return b - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -5487,187 +5493,187 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":415 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "partsort.pyx":416 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< * l = 0 - * r = n1 - 1 + * r = n0 - 1 */ - __pyx_t_8 = __pyx_v_n0; + __pyx_t_8 = __pyx_v_n1; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_v_i1 = __pyx_t_9; - /* "partsort.pyx":416 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + /* "partsort.pyx":417 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 + * r = n0 - 1 * while l < r: */ __pyx_v_l = 0; - /* "partsort.pyx":417 - * for i0 in range(n0): + /* "partsort.pyx":418 + * for i1 in range(n1): * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[i0, k] + * x = b[k, i1] */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":418 + /* "partsort.pyx":419 * l = 0 - * r = n1 - 1 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] + * x = b[k, i1] * i = l */ while (1) { __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":419 - * r = n1 - 1 + /* "partsort.pyx":420 + * r = n0 - 1 * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_k; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":420 + /* "partsort.pyx":421 * while l < r: - * x = b[i0, k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":421 - * x = b[i0, k] + /* "partsort.pyx":422 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i0, i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":422 + /* "partsort.pyx":423 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ while (1) { - /* "partsort.pyx":423 + /* "partsort.pyx":424 * j = r * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_12 = __pyx_v_i; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":424 + /* "partsort.pyx":425 * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i0, i] + * tmp = b[i, i1] */ while (1) { - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_14 = __pyx_v_j; + __pyx_t_15 = __pyx_v_i1; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":425 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "partsort.pyx":426 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":426 - * while x < b[i0, j]: j -= 1 + /* "partsort.pyx":427 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i; + __pyx_t_17 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":427 + /* "partsort.pyx":428 * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp * i += 1 */ - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":428 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":429 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":429 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "partsort.pyx":430 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":430 - * b[i0, j] = tmp + /* "partsort.pyx":431 + * b[j, i1] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -5678,7 +5684,7 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje } __pyx_L17:; - /* "partsort.pyx":431 + /* "partsort.pyx":432 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -5692,7 +5698,7 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje } __pyx_L12_break:; - /* "partsort.pyx":432 + /* "partsort.pyx":433 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -5706,7 +5712,7 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje } __pyx_L19:; - /* "partsort.pyx":433 + /* "partsort.pyx":434 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -5722,7 +5728,7 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje } } - /* "partsort.pyx":434 + /* "partsort.pyx":435 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -5734,11 +5740,11 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":401 + /* "partsort.pyx":402 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=1." + * def partsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -5753,7 +5759,7 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5766,19 +5772,19 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje return __pyx_r; } -/* "partsort.pyx":438 +/* "partsort.pyx":439 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=0." + * def partsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_17partsort_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_16partsort_2d_int8_axis0[] = "partsort_2d_int8_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_17partsort_2d_int8_axis0 = {"partsort_2d_int8_axis0", (PyCFunction)__pyx_pw_8partsort_17partsort_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_16partsort_2d_int8_axis0}; -static PyObject *__pyx_pw_8partsort_17partsort_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_17partsort_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_16partsort_2d_float32_axis1[] = "partsort_2d_float32_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float32 along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_17partsort_2d_float32_axis1 = {"partsort_2d_float32_axis1", (PyCFunction)__pyx_pw_8partsort_17partsort_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_16partsort_2d_float32_axis1}; +static PyObject *__pyx_pw_8partsort_17partsort_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -5786,7 +5792,7 @@ static PyObject *__pyx_pw_8partsort_17partsort_2d_int8_axis0(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_float32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -5807,11 +5813,11 @@ static PyObject *__pyx_pw_8partsort_17partsort_2d_int8_axis0(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5820,18 +5826,18 @@ static PyObject *__pyx_pw_8partsort_17partsort_2d_int8_axis0(PyObject *__pyx_sel values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_16partsort_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_16partsort_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -5842,16 +5848,16 @@ static PyObject *__pyx_pw_8partsort_17partsort_2d_int8_axis0(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_16partsort_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -5870,24 +5876,24 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - npy_intp __pyx_t_10; - Py_ssize_t __pyx_t_11; - npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; - npy_intp __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; + Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("partsort_2d_float32_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -5898,36 +5904,36 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":440 - * def partsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int8 along axis=0." + /* "partsort.pyx":441 + * def partsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":442 + /* "partsort.pyx":443 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -5935,7 +5941,7 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":445 + /* "partsort.pyx":446 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5944,40 +5950,40 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":446 + /* "partsort.pyx":447 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * if n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":447 + /* "partsort.pyx":448 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 == 0: + * if n1 == 0: * return b */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":448 + /* "partsort.pyx":449 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":449 + /* "partsort.pyx":450 * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * if n1 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -5985,12 +5991,12 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "partsort.pyx":450 - * if n0 == 0: + /* "partsort.pyx":451 + * if n1 == 0: * return b - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -6000,25 +6006,25 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":451 + /* "partsort.pyx":452 * return b - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -6026,187 +6032,187 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":452 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "partsort.pyx":453 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_t_8 = __pyx_v_n1; + __pyx_t_8 = __pyx_v_n0; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":453 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + /* "partsort.pyx":454 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "partsort.pyx":454 - * for i1 in range(n1): + /* "partsort.pyx":455 + * for i0 in range(n0): * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":455 + /* "partsort.pyx":456 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":456 - * r = n0 - 1 + /* "partsort.pyx":457 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_10 = __pyx_v_k; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":457 + /* "partsort.pyx":458 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":458 - * x = b[k, i1] + /* "partsort.pyx":459 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":459 + /* "partsort.pyx":460 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "partsort.pyx":460 + /* "partsort.pyx":461 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_12 = __pyx_v_i; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":461 + /* "partsort.pyx":462 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_14 = __pyx_v_j; - __pyx_t_15 = __pyx_v_i1; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":462 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":463 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":463 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":464 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_16 = __pyx_v_i; - __pyx_t_17 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":464 + /* "partsort.pyx":465 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp * i += 1 */ - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":465 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":466 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":466 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "partsort.pyx":467 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":467 - * b[j, i1] = tmp + /* "partsort.pyx":468 + * b[i0, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -6217,7 +6223,7 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj } __pyx_L17:; - /* "partsort.pyx":468 + /* "partsort.pyx":469 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -6231,7 +6237,7 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj } __pyx_L12_break:; - /* "partsort.pyx":469 + /* "partsort.pyx":470 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -6245,7 +6251,7 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj } __pyx_L19:; - /* "partsort.pyx":470 + /* "partsort.pyx":471 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -6261,7 +6267,7 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj } } - /* "partsort.pyx":471 + /* "partsort.pyx":472 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -6273,11 +6279,11 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":438 + /* "partsort.pyx":439 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=0." + * def partsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -6292,7 +6298,7 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6305,19 +6311,19 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj return __pyx_r; } -/* "partsort.pyx":475 +/* "partsort.pyx":476 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=1." + * def partsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_19partsort_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_18partsort_2d_int8_axis1[] = "partsort_2d_int8_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int8 along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_19partsort_2d_int8_axis1 = {"partsort_2d_int8_axis1", (PyCFunction)__pyx_pw_8partsort_19partsort_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_18partsort_2d_int8_axis1}; -static PyObject *__pyx_pw_8partsort_19partsort_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_19partsort_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_18partsort_2d_float64_axis0[] = "partsort_2d_float64_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_19partsort_2d_float64_axis0 = {"partsort_2d_float64_axis0", (PyCFunction)__pyx_pw_8partsort_19partsort_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_18partsort_2d_float64_axis0}; +static PyObject *__pyx_pw_8partsort_19partsort_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -6325,7 +6331,7 @@ static PyObject *__pyx_pw_8partsort_19partsort_2d_int8_axis1(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_int8_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -6346,11 +6352,11 @@ static PyObject *__pyx_pw_8partsort_19partsort_2d_int8_axis1(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6359,18 +6365,18 @@ static PyObject *__pyx_pw_8partsort_19partsort_2d_int8_axis1(PyObject *__pyx_sel values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_18partsort_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_18partsort_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -6381,16 +6387,16 @@ static PyObject *__pyx_pw_8partsort_19partsort_2d_int8_axis1(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_18partsort_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -6409,24 +6415,24 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - npy_intp __pyx_t_11; - Py_ssize_t __pyx_t_12; - npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; - npy_intp __pyx_t_15; - Py_ssize_t __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; + npy_intp __pyx_t_10; + Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_12; + Py_ssize_t __pyx_t_13; + npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_15; + npy_intp __pyx_t_16; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("partsort_2d_float64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -6437,36 +6443,36 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":477 - * def partsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int8 along axis=1." + /* "partsort.pyx":478 + * def partsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":479 + /* "partsort.pyx":480 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -6474,7 +6480,7 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":482 + /* "partsort.pyx":483 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6483,40 +6489,40 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":483 + /* "partsort.pyx":484 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * if n0 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":484 + /* "partsort.pyx":485 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n1 == 0: + * if n0 == 0: * return b */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":485 + /* "partsort.pyx":486 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":486 + /* "partsort.pyx":487 * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * if n0 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -6524,12 +6530,12 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "partsort.pyx":487 - * if n1 == 0: + /* "partsort.pyx":488 + * if n0 == 0: * return b - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -6539,25 +6545,25 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":488 + /* "partsort.pyx":489 * return b - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -6565,187 +6571,187 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":489 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + /* "partsort.pyx":490 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_t_8 = __pyx_v_n0; + __pyx_t_8 = __pyx_v_n1; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_v_i1 = __pyx_t_9; - /* "partsort.pyx":490 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + /* "partsort.pyx":491 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 + * r = n0 - 1 * while l < r: */ __pyx_v_l = 0; - /* "partsort.pyx":491 - * for i0 in range(n0): + /* "partsort.pyx":492 + * for i1 in range(n1): * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[i0, k] + * x = b[k, i1] */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":492 + /* "partsort.pyx":493 * l = 0 - * r = n1 - 1 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] + * x = b[k, i1] * i = l */ while (1) { __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":493 - * r = n1 - 1 + /* "partsort.pyx":494 + * r = n0 - 1 * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_k; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":494 + /* "partsort.pyx":495 * while l < r: - * x = b[i0, k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":495 - * x = b[i0, k] + /* "partsort.pyx":496 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i0, i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":496 + /* "partsort.pyx":497 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ while (1) { - /* "partsort.pyx":497 + /* "partsort.pyx":498 * j = r * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_12 = __pyx_v_i; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":498 + /* "partsort.pyx":499 * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i0, i] + * tmp = b[i, i1] */ while (1) { - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_14 = __pyx_v_j; + __pyx_t_15 = __pyx_v_i1; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":499 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "partsort.pyx":500 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":500 - * while x < b[i0, j]: j -= 1 + /* "partsort.pyx":501 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i; + __pyx_t_17 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":501 + /* "partsort.pyx":502 * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp * i += 1 */ - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":502 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":503 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":503 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "partsort.pyx":504 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":504 - * b[i0, j] = tmp + /* "partsort.pyx":505 + * b[j, i1] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -6756,7 +6762,7 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj } __pyx_L17:; - /* "partsort.pyx":505 + /* "partsort.pyx":506 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -6770,7 +6776,7 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj } __pyx_L12_break:; - /* "partsort.pyx":506 + /* "partsort.pyx":507 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -6784,7 +6790,7 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj } __pyx_L19:; - /* "partsort.pyx":507 + /* "partsort.pyx":508 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -6800,7 +6806,7 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj } } - /* "partsort.pyx":508 + /* "partsort.pyx":509 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -6812,11 +6818,11 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":475 + /* "partsort.pyx":476 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=1." + * def partsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -6831,7 +6837,7 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6844,19 +6850,19 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj return __pyx_r; } -/* "partsort.pyx":512 +/* "partsort.pyx":513 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=0." + * def partsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_21partsort_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_20partsort_2d_int32_axis0[] = "partsort_2d_int32_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_21partsort_2d_int32_axis0 = {"partsort_2d_int32_axis0", (PyCFunction)__pyx_pw_8partsort_21partsort_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_20partsort_2d_int32_axis0}; -static PyObject *__pyx_pw_8partsort_21partsort_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_21partsort_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_20partsort_2d_float64_axis1[] = "partsort_2d_float64_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float64 along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_21partsort_2d_float64_axis1 = {"partsort_2d_float64_axis1", (PyCFunction)__pyx_pw_8partsort_21partsort_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_20partsort_2d_float64_axis1}; +static PyObject *__pyx_pw_8partsort_21partsort_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -6864,7 +6870,7 @@ static PyObject *__pyx_pw_8partsort_21partsort_2d_int32_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_float64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -6885,11 +6891,11 @@ static PyObject *__pyx_pw_8partsort_21partsort_2d_int32_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6898,18 +6904,18 @@ static PyObject *__pyx_pw_8partsort_21partsort_2d_int32_axis0(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_20partsort_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_20partsort_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -6920,16 +6926,16 @@ static PyObject *__pyx_pw_8partsort_21partsort_2d_int32_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_20partsort_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -6948,24 +6954,24 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - npy_intp __pyx_t_10; - Py_ssize_t __pyx_t_11; - npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; - npy_intp __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; + Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("partsort_2d_float64_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -6976,36 +6982,36 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":514 - * def partsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int32 along axis=0." + /* "partsort.pyx":515 + * def partsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":516 + /* "partsort.pyx":517 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -7013,7 +7019,7 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":519 + /* "partsort.pyx":520 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7022,40 +7028,40 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":520 + /* "partsort.pyx":521 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * if n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":521 + /* "partsort.pyx":522 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 == 0: + * if n1 == 0: * return b */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":522 + /* "partsort.pyx":523 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":523 + /* "partsort.pyx":524 * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * if n1 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -7063,12 +7069,12 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":524 - * if n0 == 0: + /* "partsort.pyx":525 + * if n1 == 0: * return b - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -7078,25 +7084,25 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":525 + /* "partsort.pyx":526 * return b - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -7104,187 +7110,187 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":526 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "partsort.pyx":527 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_t_8 = __pyx_v_n1; + __pyx_t_8 = __pyx_v_n0; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":527 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + /* "partsort.pyx":528 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "partsort.pyx":528 - * for i1 in range(n1): + /* "partsort.pyx":529 + * for i0 in range(n0): * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":529 + /* "partsort.pyx":530 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":530 - * r = n0 - 1 + /* "partsort.pyx":531 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_10 = __pyx_v_k; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":531 + /* "partsort.pyx":532 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":532 - * x = b[k, i1] + /* "partsort.pyx":533 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":533 + /* "partsort.pyx":534 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "partsort.pyx":534 + /* "partsort.pyx":535 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_12 = __pyx_v_i; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":535 + /* "partsort.pyx":536 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_14 = __pyx_v_j; - __pyx_t_15 = __pyx_v_i1; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":536 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":537 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":537 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":538 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_16 = __pyx_v_i; - __pyx_t_17 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":538 + /* "partsort.pyx":539 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp * i += 1 */ - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":539 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":540 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":540 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "partsort.pyx":541 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":541 - * b[j, i1] = tmp + /* "partsort.pyx":542 + * b[i0, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -7295,7 +7301,7 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb } __pyx_L17:; - /* "partsort.pyx":542 + /* "partsort.pyx":543 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -7309,7 +7315,7 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb } __pyx_L12_break:; - /* "partsort.pyx":543 + /* "partsort.pyx":544 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -7323,7 +7329,7 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb } __pyx_L19:; - /* "partsort.pyx":544 + /* "partsort.pyx":545 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -7339,7 +7345,7 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb } } - /* "partsort.pyx":545 + /* "partsort.pyx":546 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -7351,11 +7357,11 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":512 + /* "partsort.pyx":513 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=0." + * def partsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -7370,7 +7376,7 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7383,19 +7389,19 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":549 +/* "partsort.pyx":550 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=1." + * def partsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_23partsort_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_22partsort_2d_int32_axis1[] = "partsort_2d_int32_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int32 along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_23partsort_2d_int32_axis1 = {"partsort_2d_int32_axis1", (PyCFunction)__pyx_pw_8partsort_23partsort_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_22partsort_2d_int32_axis1}; -static PyObject *__pyx_pw_8partsort_23partsort_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_23partsort_3d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_22partsort_3d_float_axis0[] = "partsort_3d_float_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_23partsort_3d_float_axis0 = {"partsort_3d_float_axis0", (PyCFunction)__pyx_pw_8partsort_23partsort_3d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_22partsort_3d_float_axis0}; +static PyObject *__pyx_pw_8partsort_23partsort_3d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -7403,7 +7409,7 @@ static PyObject *__pyx_pw_8partsort_23partsort_2d_int32_axis1(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_int32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -7424,11 +7430,11 @@ static PyObject *__pyx_pw_8partsort_23partsort_2d_int32_axis1(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7437,18 +7443,18 @@ static PyObject *__pyx_pw_8partsort_23partsort_2d_int32_axis1(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_22partsort_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_22partsort_3d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -7459,19 +7465,21 @@ static PyObject *__pyx_pw_8partsort_23partsort_2d_int32_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_22partsort_3d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -7488,23 +7496,32 @@ static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyOb Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - npy_intp __pyx_t_11; - Py_ssize_t __pyx_t_12; - npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_12; + Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; npy_intp __pyx_t_15; Py_ssize_t __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; Py_ssize_t __pyx_t_20; npy_intp __pyx_t_21; Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_23; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; + Py_ssize_t __pyx_t_26; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; + Py_ssize_t __pyx_t_29; + npy_intp __pyx_t_30; + Py_ssize_t __pyx_t_31; + Py_ssize_t __pyx_t_32; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("partsort_3d_float_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -7515,45 +7532,45 @@ static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":551 - * def partsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int32 along axis=1." + /* "partsort.pyx":552 + * def partsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":553 + /* "partsort.pyx":554 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":556 - * cdef Py_ssize_t i0, i1 + /* "partsort.pyx":557 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -7561,40 +7578,49 @@ static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":557 + /* "partsort.pyx":558 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":558 + /* "partsort.pyx":559 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n1 == 0: - * return b + * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":559 + /* "partsort.pyx":560 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * if n0 == 0: * return b - * if (n < 1) or (n > n1): */ - __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_3) { + __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":560 + /* "partsort.pyx":561 * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: # <<<<<<<<<<<<<< + * return b + * if (n < 1) or (n > n0): + */ + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_3) { + + /* "partsort.pyx":562 + * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -7602,12 +7628,12 @@ static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":561 - * if n1 == 0: - * return b - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + /* "partsort.pyx":563 + * if n0 == 0: + * return b + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -7617,25 +7643,25 @@ static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyOb goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":562 + /* "partsort.pyx":564 * return b - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * l = 0 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -7643,244 +7669,263 @@ static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":563 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + /* "partsort.pyx":565 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * for i2 in range(n2): + * l = 0 */ - __pyx_t_8 = __pyx_v_n0; + __pyx_t_8 = __pyx_v_n1; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; - - /* "partsort.pyx":564 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: - */ - __pyx_v_l = 0; - - /* "partsort.pyx":565 - * for i0 in range(n0): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k] - */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_i1 = __pyx_t_9; /* "partsort.pyx":566 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] - * i = l + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): + * for i2 in range(n2): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_t_10 = __pyx_v_n2; + for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { + __pyx_v_i2 = __pyx_t_11; /* "partsort.pyx":567 - * r = n1 - 1 - * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< - * i = l - * j = r + * for i1 in range(n1): + * for i2 in range(n2): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * while l < r: */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_l = 0; /* "partsort.pyx":568 - * while l < r: - * x = b[i0, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + * for i2 in range(n2): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[k, i1, i2] */ - __pyx_v_i = __pyx_v_l; + __pyx_v_r = (__pyx_v_n0 - 1); /* "partsort.pyx":569 - * x = b[i0, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i] < x: i += 1 + * l = 0 + * r = n0 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[k, i1, i2] + * i = l */ - __pyx_v_j = __pyx_v_r; + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":570 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "partsort.pyx":570 + * r = n0 - 1 + * while l < r: + * x = b[k, i1, i2] # <<<<<<<<<<<<<< + * i = l + * j = r */ - while (1) { + __pyx_t_12 = __pyx_v_k; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_14 = __pyx_v_i2; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":571 - * j = r - * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 - * if i <= j: + * while l < r: + * x = b[k, i1, i2] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + __pyx_v_i = __pyx_v_l; /* "partsort.pyx":572 - * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i] + * x = b[k, i1, i2] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i, i1, i2] < x: i += 1 */ - while (1) { - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + __pyx_v_j = __pyx_v_r; /* "partsort.pyx":573 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + while (1) { /* "partsort.pyx":574 - * while x < b[i0, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * j = r + * while 1: + * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_15 = __pyx_v_i; + __pyx_t_16 = __pyx_v_i1; + __pyx_t_17 = __pyx_v_i2; + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } /* "partsort.pyx":575 - * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * i += 1 + * while 1: + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i, i1, i2] */ - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_i2; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } /* "partsort.pyx":576 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":577 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":577 + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: + * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_t_21 = __pyx_v_i; + __pyx_t_22 = __pyx_v_i1; + __pyx_t_23 = __pyx_v_i2; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":578 - * b[i0, j] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":578 + * if i <= j: + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< + * b[j, i1, i2] = tmp + * i += 1 */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L17; - } - __pyx_L17:; + __pyx_t_24 = __pyx_v_j; + __pyx_t_25 = __pyx_v_i1; + __pyx_t_26 = __pyx_v_i2; + __pyx_t_27 = __pyx_v_i; + __pyx_t_28 = __pyx_v_i1; + __pyx_t_29 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":579 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":579 + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L12_break; + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + + /* "partsort.pyx":580 + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break + */ + __pyx_v_i = (__pyx_v_i + 1); + + /* "partsort.pyx":581 + * b[j, i1, i2] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i + */ + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L19; + } + __pyx_L19:; + + /* "partsort.pyx":582 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j + */ + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L14_break; + } } - } - __pyx_L12_break:; + __pyx_L14_break:; - /* "partsort.pyx":580 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":583 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L19; - } - __pyx_L19:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L21; + } + __pyx_L21:; - /* "partsort.pyx":581 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "partsort.pyx":584 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L20; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L22; + } + __pyx_L22:; } - __pyx_L20:; } } - /* "partsort.pyx":582 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":585 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -7890,11 +7935,11 @@ static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":549 + /* "partsort.pyx":550 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=1." + * def partsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -7909,7 +7954,7 @@ static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7922,19 +7967,19 @@ static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":586 +/* "partsort.pyx":589 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=0." + * def partsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_25partsort_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_24partsort_2d_int64_axis0[] = "partsort_2d_int64_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_25partsort_2d_int64_axis0 = {"partsort_2d_int64_axis0", (PyCFunction)__pyx_pw_8partsort_25partsort_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_24partsort_2d_int64_axis0}; -static PyObject *__pyx_pw_8partsort_25partsort_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_25partsort_3d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_24partsort_3d_float_axis1[] = "partsort_3d_float_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_25partsort_3d_float_axis1 = {"partsort_3d_float_axis1", (PyCFunction)__pyx_pw_8partsort_25partsort_3d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_24partsort_3d_float_axis1}; +static PyObject *__pyx_pw_8partsort_25partsort_3d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -7942,7 +7987,7 @@ static PyObject *__pyx_pw_8partsort_25partsort_2d_int64_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_float_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -7963,11 +8008,11 @@ static PyObject *__pyx_pw_8partsort_25partsort_2d_int64_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7976,18 +8021,18 @@ static PyObject *__pyx_pw_8partsort_25partsort_2d_int64_axis0(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_24partsort_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_24partsort_3d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -7998,19 +8043,21 @@ static PyObject *__pyx_pw_8partsort_25partsort_2d_int64_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_24partsort_3d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -8026,24 +8073,33 @@ static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyOb PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - npy_intp __pyx_t_10; + Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; Py_ssize_t __pyx_t_15; npy_intp __pyx_t_16; Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; Py_ssize_t __pyx_t_21; npy_intp __pyx_t_22; Py_ssize_t __pyx_t_23; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; + Py_ssize_t __pyx_t_26; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_29; + Py_ssize_t __pyx_t_30; + npy_intp __pyx_t_31; + Py_ssize_t __pyx_t_32; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_int64_axis0", 0); + __Pyx_RefNannySetupContext("partsort_3d_float_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -8054,45 +8110,45 @@ static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":588 - * def partsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int64 along axis=0." + /* "partsort.pyx":591 + * def partsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":590 + /* "partsort.pyx":593 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":593 - * cdef Py_ssize_t i0, i1 + /* "partsort.pyx":596 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -8100,40 +8156,49 @@ static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":594 + /* "partsort.pyx":597 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":595 + /* "partsort.pyx":598 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 == 0: - * return b + * cdef Py_ssize_t n2 = dim[2] + * if n1 == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":596 + /* "partsort.pyx":599 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * if n1 == 0: * return b - * if (n < 1) or (n > n0): */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_3) { + __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":597 + /* "partsort.pyx":600 * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * cdef Py_ssize_t n2 = dim[2] + * if n1 == 0: # <<<<<<<<<<<<<< + * return b + * if (n < 1) or (n > n1): + */ + __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_3) { + + /* "partsort.pyx":601 + * cdef Py_ssize_t n2 = dim[2] + * if n1 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -8141,12 +8206,12 @@ static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":598 - * if n0 == 0: + /* "partsort.pyx":602 + * if n1 == 0: * return b - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -8156,25 +8221,25 @@ static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyOb goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":599 + /* "partsort.pyx":603 * return b - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * l = 0 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -8182,244 +8247,263 @@ static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":600 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + /* "partsort.pyx":604 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i2 in range(n2): + * l = 0 */ - __pyx_t_8 = __pyx_v_n1; + __pyx_t_8 = __pyx_v_n0; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":601 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * while l < r: + /* "partsort.pyx":605 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): + * for i2 in range(n2): # <<<<<<<<<<<<<< + * l = 0 + * r = n1 - 1 */ - __pyx_v_l = 0; - - /* "partsort.pyx":602 - * for i1 in range(n1): - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[k, i1] + __pyx_t_10 = __pyx_v_n2; + for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { + __pyx_v_i2 = __pyx_t_11; + + /* "partsort.pyx":606 + * for i0 in range(n0): + * for i2 in range(n2): + * l = 0 # <<<<<<<<<<<<<< + * r = n1 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "partsort.pyx":603 - * l = 0 - * r = n0 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] - * i = l + /* "partsort.pyx":607 + * for i2 in range(n2): + * l = 0 + * r = n1 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[i0, k, i2] */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":604 - * r = n0 - 1 - * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "partsort.pyx":608 + * l = 0 + * r = n1 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[i0, k, i2] + * i = l */ - __pyx_t_10 = __pyx_v_k; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":605 - * while l < r: - * x = b[k, i1] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":609 + * r = n1 - 1 + * while l < r: + * x = b[i0, k, i2] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_k; + __pyx_t_14 = __pyx_v_i2; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":606 - * x = b[k, i1] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i, i1] < x: i += 1 + /* "partsort.pyx":610 + * while l < r: + * x = b[i0, k, i2] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":607 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":611 + * x = b[i0, k, i2] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i0, i, i2] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":608 - * j = r - * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 - * if i <= j: + /* "partsort.pyx":612 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 */ while (1) { - __pyx_t_12 = __pyx_v_i; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "partsort.pyx":609 - * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i, i1] + /* "partsort.pyx":613 + * j = r + * while 1: + * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_14 = __pyx_v_j; - __pyx_t_15 = __pyx_v_i1; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_15 = __pyx_v_i0; + __pyx_t_16 = __pyx_v_i; + __pyx_t_17 = __pyx_v_i2; + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":610 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + /* "partsort.pyx":614 + * while 1: + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i0, i, i2] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + while (1) { + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_20 = __pyx_v_i2; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":611 - * while x < b[j, i1]: j -= 1 - * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "partsort.pyx":615 + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] */ - __pyx_t_16 = __pyx_v_i; - __pyx_t_17 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":612 - * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp - * i += 1 + /* "partsort.pyx":616 + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: + * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp */ - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_21 = __pyx_v_i0; + __pyx_t_22 = __pyx_v_i; + __pyx_t_23 = __pyx_v_i2; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":613 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":617 + * if i <= j: + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< + * b[i0, j, i2] = tmp + * i += 1 */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_j; + __pyx_t_26 = __pyx_v_i2; + __pyx_t_27 = __pyx_v_i0; + __pyx_t_28 = __pyx_v_i; + __pyx_t_29 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":614 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":618 + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":615 - * b[j, i1] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":619 + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L17; - } - __pyx_L17:; + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":616 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":620 + * b[i0, j, i2] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L12_break; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L19; + } + __pyx_L19:; + + /* "partsort.pyx":621 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j + */ + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L14_break; + } } - } - __pyx_L12_break:; + __pyx_L14_break:; - /* "partsort.pyx":617 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":622 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L19; - } - __pyx_L19:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L21; + } + __pyx_L21:; - /* "partsort.pyx":618 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "partsort.pyx":623 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L20; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L22; + } + __pyx_L22:; } - __pyx_L20:; } } - /* "partsort.pyx":619 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":624 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -8429,11 +8513,11 @@ static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":586 + /* "partsort.pyx":589 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=0." + * def partsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -8448,7 +8532,7 @@ static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8461,19 +8545,19 @@ static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":623 +/* "partsort.pyx":628 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=1." + * def partsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_27partsort_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_26partsort_2d_int64_axis1[] = "partsort_2d_int64_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int64 along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_27partsort_2d_int64_axis1 = {"partsort_2d_int64_axis1", (PyCFunction)__pyx_pw_8partsort_27partsort_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_26partsort_2d_int64_axis1}; -static PyObject *__pyx_pw_8partsort_27partsort_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_27partsort_3d_float_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_26partsort_3d_float_axis2[] = "partsort_3d_float_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=2."; +static PyMethodDef __pyx_mdef_8partsort_27partsort_3d_float_axis2 = {"partsort_3d_float_axis2", (PyCFunction)__pyx_pw_8partsort_27partsort_3d_float_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_26partsort_3d_float_axis2}; +static PyObject *__pyx_pw_8partsort_27partsort_3d_float_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -8481,7 +8565,7 @@ static PyObject *__pyx_pw_8partsort_27partsort_2d_int64_axis1(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_int64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_float_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -8502,11 +8586,11 @@ static PyObject *__pyx_pw_8partsort_27partsort_2d_int64_axis1(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -8515,18 +8599,18 @@ static PyObject *__pyx_pw_8partsort_27partsort_2d_int64_axis1(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_26partsort_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_26partsort_3d_float_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -8537,19 +8621,21 @@ static PyObject *__pyx_pw_8partsort_27partsort_2d_int64_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_26partsort_3d_float_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -8566,23 +8652,32 @@ static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyOb Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; - npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; - npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_13; + npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_15; Py_ssize_t __pyx_t_16; npy_intp __pyx_t_17; Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; Py_ssize_t __pyx_t_22; npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_24; + Py_ssize_t __pyx_t_25; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; + Py_ssize_t __pyx_t_28; + npy_intp __pyx_t_29; + Py_ssize_t __pyx_t_30; + Py_ssize_t __pyx_t_31; + npy_intp __pyx_t_32; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_int64_axis1", 0); + __Pyx_RefNannySetupContext("partsort_3d_float_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -8593,45 +8688,45 @@ static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":625 - * def partsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int64 along axis=1." + /* "partsort.pyx":630 + * def partsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":627 + /* "partsort.pyx":632 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":630 - * cdef Py_ssize_t i0, i1 + /* "partsort.pyx":635 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -8639,40 +8734,49 @@ static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":631 + /* "partsort.pyx":636 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":632 + /* "partsort.pyx":637 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n1 == 0: - * return b + * cdef Py_ssize_t n2 = dim[2] + * if n2 == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":633 + /* "partsort.pyx":638 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * if n2 == 0: * return b - * if (n < 1) or (n > n1): */ - __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_3) { + __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":634 + /* "partsort.pyx":639 * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * cdef Py_ssize_t n2 = dim[2] + * if n2 == 0: # <<<<<<<<<<<<<< + * return b + * if (n < 1) or (n > n2): + */ + __pyx_t_3 = ((__pyx_v_n2 == 0) != 0); + if (__pyx_t_3) { + + /* "partsort.pyx":640 + * cdef Py_ssize_t n2 = dim[2] + * if n2 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -8680,11 +8784,11 @@ static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":635 - * if n1 == 0: + /* "partsort.pyx":641 + * if n2 == 0: * return b - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); @@ -8695,25 +8799,25 @@ static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyOb goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n2) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":636 + /* "partsort.pyx":642 * return b - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< * for i0 in range(n0): - * l = 0 + * for i1 in range(n1): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -8721,244 +8825,263 @@ static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":637 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + /* "partsort.pyx":643 + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + * for i1 in range(n1): + * l = 0 */ __pyx_t_8 = __pyx_v_n0; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":638 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + /* "partsort.pyx":644 + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n2 - 1 */ - __pyx_v_l = 0; + __pyx_t_10 = __pyx_v_n1; + for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { + __pyx_v_i1 = __pyx_t_11; - /* "partsort.pyx":639 + /* "partsort.pyx":645 * for i0 in range(n0): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k] + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n2 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_l = 0; - /* "partsort.pyx":640 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] - * i = l + /* "partsort.pyx":646 + * for i1 in range(n1): + * l = 0 + * r = n2 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[i0, i1, k] */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_v_r = (__pyx_v_n2 - 1); - /* "partsort.pyx":641 - * r = n1 - 1 - * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "partsort.pyx":647 + * l = 0 + * r = n2 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[i0, i1, k] + * i = l */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":642 - * while l < r: - * x = b[i0, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":648 + * r = n2 - 1 + * while l < r: + * x = b[i0, i1, k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_14 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":643 - * x = b[i0, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i] < x: i += 1 + /* "partsort.pyx":649 + * while l < r: + * x = b[i0, i1, k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":644 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "partsort.pyx":650 + * x = b[i0, i1, k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i0, i1, i] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":645 - * j = r - * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 - * if i <= j: + /* "partsort.pyx":651 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 */ while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "partsort.pyx":646 - * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i] + /* "partsort.pyx":652 + * j = r + * while 1: + * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_15 = __pyx_v_i0; + __pyx_t_16 = __pyx_v_i1; + __pyx_t_17 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":647 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + /* "partsort.pyx":653 + * while 1: + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i0, i1, i] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + while (1) { + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":648 - * while x < b[i0, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "partsort.pyx":654 + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":649 - * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * i += 1 + /* "partsort.pyx":655 + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: + * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp */ - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_21 = __pyx_v_i0; + __pyx_t_22 = __pyx_v_i1; + __pyx_t_23 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":650 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":656 + * if i <= j: + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< + * b[i0, i1, j] = tmp + * i += 1 */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i1; + __pyx_t_26 = __pyx_v_j; + __pyx_t_27 = __pyx_v_i0; + __pyx_t_28 = __pyx_v_i1; + __pyx_t_29 = __pyx_v_i; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":651 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":657 + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_j; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":652 - * b[i0, j] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":658 + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L17; - } - __pyx_L17:; + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":653 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":659 + * b[i0, i1, j] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L12_break; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L19; + } + __pyx_L19:; + + /* "partsort.pyx":660 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j + */ + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L14_break; + } } - } - __pyx_L12_break:; + __pyx_L14_break:; - /* "partsort.pyx":654 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":661 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L19; - } - __pyx_L19:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L21; + } + __pyx_L21:; - /* "partsort.pyx":655 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "partsort.pyx":662 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L20; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L22; + } + __pyx_L22:; } - __pyx_L20:; } } - /* "partsort.pyx":656 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":663 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -8968,11 +9091,11 @@ static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":623 + /* "partsort.pyx":628 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=1." + * def partsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -8987,7 +9110,7 @@ static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9000,19 +9123,19 @@ static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":660 +/* "partsort.pyx":667 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=0." + * def partsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_29partsort_3d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_28partsort_3d_int_axis0[] = "partsort_3d_int_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_29partsort_3d_int_axis0 = {"partsort_3d_int_axis0", (PyCFunction)__pyx_pw_8partsort_29partsort_3d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_28partsort_3d_int_axis0}; -static PyObject *__pyx_pw_8partsort_29partsort_3d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_29partsort_3d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_28partsort_3d_float32_axis0[] = "partsort_3d_float32_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_29partsort_3d_float32_axis0 = {"partsort_3d_float32_axis0", (PyCFunction)__pyx_pw_8partsort_29partsort_3d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_28partsort_3d_float32_axis0}; +static PyObject *__pyx_pw_8partsort_29partsort_3d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -9020,7 +9143,7 @@ static PyObject *__pyx_pw_8partsort_29partsort_3d_int_axis0(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -9041,11 +9164,11 @@ static PyObject *__pyx_pw_8partsort_29partsort_3d_int_axis0(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9054,18 +9177,18 @@ static PyObject *__pyx_pw_8partsort_29partsort_3d_int_axis0(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_28partsort_3d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_28partsort_3d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -9076,14 +9199,14 @@ static PyObject *__pyx_pw_8partsort_29partsort_3d_int_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_28partsort_3d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i1; Py_ssize_t __pyx_v_i2; @@ -9132,7 +9255,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int_axis0", 0); + __Pyx_RefNannySetupContext("partsort_3d_float32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -9143,36 +9266,36 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":662 - * def partsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int along axis=0." + /* "partsort.pyx":669 + * def partsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":664 + /* "partsort.pyx":671 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -9180,7 +9303,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":667 + /* "partsort.pyx":674 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9189,7 +9312,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":668 + /* "partsort.pyx":675 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -9198,7 +9321,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":669 + /* "partsort.pyx":676 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -9207,7 +9330,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":670 + /* "partsort.pyx":677 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -9216,7 +9339,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":671 + /* "partsort.pyx":678 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * if n0 == 0: # <<<<<<<<<<<<<< @@ -9226,7 +9349,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":672 + /* "partsort.pyx":679 * cdef Py_ssize_t n2 = dim[2] * if n0 == 0: * return b # <<<<<<<<<<<<<< @@ -9239,7 +9362,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje goto __pyx_L0; } - /* "partsort.pyx":673 + /* "partsort.pyx":680 * if n0 == 0: * return b * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< @@ -9259,20 +9382,20 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":674 + /* "partsort.pyx":681 * return b * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< * for i1 in range(n1): * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -9280,24 +9403,24 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":675 + /* "partsort.pyx":682 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -9308,7 +9431,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i1 = __pyx_t_9; - /* "partsort.pyx":676 + /* "partsort.pyx":683 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) * for i1 in range(n1): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -9319,7 +9442,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { __pyx_v_i2 = __pyx_t_11; - /* "partsort.pyx":677 + /* "partsort.pyx":684 * for i1 in range(n1): * for i2 in range(n2): * l = 0 # <<<<<<<<<<<<<< @@ -9328,7 +9451,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_l = 0; - /* "partsort.pyx":678 + /* "partsort.pyx":685 * for i2 in range(n2): * l = 0 * r = n0 - 1 # <<<<<<<<<<<<<< @@ -9337,7 +9460,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":679 + /* "partsort.pyx":686 * l = 0 * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -9348,7 +9471,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":680 + /* "partsort.pyx":687 * r = n0 - 1 * while l < r: * x = b[k, i1, i2] # <<<<<<<<<<<<<< @@ -9358,9 +9481,9 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_t_12 = __pyx_v_k; __pyx_t_13 = __pyx_v_i1; __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":681 + /* "partsort.pyx":688 * while l < r: * x = b[k, i1, i2] * i = l # <<<<<<<<<<<<<< @@ -9369,7 +9492,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":682 + /* "partsort.pyx":689 * x = b[k, i1, i2] * i = l * j = r # <<<<<<<<<<<<<< @@ -9378,7 +9501,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":683 + /* "partsort.pyx":690 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -9387,7 +9510,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje */ while (1) { - /* "partsort.pyx":684 + /* "partsort.pyx":691 * j = r * while 1: * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< @@ -9398,12 +9521,12 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_t_15 = __pyx_v_i; __pyx_t_16 = __pyx_v_i1; __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":685 + /* "partsort.pyx":692 * while 1: * while b[i, i1, i2] < x: i += 1 * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< @@ -9414,12 +9537,12 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_t_18 = __pyx_v_j; __pyx_t_19 = __pyx_v_i1; __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":686 + /* "partsort.pyx":693 * while b[i, i1, i2] < x: i += 1 * while x < b[j, i1, i2]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -9429,7 +9552,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":687 + /* "partsort.pyx":694 * while x < b[j, i1, i2]: j -= 1 * if i <= j: * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< @@ -9439,9 +9562,9 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_t_21 = __pyx_v_i; __pyx_t_22 = __pyx_v_i1; __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":688 + /* "partsort.pyx":695 * if i <= j: * tmp = b[i, i1, i2] * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< @@ -9454,9 +9577,9 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_t_27 = __pyx_v_i; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":689 + /* "partsort.pyx":696 * tmp = b[i, i1, i2] * b[i, i1, i2] = b[j, i1, i2] * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< @@ -9466,9 +9589,9 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_t_30 = __pyx_v_j; __pyx_t_31 = __pyx_v_i1; __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":690 + /* "partsort.pyx":697 * b[i, i1, i2] = b[j, i1, i2] * b[j, i1, i2] = tmp * i += 1 # <<<<<<<<<<<<<< @@ -9477,7 +9600,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":691 + /* "partsort.pyx":698 * b[j, i1, i2] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -9489,7 +9612,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje } __pyx_L19:; - /* "partsort.pyx":692 + /* "partsort.pyx":699 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -9503,7 +9626,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje } __pyx_L14_break:; - /* "partsort.pyx":693 + /* "partsort.pyx":700 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -9517,7 +9640,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje } __pyx_L21:; - /* "partsort.pyx":694 + /* "partsort.pyx":701 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -9534,7 +9657,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje } } - /* "partsort.pyx":695 + /* "partsort.pyx":702 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -9546,11 +9669,11 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":660 + /* "partsort.pyx":667 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=0." + * def partsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -9565,7 +9688,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9578,19 +9701,19 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje return __pyx_r; } -/* "partsort.pyx":699 +/* "partsort.pyx":706 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=1." + * def partsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_31partsort_3d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_30partsort_3d_int_axis1[] = "partsort_3d_int_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_31partsort_3d_int_axis1 = {"partsort_3d_int_axis1", (PyCFunction)__pyx_pw_8partsort_31partsort_3d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_30partsort_3d_int_axis1}; -static PyObject *__pyx_pw_8partsort_31partsort_3d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_31partsort_3d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_30partsort_3d_float32_axis1[] = "partsort_3d_float32_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_31partsort_3d_float32_axis1 = {"partsort_3d_float32_axis1", (PyCFunction)__pyx_pw_8partsort_31partsort_3d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_30partsort_3d_float32_axis1}; +static PyObject *__pyx_pw_8partsort_31partsort_3d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -9598,7 +9721,7 @@ static PyObject *__pyx_pw_8partsort_31partsort_3d_int_axis1(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_float32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -9619,11 +9742,11 @@ static PyObject *__pyx_pw_8partsort_31partsort_3d_int_axis1(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9632,18 +9755,18 @@ static PyObject *__pyx_pw_8partsort_31partsort_3d_int_axis1(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_30partsort_3d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_30partsort_3d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -9654,14 +9777,14 @@ static PyObject *__pyx_pw_8partsort_31partsort_3d_int_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_30partsort_3d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i2; @@ -9710,7 +9833,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int_axis1", 0); + __Pyx_RefNannySetupContext("partsort_3d_float32_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -9721,36 +9844,36 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":701 - * def partsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int along axis=1." + /* "partsort.pyx":708 + * def partsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":703 + /* "partsort.pyx":710 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -9758,7 +9881,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":706 + /* "partsort.pyx":713 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9767,7 +9890,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":707 + /* "partsort.pyx":714 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -9776,7 +9899,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":708 + /* "partsort.pyx":715 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -9785,7 +9908,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":709 + /* "partsort.pyx":716 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -9794,7 +9917,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":710 + /* "partsort.pyx":717 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * if n1 == 0: # <<<<<<<<<<<<<< @@ -9804,7 +9927,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":711 + /* "partsort.pyx":718 * cdef Py_ssize_t n2 = dim[2] * if n1 == 0: * return b # <<<<<<<<<<<<<< @@ -9817,7 +9940,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje goto __pyx_L0; } - /* "partsort.pyx":712 + /* "partsort.pyx":719 * if n1 == 0: * return b * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< @@ -9837,20 +9960,20 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":713 + /* "partsort.pyx":720 * return b * if (n < 1) or (n > n1): * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< * for i0 in range(n0): * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -9858,24 +9981,24 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":714 + /* "partsort.pyx":721 * if (n < 1) or (n > n1): * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -9886,7 +10009,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":715 + /* "partsort.pyx":722 * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -9897,7 +10020,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { __pyx_v_i2 = __pyx_t_11; - /* "partsort.pyx":716 + /* "partsort.pyx":723 * for i0 in range(n0): * for i2 in range(n2): * l = 0 # <<<<<<<<<<<<<< @@ -9906,7 +10029,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_l = 0; - /* "partsort.pyx":717 + /* "partsort.pyx":724 * for i2 in range(n2): * l = 0 * r = n1 - 1 # <<<<<<<<<<<<<< @@ -9915,7 +10038,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":718 + /* "partsort.pyx":725 * l = 0 * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -9926,7 +10049,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":719 + /* "partsort.pyx":726 * r = n1 - 1 * while l < r: * x = b[i0, k, i2] # <<<<<<<<<<<<<< @@ -9936,9 +10059,9 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_k; __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":720 + /* "partsort.pyx":727 * while l < r: * x = b[i0, k, i2] * i = l # <<<<<<<<<<<<<< @@ -9947,7 +10070,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":721 + /* "partsort.pyx":728 * x = b[i0, k, i2] * i = l * j = r # <<<<<<<<<<<<<< @@ -9956,7 +10079,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":722 + /* "partsort.pyx":729 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -9965,7 +10088,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje */ while (1) { - /* "partsort.pyx":723 + /* "partsort.pyx":730 * j = r * while 1: * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< @@ -9976,12 +10099,12 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_15 = __pyx_v_i0; __pyx_t_16 = __pyx_v_i; __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":724 + /* "partsort.pyx":731 * while 1: * while b[i0, i, i2] < x: i += 1 * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< @@ -9992,12 +10115,12 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_j; __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":725 + /* "partsort.pyx":732 * while b[i0, i, i2] < x: i += 1 * while x < b[i0, j, i2]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -10007,7 +10130,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":726 + /* "partsort.pyx":733 * while x < b[i0, j, i2]: j -= 1 * if i <= j: * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< @@ -10017,9 +10140,9 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_21 = __pyx_v_i0; __pyx_t_22 = __pyx_v_i; __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":727 + /* "partsort.pyx":734 * if i <= j: * tmp = b[i0, i, i2] * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< @@ -10032,9 +10155,9 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_27 = __pyx_v_i0; __pyx_t_28 = __pyx_v_i; __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":728 + /* "partsort.pyx":735 * tmp = b[i0, i, i2] * b[i0, i, i2] = b[i0, j, i2] * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< @@ -10044,9 +10167,9 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_30 = __pyx_v_i0; __pyx_t_31 = __pyx_v_j; __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":729 + /* "partsort.pyx":736 * b[i0, i, i2] = b[i0, j, i2] * b[i0, j, i2] = tmp * i += 1 # <<<<<<<<<<<<<< @@ -10055,7 +10178,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":730 + /* "partsort.pyx":737 * b[i0, j, i2] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -10067,7 +10190,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje } __pyx_L19:; - /* "partsort.pyx":731 + /* "partsort.pyx":738 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -10081,7 +10204,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje } __pyx_L14_break:; - /* "partsort.pyx":732 + /* "partsort.pyx":739 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -10095,7 +10218,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje } __pyx_L21:; - /* "partsort.pyx":733 + /* "partsort.pyx":740 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -10112,7 +10235,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje } } - /* "partsort.pyx":734 + /* "partsort.pyx":741 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -10124,11 +10247,11 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":699 + /* "partsort.pyx":706 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=1." + * def partsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -10143,7 +10266,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -10156,19 +10279,19 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje return __pyx_r; } -/* "partsort.pyx":738 +/* "partsort.pyx":745 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=2." + * def partsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_33partsort_3d_int_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_32partsort_3d_int_axis2[] = "partsort_3d_int_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=2."; -static PyMethodDef __pyx_mdef_8partsort_33partsort_3d_int_axis2 = {"partsort_3d_int_axis2", (PyCFunction)__pyx_pw_8partsort_33partsort_3d_int_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_32partsort_3d_int_axis2}; -static PyObject *__pyx_pw_8partsort_33partsort_3d_int_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_33partsort_3d_float32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_32partsort_3d_float32_axis2[] = "partsort_3d_float32_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=2."; +static PyMethodDef __pyx_mdef_8partsort_33partsort_3d_float32_axis2 = {"partsort_3d_float32_axis2", (PyCFunction)__pyx_pw_8partsort_33partsort_3d_float32_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_32partsort_3d_float32_axis2}; +static PyObject *__pyx_pw_8partsort_33partsort_3d_float32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -10176,7 +10299,7 @@ static PyObject *__pyx_pw_8partsort_33partsort_3d_int_axis2(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_float32_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -10197,11 +10320,11 @@ static PyObject *__pyx_pw_8partsort_33partsort_3d_int_axis2(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float32_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -10210,18 +10333,18 @@ static PyObject *__pyx_pw_8partsort_33partsort_3d_int_axis2(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_32partsort_3d_int_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_32partsort_3d_float32_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -10232,14 +10355,14 @@ static PyObject *__pyx_pw_8partsort_33partsort_3d_int_axis2(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_32partsort_3d_float32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -10288,7 +10411,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int_axis2", 0); + __Pyx_RefNannySetupContext("partsort_3d_float32_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -10299,36 +10422,36 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":740 - * def partsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int along axis=2." + /* "partsort.pyx":747 + * def partsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":742 + /* "partsort.pyx":749 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -10336,7 +10459,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":745 + /* "partsort.pyx":752 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10345,7 +10468,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":746 + /* "partsort.pyx":753 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -10354,7 +10477,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":747 + /* "partsort.pyx":754 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -10363,7 +10486,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":748 + /* "partsort.pyx":755 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -10372,7 +10495,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":749 + /* "partsort.pyx":756 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * if n2 == 0: # <<<<<<<<<<<<<< @@ -10382,7 +10505,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_t_3 = ((__pyx_v_n2 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":750 + /* "partsort.pyx":757 * cdef Py_ssize_t n2 = dim[2] * if n2 == 0: * return b # <<<<<<<<<<<<<< @@ -10395,7 +10518,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje goto __pyx_L0; } - /* "partsort.pyx":751 + /* "partsort.pyx":758 * if n2 == 0: * return b * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< @@ -10415,20 +10538,20 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":752 + /* "partsort.pyx":759 * return b * if (n < 1) or (n > n2): * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< * for i0 in range(n0): * for i1 in range(n1): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -10436,24 +10559,24 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":753 + /* "partsort.pyx":760 * if (n < 1) or (n > n2): * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -10464,7 +10587,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":754 + /* "partsort.pyx":761 * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -10475,7 +10598,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { __pyx_v_i1 = __pyx_t_11; - /* "partsort.pyx":755 + /* "partsort.pyx":762 * for i0 in range(n0): * for i1 in range(n1): * l = 0 # <<<<<<<<<<<<<< @@ -10484,7 +10607,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje */ __pyx_v_l = 0; - /* "partsort.pyx":756 + /* "partsort.pyx":763 * for i1 in range(n1): * l = 0 * r = n2 - 1 # <<<<<<<<<<<<<< @@ -10493,7 +10616,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje */ __pyx_v_r = (__pyx_v_n2 - 1); - /* "partsort.pyx":757 + /* "partsort.pyx":764 * l = 0 * r = n2 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -10504,7 +10627,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":758 + /* "partsort.pyx":765 * r = n2 - 1 * while l < r: * x = b[i0, i1, k] # <<<<<<<<<<<<<< @@ -10514,9 +10637,9 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_i1; __pyx_t_14 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":759 + /* "partsort.pyx":766 * while l < r: * x = b[i0, i1, k] * i = l # <<<<<<<<<<<<<< @@ -10525,7 +10648,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":760 + /* "partsort.pyx":767 * x = b[i0, i1, k] * i = l * j = r # <<<<<<<<<<<<<< @@ -10534,7 +10657,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":761 + /* "partsort.pyx":768 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -10543,7 +10666,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje */ while (1) { - /* "partsort.pyx":762 + /* "partsort.pyx":769 * j = r * while 1: * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< @@ -10554,12 +10677,12 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_t_15 = __pyx_v_i0; __pyx_t_16 = __pyx_v_i1; __pyx_t_17 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":763 + /* "partsort.pyx":770 * while 1: * while b[i0, i1, i] < x: i += 1 * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< @@ -10570,12 +10693,12 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_i1; __pyx_t_20 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":764 + /* "partsort.pyx":771 * while b[i0, i1, i] < x: i += 1 * while x < b[i0, i1, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -10585,7 +10708,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":765 + /* "partsort.pyx":772 * while x < b[i0, i1, j]: j -= 1 * if i <= j: * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< @@ -10595,9 +10718,9 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_t_21 = __pyx_v_i0; __pyx_t_22 = __pyx_v_i1; __pyx_t_23 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":766 + /* "partsort.pyx":773 * if i <= j: * tmp = b[i0, i1, i] * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< @@ -10610,9 +10733,9 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_t_27 = __pyx_v_i0; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":767 + /* "partsort.pyx":774 * tmp = b[i0, i1, i] * b[i0, i1, i] = b[i0, i1, j] * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< @@ -10622,9 +10745,9 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_t_30 = __pyx_v_i0; __pyx_t_31 = __pyx_v_i1; __pyx_t_32 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":768 + /* "partsort.pyx":775 * b[i0, i1, i] = b[i0, i1, j] * b[i0, i1, j] = tmp * i += 1 # <<<<<<<<<<<<<< @@ -10633,7 +10756,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":769 + /* "partsort.pyx":776 * b[i0, i1, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -10645,7 +10768,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje } __pyx_L19:; - /* "partsort.pyx":770 + /* "partsort.pyx":777 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -10659,7 +10782,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje } __pyx_L14_break:; - /* "partsort.pyx":771 + /* "partsort.pyx":778 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -10673,7 +10796,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje } __pyx_L21:; - /* "partsort.pyx":772 + /* "partsort.pyx":779 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -10690,7 +10813,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje } } - /* "partsort.pyx":773 + /* "partsort.pyx":780 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -10702,11 +10825,11 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":738 + /* "partsort.pyx":745 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=2." + * def partsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -10721,7 +10844,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -10734,19 +10857,19 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje return __pyx_r; } -/* "partsort.pyx":777 +/* "partsort.pyx":784 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=0." + * def partsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_35partsort_3d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_34partsort_3d_int8_axis0[] = "partsort_3d_int8_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_35partsort_3d_int8_axis0 = {"partsort_3d_int8_axis0", (PyCFunction)__pyx_pw_8partsort_35partsort_3d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_34partsort_3d_int8_axis0}; -static PyObject *__pyx_pw_8partsort_35partsort_3d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_35partsort_3d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_34partsort_3d_float64_axis0[] = "partsort_3d_float64_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_35partsort_3d_float64_axis0 = {"partsort_3d_float64_axis0", (PyCFunction)__pyx_pw_8partsort_35partsort_3d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_34partsort_3d_float64_axis0}; +static PyObject *__pyx_pw_8partsort_35partsort_3d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -10754,7 +10877,7 @@ static PyObject *__pyx_pw_8partsort_35partsort_3d_int8_axis0(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -10775,11 +10898,11 @@ static PyObject *__pyx_pw_8partsort_35partsort_3d_int8_axis0(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -10788,18 +10911,18 @@ static PyObject *__pyx_pw_8partsort_35partsort_3d_int8_axis0(PyObject *__pyx_sel values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_34partsort_3d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_34partsort_3d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -10810,14 +10933,14 @@ static PyObject *__pyx_pw_8partsort_35partsort_3d_int8_axis0(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_34partsort_3d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i1; Py_ssize_t __pyx_v_i2; @@ -10866,7 +10989,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int8_axis0", 0); + __Pyx_RefNannySetupContext("partsort_3d_float64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -10877,36 +11000,36 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":779 - * def partsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int8 along axis=0." + /* "partsort.pyx":786 + * def partsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":781 + /* "partsort.pyx":788 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -10914,7 +11037,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":784 + /* "partsort.pyx":791 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10923,7 +11046,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":785 + /* "partsort.pyx":792 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -10932,7 +11055,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":786 + /* "partsort.pyx":793 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -10941,7 +11064,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":787 + /* "partsort.pyx":794 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -10950,7 +11073,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":788 + /* "partsort.pyx":795 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * if n0 == 0: # <<<<<<<<<<<<<< @@ -10960,7 +11083,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":789 + /* "partsort.pyx":796 * cdef Py_ssize_t n2 = dim[2] * if n0 == 0: * return b # <<<<<<<<<<<<<< @@ -10973,7 +11096,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "partsort.pyx":790 + /* "partsort.pyx":797 * if n0 == 0: * return b * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< @@ -10993,20 +11116,20 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":791 + /* "partsort.pyx":798 * return b * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< * for i1 in range(n1): * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -11014,24 +11137,24 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":792 + /* "partsort.pyx":799 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -11042,7 +11165,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i1 = __pyx_t_9; - /* "partsort.pyx":793 + /* "partsort.pyx":800 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) * for i1 in range(n1): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -11053,7 +11176,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { __pyx_v_i2 = __pyx_t_11; - /* "partsort.pyx":794 + /* "partsort.pyx":801 * for i1 in range(n1): * for i2 in range(n2): * l = 0 # <<<<<<<<<<<<<< @@ -11062,7 +11185,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_l = 0; - /* "partsort.pyx":795 + /* "partsort.pyx":802 * for i2 in range(n2): * l = 0 * r = n0 - 1 # <<<<<<<<<<<<<< @@ -11071,7 +11194,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":796 + /* "partsort.pyx":803 * l = 0 * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -11082,7 +11205,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":797 + /* "partsort.pyx":804 * r = n0 - 1 * while l < r: * x = b[k, i1, i2] # <<<<<<<<<<<<<< @@ -11092,9 +11215,9 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_12 = __pyx_v_k; __pyx_t_13 = __pyx_v_i1; __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":798 + /* "partsort.pyx":805 * while l < r: * x = b[k, i1, i2] * i = l # <<<<<<<<<<<<<< @@ -11103,7 +11226,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":799 + /* "partsort.pyx":806 * x = b[k, i1, i2] * i = l * j = r # <<<<<<<<<<<<<< @@ -11112,7 +11235,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":800 + /* "partsort.pyx":807 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -11121,7 +11244,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj */ while (1) { - /* "partsort.pyx":801 + /* "partsort.pyx":808 * j = r * while 1: * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< @@ -11132,12 +11255,12 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_15 = __pyx_v_i; __pyx_t_16 = __pyx_v_i1; __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":802 + /* "partsort.pyx":809 * while 1: * while b[i, i1, i2] < x: i += 1 * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< @@ -11148,12 +11271,12 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_18 = __pyx_v_j; __pyx_t_19 = __pyx_v_i1; __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":803 + /* "partsort.pyx":810 * while b[i, i1, i2] < x: i += 1 * while x < b[j, i1, i2]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -11163,7 +11286,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":804 + /* "partsort.pyx":811 * while x < b[j, i1, i2]: j -= 1 * if i <= j: * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< @@ -11173,9 +11296,9 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_21 = __pyx_v_i; __pyx_t_22 = __pyx_v_i1; __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":805 + /* "partsort.pyx":812 * if i <= j: * tmp = b[i, i1, i2] * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< @@ -11188,9 +11311,9 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_27 = __pyx_v_i; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":806 + /* "partsort.pyx":813 * tmp = b[i, i1, i2] * b[i, i1, i2] = b[j, i1, i2] * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< @@ -11200,9 +11323,9 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_30 = __pyx_v_j; __pyx_t_31 = __pyx_v_i1; __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":807 + /* "partsort.pyx":814 * b[i, i1, i2] = b[j, i1, i2] * b[j, i1, i2] = tmp * i += 1 # <<<<<<<<<<<<<< @@ -11211,7 +11334,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":808 + /* "partsort.pyx":815 * b[j, i1, i2] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -11223,7 +11346,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj } __pyx_L19:; - /* "partsort.pyx":809 + /* "partsort.pyx":816 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -11237,7 +11360,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj } __pyx_L14_break:; - /* "partsort.pyx":810 + /* "partsort.pyx":817 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -11251,7 +11374,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj } __pyx_L21:; - /* "partsort.pyx":811 + /* "partsort.pyx":818 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -11268,7 +11391,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj } } - /* "partsort.pyx":812 + /* "partsort.pyx":819 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -11280,11 +11403,11 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":777 + /* "partsort.pyx":784 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=0." + * def partsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -11299,7 +11422,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -11312,19 +11435,19 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj return __pyx_r; } -/* "partsort.pyx":816 +/* "partsort.pyx":823 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=1." + * def partsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_37partsort_3d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_36partsort_3d_int8_axis1[] = "partsort_3d_int8_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_37partsort_3d_int8_axis1 = {"partsort_3d_int8_axis1", (PyCFunction)__pyx_pw_8partsort_37partsort_3d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_36partsort_3d_int8_axis1}; -static PyObject *__pyx_pw_8partsort_37partsort_3d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_37partsort_3d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_36partsort_3d_float64_axis1[] = "partsort_3d_float64_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_37partsort_3d_float64_axis1 = {"partsort_3d_float64_axis1", (PyCFunction)__pyx_pw_8partsort_37partsort_3d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_36partsort_3d_float64_axis1}; +static PyObject *__pyx_pw_8partsort_37partsort_3d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -11332,7 +11455,7 @@ static PyObject *__pyx_pw_8partsort_37partsort_3d_int8_axis1(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int8_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_float64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -11353,11 +11476,11 @@ static PyObject *__pyx_pw_8partsort_37partsort_3d_int8_axis1(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -11366,18 +11489,18 @@ static PyObject *__pyx_pw_8partsort_37partsort_3d_int8_axis1(PyObject *__pyx_sel values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_36partsort_3d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_36partsort_3d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -11388,14 +11511,14 @@ static PyObject *__pyx_pw_8partsort_37partsort_3d_int8_axis1(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_36partsort_3d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i2; @@ -11444,7 +11567,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int8_axis1", 0); + __Pyx_RefNannySetupContext("partsort_3d_float64_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -11455,36 +11578,36 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":818 - * def partsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int8 along axis=1." + /* "partsort.pyx":825 + * def partsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":820 + /* "partsort.pyx":827 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -11492,7 +11615,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":823 + /* "partsort.pyx":830 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -11501,7 +11624,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":824 + /* "partsort.pyx":831 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -11510,7 +11633,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":825 + /* "partsort.pyx":832 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -11519,7 +11642,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":826 + /* "partsort.pyx":833 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -11528,7 +11651,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":827 + /* "partsort.pyx":834 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * if n1 == 0: # <<<<<<<<<<<<<< @@ -11538,7 +11661,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":828 + /* "partsort.pyx":835 * cdef Py_ssize_t n2 = dim[2] * if n1 == 0: * return b # <<<<<<<<<<<<<< @@ -11551,7 +11674,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "partsort.pyx":829 + /* "partsort.pyx":836 * if n1 == 0: * return b * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< @@ -11571,20 +11694,20 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":830 + /* "partsort.pyx":837 * return b * if (n < 1) or (n > n1): * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< * for i0 in range(n0): * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -11592,24 +11715,24 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":831 + /* "partsort.pyx":838 * if (n < 1) or (n > n1): * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -11620,7 +11743,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":832 + /* "partsort.pyx":839 * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -11631,7 +11754,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { __pyx_v_i2 = __pyx_t_11; - /* "partsort.pyx":833 + /* "partsort.pyx":840 * for i0 in range(n0): * for i2 in range(n2): * l = 0 # <<<<<<<<<<<<<< @@ -11640,7 +11763,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_l = 0; - /* "partsort.pyx":834 + /* "partsort.pyx":841 * for i2 in range(n2): * l = 0 * r = n1 - 1 # <<<<<<<<<<<<<< @@ -11649,7 +11772,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":835 + /* "partsort.pyx":842 * l = 0 * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -11660,7 +11783,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":836 + /* "partsort.pyx":843 * r = n1 - 1 * while l < r: * x = b[i0, k, i2] # <<<<<<<<<<<<<< @@ -11670,9 +11793,9 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_k; __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":837 + /* "partsort.pyx":844 * while l < r: * x = b[i0, k, i2] * i = l # <<<<<<<<<<<<<< @@ -11681,7 +11804,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":838 + /* "partsort.pyx":845 * x = b[i0, k, i2] * i = l * j = r # <<<<<<<<<<<<<< @@ -11690,7 +11813,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":839 + /* "partsort.pyx":846 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -11699,7 +11822,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj */ while (1) { - /* "partsort.pyx":840 + /* "partsort.pyx":847 * j = r * while 1: * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< @@ -11710,12 +11833,12 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_15 = __pyx_v_i0; __pyx_t_16 = __pyx_v_i; __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":841 + /* "partsort.pyx":848 * while 1: * while b[i0, i, i2] < x: i += 1 * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< @@ -11726,12 +11849,12 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_j; __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":842 + /* "partsort.pyx":849 * while b[i0, i, i2] < x: i += 1 * while x < b[i0, j, i2]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -11741,7 +11864,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":843 + /* "partsort.pyx":850 * while x < b[i0, j, i2]: j -= 1 * if i <= j: * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< @@ -11751,9 +11874,9 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_21 = __pyx_v_i0; __pyx_t_22 = __pyx_v_i; __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":844 + /* "partsort.pyx":851 * if i <= j: * tmp = b[i0, i, i2] * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< @@ -11766,9 +11889,9 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_27 = __pyx_v_i0; __pyx_t_28 = __pyx_v_i; __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":845 + /* "partsort.pyx":852 * tmp = b[i0, i, i2] * b[i0, i, i2] = b[i0, j, i2] * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< @@ -11778,9 +11901,9 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_30 = __pyx_v_i0; __pyx_t_31 = __pyx_v_j; __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":846 + /* "partsort.pyx":853 * b[i0, i, i2] = b[i0, j, i2] * b[i0, j, i2] = tmp * i += 1 # <<<<<<<<<<<<<< @@ -11789,7 +11912,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":847 + /* "partsort.pyx":854 * b[i0, j, i2] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -11801,7 +11924,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj } __pyx_L19:; - /* "partsort.pyx":848 + /* "partsort.pyx":855 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -11815,7 +11938,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj } __pyx_L14_break:; - /* "partsort.pyx":849 + /* "partsort.pyx":856 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -11829,7 +11952,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj } __pyx_L21:; - /* "partsort.pyx":850 + /* "partsort.pyx":857 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -11846,7 +11969,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj } } - /* "partsort.pyx":851 + /* "partsort.pyx":858 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -11858,11 +11981,11 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":816 + /* "partsort.pyx":823 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=1." + * def partsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -11877,7 +12000,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -11890,19 +12013,19 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj return __pyx_r; } -/* "partsort.pyx":855 +/* "partsort.pyx":862 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=2." + * def partsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_39partsort_3d_int8_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_38partsort_3d_int8_axis2[] = "partsort_3d_int8_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=2."; -static PyMethodDef __pyx_mdef_8partsort_39partsort_3d_int8_axis2 = {"partsort_3d_int8_axis2", (PyCFunction)__pyx_pw_8partsort_39partsort_3d_int8_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_38partsort_3d_int8_axis2}; -static PyObject *__pyx_pw_8partsort_39partsort_3d_int8_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_39partsort_3d_float64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_38partsort_3d_float64_axis2[] = "partsort_3d_float64_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=2."; +static PyMethodDef __pyx_mdef_8partsort_39partsort_3d_float64_axis2 = {"partsort_3d_float64_axis2", (PyCFunction)__pyx_pw_8partsort_39partsort_3d_float64_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_38partsort_3d_float64_axis2}; +static PyObject *__pyx_pw_8partsort_39partsort_3d_float64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -11910,7 +12033,7 @@ static PyObject *__pyx_pw_8partsort_39partsort_3d_int8_axis2(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int8_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_float64_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -11931,11 +12054,11 @@ static PyObject *__pyx_pw_8partsort_39partsort_3d_int8_axis2(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int8_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float64_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -11944,18 +12067,18 @@ static PyObject *__pyx_pw_8partsort_39partsort_3d_int8_axis2(PyObject *__pyx_sel values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int8_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_38partsort_3d_int8_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_38partsort_3d_float64_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -11966,14 +12089,14 @@ static PyObject *__pyx_pw_8partsort_39partsort_3d_int8_axis2(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_38partsort_3d_float64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -12022,7 +12145,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int8_axis2", 0); + __Pyx_RefNannySetupContext("partsort_3d_float64_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -12033,36 +12156,36 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":857 - * def partsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int8 along axis=2." + /* "partsort.pyx":864 + * def partsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":859 + /* "partsort.pyx":866 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -12070,7 +12193,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":862 + /* "partsort.pyx":869 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -12079,7 +12202,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":863 + /* "partsort.pyx":870 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -12088,7 +12211,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":864 + /* "partsort.pyx":871 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -12097,7 +12220,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":865 + /* "partsort.pyx":872 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -12106,7 +12229,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":866 + /* "partsort.pyx":873 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * if n2 == 0: # <<<<<<<<<<<<<< @@ -12116,7 +12239,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_t_3 = ((__pyx_v_n2 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":867 + /* "partsort.pyx":874 * cdef Py_ssize_t n2 = dim[2] * if n2 == 0: * return b # <<<<<<<<<<<<<< @@ -12129,7 +12252,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "partsort.pyx":868 + /* "partsort.pyx":875 * if n2 == 0: * return b * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< @@ -12149,20 +12272,20 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":869 + /* "partsort.pyx":876 * return b * if (n < 1) or (n > n2): * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< * for i0 in range(n0): * for i1 in range(n1): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -12170,24 +12293,24 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":870 + /* "partsort.pyx":877 * if (n < 1) or (n > n2): * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -12198,7 +12321,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":871 + /* "partsort.pyx":878 * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -12209,7 +12332,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { __pyx_v_i1 = __pyx_t_11; - /* "partsort.pyx":872 + /* "partsort.pyx":879 * for i0 in range(n0): * for i1 in range(n1): * l = 0 # <<<<<<<<<<<<<< @@ -12218,7 +12341,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj */ __pyx_v_l = 0; - /* "partsort.pyx":873 + /* "partsort.pyx":880 * for i1 in range(n1): * l = 0 * r = n2 - 1 # <<<<<<<<<<<<<< @@ -12227,7 +12350,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj */ __pyx_v_r = (__pyx_v_n2 - 1); - /* "partsort.pyx":874 + /* "partsort.pyx":881 * l = 0 * r = n2 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -12238,7 +12361,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":875 + /* "partsort.pyx":882 * r = n2 - 1 * while l < r: * x = b[i0, i1, k] # <<<<<<<<<<<<<< @@ -12248,9 +12371,9 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_i1; __pyx_t_14 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":876 + /* "partsort.pyx":883 * while l < r: * x = b[i0, i1, k] * i = l # <<<<<<<<<<<<<< @@ -12259,7 +12382,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":877 + /* "partsort.pyx":884 * x = b[i0, i1, k] * i = l * j = r # <<<<<<<<<<<<<< @@ -12268,7 +12391,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":878 + /* "partsort.pyx":885 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -12277,7 +12400,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj */ while (1) { - /* "partsort.pyx":879 + /* "partsort.pyx":886 * j = r * while 1: * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< @@ -12288,12 +12411,12 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_t_15 = __pyx_v_i0; __pyx_t_16 = __pyx_v_i1; __pyx_t_17 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":880 + /* "partsort.pyx":887 * while 1: * while b[i0, i1, i] < x: i += 1 * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< @@ -12304,12 +12427,12 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_i1; __pyx_t_20 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":881 + /* "partsort.pyx":888 * while b[i0, i1, i] < x: i += 1 * while x < b[i0, i1, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -12319,7 +12442,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":882 + /* "partsort.pyx":889 * while x < b[i0, i1, j]: j -= 1 * if i <= j: * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< @@ -12329,9 +12452,9 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_t_21 = __pyx_v_i0; __pyx_t_22 = __pyx_v_i1; __pyx_t_23 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":883 + /* "partsort.pyx":890 * if i <= j: * tmp = b[i0, i1, i] * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< @@ -12344,9 +12467,9 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_t_27 = __pyx_v_i0; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":884 + /* "partsort.pyx":891 * tmp = b[i0, i1, i] * b[i0, i1, i] = b[i0, i1, j] * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< @@ -12356,9 +12479,9 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_t_30 = __pyx_v_i0; __pyx_t_31 = __pyx_v_i1; __pyx_t_32 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":885 + /* "partsort.pyx":892 * b[i0, i1, i] = b[i0, i1, j] * b[i0, i1, j] = tmp * i += 1 # <<<<<<<<<<<<<< @@ -12367,7 +12490,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":886 + /* "partsort.pyx":893 * b[i0, i1, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -12379,7 +12502,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj } __pyx_L19:; - /* "partsort.pyx":887 + /* "partsort.pyx":894 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -12393,7 +12516,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj } __pyx_L14_break:; - /* "partsort.pyx":888 + /* "partsort.pyx":895 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -12407,7 +12530,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj } __pyx_L21:; - /* "partsort.pyx":889 + /* "partsort.pyx":896 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -12424,7 +12547,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj } } - /* "partsort.pyx":890 + /* "partsort.pyx":897 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -12436,11 +12559,11 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":855 + /* "partsort.pyx":862 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=2." + * def partsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -12455,7 +12578,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int8_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -12468,19 +12591,19 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj return __pyx_r; } -/* "partsort.pyx":894 +/* "partsort.pyx":901 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=0." + * def partsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_41partsort_3d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_40partsort_3d_int32_axis0[] = "partsort_3d_int32_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_41partsort_3d_int32_axis0 = {"partsort_3d_int32_axis0", (PyCFunction)__pyx_pw_8partsort_41partsort_3d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_40partsort_3d_int32_axis0}; -static PyObject *__pyx_pw_8partsort_41partsort_3d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_41partsort_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_40partsort_1d_int_axis0[] = "partsort_1d_int_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_41partsort_1d_int_axis0 = {"partsort_1d_int_axis0", (PyCFunction)__pyx_pw_8partsort_41partsort_1d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_40partsort_1d_int_axis0}; +static PyObject *__pyx_pw_8partsort_41partsort_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -12488,7 +12611,7 @@ static PyObject *__pyx_pw_8partsort_41partsort_3d_int32_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_1d_int_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -12509,11 +12632,11 @@ static PyObject *__pyx_pw_8partsort_41partsort_3d_int32_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -12522,18 +12645,18 @@ static PyObject *__pyx_pw_8partsort_41partsort_3d_int32_axis0(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_40partsort_3d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_40partsort_1d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -12544,21 +12667,17 @@ static PyObject *__pyx_pw_8partsort_41partsort_3d_int32_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_40partsort_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; - Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -12572,35 +12691,17 @@ static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyOb PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_8; + npy_intp __pyx_t_9; + npy_intp __pyx_t_10; + npy_intp __pyx_t_11; npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; - npy_intp __pyx_t_15; - Py_ssize_t __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - Py_ssize_t __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; - Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; - Py_ssize_t __pyx_t_28; - Py_ssize_t __pyx_t_29; - npy_intp __pyx_t_30; - Py_ssize_t __pyx_t_31; - Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_13; + npy_intp __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int32_axis0", 0); + __Pyx_RefNannySetupContext("partsort_1d_int_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -12611,82 +12712,64 @@ static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "partsort.pyx":896 - * def partsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int32 along axis=0." + /* "partsort.pyx":903 + * def partsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":898 + /* "partsort.pyx":905 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":901 - * cdef Py_ssize_t i0, i1, i2 + /* "partsort.pyx":908 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":902 + /* "partsort.pyx":909 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: + * return b */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":903 + /* "partsort.pyx":910 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * if n0 == 0: - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "partsort.pyx":904 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * if n0 == 0: - * return b - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "partsort.pyx":905 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] * if n0 == 0: # <<<<<<<<<<<<<< * return b * if (n < 1) or (n > n0): @@ -12694,8 +12777,8 @@ static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyOb __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":906 - * cdef Py_ssize_t n2 = dim[2] + /* "partsort.pyx":911 + * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * return b # <<<<<<<<<<<<<< * if (n < 1) or (n > n0): @@ -12707,12 +12790,12 @@ static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":907 + /* "partsort.pyx":912 * if n0 == 0: * return b * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * l = 0 */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -12727,20 +12810,20 @@ static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyOb __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":908 + /* "partsort.pyx":913 * return b * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * for i2 in range(n2): + * l = 0 + * r = n0 - 1 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -12748,263 +12831,258 @@ static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":909 + /* "partsort.pyx":914 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * l = 0 + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_l = 0; - /* "partsort.pyx":910 + /* "partsort.pyx":915 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: + * while l < r: */ - __pyx_t_10 = __pyx_v_n2; - for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { - __pyx_v_i2 = __pyx_t_11; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":911 - * for i1 in range(n1): - * for i2 in range(n2): - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * while l < r: + /* "partsort.pyx":916 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_v_l = 0; + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { - /* "partsort.pyx":912 - * for i2 in range(n2): - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[k, i1, i2] + /* "partsort.pyx":917 + * r = n0 - 1 + * with nogil: + * while l < r: # <<<<<<<<<<<<<< + * x = b[k] + * i = l */ - __pyx_v_r = (__pyx_v_n0 - 1); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":913 - * l = 0 - * r = n0 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1, i2] - * i = l + /* "partsort.pyx":918 + * with nogil: + * while l < r: + * x = b[k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_t_8 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":914 - * r = n0 - 1 - * while l < r: - * x = b[k, i1, i2] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "partsort.pyx":919 + * while l < r: + * x = b[k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_t_12 = __pyx_v_k; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":915 - * while l < r: - * x = b[k, i1, i2] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":920 + * x = b[k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i] < x: i += 1 */ - __pyx_v_i = __pyx_v_l; + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":916 - * x = b[k, i1, i2] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i, i1, i2] < x: i += 1 + /* "partsort.pyx":921 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ - __pyx_v_j = __pyx_v_r; + while (1) { - /* "partsort.pyx":917 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 + /* "partsort.pyx":922 + * j = r + * while 1: + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 + * if i <= j: */ - while (1) { + while (1) { + __pyx_t_9 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":918 - * j = r - * while 1: - * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: + /* "partsort.pyx":923 + * while 1: + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i] */ - while (1) { - __pyx_t_15 = __pyx_v_i; - __pyx_t_16 = __pyx_v_i1; - __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_10 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":919 - * while 1: - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i, i1, i2] + /* "partsort.pyx":924 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i] + * b[i] = b[j] */ - while (1) { - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":920 - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] + /* "partsort.pyx":925 + * while x < b[j]: j -= 1 + * if i <= j: + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_11 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":921 - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: - * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp + /* "partsort.pyx":926 + * if i <= j: + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp + * i += 1 */ - __pyx_t_21 = __pyx_v_i; - __pyx_t_22 = __pyx_v_i1; - __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":922 - * if i <= j: - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< - * b[j, i1, i2] = tmp - * i += 1 + /* "partsort.pyx":927 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_24 = __pyx_v_j; - __pyx_t_25 = __pyx_v_i1; - __pyx_t_26 = __pyx_v_i2; - __pyx_t_27 = __pyx_v_i; - __pyx_t_28 = __pyx_v_i1; - __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_14 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "partsort.pyx":923 - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":928 + * b[i] = b[j] + * b[j] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":924 - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":929 + * b[j] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L18; + } + __pyx_L18:; - /* "partsort.pyx":925 - * b[j, i1, i2] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":930 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L19; + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L13_break; + } } - __pyx_L19:; + __pyx_L13_break:; - /* "partsort.pyx":926 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":931 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j + * return b */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); if (__pyx_t_3) { - goto __pyx_L14_break; + __pyx_v_l = __pyx_v_i; + goto __pyx_L20; } - } - __pyx_L14_break:; + __pyx_L20:; - /* "partsort.pyx":927 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":932 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b + * */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L21; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L21; + } + __pyx_L21:; } - __pyx_L21:; + } - /* "partsort.pyx":928 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< - * return b - * + /* "partsort.pyx":916 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L22; + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L9; } - __pyx_L22:; + __pyx_L9:; } - } } - /* "partsort.pyx":929 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":933 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -13014,11 +13092,11 @@ static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":894 + /* "partsort.pyx":901 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=0." + * def partsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -13033,7 +13111,7 @@ static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -13046,19 +13124,19 @@ static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":933 +/* "partsort.pyx":937 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=1." + * def partsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_43partsort_3d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_42partsort_3d_int32_axis1[] = "partsort_3d_int32_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_43partsort_3d_int32_axis1 = {"partsort_3d_int32_axis1", (PyCFunction)__pyx_pw_8partsort_43partsort_3d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_42partsort_3d_int32_axis1}; -static PyObject *__pyx_pw_8partsort_43partsort_3d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_43partsort_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_42partsort_1d_int8_axis0[] = "partsort_1d_int8_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_43partsort_1d_int8_axis0 = {"partsort_1d_int8_axis0", (PyCFunction)__pyx_pw_8partsort_43partsort_1d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_42partsort_1d_int8_axis0}; +static PyObject *__pyx_pw_8partsort_43partsort_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -13066,7 +13144,7 @@ static PyObject *__pyx_pw_8partsort_43partsort_3d_int32_axis1(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_1d_int8_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -13087,11 +13165,11 @@ static PyObject *__pyx_pw_8partsort_43partsort_3d_int32_axis1(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -13100,18 +13178,18 @@ static PyObject *__pyx_pw_8partsort_43partsort_3d_int32_axis1(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_42partsort_3d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_42partsort_1d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -13122,21 +13200,17 @@ static PyObject *__pyx_pw_8partsort_43partsort_3d_int32_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_42partsort_3d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_42partsort_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -13150,35 +13224,17 @@ static PyObject *__pyx_pf_8partsort_42partsort_3d_int32_axis1(CYTHON_UNUSED PyOb PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_8; + npy_intp __pyx_t_9; + npy_intp __pyx_t_10; + npy_intp __pyx_t_11; + npy_intp __pyx_t_12; npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; - Py_ssize_t __pyx_t_15; - npy_intp __pyx_t_16; - Py_ssize_t __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; - Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; - Py_ssize_t __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; - Py_ssize_t __pyx_t_29; - Py_ssize_t __pyx_t_30; - npy_intp __pyx_t_31; - Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int32_axis1", 0); + __Pyx_RefNannySetupContext("partsort_1d_int8_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -13189,95 +13245,77 @@ static PyObject *__pyx_pf_8partsort_42partsort_3d_int32_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "partsort.pyx":935 - * def partsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int32 along axis=1." + /* "partsort.pyx":939 + * def partsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":937 + /* "partsort.pyx":941 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":940 - * cdef Py_ssize_t i0, i1, i2 + /* "partsort.pyx":944 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":941 + /* "partsort.pyx":945 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: + * return b */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":942 + /* "partsort.pyx":946 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * if n1 == 0: - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "partsort.pyx":943 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * if n1 == 0: - * return b - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "partsort.pyx":944 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":945 - * cdef Py_ssize_t n2 = dim[2] - * if n1 == 0: + /* "partsort.pyx":947 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -13285,12 +13323,12 @@ static PyObject *__pyx_pf_8partsort_42partsort_3d_int32_axis1(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":946 - * if n1 == 0: + /* "partsort.pyx":948 + * if n0 == 0: * return b - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -13300,25 +13338,25 @@ static PyObject *__pyx_pf_8partsort_42partsort_3d_int32_axis1(CYTHON_UNUSED PyOb goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":947 + /* "partsort.pyx":949 * return b - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i2 in range(n2): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -13326,263 +13364,258 @@ static PyObject *__pyx_pf_8partsort_42partsort_3d_int32_axis1(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":948 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * l = 0 - */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; - - /* "partsort.pyx":949 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 - */ - __pyx_t_10 = __pyx_v_n2; - for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { - __pyx_v_i2 = __pyx_t_11; - - /* "partsort.pyx":950 - * for i0 in range(n0): - * for i2 in range(n2): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + /* "partsort.pyx":950 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_v_l = 0; + __pyx_v_l = 0; - /* "partsort.pyx":951 - * for i2 in range(n2): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k, i2] + /* "partsort.pyx":951 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: + * while l < r: */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":952 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k, i2] - * i = l + /* "partsort.pyx":952 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { /* "partsort.pyx":953 - * r = n1 - 1 - * while l < r: - * x = b[i0, k, i2] # <<<<<<<<<<<<<< - * i = l - * j = r + * r = n0 - 1 + * with nogil: + * while l < r: # <<<<<<<<<<<<<< + * x = b[k] + * i = l */ - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_k; - __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":954 - * while l < r: - * x = b[i0, k, i2] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":954 + * with nogil: + * while l < r: + * x = b[k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_8 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":955 - * x = b[i0, k, i2] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i, i2] < x: i += 1 + /* "partsort.pyx":955 + * while l < r: + * x = b[k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":956 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 + /* "partsort.pyx":956 + * x = b[k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; /* "partsort.pyx":957 - * j = r - * while 1: - * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ while (1) { - __pyx_t_15 = __pyx_v_i0; - __pyx_t_16 = __pyx_v_i; - __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "partsort.pyx":958 - * while 1: - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i, i2] + /* "partsort.pyx":958 + * j = r + * while 1: + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_9 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":959 - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] + /* "partsort.pyx":959 + * while 1: + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + while (1) { + __pyx_t_10 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } /* "partsort.pyx":960 - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: - * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i] + * b[i] = b[j] */ - __pyx_t_21 = __pyx_v_i0; - __pyx_t_22 = __pyx_v_i; - __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":961 - * if i <= j: - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< - * b[i0, j, i2] = tmp - * i += 1 + /* "partsort.pyx":961 + * while x < b[j]: j -= 1 + * if i <= j: + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_j; - __pyx_t_26 = __pyx_v_i2; - __pyx_t_27 = __pyx_v_i0; - __pyx_t_28 = __pyx_v_i; - __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_11 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":962 - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":962 + * if i <= j: + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp + * i += 1 */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":963 - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":963 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_t_14 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "partsort.pyx":964 - * b[i0, j, i2] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":964 + * b[i] = b[j] + * b[j] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L19; + __pyx_v_i = (__pyx_v_i + 1); + + /* "partsort.pyx":965 + * b[j] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i + */ + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L18; + } + __pyx_L18:; + + /* "partsort.pyx":966 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j + */ + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L13_break; + } } - __pyx_L19:; + __pyx_L13_break:; - /* "partsort.pyx":965 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":967 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j + * return b */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); if (__pyx_t_3) { - goto __pyx_L14_break; + __pyx_v_l = __pyx_v_i; + goto __pyx_L20; } - } - __pyx_L14_break:; + __pyx_L20:; - /* "partsort.pyx":966 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":968 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b + * */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L21; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L21; + } + __pyx_L21:; } - __pyx_L21:; + } - /* "partsort.pyx":967 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< - * return b - * + /* "partsort.pyx":952 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L22; + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L9; } - __pyx_L22:; + __pyx_L9:; } - } } - /* "partsort.pyx":968 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":969 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -13592,11 +13625,11 @@ static PyObject *__pyx_pf_8partsort_42partsort_3d_int32_axis1(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":933 + /* "partsort.pyx":937 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=1." + * def partsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -13611,7 +13644,7 @@ static PyObject *__pyx_pf_8partsort_42partsort_3d_int32_axis1(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -13624,19 +13657,19 @@ static PyObject *__pyx_pf_8partsort_42partsort_3d_int32_axis1(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":972 +/* "partsort.pyx":973 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=2." + * def partsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_45partsort_3d_int32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_44partsort_3d_int32_axis2[] = "partsort_3d_int32_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=2."; -static PyMethodDef __pyx_mdef_8partsort_45partsort_3d_int32_axis2 = {"partsort_3d_int32_axis2", (PyCFunction)__pyx_pw_8partsort_45partsort_3d_int32_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_44partsort_3d_int32_axis2}; -static PyObject *__pyx_pw_8partsort_45partsort_3d_int32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_45partsort_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_44partsort_1d_int32_axis0[] = "partsort_1d_int32_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_45partsort_1d_int32_axis0 = {"partsort_1d_int32_axis0", (PyCFunction)__pyx_pw_8partsort_45partsort_1d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_44partsort_1d_int32_axis0}; +static PyObject *__pyx_pw_8partsort_45partsort_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -13644,7 +13677,7 @@ static PyObject *__pyx_pw_8partsort_45partsort_3d_int32_axis2(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int32_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_1d_int32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -13665,11 +13698,11 @@ static PyObject *__pyx_pw_8partsort_45partsort_3d_int32_axis2(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int32_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -13678,18 +13711,18 @@ static PyObject *__pyx_pw_8partsort_45partsort_3d_int32_axis2(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_44partsort_3d_int32_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_44partsort_1d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -13700,7 +13733,7 @@ static PyObject *__pyx_pw_8partsort_45partsort_3d_int32_axis2(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_44partsort_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; @@ -13709,12 +13742,8 @@ static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyOb __pyx_t_5numpy_int32_t __pyx_v_x; __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -13728,35 +13757,17 @@ static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyOb PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; + npy_intp __pyx_t_8; + npy_intp __pyx_t_9; + npy_intp __pyx_t_10; + npy_intp __pyx_t_11; + npy_intp __pyx_t_12; + npy_intp __pyx_t_13; npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; - Py_ssize_t __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - Py_ssize_t __pyx_t_28; - npy_intp __pyx_t_29; - Py_ssize_t __pyx_t_30; - Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int32_axis2", 0); + __Pyx_RefNannySetupContext("partsort_1d_int32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -13767,95 +13778,77 @@ static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "partsort.pyx":974 - * def partsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int32 along axis=2." + /* "partsort.pyx":975 + * def partsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":976 + /* "partsort.pyx":977 * cdef np.npy_intp i, j = 0, l, r, k = n-1 * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":979 - * cdef Py_ssize_t i0, i1, i2 + /* "partsort.pyx":980 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":980 + /* "partsort.pyx":981 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: + * return b */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":981 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * if n2 == 0: - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":982 + * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * if n2 == 0: - * return b - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "partsort.pyx":983 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] - * if n2 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n2): + * if (n < 1) or (n > n0): */ - __pyx_t_3 = ((__pyx_v_n2 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":984 - * cdef Py_ssize_t n2 = dim[2] - * if n2 == 0: + /* "partsort.pyx":983 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -13863,12 +13856,12 @@ static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":985 - * if n2 == 0: + /* "partsort.pyx":984 + * if n0 == 0: * return b - * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -13878,25 +13871,25 @@ static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyOb goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n2) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":986 + /* "partsort.pyx":985 * return b - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -13904,263 +13897,258 @@ static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":987 - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * l = 0 + /* "partsort.pyx":986 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_v_l = 0; - /* "partsort.pyx":988 - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * l = 0 - * r = n2 - 1 + /* "partsort.pyx":987 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: + * while l < r: */ - __pyx_t_10 = __pyx_v_n1; - for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { - __pyx_v_i1 = __pyx_t_11; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":989 - * for i0 in range(n0): - * for i1 in range(n1): - * l = 0 # <<<<<<<<<<<<<< - * r = n2 - 1 - * while l < r: + /* "partsort.pyx":988 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_v_l = 0; + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { - /* "partsort.pyx":990 - * for i1 in range(n1): - * l = 0 - * r = n2 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, i1, k] + /* "partsort.pyx":989 + * r = n0 - 1 + * with nogil: + * while l < r: # <<<<<<<<<<<<<< + * x = b[k] + * i = l */ - __pyx_v_r = (__pyx_v_n2 - 1); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":991 - * l = 0 - * r = n2 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, i1, k] - * i = l + /* "partsort.pyx":990 + * with nogil: + * while l < r: + * x = b[k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_t_8 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":992 - * r = n2 - 1 - * while l < r: - * x = b[i0, i1, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "partsort.pyx":991 + * while l < r: + * x = b[k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_14 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":993 - * while l < r: - * x = b[i0, i1, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":992 + * x = b[k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i] < x: i += 1 */ - __pyx_v_i = __pyx_v_l; + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":994 - * x = b[i0, i1, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i1, i] < x: i += 1 + /* "partsort.pyx":993 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ - __pyx_v_j = __pyx_v_r; + while (1) { - /* "partsort.pyx":995 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 + /* "partsort.pyx":994 + * j = r + * while 1: + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 + * if i <= j: */ - while (1) { + while (1) { + __pyx_t_9 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":996 - * j = r - * while 1: - * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: + /* "partsort.pyx":995 + * while 1: + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i] */ - while (1) { - __pyx_t_15 = __pyx_v_i0; - __pyx_t_16 = __pyx_v_i1; - __pyx_t_17 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_10 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":997 - * while 1: - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i1, i] + /* "partsort.pyx":996 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i] + * b[i] = b[j] */ - while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":998 - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] + /* "partsort.pyx":997 + * while x < b[j]: j -= 1 + * if i <= j: + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_11 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":999 - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp + /* "partsort.pyx":998 + * if i <= j: + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp + * i += 1 */ - __pyx_t_21 = __pyx_v_i0; - __pyx_t_22 = __pyx_v_i1; - __pyx_t_23 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":1000 - * if i <= j: - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< - * b[i0, i1, j] = tmp - * i += 1 + /* "partsort.pyx":999 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i1; - __pyx_t_26 = __pyx_v_j; - __pyx_t_27 = __pyx_v_i0; - __pyx_t_28 = __pyx_v_i1; - __pyx_t_29 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_14 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "partsort.pyx":1001 - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":1000 + * b[i] = b[j] + * b[j] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1002 - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":1001 + * b[j] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L18; + } + __pyx_L18:; - /* "partsort.pyx":1003 - * b[i0, i1, j] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":1002 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L19; + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L13_break; + } } - __pyx_L19:; + __pyx_L13_break:; - /* "partsort.pyx":1004 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1003 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j + * return b */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); if (__pyx_t_3) { - goto __pyx_L14_break; + __pyx_v_l = __pyx_v_i; + goto __pyx_L20; } - } - __pyx_L14_break:; + __pyx_L20:; - /* "partsort.pyx":1005 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":1004 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b + * */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L21; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L21; + } + __pyx_L21:; } - __pyx_L21:; + } - /* "partsort.pyx":1006 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< - * return b - * + /* "partsort.pyx":988 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L22; + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L9; } - __pyx_L22:; + __pyx_L9:; } - } } - /* "partsort.pyx":1007 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1005 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -14170,11 +14158,11 @@ static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":972 + /* "partsort.pyx":973 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=2." + * def partsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -14189,7 +14177,7 @@ static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -14202,19 +14190,19 @@ static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":1011 +/* "partsort.pyx":1009 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=0." + * def partsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_47partsort_3d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_46partsort_3d_int64_axis0[] = "partsort_3d_int64_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_47partsort_3d_int64_axis0 = {"partsort_3d_int64_axis0", (PyCFunction)__pyx_pw_8partsort_47partsort_3d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_46partsort_3d_int64_axis0}; -static PyObject *__pyx_pw_8partsort_47partsort_3d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_47partsort_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_46partsort_1d_int64_axis0[] = "partsort_1d_int64_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_47partsort_1d_int64_axis0 = {"partsort_1d_int64_axis0", (PyCFunction)__pyx_pw_8partsort_47partsort_1d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_46partsort_1d_int64_axis0}; +static PyObject *__pyx_pw_8partsort_47partsort_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -14222,7 +14210,7 @@ static PyObject *__pyx_pw_8partsort_47partsort_3d_int64_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_1d_int64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -14243,11 +14231,11 @@ static PyObject *__pyx_pw_8partsort_47partsort_3d_int64_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -14256,18 +14244,18 @@ static PyObject *__pyx_pw_8partsort_47partsort_3d_int64_axis0(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_46partsort_3d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_46partsort_1d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -14278,7 +14266,7 @@ static PyObject *__pyx_pw_8partsort_47partsort_3d_int64_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_46partsort_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; @@ -14287,12 +14275,8 @@ static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyOb __pyx_t_5numpy_int64_t __pyx_v_x; __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; - Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -14306,35 +14290,17 @@ static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyOb PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_8; + npy_intp __pyx_t_9; + npy_intp __pyx_t_10; + npy_intp __pyx_t_11; npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; - npy_intp __pyx_t_15; - Py_ssize_t __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - Py_ssize_t __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; - Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; - Py_ssize_t __pyx_t_28; - Py_ssize_t __pyx_t_29; - npy_intp __pyx_t_30; - Py_ssize_t __pyx_t_31; - Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_13; + npy_intp __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int64_axis0", 0); + __Pyx_RefNannySetupContext("partsort_1d_int64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -14345,82 +14311,64 @@ static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "partsort.pyx":1013 - * def partsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int64 along axis=0." + /* "partsort.pyx":1011 + * def partsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1015 + /* "partsort.pyx":1013 * cdef np.npy_intp i, j = 0, l, r, k = n-1 * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1018 - * cdef Py_ssize_t i0, i1, i2 + /* "partsort.pyx":1016 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1019 + /* "partsort.pyx":1017 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: + * return b */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1020 + /* "partsort.pyx":1018 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * if n0 == 0: - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "partsort.pyx":1021 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * if n0 == 0: - * return b - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "partsort.pyx":1022 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] * if n0 == 0: # <<<<<<<<<<<<<< * return b * if (n < 1) or (n > n0): @@ -14428,8 +14376,8 @@ static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyOb __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1023 - * cdef Py_ssize_t n2 = dim[2] + /* "partsort.pyx":1019 + * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * return b # <<<<<<<<<<<<<< * if (n < 1) or (n > n0): @@ -14441,12 +14389,12 @@ static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":1024 + /* "partsort.pyx":1020 * if n0 == 0: * return b * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * l = 0 */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -14461,20 +14409,20 @@ static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyOb __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1025 + /* "partsort.pyx":1021 * return b * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * for i2 in range(n2): + * l = 0 + * r = n0 - 1 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -14482,263 +14430,258 @@ static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1026 + /* "partsort.pyx":1022 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * l = 0 + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_l = 0; - /* "partsort.pyx":1027 + /* "partsort.pyx":1023 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: + * while l < r: */ - __pyx_t_10 = __pyx_v_n2; - for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { - __pyx_v_i2 = __pyx_t_11; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":1028 - * for i1 in range(n1): - * for i2 in range(n2): - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * while l < r: + /* "partsort.pyx":1024 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_v_l = 0; + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { - /* "partsort.pyx":1029 - * for i2 in range(n2): - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[k, i1, i2] + /* "partsort.pyx":1025 + * r = n0 - 1 + * with nogil: + * while l < r: # <<<<<<<<<<<<<< + * x = b[k] + * i = l */ - __pyx_v_r = (__pyx_v_n0 - 1); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":1030 - * l = 0 - * r = n0 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1, i2] - * i = l + /* "partsort.pyx":1026 + * with nogil: + * while l < r: + * x = b[k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_t_8 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":1031 - * r = n0 - 1 - * while l < r: - * x = b[k, i1, i2] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "partsort.pyx":1027 + * while l < r: + * x = b[k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_t_12 = __pyx_v_k; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1032 - * while l < r: - * x = b[k, i1, i2] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":1028 + * x = b[k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i] < x: i += 1 */ - __pyx_v_i = __pyx_v_l; + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1033 - * x = b[k, i1, i2] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i, i1, i2] < x: i += 1 + /* "partsort.pyx":1029 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ - __pyx_v_j = __pyx_v_r; + while (1) { - /* "partsort.pyx":1034 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 + /* "partsort.pyx":1030 + * j = r + * while 1: + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 + * if i <= j: */ - while (1) { + while (1) { + __pyx_t_9 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":1035 - * j = r - * while 1: - * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: + /* "partsort.pyx":1031 + * while 1: + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i] */ - while (1) { - __pyx_t_15 = __pyx_v_i; - __pyx_t_16 = __pyx_v_i1; - __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_10 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":1036 - * while 1: - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i, i1, i2] + /* "partsort.pyx":1032 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i] + * b[i] = b[j] */ - while (1) { - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":1037 - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] + /* "partsort.pyx":1033 + * while x < b[j]: j -= 1 + * if i <= j: + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_11 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":1038 - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: - * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp + /* "partsort.pyx":1034 + * if i <= j: + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp + * i += 1 */ - __pyx_t_21 = __pyx_v_i; - __pyx_t_22 = __pyx_v_i1; - __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":1039 - * if i <= j: - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< - * b[j, i1, i2] = tmp - * i += 1 + /* "partsort.pyx":1035 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_24 = __pyx_v_j; - __pyx_t_25 = __pyx_v_i1; - __pyx_t_26 = __pyx_v_i2; - __pyx_t_27 = __pyx_v_i; - __pyx_t_28 = __pyx_v_i1; - __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_14 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "partsort.pyx":1040 - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":1036 + * b[i] = b[j] + * b[j] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1041 - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":1037 + * b[j] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L18; + } + __pyx_L18:; - /* "partsort.pyx":1042 - * b[j, i1, i2] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":1038 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L19; + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L13_break; + } } - __pyx_L19:; + __pyx_L13_break:; - /* "partsort.pyx":1043 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1039 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j + * return b */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); if (__pyx_t_3) { - goto __pyx_L14_break; + __pyx_v_l = __pyx_v_i; + goto __pyx_L20; } - } - __pyx_L14_break:; + __pyx_L20:; - /* "partsort.pyx":1044 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":1040 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b + * */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L21; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L21; + } + __pyx_L21:; } - __pyx_L21:; + } - /* "partsort.pyx":1045 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< - * return b - * + /* "partsort.pyx":1024 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L22; + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L9; } - __pyx_L22:; + __pyx_L9:; } - } } - /* "partsort.pyx":1046 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1041 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -14748,11 +14691,11 @@ static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1011 + /* "partsort.pyx":1009 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=0." + * def partsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -14767,7 +14710,7 @@ static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -14780,19 +14723,19 @@ static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":1050 +/* "partsort.pyx":1045 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=1." + * def partsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_49partsort_3d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_48partsort_3d_int64_axis1[] = "partsort_3d_int64_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_49partsort_3d_int64_axis1 = {"partsort_3d_int64_axis1", (PyCFunction)__pyx_pw_8partsort_49partsort_3d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_48partsort_3d_int64_axis1}; -static PyObject *__pyx_pw_8partsort_49partsort_3d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_49partsort_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_48partsort_2d_int_axis0[] = "partsort_2d_int_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_49partsort_2d_int_axis0 = {"partsort_2d_int_axis0", (PyCFunction)__pyx_pw_8partsort_49partsort_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_48partsort_2d_int_axis0}; +static PyObject *__pyx_pw_8partsort_49partsort_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -14800,7 +14743,7 @@ static PyObject *__pyx_pw_8partsort_49partsort_3d_int64_axis1(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_int_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -14821,11 +14764,11 @@ static PyObject *__pyx_pw_8partsort_49partsort_3d_int64_axis1(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -14834,18 +14777,18 @@ static PyObject *__pyx_pw_8partsort_49partsort_3d_int64_axis1(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_48partsort_3d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_48partsort_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -14856,21 +14799,19 @@ static PyObject *__pyx_pw_8partsort_49partsort_3d_int64_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_48partsort_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i2; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -14886,33 +14827,24 @@ static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyOb PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_10; Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_12; + Py_ssize_t __pyx_t_13; + npy_intp __pyx_t_14; Py_ssize_t __pyx_t_15; npy_intp __pyx_t_16; Py_ssize_t __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; Py_ssize_t __pyx_t_21; npy_intp __pyx_t_22; Py_ssize_t __pyx_t_23; - Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; - Py_ssize_t __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; - Py_ssize_t __pyx_t_29; - Py_ssize_t __pyx_t_30; - npy_intp __pyx_t_31; - Py_ssize_t __pyx_t_32; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int64_axis1", 0); + __Pyx_RefNannySetupContext("partsort_2d_int_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -14923,45 +14855,45 @@ static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":1052 - * def partsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int64 along axis=1." + /* "partsort.pyx":1047 + * def partsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1054 + /* "partsort.pyx":1049 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1057 - * cdef Py_ssize_t i0, i1, i2 + /* "partsort.pyx":1052 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -14969,49 +14901,40 @@ static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1058 + /* "partsort.pyx":1053 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1059 + /* "partsort.pyx":1054 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * if n1 == 0: + * if n0 == 0: + * return b */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":1060 + /* "partsort.pyx":1055 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * if n1 == 0: - * return b - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "partsort.pyx":1061 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] - * if n1 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1062 - * cdef Py_ssize_t n2 = dim[2] - * if n1 == 0: + /* "partsort.pyx":1056 + * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -15019,12 +14942,12 @@ static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":1063 - * if n1 == 0: + /* "partsort.pyx":1057 + * if n0 == 0: * return b - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -15034,25 +14957,25 @@ static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyOb goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1064 + /* "partsort.pyx":1058 * return b - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i2 in range(n2): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -15060,263 +14983,244 @@ static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1065 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * l = 0 + /* "partsort.pyx":1059 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_t_8 = __pyx_v_n0; + __pyx_t_8 = __pyx_v_n1; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_v_i1 = __pyx_t_9; - /* "partsort.pyx":1066 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + /* "partsort.pyx":1060 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * while l < r: */ - __pyx_t_10 = __pyx_v_n2; - for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { - __pyx_v_i2 = __pyx_t_11; + __pyx_v_l = 0; - /* "partsort.pyx":1067 - * for i0 in range(n0): - * for i2 in range(n2): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + /* "partsort.pyx":1061 + * for i1 in range(n1): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[k, i1] */ - __pyx_v_l = 0; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":1068 - * for i2 in range(n2): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k, i2] + /* "partsort.pyx":1062 + * l = 0 + * r = n0 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[k, i1] + * i = l */ - __pyx_v_r = (__pyx_v_n1 - 1); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":1069 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k, i2] - * i = l + /* "partsort.pyx":1063 + * r = n0 - 1 + * while l < r: + * x = b[k, i1] # <<<<<<<<<<<<<< + * i = l + * j = r */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_t_10 = __pyx_v_k; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1070 - * r = n1 - 1 - * while l < r: - * x = b[i0, k, i2] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "partsort.pyx":1064 + * while l < r: + * x = b[k, i1] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_k; - __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1071 - * while l < r: - * x = b[i0, k, i2] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":1065 + * x = b[k, i1] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i, i1] < x: i += 1 */ - __pyx_v_i = __pyx_v_l; + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1072 - * x = b[i0, k, i2] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i, i2] < x: i += 1 + /* "partsort.pyx":1066 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ - __pyx_v_j = __pyx_v_r; + while (1) { - /* "partsort.pyx":1073 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 + /* "partsort.pyx":1067 + * j = r + * while 1: + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 + * if i <= j: */ while (1) { + __pyx_t_12 = __pyx_v_i; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":1074 - * j = r - * while 1: - * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: - */ - while (1) { - __pyx_t_15 = __pyx_v_i0; - __pyx_t_16 = __pyx_v_i; - __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } - - /* "partsort.pyx":1075 - * while 1: - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i, i2] + /* "partsort.pyx":1068 + * while 1: + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i, i1] */ - while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_14 = __pyx_v_j; + __pyx_t_15 = __pyx_v_i1; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":1076 - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] + /* "partsort.pyx":1069 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":1077 - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: - * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp + /* "partsort.pyx":1070 + * while x < b[j, i1]: j -= 1 + * if i <= j: + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_21 = __pyx_v_i0; - __pyx_t_22 = __pyx_v_i; - __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_16 = __pyx_v_i; + __pyx_t_17 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1078 - * if i <= j: - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< - * b[i0, j, i2] = tmp - * i += 1 + /* "partsort.pyx":1071 + * if i <= j: + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp + * i += 1 */ - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_j; - __pyx_t_26 = __pyx_v_i2; - __pyx_t_27 = __pyx_v_i0; - __pyx_t_28 = __pyx_v_i; - __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1079 - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":1072 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":1080 - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":1073 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1081 - * b[i0, j, i2] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":1074 + * b[j, i1] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L19; - } - __pyx_L19:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L17; + } + __pyx_L17:; - /* "partsort.pyx":1082 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1075 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L14_break; - } + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L12_break; } - __pyx_L14_break:; + } + __pyx_L12_break:; - /* "partsort.pyx":1083 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":1076 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L21; - } - __pyx_L21:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L19; + } + __pyx_L19:; - /* "partsort.pyx":1084 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "partsort.pyx":1077 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L22; - } - __pyx_L22:; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L20; } + __pyx_L20:; } } - /* "partsort.pyx":1085 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1078 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -15326,11 +15230,11 @@ static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1050 + /* "partsort.pyx":1045 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=1." + * def partsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -15345,7 +15249,7 @@ static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -15358,19 +15262,19 @@ static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":1089 +/* "partsort.pyx":1082 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=2." + * def partsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_51partsort_3d_int64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_50partsort_3d_int64_axis2[] = "partsort_3d_int64_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=2."; -static PyMethodDef __pyx_mdef_8partsort_51partsort_3d_int64_axis2 = {"partsort_3d_int64_axis2", (PyCFunction)__pyx_pw_8partsort_51partsort_3d_int64_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_50partsort_3d_int64_axis2}; -static PyObject *__pyx_pw_8partsort_51partsort_3d_int64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_51partsort_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_50partsort_2d_int_axis1[] = "partsort_2d_int_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_51partsort_2d_int_axis1 = {"partsort_2d_int_axis1", (PyCFunction)__pyx_pw_8partsort_51partsort_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_50partsort_2d_int_axis1}; +static PyObject *__pyx_pw_8partsort_51partsort_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -15378,7 +15282,7 @@ static PyObject *__pyx_pw_8partsort_51partsort_3d_int64_axis2(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int64_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_int_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -15399,11 +15303,11 @@ static PyObject *__pyx_pw_8partsort_51partsort_3d_int64_axis2(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int64_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -15412,18 +15316,18 @@ static PyObject *__pyx_pw_8partsort_51partsort_3d_int64_axis2(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_50partsort_3d_int64_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_50partsort_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -15434,21 +15338,19 @@ static PyObject *__pyx_pw_8partsort_51partsort_3d_int64_axis2(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_50partsort_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -15465,32 +15367,23 @@ static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyOb Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_11; Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_15; Py_ssize_t __pyx_t_16; npy_intp __pyx_t_17; Py_ssize_t __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; Py_ssize_t __pyx_t_22; npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - Py_ssize_t __pyx_t_28; - npy_intp __pyx_t_29; - Py_ssize_t __pyx_t_30; - Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int64_axis2", 0); + __Pyx_RefNannySetupContext("partsort_2d_int_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -15501,45 +15394,45 @@ static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":1091 - * def partsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int64 along axis=2." + /* "partsort.pyx":1084 + * def partsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1093 + /* "partsort.pyx":1086 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1093; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1093; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1093; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1096 - * cdef Py_ssize_t i0, i1, i2 + /* "partsort.pyx":1089 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -15547,49 +15440,40 @@ static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1097 + /* "partsort.pyx":1090 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * if n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1098 + /* "partsort.pyx":1091 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * if n2 == 0: + * if n1 == 0: + * return b */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":1099 + /* "partsort.pyx":1092 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * if n2 == 0: - * return b - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "partsort.pyx":1100 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] - * if n2 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n2): + * if (n < 1) or (n > n1): */ - __pyx_t_3 = ((__pyx_v_n2 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1101 - * cdef Py_ssize_t n2 = dim[2] - * if n2 == 0: + /* "partsort.pyx":1093 + * cdef Py_ssize_t n1 = dim[1] + * if n1 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -15597,11 +15481,11 @@ static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":1102 - * if n2 == 0: + /* "partsort.pyx":1094 + * if n1 == 0: * return b - * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); @@ -15612,25 +15496,25 @@ static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyOb goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n2) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1103 + /* "partsort.pyx":1095 * return b - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -15638,263 +15522,244 @@ static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1104 - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) + /* "partsort.pyx":1096 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * l = 0 + * l = 0 + * r = n1 - 1 */ __pyx_t_8 = __pyx_v_n0; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":1105 - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * l = 0 - * r = n2 - 1 - */ - __pyx_t_10 = __pyx_v_n1; - for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { - __pyx_v_i1 = __pyx_t_11; - - /* "partsort.pyx":1106 + /* "partsort.pyx":1097 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): - * for i1 in range(n1): - * l = 0 # <<<<<<<<<<<<<< - * r = n2 - 1 - * while l < r: - */ - __pyx_v_l = 0; - - /* "partsort.pyx":1107 - * for i1 in range(n1): - * l = 0 - * r = n2 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, i1, k] + * l = 0 # <<<<<<<<<<<<<< + * r = n1 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n2 - 1); + __pyx_v_l = 0; - /* "partsort.pyx":1108 - * l = 0 - * r = n2 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, i1, k] - * i = l + /* "partsort.pyx":1098 + * for i0 in range(n0): + * l = 0 + * r = n1 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[i0, k] */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":1109 - * r = n2 - 1 - * while l < r: - * x = b[i0, i1, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "partsort.pyx":1099 + * l = 0 + * r = n1 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[i0, k] + * i = l */ - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_14 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":1110 - * while l < r: - * x = b[i0, i1, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":1100 + * r = n1 - 1 + * while l < r: + * x = b[i0, k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1111 - * x = b[i0, i1, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i1, i] < x: i += 1 + /* "partsort.pyx":1101 + * while l < r: + * x = b[i0, k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1112 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 + /* "partsort.pyx":1102 + * x = b[i0, k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i0, i] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1113 - * j = r - * while 1: - * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: + /* "partsort.pyx":1103 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ - while (1) { - __pyx_t_15 = __pyx_v_i0; - __pyx_t_16 = __pyx_v_i1; - __pyx_t_17 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { - /* "partsort.pyx":1114 - * while 1: - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i1, i] + /* "partsort.pyx":1104 + * j = r + * while 1: + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":1115 - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] + /* "partsort.pyx":1105 + * while 1: + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i0, i] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + while (1) { + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":1116 - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp + /* "partsort.pyx":1106 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ - __pyx_t_21 = __pyx_v_i0; - __pyx_t_22 = __pyx_v_i1; - __pyx_t_23 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":1117 - * if i <= j: - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< - * b[i0, i1, j] = tmp - * i += 1 + /* "partsort.pyx":1107 + * while x < b[i0, j]: j -= 1 + * if i <= j: + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i1; - __pyx_t_26 = __pyx_v_j; - __pyx_t_27 = __pyx_v_i0; - __pyx_t_28 = __pyx_v_i1; - __pyx_t_29 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1118 - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":1108 + * if i <= j: + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp + * i += 1 */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1119 - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":1109 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":1120 - * b[i0, i1, j] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":1110 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L19; - } - __pyx_L19:; + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1121 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1111 + * b[i0, j] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L14_break; - } + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L17; } - __pyx_L14_break:; + __pyx_L17:; - /* "partsort.pyx":1122 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j - * return b + /* "partsort.pyx":1112 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L21; + goto __pyx_L12_break; } - __pyx_L21:; + } + __pyx_L12_break:; - /* "partsort.pyx":1123 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "partsort.pyx":1113 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j + * return b + */ + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L19; + } + __pyx_L19:; + + /* "partsort.pyx":1114 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L22; - } - __pyx_L22:; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L20; } + __pyx_L20:; } } - /* "partsort.pyx":1124 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1115 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -15904,11 +15769,11 @@ static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1089 + /* "partsort.pyx":1082 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=2." + * def partsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -15923,7 +15788,7 @@ static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -15936,19 +15801,19 @@ static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":1128 +/* "partsort.pyx":1119 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float along axis=0." + * def partsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_53partsort_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_52partsort_1d_float_axis0[] = "partsort_1d_float_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_53partsort_1d_float_axis0 = {"partsort_1d_float_axis0", (PyCFunction)__pyx_pw_8partsort_53partsort_1d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_52partsort_1d_float_axis0}; -static PyObject *__pyx_pw_8partsort_53partsort_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_53partsort_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_52partsort_2d_int8_axis0[] = "partsort_2d_int8_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_53partsort_2d_int8_axis0 = {"partsort_2d_int8_axis0", (PyCFunction)__pyx_pw_8partsort_53partsort_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_52partsort_2d_int8_axis0}; +static PyObject *__pyx_pw_8partsort_53partsort_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -15956,7 +15821,7 @@ static PyObject *__pyx_pw_8partsort_53partsort_1d_float_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_1d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_int8_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -15977,11 +15842,11 @@ static PyObject *__pyx_pw_8partsort_53partsort_1d_float_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_1d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -15990,18 +15855,18 @@ static PyObject *__pyx_pw_8partsort_53partsort_1d_float_axis0(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_1d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_52partsort_1d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_52partsort_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -16012,17 +15877,19 @@ static PyObject *__pyx_pw_8partsort_53partsort_1d_float_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_52partsort_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -16036,17 +15903,26 @@ static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyOb PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; - npy_intp __pyx_t_8; - npy_intp __pyx_t_9; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; npy_intp __pyx_t_10; - npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_11; npy_intp __pyx_t_12; - npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_13; npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_15; + npy_intp __pyx_t_16; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_1d_float_axis0", 0); + __Pyx_RefNannySetupContext("partsort_2d_int8_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -16057,64 +15933,73 @@ static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":1130 - * def partsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=float along axis=0." + /* "partsort.pyx":1121 + * def partsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1132 + /* "partsort.pyx":1123 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1135 - * cdef Py_ssize_t i0 + /* "partsort.pyx":1126 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1136 + /* "partsort.pyx":1127 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * if n0 == 0: - * return b */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1137 + /* "partsort.pyx":1128 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * if n0 == 0: + * return b + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "partsort.pyx":1129 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * if n0 == 0: # <<<<<<<<<<<<<< * return b * if (n < 1) or (n > n0): @@ -16122,8 +16007,8 @@ static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1138 - * cdef Py_ssize_t n0 = dim[0] + /* "partsort.pyx":1130 + * cdef Py_ssize_t n1 = dim[1] * if n0 == 0: * return b # <<<<<<<<<<<<<< * if (n < 1) or (n > n0): @@ -16135,12 +16020,12 @@ static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":1139 + /* "partsort.pyx":1131 * if n0 == 0: * return b * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 + * for i1 in range(n1): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -16155,20 +16040,20 @@ static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1140 + /* "partsort.pyx":1132 * return b * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * for i1 in range(n1): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -16176,256 +16061,242 @@ static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1141 + /* "partsort.pyx":1133 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_v_l = 0; + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "partsort.pyx":1142 + /* "partsort.pyx":1134 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "partsort.pyx":1143 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "partsort.pyx":1135 + * for i1 in range(n1): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[k, i1] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":1144 - * r = n0 - 1 - * with nogil: + /* "partsort.pyx":1136 + * l = 0 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[k, i1] * i = l */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":1145 - * with nogil: + /* "partsort.pyx":1137 + * r = n0 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_10 = __pyx_v_k; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1146 + /* "partsort.pyx":1138 * while l < r: - * x = b[k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1147 - * x = b[k] + /* "partsort.pyx":1139 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1148 + /* "partsort.pyx":1140 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ - while (1) { + while (1) { - /* "partsort.pyx":1149 + /* "partsort.pyx":1141 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_12 = __pyx_v_i; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":1150 + /* "partsort.pyx":1142 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i, i1] */ - while (1) { - __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_14 = __pyx_v_j; + __pyx_t_15 = __pyx_v_i1; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":1151 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "partsort.pyx":1143 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":1152 - * while x < b[j]: j -= 1 + /* "partsort.pyx":1144 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_16 = __pyx_v_i; + __pyx_t_17 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1153 + /* "partsort.pyx":1145 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp * i += 1 */ - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1154 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":1146 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":1155 - * b[i] = b[j] - * b[j] = tmp + /* "partsort.pyx":1147 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1156 - * b[j] = tmp + /* "partsort.pyx":1148 + * b[j, i1] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L18; - } - __pyx_L18:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L17; + } + __pyx_L17:; - /* "partsort.pyx":1157 + /* "partsort.pyx":1149 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L13_break; - } - } - __pyx_L13_break:; + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L12_break; + } + } + __pyx_L12_break:; - /* "partsort.pyx":1158 + /* "partsort.pyx":1150 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L20; - } - __pyx_L20:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L19; + } + __pyx_L19:; - /* "partsort.pyx":1159 + /* "partsort.pyx":1151 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L21; - } - __pyx_L21:; - } - } - - /* "partsort.pyx":1143 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] - */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L9; - } - __pyx_L9:; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L20; } + __pyx_L20:; + } } - /* "partsort.pyx":1160 + /* "partsort.pyx":1152 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -16437,11 +16308,11 @@ static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1128 + /* "partsort.pyx":1119 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float along axis=0." + * def partsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -16456,7 +16327,7 @@ static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -16469,19 +16340,19 @@ static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":1164 +/* "partsort.pyx":1156 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float32 along axis=0." + * def partsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_55partsort_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_54partsort_1d_float32_axis0[] = "partsort_1d_float32_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_55partsort_1d_float32_axis0 = {"partsort_1d_float32_axis0", (PyCFunction)__pyx_pw_8partsort_55partsort_1d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_54partsort_1d_float32_axis0}; -static PyObject *__pyx_pw_8partsort_55partsort_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_55partsort_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_54partsort_2d_int8_axis1[] = "partsort_2d_int8_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int8 along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_55partsort_2d_int8_axis1 = {"partsort_2d_int8_axis1", (PyCFunction)__pyx_pw_8partsort_55partsort_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_54partsort_2d_int8_axis1}; +static PyObject *__pyx_pw_8partsort_55partsort_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -16489,7 +16360,7 @@ static PyObject *__pyx_pw_8partsort_55partsort_1d_float32_axis0(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_1d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_int8_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -16510,11 +16381,11 @@ static PyObject *__pyx_pw_8partsort_55partsort_1d_float32_axis0(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_1d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -16523,18 +16394,18 @@ static PyObject *__pyx_pw_8partsort_55partsort_1d_float32_axis0(PyObject *__pyx_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_1d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_54partsort_1d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_54partsort_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -16545,17 +16416,19 @@ static PyObject *__pyx_pw_8partsort_55partsort_1d_float32_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_54partsort_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_54partsort_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -16569,17 +16442,26 @@ static PyObject *__pyx_pf_8partsort_54partsort_1d_float32_axis0(CYTHON_UNUSED Py PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; - npy_intp __pyx_t_8; - npy_intp __pyx_t_9; - npy_intp __pyx_t_10; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; npy_intp __pyx_t_11; - npy_intp __pyx_t_12; + Py_ssize_t __pyx_t_12; npy_intp __pyx_t_13; - npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_1d_float32_axis0", 0); + __Pyx_RefNannySetupContext("partsort_2d_int8_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -16590,77 +16472,86 @@ static PyObject *__pyx_pf_8partsort_54partsort_1d_float32_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":1166 - * def partsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=float32 along axis=0." + /* "partsort.pyx":1158 + * def partsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1168 + /* "partsort.pyx":1160 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1171 - * cdef Py_ssize_t i0 + /* "partsort.pyx":1163 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1172 + /* "partsort.pyx":1164 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * return b + * cdef Py_ssize_t n1 = dim[1] + * if n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1173 + /* "partsort.pyx":1165 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * if n1 == 0: * return b - * if (n < 1) or (n > n0): */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_3) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":1174 + /* "partsort.pyx":1166 * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] + * if n1 == 0: # <<<<<<<<<<<<<< + * return b + * if (n < 1) or (n > n1): + */ + __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_3) { + + /* "partsort.pyx":1167 + * cdef Py_ssize_t n1 = dim[1] + * if n1 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -16668,12 +16559,12 @@ static PyObject *__pyx_pf_8partsort_54partsort_1d_float32_axis0(CYTHON_UNUSED Py goto __pyx_L0; } - /* "partsort.pyx":1175 - * if n0 == 0: + /* "partsort.pyx":1168 + * if n1 == 0: * return b - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -16683,25 +16574,25 @@ static PyObject *__pyx_pf_8partsort_54partsort_1d_float32_axis0(CYTHON_UNUSED Py goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1176 + /* "partsort.pyx":1169 * return b - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -16709,256 +16600,242 @@ static PyObject *__pyx_pf_8partsort_54partsort_1d_float32_axis0(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1177 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + /* "partsort.pyx":1170 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * l = 0 + * r = n1 - 1 */ - __pyx_v_l = 0; + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":1178 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + /* "partsort.pyx":1171 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): + * l = 0 # <<<<<<<<<<<<<< + * r = n1 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "partsort.pyx":1179 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "partsort.pyx":1172 + * for i0 in range(n0): + * l = 0 + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[i0, k] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":1180 - * r = n0 - 1 - * with nogil: + /* "partsort.pyx":1173 + * l = 0 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[i0, k] * i = l */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":1181 - * with nogil: + /* "partsort.pyx":1174 + * r = n1 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1182 + /* "partsort.pyx":1175 * while l < r: - * x = b[k] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1183 - * x = b[k] + /* "partsort.pyx":1176 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i0, i] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1184 + /* "partsort.pyx":1177 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ - while (1) { + while (1) { - /* "partsort.pyx":1185 + /* "partsort.pyx":1178 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":1186 + /* "partsort.pyx":1179 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i0, i] */ - while (1) { - __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":1187 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "partsort.pyx":1180 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":1188 - * while x < b[j]: j -= 1 + /* "partsort.pyx":1181 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1189 + /* "partsort.pyx":1182 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp * i += 1 */ - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1190 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":1183 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":1191 - * b[i] = b[j] - * b[j] = tmp + /* "partsort.pyx":1184 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1192 - * b[j] = tmp + /* "partsort.pyx":1185 + * b[i0, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L18; - } - __pyx_L18:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L17; + } + __pyx_L17:; - /* "partsort.pyx":1193 + /* "partsort.pyx":1186 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L13_break; - } - } - __pyx_L13_break:; + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L12_break; + } + } + __pyx_L12_break:; - /* "partsort.pyx":1194 + /* "partsort.pyx":1187 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L20; - } - __pyx_L20:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L19; + } + __pyx_L19:; - /* "partsort.pyx":1195 + /* "partsort.pyx":1188 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L21; - } - __pyx_L21:; - } - } - - /* "partsort.pyx":1179 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] - */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L9; - } - __pyx_L9:; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L20; } + __pyx_L20:; + } } - /* "partsort.pyx":1196 + /* "partsort.pyx":1189 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -16970,11 +16847,11 @@ static PyObject *__pyx_pf_8partsort_54partsort_1d_float32_axis0(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1164 + /* "partsort.pyx":1156 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float32 along axis=0." + * def partsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -16989,7 +16866,7 @@ static PyObject *__pyx_pf_8partsort_54partsort_1d_float32_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -17002,19 +16879,19 @@ static PyObject *__pyx_pf_8partsort_54partsort_1d_float32_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "partsort.pyx":1200 +/* "partsort.pyx":1193 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float64 along axis=0." + * def partsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_57partsort_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_56partsort_1d_float64_axis0[] = "partsort_1d_float64_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_57partsort_1d_float64_axis0 = {"partsort_1d_float64_axis0", (PyCFunction)__pyx_pw_8partsort_57partsort_1d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_56partsort_1d_float64_axis0}; -static PyObject *__pyx_pw_8partsort_57partsort_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_57partsort_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_56partsort_2d_int32_axis0[] = "partsort_2d_int32_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_57partsort_2d_int32_axis0 = {"partsort_2d_int32_axis0", (PyCFunction)__pyx_pw_8partsort_57partsort_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_56partsort_2d_int32_axis0}; +static PyObject *__pyx_pw_8partsort_57partsort_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -17022,7 +16899,7 @@ static PyObject *__pyx_pw_8partsort_57partsort_1d_float64_axis0(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_1d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_int32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -17043,11 +16920,11 @@ static PyObject *__pyx_pw_8partsort_57partsort_1d_float64_axis0(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_1d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -17056,18 +16933,18 @@ static PyObject *__pyx_pw_8partsort_57partsort_1d_float64_axis0(PyObject *__pyx_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_1d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_56partsort_1d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_56partsort_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -17078,17 +16955,19 @@ static PyObject *__pyx_pw_8partsort_57partsort_1d_float64_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_56partsort_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -17102,17 +16981,26 @@ static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED Py PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; - npy_intp __pyx_t_8; - npy_intp __pyx_t_9; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; npy_intp __pyx_t_10; - npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_11; npy_intp __pyx_t_12; - npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_13; npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_15; + npy_intp __pyx_t_16; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_1d_float64_axis0", 0); + __Pyx_RefNannySetupContext("partsort_2d_int32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -17123,64 +17011,73 @@ static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":1202 - * def partsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=float64 along axis=0." + /* "partsort.pyx":1195 + * def partsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1204 + /* "partsort.pyx":1197 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1207 - * cdef Py_ssize_t i0 + /* "partsort.pyx":1200 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1208 + /* "partsort.pyx":1201 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * if n0 == 0: - * return b */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1209 + /* "partsort.pyx":1202 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * if n0 == 0: + * return b + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "partsort.pyx":1203 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * if n0 == 0: # <<<<<<<<<<<<<< * return b * if (n < 1) or (n > n0): @@ -17188,8 +17085,8 @@ static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED Py __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1210 - * cdef Py_ssize_t n0 = dim[0] + /* "partsort.pyx":1204 + * cdef Py_ssize_t n1 = dim[1] * if n0 == 0: * return b # <<<<<<<<<<<<<< * if (n < 1) or (n > n0): @@ -17201,12 +17098,12 @@ static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED Py goto __pyx_L0; } - /* "partsort.pyx":1211 + /* "partsort.pyx":1205 * if n0 == 0: * return b * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 + * for i1 in range(n1): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -17221,20 +17118,20 @@ static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED Py __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1212 + /* "partsort.pyx":1206 * return b * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * for i1 in range(n1): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -17242,256 +17139,242 @@ static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1213 + /* "partsort.pyx":1207 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_v_l = 0; + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "partsort.pyx":1214 + /* "partsort.pyx":1208 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "partsort.pyx":1215 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "partsort.pyx":1209 + * for i1 in range(n1): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[k, i1] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":1216 - * r = n0 - 1 - * with nogil: + /* "partsort.pyx":1210 + * l = 0 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[k, i1] * i = l */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":1217 - * with nogil: + /* "partsort.pyx":1211 + * r = n0 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_10 = __pyx_v_k; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1218 + /* "partsort.pyx":1212 * while l < r: - * x = b[k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1219 - * x = b[k] + /* "partsort.pyx":1213 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1220 + /* "partsort.pyx":1214 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ - while (1) { + while (1) { - /* "partsort.pyx":1221 + /* "partsort.pyx":1215 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_12 = __pyx_v_i; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":1222 + /* "partsort.pyx":1216 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i, i1] */ - while (1) { - __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_14 = __pyx_v_j; + __pyx_t_15 = __pyx_v_i1; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":1223 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "partsort.pyx":1217 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":1224 - * while x < b[j]: j -= 1 + /* "partsort.pyx":1218 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_16 = __pyx_v_i; + __pyx_t_17 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1225 + /* "partsort.pyx":1219 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp * i += 1 */ - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1226 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":1220 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":1227 - * b[i] = b[j] - * b[j] = tmp + /* "partsort.pyx":1221 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1228 - * b[j] = tmp + /* "partsort.pyx":1222 + * b[j, i1] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L18; - } - __pyx_L18:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L17; + } + __pyx_L17:; - /* "partsort.pyx":1229 + /* "partsort.pyx":1223 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L13_break; - } - } - __pyx_L13_break:; + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L12_break; + } + } + __pyx_L12_break:; - /* "partsort.pyx":1230 + /* "partsort.pyx":1224 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L20; - } - __pyx_L20:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L19; + } + __pyx_L19:; - /* "partsort.pyx":1231 + /* "partsort.pyx":1225 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L21; - } - __pyx_L21:; - } - } - - /* "partsort.pyx":1215 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] - */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L9; - } - __pyx_L9:; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L20; } + __pyx_L20:; + } } - /* "partsort.pyx":1232 + /* "partsort.pyx":1226 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -17503,11 +17386,11 @@ static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1200 + /* "partsort.pyx":1193 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float64 along axis=0." + * def partsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -17522,7 +17405,7 @@ static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -17535,19 +17418,19 @@ static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "partsort.pyx":1236 +/* "partsort.pyx":1230 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=0." + * def partsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_59partsort_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_58partsort_2d_float_axis0[] = "partsort_2d_float_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_59partsort_2d_float_axis0 = {"partsort_2d_float_axis0", (PyCFunction)__pyx_pw_8partsort_59partsort_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_58partsort_2d_float_axis0}; -static PyObject *__pyx_pw_8partsort_59partsort_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_59partsort_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_58partsort_2d_int32_axis1[] = "partsort_2d_int32_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int32 along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_59partsort_2d_int32_axis1 = {"partsort_2d_int32_axis1", (PyCFunction)__pyx_pw_8partsort_59partsort_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_58partsort_2d_int32_axis1}; +static PyObject *__pyx_pw_8partsort_59partsort_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -17555,7 +17438,7 @@ static PyObject *__pyx_pw_8partsort_59partsort_2d_float_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_int32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -17576,11 +17459,11 @@ static PyObject *__pyx_pw_8partsort_59partsort_2d_float_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -17589,18 +17472,18 @@ static PyObject *__pyx_pw_8partsort_59partsort_2d_float_axis0(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_58partsort_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_58partsort_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -17611,16 +17494,16 @@ static PyObject *__pyx_pw_8partsort_59partsort_2d_float_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_58partsort_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -17639,24 +17522,24 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - npy_intp __pyx_t_10; - Py_ssize_t __pyx_t_11; - npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; - npy_intp __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; + Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_float_axis0", 0); + __Pyx_RefNannySetupContext("partsort_2d_int32_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -17667,36 +17550,36 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":1238 - * def partsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float along axis=0." + /* "partsort.pyx":1232 + * def partsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1240 + /* "partsort.pyx":1234 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -17704,7 +17587,7 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1243 + /* "partsort.pyx":1237 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -17713,40 +17596,40 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1244 + /* "partsort.pyx":1238 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * if n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1245 + /* "partsort.pyx":1239 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 == 0: + * if n1 == 0: * return b */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":1246 + /* "partsort.pyx":1240 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1247 + /* "partsort.pyx":1241 * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * if n1 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -17754,12 +17637,12 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":1248 - * if n0 == 0: + /* "partsort.pyx":1242 + * if n1 == 0: * return b - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -17769,25 +17652,25 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1249 + /* "partsort.pyx":1243 * return b - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -17795,187 +17678,187 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1250 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "partsort.pyx":1244 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_t_8 = __pyx_v_n1; + __pyx_t_8 = __pyx_v_n0; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":1251 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + /* "partsort.pyx":1245 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "partsort.pyx":1252 - * for i1 in range(n1): + /* "partsort.pyx":1246 + * for i0 in range(n0): * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":1253 + /* "partsort.pyx":1247 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":1254 - * r = n0 - 1 + /* "partsort.pyx":1248 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_10 = __pyx_v_k; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1255 + /* "partsort.pyx":1249 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1256 - * x = b[k, i1] + /* "partsort.pyx":1250 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1257 + /* "partsort.pyx":1251 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "partsort.pyx":1258 + /* "partsort.pyx":1252 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_12 = __pyx_v_i; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":1259 + /* "partsort.pyx":1253 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_14 = __pyx_v_j; - __pyx_t_15 = __pyx_v_i1; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":1260 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":1254 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1261 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":1255 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_16 = __pyx_v_i; - __pyx_t_17 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1262 + /* "partsort.pyx":1256 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp * i += 1 */ - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1263 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":1257 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":1264 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "partsort.pyx":1258 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1265 - * b[j, i1] = tmp + /* "partsort.pyx":1259 + * b[i0, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -17986,7 +17869,7 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb } __pyx_L17:; - /* "partsort.pyx":1266 + /* "partsort.pyx":1260 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -18000,7 +17883,7 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb } __pyx_L12_break:; - /* "partsort.pyx":1267 + /* "partsort.pyx":1261 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -18014,7 +17897,7 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb } __pyx_L19:; - /* "partsort.pyx":1268 + /* "partsort.pyx":1262 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -18030,7 +17913,7 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb } } - /* "partsort.pyx":1269 + /* "partsort.pyx":1263 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -18042,11 +17925,11 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1236 + /* "partsort.pyx":1230 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=0." + * def partsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -18061,7 +17944,7 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -18074,19 +17957,19 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":1273 +/* "partsort.pyx":1267 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=1." + * def partsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_61partsort_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_60partsort_2d_float_axis1[] = "partsort_2d_float_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_61partsort_2d_float_axis1 = {"partsort_2d_float_axis1", (PyCFunction)__pyx_pw_8partsort_61partsort_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_60partsort_2d_float_axis1}; -static PyObject *__pyx_pw_8partsort_61partsort_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_61partsort_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_60partsort_2d_int64_axis0[] = "partsort_2d_int64_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_61partsort_2d_int64_axis0 = {"partsort_2d_int64_axis0", (PyCFunction)__pyx_pw_8partsort_61partsort_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_60partsort_2d_int64_axis0}; +static PyObject *__pyx_pw_8partsort_61partsort_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -18094,7 +17977,7 @@ static PyObject *__pyx_pw_8partsort_61partsort_2d_float_axis1(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_int64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -18115,11 +17998,11 @@ static PyObject *__pyx_pw_8partsort_61partsort_2d_float_axis1(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -18128,18 +18011,18 @@ static PyObject *__pyx_pw_8partsort_61partsort_2d_float_axis1(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_60partsort_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_60partsort_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -18150,16 +18033,16 @@ static PyObject *__pyx_pw_8partsort_61partsort_2d_float_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_60partsort_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -18178,24 +18061,24 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - npy_intp __pyx_t_11; - Py_ssize_t __pyx_t_12; - npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; - npy_intp __pyx_t_15; - Py_ssize_t __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; + npy_intp __pyx_t_10; + Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_12; + Py_ssize_t __pyx_t_13; + npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_15; + npy_intp __pyx_t_16; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_float_axis1", 0); + __Pyx_RefNannySetupContext("partsort_2d_int64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -18206,36 +18089,36 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":1275 - * def partsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float along axis=1." + /* "partsort.pyx":1269 + * def partsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1277 + /* "partsort.pyx":1271 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -18243,7 +18126,7 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1280 + /* "partsort.pyx":1274 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -18252,40 +18135,40 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1281 + /* "partsort.pyx":1275 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * if n0 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1282 + /* "partsort.pyx":1276 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n1 == 0: + * if n0 == 0: * return b */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":1283 + /* "partsort.pyx":1277 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1284 + /* "partsort.pyx":1278 * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * if n0 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -18293,12 +18176,12 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":1285 - * if n1 == 0: + /* "partsort.pyx":1279 + * if n0 == 0: * return b - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -18308,25 +18191,25 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1286 + /* "partsort.pyx":1280 * return b - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -18334,187 +18217,187 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1287 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "partsort.pyx":1281 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< * l = 0 - * r = n1 - 1 + * r = n0 - 1 */ - __pyx_t_8 = __pyx_v_n0; + __pyx_t_8 = __pyx_v_n1; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_v_i1 = __pyx_t_9; - /* "partsort.pyx":1288 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + /* "partsort.pyx":1282 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 + * r = n0 - 1 * while l < r: */ __pyx_v_l = 0; - /* "partsort.pyx":1289 - * for i0 in range(n0): + /* "partsort.pyx":1283 + * for i1 in range(n1): * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[i0, k] + * x = b[k, i1] */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":1290 + /* "partsort.pyx":1284 * l = 0 - * r = n1 - 1 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] + * x = b[k, i1] * i = l */ while (1) { __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":1291 - * r = n1 - 1 + /* "partsort.pyx":1285 + * r = n0 - 1 * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_k; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1292 + /* "partsort.pyx":1286 * while l < r: - * x = b[i0, k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1293 - * x = b[i0, k] + /* "partsort.pyx":1287 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i0, i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1294 + /* "partsort.pyx":1288 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ while (1) { - /* "partsort.pyx":1295 + /* "partsort.pyx":1289 * j = r * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_12 = __pyx_v_i; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":1296 + /* "partsort.pyx":1290 * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i0, i] + * tmp = b[i, i1] */ while (1) { - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_14 = __pyx_v_j; + __pyx_t_15 = __pyx_v_i1; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":1297 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "partsort.pyx":1291 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1298 - * while x < b[i0, j]: j -= 1 + /* "partsort.pyx":1292 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i; + __pyx_t_17 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1299 + /* "partsort.pyx":1293 * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp * i += 1 */ - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1300 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":1294 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":1301 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "partsort.pyx":1295 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1302 - * b[i0, j] = tmp + /* "partsort.pyx":1296 + * b[j, i1] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -18525,7 +18408,7 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb } __pyx_L17:; - /* "partsort.pyx":1303 + /* "partsort.pyx":1297 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -18539,7 +18422,7 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb } __pyx_L12_break:; - /* "partsort.pyx":1304 + /* "partsort.pyx":1298 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -18553,7 +18436,7 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb } __pyx_L19:; - /* "partsort.pyx":1305 + /* "partsort.pyx":1299 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -18569,7 +18452,7 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb } } - /* "partsort.pyx":1306 + /* "partsort.pyx":1300 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -18581,11 +18464,11 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1273 + /* "partsort.pyx":1267 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=1." + * def partsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -18600,7 +18483,7 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -18613,19 +18496,19 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":1310 +/* "partsort.pyx":1304 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=0." + * def partsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_63partsort_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_62partsort_2d_float32_axis0[] = "partsort_2d_float32_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_63partsort_2d_float32_axis0 = {"partsort_2d_float32_axis0", (PyCFunction)__pyx_pw_8partsort_63partsort_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_62partsort_2d_float32_axis0}; -static PyObject *__pyx_pw_8partsort_63partsort_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_63partsort_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_62partsort_2d_int64_axis1[] = "partsort_2d_int64_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int64 along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_63partsort_2d_int64_axis1 = {"partsort_2d_int64_axis1", (PyCFunction)__pyx_pw_8partsort_63partsort_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_62partsort_2d_int64_axis1}; +static PyObject *__pyx_pw_8partsort_63partsort_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -18633,7 +18516,7 @@ static PyObject *__pyx_pw_8partsort_63partsort_2d_float32_axis0(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_int64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -18654,11 +18537,11 @@ static PyObject *__pyx_pw_8partsort_63partsort_2d_float32_axis0(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -18667,18 +18550,18 @@ static PyObject *__pyx_pw_8partsort_63partsort_2d_float32_axis0(PyObject *__pyx_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_62partsort_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_62partsort_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -18689,16 +18572,16 @@ static PyObject *__pyx_pw_8partsort_63partsort_2d_float32_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_62partsort_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -18717,24 +18600,24 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - npy_intp __pyx_t_10; - Py_ssize_t __pyx_t_11; - npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; - npy_intp __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; + Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_float32_axis0", 0); + __Pyx_RefNannySetupContext("partsort_2d_int64_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -18745,36 +18628,36 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":1312 - * def partsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float32 along axis=0." + /* "partsort.pyx":1306 + * def partsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1314 + /* "partsort.pyx":1308 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -18782,7 +18665,7 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1317 + /* "partsort.pyx":1311 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -18791,40 +18674,40 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1318 + /* "partsort.pyx":1312 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * if n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1319 + /* "partsort.pyx":1313 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 == 0: + * if n1 == 0: * return b */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":1320 + /* "partsort.pyx":1314 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1321 + /* "partsort.pyx":1315 * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * if n1 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -18832,12 +18715,12 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py goto __pyx_L0; } - /* "partsort.pyx":1322 - * if n0 == 0: + /* "partsort.pyx":1316 + * if n1 == 0: * return b - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -18847,25 +18730,25 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1323 + /* "partsort.pyx":1317 * return b - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -18873,187 +18756,187 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1324 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "partsort.pyx":1318 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_t_8 = __pyx_v_n1; + __pyx_t_8 = __pyx_v_n0; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":1325 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + /* "partsort.pyx":1319 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "partsort.pyx":1326 - * for i1 in range(n1): + /* "partsort.pyx":1320 + * for i0 in range(n0): * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":1327 + /* "partsort.pyx":1321 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":1328 - * r = n0 - 1 + /* "partsort.pyx":1322 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_10 = __pyx_v_k; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1329 + /* "partsort.pyx":1323 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1330 - * x = b[k, i1] + /* "partsort.pyx":1324 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1331 + /* "partsort.pyx":1325 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "partsort.pyx":1332 + /* "partsort.pyx":1326 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_12 = __pyx_v_i; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":1333 + /* "partsort.pyx":1327 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_14 = __pyx_v_j; - __pyx_t_15 = __pyx_v_i1; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":1334 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":1328 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1335 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":1329 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_16 = __pyx_v_i; - __pyx_t_17 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1336 + /* "partsort.pyx":1330 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp * i += 1 */ - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1337 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":1331 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":1338 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "partsort.pyx":1332 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1339 - * b[j, i1] = tmp + /* "partsort.pyx":1333 + * b[i0, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -19064,7 +18947,7 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py } __pyx_L17:; - /* "partsort.pyx":1340 + /* "partsort.pyx":1334 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -19078,7 +18961,7 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py } __pyx_L12_break:; - /* "partsort.pyx":1341 + /* "partsort.pyx":1335 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -19092,7 +18975,7 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py } __pyx_L19:; - /* "partsort.pyx":1342 + /* "partsort.pyx":1336 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -19108,7 +18991,7 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py } } - /* "partsort.pyx":1343 + /* "partsort.pyx":1337 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -19120,11 +19003,11 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1310 + /* "partsort.pyx":1304 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=0." + * def partsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -19139,7 +19022,7 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -19152,19 +19035,19 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "partsort.pyx":1347 +/* "partsort.pyx":1341 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=1." + * def partsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_65partsort_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_64partsort_2d_float32_axis1[] = "partsort_2d_float32_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float32 along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_65partsort_2d_float32_axis1 = {"partsort_2d_float32_axis1", (PyCFunction)__pyx_pw_8partsort_65partsort_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_64partsort_2d_float32_axis1}; -static PyObject *__pyx_pw_8partsort_65partsort_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_65partsort_3d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_64partsort_3d_int_axis0[] = "partsort_3d_int_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_65partsort_3d_int_axis0 = {"partsort_3d_int_axis0", (PyCFunction)__pyx_pw_8partsort_65partsort_3d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_64partsort_3d_int_axis0}; +static PyObject *__pyx_pw_8partsort_65partsort_3d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -19172,7 +19055,7 @@ static PyObject *__pyx_pw_8partsort_65partsort_2d_float32_axis1(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -19193,11 +19076,11 @@ static PyObject *__pyx_pw_8partsort_65partsort_2d_float32_axis1(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -19206,18 +19089,18 @@ static PyObject *__pyx_pw_8partsort_65partsort_2d_float32_axis1(PyObject *__pyx_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_64partsort_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_64partsort_3d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -19228,19 +19111,21 @@ static PyObject *__pyx_pw_8partsort_65partsort_2d_float32_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_64partsort_3d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -19257,23 +19142,32 @@ static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED Py Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - npy_intp __pyx_t_11; - Py_ssize_t __pyx_t_12; - npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_12; + Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; npy_intp __pyx_t_15; Py_ssize_t __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; Py_ssize_t __pyx_t_20; npy_intp __pyx_t_21; Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_23; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; + Py_ssize_t __pyx_t_26; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; + Py_ssize_t __pyx_t_29; + npy_intp __pyx_t_30; + Py_ssize_t __pyx_t_31; + Py_ssize_t __pyx_t_32; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_float32_axis1", 0); + __Pyx_RefNannySetupContext("partsort_3d_int_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -19284,45 +19178,45 @@ static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":1349 - * def partsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float32 along axis=1." + /* "partsort.pyx":1343 + * def partsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1351 + /* "partsort.pyx":1345 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1354 - * cdef Py_ssize_t i0, i1 + /* "partsort.pyx":1348 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -19330,40 +19224,49 @@ static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1355 + /* "partsort.pyx":1349 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1356 + /* "partsort.pyx":1350 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n1 == 0: - * return b + * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":1357 + /* "partsort.pyx":1351 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * if n0 == 0: * return b - * if (n < 1) or (n > n1): */ - __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_3) { + __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":1358 + /* "partsort.pyx":1352 * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: # <<<<<<<<<<<<<< + * return b + * if (n < 1) or (n > n0): + */ + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_3) { + + /* "partsort.pyx":1353 + * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -19371,12 +19274,12 @@ static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED Py goto __pyx_L0; } - /* "partsort.pyx":1359 - * if n1 == 0: + /* "partsort.pyx":1354 + * if n0 == 0: * return b - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -19386,25 +19289,25 @@ static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED Py goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1360 + /* "partsort.pyx":1355 * return b - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * l = 0 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -19412,244 +19315,263 @@ static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1361 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + /* "partsort.pyx":1356 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * for i2 in range(n2): + * l = 0 */ - __pyx_t_8 = __pyx_v_n0; + __pyx_t_8 = __pyx_v_n1; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_v_i1 = __pyx_t_9; - /* "partsort.pyx":1362 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + /* "partsort.pyx":1357 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): + * for i2 in range(n2): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_v_l = 0; + __pyx_t_10 = __pyx_v_n2; + for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { + __pyx_v_i2 = __pyx_t_11; - /* "partsort.pyx":1363 - * for i0 in range(n0): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k] + /* "partsort.pyx":1358 + * for i1 in range(n1): + * for i2 in range(n2): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_l = 0; - /* "partsort.pyx":1364 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] - * i = l + /* "partsort.pyx":1359 + * for i2 in range(n2): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[k, i1, i2] */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":1365 - * r = n1 - 1 - * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "partsort.pyx":1360 + * l = 0 + * r = n0 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[k, i1, i2] + * i = l */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":1366 - * while l < r: - * x = b[i0, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":1361 + * r = n0 - 1 + * while l < r: + * x = b[k, i1, i2] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_12 = __pyx_v_k; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_14 = __pyx_v_i2; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":1367 - * x = b[i0, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i] < x: i += 1 + /* "partsort.pyx":1362 + * while l < r: + * x = b[k, i1, i2] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1368 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "partsort.pyx":1363 + * x = b[k, i1, i2] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i, i1, i2] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1369 - * j = r - * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 - * if i <= j: + /* "partsort.pyx":1364 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 */ while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "partsort.pyx":1370 - * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i] + /* "partsort.pyx":1365 + * j = r + * while 1: + * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_15 = __pyx_v_i; + __pyx_t_16 = __pyx_v_i1; + __pyx_t_17 = __pyx_v_i2; + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":1371 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + /* "partsort.pyx":1366 + * while 1: + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i, i1, i2] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + while (1) { + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_i2; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":1372 - * while x < b[i0, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "partsort.pyx":1367 + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":1373 - * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * i += 1 + /* "partsort.pyx":1368 + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: + * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp */ - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_21 = __pyx_v_i; + __pyx_t_22 = __pyx_v_i1; + __pyx_t_23 = __pyx_v_i2; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":1374 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":1369 + * if i <= j: + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< + * b[j, i1, i2] = tmp + * i += 1 */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_24 = __pyx_v_j; + __pyx_t_25 = __pyx_v_i1; + __pyx_t_26 = __pyx_v_i2; + __pyx_t_27 = __pyx_v_i; + __pyx_t_28 = __pyx_v_i1; + __pyx_t_29 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":1375 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":1370 + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":1376 - * b[i0, j] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":1371 + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L17; - } - __pyx_L17:; + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1377 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1372 + * b[j, i1, i2] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L12_break; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L19; + } + __pyx_L19:; + + /* "partsort.pyx":1373 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j + */ + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L14_break; + } } - } - __pyx_L12_break:; + __pyx_L14_break:; - /* "partsort.pyx":1378 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":1374 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L19; - } - __pyx_L19:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L21; + } + __pyx_L21:; - /* "partsort.pyx":1379 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "partsort.pyx":1375 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L20; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L22; + } + __pyx_L22:; } - __pyx_L20:; } } - /* "partsort.pyx":1380 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1376 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -19659,11 +19581,11 @@ static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1347 + /* "partsort.pyx":1341 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=1." + * def partsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -19678,7 +19600,7 @@ static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -19691,19 +19613,19 @@ static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED Py return __pyx_r; } -/* "partsort.pyx":1384 +/* "partsort.pyx":1380 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=0." + * def partsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_67partsort_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_66partsort_2d_float64_axis0[] = "partsort_2d_float64_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_67partsort_2d_float64_axis0 = {"partsort_2d_float64_axis0", (PyCFunction)__pyx_pw_8partsort_67partsort_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_66partsort_2d_float64_axis0}; -static PyObject *__pyx_pw_8partsort_67partsort_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_67partsort_3d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_66partsort_3d_int_axis1[] = "partsort_3d_int_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_67partsort_3d_int_axis1 = {"partsort_3d_int_axis1", (PyCFunction)__pyx_pw_8partsort_67partsort_3d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_66partsort_3d_int_axis1}; +static PyObject *__pyx_pw_8partsort_67partsort_3d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -19711,7 +19633,7 @@ static PyObject *__pyx_pw_8partsort_67partsort_2d_float64_axis0(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -19732,11 +19654,11 @@ static PyObject *__pyx_pw_8partsort_67partsort_2d_float64_axis0(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -19745,18 +19667,18 @@ static PyObject *__pyx_pw_8partsort_67partsort_2d_float64_axis0(PyObject *__pyx_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_66partsort_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_66partsort_3d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -19767,19 +19689,21 @@ static PyObject *__pyx_pw_8partsort_67partsort_2d_float64_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_66partsort_3d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -19795,24 +19719,33 @@ static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED Py PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - npy_intp __pyx_t_10; + Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; Py_ssize_t __pyx_t_15; npy_intp __pyx_t_16; Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; Py_ssize_t __pyx_t_21; npy_intp __pyx_t_22; Py_ssize_t __pyx_t_23; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; + Py_ssize_t __pyx_t_26; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_29; + Py_ssize_t __pyx_t_30; + npy_intp __pyx_t_31; + Py_ssize_t __pyx_t_32; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_float64_axis0", 0); + __Pyx_RefNannySetupContext("partsort_3d_int_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -19823,45 +19756,45 @@ static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":1386 - * def partsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float64 along axis=0." + /* "partsort.pyx":1382 + * def partsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1388 - * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "partsort.pyx":1384 + * cdef np.npy_intp i, j = 0, l, r, k = n-1 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1391 - * cdef Py_ssize_t i0, i1 + /* "partsort.pyx":1387 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -19869,40 +19802,49 @@ static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1392 + /* "partsort.pyx":1388 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1393 + /* "partsort.pyx":1389 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 == 0: - * return b + * cdef Py_ssize_t n2 = dim[2] + * if n1 == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":1394 + /* "partsort.pyx":1390 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * if n1 == 0: * return b - * if (n < 1) or (n > n0): */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_3) { + __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":1395 + /* "partsort.pyx":1391 * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * cdef Py_ssize_t n2 = dim[2] + * if n1 == 0: # <<<<<<<<<<<<<< + * return b + * if (n < 1) or (n > n1): + */ + __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_3) { + + /* "partsort.pyx":1392 + * cdef Py_ssize_t n2 = dim[2] + * if n1 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -19910,12 +19852,12 @@ static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED Py goto __pyx_L0; } - /* "partsort.pyx":1396 - * if n0 == 0: + /* "partsort.pyx":1393 + * if n1 == 0: * return b - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -19925,25 +19867,25 @@ static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED Py goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1397 + /* "partsort.pyx":1394 * return b - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * l = 0 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -19951,244 +19893,263 @@ static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1398 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + /* "partsort.pyx":1395 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i2 in range(n2): + * l = 0 */ - __pyx_t_8 = __pyx_v_n1; + __pyx_t_8 = __pyx_v_n0; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":1399 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * while l < r: + /* "partsort.pyx":1396 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): + * for i2 in range(n2): # <<<<<<<<<<<<<< + * l = 0 + * r = n1 - 1 */ - __pyx_v_l = 0; + __pyx_t_10 = __pyx_v_n2; + for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { + __pyx_v_i2 = __pyx_t_11; - /* "partsort.pyx":1400 - * for i1 in range(n1): - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[k, i1] + /* "partsort.pyx":1397 + * for i0 in range(n0): + * for i2 in range(n2): + * l = 0 # <<<<<<<<<<<<<< + * r = n1 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "partsort.pyx":1401 - * l = 0 - * r = n0 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] - * i = l + /* "partsort.pyx":1398 + * for i2 in range(n2): + * l = 0 + * r = n1 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[i0, k, i2] */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":1402 - * r = n0 - 1 - * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "partsort.pyx":1399 + * l = 0 + * r = n1 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[i0, k, i2] + * i = l */ - __pyx_t_10 = __pyx_v_k; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":1403 - * while l < r: - * x = b[k, i1] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":1400 + * r = n1 - 1 + * while l < r: + * x = b[i0, k, i2] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_k; + __pyx_t_14 = __pyx_v_i2; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":1404 - * x = b[k, i1] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i, i1] < x: i += 1 + /* "partsort.pyx":1401 + * while l < r: + * x = b[i0, k, i2] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1405 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":1402 + * x = b[i0, k, i2] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i0, i, i2] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1406 - * j = r - * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 - * if i <= j: + /* "partsort.pyx":1403 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 */ while (1) { - __pyx_t_12 = __pyx_v_i; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "partsort.pyx":1407 - * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i, i1] + /* "partsort.pyx":1404 + * j = r + * while 1: + * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_14 = __pyx_v_j; - __pyx_t_15 = __pyx_v_i1; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_15 = __pyx_v_i0; + __pyx_t_16 = __pyx_v_i; + __pyx_t_17 = __pyx_v_i2; + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":1408 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + /* "partsort.pyx":1405 + * while 1: + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i0, i, i2] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + while (1) { + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_20 = __pyx_v_i2; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":1409 - * while x < b[j, i1]: j -= 1 - * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "partsort.pyx":1406 + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] */ - __pyx_t_16 = __pyx_v_i; - __pyx_t_17 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":1410 - * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp - * i += 1 + /* "partsort.pyx":1407 + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: + * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp */ - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_21 = __pyx_v_i0; + __pyx_t_22 = __pyx_v_i; + __pyx_t_23 = __pyx_v_i2; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":1411 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":1408 + * if i <= j: + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< + * b[i0, j, i2] = tmp + * i += 1 */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_j; + __pyx_t_26 = __pyx_v_i2; + __pyx_t_27 = __pyx_v_i0; + __pyx_t_28 = __pyx_v_i; + __pyx_t_29 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":1412 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":1409 + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":1413 - * b[j, i1] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":1410 + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L17; - } - __pyx_L17:; + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1414 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1411 + * b[i0, j, i2] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L12_break; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L19; + } + __pyx_L19:; + + /* "partsort.pyx":1412 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j + */ + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L14_break; + } } - } - __pyx_L12_break:; + __pyx_L14_break:; - /* "partsort.pyx":1415 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":1413 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L19; - } - __pyx_L19:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L21; + } + __pyx_L21:; - /* "partsort.pyx":1416 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "partsort.pyx":1414 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L20; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L22; + } + __pyx_L22:; } - __pyx_L20:; } } - /* "partsort.pyx":1417 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1415 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -20198,11 +20159,11 @@ static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1384 + /* "partsort.pyx":1380 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=0." + * def partsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -20217,7 +20178,7 @@ static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -20230,19 +20191,19 @@ static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "partsort.pyx":1421 +/* "partsort.pyx":1419 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=1." + * def partsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_69partsort_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_68partsort_2d_float64_axis1[] = "partsort_2d_float64_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float64 along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_69partsort_2d_float64_axis1 = {"partsort_2d_float64_axis1", (PyCFunction)__pyx_pw_8partsort_69partsort_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_68partsort_2d_float64_axis1}; -static PyObject *__pyx_pw_8partsort_69partsort_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_69partsort_3d_int_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_68partsort_3d_int_axis2[] = "partsort_3d_int_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=2."; +static PyMethodDef __pyx_mdef_8partsort_69partsort_3d_int_axis2 = {"partsort_3d_int_axis2", (PyCFunction)__pyx_pw_8partsort_69partsort_3d_int_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_68partsort_3d_int_axis2}; +static PyObject *__pyx_pw_8partsort_69partsort_3d_int_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -20250,7 +20211,7 @@ static PyObject *__pyx_pw_8partsort_69partsort_2d_float64_axis1(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -20271,11 +20232,11 @@ static PyObject *__pyx_pw_8partsort_69partsort_2d_float64_axis1(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -20284,18 +20245,18 @@ static PyObject *__pyx_pw_8partsort_69partsort_2d_float64_axis1(PyObject *__pyx_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_68partsort_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_68partsort_3d_int_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -20306,19 +20267,21 @@ static PyObject *__pyx_pw_8partsort_69partsort_2d_float64_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_68partsort_3d_int_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -20335,23 +20298,32 @@ static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED Py Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; - npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; - npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_13; + npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_15; Py_ssize_t __pyx_t_16; npy_intp __pyx_t_17; Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; Py_ssize_t __pyx_t_22; npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_24; + Py_ssize_t __pyx_t_25; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; + Py_ssize_t __pyx_t_28; + npy_intp __pyx_t_29; + Py_ssize_t __pyx_t_30; + Py_ssize_t __pyx_t_31; + npy_intp __pyx_t_32; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_float64_axis1", 0); + __Pyx_RefNannySetupContext("partsort_3d_int_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -20362,45 +20334,45 @@ static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":1423 - * def partsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float64 along axis=1." + /* "partsort.pyx":1421 + * def partsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1425 + /* "partsort.pyx":1423 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1428 - * cdef Py_ssize_t i0, i1 + /* "partsort.pyx":1426 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -20408,40 +20380,49 @@ static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1429 + /* "partsort.pyx":1427 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1430 + /* "partsort.pyx":1428 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n1 == 0: - * return b + * cdef Py_ssize_t n2 = dim[2] + * if n2 == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":1431 + /* "partsort.pyx":1429 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * if n2 == 0: * return b - * if (n < 1) or (n > n1): */ - __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_3) { + __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":1432 + /* "partsort.pyx":1430 * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * cdef Py_ssize_t n2 = dim[2] + * if n2 == 0: # <<<<<<<<<<<<<< + * return b + * if (n < 1) or (n > n2): + */ + __pyx_t_3 = ((__pyx_v_n2 == 0) != 0); + if (__pyx_t_3) { + + /* "partsort.pyx":1431 + * cdef Py_ssize_t n2 = dim[2] + * if n2 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -20449,11 +20430,11 @@ static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED Py goto __pyx_L0; } - /* "partsort.pyx":1433 - * if n1 == 0: + /* "partsort.pyx":1432 + * if n2 == 0: * return b - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); @@ -20464,25 +20445,25 @@ static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED Py goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n2) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1434 + /* "partsort.pyx":1433 * return b - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< * for i0 in range(n0): - * l = 0 + * for i1 in range(n1): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -20490,244 +20471,263 @@ static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1435 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + /* "partsort.pyx":1434 + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + * for i1 in range(n1): + * l = 0 */ __pyx_t_8 = __pyx_v_n0; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":1436 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + /* "partsort.pyx":1435 + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n2 - 1 */ - __pyx_v_l = 0; + __pyx_t_10 = __pyx_v_n1; + for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { + __pyx_v_i1 = __pyx_t_11; - /* "partsort.pyx":1437 + /* "partsort.pyx":1436 * for i0 in range(n0): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k] + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n2 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_l = 0; - /* "partsort.pyx":1438 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] - * i = l + /* "partsort.pyx":1437 + * for i1 in range(n1): + * l = 0 + * r = n2 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[i0, i1, k] */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_v_r = (__pyx_v_n2 - 1); - /* "partsort.pyx":1439 - * r = n1 - 1 - * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "partsort.pyx":1438 + * l = 0 + * r = n2 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[i0, i1, k] + * i = l */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":1440 - * while l < r: - * x = b[i0, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":1439 + * r = n2 - 1 + * while l < r: + * x = b[i0, i1, k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_14 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":1441 - * x = b[i0, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i] < x: i += 1 + /* "partsort.pyx":1440 + * while l < r: + * x = b[i0, i1, k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1442 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "partsort.pyx":1441 + * x = b[i0, i1, k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i0, i1, i] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1443 - * j = r - * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 - * if i <= j: + /* "partsort.pyx":1442 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 */ while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "partsort.pyx":1444 - * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i] + /* "partsort.pyx":1443 + * j = r + * while 1: + * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_15 = __pyx_v_i0; + __pyx_t_16 = __pyx_v_i1; + __pyx_t_17 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":1445 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + /* "partsort.pyx":1444 + * while 1: + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i0, i1, i] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + while (1) { + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":1446 - * while x < b[i0, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "partsort.pyx":1445 + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":1447 - * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * i += 1 + /* "partsort.pyx":1446 + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: + * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp */ - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_21 = __pyx_v_i0; + __pyx_t_22 = __pyx_v_i1; + __pyx_t_23 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":1448 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":1447 + * if i <= j: + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< + * b[i0, i1, j] = tmp + * i += 1 */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i1; + __pyx_t_26 = __pyx_v_j; + __pyx_t_27 = __pyx_v_i0; + __pyx_t_28 = __pyx_v_i1; + __pyx_t_29 = __pyx_v_i; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":1449 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":1448 + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_j; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":1450 - * b[i0, j] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":1449 + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L17; - } - __pyx_L17:; + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1451 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1450 + * b[i0, i1, j] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L12_break; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L19; + } + __pyx_L19:; + + /* "partsort.pyx":1451 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j + */ + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L14_break; + } } - } - __pyx_L12_break:; + __pyx_L14_break:; - /* "partsort.pyx":1452 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":1452 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L19; - } - __pyx_L19:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L21; + } + __pyx_L21:; - /* "partsort.pyx":1453 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "partsort.pyx":1453 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L20; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L22; + } + __pyx_L22:; } - __pyx_L20:; } } /* "partsort.pyx":1454 - * if j < k: l = i - * if k < i: r = j + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -20737,11 +20737,11 @@ static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1421 + /* "partsort.pyx":1419 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=1." + * def partsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -20756,7 +20756,7 @@ static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -20772,16 +20772,16 @@ static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED Py /* "partsort.pyx":1458 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=0." + * def partsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_71partsort_3d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_70partsort_3d_float_axis0[] = "partsort_3d_float_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_71partsort_3d_float_axis0 = {"partsort_3d_float_axis0", (PyCFunction)__pyx_pw_8partsort_71partsort_3d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_70partsort_3d_float_axis0}; -static PyObject *__pyx_pw_8partsort_71partsort_3d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_71partsort_3d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_70partsort_3d_int8_axis0[] = "partsort_3d_int8_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_71partsort_3d_int8_axis0 = {"partsort_3d_int8_axis0", (PyCFunction)__pyx_pw_8partsort_71partsort_3d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_70partsort_3d_int8_axis0}; +static PyObject *__pyx_pw_8partsort_71partsort_3d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -20789,7 +20789,7 @@ static PyObject *__pyx_pw_8partsort_71partsort_3d_float_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int8_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -20810,11 +20810,11 @@ static PyObject *__pyx_pw_8partsort_71partsort_3d_float_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -20827,14 +20827,14 @@ static PyObject *__pyx_pw_8partsort_71partsort_3d_float_axis0(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_70partsort_3d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_70partsort_3d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -20845,14 +20845,14 @@ static PyObject *__pyx_pw_8partsort_71partsort_3d_float_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_70partsort_3d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i1; Py_ssize_t __pyx_v_i2; @@ -20901,7 +20901,7 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_float_axis0", 0); + __Pyx_RefNannySetupContext("partsort_3d_int8_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -20912,24 +20912,24 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "partsort.pyx":1460 - * def partsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float along axis=0." + * def partsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":1462 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -20939,7 +20939,7 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -21127,7 +21127,7 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_12 = __pyx_v_k; __pyx_t_13 = __pyx_v_i1; __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1479 * while l < r: @@ -21167,7 +21167,7 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_15 = __pyx_v_i; __pyx_t_16 = __pyx_v_i1; __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -21183,7 +21183,7 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_18 = __pyx_v_j; __pyx_t_19 = __pyx_v_i1; __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -21208,7 +21208,7 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_21 = __pyx_v_i; __pyx_t_22 = __pyx_v_i1; __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1486 * if i <= j: @@ -21223,7 +21223,7 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_27 = __pyx_v_i; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1487 * tmp = b[i, i1, i2] @@ -21235,7 +21235,7 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_30 = __pyx_v_j; __pyx_t_31 = __pyx_v_i1; __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "partsort.pyx":1488 * b[i, i1, i2] = b[j, i1, i2] @@ -21318,8 +21318,8 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb /* "partsort.pyx":1458 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=0." + * def partsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -21334,7 +21334,7 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -21350,16 +21350,16 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb /* "partsort.pyx":1497 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=1." + * def partsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_73partsort_3d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_72partsort_3d_float_axis1[] = "partsort_3d_float_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_73partsort_3d_float_axis1 = {"partsort_3d_float_axis1", (PyCFunction)__pyx_pw_8partsort_73partsort_3d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_72partsort_3d_float_axis1}; -static PyObject *__pyx_pw_8partsort_73partsort_3d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_73partsort_3d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_72partsort_3d_int8_axis1[] = "partsort_3d_int8_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_73partsort_3d_int8_axis1 = {"partsort_3d_int8_axis1", (PyCFunction)__pyx_pw_8partsort_73partsort_3d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_72partsort_3d_int8_axis1}; +static PyObject *__pyx_pw_8partsort_73partsort_3d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -21367,7 +21367,7 @@ static PyObject *__pyx_pw_8partsort_73partsort_3d_float_axis1(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int8_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -21388,11 +21388,11 @@ static PyObject *__pyx_pw_8partsort_73partsort_3d_float_axis1(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -21405,14 +21405,14 @@ static PyObject *__pyx_pw_8partsort_73partsort_3d_float_axis1(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_72partsort_3d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_72partsort_3d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -21423,14 +21423,14 @@ static PyObject *__pyx_pw_8partsort_73partsort_3d_float_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_72partsort_3d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i2; @@ -21479,7 +21479,7 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_float_axis1", 0); + __Pyx_RefNannySetupContext("partsort_3d_int8_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -21490,24 +21490,24 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "partsort.pyx":1499 - * def partsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float along axis=1." + * def partsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":1501 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -21517,7 +21517,7 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -21705,7 +21705,7 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_k; __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1518 * while l < r: @@ -21745,7 +21745,7 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb __pyx_t_15 = __pyx_v_i0; __pyx_t_16 = __pyx_v_i; __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -21761,7 +21761,7 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_j; __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -21786,7 +21786,7 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb __pyx_t_21 = __pyx_v_i0; __pyx_t_22 = __pyx_v_i; __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1525 * if i <= j: @@ -21801,7 +21801,7 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb __pyx_t_27 = __pyx_v_i0; __pyx_t_28 = __pyx_v_i; __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1526 * tmp = b[i0, i, i2] @@ -21813,7 +21813,7 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb __pyx_t_30 = __pyx_v_i0; __pyx_t_31 = __pyx_v_j; __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "partsort.pyx":1527 * b[i0, i, i2] = b[i0, j, i2] @@ -21896,8 +21896,8 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb /* "partsort.pyx":1497 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=1." + * def partsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -21912,7 +21912,7 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -21928,16 +21928,16 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb /* "partsort.pyx":1536 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=2." + * def partsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_75partsort_3d_float_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_74partsort_3d_float_axis2[] = "partsort_3d_float_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=2."; -static PyMethodDef __pyx_mdef_8partsort_75partsort_3d_float_axis2 = {"partsort_3d_float_axis2", (PyCFunction)__pyx_pw_8partsort_75partsort_3d_float_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_74partsort_3d_float_axis2}; -static PyObject *__pyx_pw_8partsort_75partsort_3d_float_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_75partsort_3d_int8_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_74partsort_3d_int8_axis2[] = "partsort_3d_int8_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=2."; +static PyMethodDef __pyx_mdef_8partsort_75partsort_3d_int8_axis2 = {"partsort_3d_int8_axis2", (PyCFunction)__pyx_pw_8partsort_75partsort_3d_int8_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_74partsort_3d_int8_axis2}; +static PyObject *__pyx_pw_8partsort_75partsort_3d_int8_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -21945,7 +21945,7 @@ static PyObject *__pyx_pw_8partsort_75partsort_3d_float_axis2(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_float_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int8_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -21966,11 +21966,11 @@ static PyObject *__pyx_pw_8partsort_75partsort_3d_float_axis2(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int8_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -21983,14 +21983,14 @@ static PyObject *__pyx_pw_8partsort_75partsort_3d_float_axis2(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_float_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int8_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_74partsort_3d_float_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_74partsort_3d_int8_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -22001,14 +22001,14 @@ static PyObject *__pyx_pw_8partsort_75partsort_3d_float_axis2(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_74partsort_3d_int8_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -22057,7 +22057,7 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_float_axis2", 0); + __Pyx_RefNannySetupContext("partsort_3d_int8_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -22068,24 +22068,24 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "partsort.pyx":1538 - * def partsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float along axis=2." + * def partsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int8 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":1540 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -22095,7 +22095,7 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -22283,7 +22283,7 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_i1; __pyx_t_14 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1557 * while l < r: @@ -22323,7 +22323,7 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb __pyx_t_15 = __pyx_v_i0; __pyx_t_16 = __pyx_v_i1; __pyx_t_17 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -22339,7 +22339,7 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_i1; __pyx_t_20 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -22364,7 +22364,7 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb __pyx_t_21 = __pyx_v_i0; __pyx_t_22 = __pyx_v_i1; __pyx_t_23 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1564 * if i <= j: @@ -22379,7 +22379,7 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb __pyx_t_27 = __pyx_v_i0; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1565 * tmp = b[i0, i1, i] @@ -22391,7 +22391,7 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb __pyx_t_30 = __pyx_v_i0; __pyx_t_31 = __pyx_v_i1; __pyx_t_32 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "partsort.pyx":1566 * b[i0, i1, i] = b[i0, i1, j] @@ -22474,8 +22474,8 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb /* "partsort.pyx":1536 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=2." + * def partsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -22490,7 +22490,7 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_float_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int8_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -22506,16 +22506,16 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb /* "partsort.pyx":1575 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=0." + * def partsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_77partsort_3d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_76partsort_3d_float32_axis0[] = "partsort_3d_float32_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_77partsort_3d_float32_axis0 = {"partsort_3d_float32_axis0", (PyCFunction)__pyx_pw_8partsort_77partsort_3d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_76partsort_3d_float32_axis0}; -static PyObject *__pyx_pw_8partsort_77partsort_3d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_77partsort_3d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_76partsort_3d_int32_axis0[] = "partsort_3d_int32_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_77partsort_3d_int32_axis0 = {"partsort_3d_int32_axis0", (PyCFunction)__pyx_pw_8partsort_77partsort_3d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_76partsort_3d_int32_axis0}; +static PyObject *__pyx_pw_8partsort_77partsort_3d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -22523,7 +22523,7 @@ static PyObject *__pyx_pw_8partsort_77partsort_3d_float32_axis0(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -22544,11 +22544,11 @@ static PyObject *__pyx_pw_8partsort_77partsort_3d_float32_axis0(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -22561,14 +22561,14 @@ static PyObject *__pyx_pw_8partsort_77partsort_3d_float32_axis0(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_76partsort_3d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_76partsort_3d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -22579,14 +22579,14 @@ static PyObject *__pyx_pw_8partsort_77partsort_3d_float32_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_76partsort_3d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i1; Py_ssize_t __pyx_v_i2; @@ -22635,7 +22635,7 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_float32_axis0", 0); + __Pyx_RefNannySetupContext("partsort_3d_int32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -22646,24 +22646,24 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "partsort.pyx":1577 - * def partsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float32 along axis=0." + * def partsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":1579 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -22673,7 +22673,7 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -22861,7 +22861,7 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py __pyx_t_12 = __pyx_v_k; __pyx_t_13 = __pyx_v_i1; __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1596 * while l < r: @@ -22901,7 +22901,7 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py __pyx_t_15 = __pyx_v_i; __pyx_t_16 = __pyx_v_i1; __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -22917,7 +22917,7 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py __pyx_t_18 = __pyx_v_j; __pyx_t_19 = __pyx_v_i1; __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -22942,7 +22942,7 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py __pyx_t_21 = __pyx_v_i; __pyx_t_22 = __pyx_v_i1; __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1603 * if i <= j: @@ -22957,7 +22957,7 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py __pyx_t_27 = __pyx_v_i; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1604 * tmp = b[i, i1, i2] @@ -22969,7 +22969,7 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py __pyx_t_30 = __pyx_v_j; __pyx_t_31 = __pyx_v_i1; __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "partsort.pyx":1605 * b[i, i1, i2] = b[j, i1, i2] @@ -23052,8 +23052,8 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py /* "partsort.pyx":1575 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=0." + * def partsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -23068,7 +23068,7 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -23084,16 +23084,16 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py /* "partsort.pyx":1614 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=1." + * def partsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_79partsort_3d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_78partsort_3d_float32_axis1[] = "partsort_3d_float32_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_79partsort_3d_float32_axis1 = {"partsort_3d_float32_axis1", (PyCFunction)__pyx_pw_8partsort_79partsort_3d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_78partsort_3d_float32_axis1}; -static PyObject *__pyx_pw_8partsort_79partsort_3d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_79partsort_3d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_78partsort_3d_int32_axis1[] = "partsort_3d_int32_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_79partsort_3d_int32_axis1 = {"partsort_3d_int32_axis1", (PyCFunction)__pyx_pw_8partsort_79partsort_3d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_78partsort_3d_int32_axis1}; +static PyObject *__pyx_pw_8partsort_79partsort_3d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -23101,7 +23101,7 @@ static PyObject *__pyx_pw_8partsort_79partsort_3d_float32_axis1(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -23122,11 +23122,11 @@ static PyObject *__pyx_pw_8partsort_79partsort_3d_float32_axis1(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -23139,14 +23139,14 @@ static PyObject *__pyx_pw_8partsort_79partsort_3d_float32_axis1(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_78partsort_3d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_78partsort_3d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -23157,14 +23157,14 @@ static PyObject *__pyx_pw_8partsort_79partsort_3d_float32_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_78partsort_3d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i2; @@ -23213,7 +23213,7 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_float32_axis1", 0); + __Pyx_RefNannySetupContext("partsort_3d_int32_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -23224,24 +23224,24 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "partsort.pyx":1616 - * def partsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float32 along axis=1." + * def partsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":1618 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -23251,7 +23251,7 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -23439,7 +23439,7 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_k; __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1635 * while l < r: @@ -23479,7 +23479,7 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py __pyx_t_15 = __pyx_v_i0; __pyx_t_16 = __pyx_v_i; __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -23495,7 +23495,7 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_j; __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -23520,7 +23520,7 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py __pyx_t_21 = __pyx_v_i0; __pyx_t_22 = __pyx_v_i; __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1642 * if i <= j: @@ -23535,7 +23535,7 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py __pyx_t_27 = __pyx_v_i0; __pyx_t_28 = __pyx_v_i; __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1643 * tmp = b[i0, i, i2] @@ -23547,7 +23547,7 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py __pyx_t_30 = __pyx_v_i0; __pyx_t_31 = __pyx_v_j; __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "partsort.pyx":1644 * b[i0, i, i2] = b[i0, j, i2] @@ -23630,8 +23630,8 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py /* "partsort.pyx":1614 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=1." + * def partsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -23646,7 +23646,7 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -23662,16 +23662,16 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py /* "partsort.pyx":1653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=2." + * def partsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_81partsort_3d_float32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_80partsort_3d_float32_axis2[] = "partsort_3d_float32_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=2."; -static PyMethodDef __pyx_mdef_8partsort_81partsort_3d_float32_axis2 = {"partsort_3d_float32_axis2", (PyCFunction)__pyx_pw_8partsort_81partsort_3d_float32_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_80partsort_3d_float32_axis2}; -static PyObject *__pyx_pw_8partsort_81partsort_3d_float32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_81partsort_3d_int32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_80partsort_3d_int32_axis2[] = "partsort_3d_int32_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=2."; +static PyMethodDef __pyx_mdef_8partsort_81partsort_3d_int32_axis2 = {"partsort_3d_int32_axis2", (PyCFunction)__pyx_pw_8partsort_81partsort_3d_int32_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_80partsort_3d_int32_axis2}; +static PyObject *__pyx_pw_8partsort_81partsort_3d_int32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -23679,7 +23679,7 @@ static PyObject *__pyx_pw_8partsort_81partsort_3d_float32_axis2(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_float32_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int32_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -23700,11 +23700,11 @@ static PyObject *__pyx_pw_8partsort_81partsort_3d_float32_axis2(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float32_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int32_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -23717,14 +23717,14 @@ static PyObject *__pyx_pw_8partsort_81partsort_3d_float32_axis2(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_float32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_80partsort_3d_float32_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_80partsort_3d_int32_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -23735,14 +23735,14 @@ static PyObject *__pyx_pw_8partsort_81partsort_3d_float32_axis2(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_80partsort_3d_int32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -23791,7 +23791,7 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_float32_axis2", 0); + __Pyx_RefNannySetupContext("partsort_3d_int32_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -23802,24 +23802,24 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "partsort.pyx":1655 - * def partsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float32 along axis=2." + * def partsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":1657 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -23829,7 +23829,7 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -24017,7 +24017,7 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_i1; __pyx_t_14 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1674 * while l < r: @@ -24057,7 +24057,7 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py __pyx_t_15 = __pyx_v_i0; __pyx_t_16 = __pyx_v_i1; __pyx_t_17 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -24073,7 +24073,7 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_i1; __pyx_t_20 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -24098,7 +24098,7 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py __pyx_t_21 = __pyx_v_i0; __pyx_t_22 = __pyx_v_i1; __pyx_t_23 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1681 * if i <= j: @@ -24113,7 +24113,7 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py __pyx_t_27 = __pyx_v_i0; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1682 * tmp = b[i0, i1, i] @@ -24125,7 +24125,7 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py __pyx_t_30 = __pyx_v_i0; __pyx_t_31 = __pyx_v_i1; __pyx_t_32 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "partsort.pyx":1683 * b[i0, i1, i] = b[i0, i1, j] @@ -24208,8 +24208,8 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py /* "partsort.pyx":1653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=2." + * def partsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -24224,7 +24224,7 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_float32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -24240,16 +24240,16 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py /* "partsort.pyx":1692 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=0." + * def partsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_83partsort_3d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_82partsort_3d_float64_axis0[] = "partsort_3d_float64_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_83partsort_3d_float64_axis0 = {"partsort_3d_float64_axis0", (PyCFunction)__pyx_pw_8partsort_83partsort_3d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_82partsort_3d_float64_axis0}; -static PyObject *__pyx_pw_8partsort_83partsort_3d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_83partsort_3d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_82partsort_3d_int64_axis0[] = "partsort_3d_int64_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_83partsort_3d_int64_axis0 = {"partsort_3d_int64_axis0", (PyCFunction)__pyx_pw_8partsort_83partsort_3d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_82partsort_3d_int64_axis0}; +static PyObject *__pyx_pw_8partsort_83partsort_3d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -24257,7 +24257,7 @@ static PyObject *__pyx_pw_8partsort_83partsort_3d_float64_axis0(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -24278,11 +24278,11 @@ static PyObject *__pyx_pw_8partsort_83partsort_3d_float64_axis0(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -24295,14 +24295,14 @@ static PyObject *__pyx_pw_8partsort_83partsort_3d_float64_axis0(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_82partsort_3d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_82partsort_3d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -24313,14 +24313,14 @@ static PyObject *__pyx_pw_8partsort_83partsort_3d_float64_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_82partsort_3d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i1; Py_ssize_t __pyx_v_i2; @@ -24369,7 +24369,7 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_float64_axis0", 0); + __Pyx_RefNannySetupContext("partsort_3d_int64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -24380,24 +24380,24 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "partsort.pyx":1694 - * def partsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float64 along axis=0." + * def partsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":1696 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -24407,7 +24407,7 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -24595,7 +24595,7 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py __pyx_t_12 = __pyx_v_k; __pyx_t_13 = __pyx_v_i1; __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1713 * while l < r: @@ -24635,7 +24635,7 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py __pyx_t_15 = __pyx_v_i; __pyx_t_16 = __pyx_v_i1; __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -24651,7 +24651,7 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py __pyx_t_18 = __pyx_v_j; __pyx_t_19 = __pyx_v_i1; __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -24676,7 +24676,7 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py __pyx_t_21 = __pyx_v_i; __pyx_t_22 = __pyx_v_i1; __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1720 * if i <= j: @@ -24691,7 +24691,7 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py __pyx_t_27 = __pyx_v_i; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1721 * tmp = b[i, i1, i2] @@ -24703,7 +24703,7 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py __pyx_t_30 = __pyx_v_j; __pyx_t_31 = __pyx_v_i1; __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "partsort.pyx":1722 * b[i, i1, i2] = b[j, i1, i2] @@ -24786,8 +24786,8 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py /* "partsort.pyx":1692 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=0." + * def partsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -24802,7 +24802,7 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -24818,16 +24818,16 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py /* "partsort.pyx":1731 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=1." + * def partsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_85partsort_3d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_84partsort_3d_float64_axis1[] = "partsort_3d_float64_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_85partsort_3d_float64_axis1 = {"partsort_3d_float64_axis1", (PyCFunction)__pyx_pw_8partsort_85partsort_3d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_84partsort_3d_float64_axis1}; -static PyObject *__pyx_pw_8partsort_85partsort_3d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_85partsort_3d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_84partsort_3d_int64_axis1[] = "partsort_3d_int64_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_85partsort_3d_int64_axis1 = {"partsort_3d_int64_axis1", (PyCFunction)__pyx_pw_8partsort_85partsort_3d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_84partsort_3d_int64_axis1}; +static PyObject *__pyx_pw_8partsort_85partsort_3d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -24835,7 +24835,7 @@ static PyObject *__pyx_pw_8partsort_85partsort_3d_float64_axis1(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -24856,11 +24856,11 @@ static PyObject *__pyx_pw_8partsort_85partsort_3d_float64_axis1(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -24873,14 +24873,14 @@ static PyObject *__pyx_pw_8partsort_85partsort_3d_float64_axis1(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_84partsort_3d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_84partsort_3d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -24891,14 +24891,14 @@ static PyObject *__pyx_pw_8partsort_85partsort_3d_float64_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_84partsort_3d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i2; @@ -24947,7 +24947,7 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_float64_axis1", 0); + __Pyx_RefNannySetupContext("partsort_3d_int64_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -24958,24 +24958,24 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "partsort.pyx":1733 - * def partsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float64 along axis=1." + * def partsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":1735 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -24985,7 +24985,7 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -25173,7 +25173,7 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_k; __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1752 * while l < r: @@ -25213,7 +25213,7 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py __pyx_t_15 = __pyx_v_i0; __pyx_t_16 = __pyx_v_i; __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -25229,7 +25229,7 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_j; __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -25254,7 +25254,7 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py __pyx_t_21 = __pyx_v_i0; __pyx_t_22 = __pyx_v_i; __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1759 * if i <= j: @@ -25269,7 +25269,7 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py __pyx_t_27 = __pyx_v_i0; __pyx_t_28 = __pyx_v_i; __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1760 * tmp = b[i0, i, i2] @@ -25281,7 +25281,7 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py __pyx_t_30 = __pyx_v_i0; __pyx_t_31 = __pyx_v_j; __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "partsort.pyx":1761 * b[i0, i, i2] = b[i0, j, i2] @@ -25364,8 +25364,8 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py /* "partsort.pyx":1731 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=1." + * def partsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -25380,7 +25380,7 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -25396,16 +25396,16 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py /* "partsort.pyx":1770 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=2." + * def partsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_87partsort_3d_float64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_86partsort_3d_float64_axis2[] = "partsort_3d_float64_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=2."; -static PyMethodDef __pyx_mdef_8partsort_87partsort_3d_float64_axis2 = {"partsort_3d_float64_axis2", (PyCFunction)__pyx_pw_8partsort_87partsort_3d_float64_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_86partsort_3d_float64_axis2}; -static PyObject *__pyx_pw_8partsort_87partsort_3d_float64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_87partsort_3d_int64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_86partsort_3d_int64_axis2[] = "partsort_3d_int64_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=2."; +static PyMethodDef __pyx_mdef_8partsort_87partsort_3d_int64_axis2 = {"partsort_3d_int64_axis2", (PyCFunction)__pyx_pw_8partsort_87partsort_3d_int64_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_86partsort_3d_int64_axis2}; +static PyObject *__pyx_pw_8partsort_87partsort_3d_int64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -25413,7 +25413,7 @@ static PyObject *__pyx_pw_8partsort_87partsort_3d_float64_axis2(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_float64_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int64_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -25434,11 +25434,11 @@ static PyObject *__pyx_pw_8partsort_87partsort_3d_float64_axis2(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float64_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int64_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -25451,14 +25451,14 @@ static PyObject *__pyx_pw_8partsort_87partsort_3d_float64_axis2(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_float64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_86partsort_3d_float64_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_86partsort_3d_int64_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -25469,14 +25469,14 @@ static PyObject *__pyx_pw_8partsort_87partsort_3d_float64_axis2(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_86partsort_3d_int64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -25525,7 +25525,7 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_float64_axis2", 0); + __Pyx_RefNannySetupContext("partsort_3d_int64_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -25536,24 +25536,24 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "partsort.pyx":1772 - * def partsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float64 along axis=2." + * def partsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":1774 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -25563,7 +25563,7 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -25751,7 +25751,7 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_i1; __pyx_t_14 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1791 * while l < r: @@ -25791,7 +25791,7 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py __pyx_t_15 = __pyx_v_i0; __pyx_t_16 = __pyx_v_i1; __pyx_t_17 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -25807,7 +25807,7 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_i1; __pyx_t_20 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -25832,7 +25832,7 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py __pyx_t_21 = __pyx_v_i0; __pyx_t_22 = __pyx_v_i1; __pyx_t_23 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1798 * if i <= j: @@ -25847,7 +25847,7 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py __pyx_t_27 = __pyx_v_i0; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1799 * tmp = b[i0, i1, i] @@ -25859,7 +25859,7 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py __pyx_t_30 = __pyx_v_i0; __pyx_t_31 = __pyx_v_i1; __pyx_t_32 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "partsort.pyx":1800 * b[i0, i1, i] = b[i0, i1, j] @@ -25942,8 +25942,8 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py /* "partsort.pyx":1770 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=2." + * def partsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -25958,7 +25958,7 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_float64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -25972,7 +25972,7 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py } /* "partsort.pyx":1851 - * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 + * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 * * def partsort_slow_axis0(arr, n): # <<<<<<<<<<<<<< * "Unaccelerated (slow) partsort along axis 0." @@ -26091,7 +26091,7 @@ static PyObject *__pyx_pf_8partsort_88partsort_slow_axis0(CYTHON_UNUSED PyObject goto __pyx_L0; /* "partsort.pyx":1851 - * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 + * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 * * def partsort_slow_axis0(arr, n): # <<<<<<<<<<<<<< * "Unaccelerated (slow) partsort along axis 0." @@ -30765,7 +30765,7 @@ static PyObject *__pyx_pf_8partsort_154partsort_slow_axisNone(CYTHON_UNUSED PyOb return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -30815,7 +30815,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -30828,7 +30828,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -30837,7 +30837,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -30846,7 +30846,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -30855,7 +30855,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -30865,7 +30865,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -30877,7 +30877,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -30888,7 +30888,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -30904,7 +30904,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -30916,7 +30916,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -30930,7 +30930,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -30946,7 +30946,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -30958,7 +30958,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -30972,7 +30972,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -30981,7 +30981,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -30990,7 +30990,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -31000,7 +31000,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -31009,7 +31009,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -31018,7 +31018,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -31029,7 +31029,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -31038,7 +31038,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -31051,7 +31051,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -31060,7 +31060,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -31071,7 +31071,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -31080,7 +31080,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -31089,7 +31089,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -31098,7 +31098,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -31107,7 +31107,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -31119,7 +31119,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -31128,7 +31128,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -31148,7 +31148,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -31164,7 +31164,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -31179,7 +31179,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -31189,7 +31189,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -31199,7 +31199,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -31222,7 +31222,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -31242,7 +31242,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -31256,7 +31256,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -31265,7 +31265,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -31276,7 +31276,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -31287,7 +31287,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -31298,7 +31298,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -31309,7 +31309,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -31320,7 +31320,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -31331,7 +31331,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -31342,7 +31342,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -31353,7 +31353,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -31364,7 +31364,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -31375,7 +31375,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -31386,7 +31386,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -31397,7 +31397,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -31408,7 +31408,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -31419,7 +31419,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -31430,7 +31430,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -31441,7 +31441,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -31453,7 +31453,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -31479,7 +31479,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -31488,7 +31488,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -31500,7 +31500,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -31509,7 +31509,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -31518,7 +31518,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -31527,7 +31527,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -31537,7 +31537,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -31547,7 +31547,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -31579,7 +31579,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -31603,7 +31603,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -31613,7 +31613,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -31625,7 +31625,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -31635,7 +31635,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -31647,7 +31647,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -31659,7 +31659,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -31676,7 +31676,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -31690,7 +31690,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -31709,7 +31709,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -31726,7 +31726,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -31740,7 +31740,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -31759,7 +31759,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -31776,7 +31776,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -31790,7 +31790,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -31809,7 +31809,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -31826,7 +31826,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -31840,7 +31840,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -31859,7 +31859,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -31876,7 +31876,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -31890,7 +31890,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -31909,7 +31909,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -31941,7 +31941,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -31950,7 +31950,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -31959,7 +31959,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -31981,7 +31981,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -31994,7 +31994,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -32033,7 +32033,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -32050,7 +32050,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -32064,7 +32064,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -32087,7 +32087,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -32107,7 +32107,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -32121,7 +32121,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -32137,7 +32137,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -32146,7 +32146,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -32155,7 +32155,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -32166,7 +32166,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -32176,7 +32176,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -32186,7 +32186,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -32198,7 +32198,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -32208,7 +32208,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -32222,7 +32222,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -32240,7 +32240,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -32258,7 +32258,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -32276,7 +32276,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -32294,7 +32294,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -32312,7 +32312,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -32330,7 +32330,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -32348,7 +32348,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -32366,7 +32366,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -32384,7 +32384,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -32402,7 +32402,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -32420,7 +32420,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -32438,7 +32438,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -32456,7 +32456,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -32476,7 +32476,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -32496,7 +32496,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -32516,7 +32516,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -32535,7 +32535,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -32558,7 +32558,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -32570,7 +32570,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -32582,7 +32582,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -32592,7 +32592,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -32602,7 +32602,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -32627,7 +32627,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -32642,7 +32642,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -32653,7 +32653,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -32665,7 +32665,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -32674,7 +32674,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -32685,7 +32685,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -32694,7 +32694,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -32703,7 +32703,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -32715,7 +32715,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -32729,7 +32729,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -32739,7 +32739,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -32753,7 +32753,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -32764,7 +32764,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -32802,7 +32802,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -32816,6 +32815,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -32959,7 +32959,7 @@ static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; @@ -32969,7 +32969,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -32980,7 +32980,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -32991,7 +32991,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -33002,7 +33002,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -33013,7 +33013,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -33024,7 +33024,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -33056,7 +33056,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_n, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort, 84, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort, 84, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":142 * return func(arr, n) @@ -33068,514 +33068,514 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_key, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_selector, 142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_selector, 142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":220 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int along axis=0." + * def partsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__13 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_1d_int_axis0, 220, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_1d_float_axis0, 220, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":256 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int8 along axis=0." + * def partsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__15 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_1d_int8_axis0, 256, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_1d_float32_axis0, 256, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":292 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int32 along axis=0." + * def partsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__17 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_1d_int32_axis0, 292, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_1d_float64_axis0, 292, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":328 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int64 along axis=0." + * def partsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__19 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_1d_int64_axis0, 328, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_float_axis0, 328, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":364 + /* "partsort.pyx":365 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=0." + * def partsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__21 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_int_axis0, 364, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_float_axis1, 365, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":401 + /* "partsort.pyx":402 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=1." + * def partsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__23 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_int_axis1, 401, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_float32_axis0, 402, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":438 + /* "partsort.pyx":439 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=0." + * def partsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__25 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_int8_axis0, 438, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_float32_axis1, 439, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":475 + /* "partsort.pyx":476 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=1." + * def partsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__27 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_int8_axis1, 475, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_float64_axis0, 476, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":512 + /* "partsort.pyx":513 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=0." + * def partsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__29 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_int32_axis0, 512, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_float64_axis1, 513, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":549 + /* "partsort.pyx":550 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=1." + * def partsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__31 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_int32_axis1, 549, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_float_axis0, 550, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":586 + /* "partsort.pyx":589 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=0." + * def partsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__33 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_int64_axis0, 586, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_float_axis1, 589, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":623 + /* "partsort.pyx":628 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=1." + * def partsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__35 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_int64_axis1, 623, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_float_axis2, 628, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":660 + /* "partsort.pyx":667 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=0." + * def partsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__37 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int_axis0, 660, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_float32_axis0, 667, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":699 + /* "partsort.pyx":706 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=1." + * def partsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__39 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int_axis1, 699, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_float32_axis1, 706, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":738 + /* "partsort.pyx":745 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=2." + * def partsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__41 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int_axis2, 738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_float32_axis2, 745, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":777 + /* "partsort.pyx":784 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=0." + * def partsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__43 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int8_axis0, 777, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_float64_axis0, 784, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":816 + /* "partsort.pyx":823 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=1." + * def partsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__45 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int8_axis1, 816, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_float64_axis1, 823, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":855 + /* "partsort.pyx":862 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=2." + * def partsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__47 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int8_axis2, 855, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_float64_axis2, 862, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":894 + /* "partsort.pyx":901 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=0." + * def partsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__49 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int32_axis0, 894, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_1d_int_axis0, 901, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":933 + /* "partsort.pyx":937 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=1." + * def partsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__51 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int32_axis1, 933, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_1d_int8_axis0, 937, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":972 + /* "partsort.pyx":973 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=2." + * def partsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__53 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int32_axis2, 972, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_1d_int32_axis0, 973, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1011 + /* "partsort.pyx":1009 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=0." + * def partsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__55 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int64_axis0, 1011, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_1d_int64_axis0, 1009, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1050 + /* "partsort.pyx":1045 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=1." + * def partsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__57 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int64_axis1, 1050, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_int_axis0, 1045, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1089 + /* "partsort.pyx":1082 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=2." + * def partsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__59 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int64_axis2, 1089, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_int_axis1, 1082, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1128 + /* "partsort.pyx":1119 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float along axis=0." + * def partsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__61 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_1d_float_axis0, 1128, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_int8_axis0, 1119, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1164 + /* "partsort.pyx":1156 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float32 along axis=0." + * def partsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__63 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_1d_float32_axis0, 1164, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_int8_axis1, 1156, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1200 + /* "partsort.pyx":1193 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float64 along axis=0." + * def partsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__65 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_1d_float64_axis0, 1200, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_int32_axis0, 1193, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1236 + /* "partsort.pyx":1230 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=0." + * def partsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__67 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_float_axis0, 1236, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_int32_axis1, 1230, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1273 + /* "partsort.pyx":1267 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=1." + * def partsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__69 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__69 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_float_axis1, 1273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_int64_axis0, 1267, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1310 + /* "partsort.pyx":1304 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=0." + * def partsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__71 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__71 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_float32_axis0, 1310, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_int64_axis1, 1304, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1347 + /* "partsort.pyx":1341 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=1." + * def partsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__73 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__73 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_float32_axis1, 1347, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int_axis0, 1341, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1384 + /* "partsort.pyx":1380 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=0." + * def partsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__75 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__75 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_float64_axis0, 1384, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int_axis1, 1380, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1421 + /* "partsort.pyx":1419 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=1." + * def partsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__77 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__77 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_float64_axis1, 1421, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int_axis2, 1419, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1458 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=0." + * def partsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__79 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_float_axis0, 1458, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int8_axis0, 1458, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1497 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=1." + * def partsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__81 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_float_axis1, 1497, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int8_axis1, 1497, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1536 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=2." + * def partsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__83 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_float_axis2, 1536, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int8_axis2, 1536, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1575 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=0." + * def partsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__85 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_float32_axis0, 1575, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int32_axis0, 1575, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1614 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=1." + * def partsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__87 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_float32_axis1, 1614, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int32_axis1, 1614, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=2." + * def partsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__89 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_float32_axis2, 1653, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int32_axis2, 1653, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1692 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=0." + * def partsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__91 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_float64_axis0, 1692, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int64_axis0, 1692, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1731 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=1." + * def partsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__93 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_float64_axis1, 1731, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int64_axis1, 1731, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1770 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=2." + * def partsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__95 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_float64_axis2, 1770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int64_axis2, 1770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1851 - * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 + * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 * * def partsort_slow_axis0(arr, n): # <<<<<<<<<<<<<< * "Unaccelerated (slow) partsort along axis 0." @@ -33584,7 +33584,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis0, 1851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis0, 1851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1855 * return bn.slow.partsort(arr, n, axis=0) @@ -33596,7 +33596,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis1, 1855, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis1, 1855, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1859 * return bn.slow.partsort(arr, n, axis=1) @@ -33608,7 +33608,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis2, 1859, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis2, 1859, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1863 * return bn.slow.partsort(arr, n, axis=2) @@ -33620,7 +33620,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis3, 1863, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis3, 1863, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1867 * return bn.slow.partsort(arr, n, axis=3) @@ -33632,7 +33632,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis4, 1867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis4, 1867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1871 * return bn.slow.partsort(arr, n, axis=4) @@ -33644,7 +33644,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis5, 1871, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis5, 1871, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1875 * return bn.slow.partsort(arr, n, axis=5) @@ -33656,7 +33656,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis6, 1875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis6, 1875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1879 * return bn.slow.partsort(arr, n, axis=6) @@ -33668,7 +33668,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis7, 1879, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis7, 1879, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1883 * return bn.slow.partsort(arr, n, axis=7) @@ -33680,7 +33680,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis8, 1883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis8, 1883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1887 * return bn.slow.partsort(arr, n, axis=8) @@ -33692,7 +33692,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis9, 1887, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis9, 1887, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1891 * return bn.slow.partsort(arr, n, axis=9) @@ -33704,7 +33704,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis10, 1891, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis10, 1891, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1895 * return bn.slow.partsort(arr, n, axis=10) @@ -33716,7 +33716,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis11, 1895, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis11, 1895, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1899 * return bn.slow.partsort(arr, n, axis=11) @@ -33728,7 +33728,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis12, 1899, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis12, 1899, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1903 * return bn.slow.partsort(arr, n, axis=12) @@ -33740,7 +33740,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis13, 1903, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis13, 1903, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1907 * return bn.slow.partsort(arr, n, axis=13) @@ -33752,7 +33752,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis14, 1907, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis14, 1907, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1911 * return bn.slow.partsort(arr, n, axis=14) @@ -33764,7 +33764,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis15, 1911, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis15, 1911, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1915 * return bn.slow.partsort(arr, n, axis=15) @@ -33776,7 +33776,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis16, 1915, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis16, 1915, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1919 * return bn.slow.partsort(arr, n, axis=16) @@ -33788,7 +33788,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis17, 1919, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis17, 1919, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1923 * return bn.slow.partsort(arr, n, axis=17) @@ -33800,7 +33800,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis18, 1923, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis18, 1923, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1927 * return bn.slow.partsort(arr, n, axis=18) @@ -33812,7 +33812,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis19, 1927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis19, 1927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1931 * return bn.slow.partsort(arr, n, axis=19) @@ -33824,7 +33824,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__137 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__137); __Pyx_GIVEREF(__pyx_tuple__137); - __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis20, 1931, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis20, 1931, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1935 * return bn.slow.partsort(arr, n, axis=20) @@ -33836,7 +33836,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__139 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__139); __Pyx_GIVEREF(__pyx_tuple__139); - __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis21, 1935, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis21, 1935, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1939 * return bn.slow.partsort(arr, n, axis=21) @@ -33848,7 +33848,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__141 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__141); __Pyx_GIVEREF(__pyx_tuple__141); - __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis22, 1939, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis22, 1939, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1943 * return bn.slow.partsort(arr, n, axis=22) @@ -33860,7 +33860,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__143 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__143); __Pyx_GIVEREF(__pyx_tuple__143); - __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis23, 1943, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis23, 1943, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1947 * return bn.slow.partsort(arr, n, axis=23) @@ -33872,7 +33872,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__145 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__145); __Pyx_GIVEREF(__pyx_tuple__145); - __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis24, 1947, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis24, 1947, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1951 * return bn.slow.partsort(arr, n, axis=24) @@ -33884,7 +33884,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__147 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1951; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__147); __Pyx_GIVEREF(__pyx_tuple__147); - __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis25, 1951, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1951; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis25, 1951, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1951; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1955 * return bn.slow.partsort(arr, n, axis=25) @@ -33896,7 +33896,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__149 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1955; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__149); __Pyx_GIVEREF(__pyx_tuple__149); - __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis26, 1955, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1955; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis26, 1955, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1955; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1959 * return bn.slow.partsort(arr, n, axis=26) @@ -33908,7 +33908,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__151 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__151); __Pyx_GIVEREF(__pyx_tuple__151); - __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis27, 1959, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis27, 1959, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1963 * return bn.slow.partsort(arr, n, axis=27) @@ -33920,7 +33920,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__153 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__153); __Pyx_GIVEREF(__pyx_tuple__153); - __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis28, 1963, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis28, 1963, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1967 * return bn.slow.partsort(arr, n, axis=28) @@ -33932,7 +33932,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__155 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1967; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__155); __Pyx_GIVEREF(__pyx_tuple__155); - __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis29, 1967, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1967; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis29, 1967, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1967; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1971 * return bn.slow.partsort(arr, n, axis=29) @@ -33944,7 +33944,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__157 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1971; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__157); __Pyx_GIVEREF(__pyx_tuple__157); - __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis30, 1971, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1971; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis30, 1971, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1971; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1975 * return bn.slow.partsort(arr, n, axis=30) @@ -33956,7 +33956,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__159 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1975; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__159); __Pyx_GIVEREF(__pyx_tuple__159); - __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis31, 1975, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1975; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis31, 1975, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1975; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1979 * return bn.slow.partsort(arr, n, axis=31) @@ -33968,7 +33968,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__161 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1979; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__161); __Pyx_GIVEREF(__pyx_tuple__161); - __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis32, 1979, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1979; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis32, 1979, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1979; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1983 * return bn.slow.partsort(arr, n, axis=32) @@ -33980,7 +33980,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__163 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__163); __Pyx_GIVEREF(__pyx_tuple__163); - __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axisNone, 1983, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axisNone, 1983, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -34947,513 +34947,513 @@ PyMODINIT_FUNC PyInit_partsort(void) /* "partsort.pyx":220 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int along axis=0." + * def partsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_5partsort_1d_int_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_5partsort_1d_float_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":256 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int8 along axis=0." + * def partsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_7partsort_1d_int8_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_7partsort_1d_float32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":292 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int32 along axis=0." + * def partsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_9partsort_1d_int32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_9partsort_1d_float64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":328 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int64 along axis=0." + * def partsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_11partsort_1d_int64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_11partsort_2d_float_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":364 + /* "partsort.pyx":365 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=0." + * def partsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_13partsort_2d_int_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_13partsort_2d_float_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":401 + /* "partsort.pyx":402 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=1." + * def partsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_15partsort_2d_int_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_15partsort_2d_float32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":438 + /* "partsort.pyx":439 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=0." + * def partsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_17partsort_2d_int8_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_17partsort_2d_float32_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":475 + /* "partsort.pyx":476 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=1." + * def partsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_19partsort_2d_int8_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_19partsort_2d_float64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":512 + /* "partsort.pyx":513 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=0." + * def partsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_21partsort_2d_int32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_21partsort_2d_float64_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":549 + /* "partsort.pyx":550 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=1." + * def partsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_23partsort_2d_int32_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_23partsort_3d_float_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":586 + /* "partsort.pyx":589 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=0." + * def partsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_25partsort_2d_int64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_25partsort_3d_float_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":623 + /* "partsort.pyx":628 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=1." + * def partsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_27partsort_2d_int64_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_27partsort_3d_float_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":660 + /* "partsort.pyx":667 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=0." + * def partsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_29partsort_3d_int_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_29partsort_3d_float32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":699 + /* "partsort.pyx":706 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=1." + * def partsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_31partsort_3d_int_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_31partsort_3d_float32_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":738 + /* "partsort.pyx":745 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=2." + * def partsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_33partsort_3d_int_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_33partsort_3d_float32_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float32_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":777 + /* "partsort.pyx":784 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=0." + * def partsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_35partsort_3d_int8_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_35partsort_3d_float64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":816 + /* "partsort.pyx":823 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=1." + * def partsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_37partsort_3d_int8_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_37partsort_3d_float64_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":855 + /* "partsort.pyx":862 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=2." + * def partsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_39partsort_3d_int8_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_39partsort_3d_float64_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int8_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float64_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":894 + /* "partsort.pyx":901 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=0." + * def partsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_41partsort_3d_int32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_41partsort_1d_int_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":933 + /* "partsort.pyx":937 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=1." + * def partsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_43partsort_3d_int32_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_43partsort_1d_int8_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":972 + /* "partsort.pyx":973 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=2." + * def partsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_45partsort_3d_int32_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_45partsort_1d_int32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int32_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1011 + /* "partsort.pyx":1009 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=0." + * def partsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_47partsort_3d_int64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_47partsort_1d_int64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1050 + /* "partsort.pyx":1045 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=1." + * def partsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_49partsort_3d_int64_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_49partsort_2d_int_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1089 + /* "partsort.pyx":1082 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=2." + * def partsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_51partsort_3d_int64_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_51partsort_2d_int_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int64_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1128 + /* "partsort.pyx":1119 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float along axis=0." + * def partsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_53partsort_1d_float_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_53partsort_2d_int8_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1164 + /* "partsort.pyx":1156 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float32 along axis=0." + * def partsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_55partsort_1d_float32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_55partsort_2d_int8_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1200 + /* "partsort.pyx":1193 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float64 along axis=0." + * def partsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_57partsort_1d_float64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_57partsort_2d_int32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1236 + /* "partsort.pyx":1230 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=0." + * def partsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_59partsort_2d_float_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_59partsort_2d_int32_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1273 + /* "partsort.pyx":1267 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=1." + * def partsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_61partsort_2d_float_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_61partsort_2d_int64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1310 + /* "partsort.pyx":1304 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=0." + * def partsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_63partsort_2d_float32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_63partsort_2d_int64_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1347 + /* "partsort.pyx":1341 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=1." + * def partsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_65partsort_2d_float32_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_65partsort_3d_int_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1384 + /* "partsort.pyx":1380 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=0." + * def partsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_67partsort_2d_float64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_67partsort_3d_int_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1421 + /* "partsort.pyx":1419 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=1." + * def partsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_69partsort_2d_float64_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_69partsort_3d_int_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1458 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=0." + * def partsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_71partsort_3d_float_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_71partsort_3d_int8_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1497 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=1." + * def partsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_73partsort_3d_float_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_73partsort_3d_int8_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1536 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=2." + * def partsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_75partsort_3d_float_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_75partsort_3d_int8_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int8_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1575 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=0." + * def partsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_77partsort_3d_float32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_77partsort_3d_int32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1614 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=1." + * def partsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_79partsort_3d_float32_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_79partsort_3d_int32_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=2." + * def partsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_81partsort_3d_float32_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_81partsort_3d_int32_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float32_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int32_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1692 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=0." + * def partsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_83partsort_3d_float64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_83partsort_3d_int64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1731 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=1." + * def partsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_85partsort_3d_float64_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_85partsort_3d_int64_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1770 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=2." + * def partsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_87partsort_3d_float64_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_87partsort_3d_int64_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float64_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int64_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1807 * return b * * cdef dict partsort_dict = {} # <<<<<<<<<<<<<< - * partsort_dict[(1, NPY_int, 0)] = partsort_1d_int_axis0 - * partsort_dict[(1, NPY_int8, 0)] = partsort_1d_int8_axis0 + * partsort_dict[(1, NPY_float, 0)] = partsort_1d_float_axis0 + * partsort_dict[(1, NPY_float32, 0)] = partsort_1d_float32_axis0 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -35465,17 +35465,17 @@ PyMODINIT_FUNC PyInit_partsort(void) /* "partsort.pyx":1808 * * cdef dict partsort_dict = {} - * partsort_dict[(1, NPY_int, 0)] = partsort_1d_int_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(1, NPY_int8, 0)] = partsort_1d_int8_axis0 - * partsort_dict[(1, NPY_int32, 0)] = partsort_1d_int32_axis0 + * partsort_dict[(1, NPY_float, 0)] = partsort_1d_float_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(1, NPY_float32, 0)] = partsort_1d_float32_axis0 + * partsort_dict[(1, NPY_float64, 0)] = partsort_1d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35494,18 +35494,18 @@ PyMODINIT_FUNC PyInit_partsort(void) /* "partsort.pyx":1809 * cdef dict partsort_dict = {} - * partsort_dict[(1, NPY_int, 0)] = partsort_1d_int_axis0 - * partsort_dict[(1, NPY_int8, 0)] = partsort_1d_int8_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(1, NPY_int32, 0)] = partsort_1d_int32_axis0 - * partsort_dict[(1, NPY_int64, 0)] = partsort_1d_int64_axis0 + * partsort_dict[(1, NPY_float, 0)] = partsort_1d_float_axis0 + * partsort_dict[(1, NPY_float32, 0)] = partsort_1d_float32_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(1, NPY_float64, 0)] = partsort_1d_float64_axis0 + * partsort_dict[(2, NPY_float, 0)] = partsort_2d_float_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -35523,19 +35523,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1810 - * partsort_dict[(1, NPY_int, 0)] = partsort_1d_int_axis0 - * partsort_dict[(1, NPY_int8, 0)] = partsort_1d_int8_axis0 - * partsort_dict[(1, NPY_int32, 0)] = partsort_1d_int32_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(1, NPY_int64, 0)] = partsort_1d_int64_axis0 - * partsort_dict[(2, NPY_int, 0)] = partsort_2d_int_axis0 + * partsort_dict[(1, NPY_float, 0)] = partsort_1d_float_axis0 + * partsort_dict[(1, NPY_float32, 0)] = partsort_1d_float32_axis0 + * partsort_dict[(1, NPY_float64, 0)] = partsort_1d_float64_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_float, 0)] = partsort_2d_float_axis0 + * partsort_dict[(2, NPY_float, 1)] = partsort_2d_float_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35553,25 +35553,25 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1811 - * partsort_dict[(1, NPY_int8, 0)] = partsort_1d_int8_axis0 - * partsort_dict[(1, NPY_int32, 0)] = partsort_1d_int32_axis0 - * partsort_dict[(1, NPY_int64, 0)] = partsort_1d_int64_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_int, 0)] = partsort_2d_int_axis0 - * partsort_dict[(2, NPY_int, 1)] = partsort_2d_int_axis1 + * partsort_dict[(1, NPY_float32, 0)] = partsort_1d_float32_axis0 + * partsort_dict[(1, NPY_float64, 0)] = partsort_1d_float64_axis0 + * partsort_dict[(2, NPY_float, 0)] = partsort_2d_float_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_float, 1)] = partsort_2d_float_axis1 + * partsort_dict[(2, NPY_float32, 0)] = partsort_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -35583,19 +35583,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1812 - * partsort_dict[(1, NPY_int32, 0)] = partsort_1d_int32_axis0 - * partsort_dict[(1, NPY_int64, 0)] = partsort_1d_int64_axis0 - * partsort_dict[(2, NPY_int, 0)] = partsort_2d_int_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_int, 1)] = partsort_2d_int_axis1 - * partsort_dict[(2, NPY_int8, 0)] = partsort_2d_int8_axis0 + * partsort_dict[(1, NPY_float64, 0)] = partsort_1d_float64_axis0 + * partsort_dict[(2, NPY_float, 0)] = partsort_2d_float_axis0 + * partsort_dict[(2, NPY_float, 1)] = partsort_2d_float_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_float32, 0)] = partsort_2d_float32_axis0 + * partsort_dict[(2, NPY_float32, 1)] = partsort_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35604,28 +35604,28 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1813 - * partsort_dict[(1, NPY_int64, 0)] = partsort_1d_int64_axis0 - * partsort_dict[(2, NPY_int, 0)] = partsort_2d_int_axis0 - * partsort_dict[(2, NPY_int, 1)] = partsort_2d_int_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_int8, 0)] = partsort_2d_int8_axis0 - * partsort_dict[(2, NPY_int8, 1)] = partsort_2d_int8_axis1 + * partsort_dict[(2, NPY_float, 0)] = partsort_2d_float_axis0 + * partsort_dict[(2, NPY_float, 1)] = partsort_2d_float_axis1 + * partsort_dict[(2, NPY_float32, 0)] = partsort_2d_float32_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_float32, 1)] = partsort_2d_float32_axis1 + * partsort_dict[(2, NPY_float64, 0)] = partsort_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -35634,28 +35634,28 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1814 - * partsort_dict[(2, NPY_int, 0)] = partsort_2d_int_axis0 - * partsort_dict[(2, NPY_int, 1)] = partsort_2d_int_axis1 - * partsort_dict[(2, NPY_int8, 0)] = partsort_2d_int8_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_int8, 1)] = partsort_2d_int8_axis1 - * partsort_dict[(2, NPY_int32, 0)] = partsort_2d_int32_axis0 + * partsort_dict[(2, NPY_float, 1)] = partsort_2d_float_axis1 + * partsort_dict[(2, NPY_float32, 0)] = partsort_2d_float32_axis0 + * partsort_dict[(2, NPY_float32, 1)] = partsort_2d_float32_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_float64, 0)] = partsort_2d_float64_axis0 + * partsort_dict[(2, NPY_float64, 1)] = partsort_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35664,28 +35664,28 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1815 - * partsort_dict[(2, NPY_int, 1)] = partsort_2d_int_axis1 - * partsort_dict[(2, NPY_int8, 0)] = partsort_2d_int8_axis0 - * partsort_dict[(2, NPY_int8, 1)] = partsort_2d_int8_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_int32, 0)] = partsort_2d_int32_axis0 - * partsort_dict[(2, NPY_int32, 1)] = partsort_2d_int32_axis1 + * partsort_dict[(2, NPY_float32, 0)] = partsort_2d_float32_axis0 + * partsort_dict[(2, NPY_float32, 1)] = partsort_2d_float32_axis1 + * partsort_dict[(2, NPY_float64, 0)] = partsort_2d_float64_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_float64, 1)] = partsort_2d_float64_axis1 + * partsort_dict[(3, NPY_float, 0)] = partsort_3d_float_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -35694,28 +35694,28 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1816 - * partsort_dict[(2, NPY_int8, 0)] = partsort_2d_int8_axis0 - * partsort_dict[(2, NPY_int8, 1)] = partsort_2d_int8_axis1 - * partsort_dict[(2, NPY_int32, 0)] = partsort_2d_int32_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_int32, 1)] = partsort_2d_int32_axis1 - * partsort_dict[(2, NPY_int64, 0)] = partsort_2d_int64_axis0 + /* "partsort.pyx":1816 + * partsort_dict[(2, NPY_float32, 1)] = partsort_2d_float32_axis1 + * partsort_dict[(2, NPY_float64, 0)] = partsort_2d_float64_axis0 + * partsort_dict[(2, NPY_float64, 1)] = partsort_2d_float64_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_float, 0)] = partsort_3d_float_axis0 + * partsort_dict[(3, NPY_float, 1)] = partsort_3d_float_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35724,118 +35724,118 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1817 - * partsort_dict[(2, NPY_int8, 1)] = partsort_2d_int8_axis1 - * partsort_dict[(2, NPY_int32, 0)] = partsort_2d_int32_axis0 - * partsort_dict[(2, NPY_int32, 1)] = partsort_2d_int32_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_int64, 0)] = partsort_2d_int64_axis0 - * partsort_dict[(2, NPY_int64, 1)] = partsort_2d_int64_axis1 + * partsort_dict[(2, NPY_float64, 0)] = partsort_2d_float64_axis0 + * partsort_dict[(2, NPY_float64, 1)] = partsort_2d_float64_axis1 + * partsort_dict[(3, NPY_float, 0)] = partsort_3d_float_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_float, 1)] = partsort_3d_float_axis1 + * partsort_dict[(3, NPY_float, 2)] = partsort_3d_float_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1818 - * partsort_dict[(2, NPY_int32, 0)] = partsort_2d_int32_axis0 - * partsort_dict[(2, NPY_int32, 1)] = partsort_2d_int32_axis1 - * partsort_dict[(2, NPY_int64, 0)] = partsort_2d_int64_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_int64, 1)] = partsort_2d_int64_axis1 - * partsort_dict[(3, NPY_int, 0)] = partsort_3d_int_axis0 + * partsort_dict[(2, NPY_float64, 1)] = partsort_2d_float64_axis1 + * partsort_dict[(3, NPY_float, 0)] = partsort_3d_float_axis0 + * partsort_dict[(3, NPY_float, 1)] = partsort_3d_float_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_float, 2)] = partsort_3d_float_axis2 + * partsort_dict[(3, NPY_float32, 0)] = partsort_3d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1819 - * partsort_dict[(2, NPY_int32, 1)] = partsort_2d_int32_axis1 - * partsort_dict[(2, NPY_int64, 0)] = partsort_2d_int64_axis0 - * partsort_dict[(2, NPY_int64, 1)] = partsort_2d_int64_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int, 0)] = partsort_3d_int_axis0 - * partsort_dict[(3, NPY_int, 1)] = partsort_3d_int_axis1 + * partsort_dict[(3, NPY_float, 0)] = partsort_3d_float_axis0 + * partsort_dict[(3, NPY_float, 1)] = partsort_3d_float_axis1 + * partsort_dict[(3, NPY_float, 2)] = partsort_3d_float_axis2 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_float32, 0)] = partsort_3d_float32_axis0 + * partsort_dict[(3, NPY_float32, 1)] = partsort_3d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1820 - * partsort_dict[(2, NPY_int64, 0)] = partsort_2d_int64_axis0 - * partsort_dict[(2, NPY_int64, 1)] = partsort_2d_int64_axis1 - * partsort_dict[(3, NPY_int, 0)] = partsort_3d_int_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int, 1)] = partsort_3d_int_axis1 - * partsort_dict[(3, NPY_int, 2)] = partsort_3d_int_axis2 + * partsort_dict[(3, NPY_float, 1)] = partsort_3d_float_axis1 + * partsort_dict[(3, NPY_float, 2)] = partsort_3d_float_axis2 + * partsort_dict[(3, NPY_float32, 0)] = partsort_3d_float32_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_float32, 1)] = partsort_3d_float32_axis1 + * partsort_dict[(3, NPY_float32, 2)] = partsort_3d_float32_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35853,19 +35853,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1821 - * partsort_dict[(2, NPY_int64, 1)] = partsort_2d_int64_axis1 - * partsort_dict[(3, NPY_int, 0)] = partsort_3d_int_axis0 - * partsort_dict[(3, NPY_int, 1)] = partsort_3d_int_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int, 2)] = partsort_3d_int_axis2 - * partsort_dict[(3, NPY_int8, 0)] = partsort_3d_int8_axis0 + * partsort_dict[(3, NPY_float, 2)] = partsort_3d_float_axis2 + * partsort_dict[(3, NPY_float32, 0)] = partsort_3d_float32_axis0 + * partsort_dict[(3, NPY_float32, 1)] = partsort_3d_float32_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_float32, 2)] = partsort_3d_float32_axis2 + * partsort_dict[(3, NPY_float64, 0)] = partsort_3d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -35883,19 +35883,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1822 - * partsort_dict[(3, NPY_int, 0)] = partsort_3d_int_axis0 - * partsort_dict[(3, NPY_int, 1)] = partsort_3d_int_axis1 - * partsort_dict[(3, NPY_int, 2)] = partsort_3d_int_axis2 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int8, 0)] = partsort_3d_int8_axis0 - * partsort_dict[(3, NPY_int8, 1)] = partsort_3d_int8_axis1 + * partsort_dict[(3, NPY_float32, 0)] = partsort_3d_float32_axis0 + * partsort_dict[(3, NPY_float32, 1)] = partsort_3d_float32_axis1 + * partsort_dict[(3, NPY_float32, 2)] = partsort_3d_float32_axis2 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_float64, 0)] = partsort_3d_float64_axis0 + * partsort_dict[(3, NPY_float64, 1)] = partsort_3d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float32_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35913,19 +35913,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1823 - * partsort_dict[(3, NPY_int, 1)] = partsort_3d_int_axis1 - * partsort_dict[(3, NPY_int, 2)] = partsort_3d_int_axis2 - * partsort_dict[(3, NPY_int8, 0)] = partsort_3d_int8_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int8, 1)] = partsort_3d_int8_axis1 - * partsort_dict[(3, NPY_int8, 2)] = partsort_3d_int8_axis2 + * partsort_dict[(3, NPY_float32, 1)] = partsort_3d_float32_axis1 + * partsort_dict[(3, NPY_float32, 2)] = partsort_3d_float32_axis2 + * partsort_dict[(3, NPY_float64, 0)] = partsort_3d_float64_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_float64, 1)] = partsort_3d_float64_axis1 + * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -35943,19 +35943,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1824 - * partsort_dict[(3, NPY_int, 2)] = partsort_3d_int_axis2 - * partsort_dict[(3, NPY_int8, 0)] = partsort_3d_int8_axis0 - * partsort_dict[(3, NPY_int8, 1)] = partsort_3d_int8_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int8, 2)] = partsort_3d_int8_axis2 - * partsort_dict[(3, NPY_int32, 0)] = partsort_3d_int32_axis0 + * partsort_dict[(3, NPY_float32, 2)] = partsort_3d_float32_axis2 + * partsort_dict[(3, NPY_float64, 0)] = partsort_3d_float64_axis0 + * partsort_dict[(3, NPY_float64, 1)] = partsort_3d_float64_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 + * partsort_dict[(1, NPY_int, 0)] = partsort_1d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35973,19 +35973,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1825 - * partsort_dict[(3, NPY_int8, 0)] = partsort_3d_int8_axis0 - * partsort_dict[(3, NPY_int8, 1)] = partsort_3d_int8_axis1 - * partsort_dict[(3, NPY_int8, 2)] = partsort_3d_int8_axis2 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int32, 0)] = partsort_3d_int32_axis0 - * partsort_dict[(3, NPY_int32, 1)] = partsort_3d_int32_axis1 + * partsort_dict[(3, NPY_float64, 0)] = partsort_3d_float64_axis0 + * partsort_dict[(3, NPY_float64, 1)] = partsort_3d_float64_axis1 + * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 # <<<<<<<<<<<<<< + * partsort_dict[(1, NPY_int, 0)] = partsort_1d_int_axis0 + * partsort_dict[(1, NPY_int8, 0)] = partsort_1d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int8_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float64_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36003,25 +36003,25 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1826 - * partsort_dict[(3, NPY_int8, 1)] = partsort_3d_int8_axis1 - * partsort_dict[(3, NPY_int8, 2)] = partsort_3d_int8_axis2 - * partsort_dict[(3, NPY_int32, 0)] = partsort_3d_int32_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int32, 1)] = partsort_3d_int32_axis1 - * partsort_dict[(3, NPY_int32, 2)] = partsort_3d_int32_axis2 + * partsort_dict[(3, NPY_float64, 1)] = partsort_3d_float64_axis1 + * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 + * partsort_dict[(1, NPY_int, 0)] = partsort_1d_int_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(1, NPY_int8, 0)] = partsort_1d_int8_axis0 + * partsort_dict[(1, NPY_int32, 0)] = partsort_1d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -36033,43 +36033,43 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1827 - * partsort_dict[(3, NPY_int8, 2)] = partsort_3d_int8_axis2 - * partsort_dict[(3, NPY_int32, 0)] = partsort_3d_int32_axis0 - * partsort_dict[(3, NPY_int32, 1)] = partsort_3d_int32_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int32, 2)] = partsort_3d_int32_axis2 - * partsort_dict[(3, NPY_int64, 0)] = partsort_3d_int64_axis0 + * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 + * partsort_dict[(1, NPY_int, 0)] = partsort_1d_int_axis0 + * partsort_dict[(1, NPY_int8, 0)] = partsort_1d_int8_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(1, NPY_int32, 0)] = partsort_1d_int32_axis0 + * partsort_dict[(1, NPY_int64, 0)] = partsort_1d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1828 - * partsort_dict[(3, NPY_int32, 0)] = partsort_3d_int32_axis0 - * partsort_dict[(3, NPY_int32, 1)] = partsort_3d_int32_axis1 - * partsort_dict[(3, NPY_int32, 2)] = partsort_3d_int32_axis2 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int64, 0)] = partsort_3d_int64_axis0 - * partsort_dict[(3, NPY_int64, 1)] = partsort_3d_int64_axis1 + * partsort_dict[(1, NPY_int, 0)] = partsort_1d_int_axis0 + * partsort_dict[(1, NPY_int8, 0)] = partsort_1d_int8_axis0 + * partsort_dict[(1, NPY_int32, 0)] = partsort_1d_int32_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(1, NPY_int64, 0)] = partsort_1d_int64_axis0 + * partsort_dict[(2, NPY_int, 0)] = partsort_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int32_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -36079,27 +36079,27 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1829 - * partsort_dict[(3, NPY_int32, 1)] = partsort_3d_int32_axis1 - * partsort_dict[(3, NPY_int32, 2)] = partsort_3d_int32_axis2 - * partsort_dict[(3, NPY_int64, 0)] = partsort_3d_int64_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int64, 1)] = partsort_3d_int64_axis1 - * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 + * partsort_dict[(1, NPY_int8, 0)] = partsort_1d_int8_axis0 + * partsort_dict[(1, NPY_int32, 0)] = partsort_1d_int32_axis0 + * partsort_dict[(1, NPY_int64, 0)] = partsort_1d_int64_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_int, 0)] = partsort_2d_int_axis0 + * partsort_dict[(2, NPY_int, 1)] = partsort_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -36109,9 +36109,9 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -36123,85 +36123,85 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1830 - * partsort_dict[(3, NPY_int32, 2)] = partsort_3d_int32_axis2 - * partsort_dict[(3, NPY_int64, 0)] = partsort_3d_int64_axis0 - * partsort_dict[(3, NPY_int64, 1)] = partsort_3d_int64_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 - * partsort_dict[(1, NPY_float, 0)] = partsort_1d_float_axis0 + * partsort_dict[(1, NPY_int32, 0)] = partsort_1d_int32_axis0 + * partsort_dict[(1, NPY_int64, 0)] = partsort_1d_int64_axis0 + * partsort_dict[(2, NPY_int, 0)] = partsort_2d_int_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_int, 1)] = partsort_2d_int_axis1 + * partsort_dict[(2, NPY_int8, 0)] = partsort_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1831 - * partsort_dict[(3, NPY_int64, 0)] = partsort_3d_int64_axis0 - * partsort_dict[(3, NPY_int64, 1)] = partsort_3d_int64_axis1 - * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 # <<<<<<<<<<<<<< - * partsort_dict[(1, NPY_float, 0)] = partsort_1d_float_axis0 - * partsort_dict[(1, NPY_float32, 0)] = partsort_1d_float32_axis0 + * partsort_dict[(1, NPY_int64, 0)] = partsort_1d_int64_axis0 + * partsort_dict[(2, NPY_int, 0)] = partsort_2d_int_axis0 + * partsort_dict[(2, NPY_int, 1)] = partsort_2d_int_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_int8, 0)] = partsort_2d_int8_axis0 + * partsort_dict[(2, NPY_int8, 1)] = partsort_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int64_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1832 - * partsort_dict[(3, NPY_int64, 1)] = partsort_3d_int64_axis1 - * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 - * partsort_dict[(1, NPY_float, 0)] = partsort_1d_float_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(1, NPY_float32, 0)] = partsort_1d_float32_axis0 - * partsort_dict[(1, NPY_float64, 0)] = partsort_1d_float64_axis0 + * partsort_dict[(2, NPY_int, 0)] = partsort_2d_int_axis0 + * partsort_dict[(2, NPY_int, 1)] = partsort_2d_int_axis1 + * partsort_dict[(2, NPY_int8, 0)] = partsort_2d_int8_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_int8, 1)] = partsort_2d_int8_axis1 + * partsort_dict[(2, NPY_int32, 0)] = partsort_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -36213,55 +36213,55 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1833 - * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 - * partsort_dict[(1, NPY_float, 0)] = partsort_1d_float_axis0 - * partsort_dict[(1, NPY_float32, 0)] = partsort_1d_float32_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(1, NPY_float64, 0)] = partsort_1d_float64_axis0 - * partsort_dict[(2, NPY_float, 0)] = partsort_2d_float_axis0 + * partsort_dict[(2, NPY_int, 1)] = partsort_2d_int_axis1 + * partsort_dict[(2, NPY_int8, 0)] = partsort_2d_int8_axis0 + * partsort_dict[(2, NPY_int8, 1)] = partsort_2d_int8_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_int32, 0)] = partsort_2d_int32_axis0 + * partsort_dict[(2, NPY_int32, 1)] = partsort_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1834 - * partsort_dict[(1, NPY_float, 0)] = partsort_1d_float_axis0 - * partsort_dict[(1, NPY_float32, 0)] = partsort_1d_float32_axis0 - * partsort_dict[(1, NPY_float64, 0)] = partsort_1d_float64_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_float, 0)] = partsort_2d_float_axis0 - * partsort_dict[(2, NPY_float, 1)] = partsort_2d_float_axis1 + * partsort_dict[(2, NPY_int8, 0)] = partsort_2d_int8_axis0 + * partsort_dict[(2, NPY_int8, 1)] = partsort_2d_int8_axis1 + * partsort_dict[(2, NPY_int32, 0)] = partsort_2d_int32_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_int32, 1)] = partsort_2d_int32_axis1 + * partsort_dict[(2, NPY_int64, 0)] = partsort_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -36273,19 +36273,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1835 - * partsort_dict[(1, NPY_float32, 0)] = partsort_1d_float32_axis0 - * partsort_dict[(1, NPY_float64, 0)] = partsort_1d_float64_axis0 - * partsort_dict[(2, NPY_float, 0)] = partsort_2d_float_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_float, 1)] = partsort_2d_float_axis1 - * partsort_dict[(2, NPY_float32, 0)] = partsort_2d_float32_axis0 + * partsort_dict[(2, NPY_int8, 1)] = partsort_2d_int8_axis1 + * partsort_dict[(2, NPY_int32, 0)] = partsort_2d_int32_axis0 + * partsort_dict[(2, NPY_int32, 1)] = partsort_2d_int32_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_int64, 0)] = partsort_2d_int64_axis0 + * partsort_dict[(2, NPY_int64, 1)] = partsort_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36294,28 +36294,28 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1836 - * partsort_dict[(1, NPY_float64, 0)] = partsort_1d_float64_axis0 - * partsort_dict[(2, NPY_float, 0)] = partsort_2d_float_axis0 - * partsort_dict[(2, NPY_float, 1)] = partsort_2d_float_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_float32, 0)] = partsort_2d_float32_axis0 - * partsort_dict[(2, NPY_float32, 1)] = partsort_2d_float32_axis1 + * partsort_dict[(2, NPY_int32, 0)] = partsort_2d_int32_axis0 + * partsort_dict[(2, NPY_int32, 1)] = partsort_2d_int32_axis1 + * partsort_dict[(2, NPY_int64, 0)] = partsort_2d_int64_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_int64, 1)] = partsort_2d_int64_axis1 + * partsort_dict[(3, NPY_int, 0)] = partsort_3d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -36324,28 +36324,28 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1837 - * partsort_dict[(2, NPY_float, 0)] = partsort_2d_float_axis0 - * partsort_dict[(2, NPY_float, 1)] = partsort_2d_float_axis1 - * partsort_dict[(2, NPY_float32, 0)] = partsort_2d_float32_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_float32, 1)] = partsort_2d_float32_axis1 - * partsort_dict[(2, NPY_float64, 0)] = partsort_2d_float64_axis0 + * partsort_dict[(2, NPY_int32, 1)] = partsort_2d_int32_axis1 + * partsort_dict[(2, NPY_int64, 0)] = partsort_2d_int64_axis0 + * partsort_dict[(2, NPY_int64, 1)] = partsort_2d_int64_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int, 0)] = partsort_3d_int_axis0 + * partsort_dict[(3, NPY_int, 1)] = partsort_3d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36354,118 +36354,118 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1838 - * partsort_dict[(2, NPY_float, 1)] = partsort_2d_float_axis1 - * partsort_dict[(2, NPY_float32, 0)] = partsort_2d_float32_axis0 - * partsort_dict[(2, NPY_float32, 1)] = partsort_2d_float32_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_float64, 0)] = partsort_2d_float64_axis0 - * partsort_dict[(2, NPY_float64, 1)] = partsort_2d_float64_axis1 + * partsort_dict[(2, NPY_int64, 0)] = partsort_2d_int64_axis0 + * partsort_dict[(2, NPY_int64, 1)] = partsort_2d_int64_axis1 + * partsort_dict[(3, NPY_int, 0)] = partsort_3d_int_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int, 1)] = partsort_3d_int_axis1 + * partsort_dict[(3, NPY_int, 2)] = partsort_3d_int_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1839 - * partsort_dict[(2, NPY_float32, 0)] = partsort_2d_float32_axis0 - * partsort_dict[(2, NPY_float32, 1)] = partsort_2d_float32_axis1 - * partsort_dict[(2, NPY_float64, 0)] = partsort_2d_float64_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_float64, 1)] = partsort_2d_float64_axis1 - * partsort_dict[(3, NPY_float, 0)] = partsort_3d_float_axis0 + * partsort_dict[(2, NPY_int64, 1)] = partsort_2d_int64_axis1 + * partsort_dict[(3, NPY_int, 0)] = partsort_3d_int_axis0 + * partsort_dict[(3, NPY_int, 1)] = partsort_3d_int_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int, 2)] = partsort_3d_int_axis2 + * partsort_dict[(3, NPY_int8, 0)] = partsort_3d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1840 - * partsort_dict[(2, NPY_float32, 1)] = partsort_2d_float32_axis1 - * partsort_dict[(2, NPY_float64, 0)] = partsort_2d_float64_axis0 - * partsort_dict[(2, NPY_float64, 1)] = partsort_2d_float64_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_float, 0)] = partsort_3d_float_axis0 - * partsort_dict[(3, NPY_float, 1)] = partsort_3d_float_axis1 + * partsort_dict[(3, NPY_int, 0)] = partsort_3d_int_axis0 + * partsort_dict[(3, NPY_int, 1)] = partsort_3d_int_axis1 + * partsort_dict[(3, NPY_int, 2)] = partsort_3d_int_axis2 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int8, 0)] = partsort_3d_int8_axis0 + * partsort_dict[(3, NPY_int8, 1)] = partsort_3d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1841 - * partsort_dict[(2, NPY_float64, 0)] = partsort_2d_float64_axis0 - * partsort_dict[(2, NPY_float64, 1)] = partsort_2d_float64_axis1 - * partsort_dict[(3, NPY_float, 0)] = partsort_3d_float_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_float, 1)] = partsort_3d_float_axis1 - * partsort_dict[(3, NPY_float, 2)] = partsort_3d_float_axis2 + * partsort_dict[(3, NPY_int, 1)] = partsort_3d_int_axis1 + * partsort_dict[(3, NPY_int, 2)] = partsort_3d_int_axis2 + * partsort_dict[(3, NPY_int8, 0)] = partsort_3d_int8_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int8, 1)] = partsort_3d_int8_axis1 + * partsort_dict[(3, NPY_int8, 2)] = partsort_3d_int8_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36483,19 +36483,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1842 - * partsort_dict[(2, NPY_float64, 1)] = partsort_2d_float64_axis1 - * partsort_dict[(3, NPY_float, 0)] = partsort_3d_float_axis0 - * partsort_dict[(3, NPY_float, 1)] = partsort_3d_float_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_float, 2)] = partsort_3d_float_axis2 - * partsort_dict[(3, NPY_float32, 0)] = partsort_3d_float32_axis0 + * partsort_dict[(3, NPY_int, 2)] = partsort_3d_int_axis2 + * partsort_dict[(3, NPY_int8, 0)] = partsort_3d_int8_axis0 + * partsort_dict[(3, NPY_int8, 1)] = partsort_3d_int8_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int8, 2)] = partsort_3d_int8_axis2 + * partsort_dict[(3, NPY_int32, 0)] = partsort_3d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -36513,19 +36513,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1843 - * partsort_dict[(3, NPY_float, 0)] = partsort_3d_float_axis0 - * partsort_dict[(3, NPY_float, 1)] = partsort_3d_float_axis1 - * partsort_dict[(3, NPY_float, 2)] = partsort_3d_float_axis2 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_float32, 0)] = partsort_3d_float32_axis0 - * partsort_dict[(3, NPY_float32, 1)] = partsort_3d_float32_axis1 + * partsort_dict[(3, NPY_int8, 0)] = partsort_3d_int8_axis0 + * partsort_dict[(3, NPY_int8, 1)] = partsort_3d_int8_axis1 + * partsort_dict[(3, NPY_int8, 2)] = partsort_3d_int8_axis2 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int32, 0)] = partsort_3d_int32_axis0 + * partsort_dict[(3, NPY_int32, 1)] = partsort_3d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int8_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36543,19 +36543,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1844 - * partsort_dict[(3, NPY_float, 1)] = partsort_3d_float_axis1 - * partsort_dict[(3, NPY_float, 2)] = partsort_3d_float_axis2 - * partsort_dict[(3, NPY_float32, 0)] = partsort_3d_float32_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_float32, 1)] = partsort_3d_float32_axis1 - * partsort_dict[(3, NPY_float32, 2)] = partsort_3d_float32_axis2 + * partsort_dict[(3, NPY_int8, 1)] = partsort_3d_int8_axis1 + * partsort_dict[(3, NPY_int8, 2)] = partsort_3d_int8_axis2 + * partsort_dict[(3, NPY_int32, 0)] = partsort_3d_int32_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int32, 1)] = partsort_3d_int32_axis1 + * partsort_dict[(3, NPY_int32, 2)] = partsort_3d_int32_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -36573,19 +36573,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1845 - * partsort_dict[(3, NPY_float, 2)] = partsort_3d_float_axis2 - * partsort_dict[(3, NPY_float32, 0)] = partsort_3d_float32_axis0 - * partsort_dict[(3, NPY_float32, 1)] = partsort_3d_float32_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_float32, 2)] = partsort_3d_float32_axis2 - * partsort_dict[(3, NPY_float64, 0)] = partsort_3d_float64_axis0 + * partsort_dict[(3, NPY_int8, 2)] = partsort_3d_int8_axis2 + * partsort_dict[(3, NPY_int32, 0)] = partsort_3d_int32_axis0 + * partsort_dict[(3, NPY_int32, 1)] = partsort_3d_int32_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int32, 2)] = partsort_3d_int32_axis2 + * partsort_dict[(3, NPY_int64, 0)] = partsort_3d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36603,19 +36603,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1846 - * partsort_dict[(3, NPY_float32, 0)] = partsort_3d_float32_axis0 - * partsort_dict[(3, NPY_float32, 1)] = partsort_3d_float32_axis1 - * partsort_dict[(3, NPY_float32, 2)] = partsort_3d_float32_axis2 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_float64, 0)] = partsort_3d_float64_axis0 - * partsort_dict[(3, NPY_float64, 1)] = partsort_3d_float64_axis1 + * partsort_dict[(3, NPY_int32, 0)] = partsort_3d_int32_axis0 + * partsort_dict[(3, NPY_int32, 1)] = partsort_3d_int32_axis1 + * partsort_dict[(3, NPY_int32, 2)] = partsort_3d_int32_axis2 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int64, 0)] = partsort_3d_int64_axis0 + * partsort_dict[(3, NPY_int64, 1)] = partsort_3d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float32_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int32_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -36633,19 +36633,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1847 - * partsort_dict[(3, NPY_float32, 1)] = partsort_3d_float32_axis1 - * partsort_dict[(3, NPY_float32, 2)] = partsort_3d_float32_axis2 - * partsort_dict[(3, NPY_float64, 0)] = partsort_3d_float64_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_float64, 1)] = partsort_3d_float64_axis1 - * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 + * partsort_dict[(3, NPY_int32, 1)] = partsort_3d_int32_axis1 + * partsort_dict[(3, NPY_int32, 2)] = partsort_3d_int32_axis2 + * partsort_dict[(3, NPY_int64, 0)] = partsort_3d_int64_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int64, 1)] = partsort_3d_int64_axis1 + * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36663,19 +36663,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1848 - * partsort_dict[(3, NPY_float32, 2)] = partsort_3d_float32_axis2 - * partsort_dict[(3, NPY_float64, 0)] = partsort_3d_float64_axis0 - * partsort_dict[(3, NPY_float64, 1)] = partsort_3d_float64_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 + * partsort_dict[(3, NPY_int32, 2)] = partsort_3d_int32_axis2 + * partsort_dict[(3, NPY_int64, 0)] = partsort_3d_int64_axis0 + * partsort_dict[(3, NPY_int64, 1)] = partsort_3d_int64_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -36693,19 +36693,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1849 - * partsort_dict[(3, NPY_float64, 0)] = partsort_3d_float64_axis0 - * partsort_dict[(3, NPY_float64, 1)] = partsort_3d_float64_axis1 - * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int64, 0)] = partsort_3d_int64_axis0 + * partsort_dict[(3, NPY_int64, 1)] = partsort_3d_int64_axis1 + * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 # <<<<<<<<<<<<<< * * def partsort_slow_axis0(arr, n): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float64_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int64_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36723,7 +36723,7 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1851 - * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 + * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 * * def partsort_slow_axis0(arr, n): # <<<<<<<<<<<<<< * "Unaccelerated (slow) partsort along axis 0." @@ -37697,7 +37697,7 @@ PyMODINIT_FUNC PyInit_partsort(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/rankdata.c b/bottlechest/src/func/32bit/rankdata.c index 1c1dac7e6e..19ee529adb 100644 --- a/bottlechest/src/func/32bit/rankdata.c +++ b/bottlechest/src/func/32bit/rankdata.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1098,14 +1098,14 @@ static PyObject *__pyx_v_8rankdata_rankdata_dict = 0; static PyObject *__pyx_v_8rankdata_rankdata_slow_dict = 0; static PyObject *__pyx_v_8rankdata_nanrankdata_dict = 0; static PyObject *__pyx_v_8rankdata_nanrankdata_slow_dict = 0; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t = { "intp_t", NULL, sizeof(__pyx_t_5numpy_intp_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_intp_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_intp_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "rankdata" int __pyx_module_is_main_rankdata = 0; @@ -1118,27 +1118,27 @@ static PyObject *__pyx_builtin_xrange; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_8rankdata_rankdata(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_8rankdata_2rankdata_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_8rankdata_4rankdata_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_6rankdata_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_8rankdata_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_10rankdata_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_12rankdata_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_24rankdata_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_26rankdata_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_30rankdata_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_32rankdata_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_34rankdata_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_36rankdata_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_38rankdata_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_40rankdata_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_42rankdata_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_44rankdata_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_4rankdata_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_6rankdata_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_8rankdata_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_10rankdata_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_12rankdata_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_14rankdata_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_16rankdata_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_18rankdata_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_20rankdata_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_22rankdata_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_24rankdata_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_26rankdata_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_28rankdata_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_30rankdata_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_32rankdata_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_34rankdata_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_36rankdata_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_38rankdata_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_40rankdata_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_42rankdata_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_44rankdata_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_8rankdata_46rankdata_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_8rankdata_48rankdata_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_8rankdata_50rankdata_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1407,16 +1407,15 @@ static char __pyx_k_Ranks_the_data_dealing_with_tie[] = "\n Ranks the data, d static char __pyx_k_Return_nanrankdata_function_and[] = "\n Return nanrankdata function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.nanrankdata() is in checking that `axis` is within range, converting\n `arr` into an array (if it is not already an array), and selecting the\n function to use to rank the elements.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which to rank the elements of the array.\n \n Returns\n -------\n func : function\n The nanrankdata function that matches the number of dimensions and\n dtype of the input array and the axis along which you wish to rank.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([np.nan, 2, 2, 3])\n \n Obtain the function needed to rank the elements of `arr` along axis=0:\n\n >>> func, a = bn.func.nanrankdata_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array:\n\n >>> func(a)\n array([ nan, 1.5, 1.5, 3. ])\n\n "; static char __pyx_k_Return_rankdata_function_and_ar[] = "\n Return rankdata function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.rankdata() is in checking that `axis` is within range, converting `arr`\n into an array (if it is not already an array), and selecting the function\n to use to rank the elements.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which to rank the elements of the array.\n \n Returns\n -------\n func : function\n The rankdata function that matches the number of dimensions and dtype\n of the input array and the axis along which you wish to rank.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([0, 2, 2, 3])\n \n Obtain the function needed to rank the elements of `arr` along axis=0:\n\n >>> func, a = bn.func.rankdata_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array:\n\n >>> func(a)\n array([ 1. , 2.5, 2.5, 4. ])\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/rankdata.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\rankdata.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Ranks_the_data_dealing_with_tie_2[] = "\n Ranks the data, dealing with ties and NaNs appropriately.\n\n Equal values are assigned a rank that is the average of the ranks that\n would have been otherwise assigned to all of the values within that set.\n Ranks begin at 1, not 0.\n\n NaNs in the input array are returned as NaNs.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}, optional\n Axis along which the elements of the array are ranked. The default\n (axis=None) is to rank the elements of the flattened array.\n\n Returns\n -------\n y : ndarray\n An array with the same shape as `arr`. The dtype is 'float64'.\n \n See also\n --------\n bottlechest.rankdata: Ranks the data, dealing with ties and appropriately.\n \n Examples\n --------\n >>> bn.nanrankdata([np.nan, 2, 2, 3])\n array([ nan, 1.5, 1.5, 3. ])\n >>> bn.nanrankdata([[np.nan, 2], [2, 3]])\n array([ nan, 1.5, 1.5, 3. ])\n >>> bn.nanrankdata([[np.nan, 2], [2, 3]], axis=0)\n array([[ nan, 1.],\n [ 1., 2.]])\n >>> bn.nanrankdata([[np.nan, 2], [2, 3]], axis=1)\n array([[ nan, 1.],\n [ 1., 2.]])\n \n "; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1432,6 +1431,7 @@ static PyObject *__pyx_kp_u_Return_rankdata_function_and_ar; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__7; static PyObject *__pyx_n_s_a; @@ -2679,24 +2679,24 @@ static PyObject *__pyx_pf_8rankdata_2rankdata_selector(CYTHON_UNUSED PyObject *_ /* "rankdata.pyx":187 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int along axis=0, dealing with ties." + * def rankdata_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_5rankdata_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_4rankdata_1d_int_axis0[] = "rankdata_1d_int_axis0(ndarray a)\nRanks n1d array with dtype=int along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_5rankdata_1d_int_axis0 = {"rankdata_1d_int_axis0", (PyCFunction)__pyx_pw_8rankdata_5rankdata_1d_int_axis0, METH_O, __pyx_doc_8rankdata_4rankdata_1d_int_axis0}; -static PyObject *__pyx_pw_8rankdata_5rankdata_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_5rankdata_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_4rankdata_1d_float_axis0[] = "rankdata_1d_float_axis0(ndarray a)\nRanks n1d array with dtype=float along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_5rankdata_1d_float_axis0 = {"rankdata_1d_float_axis0", (PyCFunction)__pyx_pw_8rankdata_5rankdata_1d_float_axis0, METH_O, __pyx_doc_8rankdata_4rankdata_1d_float_axis0}; +static PyObject *__pyx_pw_8rankdata_5rankdata_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_1d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("rankdata_1d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_4rankdata_1d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_8rankdata_4rankdata_1d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2707,7 +2707,7 @@ static PyObject *__pyx_pw_8rankdata_5rankdata_1d_int_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_4rankdata_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_4rankdata_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -2751,7 +2751,7 @@ static PyObject *__pyx_pf_8rankdata_4rankdata_1d_int_axis0(CYTHON_UNUSED PyObjec int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_1d_int_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_1d_float_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -2766,13 +2766,13 @@ static PyObject *__pyx_pf_8rankdata_4rankdata_1d_int_axis0(CYTHON_UNUSED PyObjec __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "rankdata.pyx":189 - * def rankdata_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): - * "Ranks n1d array with dtype=int along axis=0, dealing with ties." + * def rankdata_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): + * "Ranks n1d array with dtype=float along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) @@ -2907,7 +2907,7 @@ static PyObject *__pyx_pf_8rankdata_4rankdata_1d_int_axis0(CYTHON_UNUSED PyObjec */ __pyx_t_6 = 0; __pyx_t_7 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); /* "rankdata.pyx":204 * return y @@ -2959,7 +2959,7 @@ static PyObject *__pyx_pf_8rankdata_4rankdata_1d_int_axis0(CYTHON_UNUSED PyObjec */ __pyx_t_10 = __pyx_v_k; __pyx_t_11 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); /* "rankdata.pyx":209 * k = i0 + 1 @@ -3137,8 +3137,8 @@ static PyObject *__pyx_pf_8rankdata_4rankdata_1d_int_axis0(CYTHON_UNUSED PyObjec /* "rankdata.pyx":187 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int along axis=0, dealing with ties." + * def rankdata_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float along axis=0, dealing with ties." * cdef dupcount = 0 */ @@ -3152,7 +3152,7 @@ static PyObject *__pyx_pf_8rankdata_4rankdata_1d_int_axis0(CYTHON_UNUSED PyObjec __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3171,24 +3171,24 @@ static PyObject *__pyx_pf_8rankdata_4rankdata_1d_int_axis0(CYTHON_UNUSED PyObjec /* "rankdata.pyx":225 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int8 along axis=0, dealing with ties." + * def rankdata_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float32 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_7rankdata_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_6rankdata_1d_int8_axis0[] = "rankdata_1d_int8_axis0(ndarray a)\nRanks n1d array with dtype=int8 along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_7rankdata_1d_int8_axis0 = {"rankdata_1d_int8_axis0", (PyCFunction)__pyx_pw_8rankdata_7rankdata_1d_int8_axis0, METH_O, __pyx_doc_8rankdata_6rankdata_1d_int8_axis0}; -static PyObject *__pyx_pw_8rankdata_7rankdata_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_7rankdata_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_6rankdata_1d_float32_axis0[] = "rankdata_1d_float32_axis0(ndarray a)\nRanks n1d array with dtype=float32 along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_7rankdata_1d_float32_axis0 = {"rankdata_1d_float32_axis0", (PyCFunction)__pyx_pw_8rankdata_7rankdata_1d_float32_axis0, METH_O, __pyx_doc_8rankdata_6rankdata_1d_float32_axis0}; +static PyObject *__pyx_pw_8rankdata_7rankdata_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_1d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("rankdata_1d_float32_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_6rankdata_1d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_8rankdata_6rankdata_1d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3199,7 +3199,7 @@ static PyObject *__pyx_pw_8rankdata_7rankdata_1d_int8_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_6rankdata_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_6rankdata_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -3243,7 +3243,7 @@ static PyObject *__pyx_pf_8rankdata_6rankdata_1d_int8_axis0(CYTHON_UNUSED PyObje int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_1d_int8_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_1d_float32_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -3258,13 +3258,13 @@ static PyObject *__pyx_pf_8rankdata_6rankdata_1d_int8_axis0(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "rankdata.pyx":227 - * def rankdata_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): - * "Ranks n1d array with dtype=int8 along axis=0, dealing with ties." + * def rankdata_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): + * "Ranks n1d array with dtype=float32 along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) @@ -3399,7 +3399,7 @@ static PyObject *__pyx_pf_8rankdata_6rankdata_1d_int8_axis0(CYTHON_UNUSED PyObje */ __pyx_t_6 = 0; __pyx_t_7 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); /* "rankdata.pyx":242 * return y @@ -3451,7 +3451,7 @@ static PyObject *__pyx_pf_8rankdata_6rankdata_1d_int8_axis0(CYTHON_UNUSED PyObje */ __pyx_t_10 = __pyx_v_k; __pyx_t_11 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); /* "rankdata.pyx":247 * k = i0 + 1 @@ -3629,8 +3629,8 @@ static PyObject *__pyx_pf_8rankdata_6rankdata_1d_int8_axis0(CYTHON_UNUSED PyObje /* "rankdata.pyx":225 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int8 along axis=0, dealing with ties." + * def rankdata_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float32 along axis=0, dealing with ties." * cdef dupcount = 0 */ @@ -3644,7 +3644,7 @@ static PyObject *__pyx_pf_8rankdata_6rankdata_1d_int8_axis0(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3663,24 +3663,24 @@ static PyObject *__pyx_pf_8rankdata_6rankdata_1d_int8_axis0(CYTHON_UNUSED PyObje /* "rankdata.pyx":263 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int32 along axis=0, dealing with ties." + * def rankdata_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float64 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_9rankdata_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_8rankdata_1d_int32_axis0[] = "rankdata_1d_int32_axis0(ndarray a)\nRanks n1d array with dtype=int32 along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_9rankdata_1d_int32_axis0 = {"rankdata_1d_int32_axis0", (PyCFunction)__pyx_pw_8rankdata_9rankdata_1d_int32_axis0, METH_O, __pyx_doc_8rankdata_8rankdata_1d_int32_axis0}; -static PyObject *__pyx_pw_8rankdata_9rankdata_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_9rankdata_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_8rankdata_1d_float64_axis0[] = "rankdata_1d_float64_axis0(ndarray a)\nRanks n1d array with dtype=float64 along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_9rankdata_1d_float64_axis0 = {"rankdata_1d_float64_axis0", (PyCFunction)__pyx_pw_8rankdata_9rankdata_1d_float64_axis0, METH_O, __pyx_doc_8rankdata_8rankdata_1d_float64_axis0}; +static PyObject *__pyx_pw_8rankdata_9rankdata_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_1d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("rankdata_1d_float64_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_8rankdata_1d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_8rankdata_8rankdata_1d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3691,7 +3691,7 @@ static PyObject *__pyx_pw_8rankdata_9rankdata_1d_int32_axis0(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_8rankdata_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_8rankdata_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -3735,7 +3735,7 @@ static PyObject *__pyx_pf_8rankdata_8rankdata_1d_int32_axis0(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_1d_int32_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_1d_float64_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -3750,13 +3750,13 @@ static PyObject *__pyx_pf_8rankdata_8rankdata_1d_int32_axis0(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "rankdata.pyx":265 - * def rankdata_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): - * "Ranks n1d array with dtype=int32 along axis=0, dealing with ties." + * def rankdata_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): + * "Ranks n1d array with dtype=float64 along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) @@ -3891,7 +3891,7 @@ static PyObject *__pyx_pf_8rankdata_8rankdata_1d_int32_axis0(CYTHON_UNUSED PyObj */ __pyx_t_6 = 0; __pyx_t_7 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); /* "rankdata.pyx":280 * return y @@ -3943,7 +3943,7 @@ static PyObject *__pyx_pf_8rankdata_8rankdata_1d_int32_axis0(CYTHON_UNUSED PyObj */ __pyx_t_10 = __pyx_v_k; __pyx_t_11 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); /* "rankdata.pyx":285 * k = i0 + 1 @@ -4121,8 +4121,8 @@ static PyObject *__pyx_pf_8rankdata_8rankdata_1d_int32_axis0(CYTHON_UNUSED PyObj /* "rankdata.pyx":263 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int32 along axis=0, dealing with ties." + * def rankdata_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float64 along axis=0, dealing with ties." * cdef dupcount = 0 */ @@ -4136,7 +4136,7 @@ static PyObject *__pyx_pf_8rankdata_8rankdata_1d_int32_axis0(CYTHON_UNUSED PyObj __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4155,24 +4155,24 @@ static PyObject *__pyx_pf_8rankdata_8rankdata_1d_int32_axis0(CYTHON_UNUSED PyObj /* "rankdata.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int64 along axis=0, dealing with ties." + * def rankdata_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_11rankdata_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_10rankdata_1d_int64_axis0[] = "rankdata_1d_int64_axis0(ndarray a)\nRanks n1d array with dtype=int64 along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_11rankdata_1d_int64_axis0 = {"rankdata_1d_int64_axis0", (PyCFunction)__pyx_pw_8rankdata_11rankdata_1d_int64_axis0, METH_O, __pyx_doc_8rankdata_10rankdata_1d_int64_axis0}; -static PyObject *__pyx_pw_8rankdata_11rankdata_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_11rankdata_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_10rankdata_2d_float_axis0[] = "rankdata_2d_float_axis0(ndarray a)\nRanks n2d array with dtype=float along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_11rankdata_2d_float_axis0 = {"rankdata_2d_float_axis0", (PyCFunction)__pyx_pw_8rankdata_11rankdata_2d_float_axis0, METH_O, __pyx_doc_8rankdata_10rankdata_2d_float_axis0}; +static PyObject *__pyx_pw_8rankdata_11rankdata_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_1d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("rankdata_2d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_10rankdata_1d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_8rankdata_10rankdata_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4183,18 +4183,21 @@ static PyObject *__pyx_pw_8rankdata_11rankdata_1d_int64_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_10rankdata_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_10rankdata_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; + Py_ssize_t __pyx_v_idx; PyArrayObject *__pyx_v_ivec = 0; __pyx_t_5numpy_float64_t __pyx_v_old; __pyx_t_5numpy_float64_t __pyx_v_new; __pyx_t_5numpy_float64_t __pyx_v_averank; __pyx_t_5numpy_float64_t __pyx_v_sumranks; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -4207,27 +4210,36 @@ static PyObject *__pyx_pf_8rankdata_10rankdata_1d_int64_axis0(CYTHON_UNUSED PyOb __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[1]; + npy_intp __pyx_t_3[2]; PyArrayObject *__pyx_t_4 = NULL; int __pyx_t_5; - long __pyx_t_6; - __pyx_t_5numpy_intp_t __pyx_t_7; - Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + long __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - __pyx_t_5numpy_intp_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - __pyx_t_5numpy_float64_t __pyx_t_13; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; - long __pyx_t_15; + Py_ssize_t __pyx_t_15; Py_ssize_t __pyx_t_16; Py_ssize_t __pyx_t_17; - __pyx_t_5numpy_intp_t __pyx_t_18; - __pyx_t_5numpy_intp_t __pyx_t_19; + PyObject *__pyx_t_18 = NULL; + __pyx_t_5numpy_float64_t __pyx_t_19; + Py_ssize_t __pyx_t_20; + long __pyx_t_21; + Py_ssize_t __pyx_t_22; + Py_ssize_t __pyx_t_23; + Py_ssize_t __pyx_t_24; + Py_ssize_t __pyx_t_25; + Py_ssize_t __pyx_t_26; + Py_ssize_t __pyx_t_27; + Py_ssize_t __pyx_t_28; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_1d_int64_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_2d_float_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -4242,16 +4254,16 @@ static PyObject *__pyx_pf_8rankdata_10rankdata_1d_int64_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "rankdata.pyx":303 - * def rankdata_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): - * "Ranks n1d array with dtype=int64 along axis=0, dealing with ties." + * def rankdata_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Ranks n2d array with dtype=float along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) + * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) */ __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; @@ -4259,9 +4271,9 @@ static PyObject *__pyx_pf_8rankdata_10rankdata_1d_int64_axis0(CYTHON_UNUSED PyOb /* "rankdata.pyx":305 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 */ __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -4269,10 +4281,10 @@ static PyObject *__pyx_pf_8rankdata_10rankdata_1d_int64_axis0(CYTHON_UNUSED PyOb __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; + } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; @@ -4281,19 +4293,19 @@ static PyObject *__pyx_pf_8rankdata_10rankdata_1d_int64_axis0(CYTHON_UNUSED PyOb /* "rankdata.pyx":306 * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) + * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_sumranks = 0.0; /* "rankdata.pyx":309 - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); @@ -4301,46 +4313,56 @@ static PyObject *__pyx_pf_8rankdata_10rankdata_1d_int64_axis0(CYTHON_UNUSED PyOb * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); /* "rankdata.pyx":311 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "rankdata.pyx":312 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) */ __pyx_t_3[0] = __pyx_v_n0; + __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":312 - * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + /* "rankdata.pyx":313 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":314 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + /* "rankdata.pyx":315 + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) @@ -4349,24 +4371,24 @@ static PyObject *__pyx_pf_8rankdata_10rankdata_1d_int64_axis0(CYTHON_UNUSED PyOb __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":315 + /* "rankdata.pyx":316 * NPY_float64, 0) * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y - * old = a[ivec[0]] + * for i1 in xrange(n1): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":316 + /* "rankdata.pyx":317 * if n0 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< - * old = a[ivec[0]] - * for i0 in xrange(n0-1): + * for i1 in xrange(n1): + * idx = ivec[0, i1] */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -4374,738 +4396,224 @@ static PyObject *__pyx_pf_8rankdata_10rankdata_1d_int64_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "rankdata.pyx":317 - * PyArray_FillWithScalar(y, NAN) - * return y - * old = a[ivec[0]] # <<<<<<<<<<<<<< - * for i0 in xrange(n0-1): - * sumranks += i0 - */ - __pyx_t_6 = 0; - __pyx_t_7 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "rankdata.pyx":318 + * PyArray_FillWithScalar(y, NAN) * return y - * old = a[ivec[0]] - * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< - * sumranks += i0 - * dupcount += 1 + * for i1 in xrange(n1): # <<<<<<<<<<<<<< + * idx = ivec[0, i1] + * old = a[idx, i1] */ - __pyx_t_8 = (__pyx_v_n0 - 1); - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; /* "rankdata.pyx":319 - * old = a[ivec[0]] - * for i0 in xrange(n0-1): - * sumranks += i0 # <<<<<<<<<<<<<< - * dupcount += 1 - * k = i0 + 1 + * return y + * for i1 in xrange(n1): + * idx = ivec[0, i1] # <<<<<<<<<<<<<< + * old = a[idx, i1] + * sumranks = 0 */ - __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); + __pyx_t_8 = 0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); /* "rankdata.pyx":320 - * for i0 in xrange(n0-1): - * sumranks += i0 - * dupcount += 1 # <<<<<<<<<<<<<< - * k = i0 + 1 - * new = a[ivec[k]] + * for i1 in xrange(n1): + * idx = ivec[0, i1] + * old = a[idx, i1] # <<<<<<<<<<<<<< + * sumranks = 0 + * dupcount = 0 */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); - __pyx_t_1 = 0; + __pyx_t_10 = __pyx_v_idx; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":321 - * sumranks += i0 - * dupcount += 1 - * k = i0 + 1 # <<<<<<<<<<<<<< - * new = a[ivec[k]] - * if old != new: + * idx = ivec[0, i1] + * old = a[idx, i1] + * sumranks = 0 # <<<<<<<<<<<<<< + * dupcount = 0 + * for i0 in xrange(n0-1): */ - __pyx_v_k = (__pyx_v_i0 + 1); + __pyx_v_sumranks = 0.0; /* "rankdata.pyx":322 - * dupcount += 1 - * k = i0 + 1 - * new = a[ivec[k]] # <<<<<<<<<<<<<< - * if old != new: - * averank = sumranks / dupcount + 1 + * old = a[idx, i1] + * sumranks = 0 + * dupcount = 0 # <<<<<<<<<<<<<< + * for i0 in xrange(n0-1): + * sumranks += i0 */ - __pyx_t_10 = __pyx_v_k; - __pyx_t_11 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); + __Pyx_INCREF(__pyx_int_0); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); /* "rankdata.pyx":323 - * k = i0 + 1 - * new = a[ivec[k]] - * if old != new: # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): + * sumranks = 0 + * dupcount = 0 + * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< + * sumranks += i0 + * dupcount += 1 */ - __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); - if (__pyx_t_5) { + __pyx_t_12 = (__pyx_v_n0 - 1); + for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { + __pyx_v_i0 = __pyx_t_13; /* "rankdata.pyx":324 - * new = a[ivec[k]] - * if old != new: - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(k - dupcount, k): - * y[ivec[j]] = averank + * dupcount = 0 + * for i0 in xrange(n0-1): + * sumranks += i0 # <<<<<<<<<<<<<< + * dupcount += 1 + * k = i0 + 1 */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_12, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_averank = __pyx_t_13; + __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); /* "rankdata.pyx":325 - * if old != new: - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< - * y[ivec[j]] = averank - * sumranks = 0 + * for i0 in xrange(n0-1): + * sumranks += i0 + * dupcount += 1 # <<<<<<<<<<<<<< + * k = i0 + 1 + * idx = ivec[k, i1] */ - __pyx_t_14 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_12); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - for (__pyx_t_16 = __pyx_t_15; __pyx_t_16 < __pyx_t_14; __pyx_t_16+=1) { - __pyx_v_j = __pyx_t_16; + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); + __pyx_t_1 = 0; - /* "rankdata.pyx":326 - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): - * y[ivec[j]] = averank # <<<<<<<<<<<<<< - * sumranks = 0 - * dupcount = 0 + /* "rankdata.pyx":326 + * sumranks += i0 + * dupcount += 1 + * k = i0 + 1 # <<<<<<<<<<<<<< + * idx = ivec[k, i1] + * new = a[idx, i1] */ - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_ivec.diminfo[0].strides)); - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; - } + __pyx_v_k = (__pyx_v_i0 + 1); /* "rankdata.pyx":327 - * for j in xrange(k - dupcount, k): - * y[ivec[j]] = averank - * sumranks = 0 # <<<<<<<<<<<<<< - * dupcount = 0 - * old = new + * dupcount += 1 + * k = i0 + 1 + * idx = ivec[k, i1] # <<<<<<<<<<<<<< + * new = a[idx, i1] + * if old != new: */ - __pyx_v_sumranks = 0.0; + __pyx_t_14 = __pyx_v_k; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); /* "rankdata.pyx":328 - * y[ivec[j]] = averank - * sumranks = 0 - * dupcount = 0 # <<<<<<<<<<<<<< - * old = new - * sumranks += (n0 - 1) + * k = i0 + 1 + * idx = ivec[k, i1] + * new = a[idx, i1] # <<<<<<<<<<<<<< + * if old != new: + * averank = sumranks / dupcount + 1 */ - __Pyx_INCREF(__pyx_int_0); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - goto __pyx_L6; - } - __pyx_L6:; + __pyx_t_16 = __pyx_v_idx; + __pyx_t_17 = __pyx_v_i1; + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":329 - * sumranks = 0 - * dupcount = 0 - * old = new # <<<<<<<<<<<<<< - * sumranks += (n0 - 1) - * dupcount += 1 + /* "rankdata.pyx":329 + * idx = ivec[k, i1] + * new = a[idx, i1] + * if old != new: # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): */ - __pyx_v_old = __pyx_v_new; - } + __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); + if (__pyx_t_5) { - /* "rankdata.pyx":330 - * dupcount = 0 - * old = new - * sumranks += (n0 - 1) # <<<<<<<<<<<<<< - * dupcount += 1 - * averank = sumranks / dupcount + 1 + /* "rankdata.pyx":330 + * new = a[idx, i1] + * if old != new: + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(k - dupcount, k): + * idx = ivec[j, i1] */ - __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":331 - * old = new - * sumranks += (n0 - 1) - * dupcount += 1 # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): + /* "rankdata.pyx":331 + * if old != new: + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< + * idx = ivec[j, i1] + * y[idx, i1] = averank */ - __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_12); - __pyx_t_12 = 0; + __pyx_t_20 = __pyx_v_k; + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { + __pyx_v_j = __pyx_t_22; - /* "rankdata.pyx":332 - * sumranks += (n0 - 1) - * dupcount += 1 - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(n0 - dupcount, n0): - * y[ivec[j]] = averank + /* "rankdata.pyx":332 + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): + * idx = ivec[j, i1] # <<<<<<<<<<<<<< + * y[idx, i1] = averank + * sumranks = 0 */ - __pyx_t_12 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_v_averank = __pyx_t_13; + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i1; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":333 - * dupcount += 1 - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< - * y[ivec[j]] = averank - * return y + /* "rankdata.pyx":333 + * for j in xrange(k - dupcount, k): + * idx = ivec[j, i1] + * y[idx, i1] = averank # <<<<<<<<<<<<<< + * sumranks = 0 + * dupcount = 0 */ - __pyx_t_8 = __pyx_v_n0; - __pyx_t_12 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (__pyx_t_9 = __pyx_t_15; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_j = __pyx_t_9; + __pyx_t_25 = __pyx_v_idx; + __pyx_t_26 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; + } - /* "rankdata.pyx":334 - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): - * y[ivec[j]] = averank # <<<<<<<<<<<<<< - * return y - * + /* "rankdata.pyx":334 + * idx = ivec[j, i1] + * y[idx, i1] = averank + * sumranks = 0 # <<<<<<<<<<<<<< + * dupcount = 0 + * old = new */ - __pyx_t_14 = __pyx_v_j; - __pyx_t_19 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides)); - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; - } + __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":335 - * for j in xrange(n0 - dupcount, n0): - * y[ivec[j]] = averank - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + /* "rankdata.pyx":335 + * y[idx, i1] = averank + * sumranks = 0 + * dupcount = 0 # <<<<<<<<<<<<<< + * old = new + * sumranks += (n0 - 1) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_INCREF(__pyx_int_0); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); + goto __pyx_L8; + } + __pyx_L8:; - /* "rankdata.pyx":301 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def rankdata_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int64 along axis=0, dealing with ties." - * cdef dupcount = 0 + /* "rankdata.pyx":336 + * sumranks = 0 + * dupcount = 0 + * old = new # <<<<<<<<<<<<<< + * sumranks += (n0 - 1) + * dupcount += 1 */ + __pyx_v_old = __pyx_v_new; + } - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_12); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; - __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - goto __pyx_L2; - __pyx_L0:; - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __pyx_L2:; - __Pyx_XDECREF(__pyx_v_dupcount); - __Pyx_XDECREF((PyObject *)__pyx_v_ivec); - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "rankdata.pyx":339 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def rankdata_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int along axis=0, dealing with ties." - * cdef dupcount = 0 - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_13rankdata_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_12rankdata_2d_int_axis0[] = "rankdata_2d_int_axis0(ndarray a)\nRanks n2d array with dtype=int along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_13rankdata_2d_int_axis0 = {"rankdata_2d_int_axis0", (PyCFunction)__pyx_pw_8rankdata_13rankdata_2d_int_axis0, METH_O, __pyx_doc_8rankdata_12rankdata_2d_int_axis0}; -static PyObject *__pyx_pw_8rankdata_13rankdata_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_lineno = 0; - CYTHON_UNUSED const char *__pyx_filename = NULL; - CYTHON_UNUSED int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_int_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_12rankdata_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8rankdata_12rankdata_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - PyObject *__pyx_v_dupcount = 0; - Py_ssize_t __pyx_v_j; - Py_ssize_t __pyx_v_k; - Py_ssize_t __pyx_v_idx; - PyArrayObject *__pyx_v_ivec = 0; - __pyx_t_5numpy_float64_t __pyx_v_old; - __pyx_t_5numpy_float64_t __pyx_v_new; - __pyx_t_5numpy_float64_t __pyx_v_averank; - __pyx_t_5numpy_float64_t __pyx_v_sumranks; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; - npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - __Pyx_LocalBuf_ND __pyx_pybuffernd_a; - __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_ivec; - __Pyx_Buffer __pyx_pybuffer_ivec; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[2]; - PyArrayObject *__pyx_t_4 = NULL; - int __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - long __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; - Py_ssize_t __pyx_t_15; - Py_ssize_t __pyx_t_16; - Py_ssize_t __pyx_t_17; - PyObject *__pyx_t_18 = NULL; - __pyx_t_5numpy_float64_t __pyx_t_19; - Py_ssize_t __pyx_t_20; - long __pyx_t_21; - Py_ssize_t __pyx_t_22; - Py_ssize_t __pyx_t_23; - Py_ssize_t __pyx_t_24; - Py_ssize_t __pyx_t_25; - Py_ssize_t __pyx_t_26; - Py_ssize_t __pyx_t_27; - Py_ssize_t __pyx_t_28; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_int_axis0", 0); - __pyx_pybuffer_ivec.pybuffer.buf = NULL; - __pyx_pybuffer_ivec.refcount = 0; - __pyx_pybuffernd_ivec.data = NULL; - __pyx_pybuffernd_ivec.rcbuffer = &__pyx_pybuffer_ivec; - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; - __pyx_pybuffer_a.pybuffer.buf = NULL; - __pyx_pybuffer_a.refcount = 0; - __pyx_pybuffernd_a.data = NULL; - __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "rankdata.pyx":341 - * def rankdata_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Ranks n2d array with dtype=int along axis=0, dealing with ties." - * cdef dupcount = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) - */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_dupcount = __pyx_int_0; - - /* "rankdata.pyx":343 - * cdef dupcount = 0 - * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< - * cdef np.float64_t old, new, averank, sumranks = 0 - * cdef Py_ssize_t i0, i1 - */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { - __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; - } - } - __pyx_t_2 = 0; - __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "rankdata.pyx":344 - * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) - * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - */ - __pyx_v_sumranks = 0.0; - - /* "rankdata.pyx":347 - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - */ - __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - - /* "rankdata.pyx":348 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "rankdata.pyx":349 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "rankdata.pyx":350 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, - * NPY_float64, 0) - */ - __pyx_t_3[0] = __pyx_v_n0; - __pyx_t_3[1] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_3; - - /* "rankdata.pyx":351 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: - */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; - } - } - __pyx_t_4 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "rankdata.pyx":353 - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * return y - */ - __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_5) { - - /* "rankdata.pyx":354 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * return y - * for i1 in xrange(n1): - */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "rankdata.pyx":355 - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) - * return y # <<<<<<<<<<<<<< - * for i1 in xrange(n1): - * idx = ivec[0, i1] - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - } - - /* "rankdata.pyx":356 - * PyArray_FillWithScalar(y, NAN) - * return y - * for i1 in xrange(n1): # <<<<<<<<<<<<<< - * idx = ivec[0, i1] - * old = a[idx, i1] - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "rankdata.pyx":357 - * return y - * for i1 in xrange(n1): - * idx = ivec[0, i1] # <<<<<<<<<<<<<< - * old = a[idx, i1] - * sumranks = 0 - */ - __pyx_t_8 = 0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); - - /* "rankdata.pyx":358 - * for i1 in xrange(n1): - * idx = ivec[0, i1] - * old = a[idx, i1] # <<<<<<<<<<<<<< - * sumranks = 0 - * dupcount = 0 - */ - __pyx_t_10 = __pyx_v_idx; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "rankdata.pyx":359 - * idx = ivec[0, i1] - * old = a[idx, i1] - * sumranks = 0 # <<<<<<<<<<<<<< - * dupcount = 0 - * for i0 in xrange(n0-1): - */ - __pyx_v_sumranks = 0.0; - - /* "rankdata.pyx":360 - * old = a[idx, i1] - * sumranks = 0 - * dupcount = 0 # <<<<<<<<<<<<<< - * for i0 in xrange(n0-1): - * sumranks += i0 - */ - __Pyx_INCREF(__pyx_int_0); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - - /* "rankdata.pyx":361 - * sumranks = 0 - * dupcount = 0 - * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< - * sumranks += i0 - * dupcount += 1 - */ - __pyx_t_12 = (__pyx_v_n0 - 1); - for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { - __pyx_v_i0 = __pyx_t_13; - - /* "rankdata.pyx":362 - * dupcount = 0 - * for i0 in xrange(n0-1): - * sumranks += i0 # <<<<<<<<<<<<<< - * dupcount += 1 - * k = i0 + 1 - */ - __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); - - /* "rankdata.pyx":363 - * for i0 in xrange(n0-1): - * sumranks += i0 - * dupcount += 1 # <<<<<<<<<<<<<< - * k = i0 + 1 - * idx = ivec[k, i1] - */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); - __pyx_t_1 = 0; - - /* "rankdata.pyx":364 - * sumranks += i0 - * dupcount += 1 - * k = i0 + 1 # <<<<<<<<<<<<<< - * idx = ivec[k, i1] - * new = a[idx, i1] - */ - __pyx_v_k = (__pyx_v_i0 + 1); - - /* "rankdata.pyx":365 - * dupcount += 1 - * k = i0 + 1 - * idx = ivec[k, i1] # <<<<<<<<<<<<<< - * new = a[idx, i1] - * if old != new: - */ - __pyx_t_14 = __pyx_v_k; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); - - /* "rankdata.pyx":366 - * k = i0 + 1 - * idx = ivec[k, i1] - * new = a[idx, i1] # <<<<<<<<<<<<<< - * if old != new: - * averank = sumranks / dupcount + 1 - */ - __pyx_t_16 = __pyx_v_idx; - __pyx_t_17 = __pyx_v_i1; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "rankdata.pyx":367 - * idx = ivec[k, i1] - * new = a[idx, i1] - * if old != new: # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): - */ - __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); - if (__pyx_t_5) { - - /* "rankdata.pyx":368 - * new = a[idx, i1] - * if old != new: - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(k - dupcount, k): - * idx = ivec[j, i1] - */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_averank = __pyx_t_19; - - /* "rankdata.pyx":369 - * if old != new: - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< - * idx = ivec[j, i1] - * y[idx, i1] = averank - */ - __pyx_t_20 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { - __pyx_v_j = __pyx_t_22; - - /* "rankdata.pyx":370 - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): - * idx = ivec[j, i1] # <<<<<<<<<<<<<< - * y[idx, i1] = averank - * sumranks = 0 - */ - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i1; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); - - /* "rankdata.pyx":371 - * for j in xrange(k - dupcount, k): - * idx = ivec[j, i1] - * y[idx, i1] = averank # <<<<<<<<<<<<<< - * sumranks = 0 - * dupcount = 0 - */ - __pyx_t_25 = __pyx_v_idx; - __pyx_t_26 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; - } - - /* "rankdata.pyx":372 - * idx = ivec[j, i1] - * y[idx, i1] = averank - * sumranks = 0 # <<<<<<<<<<<<<< - * dupcount = 0 - * old = new - */ - __pyx_v_sumranks = 0.0; - - /* "rankdata.pyx":373 - * y[idx, i1] = averank - * sumranks = 0 - * dupcount = 0 # <<<<<<<<<<<<<< - * old = new - * sumranks += (n0 - 1) - */ - __Pyx_INCREF(__pyx_int_0); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - goto __pyx_L8; - } - __pyx_L8:; - - /* "rankdata.pyx":374 - * sumranks = 0 - * dupcount = 0 - * old = new # <<<<<<<<<<<<<< - * sumranks += (n0 - 1) - * dupcount += 1 - */ - __pyx_v_old = __pyx_v_new; - } - - /* "rankdata.pyx":375 + /* "rankdata.pyx":337 * dupcount = 0 * old = new * sumranks += (n0 - 1) # <<<<<<<<<<<<<< @@ -5114,38 +4622,38 @@ static PyObject *__pyx_pf_8rankdata_12rankdata_2d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); - /* "rankdata.pyx":376 + /* "rankdata.pyx":338 * old = new * sumranks += (n0 - 1) * dupcount += 1 # <<<<<<<<<<<<<< * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): */ - __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_18); __pyx_t_18 = 0; - /* "rankdata.pyx":377 + /* "rankdata.pyx":339 * sumranks += (n0 - 1) * dupcount += 1 * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(n0 - dupcount, n0): * idx = ivec[j, i1] */ - __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":378 + /* "rankdata.pyx":340 * dupcount += 1 * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< @@ -5153,17 +4661,17 @@ static PyObject *__pyx_pf_8rankdata_12rankdata_2d_int_axis0(CYTHON_UNUSED PyObje * y[idx, i1] = averank */ __pyx_t_12 = __pyx_v_n0; - __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (__pyx_t_13 = __pyx_t_21; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_j = __pyx_t_13; - /* "rankdata.pyx":379 + /* "rankdata.pyx":341 * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): * idx = ivec[j, i1] # <<<<<<<<<<<<<< @@ -5174,7 +4682,7 @@ static PyObject *__pyx_pf_8rankdata_12rankdata_2d_int_axis0(CYTHON_UNUSED PyObje __pyx_t_22 = __pyx_v_i1; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":380 + /* "rankdata.pyx":342 * for j in xrange(n0 - dupcount, n0): * idx = ivec[j, i1] * y[idx, i1] = averank # <<<<<<<<<<<<<< @@ -5187,7 +4695,7 @@ static PyObject *__pyx_pf_8rankdata_12rankdata_2d_int_axis0(CYTHON_UNUSED PyObje } } - /* "rankdata.pyx":381 + /* "rankdata.pyx":343 * idx = ivec[j, i1] * y[idx, i1] = averank * return y # <<<<<<<<<<<<<< @@ -5199,11 +4707,11 @@ static PyObject *__pyx_pf_8rankdata_12rankdata_2d_int_axis0(CYTHON_UNUSED PyObje __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "rankdata.pyx":339 + /* "rankdata.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int along axis=0, dealing with ties." + * def rankdata_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float along axis=0, dealing with ties." * cdef dupcount = 0 */ @@ -5217,7 +4725,7 @@ static PyObject *__pyx_pf_8rankdata_12rankdata_2d_int_axis0(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5233,27 +4741,27 @@ static PyObject *__pyx_pf_8rankdata_12rankdata_2d_int_axis0(CYTHON_UNUSED PyObje return __pyx_r; } -/* "rankdata.pyx":385 +/* "rankdata.pyx":347 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int along axis=1, dealing with ties." + * def rankdata_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float along axis=1, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_15rankdata_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_14rankdata_2d_int_axis1[] = "rankdata_2d_int_axis1(ndarray a)\nRanks n2d array with dtype=int along axis=1, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_15rankdata_2d_int_axis1 = {"rankdata_2d_int_axis1", (PyCFunction)__pyx_pw_8rankdata_15rankdata_2d_int_axis1, METH_O, __pyx_doc_8rankdata_14rankdata_2d_int_axis1}; -static PyObject *__pyx_pw_8rankdata_15rankdata_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_13rankdata_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_12rankdata_2d_float_axis1[] = "rankdata_2d_float_axis1(ndarray a)\nRanks n2d array with dtype=float along axis=1, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_13rankdata_2d_float_axis1 = {"rankdata_2d_float_axis1", (PyCFunction)__pyx_pw_8rankdata_13rankdata_2d_float_axis1, METH_O, __pyx_doc_8rankdata_12rankdata_2d_float_axis1}; +static PyObject *__pyx_pw_8rankdata_13rankdata_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_int_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_14rankdata_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("rankdata_2d_float_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_12rankdata_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5264,7 +4772,7 @@ static PyObject *__pyx_pw_8rankdata_15rankdata_2d_int_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_12rankdata_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -5320,7 +4828,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("rankdata_2d_float_axis1", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -5335,13 +4843,13 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "rankdata.pyx":387 - * def rankdata_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Ranks n2d array with dtype=int along axis=1, dealing with ties." + /* "rankdata.pyx":349 + * def rankdata_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Ranks n2d array with dtype=float along axis=1, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) @@ -5349,22 +4857,22 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; - /* "rankdata.pyx":389 + /* "rankdata.pyx":351 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 * cdef Py_ssize_t i0, i1 */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 1, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 1, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; } } @@ -5372,7 +4880,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":390 + /* "rankdata.pyx":352 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< @@ -5381,7 +4889,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":393 + /* "rankdata.pyx":355 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5390,7 +4898,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":394 + /* "rankdata.pyx":356 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5399,7 +4907,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "rankdata.pyx":395 + /* "rankdata.pyx":357 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5408,7 +4916,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "rankdata.pyx":396 + /* "rankdata.pyx":358 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -5419,22 +4927,22 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":397 + /* "rankdata.pyx":359 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) * if n1 == 0: */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -5442,7 +4950,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":399 + /* "rankdata.pyx":361 * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) * if n1 == 0: # <<<<<<<<<<<<<< @@ -5452,19 +4960,19 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":400 + /* "rankdata.pyx":362 * NPY_float64, 0) * if n1 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y * for i0 in xrange(n0): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":401 + /* "rankdata.pyx":363 * if n1 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< @@ -5477,7 +4985,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje goto __pyx_L0; } - /* "rankdata.pyx":402 + /* "rankdata.pyx":364 * PyArray_FillWithScalar(y, NAN) * return y * for i0 in xrange(n0): # <<<<<<<<<<<<<< @@ -5488,7 +4996,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "rankdata.pyx":403 + /* "rankdata.pyx":365 * return y * for i0 in xrange(n0): * idx = ivec[i0, 0] # <<<<<<<<<<<<<< @@ -5499,7 +5007,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_9 = 0; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":404 + /* "rankdata.pyx":366 * for i0 in xrange(n0): * idx = ivec[i0, 0] * old = a[i0, idx] # <<<<<<<<<<<<<< @@ -5508,9 +5016,9 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_idx; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":405 + /* "rankdata.pyx":367 * idx = ivec[i0, 0] * old = a[i0, idx] * sumranks = 0 # <<<<<<<<<<<<<< @@ -5519,7 +5027,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":406 + /* "rankdata.pyx":368 * old = a[i0, idx] * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -5529,7 +5037,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __Pyx_INCREF(__pyx_int_0); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - /* "rankdata.pyx":407 + /* "rankdata.pyx":369 * sumranks = 0 * dupcount = 0 * for i1 in xrange(n1-1): # <<<<<<<<<<<<<< @@ -5540,7 +5048,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_i1 = __pyx_t_13; - /* "rankdata.pyx":408 + /* "rankdata.pyx":370 * dupcount = 0 * for i1 in xrange(n1-1): * sumranks += i1 # <<<<<<<<<<<<<< @@ -5549,19 +5057,19 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i1); - /* "rankdata.pyx":409 + /* "rankdata.pyx":371 * for i1 in xrange(n1-1): * sumranks += i1 * dupcount += 1 # <<<<<<<<<<<<<< * k = i1 + 1 * idx = ivec[i0, k] */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":410 + /* "rankdata.pyx":372 * sumranks += i1 * dupcount += 1 * k = i1 + 1 # <<<<<<<<<<<<<< @@ -5570,7 +5078,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_k = (__pyx_v_i1 + 1); - /* "rankdata.pyx":411 + /* "rankdata.pyx":373 * dupcount += 1 * k = i1 + 1 * idx = ivec[i0, k] # <<<<<<<<<<<<<< @@ -5581,7 +5089,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_15 = __pyx_v_k; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":412 + /* "rankdata.pyx":374 * k = i1 + 1 * idx = ivec[i0, k] * new = a[i0, idx] # <<<<<<<<<<<<<< @@ -5590,9 +5098,9 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_t_16 = __pyx_v_i0; __pyx_t_17 = __pyx_v_idx; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":413 + /* "rankdata.pyx":375 * idx = ivec[i0, k] * new = a[i0, idx] * if old != new: # <<<<<<<<<<<<<< @@ -5602,26 +5110,26 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":414 + /* "rankdata.pyx":376 * new = a[i0, idx] * if old != new: * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(k - dupcount, k): * idx = ivec[i0, j] */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":415 + /* "rankdata.pyx":377 * if old != new: * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< @@ -5629,17 +5137,17 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje * y[i0, idx] = averank */ __pyx_t_20 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { __pyx_v_j = __pyx_t_22; - /* "rankdata.pyx":416 + /* "rankdata.pyx":378 * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): * idx = ivec[i0, j] # <<<<<<<<<<<<<< @@ -5650,7 +5158,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_24 = __pyx_v_j; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":417 + /* "rankdata.pyx":379 * for j in xrange(k - dupcount, k): * idx = ivec[i0, j] * y[i0, idx] = averank # <<<<<<<<<<<<<< @@ -5662,7 +5170,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; } - /* "rankdata.pyx":418 + /* "rankdata.pyx":380 * idx = ivec[i0, j] * y[i0, idx] = averank * sumranks = 0 # <<<<<<<<<<<<<< @@ -5671,7 +5179,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":419 + /* "rankdata.pyx":381 * y[i0, idx] = averank * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -5684,7 +5192,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje } __pyx_L8:; - /* "rankdata.pyx":420 + /* "rankdata.pyx":382 * sumranks = 0 * dupcount = 0 * old = new # <<<<<<<<<<<<<< @@ -5694,7 +5202,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_v_old = __pyx_v_new; } - /* "rankdata.pyx":421 + /* "rankdata.pyx":383 * dupcount = 0 * old = new * sumranks += (n1 - 1) # <<<<<<<<<<<<<< @@ -5703,38 +5211,38 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n1 - 1)); - /* "rankdata.pyx":422 + /* "rankdata.pyx":384 * old = new * sumranks += (n1 - 1) * dupcount += 1 # <<<<<<<<<<<<<< * averank = sumranks / dupcount + 1 * for j in xrange(n1 - dupcount, n1): */ - __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_18); __pyx_t_18 = 0; - /* "rankdata.pyx":423 + /* "rankdata.pyx":385 * sumranks += (n1 - 1) * dupcount += 1 * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(n1 - dupcount, n1): * idx = ivec[i0, j] */ - __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":424 + /* "rankdata.pyx":386 * dupcount += 1 * averank = sumranks / dupcount + 1 * for j in xrange(n1 - dupcount, n1): # <<<<<<<<<<<<<< @@ -5742,17 +5250,17 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje * y[i0, idx] = averank */ __pyx_t_12 = __pyx_v_n1; - __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (__pyx_t_13 = __pyx_t_21; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_j = __pyx_t_13; - /* "rankdata.pyx":425 + /* "rankdata.pyx":387 * averank = sumranks / dupcount + 1 * for j in xrange(n1 - dupcount, n1): * idx = ivec[i0, j] # <<<<<<<<<<<<<< @@ -5763,7 +5271,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_22 = __pyx_v_j; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":426 + /* "rankdata.pyx":388 * for j in xrange(n1 - dupcount, n1): * idx = ivec[i0, j] * y[i0, idx] = averank # <<<<<<<<<<<<<< @@ -5776,7 +5284,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje } } - /* "rankdata.pyx":427 + /* "rankdata.pyx":389 * idx = ivec[i0, j] * y[i0, idx] = averank * return y # <<<<<<<<<<<<<< @@ -5788,11 +5296,11 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "rankdata.pyx":385 + /* "rankdata.pyx":347 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int along axis=1, dealing with ties." + * def rankdata_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float along axis=1, dealing with ties." * cdef dupcount = 0 */ @@ -5806,7 +5314,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5822,27 +5330,27 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje return __pyx_r; } -/* "rankdata.pyx":431 +/* "rankdata.pyx":393 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int8 along axis=0, dealing with ties." + * def rankdata_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float32 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_17rankdata_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_16rankdata_2d_int8_axis0[] = "rankdata_2d_int8_axis0(ndarray a)\nRanks n2d array with dtype=int8 along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_17rankdata_2d_int8_axis0 = {"rankdata_2d_int8_axis0", (PyCFunction)__pyx_pw_8rankdata_17rankdata_2d_int8_axis0, METH_O, __pyx_doc_8rankdata_16rankdata_2d_int8_axis0}; -static PyObject *__pyx_pw_8rankdata_17rankdata_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_15rankdata_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_14rankdata_2d_float32_axis0[] = "rankdata_2d_float32_axis0(ndarray a)\nRanks n2d array with dtype=float32 along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_15rankdata_2d_float32_axis0 = {"rankdata_2d_float32_axis0", (PyCFunction)__pyx_pw_8rankdata_15rankdata_2d_float32_axis0, METH_O, __pyx_doc_8rankdata_14rankdata_2d_float32_axis0}; +static PyObject *__pyx_pw_8rankdata_15rankdata_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_16rankdata_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("rankdata_2d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_14rankdata_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5853,7 +5361,7 @@ static PyObject *__pyx_pw_8rankdata_17rankdata_2d_int8_axis0(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_14rankdata_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -5909,7 +5417,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_2d_float32_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -5924,13 +5432,13 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "rankdata.pyx":433 - * def rankdata_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Ranks n2d array with dtype=int8 along axis=0, dealing with ties." + /* "rankdata.pyx":395 + * def rankdata_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Ranks n2d array with dtype=float32 along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) @@ -5938,22 +5446,22 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; - /* "rankdata.pyx":435 + /* "rankdata.pyx":397 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 * cdef Py_ssize_t i0, i1 */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; } } @@ -5961,7 +5469,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":436 + /* "rankdata.pyx":398 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< @@ -5970,7 +5478,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":439 + /* "rankdata.pyx":401 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5979,7 +5487,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":440 + /* "rankdata.pyx":402 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5988,7 +5496,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "rankdata.pyx":441 + /* "rankdata.pyx":403 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5997,7 +5505,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "rankdata.pyx":442 + /* "rankdata.pyx":404 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -6008,22 +5516,22 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":443 + /* "rankdata.pyx":405 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -6031,7 +5539,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":445 + /* "rankdata.pyx":407 * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< @@ -6041,19 +5549,19 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":446 + /* "rankdata.pyx":408 * NPY_float64, 0) * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y * for i1 in xrange(n1): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":447 + /* "rankdata.pyx":409 * if n0 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< @@ -6066,7 +5574,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "rankdata.pyx":448 + /* "rankdata.pyx":410 * PyArray_FillWithScalar(y, NAN) * return y * for i1 in xrange(n1): # <<<<<<<<<<<<<< @@ -6077,7 +5585,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "rankdata.pyx":449 + /* "rankdata.pyx":411 * return y * for i1 in xrange(n1): * idx = ivec[0, i1] # <<<<<<<<<<<<<< @@ -6088,7 +5596,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_9 = __pyx_v_i1; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":450 + /* "rankdata.pyx":412 * for i1 in xrange(n1): * idx = ivec[0, i1] * old = a[idx, i1] # <<<<<<<<<<<<<< @@ -6097,9 +5605,9 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_t_10 = __pyx_v_idx; __pyx_t_11 = __pyx_v_i1; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":451 + /* "rankdata.pyx":413 * idx = ivec[0, i1] * old = a[idx, i1] * sumranks = 0 # <<<<<<<<<<<<<< @@ -6108,7 +5616,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":452 + /* "rankdata.pyx":414 * old = a[idx, i1] * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -6118,7 +5626,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __Pyx_INCREF(__pyx_int_0); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - /* "rankdata.pyx":453 + /* "rankdata.pyx":415 * sumranks = 0 * dupcount = 0 * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< @@ -6129,7 +5637,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_i0 = __pyx_t_13; - /* "rankdata.pyx":454 + /* "rankdata.pyx":416 * dupcount = 0 * for i0 in xrange(n0-1): * sumranks += i0 # <<<<<<<<<<<<<< @@ -6138,19 +5646,19 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); - /* "rankdata.pyx":455 + /* "rankdata.pyx":417 * for i0 in xrange(n0-1): * sumranks += i0 * dupcount += 1 # <<<<<<<<<<<<<< * k = i0 + 1 * idx = ivec[k, i1] */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":456 + /* "rankdata.pyx":418 * sumranks += i0 * dupcount += 1 * k = i0 + 1 # <<<<<<<<<<<<<< @@ -6159,7 +5667,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_k = (__pyx_v_i0 + 1); - /* "rankdata.pyx":457 + /* "rankdata.pyx":419 * dupcount += 1 * k = i0 + 1 * idx = ivec[k, i1] # <<<<<<<<<<<<<< @@ -6170,7 +5678,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_15 = __pyx_v_i1; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":458 + /* "rankdata.pyx":420 * k = i0 + 1 * idx = ivec[k, i1] * new = a[idx, i1] # <<<<<<<<<<<<<< @@ -6179,9 +5687,9 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_t_16 = __pyx_v_idx; __pyx_t_17 = __pyx_v_i1; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":459 + /* "rankdata.pyx":421 * idx = ivec[k, i1] * new = a[idx, i1] * if old != new: # <<<<<<<<<<<<<< @@ -6191,26 +5699,26 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":460 + /* "rankdata.pyx":422 * new = a[idx, i1] * if old != new: * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(k - dupcount, k): * idx = ivec[j, i1] */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":461 + /* "rankdata.pyx":423 * if old != new: * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< @@ -6218,17 +5726,17 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj * y[idx, i1] = averank */ __pyx_t_20 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { __pyx_v_j = __pyx_t_22; - /* "rankdata.pyx":462 + /* "rankdata.pyx":424 * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): * idx = ivec[j, i1] # <<<<<<<<<<<<<< @@ -6239,7 +5747,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_24 = __pyx_v_i1; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":463 + /* "rankdata.pyx":425 * for j in xrange(k - dupcount, k): * idx = ivec[j, i1] * y[idx, i1] = averank # <<<<<<<<<<<<<< @@ -6251,7 +5759,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; } - /* "rankdata.pyx":464 + /* "rankdata.pyx":426 * idx = ivec[j, i1] * y[idx, i1] = averank * sumranks = 0 # <<<<<<<<<<<<<< @@ -6260,7 +5768,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":465 + /* "rankdata.pyx":427 * y[idx, i1] = averank * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -6273,7 +5781,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj } __pyx_L8:; - /* "rankdata.pyx":466 + /* "rankdata.pyx":428 * sumranks = 0 * dupcount = 0 * old = new # <<<<<<<<<<<<<< @@ -6283,7 +5791,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_v_old = __pyx_v_new; } - /* "rankdata.pyx":467 + /* "rankdata.pyx":429 * dupcount = 0 * old = new * sumranks += (n0 - 1) # <<<<<<<<<<<<<< @@ -6292,38 +5800,38 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); - /* "rankdata.pyx":468 + /* "rankdata.pyx":430 * old = new * sumranks += (n0 - 1) * dupcount += 1 # <<<<<<<<<<<<<< * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): */ - __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_18); __pyx_t_18 = 0; - /* "rankdata.pyx":469 + /* "rankdata.pyx":431 * sumranks += (n0 - 1) * dupcount += 1 * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(n0 - dupcount, n0): * idx = ivec[j, i1] */ - __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":470 + /* "rankdata.pyx":432 * dupcount += 1 * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< @@ -6331,17 +5839,17 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj * y[idx, i1] = averank */ __pyx_t_12 = __pyx_v_n0; - __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (__pyx_t_13 = __pyx_t_21; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_j = __pyx_t_13; - /* "rankdata.pyx":471 + /* "rankdata.pyx":433 * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): * idx = ivec[j, i1] # <<<<<<<<<<<<<< @@ -6352,7 +5860,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_22 = __pyx_v_i1; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":472 + /* "rankdata.pyx":434 * for j in xrange(n0 - dupcount, n0): * idx = ivec[j, i1] * y[idx, i1] = averank # <<<<<<<<<<<<<< @@ -6365,7 +5873,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj } } - /* "rankdata.pyx":473 + /* "rankdata.pyx":435 * idx = ivec[j, i1] * y[idx, i1] = averank * return y # <<<<<<<<<<<<<< @@ -6377,11 +5885,11 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "rankdata.pyx":431 + /* "rankdata.pyx":393 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int8 along axis=0, dealing with ties." + * def rankdata_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float32 along axis=0, dealing with ties." * cdef dupcount = 0 */ @@ -6395,7 +5903,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6411,27 +5919,27 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj return __pyx_r; } -/* "rankdata.pyx":477 +/* "rankdata.pyx":439 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int8 along axis=1, dealing with ties." + * def rankdata_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float32 along axis=1, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_19rankdata_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_18rankdata_2d_int8_axis1[] = "rankdata_2d_int8_axis1(ndarray a)\nRanks n2d array with dtype=int8 along axis=1, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_19rankdata_2d_int8_axis1 = {"rankdata_2d_int8_axis1", (PyCFunction)__pyx_pw_8rankdata_19rankdata_2d_int8_axis1, METH_O, __pyx_doc_8rankdata_18rankdata_2d_int8_axis1}; -static PyObject *__pyx_pw_8rankdata_19rankdata_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_17rankdata_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_16rankdata_2d_float32_axis1[] = "rankdata_2d_float32_axis1(ndarray a)\nRanks n2d array with dtype=float32 along axis=1, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_17rankdata_2d_float32_axis1 = {"rankdata_2d_float32_axis1", (PyCFunction)__pyx_pw_8rankdata_17rankdata_2d_float32_axis1, METH_O, __pyx_doc_8rankdata_16rankdata_2d_float32_axis1}; +static PyObject *__pyx_pw_8rankdata_17rankdata_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_int8_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_18rankdata_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("rankdata_2d_float32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_16rankdata_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6442,7 +5950,7 @@ static PyObject *__pyx_pw_8rankdata_19rankdata_2d_int8_axis1(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_16rankdata_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -6498,7 +6006,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("rankdata_2d_float32_axis1", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -6513,13 +6021,13 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "rankdata.pyx":479 - * def rankdata_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Ranks n2d array with dtype=int8 along axis=1, dealing with ties." + /* "rankdata.pyx":441 + * def rankdata_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Ranks n2d array with dtype=float32 along axis=1, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) @@ -6527,22 +6035,22 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; - /* "rankdata.pyx":481 + /* "rankdata.pyx":443 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 * cdef Py_ssize_t i0, i1 */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 1, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 1, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; } } @@ -6550,7 +6058,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":482 + /* "rankdata.pyx":444 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< @@ -6559,7 +6067,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":485 + /* "rankdata.pyx":447 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6568,7 +6076,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":486 + /* "rankdata.pyx":448 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -6577,7 +6085,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "rankdata.pyx":487 + /* "rankdata.pyx":449 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -6586,7 +6094,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "rankdata.pyx":488 + /* "rankdata.pyx":450 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -6597,22 +6105,22 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":489 + /* "rankdata.pyx":451 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) * if n1 == 0: */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -6620,7 +6128,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":491 + /* "rankdata.pyx":453 * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) * if n1 == 0: # <<<<<<<<<<<<<< @@ -6630,19 +6138,19 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":492 + /* "rankdata.pyx":454 * NPY_float64, 0) * if n1 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y * for i0 in xrange(n0): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":493 + /* "rankdata.pyx":455 * if n1 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< @@ -6655,7 +6163,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "rankdata.pyx":494 + /* "rankdata.pyx":456 * PyArray_FillWithScalar(y, NAN) * return y * for i0 in xrange(n0): # <<<<<<<<<<<<<< @@ -6666,7 +6174,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "rankdata.pyx":495 + /* "rankdata.pyx":457 * return y * for i0 in xrange(n0): * idx = ivec[i0, 0] # <<<<<<<<<<<<<< @@ -6677,7 +6185,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_9 = 0; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":496 + /* "rankdata.pyx":458 * for i0 in xrange(n0): * idx = ivec[i0, 0] * old = a[i0, idx] # <<<<<<<<<<<<<< @@ -6686,9 +6194,9 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_idx; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":497 + /* "rankdata.pyx":459 * idx = ivec[i0, 0] * old = a[i0, idx] * sumranks = 0 # <<<<<<<<<<<<<< @@ -6697,7 +6205,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":498 + /* "rankdata.pyx":460 * old = a[i0, idx] * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -6707,7 +6215,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __Pyx_INCREF(__pyx_int_0); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - /* "rankdata.pyx":499 + /* "rankdata.pyx":461 * sumranks = 0 * dupcount = 0 * for i1 in xrange(n1-1): # <<<<<<<<<<<<<< @@ -6718,7 +6226,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_i1 = __pyx_t_13; - /* "rankdata.pyx":500 + /* "rankdata.pyx":462 * dupcount = 0 * for i1 in xrange(n1-1): * sumranks += i1 # <<<<<<<<<<<<<< @@ -6727,19 +6235,19 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i1); - /* "rankdata.pyx":501 + /* "rankdata.pyx":463 * for i1 in xrange(n1-1): * sumranks += i1 * dupcount += 1 # <<<<<<<<<<<<<< * k = i1 + 1 * idx = ivec[i0, k] */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":502 + /* "rankdata.pyx":464 * sumranks += i1 * dupcount += 1 * k = i1 + 1 # <<<<<<<<<<<<<< @@ -6748,7 +6256,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_k = (__pyx_v_i1 + 1); - /* "rankdata.pyx":503 + /* "rankdata.pyx":465 * dupcount += 1 * k = i1 + 1 * idx = ivec[i0, k] # <<<<<<<<<<<<<< @@ -6759,7 +6267,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_15 = __pyx_v_k; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":504 + /* "rankdata.pyx":466 * k = i1 + 1 * idx = ivec[i0, k] * new = a[i0, idx] # <<<<<<<<<<<<<< @@ -6768,9 +6276,9 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_t_16 = __pyx_v_i0; __pyx_t_17 = __pyx_v_idx; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":505 + /* "rankdata.pyx":467 * idx = ivec[i0, k] * new = a[i0, idx] * if old != new: # <<<<<<<<<<<<<< @@ -6780,26 +6288,26 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":506 + /* "rankdata.pyx":468 * new = a[i0, idx] * if old != new: * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(k - dupcount, k): * idx = ivec[i0, j] */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":507 + /* "rankdata.pyx":469 * if old != new: * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< @@ -6807,17 +6315,17 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj * y[i0, idx] = averank */ __pyx_t_20 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { __pyx_v_j = __pyx_t_22; - /* "rankdata.pyx":508 + /* "rankdata.pyx":470 * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): * idx = ivec[i0, j] # <<<<<<<<<<<<<< @@ -6828,7 +6336,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_24 = __pyx_v_j; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":509 + /* "rankdata.pyx":471 * for j in xrange(k - dupcount, k): * idx = ivec[i0, j] * y[i0, idx] = averank # <<<<<<<<<<<<<< @@ -6840,7 +6348,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; } - /* "rankdata.pyx":510 + /* "rankdata.pyx":472 * idx = ivec[i0, j] * y[i0, idx] = averank * sumranks = 0 # <<<<<<<<<<<<<< @@ -6849,7 +6357,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":511 + /* "rankdata.pyx":473 * y[i0, idx] = averank * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -6862,7 +6370,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj } __pyx_L8:; - /* "rankdata.pyx":512 + /* "rankdata.pyx":474 * sumranks = 0 * dupcount = 0 * old = new # <<<<<<<<<<<<<< @@ -6872,7 +6380,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_v_old = __pyx_v_new; } - /* "rankdata.pyx":513 + /* "rankdata.pyx":475 * dupcount = 0 * old = new * sumranks += (n1 - 1) # <<<<<<<<<<<<<< @@ -6881,38 +6389,38 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n1 - 1)); - /* "rankdata.pyx":514 + /* "rankdata.pyx":476 * old = new * sumranks += (n1 - 1) * dupcount += 1 # <<<<<<<<<<<<<< * averank = sumranks / dupcount + 1 * for j in xrange(n1 - dupcount, n1): */ - __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_18); __pyx_t_18 = 0; - /* "rankdata.pyx":515 + /* "rankdata.pyx":477 * sumranks += (n1 - 1) * dupcount += 1 * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(n1 - dupcount, n1): * idx = ivec[i0, j] */ - __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":516 + /* "rankdata.pyx":478 * dupcount += 1 * averank = sumranks / dupcount + 1 * for j in xrange(n1 - dupcount, n1): # <<<<<<<<<<<<<< @@ -6920,17 +6428,17 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj * y[i0, idx] = averank */ __pyx_t_12 = __pyx_v_n1; - __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (__pyx_t_13 = __pyx_t_21; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_j = __pyx_t_13; - /* "rankdata.pyx":517 + /* "rankdata.pyx":479 * averank = sumranks / dupcount + 1 * for j in xrange(n1 - dupcount, n1): * idx = ivec[i0, j] # <<<<<<<<<<<<<< @@ -6941,7 +6449,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_22 = __pyx_v_j; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":518 + /* "rankdata.pyx":480 * for j in xrange(n1 - dupcount, n1): * idx = ivec[i0, j] * y[i0, idx] = averank # <<<<<<<<<<<<<< @@ -6954,7 +6462,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj } } - /* "rankdata.pyx":519 + /* "rankdata.pyx":481 * idx = ivec[i0, j] * y[i0, idx] = averank * return y # <<<<<<<<<<<<<< @@ -6966,11 +6474,11 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "rankdata.pyx":477 + /* "rankdata.pyx":439 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int8 along axis=1, dealing with ties." + * def rankdata_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float32 along axis=1, dealing with ties." * cdef dupcount = 0 */ @@ -6984,7 +6492,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7000,27 +6508,27 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj return __pyx_r; } -/* "rankdata.pyx":523 +/* "rankdata.pyx":485 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int32 along axis=0, dealing with ties." + * def rankdata_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float64 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_21rankdata_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_20rankdata_2d_int32_axis0[] = "rankdata_2d_int32_axis0(ndarray a)\nRanks n2d array with dtype=int32 along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_21rankdata_2d_int32_axis0 = {"rankdata_2d_int32_axis0", (PyCFunction)__pyx_pw_8rankdata_21rankdata_2d_int32_axis0, METH_O, __pyx_doc_8rankdata_20rankdata_2d_int32_axis0}; -static PyObject *__pyx_pw_8rankdata_21rankdata_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_19rankdata_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_18rankdata_2d_float64_axis0[] = "rankdata_2d_float64_axis0(ndarray a)\nRanks n2d array with dtype=float64 along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_19rankdata_2d_float64_axis0 = {"rankdata_2d_float64_axis0", (PyCFunction)__pyx_pw_8rankdata_19rankdata_2d_float64_axis0, METH_O, __pyx_doc_8rankdata_18rankdata_2d_float64_axis0}; +static PyObject *__pyx_pw_8rankdata_19rankdata_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_20rankdata_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("rankdata_2d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_18rankdata_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7031,7 +6539,7 @@ static PyObject *__pyx_pw_8rankdata_21rankdata_2d_int32_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_18rankdata_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -7087,7 +6595,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_2d_float64_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -7102,13 +6610,13 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "rankdata.pyx":525 - * def rankdata_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Ranks n2d array with dtype=int32 along axis=0, dealing with ties." + /* "rankdata.pyx":487 + * def rankdata_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Ranks n2d array with dtype=float64 along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) @@ -7116,22 +6624,22 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; - /* "rankdata.pyx":527 + /* "rankdata.pyx":489 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 * cdef Py_ssize_t i0, i1 */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; } } @@ -7139,7 +6647,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":528 + /* "rankdata.pyx":490 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< @@ -7148,7 +6656,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":531 + /* "rankdata.pyx":493 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7157,7 +6665,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":532 + /* "rankdata.pyx":494 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7166,7 +6674,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "rankdata.pyx":533 + /* "rankdata.pyx":495 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7175,7 +6683,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "rankdata.pyx":534 + /* "rankdata.pyx":496 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -7186,22 +6694,22 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":535 + /* "rankdata.pyx":497 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -7209,7 +6717,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":537 + /* "rankdata.pyx":499 * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< @@ -7219,19 +6727,19 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":538 + /* "rankdata.pyx":500 * NPY_float64, 0) * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y * for i1 in xrange(n1): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":539 + /* "rankdata.pyx":501 * if n0 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< @@ -7244,7 +6752,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "rankdata.pyx":540 + /* "rankdata.pyx":502 * PyArray_FillWithScalar(y, NAN) * return y * for i1 in xrange(n1): # <<<<<<<<<<<<<< @@ -7255,7 +6763,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "rankdata.pyx":541 + /* "rankdata.pyx":503 * return y * for i1 in xrange(n1): * idx = ivec[0, i1] # <<<<<<<<<<<<<< @@ -7266,7 +6774,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_t_9 = __pyx_v_i1; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":542 + /* "rankdata.pyx":504 * for i1 in xrange(n1): * idx = ivec[0, i1] * old = a[idx, i1] # <<<<<<<<<<<<<< @@ -7275,9 +6783,9 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_t_10 = __pyx_v_idx; __pyx_t_11 = __pyx_v_i1; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":543 + /* "rankdata.pyx":505 * idx = ivec[0, i1] * old = a[idx, i1] * sumranks = 0 # <<<<<<<<<<<<<< @@ -7286,7 +6794,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":544 + /* "rankdata.pyx":506 * old = a[idx, i1] * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -7296,7 +6804,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __Pyx_INCREF(__pyx_int_0); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - /* "rankdata.pyx":545 + /* "rankdata.pyx":507 * sumranks = 0 * dupcount = 0 * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< @@ -7307,7 +6815,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_i0 = __pyx_t_13; - /* "rankdata.pyx":546 + /* "rankdata.pyx":508 * dupcount = 0 * for i0 in xrange(n0-1): * sumranks += i0 # <<<<<<<<<<<<<< @@ -7316,19 +6824,19 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); - /* "rankdata.pyx":547 + /* "rankdata.pyx":509 * for i0 in xrange(n0-1): * sumranks += i0 * dupcount += 1 # <<<<<<<<<<<<<< * k = i0 + 1 * idx = ivec[k, i1] */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":548 + /* "rankdata.pyx":510 * sumranks += i0 * dupcount += 1 * k = i0 + 1 # <<<<<<<<<<<<<< @@ -7337,7 +6845,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_v_k = (__pyx_v_i0 + 1); - /* "rankdata.pyx":549 + /* "rankdata.pyx":511 * dupcount += 1 * k = i0 + 1 * idx = ivec[k, i1] # <<<<<<<<<<<<<< @@ -7348,7 +6856,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_t_15 = __pyx_v_i1; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":550 + /* "rankdata.pyx":512 * k = i0 + 1 * idx = ivec[k, i1] * new = a[idx, i1] # <<<<<<<<<<<<<< @@ -7357,9 +6865,9 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_t_16 = __pyx_v_idx; __pyx_t_17 = __pyx_v_i1; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":551 + /* "rankdata.pyx":513 * idx = ivec[k, i1] * new = a[idx, i1] * if old != new: # <<<<<<<<<<<<<< @@ -7369,26 +6877,26 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":552 + /* "rankdata.pyx":514 * new = a[idx, i1] * if old != new: * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(k - dupcount, k): * idx = ivec[j, i1] */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":553 + /* "rankdata.pyx":515 * if old != new: * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< @@ -7396,17 +6904,17 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb * y[idx, i1] = averank */ __pyx_t_20 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { __pyx_v_j = __pyx_t_22; - /* "rankdata.pyx":554 + /* "rankdata.pyx":516 * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): * idx = ivec[j, i1] # <<<<<<<<<<<<<< @@ -7417,7 +6925,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_t_24 = __pyx_v_i1; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":555 + /* "rankdata.pyx":517 * for j in xrange(k - dupcount, k): * idx = ivec[j, i1] * y[idx, i1] = averank # <<<<<<<<<<<<<< @@ -7429,7 +6937,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; } - /* "rankdata.pyx":556 + /* "rankdata.pyx":518 * idx = ivec[j, i1] * y[idx, i1] = averank * sumranks = 0 # <<<<<<<<<<<<<< @@ -7438,7 +6946,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":557 + /* "rankdata.pyx":519 * y[idx, i1] = averank * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -7451,7 +6959,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb } __pyx_L8:; - /* "rankdata.pyx":558 + /* "rankdata.pyx":520 * sumranks = 0 * dupcount = 0 * old = new # <<<<<<<<<<<<<< @@ -7461,7 +6969,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_v_old = __pyx_v_new; } - /* "rankdata.pyx":559 + /* "rankdata.pyx":521 * dupcount = 0 * old = new * sumranks += (n0 - 1) # <<<<<<<<<<<<<< @@ -7470,38 +6978,38 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); - /* "rankdata.pyx":560 + /* "rankdata.pyx":522 * old = new * sumranks += (n0 - 1) * dupcount += 1 # <<<<<<<<<<<<<< * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): */ - __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_18); __pyx_t_18 = 0; - /* "rankdata.pyx":561 + /* "rankdata.pyx":523 * sumranks += (n0 - 1) * dupcount += 1 * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(n0 - dupcount, n0): * idx = ivec[j, i1] */ - __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":562 + /* "rankdata.pyx":524 * dupcount += 1 * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< @@ -7509,17 +7017,17 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb * y[idx, i1] = averank */ __pyx_t_12 = __pyx_v_n0; - __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (__pyx_t_13 = __pyx_t_21; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_j = __pyx_t_13; - /* "rankdata.pyx":563 + /* "rankdata.pyx":525 * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): * idx = ivec[j, i1] # <<<<<<<<<<<<<< @@ -7530,7 +7038,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_t_22 = __pyx_v_i1; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":564 + /* "rankdata.pyx":526 * for j in xrange(n0 - dupcount, n0): * idx = ivec[j, i1] * y[idx, i1] = averank # <<<<<<<<<<<<<< @@ -7543,7 +7051,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb } } - /* "rankdata.pyx":565 + /* "rankdata.pyx":527 * idx = ivec[j, i1] * y[idx, i1] = averank * return y # <<<<<<<<<<<<<< @@ -7555,11 +7063,11 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "rankdata.pyx":523 + /* "rankdata.pyx":485 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int32 along axis=0, dealing with ties." + * def rankdata_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float64 along axis=0, dealing with ties." * cdef dupcount = 0 */ @@ -7573,7 +7081,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7589,27 +7097,27 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "rankdata.pyx":569 +/* "rankdata.pyx":531 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int32 along axis=1, dealing with ties." + * def rankdata_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float64 along axis=1, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_23rankdata_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_22rankdata_2d_int32_axis1[] = "rankdata_2d_int32_axis1(ndarray a)\nRanks n2d array with dtype=int32 along axis=1, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_23rankdata_2d_int32_axis1 = {"rankdata_2d_int32_axis1", (PyCFunction)__pyx_pw_8rankdata_23rankdata_2d_int32_axis1, METH_O, __pyx_doc_8rankdata_22rankdata_2d_int32_axis1}; -static PyObject *__pyx_pw_8rankdata_23rankdata_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_21rankdata_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_20rankdata_2d_float64_axis1[] = "rankdata_2d_float64_axis1(ndarray a)\nRanks n2d array with dtype=float64 along axis=1, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_21rankdata_2d_float64_axis1 = {"rankdata_2d_float64_axis1", (PyCFunction)__pyx_pw_8rankdata_21rankdata_2d_float64_axis1, METH_O, __pyx_doc_8rankdata_20rankdata_2d_float64_axis1}; +static PyObject *__pyx_pw_8rankdata_21rankdata_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_int32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_22rankdata_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("rankdata_2d_float64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_20rankdata_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7620,7 +7128,7 @@ static PyObject *__pyx_pw_8rankdata_23rankdata_2d_int32_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_20rankdata_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -7676,7 +7184,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("rankdata_2d_float64_axis1", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -7691,13 +7199,13 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "rankdata.pyx":571 - * def rankdata_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Ranks n2d array with dtype=int32 along axis=1, dealing with ties." + /* "rankdata.pyx":533 + * def rankdata_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Ranks n2d array with dtype=float64 along axis=1, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) @@ -7705,22 +7213,22 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; - /* "rankdata.pyx":573 + /* "rankdata.pyx":535 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 * cdef Py_ssize_t i0, i1 */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 1, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 1, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; } } @@ -7728,7 +7236,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":574 + /* "rankdata.pyx":536 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< @@ -7737,7 +7245,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":577 + /* "rankdata.pyx":539 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7746,7 +7254,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":578 + /* "rankdata.pyx":540 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7755,7 +7263,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "rankdata.pyx":579 + /* "rankdata.pyx":541 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7764,7 +7272,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "rankdata.pyx":580 + /* "rankdata.pyx":542 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -7775,22 +7283,22 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":581 + /* "rankdata.pyx":543 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) * if n1 == 0: */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -7798,7 +7306,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":583 + /* "rankdata.pyx":545 * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) * if n1 == 0: # <<<<<<<<<<<<<< @@ -7808,19 +7316,19 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":584 + /* "rankdata.pyx":546 * NPY_float64, 0) * if n1 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y * for i0 in xrange(n0): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":585 + /* "rankdata.pyx":547 * if n1 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< @@ -7833,7 +7341,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "rankdata.pyx":586 + /* "rankdata.pyx":548 * PyArray_FillWithScalar(y, NAN) * return y * for i0 in xrange(n0): # <<<<<<<<<<<<<< @@ -7844,7 +7352,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "rankdata.pyx":587 + /* "rankdata.pyx":549 * return y * for i0 in xrange(n0): * idx = ivec[i0, 0] # <<<<<<<<<<<<<< @@ -7855,7 +7363,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_t_9 = 0; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":588 + /* "rankdata.pyx":550 * for i0 in xrange(n0): * idx = ivec[i0, 0] * old = a[i0, idx] # <<<<<<<<<<<<<< @@ -7864,9 +7372,9 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_idx; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":589 + /* "rankdata.pyx":551 * idx = ivec[i0, 0] * old = a[i0, idx] * sumranks = 0 # <<<<<<<<<<<<<< @@ -7875,7 +7383,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":590 + /* "rankdata.pyx":552 * old = a[i0, idx] * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -7885,7 +7393,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __Pyx_INCREF(__pyx_int_0); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - /* "rankdata.pyx":591 + /* "rankdata.pyx":553 * sumranks = 0 * dupcount = 0 * for i1 in xrange(n1-1): # <<<<<<<<<<<<<< @@ -7896,7 +7404,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_i1 = __pyx_t_13; - /* "rankdata.pyx":592 + /* "rankdata.pyx":554 * dupcount = 0 * for i1 in xrange(n1-1): * sumranks += i1 # <<<<<<<<<<<<<< @@ -7905,19 +7413,19 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i1); - /* "rankdata.pyx":593 + /* "rankdata.pyx":555 * for i1 in xrange(n1-1): * sumranks += i1 * dupcount += 1 # <<<<<<<<<<<<<< * k = i1 + 1 * idx = ivec[i0, k] */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":594 + /* "rankdata.pyx":556 * sumranks += i1 * dupcount += 1 * k = i1 + 1 # <<<<<<<<<<<<<< @@ -7926,7 +7434,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_k = (__pyx_v_i1 + 1); - /* "rankdata.pyx":595 + /* "rankdata.pyx":557 * dupcount += 1 * k = i1 + 1 * idx = ivec[i0, k] # <<<<<<<<<<<<<< @@ -7937,7 +7445,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_t_15 = __pyx_v_k; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":596 + /* "rankdata.pyx":558 * k = i1 + 1 * idx = ivec[i0, k] * new = a[i0, idx] # <<<<<<<<<<<<<< @@ -7946,9 +7454,9 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_t_16 = __pyx_v_i0; __pyx_t_17 = __pyx_v_idx; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":597 + /* "rankdata.pyx":559 * idx = ivec[i0, k] * new = a[i0, idx] * if old != new: # <<<<<<<<<<<<<< @@ -7958,26 +7466,26 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":598 + /* "rankdata.pyx":560 * new = a[i0, idx] * if old != new: * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(k - dupcount, k): * idx = ivec[i0, j] */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":599 + /* "rankdata.pyx":561 * if old != new: * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< @@ -7985,17 +7493,17 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb * y[i0, idx] = averank */ __pyx_t_20 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { __pyx_v_j = __pyx_t_22; - /* "rankdata.pyx":600 + /* "rankdata.pyx":562 * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): * idx = ivec[i0, j] # <<<<<<<<<<<<<< @@ -8006,7 +7514,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_t_24 = __pyx_v_j; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":601 + /* "rankdata.pyx":563 * for j in xrange(k - dupcount, k): * idx = ivec[i0, j] * y[i0, idx] = averank # <<<<<<<<<<<<<< @@ -8018,7 +7526,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; } - /* "rankdata.pyx":602 + /* "rankdata.pyx":564 * idx = ivec[i0, j] * y[i0, idx] = averank * sumranks = 0 # <<<<<<<<<<<<<< @@ -8027,7 +7535,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":603 + /* "rankdata.pyx":565 * y[i0, idx] = averank * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -8040,7 +7548,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb } __pyx_L8:; - /* "rankdata.pyx":604 + /* "rankdata.pyx":566 * sumranks = 0 * dupcount = 0 * old = new # <<<<<<<<<<<<<< @@ -8050,7 +7558,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_v_old = __pyx_v_new; } - /* "rankdata.pyx":605 + /* "rankdata.pyx":567 * dupcount = 0 * old = new * sumranks += (n1 - 1) # <<<<<<<<<<<<<< @@ -8059,38 +7567,38 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n1 - 1)); - /* "rankdata.pyx":606 + /* "rankdata.pyx":568 * old = new * sumranks += (n1 - 1) * dupcount += 1 # <<<<<<<<<<<<<< * averank = sumranks / dupcount + 1 * for j in xrange(n1 - dupcount, n1): */ - __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_18); __pyx_t_18 = 0; - /* "rankdata.pyx":607 + /* "rankdata.pyx":569 * sumranks += (n1 - 1) * dupcount += 1 * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(n1 - dupcount, n1): * idx = ivec[i0, j] */ - __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":608 + /* "rankdata.pyx":570 * dupcount += 1 * averank = sumranks / dupcount + 1 * for j in xrange(n1 - dupcount, n1): # <<<<<<<<<<<<<< @@ -8098,17 +7606,17 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb * y[i0, idx] = averank */ __pyx_t_12 = __pyx_v_n1; - __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (__pyx_t_13 = __pyx_t_21; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_j = __pyx_t_13; - /* "rankdata.pyx":609 + /* "rankdata.pyx":571 * averank = sumranks / dupcount + 1 * for j in xrange(n1 - dupcount, n1): * idx = ivec[i0, j] # <<<<<<<<<<<<<< @@ -8119,7 +7627,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_t_22 = __pyx_v_j; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":610 + /* "rankdata.pyx":572 * for j in xrange(n1 - dupcount, n1): * idx = ivec[i0, j] * y[i0, idx] = averank # <<<<<<<<<<<<<< @@ -8132,7 +7640,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb } } - /* "rankdata.pyx":611 + /* "rankdata.pyx":573 * idx = ivec[i0, j] * y[i0, idx] = averank * return y # <<<<<<<<<<<<<< @@ -8144,11 +7652,11 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "rankdata.pyx":569 + /* "rankdata.pyx":531 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int32 along axis=1, dealing with ties." + * def rankdata_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float64 along axis=1, dealing with ties." * cdef dupcount = 0 */ @@ -8162,7 +7670,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8178,27 +7686,27 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb return __pyx_r; } -/* "rankdata.pyx":615 +/* "rankdata.pyx":577 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int64 along axis=0, dealing with ties." + * def rankdata_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_25rankdata_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_24rankdata_2d_int64_axis0[] = "rankdata_2d_int64_axis0(ndarray a)\nRanks n2d array with dtype=int64 along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_25rankdata_2d_int64_axis0 = {"rankdata_2d_int64_axis0", (PyCFunction)__pyx_pw_8rankdata_25rankdata_2d_int64_axis0, METH_O, __pyx_doc_8rankdata_24rankdata_2d_int64_axis0}; -static PyObject *__pyx_pw_8rankdata_25rankdata_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_23rankdata_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_22rankdata_1d_int_axis0[] = "rankdata_1d_int_axis0(ndarray a)\nRanks n1d array with dtype=int along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_23rankdata_1d_int_axis0 = {"rankdata_1d_int_axis0", (PyCFunction)__pyx_pw_8rankdata_23rankdata_1d_int_axis0, METH_O, __pyx_doc_8rankdata_22rankdata_1d_int_axis0}; +static PyObject *__pyx_pw_8rankdata_23rankdata_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_24rankdata_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("rankdata_1d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_22rankdata_1d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8209,21 +7717,18 @@ static PyObject *__pyx_pw_8rankdata_25rankdata_2d_int64_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_24rankdata_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_22rankdata_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; - Py_ssize_t __pyx_v_idx; PyArrayObject *__pyx_v_ivec = 0; __pyx_t_5numpy_float64_t __pyx_v_old; __pyx_t_5numpy_float64_t __pyx_v_new; __pyx_t_5numpy_float64_t __pyx_v_averank; __pyx_t_5numpy_float64_t __pyx_v_sumranks; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -8236,36 +7741,27 @@ static PyObject *__pyx_pf_8rankdata_24rankdata_2d_int64_axis0(CYTHON_UNUSED PyOb __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[2]; + npy_intp __pyx_t_3[1]; PyArrayObject *__pyx_t_4 = NULL; int __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - long __pyx_t_8; + long __pyx_t_6; + __pyx_t_5numpy_intp_t __pyx_t_7; + Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; + __pyx_t_5numpy_intp_t __pyx_t_11; + PyObject *__pyx_t_12 = NULL; + __pyx_t_5numpy_float64_t __pyx_t_13; Py_ssize_t __pyx_t_14; - Py_ssize_t __pyx_t_15; + long __pyx_t_15; Py_ssize_t __pyx_t_16; Py_ssize_t __pyx_t_17; - PyObject *__pyx_t_18 = NULL; - __pyx_t_5numpy_float64_t __pyx_t_19; - Py_ssize_t __pyx_t_20; - long __pyx_t_21; - Py_ssize_t __pyx_t_22; - Py_ssize_t __pyx_t_23; - Py_ssize_t __pyx_t_24; - Py_ssize_t __pyx_t_25; - Py_ssize_t __pyx_t_26; - Py_ssize_t __pyx_t_27; - Py_ssize_t __pyx_t_28; + __pyx_t_5numpy_intp_t __pyx_t_18; + __pyx_t_5numpy_intp_t __pyx_t_19; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_int64_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_1d_int_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -8280,115 +7776,105 @@ static PyObject *__pyx_pf_8rankdata_24rankdata_2d_int64_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "rankdata.pyx":617 - * def rankdata_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Ranks n2d array with dtype=int64 along axis=0, dealing with ties." + /* "rankdata.pyx":579 + * def rankdata_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): + * "Ranks n1d array with dtype=int along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) + * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) */ __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; - /* "rankdata.pyx":619 + /* "rankdata.pyx":581 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":620 + /* "rankdata.pyx":582 * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) + * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":623 - * cdef Py_ssize_t i0, i1 + /* "rankdata.pyx":585 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":624 + /* "rankdata.pyx":586 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "rankdata.pyx":625 + /* "rankdata.pyx":587 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "rankdata.pyx":626 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) */ __pyx_t_3[0] = __pyx_v_n0; - __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":627 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< + /* "rankdata.pyx":588 + * cdef Py_ssize_t n0 = dim[0] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":629 - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, + /* "rankdata.pyx":590 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) @@ -8397,24 +7883,24 @@ static PyObject *__pyx_pf_8rankdata_24rankdata_2d_int64_axis0(CYTHON_UNUSED PyOb __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":630 + /* "rankdata.pyx":591 * NPY_float64, 0) * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y - * for i1 in xrange(n1): + * old = a[ivec[0]] */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":631 + /* "rankdata.pyx":592 * if n0 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< - * for i1 in xrange(n1): - * idx = ivec[0, i1] + * old = a[ivec[0]] + * for i0 in xrange(n0-1): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -8422,308 +7908,725 @@ static PyObject *__pyx_pf_8rankdata_24rankdata_2d_int64_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "rankdata.pyx":632 + /* "rankdata.pyx":593 * PyArray_FillWithScalar(y, NAN) * return y - * for i1 in xrange(n1): # <<<<<<<<<<<<<< - * idx = ivec[0, i1] - * old = a[idx, i1] + * old = a[ivec[0]] # <<<<<<<<<<<<<< + * for i0 in xrange(n0-1): + * sumranks += i0 */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_6 = 0; + __pyx_t_7 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_ivec.diminfo[0].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "rankdata.pyx":633 + /* "rankdata.pyx":594 * return y - * for i1 in xrange(n1): - * idx = ivec[0, i1] # <<<<<<<<<<<<<< - * old = a[idx, i1] - * sumranks = 0 + * old = a[ivec[0]] + * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< + * sumranks += i0 + * dupcount += 1 */ - __pyx_t_8 = 0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); + __pyx_t_8 = (__pyx_v_n0 - 1); + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "rankdata.pyx":634 - * for i1 in xrange(n1): - * idx = ivec[0, i1] - * old = a[idx, i1] # <<<<<<<<<<<<<< - * sumranks = 0 - * dupcount = 0 + /* "rankdata.pyx":595 + * old = a[ivec[0]] + * for i0 in xrange(n0-1): + * sumranks += i0 # <<<<<<<<<<<<<< + * dupcount += 1 + * k = i0 + 1 */ - __pyx_t_10 = __pyx_v_idx; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); - /* "rankdata.pyx":635 - * idx = ivec[0, i1] - * old = a[idx, i1] - * sumranks = 0 # <<<<<<<<<<<<<< - * dupcount = 0 - * for i0 in xrange(n0-1): + /* "rankdata.pyx":596 + * for i0 in xrange(n0-1): + * sumranks += i0 + * dupcount += 1 # <<<<<<<<<<<<<< + * k = i0 + 1 + * new = a[ivec[k]] */ - __pyx_v_sumranks = 0.0; + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); + __pyx_t_1 = 0; - /* "rankdata.pyx":636 - * old = a[idx, i1] - * sumranks = 0 - * dupcount = 0 # <<<<<<<<<<<<<< - * for i0 in xrange(n0-1): - * sumranks += i0 + /* "rankdata.pyx":597 + * sumranks += i0 + * dupcount += 1 + * k = i0 + 1 # <<<<<<<<<<<<<< + * new = a[ivec[k]] + * if old != new: */ - __Pyx_INCREF(__pyx_int_0); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); + __pyx_v_k = (__pyx_v_i0 + 1); - /* "rankdata.pyx":637 - * sumranks = 0 - * dupcount = 0 - * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< - * sumranks += i0 - * dupcount += 1 + /* "rankdata.pyx":598 + * dupcount += 1 + * k = i0 + 1 + * new = a[ivec[k]] # <<<<<<<<<<<<<< + * if old != new: + * averank = sumranks / dupcount + 1 */ - __pyx_t_12 = (__pyx_v_n0 - 1); - for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { - __pyx_v_i0 = __pyx_t_13; + __pyx_t_10 = __pyx_v_k; + __pyx_t_11 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_ivec.diminfo[0].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "rankdata.pyx":638 - * dupcount = 0 - * for i0 in xrange(n0-1): - * sumranks += i0 # <<<<<<<<<<<<<< - * dupcount += 1 - * k = i0 + 1 + /* "rankdata.pyx":599 + * k = i0 + 1 + * new = a[ivec[k]] + * if old != new: # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): */ - __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); + __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); + if (__pyx_t_5) { - /* "rankdata.pyx":639 - * for i0 in xrange(n0-1): - * sumranks += i0 - * dupcount += 1 # <<<<<<<<<<<<<< - * k = i0 + 1 - * idx = ivec[k, i1] + /* "rankdata.pyx":600 + * new = a[ivec[k]] + * if old != new: + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(k - dupcount, k): + * y[ivec[j]] = averank */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); - __pyx_t_1 = 0; - - /* "rankdata.pyx":640 - * sumranks += i0 - * dupcount += 1 - * k = i0 + 1 # <<<<<<<<<<<<<< - * idx = ivec[k, i1] - * new = a[idx, i1] - */ - __pyx_v_k = (__pyx_v_i0 + 1); + __pyx_t_12 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Add(__pyx_t_12, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_averank = __pyx_t_13; - /* "rankdata.pyx":641 - * dupcount += 1 - * k = i0 + 1 - * idx = ivec[k, i1] # <<<<<<<<<<<<<< - * new = a[idx, i1] - * if old != new: + /* "rankdata.pyx":601 + * if old != new: + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< + * y[ivec[j]] = averank + * sumranks = 0 */ __pyx_t_14 = __pyx_v_k; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_12 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_12); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + for (__pyx_t_16 = __pyx_t_15; __pyx_t_16 < __pyx_t_14; __pyx_t_16+=1) { + __pyx_v_j = __pyx_t_16; - /* "rankdata.pyx":642 - * k = i0 + 1 - * idx = ivec[k, i1] - * new = a[idx, i1] # <<<<<<<<<<<<<< - * if old != new: - * averank = sumranks / dupcount + 1 + /* "rankdata.pyx":602 + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): + * y[ivec[j]] = averank # <<<<<<<<<<<<<< + * sumranks = 0 + * dupcount = 0 */ - __pyx_t_16 = __pyx_v_idx; - __pyx_t_17 = __pyx_v_i1; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_ivec.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; + } - /* "rankdata.pyx":643 - * idx = ivec[k, i1] - * new = a[idx, i1] - * if old != new: # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): + /* "rankdata.pyx":603 + * for j in xrange(k - dupcount, k): + * y[ivec[j]] = averank + * sumranks = 0 # <<<<<<<<<<<<<< + * dupcount = 0 + * old = new */ - __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); - if (__pyx_t_5) { + __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":644 - * new = a[idx, i1] - * if old != new: - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(k - dupcount, k): - * idx = ivec[j, i1] + /* "rankdata.pyx":604 + * y[ivec[j]] = averank + * sumranks = 0 + * dupcount = 0 # <<<<<<<<<<<<<< + * old = new + * sumranks += (n0 - 1) */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_averank = __pyx_t_19; + __Pyx_INCREF(__pyx_int_0); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); + goto __pyx_L6; + } + __pyx_L6:; - /* "rankdata.pyx":645 - * if old != new: - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< - * idx = ivec[j, i1] - * y[idx, i1] = averank + /* "rankdata.pyx":605 + * sumranks = 0 + * dupcount = 0 + * old = new # <<<<<<<<<<<<<< + * sumranks += (n0 - 1) + * dupcount += 1 */ - __pyx_t_20 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { - __pyx_v_j = __pyx_t_22; + __pyx_v_old = __pyx_v_new; + } - /* "rankdata.pyx":646 - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): - * idx = ivec[j, i1] # <<<<<<<<<<<<<< - * y[idx, i1] = averank - * sumranks = 0 + /* "rankdata.pyx":606 + * dupcount = 0 + * old = new + * sumranks += (n0 - 1) # <<<<<<<<<<<<<< + * dupcount += 1 + * averank = sumranks / dupcount + 1 */ - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i1; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); + __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); - /* "rankdata.pyx":647 - * for j in xrange(k - dupcount, k): - * idx = ivec[j, i1] - * y[idx, i1] = averank # <<<<<<<<<<<<<< - * sumranks = 0 - * dupcount = 0 + /* "rankdata.pyx":607 + * old = new + * sumranks += (n0 - 1) + * dupcount += 1 # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): */ - __pyx_t_25 = __pyx_v_idx; - __pyx_t_26 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; - } + __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_12); + __pyx_t_12 = 0; - /* "rankdata.pyx":648 - * idx = ivec[j, i1] - * y[idx, i1] = averank - * sumranks = 0 # <<<<<<<<<<<<<< - * dupcount = 0 - * old = new + /* "rankdata.pyx":608 + * sumranks += (n0 - 1) + * dupcount += 1 + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(n0 - dupcount, n0): + * y[ivec[j]] = averank */ - __pyx_v_sumranks = 0.0; - - /* "rankdata.pyx":649 - * y[idx, i1] = averank - * sumranks = 0 - * dupcount = 0 # <<<<<<<<<<<<<< - * old = new - * sumranks += (n0 - 1) + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_v_averank = __pyx_t_13; + + /* "rankdata.pyx":609 + * dupcount += 1 + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< + * y[ivec[j]] = averank + * return y */ - __Pyx_INCREF(__pyx_int_0); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - goto __pyx_L8; - } - __pyx_L8:; + __pyx_t_8 = __pyx_v_n0; + __pyx_t_12 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_1 = PyNumber_Subtract(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + for (__pyx_t_9 = __pyx_t_15; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_j = __pyx_t_9; - /* "rankdata.pyx":650 - * sumranks = 0 - * dupcount = 0 - * old = new # <<<<<<<<<<<<<< - * sumranks += (n0 - 1) - * dupcount += 1 + /* "rankdata.pyx":610 + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): + * y[ivec[j]] = averank # <<<<<<<<<<<<<< + * return y + * */ - __pyx_v_old = __pyx_v_new; + __pyx_t_14 = __pyx_v_j; + __pyx_t_19 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; + } + + /* "rankdata.pyx":611 + * for j in xrange(n0 - dupcount, n0): + * y[ivec[j]] = averank + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "rankdata.pyx":577 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def rankdata_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int along axis=0, dealing with ties." + * cdef dupcount = 0 + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_12); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("rankdata.rankdata_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); + __pyx_L2:; + __Pyx_XDECREF(__pyx_v_dupcount); + __Pyx_XDECREF((PyObject *)__pyx_v_ivec); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "rankdata.pyx":615 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def rankdata_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int8 along axis=0, dealing with ties." + * cdef dupcount = 0 + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_8rankdata_25rankdata_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_24rankdata_1d_int8_axis0[] = "rankdata_1d_int8_axis0(ndarray a)\nRanks n1d array with dtype=int8 along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_25rankdata_1d_int8_axis0 = {"rankdata_1d_int8_axis0", (PyCFunction)__pyx_pw_8rankdata_25rankdata_1d_int8_axis0, METH_O, __pyx_doc_8rankdata_24rankdata_1d_int8_axis0}; +static PyObject *__pyx_pw_8rankdata_25rankdata_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_lineno = 0; + CYTHON_UNUSED const char *__pyx_filename = NULL; + CYTHON_UNUSED int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("rankdata_1d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_24rankdata_1d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_8rankdata_24rankdata_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + PyObject *__pyx_v_dupcount = 0; + Py_ssize_t __pyx_v_j; + Py_ssize_t __pyx_v_k; + PyArrayObject *__pyx_v_ivec = 0; + __pyx_t_5numpy_float64_t __pyx_v_old; + __pyx_t_5numpy_float64_t __pyx_v_new; + __pyx_t_5numpy_float64_t __pyx_v_averank; + __pyx_t_5numpy_float64_t __pyx_v_sumranks; + Py_ssize_t __pyx_v_i0; + npy_intp *__pyx_v_dim; + Py_ssize_t __pyx_v_n0; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + __Pyx_LocalBuf_ND __pyx_pybuffernd_a; + __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_ivec; + __Pyx_Buffer __pyx_pybuffer_ivec; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyArrayObject *__pyx_t_2 = NULL; + npy_intp __pyx_t_3[1]; + PyArrayObject *__pyx_t_4 = NULL; + int __pyx_t_5; + long __pyx_t_6; + __pyx_t_5numpy_intp_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + __pyx_t_5numpy_intp_t __pyx_t_11; + PyObject *__pyx_t_12 = NULL; + __pyx_t_5numpy_float64_t __pyx_t_13; + Py_ssize_t __pyx_t_14; + long __pyx_t_15; + Py_ssize_t __pyx_t_16; + Py_ssize_t __pyx_t_17; + __pyx_t_5numpy_intp_t __pyx_t_18; + __pyx_t_5numpy_intp_t __pyx_t_19; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("rankdata_1d_int8_axis0", 0); + __pyx_pybuffer_ivec.pybuffer.buf = NULL; + __pyx_pybuffer_ivec.refcount = 0; + __pyx_pybuffernd_ivec.data = NULL; + __pyx_pybuffernd_ivec.rcbuffer = &__pyx_pybuffer_ivec; + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __pyx_pybuffer_a.pybuffer.buf = NULL; + __pyx_pybuffer_a.refcount = 0; + __pyx_pybuffernd_a.data = NULL; + __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + + /* "rankdata.pyx":617 + * def rankdata_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): + * "Ranks n1d array with dtype=int8 along axis=0, dealing with ties." + * cdef dupcount = 0 # <<<<<<<<<<<<<< + * cdef Py_ssize_t j, k, idx + * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) + */ + __Pyx_INCREF(__pyx_int_0); + __pyx_v_dupcount = __pyx_int_0; + + /* "rankdata.pyx":619 + * cdef dupcount = 0 + * cdef Py_ssize_t j, k, idx + * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< + * cdef np.float64_t old, new, averank, sumranks = 0 + * cdef Py_ssize_t i0 + */ + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; } + } + __pyx_t_2 = 0; + __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; - /* "rankdata.pyx":651 - * dupcount = 0 - * old = new - * sumranks += (n0 - 1) # <<<<<<<<<<<<<< - * dupcount += 1 - * averank = sumranks / dupcount + 1 + /* "rankdata.pyx":620 + * cdef Py_ssize_t j, k, idx + * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) + * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 + * cdef np.npy_intp *dim */ - __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); + __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":652 - * old = new - * sumranks += (n0 - 1) - * dupcount += 1 # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): + /* "rankdata.pyx":623 + * cdef Py_ssize_t i0 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n0 = dim[0] + * cdef np.npy_intp *dims = [n0] */ - __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_18); - __pyx_t_18 = 0; + __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":653 - * sumranks += (n0 - 1) - * dupcount += 1 - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(n0 - dupcount, n0): - * idx = ivec[j, i1] + /* "rankdata.pyx":624 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_n0 = (__pyx_v_dim[0]); + + /* "rankdata.pyx":625 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + */ + __pyx_t_3[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_3; + + /* "rankdata.pyx":626 + * cdef Py_ssize_t n0 = dim[0] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: + */ + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_4 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "rankdata.pyx":628 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * return y + */ + __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_5) { + + /* "rankdata.pyx":629 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * return y + * old = a[ivec[0]] + */ + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":654 + /* "rankdata.pyx":630 + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) + * return y # <<<<<<<<<<<<<< + * old = a[ivec[0]] + * for i0 in xrange(n0-1): + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + } + + /* "rankdata.pyx":631 + * PyArray_FillWithScalar(y, NAN) + * return y + * old = a[ivec[0]] # <<<<<<<<<<<<<< + * for i0 in xrange(n0-1): + * sumranks += i0 + */ + __pyx_t_6 = 0; + __pyx_t_7 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_ivec.diminfo[0].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); + + /* "rankdata.pyx":632 + * return y + * old = a[ivec[0]] + * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< + * sumranks += i0 * dupcount += 1 - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< - * idx = ivec[j, i1] - * y[idx, i1] = averank */ - __pyx_t_12 = __pyx_v_n0; - __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = (__pyx_v_n0 - 1); + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; + + /* "rankdata.pyx":633 + * old = a[ivec[0]] + * for i0 in xrange(n0-1): + * sumranks += i0 # <<<<<<<<<<<<<< + * dupcount += 1 + * k = i0 + 1 + */ + __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); + + /* "rankdata.pyx":634 + * for i0 in xrange(n0-1): + * sumranks += i0 + * dupcount += 1 # <<<<<<<<<<<<<< + * k = i0 + 1 + * new = a[ivec[k]] + */ + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (__pyx_t_13 = __pyx_t_21; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { - __pyx_v_j = __pyx_t_13; + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); + __pyx_t_1 = 0; - /* "rankdata.pyx":655 - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): - * idx = ivec[j, i1] # <<<<<<<<<<<<<< - * y[idx, i1] = averank + /* "rankdata.pyx":635 + * sumranks += i0 + * dupcount += 1 + * k = i0 + 1 # <<<<<<<<<<<<<< + * new = a[ivec[k]] + * if old != new: + */ + __pyx_v_k = (__pyx_v_i0 + 1); + + /* "rankdata.pyx":636 + * dupcount += 1 + * k = i0 + 1 + * new = a[ivec[k]] # <<<<<<<<<<<<<< + * if old != new: + * averank = sumranks / dupcount + 1 + */ + __pyx_t_10 = __pyx_v_k; + __pyx_t_11 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_ivec.diminfo[0].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); + + /* "rankdata.pyx":637 + * k = i0 + 1 + * new = a[ivec[k]] + * if old != new: # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): + */ + __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); + if (__pyx_t_5) { + + /* "rankdata.pyx":638 + * new = a[ivec[k]] + * if old != new: + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(k - dupcount, k): + * y[ivec[j]] = averank + */ + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_12 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Add(__pyx_t_12, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_averank = __pyx_t_13; + + /* "rankdata.pyx":639 + * if old != new: + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< + * y[ivec[j]] = averank + * sumranks = 0 + */ + __pyx_t_14 = __pyx_v_k; + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_12 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_12); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + for (__pyx_t_16 = __pyx_t_15; __pyx_t_16 < __pyx_t_14; __pyx_t_16+=1) { + __pyx_v_j = __pyx_t_16; + + /* "rankdata.pyx":640 + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): + * y[ivec[j]] = averank # <<<<<<<<<<<<<< + * sumranks = 0 + * dupcount = 0 + */ + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_ivec.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; + } + + /* "rankdata.pyx":641 + * for j in xrange(k - dupcount, k): + * y[ivec[j]] = averank + * sumranks = 0 # <<<<<<<<<<<<<< + * dupcount = 0 + * old = new + */ + __pyx_v_sumranks = 0.0; + + /* "rankdata.pyx":642 + * y[ivec[j]] = averank + * sumranks = 0 + * dupcount = 0 # <<<<<<<<<<<<<< + * old = new + * sumranks += (n0 - 1) + */ + __Pyx_INCREF(__pyx_int_0); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); + goto __pyx_L6; + } + __pyx_L6:; + + /* "rankdata.pyx":643 + * sumranks = 0 + * dupcount = 0 + * old = new # <<<<<<<<<<<<<< + * sumranks += (n0 - 1) + * dupcount += 1 + */ + __pyx_v_old = __pyx_v_new; + } + + /* "rankdata.pyx":644 + * dupcount = 0 + * old = new + * sumranks += (n0 - 1) # <<<<<<<<<<<<<< + * dupcount += 1 + * averank = sumranks / dupcount + 1 + */ + __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); + + /* "rankdata.pyx":645 + * old = new + * sumranks += (n0 - 1) + * dupcount += 1 # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): + */ + __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_12); + __pyx_t_12 = 0; + + /* "rankdata.pyx":646 + * sumranks += (n0 - 1) + * dupcount += 1 + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(n0 - dupcount, n0): + * y[ivec[j]] = averank + */ + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_v_averank = __pyx_t_13; + + /* "rankdata.pyx":647 + * dupcount += 1 + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< + * y[ivec[j]] = averank * return y */ - __pyx_t_20 = __pyx_v_j; - __pyx_t_22 = __pyx_v_i1; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_ivec.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_n0; + __pyx_t_12 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_1 = PyNumber_Subtract(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + for (__pyx_t_9 = __pyx_t_15; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_j = __pyx_t_9; - /* "rankdata.pyx":656 - * for j in xrange(n0 - dupcount, n0): - * idx = ivec[j, i1] - * y[idx, i1] = averank # <<<<<<<<<<<<<< + /* "rankdata.pyx":648 + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): + * y[ivec[j]] = averank # <<<<<<<<<<<<<< * return y * */ - __pyx_t_27 = __pyx_v_idx; - __pyx_t_28 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; - } + __pyx_t_14 = __pyx_v_j; + __pyx_t_19 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; } - /* "rankdata.pyx":657 - * idx = ivec[j, i1] - * y[idx, i1] = averank + /* "rankdata.pyx":649 + * for j in xrange(n0 - dupcount, n0): + * y[ivec[j]] = averank * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -8736,22 +8639,22 @@ static PyObject *__pyx_pf_8rankdata_24rankdata_2d_int64_axis0(CYTHON_UNUSED PyOb /* "rankdata.pyx":615 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int64 along axis=0, dealing with ties." + * def rankdata_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int8 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8767,27 +8670,27 @@ static PyObject *__pyx_pf_8rankdata_24rankdata_2d_int64_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "rankdata.pyx":661 +/* "rankdata.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int64 along axis=1, dealing with ties." + * def rankdata_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int32 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_27rankdata_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_26rankdata_2d_int64_axis1[] = "rankdata_2d_int64_axis1(ndarray a)\nRanks n2d array with dtype=int64 along axis=1, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_27rankdata_2d_int64_axis1 = {"rankdata_2d_int64_axis1", (PyCFunction)__pyx_pw_8rankdata_27rankdata_2d_int64_axis1, METH_O, __pyx_doc_8rankdata_26rankdata_2d_int64_axis1}; -static PyObject *__pyx_pw_8rankdata_27rankdata_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_27rankdata_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_26rankdata_1d_int32_axis0[] = "rankdata_1d_int32_axis0(ndarray a)\nRanks n1d array with dtype=int32 along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_27rankdata_1d_int32_axis0 = {"rankdata_1d_int32_axis0", (PyCFunction)__pyx_pw_8rankdata_27rankdata_1d_int32_axis0, METH_O, __pyx_doc_8rankdata_26rankdata_1d_int32_axis0}; +static PyObject *__pyx_pw_8rankdata_27rankdata_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_26rankdata_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("rankdata_1d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_26rankdata_1d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8798,21 +8701,18 @@ static PyObject *__pyx_pw_8rankdata_27rankdata_2d_int64_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_26rankdata_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_26rankdata_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; - Py_ssize_t __pyx_v_idx; PyArrayObject *__pyx_v_ivec = 0; __pyx_t_5numpy_float64_t __pyx_v_old; __pyx_t_5numpy_float64_t __pyx_v_new; __pyx_t_5numpy_float64_t __pyx_v_averank; __pyx_t_5numpy_float64_t __pyx_v_sumranks; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -8825,36 +8725,27 @@ static PyObject *__pyx_pf_8rankdata_26rankdata_2d_int64_axis1(CYTHON_UNUSED PyOb __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[2]; + npy_intp __pyx_t_3[1]; PyArrayObject *__pyx_t_4 = NULL; int __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; + long __pyx_t_6; + __pyx_t_5numpy_intp_t __pyx_t_7; Py_ssize_t __pyx_t_8; - long __pyx_t_9; + Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; + __pyx_t_5numpy_intp_t __pyx_t_11; + PyObject *__pyx_t_12 = NULL; + __pyx_t_5numpy_float64_t __pyx_t_13; Py_ssize_t __pyx_t_14; - Py_ssize_t __pyx_t_15; + long __pyx_t_15; Py_ssize_t __pyx_t_16; Py_ssize_t __pyx_t_17; - PyObject *__pyx_t_18 = NULL; - __pyx_t_5numpy_float64_t __pyx_t_19; - Py_ssize_t __pyx_t_20; - long __pyx_t_21; - Py_ssize_t __pyx_t_22; - Py_ssize_t __pyx_t_23; - Py_ssize_t __pyx_t_24; - Py_ssize_t __pyx_t_25; - Py_ssize_t __pyx_t_26; - Py_ssize_t __pyx_t_27; - Py_ssize_t __pyx_t_28; + __pyx_t_5numpy_intp_t __pyx_t_18; + __pyx_t_5numpy_intp_t __pyx_t_19; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_int64_axis1", 0); + __Pyx_RefNannySetupContext("rankdata_1d_int32_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -8869,141 +8760,131 @@ static PyObject *__pyx_pf_8rankdata_26rankdata_2d_int64_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "rankdata.pyx":663 - * def rankdata_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Ranks n2d array with dtype=int64 along axis=1, dealing with ties." + /* "rankdata.pyx":655 + * def rankdata_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): + * "Ranks n1d array with dtype=int32 along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) + * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) */ __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; - /* "rankdata.pyx":665 + /* "rankdata.pyx":657 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 1, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":666 + /* "rankdata.pyx":658 * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) + * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":669 - * cdef Py_ssize_t i0, i1 + /* "rankdata.pyx":661 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":670 + /* "rankdata.pyx":662 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "rankdata.pyx":671 + /* "rankdata.pyx":663 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "rankdata.pyx":672 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) */ __pyx_t_3[0] = __pyx_v_n0; - __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":673 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< + /* "rankdata.pyx":664 + * cdef Py_ssize_t n0 = dim[0] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) - * if n1 == 0: + * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":675 - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, + /* "rankdata.pyx":666 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y */ - __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":676 + /* "rankdata.pyx":667 * NPY_float64, 0) - * if n1 == 0: + * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y - * for i0 in xrange(n0): + * old = a[ivec[0]] */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":677 - * if n1 == 0: + /* "rankdata.pyx":668 + * if n0 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< - * for i0 in xrange(n0): - * idx = ivec[i0, 0] + * old = a[ivec[0]] + * for i0 in xrange(n0-1): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -9011,308 +8892,233 @@ static PyObject *__pyx_pf_8rankdata_26rankdata_2d_int64_axis1(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "rankdata.pyx":678 + /* "rankdata.pyx":669 * PyArray_FillWithScalar(y, NAN) * return y - * for i0 in xrange(n0): # <<<<<<<<<<<<<< - * idx = ivec[i0, 0] - * old = a[i0, idx] + * old = a[ivec[0]] # <<<<<<<<<<<<<< + * for i0 in xrange(n0-1): + * sumranks += i0 */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_6 = 0; + __pyx_t_7 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_ivec.diminfo[0].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "rankdata.pyx":679 + /* "rankdata.pyx":670 * return y - * for i0 in xrange(n0): - * idx = ivec[i0, 0] # <<<<<<<<<<<<<< - * old = a[i0, idx] - * sumranks = 0 + * old = a[ivec[0]] + * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< + * sumranks += i0 + * dupcount += 1 */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = 0; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); + __pyx_t_8 = (__pyx_v_n0 - 1); + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "rankdata.pyx":680 - * for i0 in xrange(n0): - * idx = ivec[i0, 0] - * old = a[i0, idx] # <<<<<<<<<<<<<< - * sumranks = 0 - * dupcount = 0 + /* "rankdata.pyx":671 + * old = a[ivec[0]] + * for i0 in xrange(n0-1): + * sumranks += i0 # <<<<<<<<<<<<<< + * dupcount += 1 + * k = i0 + 1 */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_idx; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); - /* "rankdata.pyx":681 - * idx = ivec[i0, 0] - * old = a[i0, idx] - * sumranks = 0 # <<<<<<<<<<<<<< - * dupcount = 0 - * for i1 in xrange(n1-1): + /* "rankdata.pyx":672 + * for i0 in xrange(n0-1): + * sumranks += i0 + * dupcount += 1 # <<<<<<<<<<<<<< + * k = i0 + 1 + * new = a[ivec[k]] */ - __pyx_v_sumranks = 0.0; + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); + __pyx_t_1 = 0; - /* "rankdata.pyx":682 - * old = a[i0, idx] - * sumranks = 0 - * dupcount = 0 # <<<<<<<<<<<<<< - * for i1 in xrange(n1-1): - * sumranks += i1 + /* "rankdata.pyx":673 + * sumranks += i0 + * dupcount += 1 + * k = i0 + 1 # <<<<<<<<<<<<<< + * new = a[ivec[k]] + * if old != new: */ - __Pyx_INCREF(__pyx_int_0); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); + __pyx_v_k = (__pyx_v_i0 + 1); - /* "rankdata.pyx":683 - * sumranks = 0 - * dupcount = 0 - * for i1 in xrange(n1-1): # <<<<<<<<<<<<<< - * sumranks += i1 - * dupcount += 1 + /* "rankdata.pyx":674 + * dupcount += 1 + * k = i0 + 1 + * new = a[ivec[k]] # <<<<<<<<<<<<<< + * if old != new: + * averank = sumranks / dupcount + 1 */ - __pyx_t_12 = (__pyx_v_n1 - 1); - for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { - __pyx_v_i1 = __pyx_t_13; + __pyx_t_10 = __pyx_v_k; + __pyx_t_11 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_ivec.diminfo[0].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "rankdata.pyx":684 - * dupcount = 0 - * for i1 in xrange(n1-1): - * sumranks += i1 # <<<<<<<<<<<<<< - * dupcount += 1 - * k = i1 + 1 + /* "rankdata.pyx":675 + * k = i0 + 1 + * new = a[ivec[k]] + * if old != new: # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): */ - __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i1); + __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); + if (__pyx_t_5) { - /* "rankdata.pyx":685 - * for i1 in xrange(n1-1): - * sumranks += i1 - * dupcount += 1 # <<<<<<<<<<<<<< - * k = i1 + 1 - * idx = ivec[i0, k] + /* "rankdata.pyx":676 + * new = a[ivec[k]] + * if old != new: + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(k - dupcount, k): + * y[ivec[j]] = averank */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); - __pyx_t_1 = 0; - - /* "rankdata.pyx":686 - * sumranks += i1 - * dupcount += 1 - * k = i1 + 1 # <<<<<<<<<<<<<< - * idx = ivec[i0, k] - * new = a[i0, idx] - */ - __pyx_v_k = (__pyx_v_i1 + 1); - - /* "rankdata.pyx":687 - * dupcount += 1 - * k = i1 + 1 - * idx = ivec[i0, k] # <<<<<<<<<<<<<< - * new = a[i0, idx] - * if old != new: - */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_k; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); - - /* "rankdata.pyx":688 - * k = i1 + 1 - * idx = ivec[i0, k] - * new = a[i0, idx] # <<<<<<<<<<<<<< - * if old != new: - * averank = sumranks / dupcount + 1 - */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_idx; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "rankdata.pyx":689 - * idx = ivec[i0, k] - * new = a[i0, idx] - * if old != new: # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): - */ - __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); - if (__pyx_t_5) { - - /* "rankdata.pyx":690 - * new = a[i0, idx] - * if old != new: - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(k - dupcount, k): - * idx = ivec[i0, j] - */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_averank = __pyx_t_19; - - /* "rankdata.pyx":691 - * if old != new: - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< - * idx = ivec[i0, j] - * y[i0, idx] = averank - */ - __pyx_t_20 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { - __pyx_v_j = __pyx_t_22; - - /* "rankdata.pyx":692 - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): - * idx = ivec[i0, j] # <<<<<<<<<<<<<< - * y[i0, idx] = averank - * sumranks = 0 - */ - __pyx_t_23 = __pyx_v_i0; - __pyx_t_24 = __pyx_v_j; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); + __pyx_t_12 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Add(__pyx_t_12, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_averank = __pyx_t_13; - /* "rankdata.pyx":693 - * for j in xrange(k - dupcount, k): - * idx = ivec[i0, j] - * y[i0, idx] = averank # <<<<<<<<<<<<<< - * sumranks = 0 - * dupcount = 0 + /* "rankdata.pyx":677 + * if old != new: + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< + * y[ivec[j]] = averank + * sumranks = 0 */ - __pyx_t_25 = __pyx_v_i0; - __pyx_t_26 = __pyx_v_idx; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; - } + __pyx_t_14 = __pyx_v_k; + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_12 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_12); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + for (__pyx_t_16 = __pyx_t_15; __pyx_t_16 < __pyx_t_14; __pyx_t_16+=1) { + __pyx_v_j = __pyx_t_16; - /* "rankdata.pyx":694 - * idx = ivec[i0, j] - * y[i0, idx] = averank - * sumranks = 0 # <<<<<<<<<<<<<< - * dupcount = 0 - * old = new + /* "rankdata.pyx":678 + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): + * y[ivec[j]] = averank # <<<<<<<<<<<<<< + * sumranks = 0 + * dupcount = 0 */ - __pyx_v_sumranks = 0.0; + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_ivec.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; + } - /* "rankdata.pyx":695 - * y[i0, idx] = averank - * sumranks = 0 - * dupcount = 0 # <<<<<<<<<<<<<< - * old = new - * sumranks += (n1 - 1) + /* "rankdata.pyx":679 + * for j in xrange(k - dupcount, k): + * y[ivec[j]] = averank + * sumranks = 0 # <<<<<<<<<<<<<< + * dupcount = 0 + * old = new */ - __Pyx_INCREF(__pyx_int_0); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - goto __pyx_L8; - } - __pyx_L8:; + __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":696 - * sumranks = 0 - * dupcount = 0 - * old = new # <<<<<<<<<<<<<< - * sumranks += (n1 - 1) - * dupcount += 1 + /* "rankdata.pyx":680 + * y[ivec[j]] = averank + * sumranks = 0 + * dupcount = 0 # <<<<<<<<<<<<<< + * old = new + * sumranks += (n0 - 1) */ - __pyx_v_old = __pyx_v_new; + __Pyx_INCREF(__pyx_int_0); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); + goto __pyx_L6; } + __pyx_L6:; - /* "rankdata.pyx":697 - * dupcount = 0 - * old = new - * sumranks += (n1 - 1) # <<<<<<<<<<<<<< - * dupcount += 1 - * averank = sumranks / dupcount + 1 + /* "rankdata.pyx":681 + * sumranks = 0 + * dupcount = 0 + * old = new # <<<<<<<<<<<<<< + * sumranks += (n0 - 1) + * dupcount += 1 */ - __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n1 - 1)); + __pyx_v_old = __pyx_v_new; + } - /* "rankdata.pyx":698 - * old = new - * sumranks += (n1 - 1) - * dupcount += 1 # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(n1 - dupcount, n1): + /* "rankdata.pyx":682 + * dupcount = 0 + * old = new + * sumranks += (n0 - 1) # <<<<<<<<<<<<<< + * dupcount += 1 + * averank = sumranks / dupcount + 1 */ - __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_18); - __pyx_t_18 = 0; + __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); - /* "rankdata.pyx":699 - * sumranks += (n1 - 1) - * dupcount += 1 - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(n1 - dupcount, n1): - * idx = ivec[i0, j] + /* "rankdata.pyx":683 + * old = new + * sumranks += (n0 - 1) + * dupcount += 1 # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): */ - __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_v_averank = __pyx_t_19; + __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_12); + __pyx_t_12 = 0; - /* "rankdata.pyx":700 - * dupcount += 1 - * averank = sumranks / dupcount + 1 - * for j in xrange(n1 - dupcount, n1): # <<<<<<<<<<<<<< - * idx = ivec[i0, j] - * y[i0, idx] = averank + /* "rankdata.pyx":684 + * sumranks += (n0 - 1) + * dupcount += 1 + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(n0 - dupcount, n0): + * y[ivec[j]] = averank */ - __pyx_t_12 = __pyx_v_n1; - __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (__pyx_t_13 = __pyx_t_21; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { - __pyx_v_j = __pyx_t_13; + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_v_averank = __pyx_t_13; - /* "rankdata.pyx":701 - * averank = sumranks / dupcount + 1 - * for j in xrange(n1 - dupcount, n1): - * idx = ivec[i0, j] # <<<<<<<<<<<<<< - * y[i0, idx] = averank + /* "rankdata.pyx":685 + * dupcount += 1 + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< + * y[ivec[j]] = averank * return y */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_22 = __pyx_v_j; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_ivec.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_n0; + __pyx_t_12 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_1 = PyNumber_Subtract(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + for (__pyx_t_9 = __pyx_t_15; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_j = __pyx_t_9; - /* "rankdata.pyx":702 - * for j in xrange(n1 - dupcount, n1): - * idx = ivec[i0, j] - * y[i0, idx] = averank # <<<<<<<<<<<<<< + /* "rankdata.pyx":686 + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): + * y[ivec[j]] = averank # <<<<<<<<<<<<<< * return y * */ - __pyx_t_27 = __pyx_v_i0; - __pyx_t_28 = __pyx_v_idx; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; - } + __pyx_t_14 = __pyx_v_j; + __pyx_t_19 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; } - /* "rankdata.pyx":703 - * idx = ivec[i0, j] - * y[i0, idx] = averank + /* "rankdata.pyx":687 + * for j in xrange(n0 - dupcount, n0): + * y[ivec[j]] = averank * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -9322,25 +9128,25 @@ static PyObject *__pyx_pf_8rankdata_26rankdata_2d_int64_axis1(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "rankdata.pyx":661 + /* "rankdata.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int64 along axis=1, dealing with ties." + * def rankdata_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int32 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9356,27 +9162,27 @@ static PyObject *__pyx_pf_8rankdata_26rankdata_2d_int64_axis1(CYTHON_UNUSED PyOb return __pyx_r; } -/* "rankdata.pyx":707 +/* "rankdata.pyx":691 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float along axis=0, dealing with ties." + * def rankdata_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int64 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_29rankdata_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_28rankdata_1d_float_axis0[] = "rankdata_1d_float_axis0(ndarray a)\nRanks n1d array with dtype=float along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_29rankdata_1d_float_axis0 = {"rankdata_1d_float_axis0", (PyCFunction)__pyx_pw_8rankdata_29rankdata_1d_float_axis0, METH_O, __pyx_doc_8rankdata_28rankdata_1d_float_axis0}; -static PyObject *__pyx_pw_8rankdata_29rankdata_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_29rankdata_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_28rankdata_1d_int64_axis0[] = "rankdata_1d_int64_axis0(ndarray a)\nRanks n1d array with dtype=int64 along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_29rankdata_1d_int64_axis0 = {"rankdata_1d_int64_axis0", (PyCFunction)__pyx_pw_8rankdata_29rankdata_1d_int64_axis0, METH_O, __pyx_doc_8rankdata_28rankdata_1d_int64_axis0}; +static PyObject *__pyx_pw_8rankdata_29rankdata_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_1d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_28rankdata_1d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("rankdata_1d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_28rankdata_1d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9387,7 +9193,7 @@ static PyObject *__pyx_pw_8rankdata_29rankdata_1d_float_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_28rankdata_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -9431,7 +9237,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_1d_float_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_1d_int64_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -9446,13 +9252,13 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "rankdata.pyx":709 - * def rankdata_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): - * "Ranks n1d array with dtype=float along axis=0, dealing with ties." + /* "rankdata.pyx":693 + * def rankdata_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): + * "Ranks n1d array with dtype=int64 along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) @@ -9460,22 +9266,22 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; - /* "rankdata.pyx":711 + /* "rankdata.pyx":695 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 * cdef Py_ssize_t i0 */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; } } @@ -9483,7 +9289,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":712 + /* "rankdata.pyx":696 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< @@ -9492,7 +9298,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":715 + /* "rankdata.pyx":699 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9501,7 +9307,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":716 + /* "rankdata.pyx":700 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -9510,7 +9316,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "rankdata.pyx":717 + /* "rankdata.pyx":701 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -9520,22 +9326,22 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_3[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":718 + /* "rankdata.pyx":702 * cdef Py_ssize_t n0 = dim[0] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -9543,7 +9349,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":720 + /* "rankdata.pyx":704 * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< @@ -9553,19 +9359,19 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":721 + /* "rankdata.pyx":705 * NPY_float64, 0) * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y * old = a[ivec[0]] */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":722 + /* "rankdata.pyx":706 * if n0 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< @@ -9578,7 +9384,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "rankdata.pyx":723 + /* "rankdata.pyx":707 * PyArray_FillWithScalar(y, NAN) * return y * old = a[ivec[0]] # <<<<<<<<<<<<<< @@ -9587,9 +9393,9 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_t_6 = 0; __pyx_t_7 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "rankdata.pyx":724 + /* "rankdata.pyx":708 * return y * old = a[ivec[0]] * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< @@ -9600,7 +9406,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "rankdata.pyx":725 + /* "rankdata.pyx":709 * old = a[ivec[0]] * for i0 in xrange(n0-1): * sumranks += i0 # <<<<<<<<<<<<<< @@ -9609,19 +9415,19 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); - /* "rankdata.pyx":726 + /* "rankdata.pyx":710 * for i0 in xrange(n0-1): * sumranks += i0 * dupcount += 1 # <<<<<<<<<<<<<< * k = i0 + 1 * new = a[ivec[k]] */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":727 + /* "rankdata.pyx":711 * sumranks += i0 * dupcount += 1 * k = i0 + 1 # <<<<<<<<<<<<<< @@ -9630,7 +9436,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_v_k = (__pyx_v_i0 + 1); - /* "rankdata.pyx":728 + /* "rankdata.pyx":712 * dupcount += 1 * k = i0 + 1 * new = a[ivec[k]] # <<<<<<<<<<<<<< @@ -9639,9 +9445,9 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_t_10 = __pyx_v_k; __pyx_t_11 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "rankdata.pyx":729 + /* "rankdata.pyx":713 * k = i0 + 1 * new = a[ivec[k]] * if old != new: # <<<<<<<<<<<<<< @@ -9651,26 +9457,26 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":730 + /* "rankdata.pyx":714 * new = a[ivec[k]] * if old != new: * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(k - dupcount, k): * y[ivec[j]] = averank */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_12, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Add(__pyx_t_12, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_averank = __pyx_t_13; - /* "rankdata.pyx":731 + /* "rankdata.pyx":715 * if old != new: * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< @@ -9678,17 +9484,17 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb * sumranks = 0 */ __pyx_t_14 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_12); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_12); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; for (__pyx_t_16 = __pyx_t_15; __pyx_t_16 < __pyx_t_14; __pyx_t_16+=1) { __pyx_v_j = __pyx_t_16; - /* "rankdata.pyx":732 + /* "rankdata.pyx":716 * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): * y[ivec[j]] = averank # <<<<<<<<<<<<<< @@ -9700,7 +9506,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; } - /* "rankdata.pyx":733 + /* "rankdata.pyx":717 * for j in xrange(k - dupcount, k): * y[ivec[j]] = averank * sumranks = 0 # <<<<<<<<<<<<<< @@ -9709,7 +9515,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":734 + /* "rankdata.pyx":718 * y[ivec[j]] = averank * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -9722,7 +9528,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb } __pyx_L6:; - /* "rankdata.pyx":735 + /* "rankdata.pyx":719 * sumranks = 0 * dupcount = 0 * old = new # <<<<<<<<<<<<<< @@ -9732,7 +9538,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_v_old = __pyx_v_new; } - /* "rankdata.pyx":736 + /* "rankdata.pyx":720 * dupcount = 0 * old = new * sumranks += (n0 - 1) # <<<<<<<<<<<<<< @@ -9741,38 +9547,38 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); - /* "rankdata.pyx":737 + /* "rankdata.pyx":721 * old = new * sumranks += (n0 - 1) * dupcount += 1 # <<<<<<<<<<<<<< * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): */ - __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_12); __pyx_t_12 = 0; - /* "rankdata.pyx":738 + /* "rankdata.pyx":722 * sumranks += (n0 - 1) * dupcount += 1 * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(n0 - dupcount, n0): * y[ivec[j]] = averank */ - __pyx_t_12 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_v_averank = __pyx_t_13; - /* "rankdata.pyx":739 + /* "rankdata.pyx":723 * dupcount += 1 * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< @@ -9780,17 +9586,17 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb * return y */ __pyx_t_8 = __pyx_v_n0; - __pyx_t_12 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Subtract(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (__pyx_t_9 = __pyx_t_15; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_j = __pyx_t_9; - /* "rankdata.pyx":740 + /* "rankdata.pyx":724 * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): * y[ivec[j]] = averank # <<<<<<<<<<<<<< @@ -9802,7 +9608,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; } - /* "rankdata.pyx":741 + /* "rankdata.pyx":725 * for j in xrange(n0 - dupcount, n0): * y[ivec[j]] = averank * return y # <<<<<<<<<<<<<< @@ -9814,11 +9620,11 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "rankdata.pyx":707 + /* "rankdata.pyx":691 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float along axis=0, dealing with ties." + * def rankdata_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int64 along axis=0, dealing with ties." * cdef dupcount = 0 */ @@ -9832,7 +9638,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9848,27 +9654,27 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "rankdata.pyx":745 +/* "rankdata.pyx":729 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float32 along axis=0, dealing with ties." + * def rankdata_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_31rankdata_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_30rankdata_1d_float32_axis0[] = "rankdata_1d_float32_axis0(ndarray a)\nRanks n1d array with dtype=float32 along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_31rankdata_1d_float32_axis0 = {"rankdata_1d_float32_axis0", (PyCFunction)__pyx_pw_8rankdata_31rankdata_1d_float32_axis0, METH_O, __pyx_doc_8rankdata_30rankdata_1d_float32_axis0}; -static PyObject *__pyx_pw_8rankdata_31rankdata_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_31rankdata_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_30rankdata_2d_int_axis0[] = "rankdata_2d_int_axis0(ndarray a)\nRanks n2d array with dtype=int along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_31rankdata_2d_int_axis0 = {"rankdata_2d_int_axis0", (PyCFunction)__pyx_pw_8rankdata_31rankdata_2d_int_axis0, METH_O, __pyx_doc_8rankdata_30rankdata_2d_int_axis0}; +static PyObject *__pyx_pw_8rankdata_31rankdata_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_1d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_30rankdata_1d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("rankdata_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_30rankdata_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9879,18 +9685,21 @@ static PyObject *__pyx_pw_8rankdata_31rankdata_1d_float32_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_30rankdata_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_30rankdata_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; + Py_ssize_t __pyx_v_idx; PyArrayObject *__pyx_v_ivec = 0; __pyx_t_5numpy_float64_t __pyx_v_old; __pyx_t_5numpy_float64_t __pyx_v_new; __pyx_t_5numpy_float64_t __pyx_v_averank; __pyx_t_5numpy_float64_t __pyx_v_sumranks; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -9903,27 +9712,36 @@ static PyObject *__pyx_pf_8rankdata_30rankdata_1d_float32_axis0(CYTHON_UNUSED Py __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[1]; + npy_intp __pyx_t_3[2]; PyArrayObject *__pyx_t_4 = NULL; int __pyx_t_5; - long __pyx_t_6; - __pyx_t_5numpy_intp_t __pyx_t_7; - Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + long __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - __pyx_t_5numpy_intp_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - __pyx_t_5numpy_float64_t __pyx_t_13; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; - long __pyx_t_15; + Py_ssize_t __pyx_t_15; Py_ssize_t __pyx_t_16; Py_ssize_t __pyx_t_17; - __pyx_t_5numpy_intp_t __pyx_t_18; - __pyx_t_5numpy_intp_t __pyx_t_19; + PyObject *__pyx_t_18 = NULL; + __pyx_t_5numpy_float64_t __pyx_t_19; + Py_ssize_t __pyx_t_20; + long __pyx_t_21; + Py_ssize_t __pyx_t_22; + Py_ssize_t __pyx_t_23; + Py_ssize_t __pyx_t_24; + Py_ssize_t __pyx_t_25; + Py_ssize_t __pyx_t_26; + Py_ssize_t __pyx_t_27; + Py_ssize_t __pyx_t_28; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_1d_float32_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -9938,105 +9756,115 @@ static PyObject *__pyx_pf_8rankdata_30rankdata_1d_float32_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "rankdata.pyx":747 - * def rankdata_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): - * "Ranks n1d array with dtype=float32 along axis=0, dealing with ties." + /* "rankdata.pyx":731 + * def rankdata_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Ranks n2d array with dtype=int along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) + * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) */ __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; - /* "rankdata.pyx":749 + /* "rankdata.pyx":733 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":750 + /* "rankdata.pyx":734 * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) + * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":753 - * cdef Py_ssize_t i0 + /* "rankdata.pyx":737 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":754 + /* "rankdata.pyx":738 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "rankdata.pyx":755 + /* "rankdata.pyx":739 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "rankdata.pyx":740 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) */ __pyx_t_3[0] = __pyx_v_n0; + __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":756 - * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + /* "rankdata.pyx":741 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":758 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + /* "rankdata.pyx":743 + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) @@ -10045,24 +9873,24 @@ static PyObject *__pyx_pf_8rankdata_30rankdata_1d_float32_axis0(CYTHON_UNUSED Py __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":759 + /* "rankdata.pyx":744 * NPY_float64, 0) * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y - * old = a[ivec[0]] + * for i1 in xrange(n1): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 744; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":760 + /* "rankdata.pyx":745 * if n0 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< - * old = a[ivec[0]] - * for i0 in xrange(n0-1): + * for i1 in xrange(n1): + * idx = ivec[0, i1] */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -10070,233 +9898,308 @@ static PyObject *__pyx_pf_8rankdata_30rankdata_1d_float32_axis0(CYTHON_UNUSED Py goto __pyx_L0; } - /* "rankdata.pyx":761 + /* "rankdata.pyx":746 * PyArray_FillWithScalar(y, NAN) * return y - * old = a[ivec[0]] # <<<<<<<<<<<<<< - * for i0 in xrange(n0-1): - * sumranks += i0 + * for i1 in xrange(n1): # <<<<<<<<<<<<<< + * idx = ivec[0, i1] + * old = a[idx, i1] */ - __pyx_t_6 = 0; - __pyx_t_7 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "rankdata.pyx":762 + /* "rankdata.pyx":747 * return y - * old = a[ivec[0]] - * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< - * sumranks += i0 - * dupcount += 1 + * for i1 in xrange(n1): + * idx = ivec[0, i1] # <<<<<<<<<<<<<< + * old = a[idx, i1] + * sumranks = 0 */ - __pyx_t_8 = (__pyx_v_n0 - 1); - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_8 = 0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":763 - * old = a[ivec[0]] - * for i0 in xrange(n0-1): - * sumranks += i0 # <<<<<<<<<<<<<< - * dupcount += 1 - * k = i0 + 1 + /* "rankdata.pyx":748 + * for i1 in xrange(n1): + * idx = ivec[0, i1] + * old = a[idx, i1] # <<<<<<<<<<<<<< + * sumranks = 0 + * dupcount = 0 */ - __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); + __pyx_t_10 = __pyx_v_idx; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":764 - * for i0 in xrange(n0-1): - * sumranks += i0 - * dupcount += 1 # <<<<<<<<<<<<<< - * k = i0 + 1 - * new = a[ivec[k]] + /* "rankdata.pyx":749 + * idx = ivec[0, i1] + * old = a[idx, i1] + * sumranks = 0 # <<<<<<<<<<<<<< + * dupcount = 0 + * for i0 in xrange(n0-1): */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); - __pyx_t_1 = 0; + __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":765 - * sumranks += i0 - * dupcount += 1 - * k = i0 + 1 # <<<<<<<<<<<<<< - * new = a[ivec[k]] - * if old != new: + /* "rankdata.pyx":750 + * old = a[idx, i1] + * sumranks = 0 + * dupcount = 0 # <<<<<<<<<<<<<< + * for i0 in xrange(n0-1): + * sumranks += i0 */ - __pyx_v_k = (__pyx_v_i0 + 1); + __Pyx_INCREF(__pyx_int_0); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - /* "rankdata.pyx":766 - * dupcount += 1 - * k = i0 + 1 - * new = a[ivec[k]] # <<<<<<<<<<<<<< - * if old != new: - * averank = sumranks / dupcount + 1 + /* "rankdata.pyx":751 + * sumranks = 0 + * dupcount = 0 + * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< + * sumranks += i0 + * dupcount += 1 */ - __pyx_t_10 = __pyx_v_k; - __pyx_t_11 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_12 = (__pyx_v_n0 - 1); + for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { + __pyx_v_i0 = __pyx_t_13; - /* "rankdata.pyx":767 - * k = i0 + 1 - * new = a[ivec[k]] - * if old != new: # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): + /* "rankdata.pyx":752 + * dupcount = 0 + * for i0 in xrange(n0-1): + * sumranks += i0 # <<<<<<<<<<<<<< + * dupcount += 1 + * k = i0 + 1 */ - __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); - if (__pyx_t_5) { + __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); - /* "rankdata.pyx":768 - * new = a[ivec[k]] - * if old != new: - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(k - dupcount, k): - * y[ivec[j]] = averank + /* "rankdata.pyx":753 + * for i0 in xrange(n0-1): + * sumranks += i0 + * dupcount += 1 # <<<<<<<<<<<<<< + * k = i0 + 1 + * idx = ivec[k, i1] */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_12, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_averank = __pyx_t_13; + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); + __pyx_t_1 = 0; - /* "rankdata.pyx":769 - * if old != new: - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< - * y[ivec[j]] = averank - * sumranks = 0 + /* "rankdata.pyx":754 + * sumranks += i0 + * dupcount += 1 + * k = i0 + 1 # <<<<<<<<<<<<<< + * idx = ivec[k, i1] + * new = a[idx, i1] + */ + __pyx_v_k = (__pyx_v_i0 + 1); + + /* "rankdata.pyx":755 + * dupcount += 1 + * k = i0 + 1 + * idx = ivec[k, i1] # <<<<<<<<<<<<<< + * new = a[idx, i1] + * if old != new: */ __pyx_t_14 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_12); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - for (__pyx_t_16 = __pyx_t_15; __pyx_t_16 < __pyx_t_14; __pyx_t_16+=1) { - __pyx_v_j = __pyx_t_16; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":770 - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): - * y[ivec[j]] = averank # <<<<<<<<<<<<<< - * sumranks = 0 - * dupcount = 0 + /* "rankdata.pyx":756 + * k = i0 + 1 + * idx = ivec[k, i1] + * new = a[idx, i1] # <<<<<<<<<<<<<< + * if old != new: + * averank = sumranks / dupcount + 1 */ - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_ivec.diminfo[0].strides)); - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; - } + __pyx_t_16 = __pyx_v_idx; + __pyx_t_17 = __pyx_v_i1; + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":771 - * for j in xrange(k - dupcount, k): - * y[ivec[j]] = averank - * sumranks = 0 # <<<<<<<<<<<<<< - * dupcount = 0 - * old = new + /* "rankdata.pyx":757 + * idx = ivec[k, i1] + * new = a[idx, i1] + * if old != new: # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): */ - __pyx_v_sumranks = 0.0; + __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); + if (__pyx_t_5) { - /* "rankdata.pyx":772 - * y[ivec[j]] = averank - * sumranks = 0 - * dupcount = 0 # <<<<<<<<<<<<<< - * old = new - * sumranks += (n0 - 1) + /* "rankdata.pyx":758 + * new = a[idx, i1] + * if old != new: + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(k - dupcount, k): + * idx = ivec[j, i1] */ - __Pyx_INCREF(__pyx_int_0); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - goto __pyx_L6; + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_averank = __pyx_t_19; + + /* "rankdata.pyx":759 + * if old != new: + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< + * idx = ivec[j, i1] + * y[idx, i1] = averank + */ + __pyx_t_20 = __pyx_v_k; + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { + __pyx_v_j = __pyx_t_22; + + /* "rankdata.pyx":760 + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): + * idx = ivec[j, i1] # <<<<<<<<<<<<<< + * y[idx, i1] = averank + * sumranks = 0 + */ + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i1; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); + + /* "rankdata.pyx":761 + * for j in xrange(k - dupcount, k): + * idx = ivec[j, i1] + * y[idx, i1] = averank # <<<<<<<<<<<<<< + * sumranks = 0 + * dupcount = 0 + */ + __pyx_t_25 = __pyx_v_idx; + __pyx_t_26 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; + } + + /* "rankdata.pyx":762 + * idx = ivec[j, i1] + * y[idx, i1] = averank + * sumranks = 0 # <<<<<<<<<<<<<< + * dupcount = 0 + * old = new + */ + __pyx_v_sumranks = 0.0; + + /* "rankdata.pyx":763 + * y[idx, i1] = averank + * sumranks = 0 + * dupcount = 0 # <<<<<<<<<<<<<< + * old = new + * sumranks += (n0 - 1) + */ + __Pyx_INCREF(__pyx_int_0); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); + goto __pyx_L8; + } + __pyx_L8:; + + /* "rankdata.pyx":764 + * sumranks = 0 + * dupcount = 0 + * old = new # <<<<<<<<<<<<<< + * sumranks += (n0 - 1) + * dupcount += 1 + */ + __pyx_v_old = __pyx_v_new; } - __pyx_L6:; - /* "rankdata.pyx":773 - * sumranks = 0 - * dupcount = 0 - * old = new # <<<<<<<<<<<<<< - * sumranks += (n0 - 1) - * dupcount += 1 + /* "rankdata.pyx":765 + * dupcount = 0 + * old = new + * sumranks += (n0 - 1) # <<<<<<<<<<<<<< + * dupcount += 1 + * averank = sumranks / dupcount + 1 */ - __pyx_v_old = __pyx_v_new; - } + __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); - /* "rankdata.pyx":774 - * dupcount = 0 - * old = new - * sumranks += (n0 - 1) # <<<<<<<<<<<<<< - * dupcount += 1 - * averank = sumranks / dupcount + 1 + /* "rankdata.pyx":766 + * old = new + * sumranks += (n0 - 1) + * dupcount += 1 # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): */ - __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); + __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_18); + __pyx_t_18 = 0; - /* "rankdata.pyx":775 - * old = new - * sumranks += (n0 - 1) - * dupcount += 1 # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): + /* "rankdata.pyx":767 + * sumranks += (n0 - 1) + * dupcount += 1 + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(n0 - dupcount, n0): + * idx = ivec[j, i1] */ - __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_12); - __pyx_t_12 = 0; + __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":776 - * sumranks += (n0 - 1) - * dupcount += 1 - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(n0 - dupcount, n0): - * y[ivec[j]] = averank + /* "rankdata.pyx":768 + * dupcount += 1 + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< + * idx = ivec[j, i1] + * y[idx, i1] = averank */ - __pyx_t_12 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_v_averank = __pyx_t_13; + __pyx_t_12 = __pyx_v_n0; + __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + for (__pyx_t_13 = __pyx_t_21; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { + __pyx_v_j = __pyx_t_13; - /* "rankdata.pyx":777 - * dupcount += 1 - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< - * y[ivec[j]] = averank + /* "rankdata.pyx":769 + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): + * idx = ivec[j, i1] # <<<<<<<<<<<<<< + * y[idx, i1] = averank * return y */ - __pyx_t_8 = __pyx_v_n0; - __pyx_t_12 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (__pyx_t_9 = __pyx_t_15; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_j = __pyx_t_9; + __pyx_t_20 = __pyx_v_j; + __pyx_t_22 = __pyx_v_i1; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":778 - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): - * y[ivec[j]] = averank # <<<<<<<<<<<<<< + /* "rankdata.pyx":770 + * for j in xrange(n0 - dupcount, n0): + * idx = ivec[j, i1] + * y[idx, i1] = averank # <<<<<<<<<<<<<< * return y * */ - __pyx_t_14 = __pyx_v_j; - __pyx_t_19 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides)); - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; + __pyx_t_27 = __pyx_v_idx; + __pyx_t_28 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; + } } - /* "rankdata.pyx":779 - * for j in xrange(n0 - dupcount, n0): - * y[ivec[j]] = averank + /* "rankdata.pyx":771 + * idx = ivec[j, i1] + * y[idx, i1] = averank * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -10306,25 +10209,25 @@ static PyObject *__pyx_pf_8rankdata_30rankdata_1d_float32_axis0(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "rankdata.pyx":745 + /* "rankdata.pyx":729 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float32 along axis=0, dealing with ties." + * def rankdata_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int along axis=0, dealing with ties." * cdef dupcount = 0 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_18); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -10340,27 +10243,27 @@ static PyObject *__pyx_pf_8rankdata_30rankdata_1d_float32_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "rankdata.pyx":783 +/* "rankdata.pyx":775 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float64 along axis=0, dealing with ties." + * def rankdata_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int along axis=1, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_33rankdata_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_32rankdata_1d_float64_axis0[] = "rankdata_1d_float64_axis0(ndarray a)\nRanks n1d array with dtype=float64 along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_33rankdata_1d_float64_axis0 = {"rankdata_1d_float64_axis0", (PyCFunction)__pyx_pw_8rankdata_33rankdata_1d_float64_axis0, METH_O, __pyx_doc_8rankdata_32rankdata_1d_float64_axis0}; -static PyObject *__pyx_pw_8rankdata_33rankdata_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_33rankdata_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_32rankdata_2d_int_axis1[] = "rankdata_2d_int_axis1(ndarray a)\nRanks n2d array with dtype=int along axis=1, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_33rankdata_2d_int_axis1 = {"rankdata_2d_int_axis1", (PyCFunction)__pyx_pw_8rankdata_33rankdata_2d_int_axis1, METH_O, __pyx_doc_8rankdata_32rankdata_2d_int_axis1}; +static PyObject *__pyx_pw_8rankdata_33rankdata_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_1d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_32rankdata_1d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("rankdata_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_32rankdata_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10371,18 +10274,21 @@ static PyObject *__pyx_pw_8rankdata_33rankdata_1d_float64_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_32rankdata_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_32rankdata_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; + Py_ssize_t __pyx_v_idx; PyArrayObject *__pyx_v_ivec = 0; __pyx_t_5numpy_float64_t __pyx_v_old; __pyx_t_5numpy_float64_t __pyx_v_new; __pyx_t_5numpy_float64_t __pyx_v_averank; __pyx_t_5numpy_float64_t __pyx_v_sumranks; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -10395,27 +10301,36 @@ static PyObject *__pyx_pf_8rankdata_32rankdata_1d_float64_axis0(CYTHON_UNUSED Py __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[1]; + npy_intp __pyx_t_3[2]; PyArrayObject *__pyx_t_4 = NULL; int __pyx_t_5; - long __pyx_t_6; - __pyx_t_5numpy_intp_t __pyx_t_7; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + long __pyx_t_9; Py_ssize_t __pyx_t_10; - __pyx_t_5numpy_intp_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - __pyx_t_5numpy_float64_t __pyx_t_13; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; - long __pyx_t_15; + Py_ssize_t __pyx_t_15; Py_ssize_t __pyx_t_16; Py_ssize_t __pyx_t_17; - __pyx_t_5numpy_intp_t __pyx_t_18; - __pyx_t_5numpy_intp_t __pyx_t_19; + PyObject *__pyx_t_18 = NULL; + __pyx_t_5numpy_float64_t __pyx_t_19; + Py_ssize_t __pyx_t_20; + long __pyx_t_21; + Py_ssize_t __pyx_t_22; + Py_ssize_t __pyx_t_23; + Py_ssize_t __pyx_t_24; + Py_ssize_t __pyx_t_25; + Py_ssize_t __pyx_t_26; + Py_ssize_t __pyx_t_27; + Py_ssize_t __pyx_t_28; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_1d_float64_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int_axis1", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -10430,131 +10345,141 @@ static PyObject *__pyx_pf_8rankdata_32rankdata_1d_float64_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "rankdata.pyx":785 - * def rankdata_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): - * "Ranks n1d array with dtype=float64 along axis=0, dealing with ties." + /* "rankdata.pyx":777 + * def rankdata_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Ranks n2d array with dtype=int along axis=1, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) + * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) */ __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; - /* "rankdata.pyx":787 + /* "rankdata.pyx":779 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 1, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":788 + /* "rankdata.pyx":780 * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) + * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":791 - * cdef Py_ssize_t i0 + /* "rankdata.pyx":783 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":792 + /* "rankdata.pyx":784 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "rankdata.pyx":793 + /* "rankdata.pyx":785 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "rankdata.pyx":786 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) */ __pyx_t_3[0] = __pyx_v_n0; + __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":794 - * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + /* "rankdata.pyx":787 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) - * if n0 == 0: + * if n1 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":796 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + /* "rankdata.pyx":789 + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y */ - __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":797 + /* "rankdata.pyx":790 * NPY_float64, 0) - * if n0 == 0: + * if n1 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y - * old = a[ivec[0]] + * for i0 in xrange(n0): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":798 - * if n0 == 0: + /* "rankdata.pyx":791 + * if n1 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< - * old = a[ivec[0]] - * for i0 in xrange(n0-1): + * for i0 in xrange(n0): + * idx = ivec[i0, 0] */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -10562,233 +10487,308 @@ static PyObject *__pyx_pf_8rankdata_32rankdata_1d_float64_axis0(CYTHON_UNUSED Py goto __pyx_L0; } - /* "rankdata.pyx":799 + /* "rankdata.pyx":792 * PyArray_FillWithScalar(y, NAN) * return y - * old = a[ivec[0]] # <<<<<<<<<<<<<< - * for i0 in xrange(n0-1): - * sumranks += i0 + * for i0 in xrange(n0): # <<<<<<<<<<<<<< + * idx = ivec[i0, 0] + * old = a[i0, idx] */ - __pyx_t_6 = 0; - __pyx_t_7 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "rankdata.pyx":800 + /* "rankdata.pyx":793 * return y - * old = a[ivec[0]] - * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< - * sumranks += i0 - * dupcount += 1 + * for i0 in xrange(n0): + * idx = ivec[i0, 0] # <<<<<<<<<<<<<< + * old = a[i0, idx] + * sumranks = 0 */ - __pyx_t_8 = (__pyx_v_n0 - 1); - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = 0; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":801 - * old = a[ivec[0]] - * for i0 in xrange(n0-1): - * sumranks += i0 # <<<<<<<<<<<<<< - * dupcount += 1 - * k = i0 + 1 + /* "rankdata.pyx":794 + * for i0 in xrange(n0): + * idx = ivec[i0, 0] + * old = a[i0, idx] # <<<<<<<<<<<<<< + * sumranks = 0 + * dupcount = 0 */ - __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_idx; + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":802 - * for i0 in xrange(n0-1): - * sumranks += i0 - * dupcount += 1 # <<<<<<<<<<<<<< - * k = i0 + 1 - * new = a[ivec[k]] + /* "rankdata.pyx":795 + * idx = ivec[i0, 0] + * old = a[i0, idx] + * sumranks = 0 # <<<<<<<<<<<<<< + * dupcount = 0 + * for i1 in xrange(n1-1): */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); - __pyx_t_1 = 0; + __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":803 - * sumranks += i0 - * dupcount += 1 - * k = i0 + 1 # <<<<<<<<<<<<<< - * new = a[ivec[k]] - * if old != new: + /* "rankdata.pyx":796 + * old = a[i0, idx] + * sumranks = 0 + * dupcount = 0 # <<<<<<<<<<<<<< + * for i1 in xrange(n1-1): + * sumranks += i1 */ - __pyx_v_k = (__pyx_v_i0 + 1); + __Pyx_INCREF(__pyx_int_0); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - /* "rankdata.pyx":804 - * dupcount += 1 - * k = i0 + 1 - * new = a[ivec[k]] # <<<<<<<<<<<<<< - * if old != new: - * averank = sumranks / dupcount + 1 + /* "rankdata.pyx":797 + * sumranks = 0 + * dupcount = 0 + * for i1 in xrange(n1-1): # <<<<<<<<<<<<<< + * sumranks += i1 + * dupcount += 1 */ - __pyx_t_10 = __pyx_v_k; - __pyx_t_11 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_12 = (__pyx_v_n1 - 1); + for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { + __pyx_v_i1 = __pyx_t_13; - /* "rankdata.pyx":805 - * k = i0 + 1 - * new = a[ivec[k]] - * if old != new: # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): + /* "rankdata.pyx":798 + * dupcount = 0 + * for i1 in xrange(n1-1): + * sumranks += i1 # <<<<<<<<<<<<<< + * dupcount += 1 + * k = i1 + 1 */ - __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); - if (__pyx_t_5) { + __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i1); - /* "rankdata.pyx":806 - * new = a[ivec[k]] - * if old != new: - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(k - dupcount, k): - * y[ivec[j]] = averank + /* "rankdata.pyx":799 + * for i1 in xrange(n1-1): + * sumranks += i1 + * dupcount += 1 # <<<<<<<<<<<<<< + * k = i1 + 1 + * idx = ivec[i0, k] */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_12, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_averank = __pyx_t_13; + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); + __pyx_t_1 = 0; - /* "rankdata.pyx":807 - * if old != new: - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< - * y[ivec[j]] = averank - * sumranks = 0 + /* "rankdata.pyx":800 + * sumranks += i1 + * dupcount += 1 + * k = i1 + 1 # <<<<<<<<<<<<<< + * idx = ivec[i0, k] + * new = a[i0, idx] */ - __pyx_t_14 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_12); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - for (__pyx_t_16 = __pyx_t_15; __pyx_t_16 < __pyx_t_14; __pyx_t_16+=1) { - __pyx_v_j = __pyx_t_16; + __pyx_v_k = (__pyx_v_i1 + 1); + + /* "rankdata.pyx":801 + * dupcount += 1 + * k = i1 + 1 + * idx = ivec[i0, k] # <<<<<<<<<<<<<< + * new = a[i0, idx] + * if old != new: + */ + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_k; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); + + /* "rankdata.pyx":802 + * k = i1 + 1 + * idx = ivec[i0, k] + * new = a[i0, idx] # <<<<<<<<<<<<<< + * if old != new: + * averank = sumranks / dupcount + 1 + */ + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_idx; + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "rankdata.pyx":803 + * idx = ivec[i0, k] + * new = a[i0, idx] + * if old != new: # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): + */ + __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); + if (__pyx_t_5) { + + /* "rankdata.pyx":804 + * new = a[i0, idx] + * if old != new: + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(k - dupcount, k): + * idx = ivec[i0, j] + */ + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_averank = __pyx_t_19; + + /* "rankdata.pyx":805 + * if old != new: + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< + * idx = ivec[i0, j] + * y[i0, idx] = averank + */ + __pyx_t_20 = __pyx_v_k; + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { + __pyx_v_j = __pyx_t_22; + + /* "rankdata.pyx":806 + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): + * idx = ivec[i0, j] # <<<<<<<<<<<<<< + * y[i0, idx] = averank + * sumranks = 0 + */ + __pyx_t_23 = __pyx_v_i0; + __pyx_t_24 = __pyx_v_j; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); + + /* "rankdata.pyx":807 + * for j in xrange(k - dupcount, k): + * idx = ivec[i0, j] + * y[i0, idx] = averank # <<<<<<<<<<<<<< + * sumranks = 0 + * dupcount = 0 + */ + __pyx_t_25 = __pyx_v_i0; + __pyx_t_26 = __pyx_v_idx; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; + } /* "rankdata.pyx":808 - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): - * y[ivec[j]] = averank # <<<<<<<<<<<<<< - * sumranks = 0 - * dupcount = 0 + * idx = ivec[i0, j] + * y[i0, idx] = averank + * sumranks = 0 # <<<<<<<<<<<<<< + * dupcount = 0 + * old = new */ - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_ivec.diminfo[0].strides)); - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; - } + __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":809 - * for j in xrange(k - dupcount, k): - * y[ivec[j]] = averank - * sumranks = 0 # <<<<<<<<<<<<<< - * dupcount = 0 - * old = new + /* "rankdata.pyx":809 + * y[i0, idx] = averank + * sumranks = 0 + * dupcount = 0 # <<<<<<<<<<<<<< + * old = new + * sumranks += (n1 - 1) */ - __pyx_v_sumranks = 0.0; + __Pyx_INCREF(__pyx_int_0); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); + goto __pyx_L8; + } + __pyx_L8:; /* "rankdata.pyx":810 - * y[ivec[j]] = averank - * sumranks = 0 - * dupcount = 0 # <<<<<<<<<<<<<< - * old = new - * sumranks += (n0 - 1) + * sumranks = 0 + * dupcount = 0 + * old = new # <<<<<<<<<<<<<< + * sumranks += (n1 - 1) + * dupcount += 1 */ - __Pyx_INCREF(__pyx_int_0); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - goto __pyx_L6; + __pyx_v_old = __pyx_v_new; } - __pyx_L6:; /* "rankdata.pyx":811 - * sumranks = 0 - * dupcount = 0 - * old = new # <<<<<<<<<<<<<< - * sumranks += (n0 - 1) - * dupcount += 1 + * dupcount = 0 + * old = new + * sumranks += (n1 - 1) # <<<<<<<<<<<<<< + * dupcount += 1 + * averank = sumranks / dupcount + 1 */ - __pyx_v_old = __pyx_v_new; - } + __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n1 - 1)); - /* "rankdata.pyx":812 - * dupcount = 0 - * old = new - * sumranks += (n0 - 1) # <<<<<<<<<<<<<< - * dupcount += 1 - * averank = sumranks / dupcount + 1 + /* "rankdata.pyx":812 + * old = new + * sumranks += (n1 - 1) + * dupcount += 1 # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(n1 - dupcount, n1): */ - __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); + __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_18); + __pyx_t_18 = 0; - /* "rankdata.pyx":813 - * old = new - * sumranks += (n0 - 1) - * dupcount += 1 # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): + /* "rankdata.pyx":813 + * sumranks += (n1 - 1) + * dupcount += 1 + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(n1 - dupcount, n1): + * idx = ivec[i0, j] */ - __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_12); - __pyx_t_12 = 0; + __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":814 - * sumranks += (n0 - 1) - * dupcount += 1 - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(n0 - dupcount, n0): - * y[ivec[j]] = averank + /* "rankdata.pyx":814 + * dupcount += 1 + * averank = sumranks / dupcount + 1 + * for j in xrange(n1 - dupcount, n1): # <<<<<<<<<<<<<< + * idx = ivec[i0, j] + * y[i0, idx] = averank */ - __pyx_t_12 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_v_averank = __pyx_t_13; + __pyx_t_12 = __pyx_v_n1; + __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + for (__pyx_t_13 = __pyx_t_21; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { + __pyx_v_j = __pyx_t_13; - /* "rankdata.pyx":815 - * dupcount += 1 - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< - * y[ivec[j]] = averank + /* "rankdata.pyx":815 + * averank = sumranks / dupcount + 1 + * for j in xrange(n1 - dupcount, n1): + * idx = ivec[i0, j] # <<<<<<<<<<<<<< + * y[i0, idx] = averank * return y */ - __pyx_t_8 = __pyx_v_n0; - __pyx_t_12 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (__pyx_t_9 = __pyx_t_15; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_j = __pyx_t_9; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_22 = __pyx_v_j; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":816 - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): - * y[ivec[j]] = averank # <<<<<<<<<<<<<< + /* "rankdata.pyx":816 + * for j in xrange(n1 - dupcount, n1): + * idx = ivec[i0, j] + * y[i0, idx] = averank # <<<<<<<<<<<<<< * return y * */ - __pyx_t_14 = __pyx_v_j; - __pyx_t_19 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides)); - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; + __pyx_t_27 = __pyx_v_i0; + __pyx_t_28 = __pyx_v_idx; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; + } } /* "rankdata.pyx":817 - * for j in xrange(n0 - dupcount, n0): - * y[ivec[j]] = averank + * idx = ivec[i0, j] + * y[i0, idx] = averank * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -10798,25 +10798,25 @@ static PyObject *__pyx_pf_8rankdata_32rankdata_1d_float64_axis0(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "rankdata.pyx":783 + /* "rankdata.pyx":775 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float64 along axis=0, dealing with ties." + * def rankdata_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int along axis=1, dealing with ties." * cdef dupcount = 0 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_18); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -10835,24 +10835,24 @@ static PyObject *__pyx_pf_8rankdata_32rankdata_1d_float64_axis0(CYTHON_UNUSED Py /* "rankdata.pyx":821 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float along axis=0, dealing with ties." + * def rankdata_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int8 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_35rankdata_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_34rankdata_2d_float_axis0[] = "rankdata_2d_float_axis0(ndarray a)\nRanks n2d array with dtype=float along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_35rankdata_2d_float_axis0 = {"rankdata_2d_float_axis0", (PyCFunction)__pyx_pw_8rankdata_35rankdata_2d_float_axis0, METH_O, __pyx_doc_8rankdata_34rankdata_2d_float_axis0}; -static PyObject *__pyx_pw_8rankdata_35rankdata_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_35rankdata_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_34rankdata_2d_int8_axis0[] = "rankdata_2d_int8_axis0(ndarray a)\nRanks n2d array with dtype=int8 along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_35rankdata_2d_int8_axis0 = {"rankdata_2d_int8_axis0", (PyCFunction)__pyx_pw_8rankdata_35rankdata_2d_int8_axis0, METH_O, __pyx_doc_8rankdata_34rankdata_2d_int8_axis0}; +static PyObject *__pyx_pw_8rankdata_35rankdata_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int8_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_34rankdata_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_8rankdata_34rankdata_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10863,7 +10863,7 @@ static PyObject *__pyx_pw_8rankdata_35rankdata_2d_float_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_34rankdata_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_34rankdata_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -10919,7 +10919,7 @@ static PyObject *__pyx_pf_8rankdata_34rankdata_2d_float_axis0(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_float_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int8_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -10934,13 +10934,13 @@ static PyObject *__pyx_pf_8rankdata_34rankdata_2d_float_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "rankdata.pyx":823 - * def rankdata_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Ranks n2d array with dtype=float along axis=0, dealing with ties." + * def rankdata_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Ranks n2d array with dtype=int8 along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) @@ -11107,7 +11107,7 @@ static PyObject *__pyx_pf_8rankdata_34rankdata_2d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_t_10 = __pyx_v_idx; __pyx_t_11 = __pyx_v_i1; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":841 * idx = ivec[0, i1] @@ -11189,7 +11189,7 @@ static PyObject *__pyx_pf_8rankdata_34rankdata_2d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_t_16 = __pyx_v_idx; __pyx_t_17 = __pyx_v_i1; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":849 * idx = ivec[k, i1] @@ -11390,8 +11390,8 @@ static PyObject *__pyx_pf_8rankdata_34rankdata_2d_float_axis0(CYTHON_UNUSED PyOb /* "rankdata.pyx":821 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float along axis=0, dealing with ties." + * def rankdata_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int8 along axis=0, dealing with ties." * cdef dupcount = 0 */ @@ -11405,7 +11405,7 @@ static PyObject *__pyx_pf_8rankdata_34rankdata_2d_float_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -11424,24 +11424,24 @@ static PyObject *__pyx_pf_8rankdata_34rankdata_2d_float_axis0(CYTHON_UNUSED PyOb /* "rankdata.pyx":867 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float along axis=1, dealing with ties." + * def rankdata_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int8 along axis=1, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_37rankdata_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_36rankdata_2d_float_axis1[] = "rankdata_2d_float_axis1(ndarray a)\nRanks n2d array with dtype=float along axis=1, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_37rankdata_2d_float_axis1 = {"rankdata_2d_float_axis1", (PyCFunction)__pyx_pw_8rankdata_37rankdata_2d_float_axis1, METH_O, __pyx_doc_8rankdata_36rankdata_2d_float_axis1}; -static PyObject *__pyx_pw_8rankdata_37rankdata_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_37rankdata_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_36rankdata_2d_int8_axis1[] = "rankdata_2d_int8_axis1(ndarray a)\nRanks n2d array with dtype=int8 along axis=1, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_37rankdata_2d_int8_axis1 = {"rankdata_2d_int8_axis1", (PyCFunction)__pyx_pw_8rankdata_37rankdata_2d_int8_axis1, METH_O, __pyx_doc_8rankdata_36rankdata_2d_int8_axis1}; +static PyObject *__pyx_pw_8rankdata_37rankdata_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int8_axis1 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_36rankdata_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_8rankdata_36rankdata_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -11452,7 +11452,7 @@ static PyObject *__pyx_pw_8rankdata_37rankdata_2d_float_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_36rankdata_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_36rankdata_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -11508,7 +11508,7 @@ static PyObject *__pyx_pf_8rankdata_36rankdata_2d_float_axis1(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_float_axis1", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int8_axis1", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -11523,13 +11523,13 @@ static PyObject *__pyx_pf_8rankdata_36rankdata_2d_float_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "rankdata.pyx":869 - * def rankdata_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Ranks n2d array with dtype=float along axis=1, dealing with ties." + * def rankdata_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Ranks n2d array with dtype=int8 along axis=1, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) @@ -11696,7 +11696,7 @@ static PyObject *__pyx_pf_8rankdata_36rankdata_2d_float_axis1(CYTHON_UNUSED PyOb */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_idx; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":887 * idx = ivec[i0, 0] @@ -11778,7 +11778,7 @@ static PyObject *__pyx_pf_8rankdata_36rankdata_2d_float_axis1(CYTHON_UNUSED PyOb */ __pyx_t_16 = __pyx_v_i0; __pyx_t_17 = __pyx_v_idx; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":895 * idx = ivec[i0, k] @@ -11979,8 +11979,8 @@ static PyObject *__pyx_pf_8rankdata_36rankdata_2d_float_axis1(CYTHON_UNUSED PyOb /* "rankdata.pyx":867 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float along axis=1, dealing with ties." + * def rankdata_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int8 along axis=1, dealing with ties." * cdef dupcount = 0 */ @@ -11994,7 +11994,7 @@ static PyObject *__pyx_pf_8rankdata_36rankdata_2d_float_axis1(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -12013,24 +12013,24 @@ static PyObject *__pyx_pf_8rankdata_36rankdata_2d_float_axis1(CYTHON_UNUSED PyOb /* "rankdata.pyx":913 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float32 along axis=0, dealing with ties." + * def rankdata_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int32 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_39rankdata_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_38rankdata_2d_float32_axis0[] = "rankdata_2d_float32_axis0(ndarray a)\nRanks n2d array with dtype=float32 along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_39rankdata_2d_float32_axis0 = {"rankdata_2d_float32_axis0", (PyCFunction)__pyx_pw_8rankdata_39rankdata_2d_float32_axis0, METH_O, __pyx_doc_8rankdata_38rankdata_2d_float32_axis0}; -static PyObject *__pyx_pw_8rankdata_39rankdata_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_39rankdata_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_38rankdata_2d_int32_axis0[] = "rankdata_2d_int32_axis0(ndarray a)\nRanks n2d array with dtype=int32 along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_39rankdata_2d_int32_axis0 = {"rankdata_2d_int32_axis0", (PyCFunction)__pyx_pw_8rankdata_39rankdata_2d_int32_axis0, METH_O, __pyx_doc_8rankdata_38rankdata_2d_int32_axis0}; +static PyObject *__pyx_pw_8rankdata_39rankdata_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int32_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_38rankdata_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_8rankdata_38rankdata_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -12041,7 +12041,7 @@ static PyObject *__pyx_pw_8rankdata_39rankdata_2d_float32_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_38rankdata_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_38rankdata_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -12097,7 +12097,7 @@ static PyObject *__pyx_pf_8rankdata_38rankdata_2d_float32_axis0(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_float32_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int32_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -12112,13 +12112,13 @@ static PyObject *__pyx_pf_8rankdata_38rankdata_2d_float32_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "rankdata.pyx":915 - * def rankdata_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Ranks n2d array with dtype=float32 along axis=0, dealing with ties." + * def rankdata_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Ranks n2d array with dtype=int32 along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) @@ -12285,7 +12285,7 @@ static PyObject *__pyx_pf_8rankdata_38rankdata_2d_float32_axis0(CYTHON_UNUSED Py */ __pyx_t_10 = __pyx_v_idx; __pyx_t_11 = __pyx_v_i1; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":933 * idx = ivec[0, i1] @@ -12367,7 +12367,7 @@ static PyObject *__pyx_pf_8rankdata_38rankdata_2d_float32_axis0(CYTHON_UNUSED Py */ __pyx_t_16 = __pyx_v_idx; __pyx_t_17 = __pyx_v_i1; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":941 * idx = ivec[k, i1] @@ -12568,8 +12568,8 @@ static PyObject *__pyx_pf_8rankdata_38rankdata_2d_float32_axis0(CYTHON_UNUSED Py /* "rankdata.pyx":913 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float32 along axis=0, dealing with ties." + * def rankdata_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int32 along axis=0, dealing with ties." * cdef dupcount = 0 */ @@ -12583,7 +12583,7 @@ static PyObject *__pyx_pf_8rankdata_38rankdata_2d_float32_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -12602,24 +12602,24 @@ static PyObject *__pyx_pf_8rankdata_38rankdata_2d_float32_axis0(CYTHON_UNUSED Py /* "rankdata.pyx":959 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float32 along axis=1, dealing with ties." + * def rankdata_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int32 along axis=1, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_41rankdata_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_40rankdata_2d_float32_axis1[] = "rankdata_2d_float32_axis1(ndarray a)\nRanks n2d array with dtype=float32 along axis=1, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_41rankdata_2d_float32_axis1 = {"rankdata_2d_float32_axis1", (PyCFunction)__pyx_pw_8rankdata_41rankdata_2d_float32_axis1, METH_O, __pyx_doc_8rankdata_40rankdata_2d_float32_axis1}; -static PyObject *__pyx_pw_8rankdata_41rankdata_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_41rankdata_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_40rankdata_2d_int32_axis1[] = "rankdata_2d_int32_axis1(ndarray a)\nRanks n2d array with dtype=int32 along axis=1, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_41rankdata_2d_int32_axis1 = {"rankdata_2d_int32_axis1", (PyCFunction)__pyx_pw_8rankdata_41rankdata_2d_int32_axis1, METH_O, __pyx_doc_8rankdata_40rankdata_2d_int32_axis1}; +static PyObject *__pyx_pw_8rankdata_41rankdata_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int32_axis1 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_40rankdata_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_8rankdata_40rankdata_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -12630,7 +12630,7 @@ static PyObject *__pyx_pw_8rankdata_41rankdata_2d_float32_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_40rankdata_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_40rankdata_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -12686,7 +12686,7 @@ static PyObject *__pyx_pf_8rankdata_40rankdata_2d_float32_axis1(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_float32_axis1", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int32_axis1", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -12701,13 +12701,13 @@ static PyObject *__pyx_pf_8rankdata_40rankdata_2d_float32_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "rankdata.pyx":961 - * def rankdata_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Ranks n2d array with dtype=float32 along axis=1, dealing with ties." + * def rankdata_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Ranks n2d array with dtype=int32 along axis=1, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) @@ -12874,7 +12874,7 @@ static PyObject *__pyx_pf_8rankdata_40rankdata_2d_float32_axis1(CYTHON_UNUSED Py */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_idx; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":979 * idx = ivec[i0, 0] @@ -12956,7 +12956,7 @@ static PyObject *__pyx_pf_8rankdata_40rankdata_2d_float32_axis1(CYTHON_UNUSED Py */ __pyx_t_16 = __pyx_v_i0; __pyx_t_17 = __pyx_v_idx; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":987 * idx = ivec[i0, k] @@ -13157,8 +13157,8 @@ static PyObject *__pyx_pf_8rankdata_40rankdata_2d_float32_axis1(CYTHON_UNUSED Py /* "rankdata.pyx":959 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float32 along axis=1, dealing with ties." + * def rankdata_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int32 along axis=1, dealing with ties." * cdef dupcount = 0 */ @@ -13172,7 +13172,7 @@ static PyObject *__pyx_pf_8rankdata_40rankdata_2d_float32_axis1(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -13191,24 +13191,24 @@ static PyObject *__pyx_pf_8rankdata_40rankdata_2d_float32_axis1(CYTHON_UNUSED Py /* "rankdata.pyx":1005 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float64 along axis=0, dealing with ties." + * def rankdata_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int64 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_43rankdata_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_42rankdata_2d_float64_axis0[] = "rankdata_2d_float64_axis0(ndarray a)\nRanks n2d array with dtype=float64 along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_43rankdata_2d_float64_axis0 = {"rankdata_2d_float64_axis0", (PyCFunction)__pyx_pw_8rankdata_43rankdata_2d_float64_axis0, METH_O, __pyx_doc_8rankdata_42rankdata_2d_float64_axis0}; -static PyObject *__pyx_pw_8rankdata_43rankdata_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_43rankdata_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_42rankdata_2d_int64_axis0[] = "rankdata_2d_int64_axis0(ndarray a)\nRanks n2d array with dtype=int64 along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_43rankdata_2d_int64_axis0 = {"rankdata_2d_int64_axis0", (PyCFunction)__pyx_pw_8rankdata_43rankdata_2d_int64_axis0, METH_O, __pyx_doc_8rankdata_42rankdata_2d_int64_axis0}; +static PyObject *__pyx_pw_8rankdata_43rankdata_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int64_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_42rankdata_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_8rankdata_42rankdata_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -13219,7 +13219,7 @@ static PyObject *__pyx_pw_8rankdata_43rankdata_2d_float64_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_42rankdata_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_42rankdata_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -13275,7 +13275,7 @@ static PyObject *__pyx_pf_8rankdata_42rankdata_2d_float64_axis0(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_float64_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int64_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -13290,13 +13290,13 @@ static PyObject *__pyx_pf_8rankdata_42rankdata_2d_float64_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "rankdata.pyx":1007 - * def rankdata_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Ranks n2d array with dtype=float64 along axis=0, dealing with ties." + * def rankdata_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Ranks n2d array with dtype=int64 along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) @@ -13463,7 +13463,7 @@ static PyObject *__pyx_pf_8rankdata_42rankdata_2d_float64_axis0(CYTHON_UNUSED Py */ __pyx_t_10 = __pyx_v_idx; __pyx_t_11 = __pyx_v_i1; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":1025 * idx = ivec[0, i1] @@ -13545,7 +13545,7 @@ static PyObject *__pyx_pf_8rankdata_42rankdata_2d_float64_axis0(CYTHON_UNUSED Py */ __pyx_t_16 = __pyx_v_idx; __pyx_t_17 = __pyx_v_i1; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":1033 * idx = ivec[k, i1] @@ -13746,8 +13746,8 @@ static PyObject *__pyx_pf_8rankdata_42rankdata_2d_float64_axis0(CYTHON_UNUSED Py /* "rankdata.pyx":1005 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float64 along axis=0, dealing with ties." + * def rankdata_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int64 along axis=0, dealing with ties." * cdef dupcount = 0 */ @@ -13761,7 +13761,7 @@ static PyObject *__pyx_pf_8rankdata_42rankdata_2d_float64_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -13780,24 +13780,24 @@ static PyObject *__pyx_pf_8rankdata_42rankdata_2d_float64_axis0(CYTHON_UNUSED Py /* "rankdata.pyx":1051 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float64 along axis=1, dealing with ties." + * def rankdata_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int64 along axis=1, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_45rankdata_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_44rankdata_2d_float64_axis1[] = "rankdata_2d_float64_axis1(ndarray a)\nRanks n2d array with dtype=float64 along axis=1, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_45rankdata_2d_float64_axis1 = {"rankdata_2d_float64_axis1", (PyCFunction)__pyx_pw_8rankdata_45rankdata_2d_float64_axis1, METH_O, __pyx_doc_8rankdata_44rankdata_2d_float64_axis1}; -static PyObject *__pyx_pw_8rankdata_45rankdata_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_45rankdata_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_44rankdata_2d_int64_axis1[] = "rankdata_2d_int64_axis1(ndarray a)\nRanks n2d array with dtype=int64 along axis=1, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_45rankdata_2d_int64_axis1 = {"rankdata_2d_int64_axis1", (PyCFunction)__pyx_pw_8rankdata_45rankdata_2d_int64_axis1, METH_O, __pyx_doc_8rankdata_44rankdata_2d_int64_axis1}; +static PyObject *__pyx_pw_8rankdata_45rankdata_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int64_axis1 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_44rankdata_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_8rankdata_44rankdata_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -13808,7 +13808,7 @@ static PyObject *__pyx_pw_8rankdata_45rankdata_2d_float64_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_44rankdata_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_44rankdata_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -13864,7 +13864,7 @@ static PyObject *__pyx_pf_8rankdata_44rankdata_2d_float64_axis1(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_float64_axis1", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int64_axis1", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -13879,13 +13879,13 @@ static PyObject *__pyx_pf_8rankdata_44rankdata_2d_float64_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "rankdata.pyx":1053 - * def rankdata_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Ranks n2d array with dtype=float64 along axis=1, dealing with ties." + * def rankdata_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Ranks n2d array with dtype=int64 along axis=1, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) @@ -14052,7 +14052,7 @@ static PyObject *__pyx_pf_8rankdata_44rankdata_2d_float64_axis1(CYTHON_UNUSED Py */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_idx; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":1071 * idx = ivec[i0, 0] @@ -14134,7 +14134,7 @@ static PyObject *__pyx_pf_8rankdata_44rankdata_2d_float64_axis1(CYTHON_UNUSED Py */ __pyx_t_16 = __pyx_v_i0; __pyx_t_17 = __pyx_v_idx; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":1079 * idx = ivec[i0, k] @@ -14335,8 +14335,8 @@ static PyObject *__pyx_pf_8rankdata_44rankdata_2d_float64_axis1(CYTHON_UNUSED Py /* "rankdata.pyx":1051 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float64 along axis=1, dealing with ties." + * def rankdata_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int64 along axis=1, dealing with ties." * cdef dupcount = 0 */ @@ -14350,7 +14350,7 @@ static PyObject *__pyx_pf_8rankdata_44rankdata_2d_float64_axis1(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -14367,7 +14367,7 @@ static PyObject *__pyx_pf_8rankdata_44rankdata_2d_float64_axis1(CYTHON_UNUSED Py } /* "rankdata.pyx":1118 - * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 + * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 * * def rankdata_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) rankdata along axis 0." @@ -14435,7 +14435,7 @@ static PyObject *__pyx_pf_8rankdata_46rankdata_slow_axis0(CYTHON_UNUSED PyObject goto __pyx_L0; /* "rankdata.pyx":1118 - * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 + * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 * * def rankdata_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) rankdata along axis 0." @@ -23996,7 +23996,7 @@ static PyObject *__pyx_pf_8rankdata_134nanrankdata_2d_float64_axis1(CYTHON_UNUSE } /* "rankdata.pyx":1890 - * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 + * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 * * def nanrankdata_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanrankdata along axis 0." @@ -24064,7 +24064,7 @@ static PyObject *__pyx_pf_8rankdata_136nanrankdata_slow_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; /* "rankdata.pyx":1890 - * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 + * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 * * def nanrankdata_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanrankdata along axis 0." @@ -27055,7 +27055,7 @@ static PyObject *__pyx_pf_8rankdata_202nanrankdata_slow_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -27105,7 +27105,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -27118,7 +27118,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -27127,7 +27127,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -27136,7 +27136,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -27145,7 +27145,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -27155,7 +27155,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -27167,7 +27167,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -27178,7 +27178,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -27194,7 +27194,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -27206,7 +27206,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -27220,7 +27220,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -27236,7 +27236,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -27248,7 +27248,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -27262,7 +27262,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -27271,7 +27271,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -27280,7 +27280,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -27290,7 +27290,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -27299,7 +27299,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -27308,7 +27308,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -27319,7 +27319,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -27328,7 +27328,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -27341,7 +27341,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -27350,7 +27350,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -27361,7 +27361,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -27370,7 +27370,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -27379,7 +27379,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -27388,7 +27388,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -27397,7 +27397,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -27409,7 +27409,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -27418,7 +27418,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -27438,7 +27438,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -27454,7 +27454,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -27469,7 +27469,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -27479,7 +27479,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -27489,7 +27489,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -27512,7 +27512,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -27532,7 +27532,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -27546,7 +27546,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -27555,7 +27555,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -27566,7 +27566,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -27577,7 +27577,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -27588,7 +27588,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -27599,7 +27599,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -27610,7 +27610,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -27621,7 +27621,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -27632,7 +27632,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -27643,7 +27643,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -27654,7 +27654,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -27665,7 +27665,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -27676,7 +27676,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -27687,7 +27687,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -27698,7 +27698,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -27709,7 +27709,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -27720,7 +27720,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -27731,7 +27731,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -27743,7 +27743,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -27769,7 +27769,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -27778,7 +27778,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -27790,7 +27790,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -27799,7 +27799,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -27808,7 +27808,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -27817,7 +27817,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -27827,7 +27827,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -27837,7 +27837,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -27869,7 +27869,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -27893,7 +27893,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -27903,7 +27903,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -27915,7 +27915,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -27925,7 +27925,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -27937,7 +27937,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -27949,7 +27949,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -27966,7 +27966,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -27980,7 +27980,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -27999,7 +27999,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -28016,7 +28016,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -28030,7 +28030,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -28049,7 +28049,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -28066,7 +28066,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -28080,7 +28080,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -28099,7 +28099,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -28116,7 +28116,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -28130,7 +28130,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -28149,7 +28149,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -28166,7 +28166,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -28180,7 +28180,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -28199,7 +28199,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -28231,7 +28231,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -28240,7 +28240,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -28249,7 +28249,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -28271,7 +28271,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -28284,7 +28284,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -28323,7 +28323,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -28340,7 +28340,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -28354,7 +28354,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -28377,7 +28377,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -28397,7 +28397,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -28411,7 +28411,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -28427,7 +28427,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -28436,7 +28436,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -28445,7 +28445,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -28456,7 +28456,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -28466,7 +28466,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -28476,7 +28476,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -28488,7 +28488,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -28498,7 +28498,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -28512,7 +28512,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -28530,7 +28530,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -28548,7 +28548,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -28566,7 +28566,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -28584,7 +28584,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -28602,7 +28602,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -28620,7 +28620,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -28638,7 +28638,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -28656,7 +28656,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -28674,7 +28674,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -28692,7 +28692,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -28710,7 +28710,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -28728,7 +28728,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -28746,7 +28746,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -28766,7 +28766,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -28786,7 +28786,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -28806,7 +28806,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -28825,7 +28825,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -28848,7 +28848,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -28860,7 +28860,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -28872,7 +28872,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -28882,7 +28882,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -28892,7 +28892,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -28917,7 +28917,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -28932,7 +28932,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -28943,7 +28943,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -28955,7 +28955,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -28964,7 +28964,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -28975,7 +28975,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -28984,7 +28984,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -28993,7 +28993,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -29005,7 +29005,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -29019,7 +29019,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -29029,7 +29029,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -29043,7 +29043,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -29054,7 +29054,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -29092,7 +29092,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -29108,6 +29107,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -29293,7 +29293,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -29304,7 +29304,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -29315,7 +29315,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -29326,7 +29326,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -29337,7 +29337,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -29348,7 +29348,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -29380,7 +29380,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":110 * return func(arr) @@ -29392,262 +29392,262 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_key, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_selector, 110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_selector, 110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":187 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int along axis=0, dealing with ties." + * def rankdata_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float along axis=0, dealing with ties." * cdef dupcount = 0 */ __pyx_tuple__13 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_1d_int_axis0, 187, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_1d_float_axis0, 187, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":225 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int8 along axis=0, dealing with ties." + * def rankdata_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float32 along axis=0, dealing with ties." * cdef dupcount = 0 */ __pyx_tuple__15 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_1d_int8_axis0, 225, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_1d_float32_axis0, 225, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":263 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int32 along axis=0, dealing with ties." + * def rankdata_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float64 along axis=0, dealing with ties." * cdef dupcount = 0 */ __pyx_tuple__17 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_1d_int32_axis0, 263, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_1d_float64_axis0, 263, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int64 along axis=0, dealing with ties." + * def rankdata_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__19 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_1d_int64_axis0, 301, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_float_axis0, 301, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "rankdata.pyx":339 + /* "rankdata.pyx":347 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int along axis=0, dealing with ties." + * def rankdata_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__21 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_int_axis0, 339, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_float_axis1, 347, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "rankdata.pyx":385 + /* "rankdata.pyx":393 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int along axis=1, dealing with ties." + * def rankdata_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float32 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__23 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_int_axis1, 385, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_float32_axis0, 393, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "rankdata.pyx":431 + /* "rankdata.pyx":439 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int8 along axis=0, dealing with ties." + * def rankdata_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float32 along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__25 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_int8_axis0, 431, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_float32_axis1, 439, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "rankdata.pyx":477 + /* "rankdata.pyx":485 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int8 along axis=1, dealing with ties." + * def rankdata_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float64 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__27 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_int8_axis1, 477, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_float64_axis0, 485, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "rankdata.pyx":523 + /* "rankdata.pyx":531 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int32 along axis=0, dealing with ties." + * def rankdata_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float64 along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__29 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_int32_axis0, 523, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_float64_axis1, 531, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "rankdata.pyx":569 + /* "rankdata.pyx":577 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int32 along axis=1, dealing with ties." + * def rankdata_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__31 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_int32_axis1, 569, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_1d_int_axis0, 577, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":615 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int64 along axis=0, dealing with ties." + * def rankdata_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int8 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__33 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_int64_axis0, 615, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_1d_int8_axis0, 615, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "rankdata.pyx":661 + /* "rankdata.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int64 along axis=1, dealing with ties." + * def rankdata_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int32 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__35 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_int64_axis1, 661, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_1d_int32_axis0, 653, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "rankdata.pyx":707 + /* "rankdata.pyx":691 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float along axis=0, dealing with ties." + * def rankdata_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int64 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__37 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_1d_float_axis0, 707, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_1d_int64_axis0, 691, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "rankdata.pyx":745 + /* "rankdata.pyx":729 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float32 along axis=0, dealing with ties." + * def rankdata_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__39 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_1d_float32_axis0, 745, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_int_axis0, 729, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "rankdata.pyx":783 + /* "rankdata.pyx":775 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float64 along axis=0, dealing with ties." + * def rankdata_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__41 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_1d_float64_axis0, 783, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_int_axis1, 775, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":821 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float along axis=0, dealing with ties." + * def rankdata_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int8 along axis=0, dealing with ties." * cdef dupcount = 0 */ __pyx_tuple__43 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_float_axis0, 821, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_int8_axis0, 821, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":867 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float along axis=1, dealing with ties." + * def rankdata_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int8 along axis=1, dealing with ties." * cdef dupcount = 0 */ __pyx_tuple__45 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_float_axis1, 867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_int8_axis1, 867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":913 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float32 along axis=0, dealing with ties." + * def rankdata_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int32 along axis=0, dealing with ties." * cdef dupcount = 0 */ __pyx_tuple__47 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_float32_axis0, 913, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_int32_axis0, 913, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":959 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float32 along axis=1, dealing with ties." + * def rankdata_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int32 along axis=1, dealing with ties." * cdef dupcount = 0 */ __pyx_tuple__49 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_float32_axis1, 959, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_int32_axis1, 959, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1005 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float64 along axis=0, dealing with ties." + * def rankdata_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int64 along axis=0, dealing with ties." * cdef dupcount = 0 */ __pyx_tuple__51 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_float64_axis0, 1005, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_int64_axis0, 1005, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1051 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float64 along axis=1, dealing with ties." + * def rankdata_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int64 along axis=1, dealing with ties." * cdef dupcount = 0 */ __pyx_tuple__53 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_float64_axis1, 1051, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_int64_axis1, 1051, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1118 - * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 + * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 * * def rankdata_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) rankdata along axis 0." @@ -29656,7 +29656,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__55 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis0, 1118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis0, 1118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1122 * return bn.slow.rankdata(arr, axis=0) @@ -29668,7 +29668,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__57 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis1, 1122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis1, 1122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1126 * return bn.slow.rankdata(arr, axis=1) @@ -29680,7 +29680,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__59 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis2, 1126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis2, 1126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1130 * return bn.slow.rankdata(arr, axis=2) @@ -29692,7 +29692,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__61 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis3, 1130, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis3, 1130, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1134 * return bn.slow.rankdata(arr, axis=3) @@ -29704,7 +29704,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__63 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis4, 1134, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis4, 1134, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1138 * return bn.slow.rankdata(arr, axis=4) @@ -29716,7 +29716,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__65 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis5, 1138, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis5, 1138, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1142 * return bn.slow.rankdata(arr, axis=5) @@ -29728,7 +29728,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__67 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis6, 1142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis6, 1142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1146 * return bn.slow.rankdata(arr, axis=6) @@ -29740,7 +29740,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis7, 1146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis7, 1146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1150 * return bn.slow.rankdata(arr, axis=7) @@ -29752,7 +29752,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis8, 1150, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis8, 1150, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1154 * return bn.slow.rankdata(arr, axis=8) @@ -29764,7 +29764,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis9, 1154, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis9, 1154, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1158 * return bn.slow.rankdata(arr, axis=9) @@ -29776,7 +29776,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis10, 1158, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis10, 1158, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1162 * return bn.slow.rankdata(arr, axis=10) @@ -29788,7 +29788,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis11, 1162, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis11, 1162, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1166 * return bn.slow.rankdata(arr, axis=11) @@ -29800,7 +29800,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis12, 1166, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis12, 1166, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1170 * return bn.slow.rankdata(arr, axis=12) @@ -29812,7 +29812,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis13, 1170, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis13, 1170, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1174 * return bn.slow.rankdata(arr, axis=13) @@ -29824,7 +29824,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis14, 1174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis14, 1174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1178 * return bn.slow.rankdata(arr, axis=14) @@ -29836,7 +29836,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis15, 1178, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis15, 1178, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1182 * return bn.slow.rankdata(arr, axis=15) @@ -29848,7 +29848,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis16, 1182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis16, 1182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1186 * return bn.slow.rankdata(arr, axis=16) @@ -29860,7 +29860,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis17, 1186, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis17, 1186, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1190 * return bn.slow.rankdata(arr, axis=17) @@ -29872,7 +29872,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis18, 1190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis18, 1190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1194 * return bn.slow.rankdata(arr, axis=18) @@ -29884,7 +29884,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis19, 1194, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis19, 1194, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1198 * return bn.slow.rankdata(arr, axis=19) @@ -29896,7 +29896,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis20, 1198, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis20, 1198, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1202 * return bn.slow.rankdata(arr, axis=20) @@ -29908,7 +29908,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis21, 1202, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis21, 1202, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1206 * return bn.slow.rankdata(arr, axis=21) @@ -29920,7 +29920,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis22, 1206, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis22, 1206, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1210 * return bn.slow.rankdata(arr, axis=22) @@ -29932,7 +29932,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis23, 1210, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis23, 1210, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1214 * return bn.slow.rankdata(arr, axis=23) @@ -29944,7 +29944,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis24, 1214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis24, 1214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1218 * return bn.slow.rankdata(arr, axis=24) @@ -29956,7 +29956,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis25, 1218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis25, 1218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1222 * return bn.slow.rankdata(arr, axis=25) @@ -29968,7 +29968,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis26, 1222, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis26, 1222, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1226 * return bn.slow.rankdata(arr, axis=26) @@ -29980,7 +29980,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis27, 1226, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis27, 1226, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1230 * return bn.slow.rankdata(arr, axis=27) @@ -29992,7 +29992,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis28, 1230, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis28, 1230, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1234 * return bn.slow.rankdata(arr, axis=28) @@ -30004,7 +30004,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis29, 1234, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis29, 1234, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1238 * return bn.slow.rankdata(arr, axis=29) @@ -30016,7 +30016,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis30, 1238, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis30, 1238, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1242 * return bn.slow.rankdata(arr, axis=30) @@ -30028,7 +30028,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis31, 1242, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis31, 1242, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1246 * return bn.slow.rankdata(arr, axis=31) @@ -30040,7 +30040,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis32, 1246, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis32, 1246, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1250 * return bn.slow.rankdata(arr, axis=32) @@ -30052,7 +30052,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axisNone, 1250, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axisNone, 1250, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1292 * "nanrankdata auto-generated from template" @@ -30064,7 +30064,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata, 1292, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata, 1292, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1336 * return func(arr) @@ -30076,7 +30076,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_key, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_selector, 1336, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_selector, 1336, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1413 * @cython.boundscheck(False) @@ -30088,7 +30088,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_1d_float_axis0, 1413, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_1d_float_axis0, 1413, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1457 * @cython.boundscheck(False) @@ -30100,7 +30100,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_1d_float32_axis0, 1457, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_1d_float32_axis0, 1457, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1501 * @cython.boundscheck(False) @@ -30112,7 +30112,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_1d_float64_axis0, 1501, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_1d_float64_axis0, 1501, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1545 * @cython.boundscheck(False) @@ -30124,7 +30124,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_2d_float_axis0, 1545, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_2d_float_axis0, 1545, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1599 * @cython.boundscheck(False) @@ -30136,7 +30136,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_2d_float_axis1, 1599, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_2d_float_axis1, 1599, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1653 * @cython.boundscheck(False) @@ -30148,7 +30148,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__137 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__137); __Pyx_GIVEREF(__pyx_tuple__137); - __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_2d_float32_axis0, 1653, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_2d_float32_axis0, 1653, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1707 * @cython.boundscheck(False) @@ -30160,7 +30160,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__139 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__139); __Pyx_GIVEREF(__pyx_tuple__139); - __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_2d_float32_axis1, 1707, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_2d_float32_axis1, 1707, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1761 * @cython.boundscheck(False) @@ -30172,7 +30172,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__141 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__141); __Pyx_GIVEREF(__pyx_tuple__141); - __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_2d_float64_axis0, 1761, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_2d_float64_axis0, 1761, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1815 * @cython.boundscheck(False) @@ -30184,10 +30184,10 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__143 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__143); __Pyx_GIVEREF(__pyx_tuple__143); - __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_2d_float64_axis1, 1815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_2d_float64_axis1, 1815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1890 - * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 + * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 * * def nanrankdata_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanrankdata along axis 0." @@ -30196,7 +30196,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__145 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1890; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__145); __Pyx_GIVEREF(__pyx_tuple__145); - __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis0, 1890, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1890; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis0, 1890, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1890; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1894 * return bn.slow.nanrankdata(arr, axis=0) @@ -30208,7 +30208,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__147 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__147); __Pyx_GIVEREF(__pyx_tuple__147); - __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis1, 1894, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis1, 1894, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1898 * return bn.slow.nanrankdata(arr, axis=1) @@ -30220,7 +30220,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__149 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__149); __Pyx_GIVEREF(__pyx_tuple__149); - __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis2, 1898, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis2, 1898, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1902 * return bn.slow.nanrankdata(arr, axis=2) @@ -30232,7 +30232,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__151 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__151); __Pyx_GIVEREF(__pyx_tuple__151); - __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis3, 1902, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis3, 1902, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1906 * return bn.slow.nanrankdata(arr, axis=3) @@ -30244,7 +30244,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__153 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__153); __Pyx_GIVEREF(__pyx_tuple__153); - __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis4, 1906, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis4, 1906, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1910 * return bn.slow.nanrankdata(arr, axis=4) @@ -30256,7 +30256,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__155 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__155); __Pyx_GIVEREF(__pyx_tuple__155); - __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis5, 1910, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis5, 1910, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1914 * return bn.slow.nanrankdata(arr, axis=5) @@ -30268,7 +30268,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__157 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__157); __Pyx_GIVEREF(__pyx_tuple__157); - __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis6, 1914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis6, 1914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1918 * return bn.slow.nanrankdata(arr, axis=6) @@ -30280,7 +30280,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__159 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__159); __Pyx_GIVEREF(__pyx_tuple__159); - __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis7, 1918, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis7, 1918, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1922 * return bn.slow.nanrankdata(arr, axis=7) @@ -30292,7 +30292,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__161 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__161); __Pyx_GIVEREF(__pyx_tuple__161); - __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis8, 1922, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis8, 1922, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1926 * return bn.slow.nanrankdata(arr, axis=8) @@ -30304,7 +30304,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__163 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__163); __Pyx_GIVEREF(__pyx_tuple__163); - __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis9, 1926, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis9, 1926, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1930 * return bn.slow.nanrankdata(arr, axis=9) @@ -30316,7 +30316,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__165 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__165)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__165); __Pyx_GIVEREF(__pyx_tuple__165); - __pyx_codeobj__166 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__165, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis10, 1930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__166)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__166 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__165, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis10, 1930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__166)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1934 * return bn.slow.nanrankdata(arr, axis=10) @@ -30328,7 +30328,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__167 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__167)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__167); __Pyx_GIVEREF(__pyx_tuple__167); - __pyx_codeobj__168 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__167, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis11, 1934, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__168)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__168 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__167, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis11, 1934, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__168)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1938 * return bn.slow.nanrankdata(arr, axis=11) @@ -30340,7 +30340,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__169 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__169)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__169); __Pyx_GIVEREF(__pyx_tuple__169); - __pyx_codeobj__170 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__169, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis12, 1938, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__170 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__169, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis12, 1938, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1942 * return bn.slow.nanrankdata(arr, axis=12) @@ -30352,7 +30352,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__171 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__171)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__171); __Pyx_GIVEREF(__pyx_tuple__171); - __pyx_codeobj__172 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__171, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis13, 1942, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__172)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__172 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__171, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis13, 1942, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__172)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1946 * return bn.slow.nanrankdata(arr, axis=13) @@ -30364,7 +30364,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__173 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__173)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__173); __Pyx_GIVEREF(__pyx_tuple__173); - __pyx_codeobj__174 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__173, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis14, 1946, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__174 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__173, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis14, 1946, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1950 * return bn.slow.nanrankdata(arr, axis=14) @@ -30376,7 +30376,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__175 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__175)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__175); __Pyx_GIVEREF(__pyx_tuple__175); - __pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__175, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis15, 1950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__175, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis15, 1950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1954 * return bn.slow.nanrankdata(arr, axis=15) @@ -30388,7 +30388,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__177 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__177)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__177); __Pyx_GIVEREF(__pyx_tuple__177); - __pyx_codeobj__178 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis16, 1954, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__178)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__178 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis16, 1954, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__178)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1958 * return bn.slow.nanrankdata(arr, axis=16) @@ -30400,7 +30400,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__179 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__179)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__179); __Pyx_GIVEREF(__pyx_tuple__179); - __pyx_codeobj__180 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__179, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis17, 1958, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__180)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__180 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__179, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis17, 1958, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__180)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1962 * return bn.slow.nanrankdata(arr, axis=17) @@ -30412,7 +30412,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__181 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__181)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1962; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__181); __Pyx_GIVEREF(__pyx_tuple__181); - __pyx_codeobj__182 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__181, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis18, 1962, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__182)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1962; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__182 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__181, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis18, 1962, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__182)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1962; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1966 * return bn.slow.nanrankdata(arr, axis=18) @@ -30424,7 +30424,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__183 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__183)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__183); __Pyx_GIVEREF(__pyx_tuple__183); - __pyx_codeobj__184 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__183, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis19, 1966, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__184)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__184 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__183, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis19, 1966, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__184)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1970 * return bn.slow.nanrankdata(arr, axis=19) @@ -30436,7 +30436,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__185 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__185)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__185); __Pyx_GIVEREF(__pyx_tuple__185); - __pyx_codeobj__186 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__185, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis20, 1970, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__186)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__186 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__185, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis20, 1970, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__186)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1974 * return bn.slow.nanrankdata(arr, axis=20) @@ -30448,7 +30448,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__187 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__187)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1974; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__187); __Pyx_GIVEREF(__pyx_tuple__187); - __pyx_codeobj__188 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__187, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis21, 1974, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__188)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1974; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__188 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__187, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis21, 1974, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__188)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1974; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1978 * return bn.slow.nanrankdata(arr, axis=21) @@ -30460,7 +30460,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__189 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__189)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1978; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__189); __Pyx_GIVEREF(__pyx_tuple__189); - __pyx_codeobj__190 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__189, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis22, 1978, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__190)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1978; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__190 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__189, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis22, 1978, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__190)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1978; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1982 * return bn.slow.nanrankdata(arr, axis=22) @@ -30472,7 +30472,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__191 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__191)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__191); __Pyx_GIVEREF(__pyx_tuple__191); - __pyx_codeobj__192 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__191, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis23, 1982, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__192)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__192 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__191, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis23, 1982, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__192)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1986 * return bn.slow.nanrankdata(arr, axis=23) @@ -30484,7 +30484,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__193 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__193)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__193); __Pyx_GIVEREF(__pyx_tuple__193); - __pyx_codeobj__194 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__193, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis24, 1986, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__194)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__194 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__193, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis24, 1986, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__194)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1990 * return bn.slow.nanrankdata(arr, axis=24) @@ -30496,7 +30496,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__195 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__195)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__195); __Pyx_GIVEREF(__pyx_tuple__195); - __pyx_codeobj__196 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__195, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis25, 1990, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__196)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__196 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__195, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis25, 1990, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__196)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1994 * return bn.slow.nanrankdata(arr, axis=25) @@ -30508,7 +30508,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__197 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__197)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__197); __Pyx_GIVEREF(__pyx_tuple__197); - __pyx_codeobj__198 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__197, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis26, 1994, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__198)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__198 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__197, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis26, 1994, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__198)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1998 * return bn.slow.nanrankdata(arr, axis=26) @@ -30520,7 +30520,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__199 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__199)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1998; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__199); __Pyx_GIVEREF(__pyx_tuple__199); - __pyx_codeobj__200 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis27, 1998, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__200)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1998; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__200 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis27, 1998, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__200)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1998; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":2002 * return bn.slow.nanrankdata(arr, axis=27) @@ -30532,7 +30532,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__201 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__201)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__201); __Pyx_GIVEREF(__pyx_tuple__201); - __pyx_codeobj__202 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__201, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis28, 2002, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__202)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__202 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__201, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis28, 2002, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__202)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":2006 * return bn.slow.nanrankdata(arr, axis=28) @@ -30544,7 +30544,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__203 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__203)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2006; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__203); __Pyx_GIVEREF(__pyx_tuple__203); - __pyx_codeobj__204 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__203, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis29, 2006, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__204)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2006; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__204 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__203, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis29, 2006, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__204)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2006; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":2010 * return bn.slow.nanrankdata(arr, axis=29) @@ -30556,7 +30556,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__205 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__205)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__205); __Pyx_GIVEREF(__pyx_tuple__205); - __pyx_codeobj__206 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__205, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis30, 2010, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__206)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__206 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__205, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis30, 2010, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__206)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":2014 * return bn.slow.nanrankdata(arr, axis=30) @@ -30568,7 +30568,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__207 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__207)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__207); __Pyx_GIVEREF(__pyx_tuple__207); - __pyx_codeobj__208 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__207, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis31, 2014, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__208)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__208 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__207, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis31, 2014, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__208)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":2018 * return bn.slow.nanrankdata(arr, axis=31) @@ -30580,7 +30580,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__209 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__209)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__209); __Pyx_GIVEREF(__pyx_tuple__209); - __pyx_codeobj__210 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__209, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis32, 2018, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__210)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__210 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__209, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis32, 2018, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__210)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":2022 * return bn.slow.nanrankdata(arr, axis=32) @@ -30592,7 +30592,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__211 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__211)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__211); __Pyx_GIVEREF(__pyx_tuple__211); - __pyx_codeobj__212 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__211, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axisNone, 2022, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__212)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__212 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__211, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axisNone, 2022, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__212)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -31560,261 +31560,261 @@ PyMODINIT_FUNC PyInit_rankdata(void) /* "rankdata.pyx":187 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int along axis=0, dealing with ties." + * def rankdata_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_5rankdata_1d_int_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_5rankdata_1d_float_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":225 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int8 along axis=0, dealing with ties." + * def rankdata_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float32 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_7rankdata_1d_int8_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_7rankdata_1d_float32_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":263 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int32 along axis=0, dealing with ties." + * def rankdata_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float64 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_9rankdata_1d_int32_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_9rankdata_1d_float64_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int64 along axis=0, dealing with ties." + * def rankdata_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_11rankdata_1d_int64_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_11rankdata_2d_float_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "rankdata.pyx":339 + /* "rankdata.pyx":347 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int along axis=0, dealing with ties." + * def rankdata_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_13rankdata_2d_int_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_13rankdata_2d_float_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "rankdata.pyx":385 + /* "rankdata.pyx":393 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int along axis=1, dealing with ties." + * def rankdata_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float32 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_15rankdata_2d_int_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_15rankdata_2d_float32_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "rankdata.pyx":431 + /* "rankdata.pyx":439 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int8 along axis=0, dealing with ties." + * def rankdata_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float32 along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_17rankdata_2d_int8_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_17rankdata_2d_float32_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "rankdata.pyx":477 + /* "rankdata.pyx":485 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int8 along axis=1, dealing with ties." + * def rankdata_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float64 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_19rankdata_2d_int8_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_19rankdata_2d_float64_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "rankdata.pyx":523 + /* "rankdata.pyx":531 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int32 along axis=0, dealing with ties." + * def rankdata_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float64 along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_21rankdata_2d_int32_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_21rankdata_2d_float64_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "rankdata.pyx":569 + /* "rankdata.pyx":577 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int32 along axis=1, dealing with ties." + * def rankdata_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_23rankdata_2d_int32_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_23rankdata_1d_int_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":615 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int64 along axis=0, dealing with ties." + * def rankdata_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int8 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_25rankdata_2d_int64_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_25rankdata_1d_int8_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "rankdata.pyx":661 + /* "rankdata.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int64 along axis=1, dealing with ties." + * def rankdata_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int32 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_27rankdata_2d_int64_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_27rankdata_1d_int32_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "rankdata.pyx":707 + /* "rankdata.pyx":691 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float along axis=0, dealing with ties." + * def rankdata_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int64 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_29rankdata_1d_float_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_29rankdata_1d_int64_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "rankdata.pyx":745 + /* "rankdata.pyx":729 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float32 along axis=0, dealing with ties." + * def rankdata_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_31rankdata_1d_float32_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_31rankdata_2d_int_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "rankdata.pyx":783 + /* "rankdata.pyx":775 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float64 along axis=0, dealing with ties." + * def rankdata_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_33rankdata_1d_float64_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_33rankdata_2d_int_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":821 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float along axis=0, dealing with ties." + * def rankdata_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int8 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_35rankdata_2d_float_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_35rankdata_2d_int8_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":867 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float along axis=1, dealing with ties." + * def rankdata_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int8 along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_37rankdata_2d_float_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_37rankdata_2d_int8_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":913 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float32 along axis=0, dealing with ties." + * def rankdata_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int32 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_39rankdata_2d_float32_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_39rankdata_2d_int32_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":959 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float32 along axis=1, dealing with ties." + * def rankdata_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int32 along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_41rankdata_2d_float32_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_41rankdata_2d_int32_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1005 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float64 along axis=0, dealing with ties." + * def rankdata_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int64 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_43rankdata_2d_float64_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_43rankdata_2d_int64_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1051 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float64 along axis=1, dealing with ties." + * def rankdata_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int64 along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_45rankdata_2d_float64_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_45rankdata_2d_int64_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1095 * return y * * cdef dict rankdata_dict = {} # <<<<<<<<<<<<<< - * rankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 - * rankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 + * rankdata_dict[(1, NPY_float, 0)] = rankdata_1d_float_axis0 + * rankdata_dict[(1, NPY_float32, 0)] = rankdata_1d_float32_axis0 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -31826,17 +31826,17 @@ PyMODINIT_FUNC PyInit_rankdata(void) /* "rankdata.pyx":1096 * * cdef dict rankdata_dict = {} - * rankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 - * rankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 + * rankdata_dict[(1, NPY_float, 0)] = rankdata_1d_float_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(1, NPY_float32, 0)] = rankdata_1d_float32_axis0 + * rankdata_dict[(1, NPY_float64, 0)] = rankdata_1d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -31855,18 +31855,18 @@ PyMODINIT_FUNC PyInit_rankdata(void) /* "rankdata.pyx":1097 * cdef dict rankdata_dict = {} - * rankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 - * rankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 - * rankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 + * rankdata_dict[(1, NPY_float, 0)] = rankdata_1d_float_axis0 + * rankdata_dict[(1, NPY_float32, 0)] = rankdata_1d_float32_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(1, NPY_float64, 0)] = rankdata_1d_float64_axis0 + * rankdata_dict[(2, NPY_float, 0)] = rankdata_2d_float_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -31884,19 +31884,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1098 - * rankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 - * rankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 - * rankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 - * rankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 + * rankdata_dict[(1, NPY_float, 0)] = rankdata_1d_float_axis0 + * rankdata_dict[(1, NPY_float32, 0)] = rankdata_1d_float32_axis0 + * rankdata_dict[(1, NPY_float64, 0)] = rankdata_1d_float64_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_float, 0)] = rankdata_2d_float_axis0 + * rankdata_dict[(2, NPY_float, 1)] = rankdata_2d_float_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -31914,25 +31914,25 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1099 - * rankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 - * rankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 - * rankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 - * rankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 + * rankdata_dict[(1, NPY_float32, 0)] = rankdata_1d_float32_axis0 + * rankdata_dict[(1, NPY_float64, 0)] = rankdata_1d_float64_axis0 + * rankdata_dict[(2, NPY_float, 0)] = rankdata_2d_float_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_float, 1)] = rankdata_2d_float_axis1 + * rankdata_dict[(2, NPY_float32, 0)] = rankdata_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -31944,19 +31944,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1100 - * rankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 - * rankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 - * rankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 - * rankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 + * rankdata_dict[(1, NPY_float64, 0)] = rankdata_1d_float64_axis0 + * rankdata_dict[(2, NPY_float, 0)] = rankdata_2d_float_axis0 + * rankdata_dict[(2, NPY_float, 1)] = rankdata_2d_float_axis1 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_float32, 0)] = rankdata_2d_float32_axis0 + * rankdata_dict[(2, NPY_float32, 1)] = rankdata_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -31965,28 +31965,28 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_rankdata_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1101 - * rankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 - * rankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 - * rankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 - * rankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 + * rankdata_dict[(2, NPY_float, 0)] = rankdata_2d_float_axis0 + * rankdata_dict[(2, NPY_float, 1)] = rankdata_2d_float_axis1 + * rankdata_dict[(2, NPY_float32, 0)] = rankdata_2d_float32_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_float32, 1)] = rankdata_2d_float32_axis1 + * rankdata_dict[(2, NPY_float64, 0)] = rankdata_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -31995,28 +31995,28 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_rankdata_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1102 - * rankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 - * rankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 - * rankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 - * rankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 + * rankdata_dict[(2, NPY_float, 1)] = rankdata_2d_float_axis1 + * rankdata_dict[(2, NPY_float32, 0)] = rankdata_2d_float32_axis0 + * rankdata_dict[(2, NPY_float32, 1)] = rankdata_2d_float32_axis1 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_float64, 0)] = rankdata_2d_float64_axis0 + * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -32025,28 +32025,28 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_rankdata_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1103 - * rankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 - * rankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 - * rankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 - * rankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 + * rankdata_dict[(2, NPY_float32, 0)] = rankdata_2d_float32_axis0 + * rankdata_dict[(2, NPY_float32, 1)] = rankdata_2d_float32_axis1 + * rankdata_dict[(2, NPY_float64, 0)] = rankdata_2d_float64_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 + * rankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -32055,28 +32055,28 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_rankdata_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1104 - * rankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 - * rankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 - * rankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 - * rankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 + * rankdata_dict[(2, NPY_float32, 1)] = rankdata_2d_float32_axis1 + * rankdata_dict[(2, NPY_float64, 0)] = rankdata_2d_float64_axis0 + * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 # <<<<<<<<<<<<<< + * rankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 + * rankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -32085,64 +32085,64 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_rankdata_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1105 - * rankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 - * rankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 - * rankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 - * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 + * rankdata_dict[(2, NPY_float64, 0)] = rankdata_2d_float64_axis0 + * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 + * rankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 + * rankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_rankdata_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1106 - * rankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 - * rankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 - * rankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 - * rankdata_dict[(1, NPY_float, 0)] = rankdata_1d_float_axis0 + * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 + * rankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 + * rankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 + * rankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -32154,49 +32154,49 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1107 - * rankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 - * rankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 - * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 # <<<<<<<<<<<<<< - * rankdata_dict[(1, NPY_float, 0)] = rankdata_1d_float_axis0 - * rankdata_dict[(1, NPY_float32, 0)] = rankdata_1d_float32_axis0 + * rankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 + * rankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 + * rankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 + * rankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_rankdata_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1108 - * rankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 - * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 - * rankdata_dict[(1, NPY_float, 0)] = rankdata_1d_float_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(1, NPY_float32, 0)] = rankdata_1d_float32_axis0 - * rankdata_dict[(1, NPY_float64, 0)] = rankdata_1d_float64_axis0 + * rankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 + * rankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 + * rankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 + * rankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -32214,25 +32214,25 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1109 - * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 - * rankdata_dict[(1, NPY_float, 0)] = rankdata_1d_float_axis0 - * rankdata_dict[(1, NPY_float32, 0)] = rankdata_1d_float32_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(1, NPY_float64, 0)] = rankdata_1d_float64_axis0 - * rankdata_dict[(2, NPY_float, 0)] = rankdata_2d_float_axis0 + * rankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 + * rankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 + * rankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 + * rankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -32244,49 +32244,49 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1110 - * rankdata_dict[(1, NPY_float, 0)] = rankdata_1d_float_axis0 - * rankdata_dict[(1, NPY_float32, 0)] = rankdata_1d_float32_axis0 - * rankdata_dict[(1, NPY_float64, 0)] = rankdata_1d_float64_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_float, 0)] = rankdata_2d_float_axis0 - * rankdata_dict[(2, NPY_float, 1)] = rankdata_2d_float_axis1 + * rankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 + * rankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 + * rankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 + * rankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_rankdata_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1111 - * rankdata_dict[(1, NPY_float32, 0)] = rankdata_1d_float32_axis0 - * rankdata_dict[(1, NPY_float64, 0)] = rankdata_1d_float64_axis0 - * rankdata_dict[(2, NPY_float, 0)] = rankdata_2d_float_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_float, 1)] = rankdata_2d_float_axis1 - * rankdata_dict[(2, NPY_float32, 0)] = rankdata_2d_float32_axis0 + * rankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 + * rankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 + * rankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 + * rankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -32304,19 +32304,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1112 - * rankdata_dict[(1, NPY_float64, 0)] = rankdata_1d_float64_axis0 - * rankdata_dict[(2, NPY_float, 0)] = rankdata_2d_float_axis0 - * rankdata_dict[(2, NPY_float, 1)] = rankdata_2d_float_axis1 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_float32, 0)] = rankdata_2d_float32_axis0 - * rankdata_dict[(2, NPY_float32, 1)] = rankdata_2d_float32_axis1 + * rankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 + * rankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 + * rankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 + * rankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -32334,19 +32334,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1113 - * rankdata_dict[(2, NPY_float, 0)] = rankdata_2d_float_axis0 - * rankdata_dict[(2, NPY_float, 1)] = rankdata_2d_float_axis1 - * rankdata_dict[(2, NPY_float32, 0)] = rankdata_2d_float32_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_float32, 1)] = rankdata_2d_float32_axis1 - * rankdata_dict[(2, NPY_float64, 0)] = rankdata_2d_float64_axis0 + * rankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 + * rankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 + * rankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 + * rankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -32364,19 +32364,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1114 - * rankdata_dict[(2, NPY_float, 1)] = rankdata_2d_float_axis1 - * rankdata_dict[(2, NPY_float32, 0)] = rankdata_2d_float32_axis0 - * rankdata_dict[(2, NPY_float32, 1)] = rankdata_2d_float32_axis1 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_float64, 0)] = rankdata_2d_float64_axis0 - * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 + * rankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 + * rankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 + * rankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 + * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -32394,19 +32394,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1115 - * rankdata_dict[(2, NPY_float32, 0)] = rankdata_2d_float32_axis0 - * rankdata_dict[(2, NPY_float32, 1)] = rankdata_2d_float32_axis1 - * rankdata_dict[(2, NPY_float64, 0)] = rankdata_2d_float64_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 + * rankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 + * rankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 + * rankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -32424,19 +32424,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1116 - * rankdata_dict[(2, NPY_float32, 1)] = rankdata_2d_float32_axis1 - * rankdata_dict[(2, NPY_float64, 0)] = rankdata_2d_float64_axis0 - * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 + * rankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 + * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 # <<<<<<<<<<<<<< * * def rankdata_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -32454,7 +32454,7 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1118 - * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 + * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 * * def rankdata_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) rankdata along axis 0." @@ -33555,8 +33555,8 @@ PyMODINIT_FUNC PyInit_rankdata(void) * return y * * cdef dict nanrankdata_dict = {} # <<<<<<<<<<<<<< - * nanrankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 - * nanrankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 + * nanrankdata_dict[(1, NPY_float, 0)] = nanrankdata_1d_float_axis0 + * nanrankdata_dict[(1, NPY_float32, 0)] = nanrankdata_1d_float32_axis0 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -33568,17 +33568,17 @@ PyMODINIT_FUNC PyInit_rankdata(void) /* "rankdata.pyx":1868 * * cdef dict nanrankdata_dict = {} - * nanrankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 - * nanrankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 + * nanrankdata_dict[(1, NPY_float, 0)] = nanrankdata_1d_float_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(1, NPY_float32, 0)] = nanrankdata_1d_float32_axis0 + * nanrankdata_dict[(1, NPY_float64, 0)] = nanrankdata_1d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -33597,18 +33597,18 @@ PyMODINIT_FUNC PyInit_rankdata(void) /* "rankdata.pyx":1869 * cdef dict nanrankdata_dict = {} - * nanrankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 - * nanrankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 - * nanrankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 + * nanrankdata_dict[(1, NPY_float, 0)] = nanrankdata_1d_float_axis0 + * nanrankdata_dict[(1, NPY_float32, 0)] = nanrankdata_1d_float32_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(1, NPY_float64, 0)] = nanrankdata_1d_float64_axis0 + * nanrankdata_dict[(2, NPY_float, 0)] = nanrankdata_2d_float_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -33626,19 +33626,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1870 - * nanrankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 - * nanrankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 - * nanrankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 - * nanrankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 + * nanrankdata_dict[(1, NPY_float, 0)] = nanrankdata_1d_float_axis0 + * nanrankdata_dict[(1, NPY_float32, 0)] = nanrankdata_1d_float32_axis0 + * nanrankdata_dict[(1, NPY_float64, 0)] = nanrankdata_1d_float64_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_float, 0)] = nanrankdata_2d_float_axis0 + * nanrankdata_dict[(2, NPY_float, 1)] = nanrankdata_2d_float_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -33656,25 +33656,25 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1871 - * nanrankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 - * nanrankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 - * nanrankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 - * nanrankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 + * nanrankdata_dict[(1, NPY_float32, 0)] = nanrankdata_1d_float32_axis0 + * nanrankdata_dict[(1, NPY_float64, 0)] = nanrankdata_1d_float64_axis0 + * nanrankdata_dict[(2, NPY_float, 0)] = nanrankdata_2d_float_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_float, 1)] = nanrankdata_2d_float_axis1 + * nanrankdata_dict[(2, NPY_float32, 0)] = nanrankdata_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -33686,19 +33686,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1872 - * nanrankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 - * nanrankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 - * nanrankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 - * nanrankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 + * nanrankdata_dict[(1, NPY_float64, 0)] = nanrankdata_1d_float64_axis0 + * nanrankdata_dict[(2, NPY_float, 0)] = nanrankdata_2d_float_axis0 + * nanrankdata_dict[(2, NPY_float, 1)] = nanrankdata_2d_float_axis1 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_float32, 0)] = nanrankdata_2d_float32_axis0 + * nanrankdata_dict[(2, NPY_float32, 1)] = nanrankdata_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1872; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1872; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1872; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1872; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1872; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1872; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -33707,28 +33707,28 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_nanrankdata_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1872; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1873 - * nanrankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 - * nanrankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 - * nanrankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 - * nanrankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 + * nanrankdata_dict[(2, NPY_float, 0)] = nanrankdata_2d_float_axis0 + * nanrankdata_dict[(2, NPY_float, 1)] = nanrankdata_2d_float_axis1 + * nanrankdata_dict[(2, NPY_float32, 0)] = nanrankdata_2d_float32_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_float32, 1)] = nanrankdata_2d_float32_axis1 + * nanrankdata_dict[(2, NPY_float64, 0)] = nanrankdata_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -33737,28 +33737,28 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_nanrankdata_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1874 - * nanrankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 - * nanrankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 - * nanrankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 - * nanrankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 + * nanrankdata_dict[(2, NPY_float, 1)] = nanrankdata_2d_float_axis1 + * nanrankdata_dict[(2, NPY_float32, 0)] = nanrankdata_2d_float32_axis0 + * nanrankdata_dict[(2, NPY_float32, 1)] = nanrankdata_2d_float32_axis1 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_float64, 0)] = nanrankdata_2d_float64_axis0 + * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -33767,28 +33767,28 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_nanrankdata_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1875 - * nanrankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 - * nanrankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 - * nanrankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 - * nanrankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 + * nanrankdata_dict[(2, NPY_float32, 0)] = nanrankdata_2d_float32_axis0 + * nanrankdata_dict[(2, NPY_float32, 1)] = nanrankdata_2d_float32_axis1 + * nanrankdata_dict[(2, NPY_float64, 0)] = nanrankdata_2d_float64_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 + * nanrankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -33797,28 +33797,28 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_nanrankdata_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1876 - * nanrankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 - * nanrankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 - * nanrankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 - * nanrankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 + * nanrankdata_dict[(2, NPY_float32, 1)] = nanrankdata_2d_float32_axis1 + * nanrankdata_dict[(2, NPY_float64, 0)] = nanrankdata_2d_float64_axis0 + * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanrankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 + * nanrankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -33827,64 +33827,64 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_nanrankdata_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1877 - * nanrankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 - * nanrankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 - * nanrankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 - * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 + * nanrankdata_dict[(2, NPY_float64, 0)] = nanrankdata_2d_float64_axis0 + * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 + * nanrankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 + * nanrankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_nanrankdata_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1878 - * nanrankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 - * nanrankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 - * nanrankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 - * nanrankdata_dict[(1, NPY_float, 0)] = nanrankdata_1d_float_axis0 + * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 + * nanrankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 + * nanrankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 + * nanrankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -33896,49 +33896,49 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1879 - * nanrankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 - * nanrankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 - * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 # <<<<<<<<<<<<<< - * nanrankdata_dict[(1, NPY_float, 0)] = nanrankdata_1d_float_axis0 - * nanrankdata_dict[(1, NPY_float32, 0)] = nanrankdata_1d_float32_axis0 + * nanrankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 + * nanrankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 + * nanrankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 + * nanrankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_nanrankdata_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1880 - * nanrankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 - * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 - * nanrankdata_dict[(1, NPY_float, 0)] = nanrankdata_1d_float_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(1, NPY_float32, 0)] = nanrankdata_1d_float32_axis0 - * nanrankdata_dict[(1, NPY_float64, 0)] = nanrankdata_1d_float64_axis0 + * nanrankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 + * nanrankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 + * nanrankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 + * nanrankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -33956,25 +33956,25 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1881 - * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 - * nanrankdata_dict[(1, NPY_float, 0)] = nanrankdata_1d_float_axis0 - * nanrankdata_dict[(1, NPY_float32, 0)] = nanrankdata_1d_float32_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(1, NPY_float64, 0)] = nanrankdata_1d_float64_axis0 - * nanrankdata_dict[(2, NPY_float, 0)] = nanrankdata_2d_float_axis0 + * nanrankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 + * nanrankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 + * nanrankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 + * nanrankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -33986,49 +33986,49 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1882 - * nanrankdata_dict[(1, NPY_float, 0)] = nanrankdata_1d_float_axis0 - * nanrankdata_dict[(1, NPY_float32, 0)] = nanrankdata_1d_float32_axis0 - * nanrankdata_dict[(1, NPY_float64, 0)] = nanrankdata_1d_float64_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_float, 0)] = nanrankdata_2d_float_axis0 - * nanrankdata_dict[(2, NPY_float, 1)] = nanrankdata_2d_float_axis1 + * nanrankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 + * nanrankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 + * nanrankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 + * nanrankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_nanrankdata_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1883 - * nanrankdata_dict[(1, NPY_float32, 0)] = nanrankdata_1d_float32_axis0 - * nanrankdata_dict[(1, NPY_float64, 0)] = nanrankdata_1d_float64_axis0 - * nanrankdata_dict[(2, NPY_float, 0)] = nanrankdata_2d_float_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_float, 1)] = nanrankdata_2d_float_axis1 - * nanrankdata_dict[(2, NPY_float32, 0)] = nanrankdata_2d_float32_axis0 + * nanrankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 + * nanrankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 + * nanrankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 + * nanrankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -34046,19 +34046,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1884 - * nanrankdata_dict[(1, NPY_float64, 0)] = nanrankdata_1d_float64_axis0 - * nanrankdata_dict[(2, NPY_float, 0)] = nanrankdata_2d_float_axis0 - * nanrankdata_dict[(2, NPY_float, 1)] = nanrankdata_2d_float_axis1 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_float32, 0)] = nanrankdata_2d_float32_axis0 - * nanrankdata_dict[(2, NPY_float32, 1)] = nanrankdata_2d_float32_axis1 + * nanrankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 + * nanrankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 + * nanrankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 + * nanrankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -34076,19 +34076,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1885 - * nanrankdata_dict[(2, NPY_float, 0)] = nanrankdata_2d_float_axis0 - * nanrankdata_dict[(2, NPY_float, 1)] = nanrankdata_2d_float_axis1 - * nanrankdata_dict[(2, NPY_float32, 0)] = nanrankdata_2d_float32_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_float32, 1)] = nanrankdata_2d_float32_axis1 - * nanrankdata_dict[(2, NPY_float64, 0)] = nanrankdata_2d_float64_axis0 + * nanrankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 + * nanrankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 + * nanrankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 + * nanrankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -34106,19 +34106,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1886 - * nanrankdata_dict[(2, NPY_float, 1)] = nanrankdata_2d_float_axis1 - * nanrankdata_dict[(2, NPY_float32, 0)] = nanrankdata_2d_float32_axis0 - * nanrankdata_dict[(2, NPY_float32, 1)] = nanrankdata_2d_float32_axis1 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_float64, 0)] = nanrankdata_2d_float64_axis0 - * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 + * nanrankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 + * nanrankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 + * nanrankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 + * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -34136,19 +34136,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1887 - * nanrankdata_dict[(2, NPY_float32, 0)] = nanrankdata_2d_float32_axis0 - * nanrankdata_dict[(2, NPY_float32, 1)] = nanrankdata_2d_float32_axis1 - * nanrankdata_dict[(2, NPY_float64, 0)] = nanrankdata_2d_float64_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 + * nanrankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 + * nanrankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 + * nanrankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -34166,19 +34166,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1888 - * nanrankdata_dict[(2, NPY_float32, 1)] = nanrankdata_2d_float32_axis1 - * nanrankdata_dict[(2, NPY_float64, 0)] = nanrankdata_2d_float64_axis0 - * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 + * nanrankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 + * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nanrankdata_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1888; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1888; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1888; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1888; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1888; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1888; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -34196,7 +34196,7 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1890 - * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 + * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 * * def nanrankdata_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanrankdata along axis 0." @@ -35172,7 +35172,7 @@ PyMODINIT_FUNC PyInit_rankdata(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/replace.c b/bottlechest/src/func/32bit/replace.c index 5b9a8dee34..55f9eaca04 100644 --- a/bottlechest/src/func/32bit/replace.c +++ b/bottlechest/src/func/32bit/replace.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1286,15 +1286,14 @@ static char __pyx_k_Cannot_safely_cast_old_to_int[] = "Cannot safely cast `old` static char __pyx_k_Replace_inplace_given_scalar_va[] = "\n Replace (inplace) given scalar values of an array with new values.\n\n The equivalent numpy function:\n \n arr[arr==old] = new\n \n Or in the case where old=np.nan:\n\n arr[np.isnan(old)] = new\n\n Parameters\n ----------\n arr : numpy.ndarray\n The input array, which is also the output array since this functions\n works inplace.\n old : scalar\n All elements in `arr` with this value will be replaced by `new`.\n new : scalar\n All elements in `arr` with a value of `old` will be replaced by `new`.\n\n Returns\n -------\n None, the operation is inplace. \n \n Examples\n --------\n Replace zero with 3 (note that the input array is modified):\n\n >>> a = np.array([1, 2, 0])\n >>> bn.replace(a, 0, 3)\n >>> a\n array([1, 2, 3])\n\n Replace np.nan with 0:\n\n >>> a = np.array([1, 2, np.nan])\n >>> bn.replace(a, np.nan, 0)\n >>> a\n array([ 1., 2., 0.])\n \n "; static char __pyx_k_Return_replace_function_and_arr[] = "\n Return replace function and array that matches `arr`.\n \n Under the hood Bottleneck uses a separate replace() Cython function for\n each combination of ndim and dtype. A lot of the overhead in bn.replace()\n is inselecting the low level function to use.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using this function.\n\n Parameters\n ----------\n arr : numpy.ndarray\n Input array.\n \n Returns\n -------\n func : function\n The replace() function that matches the number of dimensions and dtype\n of the input array.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, np.nan, 3.0])\n \n Obtain the function needed to replace values in `arr`:\n\n >>> func = bn.func.replace_selector(arr)\n >>> func\n \n\n Use the returned function to replace NaN with zero:\n\n >>> func(arr, np.nan, 0)\n >>> arr\n array([ 1., 0., 3.])\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/replace.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\replace.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Cannot_safely_cast_new_to_int; static PyObject *__pyx_kp_s_Cannot_safely_cast_old_to_int; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; @@ -1310,6 +1309,7 @@ static PyObject *__pyx_kp_u_Return_replace_function_and_arr; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__24; static PyObject *__pyx_n_s_a; @@ -11970,7 +11970,7 @@ static PyObject *__pyx_pf_7replace_98replace_slow_axisNone(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -12020,7 +12020,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -12033,7 +12033,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -12042,7 +12042,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -12051,7 +12051,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -12060,7 +12060,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -12070,7 +12070,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -12082,7 +12082,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -12093,7 +12093,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12109,7 +12109,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12121,7 +12121,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -12135,7 +12135,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12151,7 +12151,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12163,7 +12163,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -12177,7 +12177,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -12186,7 +12186,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -12195,7 +12195,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -12205,7 +12205,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -12214,7 +12214,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -12223,7 +12223,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -12234,7 +12234,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -12243,7 +12243,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -12256,7 +12256,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -12265,7 +12265,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -12276,7 +12276,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -12285,7 +12285,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -12294,7 +12294,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -12303,7 +12303,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -12312,7 +12312,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -12324,7 +12324,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -12333,7 +12333,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -12353,7 +12353,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -12369,7 +12369,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -12384,7 +12384,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -12394,7 +12394,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -12404,7 +12404,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -12427,7 +12427,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -12447,7 +12447,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -12461,7 +12461,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -12470,7 +12470,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -12481,7 +12481,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -12492,7 +12492,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -12503,7 +12503,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -12514,7 +12514,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -12525,7 +12525,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -12536,7 +12536,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -12547,7 +12547,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -12558,7 +12558,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -12569,7 +12569,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -12580,7 +12580,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -12591,7 +12591,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -12602,7 +12602,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -12613,7 +12613,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -12624,7 +12624,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -12635,7 +12635,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -12646,7 +12646,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -12658,7 +12658,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -12684,7 +12684,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -12693,7 +12693,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -12705,7 +12705,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -12714,7 +12714,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -12723,7 +12723,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -12732,7 +12732,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -12742,7 +12742,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -12752,7 +12752,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -12784,7 +12784,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -12808,7 +12808,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -12818,7 +12818,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -12830,7 +12830,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -12840,7 +12840,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -12852,7 +12852,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -12864,7 +12864,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -12881,7 +12881,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -12895,7 +12895,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -12914,7 +12914,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -12931,7 +12931,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -12945,7 +12945,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -12964,7 +12964,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -12981,7 +12981,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -12995,7 +12995,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13014,7 +13014,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13031,7 +13031,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -13045,7 +13045,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13064,7 +13064,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13081,7 +13081,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -13095,7 +13095,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13114,7 +13114,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -13146,7 +13146,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -13155,7 +13155,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -13164,7 +13164,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -13186,7 +13186,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -13199,7 +13199,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -13238,7 +13238,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -13255,7 +13255,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -13269,7 +13269,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -13292,7 +13292,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -13312,7 +13312,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -13326,7 +13326,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -13342,7 +13342,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -13351,7 +13351,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -13360,7 +13360,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -13371,7 +13371,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -13381,7 +13381,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -13391,7 +13391,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -13403,7 +13403,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -13413,7 +13413,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -13427,7 +13427,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -13445,7 +13445,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -13463,7 +13463,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -13481,7 +13481,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -13499,7 +13499,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -13517,7 +13517,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -13535,7 +13535,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -13553,7 +13553,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -13571,7 +13571,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -13589,7 +13589,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -13607,7 +13607,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -13625,7 +13625,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -13643,7 +13643,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -13661,7 +13661,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -13681,7 +13681,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -13701,7 +13701,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -13721,7 +13721,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -13740,7 +13740,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -13763,7 +13763,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -13775,7 +13775,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -13787,7 +13787,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -13797,7 +13797,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -13807,7 +13807,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -13832,7 +13832,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -13847,7 +13847,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -13858,7 +13858,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -13870,7 +13870,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -13879,7 +13879,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -13890,7 +13890,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -13899,7 +13899,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -13908,7 +13908,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -13920,7 +13920,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -13934,7 +13934,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -13944,7 +13944,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -13958,7 +13958,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -13969,7 +13969,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14007,7 +14007,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Cannot_safely_cast_new_to_int, __pyx_k_Cannot_safely_cast_new_to_int, sizeof(__pyx_k_Cannot_safely_cast_new_to_int), 0, 0, 1, 0}, {&__pyx_kp_s_Cannot_safely_cast_old_to_int, __pyx_k_Cannot_safely_cast_old_to_int, sizeof(__pyx_k_Cannot_safely_cast_old_to_int), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, @@ -14023,6 +14022,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__24, __pyx_k__24, sizeof(__pyx_k__24), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -14328,7 +14328,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -14339,7 +14339,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -14350,7 +14350,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14361,7 +14361,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__20); __Pyx_GIVEREF(__pyx_tuple__20); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -14372,7 +14372,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14383,7 +14383,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -14415,7 +14415,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__26 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_func); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__26); __Pyx_GIVEREF(__pyx_tuple__26); - __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":114 * return func(arr, old, new) @@ -14427,7 +14427,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__28 = PyTuple_Pack(7, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__28); __Pyx_GIVEREF(__pyx_tuple__28); - __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_selector, 114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_selector, 114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":174 * @cython.boundscheck(False) @@ -14439,7 +14439,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__30 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_oldint, __pyx_n_s_newint, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30); - __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_1d_int_axisNone, 174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_1d_int_axisNone, 174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":197 * @cython.boundscheck(False) @@ -14451,7 +14451,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__32 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_oldint, __pyx_n_s_newint, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__32); __Pyx_GIVEREF(__pyx_tuple__32); - __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_1d_int8_axisNone, 197, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_1d_int8_axisNone, 197, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":220 * @cython.boundscheck(False) @@ -14463,7 +14463,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__34 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_oldint, __pyx_n_s_newint, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__34); __Pyx_GIVEREF(__pyx_tuple__34); - __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_1d_int32_axisNone, 220, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_1d_int32_axisNone, 220, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":243 * @cython.boundscheck(False) @@ -14475,7 +14475,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__36 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_oldint, __pyx_n_s_newint, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); - __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_1d_int64_axisNone, 243, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_1d_int64_axisNone, 243, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":266 * @cython.boundscheck(False) @@ -14487,7 +14487,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__38 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_oldint, __pyx_n_s_newint, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__38); __Pyx_GIVEREF(__pyx_tuple__38); - __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(3, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_2d_int_axisNone, 266, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(3, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_2d_int_axisNone, 266, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":291 * @cython.boundscheck(False) @@ -14499,7 +14499,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__40 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_oldint, __pyx_n_s_newint, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__40); __Pyx_GIVEREF(__pyx_tuple__40); - __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(3, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_2d_int8_axisNone, 291, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(3, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_2d_int8_axisNone, 291, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":316 * @cython.boundscheck(False) @@ -14511,7 +14511,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__42 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_oldint, __pyx_n_s_newint, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__42); __Pyx_GIVEREF(__pyx_tuple__42); - __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(3, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_2d_int32_axisNone, 316, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(3, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_2d_int32_axisNone, 316, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":341 * @cython.boundscheck(False) @@ -14523,7 +14523,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__44 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_oldint, __pyx_n_s_newint, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__44); __Pyx_GIVEREF(__pyx_tuple__44); - __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(3, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_2d_int64_axisNone, 341, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(3, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_2d_int64_axisNone, 341, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":366 * @cython.boundscheck(False) @@ -14535,7 +14535,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__46 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__46); __Pyx_GIVEREF(__pyx_tuple__46); - __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_1d_float_axisNone, 366, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_1d_float_axisNone, 366, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":387 * @cython.boundscheck(False) @@ -14547,7 +14547,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__48 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__48); __Pyx_GIVEREF(__pyx_tuple__48); - __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_1d_float32_axisNone, 387, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_1d_float32_axisNone, 387, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":408 * @cython.boundscheck(False) @@ -14559,7 +14559,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__50 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__50); __Pyx_GIVEREF(__pyx_tuple__50); - __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_1d_float64_axisNone, 408, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_1d_float64_axisNone, 408, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":429 * @cython.boundscheck(False) @@ -14571,7 +14571,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__52 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__52); __Pyx_GIVEREF(__pyx_tuple__52); - __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_2d_float_axisNone, 429, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_2d_float_axisNone, 429, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":453 * @cython.boundscheck(False) @@ -14583,7 +14583,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__54 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__54); __Pyx_GIVEREF(__pyx_tuple__54); - __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_2d_float32_axisNone, 453, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_2d_float32_axisNone, 453, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":477 * @cython.boundscheck(False) @@ -14595,7 +14595,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__56 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__56); __Pyx_GIVEREF(__pyx_tuple__56); - __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_2d_float64_axisNone, 477, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_2d_float64_axisNone, 477, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":522 * replace_dict[(2, NPY_float64, None)] = replace_2d_float64_axisNone @@ -14607,7 +14607,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__58 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__58); __Pyx_GIVEREF(__pyx_tuple__58); - __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis0, 522, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis0, 522, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":526 * return bn.slow.replace(arr, old, new) @@ -14619,7 +14619,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__60 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__60); __Pyx_GIVEREF(__pyx_tuple__60); - __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis1, 526, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis1, 526, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":530 * return bn.slow.replace(arr, old, new) @@ -14631,7 +14631,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__62 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__62); __Pyx_GIVEREF(__pyx_tuple__62); - __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis2, 530, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis2, 530, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":534 * return bn.slow.replace(arr, old, new) @@ -14643,7 +14643,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__64 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__64); __Pyx_GIVEREF(__pyx_tuple__64); - __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis3, 534, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis3, 534, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":538 * return bn.slow.replace(arr, old, new) @@ -14655,7 +14655,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__66 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__66); __Pyx_GIVEREF(__pyx_tuple__66); - __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis4, 538, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis4, 538, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":542 * return bn.slow.replace(arr, old, new) @@ -14667,7 +14667,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__68 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__68); __Pyx_GIVEREF(__pyx_tuple__68); - __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis5, 542, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis5, 542, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":546 * return bn.slow.replace(arr, old, new) @@ -14679,7 +14679,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__70 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__70); __Pyx_GIVEREF(__pyx_tuple__70); - __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis6, 546, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis6, 546, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":550 * return bn.slow.replace(arr, old, new) @@ -14691,7 +14691,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__72 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__72); __Pyx_GIVEREF(__pyx_tuple__72); - __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis7, 550, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis7, 550, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":554 * return bn.slow.replace(arr, old, new) @@ -14703,7 +14703,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__74 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__74); __Pyx_GIVEREF(__pyx_tuple__74); - __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis8, 554, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis8, 554, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":558 * return bn.slow.replace(arr, old, new) @@ -14715,7 +14715,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__76 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__76); __Pyx_GIVEREF(__pyx_tuple__76); - __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis9, 558, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis9, 558, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":562 * return bn.slow.replace(arr, old, new) @@ -14727,7 +14727,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__78 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__78); __Pyx_GIVEREF(__pyx_tuple__78); - __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis10, 562, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis10, 562, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":566 * return bn.slow.replace(arr, old, new) @@ -14739,7 +14739,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__80 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__80); __Pyx_GIVEREF(__pyx_tuple__80); - __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis11, 566, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis11, 566, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":570 * return bn.slow.replace(arr, old, new) @@ -14751,7 +14751,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__82 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__82); __Pyx_GIVEREF(__pyx_tuple__82); - __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis12, 570, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis12, 570, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":574 * return bn.slow.replace(arr, old, new) @@ -14763,7 +14763,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__84 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__84); __Pyx_GIVEREF(__pyx_tuple__84); - __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis13, 574, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis13, 574, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":578 * return bn.slow.replace(arr, old, new) @@ -14775,7 +14775,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__86 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__86); __Pyx_GIVEREF(__pyx_tuple__86); - __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis14, 578, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis14, 578, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":582 * return bn.slow.replace(arr, old, new) @@ -14787,7 +14787,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__88 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__88); __Pyx_GIVEREF(__pyx_tuple__88); - __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis15, 582, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis15, 582, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":586 * return bn.slow.replace(arr, old, new) @@ -14799,7 +14799,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__90 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__90); __Pyx_GIVEREF(__pyx_tuple__90); - __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis16, 586, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis16, 586, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":590 * return bn.slow.replace(arr, old, new) @@ -14811,7 +14811,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__92 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__92); __Pyx_GIVEREF(__pyx_tuple__92); - __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis17, 590, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis17, 590, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":594 * return bn.slow.replace(arr, old, new) @@ -14823,7 +14823,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__94 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__94); __Pyx_GIVEREF(__pyx_tuple__94); - __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis18, 594, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis18, 594, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":598 * return bn.slow.replace(arr, old, new) @@ -14835,7 +14835,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__96 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__96); __Pyx_GIVEREF(__pyx_tuple__96); - __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis19, 598, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis19, 598, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":602 * return bn.slow.replace(arr, old, new) @@ -14847,7 +14847,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__98 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__98); __Pyx_GIVEREF(__pyx_tuple__98); - __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis20, 602, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis20, 602, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":606 * return bn.slow.replace(arr, old, new) @@ -14859,7 +14859,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__100 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__100); __Pyx_GIVEREF(__pyx_tuple__100); - __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis21, 606, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis21, 606, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":610 * return bn.slow.replace(arr, old, new) @@ -14871,7 +14871,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__102 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__102); __Pyx_GIVEREF(__pyx_tuple__102); - __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis22, 610, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis22, 610, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":614 * return bn.slow.replace(arr, old, new) @@ -14883,7 +14883,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__104 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__104); __Pyx_GIVEREF(__pyx_tuple__104); - __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis23, 614, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis23, 614, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":618 * return bn.slow.replace(arr, old, new) @@ -14895,7 +14895,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__106 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__106); __Pyx_GIVEREF(__pyx_tuple__106); - __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis24, 618, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis24, 618, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":622 * return bn.slow.replace(arr, old, new) @@ -14907,7 +14907,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__108 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__108); __Pyx_GIVEREF(__pyx_tuple__108); - __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis25, 622, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis25, 622, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":626 * return bn.slow.replace(arr, old, new) @@ -14919,7 +14919,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__110 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__110); __Pyx_GIVEREF(__pyx_tuple__110); - __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis26, 626, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis26, 626, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":630 * return bn.slow.replace(arr, old, new) @@ -14931,7 +14931,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__112 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__112); __Pyx_GIVEREF(__pyx_tuple__112); - __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis27, 630, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis27, 630, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":634 * return bn.slow.replace(arr, old, new) @@ -14943,7 +14943,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__114 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__114); __Pyx_GIVEREF(__pyx_tuple__114); - __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis28, 634, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis28, 634, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":638 * return bn.slow.replace(arr, old, new) @@ -14955,7 +14955,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__116 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__116); __Pyx_GIVEREF(__pyx_tuple__116); - __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis29, 638, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis29, 638, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":642 * return bn.slow.replace(arr, old, new) @@ -14967,7 +14967,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__118 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__118); __Pyx_GIVEREF(__pyx_tuple__118); - __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis30, 642, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis30, 642, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":646 * return bn.slow.replace(arr, old, new) @@ -14979,7 +14979,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__120 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__120); __Pyx_GIVEREF(__pyx_tuple__120); - __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis31, 646, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis31, 646, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":650 * return bn.slow.replace(arr, old, new) @@ -14991,7 +14991,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__122 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__122); __Pyx_GIVEREF(__pyx_tuple__122); - __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis32, 650, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis32, 650, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":654 * return bn.slow.replace(arr, old, new) @@ -15003,7 +15003,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__124 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__124); __Pyx_GIVEREF(__pyx_tuple__124); - __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axisNone, 654, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axisNone, 654, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -17753,7 +17753,7 @@ PyMODINIT_FUNC PyInit_replace(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/ss.c b/bottlechest/src/func/32bit/ss.c index e613fc2111..58cc697477 100644 --- a/bottlechest/src/func/32bit/ss.c +++ b/bottlechest/src/func/32bit/ss.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1104,13 +1104,13 @@ static __pyx_t_5numpy_float32_t __pyx_v_2ss_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_2ss_MAXfloat64; static PyObject *__pyx_v_2ss_ss_dict = 0; static PyObject *__pyx_v_2ss_ss_slow_dict = 0; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "ss" int __pyx_module_is_main_ss = 0; @@ -1122,34 +1122,34 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_2ss_ss(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_2ss_2ss_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_16ss_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_18ss_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_20ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_22ss_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_24ss_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_28ss_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_30ss_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_32ss_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_34ss_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_36ss_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_38ss_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_40ss_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_42ss_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_44ss_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_46ss_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_48ss_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_50ss_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_52ss_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_54ss_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_56ss_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_58ss_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_4ss_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_6ss_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_8ss_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_10ss_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_12ss_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_14ss_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_16ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_18ss_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_20ss_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_22ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_24ss_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_26ss_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_28ss_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_30ss_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_32ss_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_34ss_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_36ss_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_38ss_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_40ss_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_42ss_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_44ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_46ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_48ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_50ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_52ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_54ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_56ss_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_58ss_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_2ss_60ss_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_2ss_62ss_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_2ss_64ss_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1326,15 +1326,14 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Return_ss_function_and_array_th[] = "\n Return ss function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.ss() is in checking that `axis` is within range, converting `arr`\n into an array (if it is not already an array), and selecting the function\n to use to calculate the sum of squares.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the sum of squares is to be computed.\n\n Returns\n -------\n func : function\n The ss function that matches the number of dimensions and dtype\n of the input array and the axis along which you wish to find the sum\n if squares.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 5.0])\n \n Obtain the function needed to determine the sum of squares of `arr` along\n axis=0:\n\n >>> func, a = bn.func.ss_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the sum of squares:\n\n >>> func(a)\n 30.0\n\n "; static char __pyx_k_Sum_of_the_square_of_each_eleme[] = "\n Sum of the square of each element along specified axis.\n\n Parameters\n ----------\n arr : array_like\n Array whose sum of squares is desired. If `arr` is not an array, a\n conversion is attempted.\n axis : {int, None}, optional\n Axis along which the sum if squared is computed. The default (axis=0)\n is to sum the squares along the first dimension.\n\n Returns\n -------\n y : ndarray\n The sum of a**2 along the given axis. \n\n See also\n --------\n bottlechest.nn: Nearest neighbor. \n\n Examples\n --------\n >>> a = np.array([1., 2., 5.])\n >>> bn.ss(a)\n 30.0\n\n And calculating along an axis:\n\n >>> b = np.array([[1., 2., 5.], [2., 5., 6.]])\n >>> bn.ss(b, axis=1)\n array([ 30., 65.])\n \n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/ss.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\ss.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1348,6 +1347,7 @@ static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_kp_u_Sum_of_the_square_of_each_eleme; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__7; static PyObject *__pyx_n_s_a; @@ -2526,24 +2526,24 @@ static PyObject *__pyx_pf_2ss_2ss_selector(CYTHON_UNUSED PyObject *__pyx_self, P /* "ss.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=0." - * cdef np.int_t ssum = 0, ai + * def ss_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=0." + * cdef np.float_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_5ss_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_4ss_2d_int_axis0[] = "ss_2d_int_axis0(ndarray a)\nSum of squares of 2d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_2ss_5ss_2d_int_axis0 = {"ss_2d_int_axis0", (PyCFunction)__pyx_pw_2ss_5ss_2d_int_axis0, METH_O, __pyx_doc_2ss_4ss_2d_int_axis0}; -static PyObject *__pyx_pw_2ss_5ss_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_5ss_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_4ss_2d_float_axis0[] = "ss_2d_float_axis0(ndarray a)\nSum of squares of 2d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_2ss_5ss_2d_float_axis0 = {"ss_2d_float_axis0", (PyCFunction)__pyx_pw_2ss_5ss_2d_float_axis0, METH_O, __pyx_doc_2ss_4ss_2d_float_axis0}; +static PyObject *__pyx_pw_2ss_5ss_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("ss_2d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_4ss_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_2ss_4ss_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2554,9 +2554,9 @@ static PyObject *__pyx_pw_2ss_5ss_2d_int_axis0(PyObject *__pyx_self, PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int_t __pyx_v_ssum; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_4ss_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float_t __pyx_v_ssum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2582,7 +2582,7 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("ss_2d_float_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2593,18 +2593,18 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "ss.pyx":185 - * def ss_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int along axis=0." - * cdef np.int_t ssum = 0, ai # <<<<<<<<<<<<<< + * def ss_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=float along axis=0." + * cdef np.float_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":188 * cdef Py_ssize_t i0, i1 @@ -2629,7 +2629,7 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -2637,8 +2637,8 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; @@ -2646,17 +2646,17 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel /* "ss.pyx":192 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -2667,8 +2667,8 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel __pyx_t_2 = 0; /* "ss.pyx":194 - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) * for i1 in range(n1): # <<<<<<<<<<<<<< * ssum = 0 * for i0 in range(n0): @@ -2678,13 +2678,13 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel __pyx_v_i1 = __pyx_t_5; /* "ss.pyx":195 - * NPY_int, 0) + * NPY_float, 0) * for i1 in range(n1): * ssum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0, i1] */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":196 * for i1 in range(n1): @@ -2706,7 +2706,7 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "ss.pyx":198 * for i0 in range(n0): @@ -2726,7 +2726,7 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel * */ __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } /* "ss.pyx":200 @@ -2744,9 +2744,9 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel /* "ss.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=0." - * cdef np.int_t ssum = 0, ai + * def ss_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=0." + * cdef np.float_t ssum = 0, ai */ /* function exit code */ @@ -2757,7 +2757,7 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2773,24 +2773,24 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel /* "ss.pyx":204 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=1." - * cdef np.int_t ssum = 0, ai + * def ss_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=1." + * cdef np.float_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_7ss_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_6ss_2d_int_axis1[] = "ss_2d_int_axis1(ndarray a)\nSum of squares of 2d array with dtype=int along axis=1."; -static PyMethodDef __pyx_mdef_2ss_7ss_2d_int_axis1 = {"ss_2d_int_axis1", (PyCFunction)__pyx_pw_2ss_7ss_2d_int_axis1, METH_O, __pyx_doc_2ss_6ss_2d_int_axis1}; -static PyObject *__pyx_pw_2ss_7ss_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_7ss_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_6ss_2d_float_axis1[] = "ss_2d_float_axis1(ndarray a)\nSum of squares of 2d array with dtype=float along axis=1."; +static PyMethodDef __pyx_mdef_2ss_7ss_2d_float_axis1 = {"ss_2d_float_axis1", (PyCFunction)__pyx_pw_2ss_7ss_2d_float_axis1, METH_O, __pyx_doc_2ss_6ss_2d_float_axis1}; +static PyObject *__pyx_pw_2ss_7ss_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("ss_2d_float_axis1 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_6ss_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_2ss_6ss_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2801,9 +2801,9 @@ static PyObject *__pyx_pw_2ss_7ss_2d_int_axis1(PyObject *__pyx_self, PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int_t __pyx_v_ssum; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_6ss_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float_t __pyx_v_ssum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2829,7 +2829,7 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("ss_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2840,18 +2840,18 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "ss.pyx":206 - * def ss_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int along axis=1." - * cdef np.int_t ssum = 0, ai # <<<<<<<<<<<<<< + * def ss_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=float along axis=1." + * cdef np.float_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":209 * cdef Py_ssize_t i0, i1 @@ -2876,7 +2876,7 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -2884,8 +2884,8 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; @@ -2893,17 +2893,17 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel /* "ss.pyx":213 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -2914,8 +2914,8 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel __pyx_t_2 = 0; /* "ss.pyx":215 - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * ssum = 0 * for i1 in range(n1): @@ -2925,13 +2925,13 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel __pyx_v_i0 = __pyx_t_5; /* "ss.pyx":216 - * NPY_int, 0) + * NPY_float, 0) * for i0 in range(n0): * ssum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":217 * for i0 in range(n0): @@ -2953,7 +2953,7 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "ss.pyx":219 * for i1 in range(n1): @@ -2973,7 +2973,7 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel * */ __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } /* "ss.pyx":221 @@ -2991,9 +2991,9 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel /* "ss.pyx":204 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=1." - * cdef np.int_t ssum = 0, ai + * def ss_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=1." + * cdef np.float_t ssum = 0, ai */ /* function exit code */ @@ -3004,7 +3004,7 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3020,24 +3020,24 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel /* "ss.pyx":225 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=0." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=0." + * cdef np.float32_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_9ss_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_8ss_2d_int8_axis0[] = "ss_2d_int8_axis0(ndarray a)\nSum of squares of 2d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_2ss_9ss_2d_int8_axis0 = {"ss_2d_int8_axis0", (PyCFunction)__pyx_pw_2ss_9ss_2d_int8_axis0, METH_O, __pyx_doc_2ss_8ss_2d_int8_axis0}; -static PyObject *__pyx_pw_2ss_9ss_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_9ss_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_8ss_2d_float32_axis0[] = "ss_2d_float32_axis0(ndarray a)\nSum of squares of 2d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_2ss_9ss_2d_float32_axis0 = {"ss_2d_float32_axis0", (PyCFunction)__pyx_pw_2ss_9ss_2d_float32_axis0, METH_O, __pyx_doc_2ss_8ss_2d_float32_axis0}; +static PyObject *__pyx_pw_2ss_9ss_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("ss_2d_float32_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_8ss_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_2ss_8ss_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3048,9 +3048,9 @@ static PyObject *__pyx_pw_2ss_9ss_2d_int8_axis0(PyObject *__pyx_self, PyObject * return __pyx_r; } -static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int8_t __pyx_v_ssum; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_8ss_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float32_t __pyx_v_ssum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3076,7 +3076,7 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("ss_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3087,18 +3087,18 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "ss.pyx":227 - * def ss_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int8 along axis=0." - * cdef np.int8_t ssum = 0, ai # <<<<<<<<<<<<<< + * def ss_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=float32 along axis=0." + * cdef np.float32_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":230 * cdef Py_ssize_t i0, i1 @@ -3123,7 +3123,7 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -3131,8 +3131,8 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; @@ -3140,17 +3140,17 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se /* "ss.pyx":234 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -3161,8 +3161,8 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se __pyx_t_2 = 0; /* "ss.pyx":236 - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) * for i1 in range(n1): # <<<<<<<<<<<<<< * ssum = 0 * for i0 in range(n0): @@ -3172,13 +3172,13 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se __pyx_v_i1 = __pyx_t_5; /* "ss.pyx":237 - * NPY_int8, 0) + * NPY_float32, 0) * for i1 in range(n1): * ssum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0, i1] */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":238 * for i1 in range(n1): @@ -3200,7 +3200,7 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "ss.pyx":240 * for i0 in range(n0): @@ -3220,7 +3220,7 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se * */ __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } /* "ss.pyx":242 @@ -3238,9 +3238,9 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se /* "ss.pyx":225 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=0." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=0." + * cdef np.float32_t ssum = 0, ai */ /* function exit code */ @@ -3251,7 +3251,7 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3267,24 +3267,24 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se /* "ss.pyx":246 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=1." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=1." + * cdef np.float32_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_11ss_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_10ss_2d_int8_axis1[] = "ss_2d_int8_axis1(ndarray a)\nSum of squares of 2d array with dtype=int8 along axis=1."; -static PyMethodDef __pyx_mdef_2ss_11ss_2d_int8_axis1 = {"ss_2d_int8_axis1", (PyCFunction)__pyx_pw_2ss_11ss_2d_int8_axis1, METH_O, __pyx_doc_2ss_10ss_2d_int8_axis1}; -static PyObject *__pyx_pw_2ss_11ss_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_11ss_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_10ss_2d_float32_axis1[] = "ss_2d_float32_axis1(ndarray a)\nSum of squares of 2d array with dtype=float32 along axis=1."; +static PyMethodDef __pyx_mdef_2ss_11ss_2d_float32_axis1 = {"ss_2d_float32_axis1", (PyCFunction)__pyx_pw_2ss_11ss_2d_float32_axis1, METH_O, __pyx_doc_2ss_10ss_2d_float32_axis1}; +static PyObject *__pyx_pw_2ss_11ss_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int8_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("ss_2d_float32_axis1 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_10ss_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_2ss_10ss_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3295,9 +3295,9 @@ static PyObject *__pyx_pw_2ss_11ss_2d_int8_axis1(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int8_t __pyx_v_ssum; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_10ss_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float32_t __pyx_v_ssum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3323,7 +3323,7 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("ss_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3334,18 +3334,18 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "ss.pyx":248 - * def ss_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int8 along axis=1." - * cdef np.int8_t ssum = 0, ai # <<<<<<<<<<<<<< + * def ss_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=float32 along axis=1." + * cdef np.float32_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":251 * cdef Py_ssize_t i0, i1 @@ -3370,7 +3370,7 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -3378,8 +3378,8 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; @@ -3387,17 +3387,17 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s /* "ss.pyx":255 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -3408,8 +3408,8 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s __pyx_t_2 = 0; /* "ss.pyx":257 - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * ssum = 0 * for i1 in range(n1): @@ -3419,13 +3419,13 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s __pyx_v_i0 = __pyx_t_5; /* "ss.pyx":258 - * NPY_int8, 0) + * NPY_float32, 0) * for i0 in range(n0): * ssum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":259 * for i0 in range(n0): @@ -3447,7 +3447,7 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "ss.pyx":261 * for i1 in range(n1): @@ -3467,7 +3467,7 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s * */ __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } /* "ss.pyx":263 @@ -3485,9 +3485,9 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s /* "ss.pyx":246 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=1." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=1." + * cdef np.float32_t ssum = 0, ai */ /* function exit code */ @@ -3498,7 +3498,7 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3514,24 +3514,24 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s /* "ss.pyx":267 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=0." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=0." + * cdef np.float64_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_13ss_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_12ss_2d_int32_axis0[] = "ss_2d_int32_axis0(ndarray a)\nSum of squares of 2d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_2ss_13ss_2d_int32_axis0 = {"ss_2d_int32_axis0", (PyCFunction)__pyx_pw_2ss_13ss_2d_int32_axis0, METH_O, __pyx_doc_2ss_12ss_2d_int32_axis0}; -static PyObject *__pyx_pw_2ss_13ss_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_13ss_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_12ss_2d_float64_axis0[] = "ss_2d_float64_axis0(ndarray a)\nSum of squares of 2d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_2ss_13ss_2d_float64_axis0 = {"ss_2d_float64_axis0", (PyCFunction)__pyx_pw_2ss_13ss_2d_float64_axis0, METH_O, __pyx_doc_2ss_12ss_2d_float64_axis0}; +static PyObject *__pyx_pw_2ss_13ss_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("ss_2d_float64_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_12ss_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_2ss_12ss_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3542,9 +3542,9 @@ static PyObject *__pyx_pw_2ss_13ss_2d_int32_axis0(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int32_t __pyx_v_ssum; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_12ss_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float64_t __pyx_v_ssum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3570,7 +3570,7 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("ss_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3581,18 +3581,18 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "ss.pyx":269 - * def ss_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int32 along axis=0." - * cdef np.int32_t ssum = 0, ai # <<<<<<<<<<<<<< + * def ss_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=float64 along axis=0." + * cdef np.float64_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":272 * cdef Py_ssize_t i0, i1 @@ -3617,7 +3617,7 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -3625,8 +3625,8 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; @@ -3634,17 +3634,17 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ /* "ss.pyx":276 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -3655,8 +3655,8 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ __pyx_t_2 = 0; /* "ss.pyx":278 - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * for i1 in range(n1): # <<<<<<<<<<<<<< * ssum = 0 * for i0 in range(n0): @@ -3666,13 +3666,13 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ __pyx_v_i1 = __pyx_t_5; /* "ss.pyx":279 - * NPY_int32, 0) + * NPY_float64, 0) * for i1 in range(n1): * ssum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0, i1] */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":280 * for i1 in range(n1): @@ -3694,7 +3694,7 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "ss.pyx":282 * for i0 in range(n0): @@ -3714,7 +3714,7 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ * */ __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } /* "ss.pyx":284 @@ -3732,9 +3732,9 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ /* "ss.pyx":267 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=0." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=0." + * cdef np.float64_t ssum = 0, ai */ /* function exit code */ @@ -3745,7 +3745,7 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3761,24 +3761,24 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ /* "ss.pyx":288 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=1." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=1." + * cdef np.float64_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_15ss_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_14ss_2d_int32_axis1[] = "ss_2d_int32_axis1(ndarray a)\nSum of squares of 2d array with dtype=int32 along axis=1."; -static PyMethodDef __pyx_mdef_2ss_15ss_2d_int32_axis1 = {"ss_2d_int32_axis1", (PyCFunction)__pyx_pw_2ss_15ss_2d_int32_axis1, METH_O, __pyx_doc_2ss_14ss_2d_int32_axis1}; -static PyObject *__pyx_pw_2ss_15ss_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_15ss_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_14ss_2d_float64_axis1[] = "ss_2d_float64_axis1(ndarray a)\nSum of squares of 2d array with dtype=float64 along axis=1."; +static PyMethodDef __pyx_mdef_2ss_15ss_2d_float64_axis1 = {"ss_2d_float64_axis1", (PyCFunction)__pyx_pw_2ss_15ss_2d_float64_axis1, METH_O, __pyx_doc_2ss_14ss_2d_float64_axis1}; +static PyObject *__pyx_pw_2ss_15ss_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("ss_2d_float64_axis1 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_14ss_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_2ss_14ss_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3789,9 +3789,9 @@ static PyObject *__pyx_pw_2ss_15ss_2d_int32_axis1(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int32_t __pyx_v_ssum; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_14ss_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float64_t __pyx_v_ssum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3817,7 +3817,7 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("ss_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3828,18 +3828,18 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "ss.pyx":290 - * def ss_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int32 along axis=1." - * cdef np.int32_t ssum = 0, ai # <<<<<<<<<<<<<< + * def ss_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=float64 along axis=1." + * cdef np.float64_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":293 * cdef Py_ssize_t i0, i1 @@ -3864,7 +3864,7 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -3872,8 +3872,8 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; @@ -3881,17 +3881,17 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ /* "ss.pyx":297 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -3902,8 +3902,8 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ __pyx_t_2 = 0; /* "ss.pyx":299 - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * ssum = 0 * for i1 in range(n1): @@ -3913,13 +3913,13 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ __pyx_v_i0 = __pyx_t_5; /* "ss.pyx":300 - * NPY_int32, 0) + * NPY_float64, 0) * for i0 in range(n0): * ssum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":301 * for i0 in range(n0): @@ -3941,7 +3941,7 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "ss.pyx":303 * for i1 in range(n1): @@ -3961,7 +3961,7 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ * */ __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } /* "ss.pyx":305 @@ -3979,9 +3979,9 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ /* "ss.pyx":288 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=1." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=1." + * cdef np.float64_t ssum = 0, ai */ /* function exit code */ @@ -3992,7 +3992,7 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4008,24 +4008,24 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ /* "ss.pyx":309 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=0." - * cdef np.int64_t ssum = 0, ai + * def ss_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=float along axis=None." + * cdef np.float_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_17ss_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_16ss_2d_int64_axis0[] = "ss_2d_int64_axis0(ndarray a)\nSum of squares of 2d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_2ss_17ss_2d_int64_axis0 = {"ss_2d_int64_axis0", (PyCFunction)__pyx_pw_2ss_17ss_2d_int64_axis0, METH_O, __pyx_doc_2ss_16ss_2d_int64_axis0}; -static PyObject *__pyx_pw_2ss_17ss_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_17ss_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_16ss_1d_float_axisNone[] = "ss_1d_float_axisNone(ndarray a)\nSum of squares of 1d array with dtype=float along axis=None."; +static PyMethodDef __pyx_mdef_2ss_17ss_1d_float_axisNone = {"ss_1d_float_axisNone", (PyCFunction)__pyx_pw_2ss_17ss_1d_float_axisNone, METH_O, __pyx_doc_2ss_16ss_1d_float_axisNone}; +static PyObject *__pyx_pw_2ss_17ss_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("ss_1d_float_axisNone (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_16ss_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_2ss_16ss_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4036,64 +4036,53 @@ static PyObject *__pyx_pw_2ss_17ss_2d_int64_axis0(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2ss_16ss_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int64_t __pyx_v_ssum; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_16ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float_t __pyx_v_ssum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("ss_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "ss.pyx":311 - * def ss_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int64 along axis=0." - * cdef np.int64_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * def ss_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): + * "Sum of squares of 1d array with dtype=float along axis=None." + * cdef np.float_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":314 - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); @@ -4101,178 +4090,138 @@ static PyObject *__pyx_pf_2ss_16ss_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_ * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); /* "ss.pyx":316 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * ssum += ai * ai */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":317 + /* "ss.pyx":317 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "ss.pyx":318 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int64, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "ss.pyx":320 - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ssum = 0 - * for i0 in range(n0): - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "ss.pyx":321 - * NPY_int64, 0) - * for i1 in range(n1): - * ssum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_ssum = 0; - - /* "ss.pyx":322 - * for i1 in range(n1): - * ssum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ssum += ai * ai - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "ss.pyx":323 - * ssum = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ssum += ai * ai - * y[i1] = ssum - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "ss.pyx":324 - * for i0 in range(n0): - * ai = a[i0, i1] - * ssum += ai * ai # <<<<<<<<<<<<<< - * y[i1] = ssum - * return y + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * ssum += ai * ai + * return np.float(ssum) */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); - } + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "ss.pyx":325 - * ai = a[i0, i1] - * ssum += ai * ai - * y[i1] = ssum # <<<<<<<<<<<<<< - * return y + /* "ss.pyx":318 + * for i0 in range(n0): + * ai = a[i0] + * ssum += ai * ai # <<<<<<<<<<<<<< + * return np.float(ssum) * */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - /* "ss.pyx":326 - * ssum += ai * ai - * y[i1] = ssum - * return y # <<<<<<<<<<<<<< + /* "ss.pyx":319 + * ai = a[i0] + * ssum += ai * ai + * return np.float(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "ss.pyx":309 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def ss_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=0." - * cdef np.int64_t ssum = 0, ai - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + + /* "ss.pyx":309 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def ss_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=float along axis=None." + * cdef np.float_t ssum = 0, ai + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":330 +/* "ss.pyx":323 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=1." - * cdef np.int64_t ssum = 0, ai + * def ss_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=float32 along axis=None." + * cdef np.float32_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_19ss_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_18ss_2d_int64_axis1[] = "ss_2d_int64_axis1(ndarray a)\nSum of squares of 2d array with dtype=int64 along axis=1."; -static PyMethodDef __pyx_mdef_2ss_19ss_2d_int64_axis1 = {"ss_2d_int64_axis1", (PyCFunction)__pyx_pw_2ss_19ss_2d_int64_axis1, METH_O, __pyx_doc_2ss_18ss_2d_int64_axis1}; -static PyObject *__pyx_pw_2ss_19ss_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_19ss_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_18ss_1d_float32_axisNone[] = "ss_1d_float32_axisNone(ndarray a)\nSum of squares of 1d array with dtype=float32 along axis=None."; +static PyMethodDef __pyx_mdef_2ss_19ss_1d_float32_axisNone = {"ss_1d_float32_axisNone", (PyCFunction)__pyx_pw_2ss_19ss_1d_float32_axisNone, METH_O, __pyx_doc_2ss_18ss_1d_float32_axisNone}; +static PyObject *__pyx_pw_2ss_19ss_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_18ss_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_1d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_18ss_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4283,243 +4232,192 @@ static PyObject *__pyx_pw_2ss_19ss_2d_int64_axis1(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2ss_18ss_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int64_t __pyx_v_ssum; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_18ss_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float32_t __pyx_v_ssum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("ss_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "ss.pyx":332 - * def ss_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int64 along axis=1." - * cdef np.int64_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "ss.pyx":325 + * def ss_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): + * "Sum of squares of 1d array with dtype=float32 along axis=None." + * cdef np.float32_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; - /* "ss.pyx":335 - * cdef Py_ssize_t i0, i1 + /* "ss.pyx":328 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":336 + /* "ss.pyx":329 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":337 + /* "ss.pyx":330 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "ss.pyx":338 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "ss.pyx":339 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int64, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "ss.pyx":341 - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * ssum = 0 - * for i1 in range(n1): + * ai = a[i0] + * ssum += ai * ai */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":342 - * NPY_int64, 0) + /* "ss.pyx":331 + * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): - * ssum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] # <<<<<<<<<<<<<< + * ssum += ai * ai + * return np.float32(ssum) */ - __pyx_v_ssum = 0; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "ss.pyx":343 + /* "ss.pyx":332 * for i0 in range(n0): - * ssum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ssum += ai * ai - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "ss.pyx":344 - * ssum = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ssum += ai * ai - * y[i0] = ssum - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "ss.pyx":345 - * for i1 in range(n1): - * ai = a[i0, i1] - * ssum += ai * ai # <<<<<<<<<<<<<< - * y[i0] = ssum - * return y - */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); - } - - /* "ss.pyx":346 - * ai = a[i0, i1] - * ssum += ai * ai - * y[i0] = ssum # <<<<<<<<<<<<<< - * return y + * ai = a[i0] + * ssum += ai * ai # <<<<<<<<<<<<<< + * return np.float32(ssum) * */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - /* "ss.pyx":347 - * ssum += ai * ai - * y[i0] = ssum - * return y # <<<<<<<<<<<<<< + /* "ss.pyx":333 + * ai = a[i0] + * ssum += ai * ai + * return np.float32(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float32); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; goto __pyx_L0; - /* "ss.pyx":330 + /* "ss.pyx":323 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=1." - * cdef np.int64_t ssum = 0, ai + * def ss_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=float32 along axis=None." + * cdef np.float32_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":351 +/* "ss.pyx":337 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=float along axis=None." - * cdef np.float_t ssum = 0, ai + * def ss_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=float64 along axis=None." + * cdef np.float64_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_21ss_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_20ss_1d_float_axisNone[] = "ss_1d_float_axisNone(ndarray a)\nSum of squares of 1d array with dtype=float along axis=None."; -static PyMethodDef __pyx_mdef_2ss_21ss_1d_float_axisNone = {"ss_1d_float_axisNone", (PyCFunction)__pyx_pw_2ss_21ss_1d_float_axisNone, METH_O, __pyx_doc_2ss_20ss_1d_float_axisNone}; -static PyObject *__pyx_pw_2ss_21ss_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_21ss_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_20ss_1d_float64_axisNone[] = "ss_1d_float64_axisNone(ndarray a)\nSum of squares of 1d array with dtype=float64 along axis=None."; +static PyMethodDef __pyx_mdef_2ss_21ss_1d_float64_axisNone = {"ss_1d_float64_axisNone", (PyCFunction)__pyx_pw_2ss_21ss_1d_float64_axisNone, METH_O, __pyx_doc_2ss_20ss_1d_float64_axisNone}; +static PyObject *__pyx_pw_2ss_21ss_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_1d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_20ss_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_1d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_20ss_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4530,9 +4428,9 @@ static PyObject *__pyx_pw_2ss_21ss_1d_float_axisNone(PyObject *__pyx_self, PyObj return __pyx_r; } -static PyObject *__pyx_pf_2ss_20ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float_t __pyx_v_ssum; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_20ss_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float64_t __pyx_v_ssum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4551,27 +4449,27 @@ static PyObject *__pyx_pf_2ss_20ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__p int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("ss_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "ss.pyx":353 - * def ss_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): - * "Sum of squares of 1d array with dtype=float along axis=None." - * cdef np.float_t ssum = 0, ai # <<<<<<<<<<<<<< + /* "ss.pyx":339 + * def ss_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): + * "Sum of squares of 1d array with dtype=float64 along axis=None." + * cdef np.float64_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0.0; - /* "ss.pyx":356 + /* "ss.pyx":342 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4580,7 +4478,7 @@ static PyObject *__pyx_pf_2ss_20ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__p */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":357 + /* "ss.pyx":343 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4589,7 +4487,7 @@ static PyObject *__pyx_pf_2ss_20ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__p */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":358 + /* "ss.pyx":344 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4600,40 +4498,40 @@ static PyObject *__pyx_pf_2ss_20ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__p for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":359 + /* "ss.pyx":345 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< * ssum += ai * ai - * return np.float(ssum) + * return np.float64(ssum) */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "ss.pyx":360 + /* "ss.pyx":346 * for i0 in range(n0): * ai = a[i0] * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.float(ssum) + * return np.float64(ssum) * */ __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - /* "ss.pyx":361 + /* "ss.pyx":347 * ai = a[i0] * ssum += ai * ai - * return np.float(ssum) # <<<<<<<<<<<<<< + * return np.float64(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { @@ -4646,17 +4544,17 @@ static PyObject *__pyx_pf_2ss_20ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__p } } if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_4); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -4665,12 +4563,12 @@ static PyObject *__pyx_pf_2ss_20ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__p __pyx_t_4 = 0; goto __pyx_L0; - /* "ss.pyx":351 + /* "ss.pyx":337 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=float along axis=None." - * cdef np.float_t ssum = 0, ai + * def ss_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=float64 along axis=None." + * cdef np.float64_t ssum = 0, ai */ /* function exit code */ @@ -4684,7 +4582,7 @@ static PyObject *__pyx_pf_2ss_20ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__p __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4695,27 +4593,27 @@ static PyObject *__pyx_pf_2ss_20ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__p return __pyx_r; } -/* "ss.pyx":365 +/* "ss.pyx":351 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=float32 along axis=None." - * cdef np.float32_t ssum = 0, ai + * def ss_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=None." + * cdef np.float_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_23ss_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_22ss_1d_float32_axisNone[] = "ss_1d_float32_axisNone(ndarray a)\nSum of squares of 1d array with dtype=float32 along axis=None."; -static PyMethodDef __pyx_mdef_2ss_23ss_1d_float32_axisNone = {"ss_1d_float32_axisNone", (PyCFunction)__pyx_pw_2ss_23ss_1d_float32_axisNone, METH_O, __pyx_doc_2ss_22ss_1d_float32_axisNone}; -static PyObject *__pyx_pw_2ss_23ss_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_23ss_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_22ss_2d_float_axisNone[] = "ss_2d_float_axisNone(ndarray a)\nSum of squares of 2d array with dtype=float along axis=None."; +static PyMethodDef __pyx_mdef_2ss_23ss_2d_float_axisNone = {"ss_2d_float_axisNone", (PyCFunction)__pyx_pw_2ss_23ss_2d_float_axisNone, METH_O, __pyx_doc_2ss_22ss_2d_float_axisNone}; +static PyObject *__pyx_pw_2ss_23ss_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_1d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_22ss_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_22ss_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4726,12 +4624,14 @@ static PyObject *__pyx_pw_2ss_23ss_1d_float32_axisNone(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_2ss_22ss_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float32_t __pyx_v_ssum; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_22ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float_t __pyx_v_ssum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -4739,148 +4639,173 @@ static PyObject *__pyx_pf_2ss_22ss_1d_float32_axisNone(CYTHON_UNUSED PyObject *_ Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":367 - * def ss_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): - * "Sum of squares of 1d array with dtype=float32 along axis=None." - * cdef np.float32_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + /* "ss.pyx":353 + * def ss_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=float along axis=None." + * cdef np.float_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0.0; - /* "ss.pyx":370 - * cdef Py_ssize_t i0 + /* "ss.pyx":356 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":371 + /* "ss.pyx":357 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":372 + /* "ss.pyx":358 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "ss.pyx":359 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * ssum += ai * ai + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":373 - * cdef Py_ssize_t n0 = dim[0] + /* "ss.pyx":360 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * ssum += ai * ai - * return np.float32(ssum) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ssum += ai * ai */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "ss.pyx":374 + /* "ss.pyx":361 * for i0 in range(n0): - * ai = a[i0] - * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.float32(ssum) + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ssum += ai * ai + * return np.float(ssum) + */ + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "ss.pyx":362 + * for i1 in range(n1): + * ai = a[i0, i1] + * ssum += ai * ai # <<<<<<<<<<<<<< + * return np.float(ssum) * */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + } } - /* "ss.pyx":375 - * ai = a[i0] - * ssum += ai * ai - * return np.float32(ssum) # <<<<<<<<<<<<<< + /* "ss.pyx":363 + * ai = a[i0, i1] + * ssum += ai * ai + * return np.float(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float32); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __Pyx_DECREF_SET(__pyx_t_9, function); } } - if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "ss.pyx":365 + /* "ss.pyx":351 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=float32 along axis=None." - * cdef np.float32_t ssum = 0, ai + * def ss_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=None." + * cdef np.float_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4891,27 +4816,27 @@ static PyObject *__pyx_pf_2ss_22ss_1d_float32_axisNone(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "ss.pyx":379 +/* "ss.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=float64 along axis=None." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=None." + * cdef np.float32_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_25ss_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_24ss_1d_float64_axisNone[] = "ss_1d_float64_axisNone(ndarray a)\nSum of squares of 1d array with dtype=float64 along axis=None."; -static PyMethodDef __pyx_mdef_2ss_25ss_1d_float64_axisNone = {"ss_1d_float64_axisNone", (PyCFunction)__pyx_pw_2ss_25ss_1d_float64_axisNone, METH_O, __pyx_doc_2ss_24ss_1d_float64_axisNone}; -static PyObject *__pyx_pw_2ss_25ss_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_25ss_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_24ss_2d_float32_axisNone[] = "ss_2d_float32_axisNone(ndarray a)\nSum of squares of 2d array with dtype=float32 along axis=None."; +static PyMethodDef __pyx_mdef_2ss_25ss_2d_float32_axisNone = {"ss_2d_float32_axisNone", (PyCFunction)__pyx_pw_2ss_25ss_2d_float32_axisNone, METH_O, __pyx_doc_2ss_24ss_2d_float32_axisNone}; +static PyObject *__pyx_pw_2ss_25ss_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_1d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_24ss_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_24ss_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4922,12 +4847,14 @@ static PyObject *__pyx_pw_2ss_25ss_1d_float64_axisNone(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_2ss_24ss_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float64_t __pyx_v_ssum; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_24ss_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float32_t __pyx_v_ssum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -4935,148 +4862,173 @@ static PyObject *__pyx_pf_2ss_24ss_1d_float64_axisNone(CYTHON_UNUSED PyObject *_ Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_1d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":381 - * def ss_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): - * "Sum of squares of 1d array with dtype=float64 along axis=None." - * cdef np.float64_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + /* "ss.pyx":369 + * def ss_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=float32 along axis=None." + * cdef np.float32_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0.0; - /* "ss.pyx":384 - * cdef Py_ssize_t i0 + /* "ss.pyx":372 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":385 + /* "ss.pyx":373 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":386 + /* "ss.pyx":374 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "ss.pyx":375 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * ssum += ai * ai + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":387 - * cdef Py_ssize_t n0 = dim[0] + /* "ss.pyx":376 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * ssum += ai * ai - * return np.float64(ssum) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ssum += ai * ai */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "ss.pyx":388 + /* "ss.pyx":377 * for i0 in range(n0): - * ai = a[i0] - * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.float64(ssum) + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ssum += ai * ai + * return np.float32(ssum) + */ + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "ss.pyx":378 + * for i1 in range(n1): + * ai = a[i0, i1] + * ssum += ai * ai # <<<<<<<<<<<<<< + * return np.float32(ssum) * */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + } } - /* "ss.pyx":389 - * ai = a[i0] - * ssum += ai * ai - * return np.float64(ssum) # <<<<<<<<<<<<<< + /* "ss.pyx":379 + * ai = a[i0, i1] + * ssum += ai * ai + * return np.float32(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __Pyx_DECREF_SET(__pyx_t_9, function); } } - if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "ss.pyx":379 + /* "ss.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=float64 along axis=None." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=None." + * cdef np.float32_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5087,27 +5039,27 @@ static PyObject *__pyx_pf_2ss_24ss_1d_float64_axisNone(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "ss.pyx":393 +/* "ss.pyx":383 * @cython.boundscheck(False) - * @cython.wraparound(False) - * def ss_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=None." - * cdef np.float_t ssum = 0, ai + * @cython.wraparound(False) + * def ss_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=None." + * cdef np.float64_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_27ss_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_26ss_2d_float_axisNone[] = "ss_2d_float_axisNone(ndarray a)\nSum of squares of 2d array with dtype=float along axis=None."; -static PyMethodDef __pyx_mdef_2ss_27ss_2d_float_axisNone = {"ss_2d_float_axisNone", (PyCFunction)__pyx_pw_2ss_27ss_2d_float_axisNone, METH_O, __pyx_doc_2ss_26ss_2d_float_axisNone}; -static PyObject *__pyx_pw_2ss_27ss_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_27ss_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_26ss_2d_float64_axisNone[] = "ss_2d_float64_axisNone(ndarray a)\nSum of squares of 2d array with dtype=float64 along axis=None."; +static PyMethodDef __pyx_mdef_2ss_27ss_2d_float64_axisNone = {"ss_2d_float64_axisNone", (PyCFunction)__pyx_pw_2ss_27ss_2d_float64_axisNone, METH_O, __pyx_doc_2ss_26ss_2d_float64_axisNone}; +static PyObject *__pyx_pw_2ss_27ss_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_26ss_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_26ss_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5118,9 +5070,9 @@ static PyObject *__pyx_pw_2ss_27ss_2d_float_axisNone(PyObject *__pyx_self, PyObj return __pyx_r; } -static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float_t __pyx_v_ssum; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_26ss_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float64_t __pyx_v_ssum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -5144,27 +5096,27 @@ static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__p int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_float_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":395 - * def ss_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=float along axis=None." - * cdef np.float_t ssum = 0, ai # <<<<<<<<<<<<<< + /* "ss.pyx":385 + * def ss_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=float64 along axis=None." + * cdef np.float64_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0.0; - /* "ss.pyx":398 + /* "ss.pyx":388 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5173,7 +5125,7 @@ static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__p */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":399 + /* "ss.pyx":389 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5182,7 +5134,7 @@ static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__p */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":400 + /* "ss.pyx":390 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5191,7 +5143,7 @@ static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__p */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":401 + /* "ss.pyx":391 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5202,7 +5154,7 @@ static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__p for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":402 + /* "ss.pyx":392 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -5213,42 +5165,42 @@ static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__p for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "ss.pyx":403 + /* "ss.pyx":393 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * ssum += ai * ai - * return np.float(ssum) + * return np.float64(ssum) */ __pyx_t_5 = __pyx_v_i0; __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "ss.pyx":404 + /* "ss.pyx":394 * for i1 in range(n1): * ai = a[i0, i1] * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.float(ssum) + * return np.float64(ssum) * */ __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } } - /* "ss.pyx":405 + /* "ss.pyx":395 * ai = a[i0, i1] * ssum += ai * ai - * return np.float(ssum) # <<<<<<<<<<<<<< + * return np.float64(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_10 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { @@ -5261,17 +5213,17 @@ static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__p } } if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_7); } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -5280,12 +5232,12 @@ static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__p __pyx_t_7 = 0; goto __pyx_L0; - /* "ss.pyx":393 + /* "ss.pyx":383 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=None." - * cdef np.float_t ssum = 0, ai + * def ss_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=None." + * cdef np.float64_t ssum = 0, ai */ /* function exit code */ @@ -5299,7 +5251,7 @@ static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__p __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5310,27 +5262,27 @@ static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__p return __pyx_r; } -/* "ss.pyx":409 +/* "ss.pyx":399 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=None." - * cdef np.float32_t ssum = 0, ai + * def ss_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int along axis=None." + * cdef np.int_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_29ss_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_28ss_2d_float32_axisNone[] = "ss_2d_float32_axisNone(ndarray a)\nSum of squares of 2d array with dtype=float32 along axis=None."; -static PyMethodDef __pyx_mdef_2ss_29ss_2d_float32_axisNone = {"ss_2d_float32_axisNone", (PyCFunction)__pyx_pw_2ss_29ss_2d_float32_axisNone, METH_O, __pyx_doc_2ss_28ss_2d_float32_axisNone}; -static PyObject *__pyx_pw_2ss_29ss_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_29ss_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_28ss_1d_int_axisNone[] = "ss_1d_int_axisNone(ndarray a)\nSum of squares of 1d array with dtype=int along axis=None."; +static PyMethodDef __pyx_mdef_2ss_29ss_1d_int_axisNone = {"ss_1d_int_axisNone", (PyCFunction)__pyx_pw_2ss_29ss_1d_int_axisNone, METH_O, __pyx_doc_2ss_28ss_1d_int_axisNone}; +static PyObject *__pyx_pw_2ss_29ss_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_28ss_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_1d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_28ss_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5341,14 +5293,12 @@ static PyObject *__pyx_pw_2ss_29ss_2d_float32_axisNone(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_2ss_28ss_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float32_t __pyx_v_ssum; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_28ss_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int_t __pyx_v_ssum; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -5356,173 +5306,148 @@ static PyObject *__pyx_pf_2ss_28ss_2d_float32_axisNone(CYTHON_UNUSED PyObject *_ Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("ss_1d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "ss.pyx":411 - * def ss_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=float32 along axis=None." - * cdef np.float32_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "ss.pyx":401 + * def ss_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): + * "Sum of squares of 1d array with dtype=int along axis=None." + * cdef np.int_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0.0; + __pyx_v_ssum = 0; - /* "ss.pyx":414 - * cdef Py_ssize_t i0, i1 + /* "ss.pyx":404 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":415 + /* "ss.pyx":405 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":416 + /* "ss.pyx":406 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "ss.pyx":417 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * ssum += ai * ai */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":418 - * cdef Py_ssize_t n1 = dim[1] + /* "ss.pyx":407 + * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ssum += ai * ai + * ai = a[i0] # <<<<<<<<<<<<<< + * ssum += ai * ai + * return np.int(ssum) */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "ss.pyx":419 + /* "ss.pyx":408 * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ssum += ai * ai - * return np.float32(ssum) - */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "ss.pyx":420 - * for i1 in range(n1): - * ai = a[i0, i1] - * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.float32(ssum) + * ai = a[i0] + * ssum += ai * ai # <<<<<<<<<<<<<< + * return np.int(ssum) * */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); - } + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - /* "ss.pyx":421 - * ai = a[i0, i1] - * ssum += ai * ai - * return np.float32(ssum) # <<<<<<<<<<<<<< + /* "ss.pyx":409 + * ai = a[i0] + * ssum += ai * ai + * return np.int(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int_2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + __Pyx_DECREF_SET(__pyx_t_6, function); } } - if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_7); + if (!__pyx_t_7) { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; goto __pyx_L0; - /* "ss.pyx":409 + /* "ss.pyx":399 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=None." - * cdef np.float32_t ssum = 0, ai + * def ss_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int along axis=None." + * cdef np.int_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5533,27 +5458,27 @@ static PyObject *__pyx_pf_2ss_28ss_2d_float32_axisNone(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "ss.pyx":425 +/* "ss.pyx":413 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=None." - * cdef np.float64_t ssum = 0, ai + * def ss_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int8 along axis=None." + * cdef np.int8_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_31ss_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_30ss_2d_float64_axisNone[] = "ss_2d_float64_axisNone(ndarray a)\nSum of squares of 2d array with dtype=float64 along axis=None."; -static PyMethodDef __pyx_mdef_2ss_31ss_2d_float64_axisNone = {"ss_2d_float64_axisNone", (PyCFunction)__pyx_pw_2ss_31ss_2d_float64_axisNone, METH_O, __pyx_doc_2ss_30ss_2d_float64_axisNone}; -static PyObject *__pyx_pw_2ss_31ss_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_31ss_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_30ss_1d_int8_axisNone[] = "ss_1d_int8_axisNone(ndarray a)\nSum of squares of 1d array with dtype=int8 along axis=None."; +static PyMethodDef __pyx_mdef_2ss_31ss_1d_int8_axisNone = {"ss_1d_int8_axisNone", (PyCFunction)__pyx_pw_2ss_31ss_1d_int8_axisNone, METH_O, __pyx_doc_2ss_30ss_1d_int8_axisNone}; +static PyObject *__pyx_pw_2ss_31ss_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_30ss_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_1d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_30ss_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5564,14 +5489,12 @@ static PyObject *__pyx_pw_2ss_31ss_2d_float64_axisNone(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_2ss_30ss_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float64_t __pyx_v_ssum; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_30ss_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int8_t __pyx_v_ssum; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -5579,173 +5502,148 @@ static PyObject *__pyx_pf_2ss_30ss_2d_float64_axisNone(CYTHON_UNUSED PyObject *_ Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("ss_1d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "ss.pyx":427 - * def ss_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=float64 along axis=None." - * cdef np.float64_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "ss.pyx":415 + * def ss_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): + * "Sum of squares of 1d array with dtype=int8 along axis=None." + * cdef np.int8_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0.0; + __pyx_v_ssum = 0; - /* "ss.pyx":430 - * cdef Py_ssize_t i0, i1 + /* "ss.pyx":418 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":431 + /* "ss.pyx":419 * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "ss.pyx":432 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): + * ai = a[i0] */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":433 + /* "ss.pyx":420 + * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * ssum += ai * ai */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":434 - * cdef Py_ssize_t n1 = dim[1] + /* "ss.pyx":421 + * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ssum += ai * ai + * ai = a[i0] # <<<<<<<<<<<<<< + * ssum += ai * ai + * return np.int8(ssum) */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "ss.pyx":435 + /* "ss.pyx":422 * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ssum += ai * ai - * return np.float64(ssum) - */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "ss.pyx":436 - * for i1 in range(n1): - * ai = a[i0, i1] - * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.float64(ssum) + * ai = a[i0] + * ssum += ai * ai # <<<<<<<<<<<<<< + * return np.int8(ssum) * */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); - } + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - /* "ss.pyx":437 - * ai = a[i0, i1] - * ssum += ai * ai - * return np.float64(ssum) # <<<<<<<<<<<<<< + /* "ss.pyx":423 + * ai = a[i0] + * ssum += ai * ai + * return np.int8(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_From_npy_int8(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + __Pyx_DECREF_SET(__pyx_t_6, function); } } - if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_7); + if (!__pyx_t_7) { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; goto __pyx_L0; - /* "ss.pyx":425 + /* "ss.pyx":413 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=None." - * cdef np.float64_t ssum = 0, ai + * def ss_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int8 along axis=None." + * cdef np.int8_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5756,27 +5654,27 @@ static PyObject *__pyx_pf_2ss_30ss_2d_float64_axisNone(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "ss.pyx":441 +/* "ss.pyx":427 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=0." - * cdef np.float_t ssum = 0, ai + * def ss_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int32 along axis=None." + * cdef np.int32_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_33ss_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_32ss_2d_float_axis0[] = "ss_2d_float_axis0(ndarray a)\nSum of squares of 2d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_2ss_33ss_2d_float_axis0 = {"ss_2d_float_axis0", (PyCFunction)__pyx_pw_2ss_33ss_2d_float_axis0, METH_O, __pyx_doc_2ss_32ss_2d_float_axis0}; -static PyObject *__pyx_pw_2ss_33ss_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_33ss_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_32ss_1d_int32_axisNone[] = "ss_1d_int32_axisNone(ndarray a)\nSum of squares of 1d array with dtype=int32 along axis=None."; +static PyMethodDef __pyx_mdef_2ss_33ss_1d_int32_axisNone = {"ss_1d_int32_axisNone", (PyCFunction)__pyx_pw_2ss_33ss_1d_int32_axisNone, METH_O, __pyx_doc_2ss_32ss_1d_int32_axisNone}; +static PyObject *__pyx_pw_2ss_33ss_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_32ss_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_1d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_32ss_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5787,243 +5685,192 @@ static PyObject *__pyx_pw_2ss_33ss_2d_float_axis0(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2ss_32ss_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float_t __pyx_v_ssum; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_32ss_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int32_t __pyx_v_ssum; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_float_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("ss_1d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "ss.pyx":443 - * def ss_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=float along axis=0." - * cdef np.float_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "ss.pyx":429 + * def ss_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): + * "Sum of squares of 1d array with dtype=int32 along axis=None." + * cdef np.int32_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0.0; + __pyx_v_ssum = 0; - /* "ss.pyx":446 - * cdef Py_ssize_t i0, i1 + /* "ss.pyx":432 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":447 + /* "ss.pyx":433 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":448 + /* "ss.pyx":434 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "ss.pyx":449 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "ss.pyx":450 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "ss.pyx":452 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ssum = 0 - * for i0 in range(n0): - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "ss.pyx":453 - * NPY_float, 0) - * for i1 in range(n1): - * ssum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_ssum = 0.0; - - /* "ss.pyx":454 - * for i1 in range(n1): - * ssum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ssum += ai * ai - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "ss.pyx":455 - * ssum = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ssum += ai * ai - * y[i1] = ssum + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * ssum += ai * ai */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":456 - * for i0 in range(n0): - * ai = a[i0, i1] - * ssum += ai * ai # <<<<<<<<<<<<<< - * y[i1] = ssum - * return y + /* "ss.pyx":435 + * cdef Py_ssize_t n0 = dim[0] + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * ssum += ai * ai + * return np.int32(ssum) */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); - } + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "ss.pyx":457 - * ai = a[i0, i1] - * ssum += ai * ai - * y[i1] = ssum # <<<<<<<<<<<<<< - * return y + /* "ss.pyx":436 + * for i0 in range(n0): + * ai = a[i0] + * ssum += ai * ai # <<<<<<<<<<<<<< + * return np.int32(ssum) * */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - /* "ss.pyx":458 - * ssum += ai * ai - * y[i1] = ssum - * return y # <<<<<<<<<<<<<< + /* "ss.pyx":437 + * ai = a[i0] + * ssum += ai * ai + * return np.int32(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int32); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_From_npy_int32(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; goto __pyx_L0; - /* "ss.pyx":441 + /* "ss.pyx":427 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=0." - * cdef np.float_t ssum = 0, ai + * def ss_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int32 along axis=None." + * cdef np.int32_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":462 +/* "ss.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=1." - * cdef np.float_t ssum = 0, ai + * def ss_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int64 along axis=None." + * cdef np.int64_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_35ss_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_34ss_2d_float_axis1[] = "ss_2d_float_axis1(ndarray a)\nSum of squares of 2d array with dtype=float along axis=1."; -static PyMethodDef __pyx_mdef_2ss_35ss_2d_float_axis1 = {"ss_2d_float_axis1", (PyCFunction)__pyx_pw_2ss_35ss_2d_float_axis1, METH_O, __pyx_doc_2ss_34ss_2d_float_axis1}; -static PyObject *__pyx_pw_2ss_35ss_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_35ss_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_34ss_1d_int64_axisNone[] = "ss_1d_int64_axisNone(ndarray a)\nSum of squares of 1d array with dtype=int64 along axis=None."; +static PyMethodDef __pyx_mdef_2ss_35ss_1d_int64_axisNone = {"ss_1d_int64_axisNone", (PyCFunction)__pyx_pw_2ss_35ss_1d_int64_axisNone, METH_O, __pyx_doc_2ss_34ss_1d_int64_axisNone}; +static PyObject *__pyx_pw_2ss_35ss_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_float_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_34ss_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_1d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_34ss_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6034,243 +5881,192 @@ static PyObject *__pyx_pw_2ss_35ss_2d_float_axis1(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2ss_34ss_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float_t __pyx_v_ssum; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_34ss_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int64_t __pyx_v_ssum; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_float_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("ss_1d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "ss.pyx":464 - * def ss_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=float along axis=1." - * cdef np.float_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "ss.pyx":443 + * def ss_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): + * "Sum of squares of 1d array with dtype=int64 along axis=None." + * cdef np.int64_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0.0; + __pyx_v_ssum = 0; - /* "ss.pyx":467 - * cdef Py_ssize_t i0, i1 + /* "ss.pyx":446 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":468 + /* "ss.pyx":447 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":469 + /* "ss.pyx":448 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "ss.pyx":470 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "ss.pyx":471 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "ss.pyx":473 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * ssum = 0 - * for i1 in range(n1): + * ai = a[i0] + * ssum += ai * ai */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":474 - * NPY_float, 0) + /* "ss.pyx":449 + * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): - * ssum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] # <<<<<<<<<<<<<< + * ssum += ai * ai + * return np.int64(ssum) */ - __pyx_v_ssum = 0.0; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "ss.pyx":475 + /* "ss.pyx":450 * for i0 in range(n0): - * ssum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ssum += ai * ai - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "ss.pyx":476 - * ssum = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ssum += ai * ai - * y[i0] = ssum - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "ss.pyx":477 - * for i1 in range(n1): - * ai = a[i0, i1] - * ssum += ai * ai # <<<<<<<<<<<<<< - * y[i0] = ssum - * return y - */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); - } - - /* "ss.pyx":478 - * ai = a[i0, i1] - * ssum += ai * ai - * y[i0] = ssum # <<<<<<<<<<<<<< - * return y + * ai = a[i0] + * ssum += ai * ai # <<<<<<<<<<<<<< + * return np.int64(ssum) * */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; - } - - /* "ss.pyx":479 - * ssum += ai * ai - * y[i0] = ssum - * return y # <<<<<<<<<<<<<< + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + } + + /* "ss.pyx":451 + * ai = a[i0] + * ssum += ai * ai + * return np.int64(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_From_npy_int64(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; goto __pyx_L0; - /* "ss.pyx":462 + /* "ss.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=1." - * cdef np.float_t ssum = 0, ai + * def ss_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int64 along axis=None." + * cdef np.int64_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":483 +/* "ss.pyx":455 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=0." - * cdef np.float32_t ssum = 0, ai + * def ss_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=None." + * cdef np.int_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_37ss_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_36ss_2d_float32_axis0[] = "ss_2d_float32_axis0(ndarray a)\nSum of squares of 2d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_2ss_37ss_2d_float32_axis0 = {"ss_2d_float32_axis0", (PyCFunction)__pyx_pw_2ss_37ss_2d_float32_axis0, METH_O, __pyx_doc_2ss_36ss_2d_float32_axis0}; -static PyObject *__pyx_pw_2ss_37ss_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_37ss_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_36ss_2d_int_axisNone[] = "ss_2d_int_axisNone(ndarray a)\nSum of squares of 2d array with dtype=int along axis=None."; +static PyMethodDef __pyx_mdef_2ss_37ss_2d_int_axisNone = {"ss_2d_int_axisNone", (PyCFunction)__pyx_pw_2ss_37ss_2d_int_axisNone, METH_O, __pyx_doc_2ss_36ss_2d_int_axisNone}; +static PyObject *__pyx_pw_2ss_37ss_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_36ss_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_36ss_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6281,59 +6077,53 @@ static PyObject *__pyx_pw_2ss_37ss_2d_float32_axis0(PyObject *__pyx_self, PyObje return __pyx_r; } -static PyObject *__pyx_pf_2ss_36ss_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float32_t __pyx_v_ssum; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_36ss_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int_t __pyx_v_ssum; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_float32_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("ss_2d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":485 - * def ss_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=float32 along axis=0." - * cdef np.float32_t ssum = 0, ai # <<<<<<<<<<<<<< + /* "ss.pyx":457 + * def ss_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int along axis=None." + * cdef np.int_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0.0; + __pyx_v_ssum = 0; - /* "ss.pyx":488 + /* "ss.pyx":460 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6342,182 +6132,164 @@ static PyObject *__pyx_pf_2ss_36ss_2d_float32_axis0(CYTHON_UNUSED PyObject *__py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":489 + /* "ss.pyx":461 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * for i0 in range(n0): */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":490 + /* "ss.pyx":462 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): + * for i1 in range(n1): */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":491 + /* "ss.pyx":463 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "ss.pyx":492 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "ss.pyx":494 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ssum = 0 - * for i0 in range(n0): - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "ss.pyx":495 - * NPY_float32, 0) - * for i1 in range(n1): - * ssum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_ssum = 0.0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":496 - * for i1 in range(n1): - * ssum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "ss.pyx":464 + * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * ssum += ai * ai */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "ss.pyx":497 - * ssum = 0 - * for i0 in range(n0): + /* "ss.pyx":465 + * for i0 in range(n0): + * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * ssum += ai * ai - * y[i1] = ssum + * return np.int(ssum) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "ss.pyx":498 - * for i0 in range(n0): + /* "ss.pyx":466 + * for i1 in range(n1): * ai = a[i0, i1] * ssum += ai * ai # <<<<<<<<<<<<<< - * y[i1] = ssum - * return y + * return np.int(ssum) + * */ __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - - /* "ss.pyx":499 - * ai = a[i0, i1] - * ssum += ai * ai - * y[i1] = ssum # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } - /* "ss.pyx":500 + /* "ss.pyx":467 + * ai = a[i0, i1] * ssum += ai * ai - * y[i1] = ssum - * return y # <<<<<<<<<<<<<< + * return np.int(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int_2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyInt_From_npy_long(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "ss.pyx":483 + /* "ss.pyx":455 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=0." - * cdef np.float32_t ssum = 0, ai + * def ss_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=None." + * cdef np.int_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":504 +/* "ss.pyx":471 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=1." - * cdef np.float32_t ssum = 0, ai + * def ss_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=None." + * cdef np.int8_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_39ss_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_38ss_2d_float32_axis1[] = "ss_2d_float32_axis1(ndarray a)\nSum of squares of 2d array with dtype=float32 along axis=1."; -static PyMethodDef __pyx_mdef_2ss_39ss_2d_float32_axis1 = {"ss_2d_float32_axis1", (PyCFunction)__pyx_pw_2ss_39ss_2d_float32_axis1, METH_O, __pyx_doc_2ss_38ss_2d_float32_axis1}; -static PyObject *__pyx_pw_2ss_39ss_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_39ss_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_38ss_2d_int8_axisNone[] = "ss_2d_int8_axisNone(ndarray a)\nSum of squares of 2d array with dtype=int8 along axis=None."; +static PyMethodDef __pyx_mdef_2ss_39ss_2d_int8_axisNone = {"ss_2d_int8_axisNone", (PyCFunction)__pyx_pw_2ss_39ss_2d_int8_axisNone, METH_O, __pyx_doc_2ss_38ss_2d_int8_axisNone}; +static PyObject *__pyx_pw_2ss_39ss_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_float32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_38ss_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_38ss_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6528,59 +6300,53 @@ static PyObject *__pyx_pw_2ss_39ss_2d_float32_axis1(PyObject *__pyx_self, PyObje return __pyx_r; } -static PyObject *__pyx_pf_2ss_38ss_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float32_t __pyx_v_ssum; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_38ss_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int8_t __pyx_v_ssum; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_float32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("ss_2d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":506 - * def ss_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=float32 along axis=1." - * cdef np.float32_t ssum = 0, ai # <<<<<<<<<<<<<< + /* "ss.pyx":473 + * def ss_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int8 along axis=None." + * cdef np.int8_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0.0; + __pyx_v_ssum = 0; - /* "ss.pyx":509 + /* "ss.pyx":476 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6589,182 +6355,164 @@ static PyObject *__pyx_pf_2ss_38ss_2d_float32_axis1(CYTHON_UNUSED PyObject *__py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":510 + /* "ss.pyx":477 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * for i0 in range(n0): */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":511 + /* "ss.pyx":478 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): + * for i1 in range(n1): */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":512 + /* "ss.pyx":479 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "ss.pyx":513 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "ss.pyx":515 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * ssum = 0 - * for i1 in range(n1): - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "ss.pyx":516 - * NPY_float32, 0) - * for i0 in range(n0): - * ssum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_ssum = 0.0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":517 + /* "ss.pyx":480 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ssum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * ssum += ai * ai */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "ss.pyx":518 - * ssum = 0 + /* "ss.pyx":481 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * ssum += ai * ai - * y[i0] = ssum + * return np.int8(ssum) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "ss.pyx":519 + /* "ss.pyx":482 * for i1 in range(n1): * ai = a[i0, i1] * ssum += ai * ai # <<<<<<<<<<<<<< - * y[i0] = ssum - * return y + * return np.int8(ssum) + * */ __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - - /* "ss.pyx":520 - * ai = a[i0, i1] - * ssum += ai * ai - * y[i0] = ssum # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } - /* "ss.pyx":521 + /* "ss.pyx":483 + * ai = a[i0, i1] * ssum += ai * ai - * y[i0] = ssum - * return y # <<<<<<<<<<<<<< + * return np.int8(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyInt_From_npy_int8(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "ss.pyx":504 + /* "ss.pyx":471 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=1." - * cdef np.float32_t ssum = 0, ai + * def ss_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=None." + * cdef np.int8_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":525 +/* "ss.pyx":487 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=0." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=None." + * cdef np.int32_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_41ss_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_40ss_2d_float64_axis0[] = "ss_2d_float64_axis0(ndarray a)\nSum of squares of 2d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_2ss_41ss_2d_float64_axis0 = {"ss_2d_float64_axis0", (PyCFunction)__pyx_pw_2ss_41ss_2d_float64_axis0, METH_O, __pyx_doc_2ss_40ss_2d_float64_axis0}; -static PyObject *__pyx_pw_2ss_41ss_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_41ss_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_40ss_2d_int32_axisNone[] = "ss_2d_int32_axisNone(ndarray a)\nSum of squares of 2d array with dtype=int32 along axis=None."; +static PyMethodDef __pyx_mdef_2ss_41ss_2d_int32_axisNone = {"ss_2d_int32_axisNone", (PyCFunction)__pyx_pw_2ss_41ss_2d_int32_axisNone, METH_O, __pyx_doc_2ss_40ss_2d_int32_axisNone}; +static PyObject *__pyx_pw_2ss_41ss_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_40ss_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_40ss_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6775,59 +6523,53 @@ static PyObject *__pyx_pw_2ss_41ss_2d_float64_axis0(PyObject *__pyx_self, PyObje return __pyx_r; } -static PyObject *__pyx_pf_2ss_40ss_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float64_t __pyx_v_ssum; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_40ss_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int32_t __pyx_v_ssum; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_float64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("ss_2d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":527 - * def ss_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=float64 along axis=0." - * cdef np.float64_t ssum = 0, ai # <<<<<<<<<<<<<< + /* "ss.pyx":489 + * def ss_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int32 along axis=None." + * cdef np.int32_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0.0; + __pyx_v_ssum = 0; - /* "ss.pyx":530 + /* "ss.pyx":492 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6836,182 +6578,164 @@ static PyObject *__pyx_pf_2ss_40ss_2d_float64_axis0(CYTHON_UNUSED PyObject *__py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":531 + /* "ss.pyx":493 * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "ss.pyx":532 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "ss.pyx":533 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "ss.pyx":534 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * for i1 in range(n1): + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":536 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ssum = 0 - * for i0 in range(n0): + /* "ss.pyx":494 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":537 - * NPY_float64, 0) - * for i1 in range(n1): - * ssum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "ss.pyx":495 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_ssum = 0.0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":538 - * for i1 in range(n1): - * ssum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "ss.pyx":496 + * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * ssum += ai * ai */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "ss.pyx":539 - * ssum = 0 - * for i0 in range(n0): + /* "ss.pyx":497 + * for i0 in range(n0): + * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * ssum += ai * ai - * y[i1] = ssum + * return np.int32(ssum) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "ss.pyx":540 - * for i0 in range(n0): + /* "ss.pyx":498 + * for i1 in range(n1): * ai = a[i0, i1] * ssum += ai * ai # <<<<<<<<<<<<<< - * y[i1] = ssum - * return y + * return np.int32(ssum) + * */ __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - - /* "ss.pyx":541 - * ai = a[i0, i1] - * ssum += ai * ai - * y[i1] = ssum # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } - /* "ss.pyx":542 + /* "ss.pyx":499 + * ai = a[i0, i1] * ssum += ai * ai - * y[i1] = ssum - * return y # <<<<<<<<<<<<<< + * return np.int32(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyInt_From_npy_int32(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "ss.pyx":525 + /* "ss.pyx":487 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=0." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=None." + * cdef np.int32_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":546 +/* "ss.pyx":503 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=1." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=None." + * cdef np.int64_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_43ss_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_42ss_2d_float64_axis1[] = "ss_2d_float64_axis1(ndarray a)\nSum of squares of 2d array with dtype=float64 along axis=1."; -static PyMethodDef __pyx_mdef_2ss_43ss_2d_float64_axis1 = {"ss_2d_float64_axis1", (PyCFunction)__pyx_pw_2ss_43ss_2d_float64_axis1, METH_O, __pyx_doc_2ss_42ss_2d_float64_axis1}; -static PyObject *__pyx_pw_2ss_43ss_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_43ss_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_42ss_2d_int64_axisNone[] = "ss_2d_int64_axisNone(ndarray a)\nSum of squares of 2d array with dtype=int64 along axis=None."; +static PyMethodDef __pyx_mdef_2ss_43ss_2d_int64_axisNone = {"ss_2d_int64_axisNone", (PyCFunction)__pyx_pw_2ss_43ss_2d_int64_axisNone, METH_O, __pyx_doc_2ss_42ss_2d_int64_axisNone}; +static PyObject *__pyx_pw_2ss_43ss_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_float64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_42ss_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_42ss_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7022,59 +6746,53 @@ static PyObject *__pyx_pw_2ss_43ss_2d_float64_axis1(PyObject *__pyx_self, PyObje return __pyx_r; } -static PyObject *__pyx_pf_2ss_42ss_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float64_t __pyx_v_ssum; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_42ss_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int64_t __pyx_v_ssum; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_float64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("ss_2d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":548 - * def ss_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=float64 along axis=1." - * cdef np.float64_t ssum = 0, ai # <<<<<<<<<<<<<< + /* "ss.pyx":505 + * def ss_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int64 along axis=None." + * cdef np.int64_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0.0; + __pyx_v_ssum = 0; - /* "ss.pyx":551 + /* "ss.pyx":508 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7083,182 +6801,164 @@ static PyObject *__pyx_pf_2ss_42ss_2d_float64_axis1(CYTHON_UNUSED PyObject *__py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":552 + /* "ss.pyx":509 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * for i0 in range(n0): */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":553 + /* "ss.pyx":510 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): + * for i1 in range(n1): */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":554 + /* "ss.pyx":511 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "ss.pyx":555 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "ss.pyx":557 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * ssum = 0 - * for i1 in range(n1): - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "ss.pyx":558 - * NPY_float64, 0) - * for i0 in range(n0): - * ssum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_ssum = 0.0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":559 + /* "ss.pyx":512 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ssum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * ssum += ai * ai */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "ss.pyx":560 - * ssum = 0 + /* "ss.pyx":513 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * ssum += ai * ai - * y[i0] = ssum + * return np.int64(ssum) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "ss.pyx":561 + /* "ss.pyx":514 * for i1 in range(n1): * ai = a[i0, i1] * ssum += ai * ai # <<<<<<<<<<<<<< - * y[i0] = ssum - * return y + * return np.int64(ssum) + * */ __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - - /* "ss.pyx":562 - * ai = a[i0, i1] - * ssum += ai * ai - * y[i0] = ssum # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } - /* "ss.pyx":563 + /* "ss.pyx":515 + * ai = a[i0, i1] * ssum += ai * ai - * y[i0] = ssum - * return y # <<<<<<<<<<<<<< + * return np.int64(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyInt_From_npy_int64(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "ss.pyx":546 + /* "ss.pyx":503 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=1." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=None." + * cdef np.int64_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":567 +/* "ss.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int along axis=None." + * def ss_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=0." * cdef np.int_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_45ss_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_44ss_1d_int_axisNone[] = "ss_1d_int_axisNone(ndarray a)\nSum of squares of 1d array with dtype=int along axis=None."; -static PyMethodDef __pyx_mdef_2ss_45ss_1d_int_axisNone = {"ss_1d_int_axisNone", (PyCFunction)__pyx_pw_2ss_45ss_1d_int_axisNone, METH_O, __pyx_doc_2ss_44ss_1d_int_axisNone}; -static PyObject *__pyx_pw_2ss_45ss_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_45ss_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_44ss_2d_int_axis0[] = "ss_2d_int_axis0(ndarray a)\nSum of squares of 2d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_2ss_45ss_2d_int_axis0 = {"ss_2d_int_axis0", (PyCFunction)__pyx_pw_2ss_45ss_2d_int_axis0, METH_O, __pyx_doc_2ss_44ss_2d_int_axis0}; +static PyObject *__pyx_pw_2ss_45ss_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_1d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_44ss_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_44ss_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7269,192 +6969,243 @@ static PyObject *__pyx_pw_2ss_45ss_1d_int_axisNone(PyObject *__pyx_self, PyObjec return __pyx_r; } -static PyObject *__pyx_pf_2ss_44ss_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_2ss_44ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_int_t __pyx_v_ssum; __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_1d_int_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":569 - * def ss_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): - * "Sum of squares of 1d array with dtype=int along axis=None." + /* "ss.pyx":521 + * def ss_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int along axis=0." * cdef np.int_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0; - /* "ss.pyx":572 - * cdef Py_ssize_t i0 + /* "ss.pyx":524 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":573 + /* "ss.pyx":525 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":574 + /* "ss.pyx":526 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * ssum += ai * ai + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":575 + /* "ss.pyx":527 * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * ssum += ai * ai - * return np.int(ssum) + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "ss.pyx":576 - * for i0 in range(n0): - * ai = a[i0] - * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.int(ssum) - * + /* "ss.pyx":528 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int, 0) + * for i1 in range(n1): */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "ss.pyx":577 - * ai = a[i0] - * ssum += ai * ai - * return np.int(ssum) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + /* "ss.pyx":530 + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ssum = 0 + * for i0 in range(n0): */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int_2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "ss.pyx":531 + * NPY_int, 0) + * for i1 in range(n1): + * ssum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_ssum = 0; + + /* "ss.pyx":532 + * for i1 in range(n1): + * ssum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ssum += ai * ai + */ + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; + + /* "ss.pyx":533 + * ssum = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ssum += ai * ai + * y[i1] = ssum + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "ss.pyx":534 + * for i0 in range(n0): + * ai = a[i0, i1] + * ssum += ai * ai # <<<<<<<<<<<<<< + * y[i1] = ssum + * return y + */ + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } + + /* "ss.pyx":535 + * ai = a[i0, i1] + * ssum += ai * ai + * y[i1] = ssum # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } - if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + + /* "ss.pyx":536 + * ssum += ai * ai + * y[i1] = ssum + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "ss.pyx":567 + /* "ss.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int along axis=None." + * def ss_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=0." * cdef np.int_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":581 +/* "ss.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int8 along axis=None." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=1." + * cdef np.int_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_47ss_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_46ss_1d_int8_axisNone[] = "ss_1d_int8_axisNone(ndarray a)\nSum of squares of 1d array with dtype=int8 along axis=None."; -static PyMethodDef __pyx_mdef_2ss_47ss_1d_int8_axisNone = {"ss_1d_int8_axisNone", (PyCFunction)__pyx_pw_2ss_47ss_1d_int8_axisNone, METH_O, __pyx_doc_2ss_46ss_1d_int8_axisNone}; -static PyObject *__pyx_pw_2ss_47ss_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_47ss_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_46ss_2d_int_axis1[] = "ss_2d_int_axis1(ndarray a)\nSum of squares of 2d array with dtype=int along axis=1."; +static PyMethodDef __pyx_mdef_2ss_47ss_2d_int_axis1 = {"ss_2d_int_axis1", (PyCFunction)__pyx_pw_2ss_47ss_2d_int_axis1, METH_O, __pyx_doc_2ss_46ss_2d_int_axis1}; +static PyObject *__pyx_pw_2ss_47ss_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_1d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_46ss_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_46ss_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7465,192 +7216,243 @@ static PyObject *__pyx_pw_2ss_47ss_1d_int8_axisNone(PyObject *__pyx_self, PyObje return __pyx_r; } -static PyObject *__pyx_pf_2ss_46ss_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int8_t __pyx_v_ssum; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_46ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int_t __pyx_v_ssum; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_1d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":583 - * def ss_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): - * "Sum of squares of 1d array with dtype=int8 along axis=None." - * cdef np.int8_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + /* "ss.pyx":542 + * def ss_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int along axis=1." + * cdef np.int_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0; - /* "ss.pyx":586 - * cdef Py_ssize_t i0 + /* "ss.pyx":545 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":587 + /* "ss.pyx":546 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":588 + /* "ss.pyx":547 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * ssum += ai * ai + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":589 + /* "ss.pyx":548 * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "ss.pyx":549 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int, 0) * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * ssum += ai * ai - * return np.int8(ssum) */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "ss.pyx":551 + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ssum = 0 + * for i1 in range(n1): + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "ss.pyx":590 + /* "ss.pyx":552 + * NPY_int, 0) * for i0 in range(n0): - * ai = a[i0] - * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.int8(ssum) + * ssum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_ssum = 0; + + /* "ss.pyx":553 + * for i0 in range(n0): + * ssum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ssum += ai * ai + */ + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; + + /* "ss.pyx":554 + * ssum = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ssum += ai * ai + * y[i0] = ssum + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "ss.pyx":555 + * for i1 in range(n1): + * ai = a[i0, i1] + * ssum += ai * ai # <<<<<<<<<<<<<< + * y[i0] = ssum + * return y + */ + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + } + + /* "ss.pyx":556 + * ai = a[i0, i1] + * ssum += ai * ai + * y[i0] = ssum # <<<<<<<<<<<<<< + * return y * */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } - /* "ss.pyx":591 - * ai = a[i0] - * ssum += ai * ai - * return np.int8(ssum) # <<<<<<<<<<<<<< + /* "ss.pyx":557 + * ssum += ai * ai + * y[i0] = ssum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_From_npy_int8(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "ss.pyx":581 + /* "ss.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int8 along axis=None." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=1." + * cdef np.int_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":595 +/* "ss.pyx":561 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int32 along axis=None." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=0." + * cdef np.int8_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_49ss_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_48ss_1d_int32_axisNone[] = "ss_1d_int32_axisNone(ndarray a)\nSum of squares of 1d array with dtype=int32 along axis=None."; -static PyMethodDef __pyx_mdef_2ss_49ss_1d_int32_axisNone = {"ss_1d_int32_axisNone", (PyCFunction)__pyx_pw_2ss_49ss_1d_int32_axisNone, METH_O, __pyx_doc_2ss_48ss_1d_int32_axisNone}; -static PyObject *__pyx_pw_2ss_49ss_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_49ss_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_48ss_2d_int8_axis0[] = "ss_2d_int8_axis0(ndarray a)\nSum of squares of 2d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_2ss_49ss_2d_int8_axis0 = {"ss_2d_int8_axis0", (PyCFunction)__pyx_pw_2ss_49ss_2d_int8_axis0, METH_O, __pyx_doc_2ss_48ss_2d_int8_axis0}; +static PyObject *__pyx_pw_2ss_49ss_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_1d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_48ss_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_48ss_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7661,192 +7463,243 @@ static PyObject *__pyx_pw_2ss_49ss_1d_int32_axisNone(PyObject *__pyx_self, PyObj return __pyx_r; } -static PyObject *__pyx_pf_2ss_48ss_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int32_t __pyx_v_ssum; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_48ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int8_t __pyx_v_ssum; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_1d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_int8_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":597 - * def ss_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): - * "Sum of squares of 1d array with dtype=int32 along axis=None." - * cdef np.int32_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + /* "ss.pyx":563 + * def ss_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int8 along axis=0." + * cdef np.int8_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0; - /* "ss.pyx":600 - * cdef Py_ssize_t i0 + /* "ss.pyx":566 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":601 + /* "ss.pyx":567 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":602 + /* "ss.pyx":568 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * ssum += ai * ai + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":603 + /* "ss.pyx":569 * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * ssum += ai * ai - * return np.int32(ssum) + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "ss.pyx":604 - * for i0 in range(n0): - * ai = a[i0] - * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.int32(ssum) + /* "ss.pyx":570 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int8, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "ss.pyx":572 + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ssum = 0 + * for i0 in range(n0): + */ + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "ss.pyx":573 + * NPY_int8, 0) + * for i1 in range(n1): + * ssum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_ssum = 0; + + /* "ss.pyx":574 + * for i1 in range(n1): + * ssum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ssum += ai * ai + */ + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; + + /* "ss.pyx":575 + * ssum = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ssum += ai * ai + * y[i1] = ssum + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "ss.pyx":576 + * for i0 in range(n0): + * ai = a[i0, i1] + * ssum += ai * ai # <<<<<<<<<<<<<< + * y[i1] = ssum + * return y + */ + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + } + + /* "ss.pyx":577 + * ai = a[i0, i1] + * ssum += ai * ai + * y[i1] = ssum # <<<<<<<<<<<<<< + * return y * */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } - /* "ss.pyx":605 - * ai = a[i0] - * ssum += ai * ai - * return np.int32(ssum) # <<<<<<<<<<<<<< + /* "ss.pyx":578 + * ssum += ai * ai + * y[i1] = ssum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int32); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_From_npy_int32(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "ss.pyx":595 + /* "ss.pyx":561 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int32 along axis=None." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=0." + * cdef np.int8_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":609 +/* "ss.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int64 along axis=None." - * cdef np.int64_t ssum = 0, ai + * def ss_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=1." + * cdef np.int8_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_51ss_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_50ss_1d_int64_axisNone[] = "ss_1d_int64_axisNone(ndarray a)\nSum of squares of 1d array with dtype=int64 along axis=None."; -static PyMethodDef __pyx_mdef_2ss_51ss_1d_int64_axisNone = {"ss_1d_int64_axisNone", (PyCFunction)__pyx_pw_2ss_51ss_1d_int64_axisNone, METH_O, __pyx_doc_2ss_50ss_1d_int64_axisNone}; -static PyObject *__pyx_pw_2ss_51ss_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_51ss_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_50ss_2d_int8_axis1[] = "ss_2d_int8_axis1(ndarray a)\nSum of squares of 2d array with dtype=int8 along axis=1."; +static PyMethodDef __pyx_mdef_2ss_51ss_2d_int8_axis1 = {"ss_2d_int8_axis1", (PyCFunction)__pyx_pw_2ss_51ss_2d_int8_axis1, METH_O, __pyx_doc_2ss_50ss_2d_int8_axis1}; +static PyObject *__pyx_pw_2ss_51ss_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_1d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_50ss_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int8_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_50ss_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7857,192 +7710,243 @@ static PyObject *__pyx_pw_2ss_51ss_1d_int64_axisNone(PyObject *__pyx_self, PyObj return __pyx_r; } -static PyObject *__pyx_pf_2ss_50ss_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int64_t __pyx_v_ssum; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_50ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int8_t __pyx_v_ssum; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_1d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_int8_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":611 - * def ss_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): - * "Sum of squares of 1d array with dtype=int64 along axis=None." - * cdef np.int64_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + /* "ss.pyx":584 + * def ss_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int8 along axis=1." + * cdef np.int8_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0; - /* "ss.pyx":614 - * cdef Py_ssize_t i0 + /* "ss.pyx":587 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":615 + /* "ss.pyx":588 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":616 + /* "ss.pyx":589 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * ssum += ai * ai + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":617 + /* "ss.pyx":590 * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "ss.pyx":591 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int8, 0) * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * ssum += ai * ai - * return np.int64(ssum) */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "ss.pyx":593 + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ssum = 0 + * for i1 in range(n1): + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "ss.pyx":618 + /* "ss.pyx":594 + * NPY_int8, 0) * for i0 in range(n0): - * ai = a[i0] - * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.int64(ssum) + * ssum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_ssum = 0; + + /* "ss.pyx":595 + * for i0 in range(n0): + * ssum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ssum += ai * ai + */ + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; + + /* "ss.pyx":596 + * ssum = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ssum += ai * ai + * y[i0] = ssum + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "ss.pyx":597 + * for i1 in range(n1): + * ai = a[i0, i1] + * ssum += ai * ai # <<<<<<<<<<<<<< + * y[i0] = ssum + * return y + */ + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + } + + /* "ss.pyx":598 + * ai = a[i0, i1] + * ssum += ai * ai + * y[i0] = ssum # <<<<<<<<<<<<<< + * return y * */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } - /* "ss.pyx":619 - * ai = a[i0] - * ssum += ai * ai - * return np.int64(ssum) # <<<<<<<<<<<<<< + /* "ss.pyx":599 + * ssum += ai * ai + * y[i0] = ssum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_From_npy_int64(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "ss.pyx":609 + /* "ss.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int64 along axis=None." - * cdef np.int64_t ssum = 0, ai + * def ss_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=1." + * cdef np.int8_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":623 +/* "ss.pyx":603 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=None." - * cdef np.int_t ssum = 0, ai + * def ss_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=0." + * cdef np.int32_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_53ss_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_52ss_2d_int_axisNone[] = "ss_2d_int_axisNone(ndarray a)\nSum of squares of 2d array with dtype=int along axis=None."; -static PyMethodDef __pyx_mdef_2ss_53ss_2d_int_axisNone = {"ss_2d_int_axisNone", (PyCFunction)__pyx_pw_2ss_53ss_2d_int_axisNone, METH_O, __pyx_doc_2ss_52ss_2d_int_axisNone}; -static PyObject *__pyx_pw_2ss_53ss_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_53ss_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_52ss_2d_int32_axis0[] = "ss_2d_int32_axis0(ndarray a)\nSum of squares of 2d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_2ss_53ss_2d_int32_axis0 = {"ss_2d_int32_axis0", (PyCFunction)__pyx_pw_2ss_53ss_2d_int32_axis0, METH_O, __pyx_doc_2ss_52ss_2d_int32_axis0}; +static PyObject *__pyx_pw_2ss_53ss_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_52ss_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_52ss_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8053,53 +7957,59 @@ static PyObject *__pyx_pw_2ss_53ss_2d_int_axisNone(PyObject *__pyx_self, PyObjec return __pyx_r; } -static PyObject *__pyx_pf_2ss_52ss_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int_t __pyx_v_ssum; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_52ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int32_t __pyx_v_ssum; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_int32_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":625 - * def ss_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int along axis=None." - * cdef np.int_t ssum = 0, ai # <<<<<<<<<<<<<< + /* "ss.pyx":605 + * def ss_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int32 along axis=0." + * cdef np.int32_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0; - /* "ss.pyx":628 + /* "ss.pyx":608 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8108,164 +8018,182 @@ static PyObject *__pyx_pf_2ss_52ss_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":629 + /* "ss.pyx":609 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":630 + /* "ss.pyx":610 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":631 + /* "ss.pyx":611 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "ss.pyx":612 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int32, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "ss.pyx":614 + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ssum = 0 + * for i0 in range(n0): + */ + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "ss.pyx":615 + * NPY_int32, 0) + * for i1 in range(n1): + * ssum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * ai = a[i0, i1] */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_ssum = 0; - /* "ss.pyx":632 - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "ss.pyx":616 + * for i1 in range(n1): + * ssum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * ssum += ai * ai */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "ss.pyx":633 - * for i0 in range(n0): - * for i1 in range(n1): + /* "ss.pyx":617 + * ssum = 0 + * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * ssum += ai * ai - * return np.int(ssum) + * y[i1] = ssum */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "ss.pyx":634 - * for i1 in range(n1): + /* "ss.pyx":618 + * for i0 in range(n0): * ai = a[i0, i1] * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.int(ssum) - * + * y[i1] = ssum + * return y */ __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - } - /* "ss.pyx":635 + /* "ss.pyx":619 * ai = a[i0, i1] * ssum += ai * ai - * return np.int(ssum) # <<<<<<<<<<<<<< + * y[i1] = ssum # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + } + + /* "ss.pyx":620 + * ssum += ai * ai + * y[i1] = ssum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int_2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyInt_From_npy_long(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - } - } - if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_7); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "ss.pyx":623 + /* "ss.pyx":603 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=None." - * cdef np.int_t ssum = 0, ai + * def ss_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=0." + * cdef np.int32_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":639 +/* "ss.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=None." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=1." + * cdef np.int32_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_55ss_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_54ss_2d_int8_axisNone[] = "ss_2d_int8_axisNone(ndarray a)\nSum of squares of 2d array with dtype=int8 along axis=None."; -static PyMethodDef __pyx_mdef_2ss_55ss_2d_int8_axisNone = {"ss_2d_int8_axisNone", (PyCFunction)__pyx_pw_2ss_55ss_2d_int8_axisNone, METH_O, __pyx_doc_2ss_54ss_2d_int8_axisNone}; -static PyObject *__pyx_pw_2ss_55ss_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_55ss_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_54ss_2d_int32_axis1[] = "ss_2d_int32_axis1(ndarray a)\nSum of squares of 2d array with dtype=int32 along axis=1."; +static PyMethodDef __pyx_mdef_2ss_55ss_2d_int32_axis1 = {"ss_2d_int32_axis1", (PyCFunction)__pyx_pw_2ss_55ss_2d_int32_axis1, METH_O, __pyx_doc_2ss_54ss_2d_int32_axis1}; +static PyObject *__pyx_pw_2ss_55ss_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_54ss_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_54ss_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8276,53 +8204,59 @@ static PyObject *__pyx_pw_2ss_55ss_2d_int8_axisNone(PyObject *__pyx_self, PyObje return __pyx_r; } -static PyObject *__pyx_pf_2ss_54ss_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int8_t __pyx_v_ssum; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_54ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int32_t __pyx_v_ssum; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_int32_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":641 - * def ss_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int8 along axis=None." - * cdef np.int8_t ssum = 0, ai # <<<<<<<<<<<<<< + /* "ss.pyx":626 + * def ss_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int32 along axis=1." + * cdef np.int32_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0; - /* "ss.pyx":644 + /* "ss.pyx":629 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8331,164 +8265,182 @@ static PyObject *__pyx_pf_2ss_54ss_2d_int8_axisNone(CYTHON_UNUSED PyObject *__py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":645 + /* "ss.pyx":630 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":646 + /* "ss.pyx":631 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":647 + /* "ss.pyx":632 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "ss.pyx":633 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int32, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "ss.pyx":635 + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< + * ssum = 0 + * for i1 in range(n1): + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; + + /* "ss.pyx":636 + * NPY_int32, 0) + * for i0 in range(n0): + * ssum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_ssum = 0; - /* "ss.pyx":648 - * cdef Py_ssize_t n1 = dim[1] + /* "ss.pyx":637 * for i0 in range(n0): + * ssum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * ssum += ai * ai */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "ss.pyx":649 - * for i0 in range(n0): + /* "ss.pyx":638 + * ssum = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * ssum += ai * ai - * return np.int8(ssum) + * y[i0] = ssum */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "ss.pyx":650 + /* "ss.pyx":639 * for i1 in range(n1): * ai = a[i0, i1] * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.int8(ssum) - * + * y[i0] = ssum + * return y */ __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - } - /* "ss.pyx":651 + /* "ss.pyx":640 * ai = a[i0, i1] * ssum += ai * ai - * return np.int8(ssum) # <<<<<<<<<<<<<< + * y[i0] = ssum # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyInt_From_npy_int8(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - } - } - if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_7); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + + /* "ss.pyx":641 + * ssum += ai * ai + * y[i0] = ssum + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "ss.pyx":639 + /* "ss.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=None." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=1." + * cdef np.int32_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":655 +/* "ss.pyx":645 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=None." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=0." + * cdef np.int64_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_57ss_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_56ss_2d_int32_axisNone[] = "ss_2d_int32_axisNone(ndarray a)\nSum of squares of 2d array with dtype=int32 along axis=None."; -static PyMethodDef __pyx_mdef_2ss_57ss_2d_int32_axisNone = {"ss_2d_int32_axisNone", (PyCFunction)__pyx_pw_2ss_57ss_2d_int32_axisNone, METH_O, __pyx_doc_2ss_56ss_2d_int32_axisNone}; -static PyObject *__pyx_pw_2ss_57ss_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_57ss_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_56ss_2d_int64_axis0[] = "ss_2d_int64_axis0(ndarray a)\nSum of squares of 2d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_2ss_57ss_2d_int64_axis0 = {"ss_2d_int64_axis0", (PyCFunction)__pyx_pw_2ss_57ss_2d_int64_axis0, METH_O, __pyx_doc_2ss_56ss_2d_int64_axis0}; +static PyObject *__pyx_pw_2ss_57ss_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_56ss_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_56ss_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8499,53 +8451,59 @@ static PyObject *__pyx_pw_2ss_57ss_2d_int32_axisNone(PyObject *__pyx_self, PyObj return __pyx_r; } -static PyObject *__pyx_pf_2ss_56ss_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int32_t __pyx_v_ssum; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_56ss_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int64_t __pyx_v_ssum; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_int64_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":657 - * def ss_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int32 along axis=None." - * cdef np.int32_t ssum = 0, ai # <<<<<<<<<<<<<< + /* "ss.pyx":647 + * def ss_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int64 along axis=0." + * cdef np.int64_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0; - /* "ss.pyx":660 + /* "ss.pyx":650 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8554,164 +8512,182 @@ static PyObject *__pyx_pf_2ss_56ss_2d_int32_axisNone(CYTHON_UNUSED PyObject *__p */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":661 + /* "ss.pyx":651 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":662 + /* "ss.pyx":652 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":663 + /* "ss.pyx":653 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "ss.pyx":664 + /* "ss.pyx":654 * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int64, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "ss.pyx":656 + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ssum = 0 + * for i0 in range(n0): + */ + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "ss.pyx":657 + * NPY_int64, 0) + * for i1 in range(n1): + * ssum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_ssum = 0; + + /* "ss.pyx":658 + * for i1 in range(n1): + * ssum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * ssum += ai * ai */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "ss.pyx":665 - * for i0 in range(n0): - * for i1 in range(n1): + /* "ss.pyx":659 + * ssum = 0 + * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * ssum += ai * ai - * return np.int32(ssum) + * y[i1] = ssum */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "ss.pyx":666 - * for i1 in range(n1): + /* "ss.pyx":660 + * for i0 in range(n0): * ai = a[i0, i1] * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.int32(ssum) - * + * y[i1] = ssum + * return y */ __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - } - /* "ss.pyx":667 + /* "ss.pyx":661 * ai = a[i0, i1] * ssum += ai * ai - * return np.int32(ssum) # <<<<<<<<<<<<<< + * y[i1] = ssum # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + } + + /* "ss.pyx":662 + * ssum += ai * ai + * y[i1] = ssum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyInt_From_npy_int32(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - } - } - if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_7); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "ss.pyx":655 + /* "ss.pyx":645 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=None." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=0." + * cdef np.int64_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":671 +/* "ss.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=None." + * def ss_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=1." * cdef np.int64_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_59ss_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_58ss_2d_int64_axisNone[] = "ss_2d_int64_axisNone(ndarray a)\nSum of squares of 2d array with dtype=int64 along axis=None."; -static PyMethodDef __pyx_mdef_2ss_59ss_2d_int64_axisNone = {"ss_2d_int64_axisNone", (PyCFunction)__pyx_pw_2ss_59ss_2d_int64_axisNone, METH_O, __pyx_doc_2ss_58ss_2d_int64_axisNone}; -static PyObject *__pyx_pw_2ss_59ss_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_59ss_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_58ss_2d_int64_axis1[] = "ss_2d_int64_axis1(ndarray a)\nSum of squares of 2d array with dtype=int64 along axis=1."; +static PyMethodDef __pyx_mdef_2ss_59ss_2d_int64_axis1 = {"ss_2d_int64_axis1", (PyCFunction)__pyx_pw_2ss_59ss_2d_int64_axis1, METH_O, __pyx_doc_2ss_58ss_2d_int64_axis1}; +static PyObject *__pyx_pw_2ss_59ss_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_58ss_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_58ss_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8722,7 +8698,7 @@ static PyObject *__pyx_pw_2ss_59ss_2d_int64_axisNone(PyObject *__pyx_self, PyObj return __pyx_r; } -static PyObject *__pyx_pf_2ss_58ss_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_2ss_58ss_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_int64_t __pyx_v_ssum; __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; @@ -8730,45 +8706,51 @@ static PyObject *__pyx_pf_2ss_58ss_2d_int64_axisNone(CYTHON_UNUSED PyObject *__p npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_int64_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":673 - * def ss_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int64 along axis=None." + /* "ss.pyx":668 + * def ss_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int64 along axis=1." * cdef np.int64_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0; - /* "ss.pyx":676 + /* "ss.pyx":671 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8777,145 +8759,163 @@ static PyObject *__pyx_pf_2ss_58ss_2d_int64_axisNone(CYTHON_UNUSED PyObject *__p */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":677 + /* "ss.pyx":672 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":678 + /* "ss.pyx":673 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":679 + /* "ss.pyx":674 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "ss.pyx":675 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int64, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "ss.pyx":677 + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< + * ssum = 0 + * for i1 in range(n1): + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; + + /* "ss.pyx":678 + * NPY_int64, 0) + * for i0 in range(n0): + * ssum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_ssum = 0; - /* "ss.pyx":680 - * cdef Py_ssize_t n1 = dim[1] + /* "ss.pyx":679 * for i0 in range(n0): + * ssum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * ssum += ai * ai */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "ss.pyx":681 - * for i0 in range(n0): + /* "ss.pyx":680 + * ssum = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * ssum += ai * ai - * return np.int64(ssum) + * y[i0] = ssum */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "ss.pyx":682 + /* "ss.pyx":681 * for i1 in range(n1): * ai = a[i0, i1] * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.int64(ssum) - * + * y[i0] = ssum + * return y */ __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } + + /* "ss.pyx":682 + * ai = a[i0, i1] + * ssum += ai * ai + * y[i0] = ssum # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } /* "ss.pyx":683 - * ai = a[i0, i1] * ssum += ai * ai - * return np.int64(ssum) # <<<<<<<<<<<<<< + * y[i0] = ssum + * return y # <<<<<<<<<<<<<< * * cdef dict ss_dict = {} */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyInt_From_npy_int64(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - } - } - if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_7); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "ss.pyx":671 + /* "ss.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=None." + * def ss_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=1." * cdef np.int64_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "ss.pyx":722 - * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone + * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 * * def ss_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) ss along axis 0." @@ -8983,7 +8983,7 @@ static PyObject *__pyx_pf_2ss_60ss_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self goto __pyx_L0; /* "ss.pyx":722 - * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone + * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 * * def ss_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) ss along axis 0." @@ -11974,7 +11974,7 @@ static PyObject *__pyx_pf_2ss_126ss_slow_axisNone(CYTHON_UNUSED PyObject *__pyx_ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -12024,7 +12024,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -12037,7 +12037,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -12046,7 +12046,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -12055,7 +12055,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -12064,7 +12064,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -12074,7 +12074,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -12086,7 +12086,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -12097,7 +12097,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12113,7 +12113,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12125,7 +12125,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -12139,7 +12139,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12155,7 +12155,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12167,7 +12167,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -12181,7 +12181,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -12190,7 +12190,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -12199,7 +12199,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -12209,7 +12209,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -12218,7 +12218,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -12227,7 +12227,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -12238,7 +12238,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -12247,7 +12247,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -12260,7 +12260,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -12269,7 +12269,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -12280,7 +12280,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -12289,7 +12289,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -12298,7 +12298,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -12307,7 +12307,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -12316,7 +12316,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -12328,7 +12328,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -12337,7 +12337,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -12357,7 +12357,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -12373,7 +12373,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -12388,7 +12388,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -12398,7 +12398,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -12408,7 +12408,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -12431,7 +12431,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -12451,7 +12451,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -12465,7 +12465,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -12474,7 +12474,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -12485,7 +12485,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -12496,7 +12496,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -12507,7 +12507,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -12518,7 +12518,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -12529,7 +12529,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -12540,7 +12540,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -12551,7 +12551,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -12562,7 +12562,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -12573,7 +12573,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -12584,7 +12584,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -12595,7 +12595,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -12606,7 +12606,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -12617,7 +12617,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -12628,7 +12628,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -12639,7 +12639,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -12650,7 +12650,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -12662,7 +12662,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -12688,7 +12688,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -12697,7 +12697,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -12709,7 +12709,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -12718,7 +12718,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -12727,7 +12727,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -12736,7 +12736,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -12746,7 +12746,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -12756,7 +12756,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -12788,7 +12788,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -12812,7 +12812,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -12822,7 +12822,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -12834,7 +12834,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -12844,7 +12844,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -12856,7 +12856,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -12868,7 +12868,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -12885,7 +12885,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -12899,7 +12899,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -12918,7 +12918,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -12935,7 +12935,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -12949,7 +12949,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -12968,7 +12968,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -12985,7 +12985,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -12999,7 +12999,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13018,7 +13018,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13035,7 +13035,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -13049,7 +13049,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13068,7 +13068,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13085,7 +13085,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -13099,7 +13099,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13118,7 +13118,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -13150,7 +13150,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -13159,7 +13159,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -13168,7 +13168,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -13190,7 +13190,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -13203,7 +13203,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -13242,7 +13242,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -13259,7 +13259,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -13273,7 +13273,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -13296,7 +13296,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -13316,7 +13316,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -13330,7 +13330,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -13346,7 +13346,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -13355,7 +13355,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -13364,7 +13364,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -13375,7 +13375,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -13385,7 +13385,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -13395,7 +13395,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -13407,7 +13407,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -13417,7 +13417,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -13431,7 +13431,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -13449,7 +13449,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -13467,7 +13467,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -13485,7 +13485,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -13503,7 +13503,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -13521,7 +13521,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -13539,7 +13539,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -13557,7 +13557,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -13575,7 +13575,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -13593,7 +13593,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -13611,7 +13611,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -13629,7 +13629,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -13647,7 +13647,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -13665,7 +13665,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -13685,7 +13685,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -13705,7 +13705,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -13725,7 +13725,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -13744,7 +13744,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -13767,7 +13767,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -13779,7 +13779,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -13791,7 +13791,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -13801,7 +13801,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -13811,7 +13811,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -13836,7 +13836,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -13851,7 +13851,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -13862,7 +13862,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -13874,7 +13874,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -13883,7 +13883,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -13894,7 +13894,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -13903,7 +13903,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -13912,7 +13912,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -13924,7 +13924,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -13938,7 +13938,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -13948,7 +13948,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -13962,7 +13962,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -13973,7 +13973,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14011,7 +14011,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -14025,6 +14024,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_u_Sum_of_the_square_of_each_eleme, __pyx_k_Sum_of_the_square_of_each_eleme, sizeof(__pyx_k_Sum_of_the_square_of_each_eleme), 0, 1, 0, 0}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -14159,7 +14159,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -14170,7 +14170,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -14181,7 +14181,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14192,7 +14192,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -14203,7 +14203,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14214,7 +14214,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -14246,7 +14246,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":106 * return func(arr) @@ -14258,346 +14258,346 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_selector, 106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_selector, 106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=0." - * cdef np.int_t ssum = 0, ai + * def ss_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=0." + * cdef np.float_t ssum = 0, ai */ __pyx_tuple__13 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int_axis0, 183, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_float_axis0, 183, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":204 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=1." - * cdef np.int_t ssum = 0, ai + * def ss_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=1." + * cdef np.float_t ssum = 0, ai */ __pyx_tuple__15 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int_axis1, 204, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_float_axis1, 204, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":225 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=0." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=0." + * cdef np.float32_t ssum = 0, ai */ __pyx_tuple__17 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int8_axis0, 225, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_float32_axis0, 225, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":246 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=1." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=1." + * cdef np.float32_t ssum = 0, ai */ __pyx_tuple__19 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int8_axis1, 246, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_float32_axis1, 246, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":267 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=0." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=0." + * cdef np.float64_t ssum = 0, ai */ __pyx_tuple__21 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int32_axis0, 267, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_float64_axis0, 267, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":288 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=1." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=1." + * cdef np.float64_t ssum = 0, ai */ __pyx_tuple__23 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int32_axis1, 288, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_float64_axis1, 288, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":309 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=0." - * cdef np.int64_t ssum = 0, ai + * def ss_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=float along axis=None." + * cdef np.float_t ssum = 0, ai */ - __pyx_tuple__25 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int64_axis0, 309, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_1d_float_axisNone, 309, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":330 + /* "ss.pyx":323 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=1." - * cdef np.int64_t ssum = 0, ai + * def ss_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=float32 along axis=None." + * cdef np.float32_t ssum = 0, ai */ - __pyx_tuple__27 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int64_axis1, 330, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_1d_float32_axisNone, 323, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":351 + /* "ss.pyx":337 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=float along axis=None." - * cdef np.float_t ssum = 0, ai + * def ss_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=float64 along axis=None." + * cdef np.float64_t ssum = 0, ai */ - __pyx_tuple__29 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_1d_float_axisNone, 351, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_1d_float64_axisNone, 337, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":365 + /* "ss.pyx":351 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=float32 along axis=None." - * cdef np.float32_t ssum = 0, ai + * def ss_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=None." + * cdef np.float_t ssum = 0, ai */ - __pyx_tuple__31 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_1d_float32_axisNone, 365, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_float_axisNone, 351, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":379 + /* "ss.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=float64 along axis=None." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=None." + * cdef np.float32_t ssum = 0, ai */ - __pyx_tuple__33 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_1d_float64_axisNone, 379, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_float32_axisNone, 367, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":393 + /* "ss.pyx":383 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=None." - * cdef np.float_t ssum = 0, ai + * def ss_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=None." + * cdef np.float64_t ssum = 0, ai */ - __pyx_tuple__35 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_float_axisNone, 393, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_float64_axisNone, 383, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":409 + /* "ss.pyx":399 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=None." - * cdef np.float32_t ssum = 0, ai + * def ss_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int along axis=None." + * cdef np.int_t ssum = 0, ai */ - __pyx_tuple__37 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_float32_axisNone, 409, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_1d_int_axisNone, 399, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":425 + /* "ss.pyx":413 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=None." - * cdef np.float64_t ssum = 0, ai + * def ss_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int8 along axis=None." + * cdef np.int8_t ssum = 0, ai */ - __pyx_tuple__39 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_float64_axisNone, 425, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_1d_int8_axisNone, 413, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":441 + /* "ss.pyx":427 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=0." - * cdef np.float_t ssum = 0, ai + * def ss_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int32 along axis=None." + * cdef np.int32_t ssum = 0, ai */ - __pyx_tuple__41 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_float_axis0, 441, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_1d_int32_axisNone, 427, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":462 + /* "ss.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=1." - * cdef np.float_t ssum = 0, ai + * def ss_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int64 along axis=None." + * cdef np.int64_t ssum = 0, ai */ - __pyx_tuple__43 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_float_axis1, 462, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_1d_int64_axisNone, 441, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":483 + /* "ss.pyx":455 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=0." - * cdef np.float32_t ssum = 0, ai + * def ss_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=None." + * cdef np.int_t ssum = 0, ai */ - __pyx_tuple__45 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_float32_axis0, 483, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int_axisNone, 455, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":504 + /* "ss.pyx":471 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=1." - * cdef np.float32_t ssum = 0, ai + * def ss_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=None." + * cdef np.int8_t ssum = 0, ai */ - __pyx_tuple__47 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_float32_axis1, 504, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int8_axisNone, 471, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":525 + /* "ss.pyx":487 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=0." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=None." + * cdef np.int32_t ssum = 0, ai */ - __pyx_tuple__49 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_float64_axis0, 525, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int32_axisNone, 487, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":546 + /* "ss.pyx":503 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=1." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=None." + * cdef np.int64_t ssum = 0, ai */ - __pyx_tuple__51 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_float64_axis1, 546, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int64_axisNone, 503, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":567 + /* "ss.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int along axis=None." + * def ss_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=0." * cdef np.int_t ssum = 0, ai */ - __pyx_tuple__53 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_1d_int_axisNone, 567, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int_axis0, 519, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":581 + /* "ss.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int8 along axis=None." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=1." + * cdef np.int_t ssum = 0, ai */ - __pyx_tuple__55 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_1d_int8_axisNone, 581, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int_axis1, 540, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":595 + /* "ss.pyx":561 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int32 along axis=None." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=0." + * cdef np.int8_t ssum = 0, ai */ - __pyx_tuple__57 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_1d_int32_axisNone, 595, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int8_axis0, 561, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":609 + /* "ss.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int64 along axis=None." - * cdef np.int64_t ssum = 0, ai + * def ss_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=1." + * cdef np.int8_t ssum = 0, ai */ - __pyx_tuple__59 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_1d_int64_axisNone, 609, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int8_axis1, 582, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":623 + /* "ss.pyx":603 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=None." - * cdef np.int_t ssum = 0, ai + * def ss_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=0." + * cdef np.int32_t ssum = 0, ai */ - __pyx_tuple__61 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int_axisNone, 623, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int32_axis0, 603, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":639 + /* "ss.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=None." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=1." + * cdef np.int32_t ssum = 0, ai */ - __pyx_tuple__63 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int8_axisNone, 639, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int32_axis1, 624, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":655 + /* "ss.pyx":645 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=None." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=0." + * cdef np.int64_t ssum = 0, ai */ - __pyx_tuple__65 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int32_axisNone, 655, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int64_axis0, 645, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":671 + /* "ss.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=None." + * def ss_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=1." * cdef np.int64_t ssum = 0, ai */ - __pyx_tuple__67 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int64_axisNone, 671, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int64_axis1, 666, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":722 - * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone + * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 * * def ss_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) ss along axis 0." @@ -14606,7 +14606,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis0, 722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis0, 722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":726 * return bn.slow.ss(arr, axis=0) @@ -14618,7 +14618,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis1, 726, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis1, 726, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":730 * return bn.slow.ss(arr, axis=1) @@ -14630,7 +14630,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis2, 730, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis2, 730, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":734 * return bn.slow.ss(arr, axis=2) @@ -14642,7 +14642,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis3, 734, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis3, 734, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":738 * return bn.slow.ss(arr, axis=3) @@ -14654,7 +14654,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis4, 738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis4, 738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":742 * return bn.slow.ss(arr, axis=4) @@ -14666,7 +14666,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis5, 742, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis5, 742, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":746 * return bn.slow.ss(arr, axis=5) @@ -14678,7 +14678,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis6, 746, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis6, 746, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":750 * return bn.slow.ss(arr, axis=6) @@ -14690,7 +14690,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis7, 750, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis7, 750, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":754 * return bn.slow.ss(arr, axis=7) @@ -14702,7 +14702,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis8, 754, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis8, 754, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":758 * return bn.slow.ss(arr, axis=8) @@ -14714,7 +14714,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis9, 758, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis9, 758, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":762 * return bn.slow.ss(arr, axis=9) @@ -14726,7 +14726,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis10, 762, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis10, 762, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":766 * return bn.slow.ss(arr, axis=10) @@ -14738,7 +14738,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis11, 766, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis11, 766, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":770 * return bn.slow.ss(arr, axis=11) @@ -14750,7 +14750,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis12, 770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis12, 770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":774 * return bn.slow.ss(arr, axis=12) @@ -14762,7 +14762,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis13, 774, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis13, 774, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":778 * return bn.slow.ss(arr, axis=13) @@ -14774,7 +14774,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis14, 778, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis14, 778, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":782 * return bn.slow.ss(arr, axis=14) @@ -14786,7 +14786,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis15, 782, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis15, 782, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":786 * return bn.slow.ss(arr, axis=15) @@ -14798,7 +14798,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis16, 786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis16, 786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":790 * return bn.slow.ss(arr, axis=16) @@ -14810,7 +14810,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis17, 790, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis17, 790, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":794 * return bn.slow.ss(arr, axis=17) @@ -14822,7 +14822,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis18, 794, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis18, 794, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":798 * return bn.slow.ss(arr, axis=18) @@ -14834,7 +14834,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis19, 798, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis19, 798, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":802 * return bn.slow.ss(arr, axis=19) @@ -14846,7 +14846,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis20, 802, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis20, 802, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":806 * return bn.slow.ss(arr, axis=20) @@ -14858,7 +14858,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis21, 806, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis21, 806, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":810 * return bn.slow.ss(arr, axis=21) @@ -14870,7 +14870,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis22, 810, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis22, 810, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":814 * return bn.slow.ss(arr, axis=22) @@ -14882,7 +14882,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis23, 814, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis23, 814, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":818 * return bn.slow.ss(arr, axis=23) @@ -14894,7 +14894,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis24, 818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis24, 818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":822 * return bn.slow.ss(arr, axis=24) @@ -14906,7 +14906,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis25, 822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis25, 822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":826 * return bn.slow.ss(arr, axis=25) @@ -14918,7 +14918,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis26, 826, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis26, 826, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":830 * return bn.slow.ss(arr, axis=26) @@ -14930,7 +14930,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis27, 830, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis27, 830, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":834 * return bn.slow.ss(arr, axis=27) @@ -14942,7 +14942,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis28, 834, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis28, 834, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":838 * return bn.slow.ss(arr, axis=28) @@ -14954,7 +14954,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis29, 838, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis29, 838, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":842 * return bn.slow.ss(arr, axis=29) @@ -14966,7 +14966,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis30, 842, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis30, 842, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":846 * return bn.slow.ss(arr, axis=30) @@ -14978,7 +14978,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis31, 846, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis31, 846, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":850 * return bn.slow.ss(arr, axis=31) @@ -14990,7 +14990,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis32, 850, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis32, 850, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":854 * return bn.slow.ss(arr, axis=32) @@ -15002,7 +15002,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axisNone, 854, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axisNone, 854, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -15968,345 +15968,345 @@ PyMODINIT_FUNC PyInit_ss(void) /* "ss.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=0." - * cdef np.int_t ssum = 0, ai + * def ss_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=0." + * cdef np.float_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_5ss_2d_int_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_5ss_2d_float_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":204 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=1." - * cdef np.int_t ssum = 0, ai + * def ss_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=1." + * cdef np.float_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_7ss_2d_int_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_7ss_2d_float_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":225 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=0." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=0." + * cdef np.float32_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_9ss_2d_int8_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_9ss_2d_float32_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":246 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=1." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=1." + * cdef np.float32_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_11ss_2d_int8_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_11ss_2d_float32_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":267 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=0." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=0." + * cdef np.float64_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_13ss_2d_int32_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_13ss_2d_float64_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":288 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=1." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=1." + * cdef np.float64_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_15ss_2d_int32_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_15ss_2d_float64_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":309 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=0." - * cdef np.int64_t ssum = 0, ai - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_17ss_2d_int64_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "ss.pyx":330 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def ss_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=1." - * cdef np.int64_t ssum = 0, ai - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_19ss_2d_int64_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "ss.pyx":351 - * @cython.boundscheck(False) - * @cython.wraparound(False) * def ss_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< * "Sum of squares of 1d array with dtype=float along axis=None." * cdef np.float_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_21ss_1d_float_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_17ss_1d_float_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":365 + /* "ss.pyx":323 * @cython.boundscheck(False) * @cython.wraparound(False) * def ss_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< * "Sum of squares of 1d array with dtype=float32 along axis=None." * cdef np.float32_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_23ss_1d_float32_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_19ss_1d_float32_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":379 + /* "ss.pyx":337 * @cython.boundscheck(False) * @cython.wraparound(False) * def ss_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< * "Sum of squares of 1d array with dtype=float64 along axis=None." * cdef np.float64_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_25ss_1d_float64_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_21ss_1d_float64_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":393 + /* "ss.pyx":351 * @cython.boundscheck(False) * @cython.wraparound(False) * def ss_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< * "Sum of squares of 2d array with dtype=float along axis=None." * cdef np.float_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_27ss_2d_float_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_23ss_2d_float_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":409 + /* "ss.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) * def ss_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< * "Sum of squares of 2d array with dtype=float32 along axis=None." * cdef np.float32_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_29ss_2d_float32_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_25ss_2d_float32_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":425 + /* "ss.pyx":383 * @cython.boundscheck(False) * @cython.wraparound(False) * def ss_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< * "Sum of squares of 2d array with dtype=float64 along axis=None." * cdef np.float64_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_31ss_2d_float64_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_27ss_2d_float64_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":441 + /* "ss.pyx":399 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=0." - * cdef np.float_t ssum = 0, ai + * def ss_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int along axis=None." + * cdef np.int_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_33ss_2d_float_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_29ss_1d_int_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":462 + /* "ss.pyx":413 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=1." - * cdef np.float_t ssum = 0, ai + * def ss_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int8 along axis=None." + * cdef np.int8_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_35ss_2d_float_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_31ss_1d_int8_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":483 + /* "ss.pyx":427 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=0." - * cdef np.float32_t ssum = 0, ai + * def ss_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int32 along axis=None." + * cdef np.int32_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_37ss_2d_float32_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_33ss_1d_int32_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":504 + /* "ss.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=1." - * cdef np.float32_t ssum = 0, ai + * def ss_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int64 along axis=None." + * cdef np.int64_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_39ss_2d_float32_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_35ss_1d_int64_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":525 + /* "ss.pyx":455 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=0." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=None." + * cdef np.int_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_41ss_2d_float64_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_37ss_2d_int_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":546 + /* "ss.pyx":471 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=1." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=None." + * cdef np.int8_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_43ss_2d_float64_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_39ss_2d_int8_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":567 + /* "ss.pyx":487 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int along axis=None." - * cdef np.int_t ssum = 0, ai + * def ss_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=None." + * cdef np.int32_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_45ss_1d_int_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_41ss_2d_int32_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":581 + /* "ss.pyx":503 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int8 along axis=None." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=None." + * cdef np.int64_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_47ss_1d_int8_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_43ss_2d_int64_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":595 + /* "ss.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int32 along axis=None." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=0." + * cdef np.int_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_49ss_1d_int32_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_45ss_2d_int_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":609 + /* "ss.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int64 along axis=None." - * cdef np.int64_t ssum = 0, ai + * def ss_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=1." + * cdef np.int_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_51ss_1d_int64_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_47ss_2d_int_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":623 + /* "ss.pyx":561 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=None." - * cdef np.int_t ssum = 0, ai + * def ss_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=0." + * cdef np.int8_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_53ss_2d_int_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_49ss_2d_int8_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":639 + /* "ss.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=None." + * def ss_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=1." * cdef np.int8_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_55ss_2d_int8_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_51ss_2d_int8_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":655 + /* "ss.pyx":603 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=None." + * def ss_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=0." * cdef np.int32_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_57ss_2d_int32_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_53ss_2d_int32_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":671 + /* "ss.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=None." + * def ss_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=1." + * cdef np.int32_t ssum = 0, ai + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_55ss_2d_int32_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "ss.pyx":645 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def ss_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=0." + * cdef np.int64_t ssum = 0, ai + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_57ss_2d_int64_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "ss.pyx":666 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def ss_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=1." * cdef np.int64_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_59ss_2d_int64_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_59ss_2d_int64_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":685 - * return np.int64(ssum) + * return y * * cdef dict ss_dict = {} # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int, 0)] = ss_2d_int_axis0 - * ss_dict[(2, NPY_int, 1)] = ss_2d_int_axis1 + * ss_dict[(2, NPY_float, 0)] = ss_2d_float_axis0 + * ss_dict[(2, NPY_float, 1)] = ss_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -16318,17 +16318,17 @@ PyMODINIT_FUNC PyInit_ss(void) /* "ss.pyx":686 * * cdef dict ss_dict = {} - * ss_dict[(2, NPY_int, 0)] = ss_2d_int_axis0 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int, 1)] = ss_2d_int_axis1 - * ss_dict[(2, NPY_int8, 0)] = ss_2d_int8_axis0 + * ss_dict[(2, NPY_float, 0)] = ss_2d_float_axis0 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float, 1)] = ss_2d_float_axis1 + * ss_dict[(2, NPY_float32, 0)] = ss_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16347,18 +16347,18 @@ PyMODINIT_FUNC PyInit_ss(void) /* "ss.pyx":687 * cdef dict ss_dict = {} - * ss_dict[(2, NPY_int, 0)] = ss_2d_int_axis0 - * ss_dict[(2, NPY_int, 1)] = ss_2d_int_axis1 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int8, 0)] = ss_2d_int8_axis0 - * ss_dict[(2, NPY_int8, 1)] = ss_2d_int8_axis1 + * ss_dict[(2, NPY_float, 0)] = ss_2d_float_axis0 + * ss_dict[(2, NPY_float, 1)] = ss_2d_float_axis1 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float32, 0)] = ss_2d_float32_axis0 + * ss_dict[(2, NPY_float32, 1)] = ss_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16376,19 +16376,19 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":688 - * ss_dict[(2, NPY_int, 0)] = ss_2d_int_axis0 - * ss_dict[(2, NPY_int, 1)] = ss_2d_int_axis1 - * ss_dict[(2, NPY_int8, 0)] = ss_2d_int8_axis0 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int8, 1)] = ss_2d_int8_axis1 - * ss_dict[(2, NPY_int32, 0)] = ss_2d_int32_axis0 + * ss_dict[(2, NPY_float, 0)] = ss_2d_float_axis0 + * ss_dict[(2, NPY_float, 1)] = ss_2d_float_axis1 + * ss_dict[(2, NPY_float32, 0)] = ss_2d_float32_axis0 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float32, 1)] = ss_2d_float32_axis1 + * ss_dict[(2, NPY_float64, 0)] = ss_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16406,19 +16406,19 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":689 - * ss_dict[(2, NPY_int, 1)] = ss_2d_int_axis1 - * ss_dict[(2, NPY_int8, 0)] = ss_2d_int8_axis0 - * ss_dict[(2, NPY_int8, 1)] = ss_2d_int8_axis1 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int32, 0)] = ss_2d_int32_axis0 - * ss_dict[(2, NPY_int32, 1)] = ss_2d_int32_axis1 + * ss_dict[(2, NPY_float, 1)] = ss_2d_float_axis1 + * ss_dict[(2, NPY_float32, 0)] = ss_2d_float32_axis0 + * ss_dict[(2, NPY_float32, 1)] = ss_2d_float32_axis1 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float64, 0)] = ss_2d_float64_axis0 + * ss_dict[(2, NPY_float64, 1)] = ss_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16436,19 +16436,19 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":690 - * ss_dict[(2, NPY_int8, 0)] = ss_2d_int8_axis0 - * ss_dict[(2, NPY_int8, 1)] = ss_2d_int8_axis1 - * ss_dict[(2, NPY_int32, 0)] = ss_2d_int32_axis0 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int32, 1)] = ss_2d_int32_axis1 - * ss_dict[(2, NPY_int64, 0)] = ss_2d_int64_axis0 + * ss_dict[(2, NPY_float32, 0)] = ss_2d_float32_axis0 + * ss_dict[(2, NPY_float32, 1)] = ss_2d_float32_axis1 + * ss_dict[(2, NPY_float64, 0)] = ss_2d_float64_axis0 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float64, 1)] = ss_2d_float64_axis1 + * ss_dict[(1, NPY_float, 0)] = ss_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16466,19 +16466,19 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":691 - * ss_dict[(2, NPY_int8, 1)] = ss_2d_int8_axis1 - * ss_dict[(2, NPY_int32, 0)] = ss_2d_int32_axis0 - * ss_dict[(2, NPY_int32, 1)] = ss_2d_int32_axis1 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int64, 0)] = ss_2d_int64_axis0 - * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 + * ss_dict[(2, NPY_float32, 1)] = ss_2d_float32_axis1 + * ss_dict[(2, NPY_float64, 0)] = ss_2d_float64_axis0 + * ss_dict[(2, NPY_float64, 1)] = ss_2d_float64_axis1 # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float, 0)] = ss_1d_float_axisNone + * ss_dict[(1, NPY_float, None)] = ss_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16496,25 +16496,25 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":692 - * ss_dict[(2, NPY_int32, 0)] = ss_2d_int32_axis0 - * ss_dict[(2, NPY_int32, 1)] = ss_2d_int32_axis1 - * ss_dict[(2, NPY_int64, 0)] = ss_2d_int64_axis0 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 - * ss_dict[(1, NPY_float, 0)] = ss_1d_float_axisNone + * ss_dict[(2, NPY_float64, 0)] = ss_2d_float64_axis0 + * ss_dict[(2, NPY_float64, 1)] = ss_2d_float64_axis1 + * ss_dict[(1, NPY_float, 0)] = ss_1d_float_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float, None)] = ss_1d_float_axisNone + * ss_dict[(1, NPY_float32, 0)] = ss_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -16526,49 +16526,49 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":693 - * ss_dict[(2, NPY_int32, 1)] = ss_2d_int32_axis1 - * ss_dict[(2, NPY_int64, 0)] = ss_2d_int64_axis0 - * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float64, 1)] = ss_2d_float64_axis1 * ss_dict[(1, NPY_float, 0)] = ss_1d_float_axisNone - * ss_dict[(1, NPY_float, None)] = ss_1d_float_axisNone + * ss_dict[(1, NPY_float, None)] = ss_1d_float_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float32, 0)] = ss_1d_float32_axisNone + * ss_dict[(1, NPY_float32, None)] = ss_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":694 - * ss_dict[(2, NPY_int64, 0)] = ss_2d_int64_axis0 - * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 - * ss_dict[(1, NPY_float, 0)] = ss_1d_float_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float, 0)] = ss_1d_float_axisNone * ss_dict[(1, NPY_float, None)] = ss_1d_float_axisNone - * ss_dict[(1, NPY_float32, 0)] = ss_1d_float32_axisNone + * ss_dict[(1, NPY_float32, 0)] = ss_1d_float32_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float32, None)] = ss_1d_float32_axisNone + * ss_dict[(1, NPY_float64, 0)] = ss_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16586,19 +16586,19 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":695 - * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 - * ss_dict[(1, NPY_float, 0)] = ss_1d_float_axisNone - * ss_dict[(1, NPY_float, None)] = ss_1d_float_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float, None)] = ss_1d_float_axisNone * ss_dict[(1, NPY_float32, 0)] = ss_1d_float32_axisNone - * ss_dict[(1, NPY_float32, None)] = ss_1d_float32_axisNone + * ss_dict[(1, NPY_float32, None)] = ss_1d_float32_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float64, 0)] = ss_1d_float64_axisNone + * ss_dict[(1, NPY_float64, None)] = ss_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16616,19 +16616,19 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":696 - * ss_dict[(1, NPY_float, 0)] = ss_1d_float_axisNone - * ss_dict[(1, NPY_float, None)] = ss_1d_float_axisNone - * ss_dict[(1, NPY_float32, 0)] = ss_1d_float32_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float32, 0)] = ss_1d_float32_axisNone * ss_dict[(1, NPY_float32, None)] = ss_1d_float32_axisNone - * ss_dict[(1, NPY_float64, 0)] = ss_1d_float64_axisNone + * ss_dict[(1, NPY_float64, 0)] = ss_1d_float64_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float64, None)] = ss_1d_float64_axisNone + * ss_dict[(2, NPY_float, None)] = ss_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16646,19 +16646,19 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":697 - * ss_dict[(1, NPY_float, None)] = ss_1d_float_axisNone - * ss_dict[(1, NPY_float32, 0)] = ss_1d_float32_axisNone - * ss_dict[(1, NPY_float32, None)] = ss_1d_float32_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float32, None)] = ss_1d_float32_axisNone * ss_dict[(1, NPY_float64, 0)] = ss_1d_float64_axisNone - * ss_dict[(1, NPY_float64, None)] = ss_1d_float64_axisNone + * ss_dict[(1, NPY_float64, None)] = ss_1d_float64_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float, None)] = ss_2d_float_axisNone + * ss_dict[(2, NPY_float32, None)] = ss_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16676,55 +16676,55 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":698 - * ss_dict[(1, NPY_float32, 0)] = ss_1d_float32_axisNone - * ss_dict[(1, NPY_float32, None)] = ss_1d_float32_axisNone - * ss_dict[(1, NPY_float64, 0)] = ss_1d_float64_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float64, 0)] = ss_1d_float64_axisNone * ss_dict[(1, NPY_float64, None)] = ss_1d_float64_axisNone - * ss_dict[(2, NPY_float, None)] = ss_2d_float_axisNone + * ss_dict[(2, NPY_float, None)] = ss_2d_float_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float32, None)] = ss_2d_float32_axisNone + * ss_dict[(2, NPY_float64, None)] = ss_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":699 - * ss_dict[(1, NPY_float32, None)] = ss_1d_float32_axisNone - * ss_dict[(1, NPY_float64, 0)] = ss_1d_float64_axisNone - * ss_dict[(1, NPY_float64, None)] = ss_1d_float64_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float64, None)] = ss_1d_float64_axisNone * ss_dict[(2, NPY_float, None)] = ss_2d_float_axisNone - * ss_dict[(2, NPY_float32, None)] = ss_2d_float32_axisNone + * ss_dict[(2, NPY_float32, None)] = ss_2d_float32_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float64, None)] = ss_2d_float64_axisNone + * ss_dict[(1, NPY_int, 0)] = ss_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -16736,19 +16736,19 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":700 - * ss_dict[(1, NPY_float64, 0)] = ss_1d_float64_axisNone - * ss_dict[(1, NPY_float64, None)] = ss_1d_float64_axisNone - * ss_dict[(2, NPY_float, None)] = ss_2d_float_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float, None)] = ss_2d_float_axisNone * ss_dict[(2, NPY_float32, None)] = ss_2d_float32_axisNone - * ss_dict[(2, NPY_float64, None)] = ss_2d_float64_axisNone + * ss_dict[(2, NPY_float64, None)] = ss_2d_float64_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_int, 0)] = ss_1d_int_axisNone + * ss_dict[(1, NPY_int, None)] = ss_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16766,55 +16766,55 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":701 - * ss_dict[(1, NPY_float64, None)] = ss_1d_float64_axisNone - * ss_dict[(2, NPY_float, None)] = ss_2d_float_axisNone - * ss_dict[(2, NPY_float32, None)] = ss_2d_float32_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float32, None)] = ss_2d_float32_axisNone * ss_dict[(2, NPY_float64, None)] = ss_2d_float64_axisNone - * ss_dict[(2, NPY_float, 0)] = ss_2d_float_axis0 + * ss_dict[(1, NPY_int, 0)] = ss_1d_int_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_int, None)] = ss_1d_int_axisNone + * ss_dict[(1, NPY_int8, 0)] = ss_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":702 - * ss_dict[(2, NPY_float, None)] = ss_2d_float_axisNone - * ss_dict[(2, NPY_float32, None)] = ss_2d_float32_axisNone - * ss_dict[(2, NPY_float64, None)] = ss_2d_float64_axisNone # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_float, 0)] = ss_2d_float_axis0 - * ss_dict[(2, NPY_float, 1)] = ss_2d_float_axis1 + * ss_dict[(2, NPY_float64, None)] = ss_2d_float64_axisNone + * ss_dict[(1, NPY_int, 0)] = ss_1d_int_axisNone + * ss_dict[(1, NPY_int, None)] = ss_1d_int_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_int8, 0)] = ss_1d_int8_axisNone + * ss_dict[(1, NPY_int8, None)] = ss_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -16826,25 +16826,25 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":703 - * ss_dict[(2, NPY_float32, None)] = ss_2d_float32_axisNone - * ss_dict[(2, NPY_float64, None)] = ss_2d_float64_axisNone - * ss_dict[(2, NPY_float, 0)] = ss_2d_float_axis0 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_float, 1)] = ss_2d_float_axis1 - * ss_dict[(2, NPY_float32, 0)] = ss_2d_float32_axis0 + * ss_dict[(1, NPY_int, 0)] = ss_1d_int_axisNone + * ss_dict[(1, NPY_int, None)] = ss_1d_int_axisNone + * ss_dict[(1, NPY_int8, 0)] = ss_1d_int8_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_int8, None)] = ss_1d_int8_axisNone + * ss_dict[(1, NPY_int32, 0)] = ss_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16856,55 +16856,55 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":704 - * ss_dict[(2, NPY_float64, None)] = ss_2d_float64_axisNone - * ss_dict[(2, NPY_float, 0)] = ss_2d_float_axis0 - * ss_dict[(2, NPY_float, 1)] = ss_2d_float_axis1 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_float32, 0)] = ss_2d_float32_axis0 - * ss_dict[(2, NPY_float32, 1)] = ss_2d_float32_axis1 + * ss_dict[(1, NPY_int, None)] = ss_1d_int_axisNone + * ss_dict[(1, NPY_int8, 0)] = ss_1d_int8_axisNone + * ss_dict[(1, NPY_int8, None)] = ss_1d_int8_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_int32, 0)] = ss_1d_int32_axisNone + * ss_dict[(1, NPY_int32, None)] = ss_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":705 - * ss_dict[(2, NPY_float, 0)] = ss_2d_float_axis0 - * ss_dict[(2, NPY_float, 1)] = ss_2d_float_axis1 - * ss_dict[(2, NPY_float32, 0)] = ss_2d_float32_axis0 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_float32, 1)] = ss_2d_float32_axis1 - * ss_dict[(2, NPY_float64, 0)] = ss_2d_float64_axis0 + * ss_dict[(1, NPY_int8, 0)] = ss_1d_int8_axisNone + * ss_dict[(1, NPY_int8, None)] = ss_1d_int8_axisNone + * ss_dict[(1, NPY_int32, 0)] = ss_1d_int32_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_int32, None)] = ss_1d_int32_axisNone + * ss_dict[(1, NPY_int64, 0)] = ss_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16916,55 +16916,55 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":706 - * ss_dict[(2, NPY_float, 1)] = ss_2d_float_axis1 - * ss_dict[(2, NPY_float32, 0)] = ss_2d_float32_axis0 - * ss_dict[(2, NPY_float32, 1)] = ss_2d_float32_axis1 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_float64, 0)] = ss_2d_float64_axis0 - * ss_dict[(2, NPY_float64, 1)] = ss_2d_float64_axis1 + * ss_dict[(1, NPY_int8, None)] = ss_1d_int8_axisNone + * ss_dict[(1, NPY_int32, 0)] = ss_1d_int32_axisNone + * ss_dict[(1, NPY_int32, None)] = ss_1d_int32_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_int64, 0)] = ss_1d_int64_axisNone + * ss_dict[(1, NPY_int64, None)] = ss_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":707 - * ss_dict[(2, NPY_float32, 0)] = ss_2d_float32_axis0 - * ss_dict[(2, NPY_float32, 1)] = ss_2d_float32_axis1 - * ss_dict[(2, NPY_float64, 0)] = ss_2d_float64_axis0 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_float64, 1)] = ss_2d_float64_axis1 - * ss_dict[(1, NPY_int, 0)] = ss_1d_int_axisNone + * ss_dict[(1, NPY_int32, 0)] = ss_1d_int32_axisNone + * ss_dict[(1, NPY_int32, None)] = ss_1d_int32_axisNone + * ss_dict[(1, NPY_int64, 0)] = ss_1d_int64_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_int64, None)] = ss_1d_int64_axisNone + * ss_dict[(2, NPY_int, None)] = ss_2d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16976,43 +16976,43 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":708 - * ss_dict[(2, NPY_float32, 1)] = ss_2d_float32_axis1 - * ss_dict[(2, NPY_float64, 0)] = ss_2d_float64_axis0 - * ss_dict[(2, NPY_float64, 1)] = ss_2d_float64_axis1 # <<<<<<<<<<<<<< - * ss_dict[(1, NPY_int, 0)] = ss_1d_int_axisNone - * ss_dict[(1, NPY_int, None)] = ss_1d_int_axisNone + * ss_dict[(1, NPY_int32, None)] = ss_1d_int32_axisNone + * ss_dict[(1, NPY_int64, 0)] = ss_1d_int64_axisNone + * ss_dict[(1, NPY_int64, None)] = ss_1d_int64_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int, None)] = ss_2d_int_axisNone + * ss_dict[(2, NPY_int8, None)] = ss_2d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":709 - * ss_dict[(2, NPY_float64, 0)] = ss_2d_float64_axis0 - * ss_dict[(2, NPY_float64, 1)] = ss_2d_float64_axis1 - * ss_dict[(1, NPY_int, 0)] = ss_1d_int_axisNone # <<<<<<<<<<<<<< - * ss_dict[(1, NPY_int, None)] = ss_1d_int_axisNone - * ss_dict[(1, NPY_int8, 0)] = ss_1d_int8_axisNone + * ss_dict[(1, NPY_int64, 0)] = ss_1d_int64_axisNone + * ss_dict[(1, NPY_int64, None)] = ss_1d_int64_axisNone + * ss_dict[(2, NPY_int, None)] = ss_2d_int_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int8, None)] = ss_2d_int8_axisNone + * ss_dict[(2, NPY_int32, None)] = ss_2d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -17022,39 +17022,39 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":710 - * ss_dict[(2, NPY_float64, 1)] = ss_2d_float64_axis1 - * ss_dict[(1, NPY_int, 0)] = ss_1d_int_axisNone - * ss_dict[(1, NPY_int, None)] = ss_1d_int_axisNone # <<<<<<<<<<<<<< - * ss_dict[(1, NPY_int8, 0)] = ss_1d_int8_axisNone - * ss_dict[(1, NPY_int8, None)] = ss_1d_int8_axisNone + * ss_dict[(1, NPY_int64, None)] = ss_1d_int64_axisNone + * ss_dict[(2, NPY_int, None)] = ss_2d_int_axisNone + * ss_dict[(2, NPY_int8, None)] = ss_2d_int8_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int32, None)] = ss_2d_int32_axisNone + * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -17066,55 +17066,55 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":711 - * ss_dict[(1, NPY_int, 0)] = ss_1d_int_axisNone - * ss_dict[(1, NPY_int, None)] = ss_1d_int_axisNone - * ss_dict[(1, NPY_int8, 0)] = ss_1d_int8_axisNone # <<<<<<<<<<<<<< - * ss_dict[(1, NPY_int8, None)] = ss_1d_int8_axisNone - * ss_dict[(1, NPY_int32, 0)] = ss_1d_int32_axisNone + * ss_dict[(2, NPY_int, None)] = ss_2d_int_axisNone + * ss_dict[(2, NPY_int8, None)] = ss_2d_int8_axisNone + * ss_dict[(2, NPY_int32, None)] = ss_2d_int32_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone + * ss_dict[(2, NPY_int, 0)] = ss_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":712 - * ss_dict[(1, NPY_int, None)] = ss_1d_int_axisNone - * ss_dict[(1, NPY_int8, 0)] = ss_1d_int8_axisNone - * ss_dict[(1, NPY_int8, None)] = ss_1d_int8_axisNone # <<<<<<<<<<<<<< - * ss_dict[(1, NPY_int32, 0)] = ss_1d_int32_axisNone - * ss_dict[(1, NPY_int32, None)] = ss_1d_int32_axisNone + * ss_dict[(2, NPY_int8, None)] = ss_2d_int8_axisNone + * ss_dict[(2, NPY_int32, None)] = ss_2d_int32_axisNone + * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int, 0)] = ss_2d_int_axis0 + * ss_dict[(2, NPY_int, 1)] = ss_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -17126,25 +17126,25 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":713 - * ss_dict[(1, NPY_int8, 0)] = ss_1d_int8_axisNone - * ss_dict[(1, NPY_int8, None)] = ss_1d_int8_axisNone - * ss_dict[(1, NPY_int32, 0)] = ss_1d_int32_axisNone # <<<<<<<<<<<<<< - * ss_dict[(1, NPY_int32, None)] = ss_1d_int32_axisNone - * ss_dict[(1, NPY_int64, 0)] = ss_1d_int64_axisNone + * ss_dict[(2, NPY_int32, None)] = ss_2d_int32_axisNone + * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone + * ss_dict[(2, NPY_int, 0)] = ss_2d_int_axis0 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int, 1)] = ss_2d_int_axis1 + * ss_dict[(2, NPY_int8, 0)] = ss_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -17156,55 +17156,55 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":714 - * ss_dict[(1, NPY_int8, None)] = ss_1d_int8_axisNone - * ss_dict[(1, NPY_int32, 0)] = ss_1d_int32_axisNone - * ss_dict[(1, NPY_int32, None)] = ss_1d_int32_axisNone # <<<<<<<<<<<<<< - * ss_dict[(1, NPY_int64, 0)] = ss_1d_int64_axisNone - * ss_dict[(1, NPY_int64, None)] = ss_1d_int64_axisNone + * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone + * ss_dict[(2, NPY_int, 0)] = ss_2d_int_axis0 + * ss_dict[(2, NPY_int, 1)] = ss_2d_int_axis1 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int8, 0)] = ss_2d_int8_axis0 + * ss_dict[(2, NPY_int8, 1)] = ss_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":715 - * ss_dict[(1, NPY_int32, 0)] = ss_1d_int32_axisNone - * ss_dict[(1, NPY_int32, None)] = ss_1d_int32_axisNone - * ss_dict[(1, NPY_int64, 0)] = ss_1d_int64_axisNone # <<<<<<<<<<<<<< - * ss_dict[(1, NPY_int64, None)] = ss_1d_int64_axisNone - * ss_dict[(2, NPY_int, None)] = ss_2d_int_axisNone + * ss_dict[(2, NPY_int, 0)] = ss_2d_int_axis0 + * ss_dict[(2, NPY_int, 1)] = ss_2d_int_axis1 + * ss_dict[(2, NPY_int8, 0)] = ss_2d_int8_axis0 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int8, 1)] = ss_2d_int8_axis1 + * ss_dict[(2, NPY_int32, 0)] = ss_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -17216,49 +17216,49 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":716 - * ss_dict[(1, NPY_int32, None)] = ss_1d_int32_axisNone - * ss_dict[(1, NPY_int64, 0)] = ss_1d_int64_axisNone - * ss_dict[(1, NPY_int64, None)] = ss_1d_int64_axisNone # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int, None)] = ss_2d_int_axisNone - * ss_dict[(2, NPY_int8, None)] = ss_2d_int8_axisNone + * ss_dict[(2, NPY_int, 1)] = ss_2d_int_axis1 + * ss_dict[(2, NPY_int8, 0)] = ss_2d_int8_axis0 + * ss_dict[(2, NPY_int8, 1)] = ss_2d_int8_axis1 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int32, 0)] = ss_2d_int32_axis0 + * ss_dict[(2, NPY_int32, 1)] = ss_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":717 - * ss_dict[(1, NPY_int64, 0)] = ss_1d_int64_axisNone - * ss_dict[(1, NPY_int64, None)] = ss_1d_int64_axisNone - * ss_dict[(2, NPY_int, None)] = ss_2d_int_axisNone # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int8, None)] = ss_2d_int8_axisNone - * ss_dict[(2, NPY_int32, None)] = ss_2d_int32_axisNone + * ss_dict[(2, NPY_int8, 0)] = ss_2d_int8_axis0 + * ss_dict[(2, NPY_int8, 1)] = ss_2d_int8_axis1 + * ss_dict[(2, NPY_int32, 0)] = ss_2d_int32_axis0 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int32, 1)] = ss_2d_int32_axis1 + * ss_dict[(2, NPY_int64, 0)] = ss_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17267,28 +17267,28 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":718 - * ss_dict[(1, NPY_int64, None)] = ss_1d_int64_axisNone - * ss_dict[(2, NPY_int, None)] = ss_2d_int_axisNone - * ss_dict[(2, NPY_int8, None)] = ss_2d_int8_axisNone # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int32, None)] = ss_2d_int32_axisNone - * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone + * ss_dict[(2, NPY_int8, 1)] = ss_2d_int8_axis1 + * ss_dict[(2, NPY_int32, 0)] = ss_2d_int32_axis0 + * ss_dict[(2, NPY_int32, 1)] = ss_2d_int32_axis1 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int64, 0)] = ss_2d_int64_axis0 + * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17297,28 +17297,28 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":719 - * ss_dict[(2, NPY_int, None)] = ss_2d_int_axisNone - * ss_dict[(2, NPY_int8, None)] = ss_2d_int8_axisNone - * ss_dict[(2, NPY_int32, None)] = ss_2d_int32_axisNone # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone + * ss_dict[(2, NPY_int32, 0)] = ss_2d_int32_axis0 + * ss_dict[(2, NPY_int32, 1)] = ss_2d_int32_axis1 + * ss_dict[(2, NPY_int64, 0)] = ss_2d_int64_axis0 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17327,22 +17327,22 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":720 - * ss_dict[(2, NPY_int8, None)] = ss_2d_int8_axisNone - * ss_dict[(2, NPY_int32, None)] = ss_2d_int32_axisNone - * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int32, 1)] = ss_2d_int32_axis1 + * ss_dict[(2, NPY_int64, 0)] = ss_2d_int64_axis0 + * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 # <<<<<<<<<<<<<< * * def ss_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -17357,16 +17357,16 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":722 - * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone + * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 * * def ss_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) ss along axis 0." @@ -18340,7 +18340,7 @@ PyMODINIT_FUNC PyInit_ss(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/stats.c b/bottlechest/src/func/32bit/stats.c index 9985bef8a0..6ff73aba9f 100644 --- a/bottlechest/src/func/32bit/stats.c +++ b/bottlechest/src/func/32bit/stats.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1354,9 +1354,9 @@ static char __pyx_k_stats_2d_float32_axisNone[] = "stats_2d_float32_axisNone"; static char __pyx_k_stats_2d_float64_axisNone[] = "stats_2d_float64_axisNone"; static char __pyx_k_Unsupported_ndim_dtype_s_s[] = "Unsupported ndim/dtype (%s/%s)."; static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous"; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/stats.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\stats.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; @@ -1364,7 +1364,6 @@ static char __pyx_k_invalid_length_of_the_weight_vec[] = "invalid length of the static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; static char __pyx_k_invalid_length_of_the_weight_vec_2[] = "invalid length of the weight vector ({} != {})"; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1376,6 +1375,7 @@ static PyObject *__pyx_n_s_PARTSORT_ERR_MSG; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__18; static PyObject *__pyx_n_s_a; @@ -28653,7 +28653,7 @@ static PyObject *__pyx_pf_5stats_112stats_slow_axisNone(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -28703,7 +28703,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -28716,7 +28716,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -28725,7 +28725,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -28734,7 +28734,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -28743,7 +28743,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -28753,7 +28753,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -28765,7 +28765,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -28776,7 +28776,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -28792,7 +28792,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -28804,7 +28804,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -28818,7 +28818,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -28834,7 +28834,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -28846,7 +28846,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -28860,7 +28860,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -28869,7 +28869,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -28878,7 +28878,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -28888,7 +28888,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -28897,7 +28897,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -28906,7 +28906,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -28917,7 +28917,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -28926,7 +28926,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -28939,7 +28939,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -28948,7 +28948,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -28959,7 +28959,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -28968,7 +28968,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -28977,7 +28977,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -28986,7 +28986,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -28995,7 +28995,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -29007,7 +29007,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -29016,7 +29016,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -29036,7 +29036,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -29052,7 +29052,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -29067,7 +29067,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -29077,7 +29077,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -29087,7 +29087,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -29110,7 +29110,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -29130,7 +29130,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -29144,7 +29144,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -29153,7 +29153,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -29164,7 +29164,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -29175,7 +29175,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -29186,7 +29186,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -29197,7 +29197,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -29208,7 +29208,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -29219,7 +29219,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -29230,7 +29230,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -29241,7 +29241,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -29252,7 +29252,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -29263,7 +29263,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -29274,7 +29274,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -29285,7 +29285,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -29296,7 +29296,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -29307,7 +29307,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -29318,7 +29318,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -29329,7 +29329,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -29341,7 +29341,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -29367,7 +29367,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -29376,7 +29376,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -29388,7 +29388,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -29397,7 +29397,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -29406,7 +29406,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -29415,7 +29415,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -29425,7 +29425,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -29435,7 +29435,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -29467,7 +29467,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -29491,7 +29491,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -29501,7 +29501,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -29513,7 +29513,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -29523,7 +29523,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -29535,7 +29535,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -29547,7 +29547,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -29564,7 +29564,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -29578,7 +29578,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -29597,7 +29597,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -29614,7 +29614,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -29628,7 +29628,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -29647,7 +29647,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -29664,7 +29664,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -29678,7 +29678,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -29697,7 +29697,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -29714,7 +29714,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -29728,7 +29728,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -29747,7 +29747,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -29764,7 +29764,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -29778,7 +29778,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -29797,7 +29797,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -29829,7 +29829,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -29838,7 +29838,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -29847,7 +29847,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -29869,7 +29869,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -29882,7 +29882,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -29921,7 +29921,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -29938,7 +29938,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -29952,7 +29952,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -29975,7 +29975,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -29995,7 +29995,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -30009,7 +30009,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -30025,7 +30025,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -30034,7 +30034,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -30043,7 +30043,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -30054,7 +30054,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -30064,7 +30064,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -30074,7 +30074,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -30086,7 +30086,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -30096,7 +30096,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -30110,7 +30110,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -30128,7 +30128,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -30146,7 +30146,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -30164,7 +30164,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -30182,7 +30182,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -30200,7 +30200,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -30218,7 +30218,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -30236,7 +30236,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -30254,7 +30254,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -30272,7 +30272,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -30290,7 +30290,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -30308,7 +30308,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -30326,7 +30326,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -30344,7 +30344,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -30364,7 +30364,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -30384,7 +30384,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -30404,7 +30404,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -30423,7 +30423,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -30446,7 +30446,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -30458,7 +30458,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -30470,7 +30470,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -30480,7 +30480,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -30490,7 +30490,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -30515,7 +30515,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -30530,7 +30530,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -30541,7 +30541,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -30553,7 +30553,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -30562,7 +30562,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -30573,7 +30573,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -30582,7 +30582,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -30591,7 +30591,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -30603,7 +30603,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -30617,7 +30617,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -30627,7 +30627,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -30641,7 +30641,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -30652,7 +30652,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -30690,7 +30690,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -30702,6 +30701,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_s_s, __pyx_k_Unsupported_ndim_dtype_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__18, __pyx_k__18, sizeof(__pyx_k__18), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -30972,7 +30972,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -30983,7 +30983,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__12); __Pyx_GIVEREF(__pyx_tuple__12); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -30994,7 +30994,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -31005,7 +31005,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -31016,7 +31016,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -31027,7 +31027,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__16); __Pyx_GIVEREF(__pyx_tuple__16); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -31059,7 +31059,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__20 = PyTuple_Pack(5, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance, __pyx_n_s_func, __pyx_n_s_a); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__20); __Pyx_GIVEREF(__pyx_tuple__20); - __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":106 * @@ -31071,7 +31071,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__22 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22); - __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_selector, 106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_selector, 106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":144 * @cython.boundscheck(False) @@ -31083,7 +31083,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__24 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_ai, __pyx_n_s_wt, __pyx_n_s_a_min, __pyx_n_s_a_max, __pyx_n_s_mean, __pyx_n_s_var, __pyx_n_s_tot_w, __pyx_n_s_tot_w2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__24); __Pyx_GIVEREF(__pyx_tuple__24); - __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(3, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_1d_int_axisNone, 144, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(3, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_1d_int_axisNone, 144, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":204 * @cython.boundscheck(False) @@ -31095,7 +31095,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__26 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_ai, __pyx_n_s_wt, __pyx_n_s_a_min, __pyx_n_s_a_max, __pyx_n_s_mean, __pyx_n_s_var, __pyx_n_s_tot_w, __pyx_n_s_tot_w2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__26); __Pyx_GIVEREF(__pyx_tuple__26); - __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(3, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_1d_int8_axisNone, 204, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(3, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_1d_int8_axisNone, 204, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":264 * @cython.boundscheck(False) @@ -31107,7 +31107,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__28 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_ai, __pyx_n_s_wt, __pyx_n_s_a_min, __pyx_n_s_a_max, __pyx_n_s_mean, __pyx_n_s_var, __pyx_n_s_tot_w, __pyx_n_s_tot_w2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__28); __Pyx_GIVEREF(__pyx_tuple__28); - __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(3, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_1d_int32_axisNone, 264, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(3, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_1d_int32_axisNone, 264, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":324 * @cython.boundscheck(False) @@ -31119,7 +31119,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__30 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_ai, __pyx_n_s_wt, __pyx_n_s_a_min, __pyx_n_s_a_max, __pyx_n_s_mean, __pyx_n_s_var, __pyx_n_s_tot_w, __pyx_n_s_tot_w2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30); - __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(3, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_1d_int64_axisNone, 324, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(3, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_1d_int64_axisNone, 324, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":384 * @cython.boundscheck(False) @@ -31131,7 +31131,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__32 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai, __pyx_n_s_mean, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_tot_w2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__32); __Pyx_GIVEREF(__pyx_tuple__32); - __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_2d_int_axisNone, 384, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_2d_int_axisNone, 384, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":461 * @cython.boundscheck(False) @@ -31143,7 +31143,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__34 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai, __pyx_n_s_mean, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_tot_w2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__34); __Pyx_GIVEREF(__pyx_tuple__34); - __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_2d_int8_axisNone, 461, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_2d_int8_axisNone, 461, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":538 * @cython.boundscheck(False) @@ -31155,7 +31155,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__36 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai, __pyx_n_s_mean, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_tot_w2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); - __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_2d_int32_axisNone, 538, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_2d_int32_axisNone, 538, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":615 * @cython.boundscheck(False) @@ -31167,7 +31167,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__38 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai, __pyx_n_s_mean, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_tot_w2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__38); __Pyx_GIVEREF(__pyx_tuple__38); - __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_2d_int64_axisNone, 615, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_2d_int64_axisNone, 615, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":692 * @cython.boundscheck(False) @@ -31179,7 +31179,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__40 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_tot_w2, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_ri, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_i, __pyx_n_s_d); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__40); __Pyx_GIVEREF(__pyx_tuple__40); - __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_0d_int_axisNone, 692, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_0d_int_axisNone, 692, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":762 * @cython.boundscheck(False) @@ -31191,7 +31191,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__42 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_tot_w2, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_ri, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_i, __pyx_n_s_d); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__42); __Pyx_GIVEREF(__pyx_tuple__42); - __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_0d_int8_axisNone, 762, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_0d_int8_axisNone, 762, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":832 * @cython.boundscheck(False) @@ -31203,7 +31203,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__44 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_tot_w2, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_ri, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_i, __pyx_n_s_d); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__44); __Pyx_GIVEREF(__pyx_tuple__44); - __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_0d_int32_axisNone, 832, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_0d_int32_axisNone, 832, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":902 * @cython.boundscheck(False) @@ -31215,7 +31215,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__46 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_tot_w2, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_ri, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_i, __pyx_n_s_d); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__46); __Pyx_GIVEREF(__pyx_tuple__46); - __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_0d_int64_axisNone, 902, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_0d_int64_axisNone, 902, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":972 * @cython.boundscheck(False) @@ -31227,7 +31227,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__48 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_ai, __pyx_n_s_wt, __pyx_n_s_a_min, __pyx_n_s_a_max, __pyx_n_s_mean, __pyx_n_s_var, __pyx_n_s_non_nans, __pyx_n_s_nans, __pyx_n_s_tot_wt2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__48); __Pyx_GIVEREF(__pyx_tuple__48); - __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_1d_float_axisNone, 972, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_1d_float_axisNone, 972, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1045 * @cython.boundscheck(False) @@ -31239,7 +31239,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__50 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_ai, __pyx_n_s_wt, __pyx_n_s_a_min, __pyx_n_s_a_max, __pyx_n_s_mean, __pyx_n_s_var, __pyx_n_s_non_nans, __pyx_n_s_nans, __pyx_n_s_tot_wt2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__50); __Pyx_GIVEREF(__pyx_tuple__50); - __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_1d_float32_axisNone, 1045, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_1d_float32_axisNone, 1045, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1118 * @cython.boundscheck(False) @@ -31251,7 +31251,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__52 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_ai, __pyx_n_s_wt, __pyx_n_s_a_min, __pyx_n_s_a_max, __pyx_n_s_mean, __pyx_n_s_var, __pyx_n_s_non_nans, __pyx_n_s_nans, __pyx_n_s_tot_wt2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__52); __Pyx_GIVEREF(__pyx_tuple__52); - __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_1d_float64_axisNone, 1118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_1d_float64_axisNone, 1118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1191 * @cython.boundscheck(False) @@ -31263,7 +31263,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__54 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai, __pyx_n_s_mean, __pyx_n_s_wt, __pyx_n_s_var, __pyx_n_s_tot_wt, __pyx_n_s_tot_wt2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__54); __Pyx_GIVEREF(__pyx_tuple__54); - __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(3, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_2d_float_axisNone, 1191, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(3, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_2d_float_axisNone, 1191, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1275 * @cython.boundscheck(False) @@ -31275,7 +31275,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__56 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai, __pyx_n_s_mean, __pyx_n_s_wt, __pyx_n_s_var, __pyx_n_s_tot_wt, __pyx_n_s_tot_wt2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__56); __Pyx_GIVEREF(__pyx_tuple__56); - __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(3, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_2d_float32_axisNone, 1275, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(3, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_2d_float32_axisNone, 1275, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1359 * @cython.boundscheck(False) @@ -31287,7 +31287,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__58 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai, __pyx_n_s_mean, __pyx_n_s_wt, __pyx_n_s_var, __pyx_n_s_tot_wt, __pyx_n_s_tot_wt2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__58); __Pyx_GIVEREF(__pyx_tuple__58); - __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(3, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_2d_float64_axisNone, 1359, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(3, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_2d_float64_axisNone, 1359, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1443 * @cython.boundscheck(False) @@ -31299,7 +31299,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__60 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_tot_wt2, __pyx_n_s_ri, __pyx_n_s_ci, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_d, __pyx_n_s_ai, __pyx_n_s_i); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__60); __Pyx_GIVEREF(__pyx_tuple__60); - __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_0d_float_axisNone, 1443, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_0d_float_axisNone, 1443, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1518 * @cython.boundscheck(False) @@ -31311,7 +31311,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__62 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_tot_wt2, __pyx_n_s_ri, __pyx_n_s_ci, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_d, __pyx_n_s_ai, __pyx_n_s_i); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__62); __Pyx_GIVEREF(__pyx_tuple__62); - __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_0d_float32_axisNone, 1518, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_0d_float32_axisNone, 1518, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1593 * @cython.boundscheck(False) @@ -31323,7 +31323,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__64 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_tot_wt2, __pyx_n_s_ri, __pyx_n_s_ci, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_d, __pyx_n_s_ai, __pyx_n_s_i); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__64); __Pyx_GIVEREF(__pyx_tuple__64); - __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_0d_float64_axisNone, 1593, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_0d_float64_axisNone, 1593, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1696 * stats_dict[(0, NPY_float64, None)] = stats_0d_float64_axisNone @@ -31335,7 +31335,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__66 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__66); __Pyx_GIVEREF(__pyx_tuple__66); - __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis0, 1696, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis0, 1696, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1700 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31347,7 +31347,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__68 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__68); __Pyx_GIVEREF(__pyx_tuple__68); - __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis1, 1700, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis1, 1700, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1704 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31359,7 +31359,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__70 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__70); __Pyx_GIVEREF(__pyx_tuple__70); - __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis2, 1704, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis2, 1704, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1708 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31371,7 +31371,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__72 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__72); __Pyx_GIVEREF(__pyx_tuple__72); - __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis3, 1708, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis3, 1708, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1712 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31383,7 +31383,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__74 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__74); __Pyx_GIVEREF(__pyx_tuple__74); - __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis4, 1712, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis4, 1712, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1716 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31395,7 +31395,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__76 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__76); __Pyx_GIVEREF(__pyx_tuple__76); - __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis5, 1716, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis5, 1716, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1720 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31407,7 +31407,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__78 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__78); __Pyx_GIVEREF(__pyx_tuple__78); - __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis6, 1720, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis6, 1720, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1724 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31419,7 +31419,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__80 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__80); __Pyx_GIVEREF(__pyx_tuple__80); - __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis7, 1724, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis7, 1724, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1728 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31431,7 +31431,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__82 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__82); __Pyx_GIVEREF(__pyx_tuple__82); - __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis8, 1728, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis8, 1728, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1732 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31443,7 +31443,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__84 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__84); __Pyx_GIVEREF(__pyx_tuple__84); - __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis9, 1732, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis9, 1732, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1736 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31455,7 +31455,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__86 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__86); __Pyx_GIVEREF(__pyx_tuple__86); - __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis10, 1736, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis10, 1736, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1740 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31467,7 +31467,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__88 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__88); __Pyx_GIVEREF(__pyx_tuple__88); - __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis11, 1740, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis11, 1740, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1744 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31479,7 +31479,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__90 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1744; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__90); __Pyx_GIVEREF(__pyx_tuple__90); - __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis12, 1744, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1744; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis12, 1744, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1744; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1748 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31491,7 +31491,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__92 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__92); __Pyx_GIVEREF(__pyx_tuple__92); - __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis13, 1748, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis13, 1748, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1752 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31503,7 +31503,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__94 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__94); __Pyx_GIVEREF(__pyx_tuple__94); - __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis14, 1752, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis14, 1752, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1756 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31515,7 +31515,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__96 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__96); __Pyx_GIVEREF(__pyx_tuple__96); - __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis15, 1756, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis15, 1756, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1760 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31527,7 +31527,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__98 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__98); __Pyx_GIVEREF(__pyx_tuple__98); - __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis16, 1760, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis16, 1760, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1764 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31539,7 +31539,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__100 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__100); __Pyx_GIVEREF(__pyx_tuple__100); - __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis17, 1764, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis17, 1764, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1768 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31551,7 +31551,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__102 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__102); __Pyx_GIVEREF(__pyx_tuple__102); - __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis18, 1768, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis18, 1768, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1772 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31563,7 +31563,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__104 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__104); __Pyx_GIVEREF(__pyx_tuple__104); - __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis19, 1772, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis19, 1772, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1776 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31575,7 +31575,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__106 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__106); __Pyx_GIVEREF(__pyx_tuple__106); - __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis20, 1776, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis20, 1776, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1780 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31587,7 +31587,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__108 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__108); __Pyx_GIVEREF(__pyx_tuple__108); - __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis21, 1780, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis21, 1780, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1784 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31599,7 +31599,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__110 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__110); __Pyx_GIVEREF(__pyx_tuple__110); - __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis22, 1784, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis22, 1784, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1788 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31611,7 +31611,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__112 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__112); __Pyx_GIVEREF(__pyx_tuple__112); - __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis23, 1788, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis23, 1788, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1792 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31623,7 +31623,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__114 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__114); __Pyx_GIVEREF(__pyx_tuple__114); - __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis24, 1792, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis24, 1792, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1796 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31635,7 +31635,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__116 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__116); __Pyx_GIVEREF(__pyx_tuple__116); - __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis25, 1796, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis25, 1796, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1800 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31647,7 +31647,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__118 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__118); __Pyx_GIVEREF(__pyx_tuple__118); - __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis26, 1800, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis26, 1800, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1804 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31659,7 +31659,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__120 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__120); __Pyx_GIVEREF(__pyx_tuple__120); - __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis27, 1804, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis27, 1804, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1808 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31671,7 +31671,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__122 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__122); __Pyx_GIVEREF(__pyx_tuple__122); - __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis28, 1808, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis28, 1808, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1812 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31683,7 +31683,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__124 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__124); __Pyx_GIVEREF(__pyx_tuple__124); - __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis29, 1812, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis29, 1812, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1816 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31695,7 +31695,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__126 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__126); __Pyx_GIVEREF(__pyx_tuple__126); - __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis30, 1816, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis30, 1816, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1820 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31707,7 +31707,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__128 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__128); __Pyx_GIVEREF(__pyx_tuple__128); - __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis31, 1820, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis31, 1820, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1824 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31719,7 +31719,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__130 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__130); __Pyx_GIVEREF(__pyx_tuple__130); - __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis32, 1824, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis32, 1824, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1828 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31731,7 +31731,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__132 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__132); __Pyx_GIVEREF(__pyx_tuple__132); - __pyx_codeobj__133 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axisNone, 1828, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__133 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axisNone, 1828, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -34774,7 +34774,7 @@ PyMODINIT_FUNC PyInit_stats(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/32bit/valuecount.c b/bottlechest/src/func/32bit/valuecount.c index c4ba2027f4..a2c32519be 100644 --- a/bottlechest/src/func/32bit/valuecount.c +++ b/bottlechest/src/func/32bit/valuecount.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1256,16 +1256,15 @@ static char __pyx_k_valuecount_2d_int32_axisNone[] = "valuecount_2d_int32_axisNo static char __pyx_k_valuecount_2d_int64_axisNone[] = "valuecount_2d_int64_axisNone"; static char __pyx_k_valuecount_2d_float32_axisNone[] = "valuecount_2d_float32_axisNone"; static char __pyx_k_valuecount_2d_float64_axisNone[] = "valuecount_2d_float64_axisNone"; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/32bit/valuecount.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\32bit\\valuecount.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_valuecount_expects_an_array_with[] = "valuecount expects an array with shape (2, N)"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1277,6 +1276,7 @@ static PyObject *__pyx_n_s_PARTSORT_ERR_MSG; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__21; static PyObject *__pyx_n_s_a; @@ -8053,7 +8053,7 @@ static PyObject *__pyx_pf_10valuecount_84valuecount_slow_axisNone(CYTHON_UNUSED return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -8103,7 +8103,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -8116,7 +8116,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -8125,7 +8125,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -8134,7 +8134,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -8143,7 +8143,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -8153,7 +8153,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -8165,7 +8165,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -8176,7 +8176,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -8192,7 +8192,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -8204,7 +8204,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -8218,7 +8218,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -8234,7 +8234,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -8246,7 +8246,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -8260,7 +8260,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -8269,7 +8269,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -8278,7 +8278,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -8288,7 +8288,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -8297,7 +8297,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -8306,7 +8306,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -8317,7 +8317,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -8326,7 +8326,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -8339,7 +8339,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -8348,7 +8348,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -8359,7 +8359,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -8368,7 +8368,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -8377,7 +8377,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -8386,7 +8386,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -8395,7 +8395,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -8407,7 +8407,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -8416,7 +8416,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -8436,7 +8436,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -8452,7 +8452,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -8467,7 +8467,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -8477,7 +8477,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -8487,7 +8487,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -8510,7 +8510,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -8530,7 +8530,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -8544,7 +8544,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -8553,7 +8553,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -8564,7 +8564,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -8575,7 +8575,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -8586,7 +8586,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -8597,7 +8597,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -8608,7 +8608,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -8619,7 +8619,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -8630,7 +8630,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -8641,7 +8641,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -8652,7 +8652,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -8663,7 +8663,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -8674,7 +8674,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -8685,7 +8685,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -8696,7 +8696,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -8707,7 +8707,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -8718,7 +8718,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -8729,7 +8729,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -8741,7 +8741,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -8767,7 +8767,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -8776,7 +8776,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -8788,7 +8788,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -8797,7 +8797,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -8806,7 +8806,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -8815,7 +8815,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -8825,7 +8825,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -8835,7 +8835,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -8867,7 +8867,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -8891,7 +8891,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -8901,7 +8901,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -8913,7 +8913,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -8923,7 +8923,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -8935,7 +8935,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -8947,7 +8947,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -8964,7 +8964,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -8978,7 +8978,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -8997,7 +8997,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -9014,7 +9014,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -9028,7 +9028,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -9047,7 +9047,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -9064,7 +9064,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -9078,7 +9078,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -9097,7 +9097,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -9114,7 +9114,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -9128,7 +9128,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -9147,7 +9147,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -9164,7 +9164,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -9178,7 +9178,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -9197,7 +9197,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -9229,7 +9229,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -9238,7 +9238,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -9247,7 +9247,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -9269,7 +9269,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -9282,7 +9282,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -9321,7 +9321,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -9338,7 +9338,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -9352,7 +9352,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -9375,7 +9375,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -9395,7 +9395,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -9409,7 +9409,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -9425,7 +9425,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -9434,7 +9434,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -9443,7 +9443,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -9454,7 +9454,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -9464,7 +9464,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -9474,7 +9474,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -9486,7 +9486,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -9496,7 +9496,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -9510,7 +9510,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -9528,7 +9528,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -9546,7 +9546,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -9564,7 +9564,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -9582,7 +9582,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -9600,7 +9600,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -9618,7 +9618,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -9636,7 +9636,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -9654,7 +9654,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -9672,7 +9672,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -9690,7 +9690,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -9708,7 +9708,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -9726,7 +9726,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -9744,7 +9744,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -9764,7 +9764,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -9784,7 +9784,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -9804,7 +9804,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -9823,7 +9823,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -9846,7 +9846,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -9858,7 +9858,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -9870,7 +9870,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -9880,7 +9880,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -9890,7 +9890,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -9915,7 +9915,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -9930,7 +9930,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -9941,7 +9941,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -9953,7 +9953,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -9962,7 +9962,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -9973,7 +9973,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -9982,7 +9982,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -9991,7 +9991,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -10003,7 +10003,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -10017,7 +10017,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -10027,7 +10027,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -10041,7 +10041,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -10052,7 +10052,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -10090,7 +10090,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -10102,6 +10101,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_s_s, __pyx_k_Unsupported_ndim_dtype_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__21, __pyx_k__21, sizeof(__pyx_k__21), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -10363,7 +10363,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_slice__14); __Pyx_GIVEREF(__pyx_slice__14); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -10374,7 +10374,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -10385,7 +10385,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__16); __Pyx_GIVEREF(__pyx_tuple__16); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -10396,7 +10396,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -10407,7 +10407,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -10418,7 +10418,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -10450,7 +10450,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__23 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_func, __pyx_n_s_a); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":95 * return func(a) @@ -10462,7 +10462,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__25 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_i, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_selector, 95, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_selector, 95, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":121 * @cython.boundscheck(False) @@ -10474,7 +10474,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__27 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_src, __pyx_n_s_dst); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_2d_float_axisNone, 121, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_2d_float_axisNone, 121, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":152 * @cython.boundscheck(False) @@ -10486,7 +10486,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__29 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_src, __pyx_n_s_dst); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_2d_float32_axisNone, 152, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_2d_float32_axisNone, 152, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":183 * @cython.boundscheck(False) @@ -10498,7 +10498,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__31 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_src, __pyx_n_s_dst); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_2d_float64_axisNone, 183, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_2d_float64_axisNone, 183, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":214 * @cython.boundscheck(False) @@ -10510,7 +10510,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__33 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_src, __pyx_n_s_dst); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_2d_int_axisNone, 214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_2d_int_axisNone, 214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":245 * @cython.boundscheck(False) @@ -10522,7 +10522,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__35 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_src, __pyx_n_s_dst); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_2d_int8_axisNone, 245, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_2d_int8_axisNone, 245, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":276 * @cython.boundscheck(False) @@ -10534,7 +10534,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__37 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_src, __pyx_n_s_dst); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_2d_int32_axisNone, 276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_2d_int32_axisNone, 276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":307 * @cython.boundscheck(False) @@ -10546,7 +10546,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__39 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_src, __pyx_n_s_dst); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_2d_int64_axisNone, 307, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_2d_int64_axisNone, 307, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":345 * valuecount_dict[(2, NPY_int64, None)] = valuecount_2d_int64_axisNone @@ -10558,7 +10558,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__41 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis0, 345, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis0, 345, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":349 * return bn.slow.valuecount(arr) @@ -10570,7 +10570,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__43 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis1, 349, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis1, 349, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":353 * return bn.slow.valuecount(arr) @@ -10582,7 +10582,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__45 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis2, 353, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis2, 353, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":357 * return bn.slow.valuecount(arr) @@ -10594,7 +10594,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__47 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis3, 357, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis3, 357, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":361 * return bn.slow.valuecount(arr) @@ -10606,7 +10606,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__49 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis4, 361, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis4, 361, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":365 * return bn.slow.valuecount(arr) @@ -10618,7 +10618,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__51 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis5, 365, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis5, 365, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":369 * return bn.slow.valuecount(arr) @@ -10630,7 +10630,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__53 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis6, 369, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis6, 369, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":373 * return bn.slow.valuecount(arr) @@ -10642,7 +10642,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__55 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis7, 373, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis7, 373, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":377 * return bn.slow.valuecount(arr) @@ -10654,7 +10654,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__57 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis8, 377, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis8, 377, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":381 * return bn.slow.valuecount(arr) @@ -10666,7 +10666,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__59 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis9, 381, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis9, 381, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":385 * return bn.slow.valuecount(arr) @@ -10678,7 +10678,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__61 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis10, 385, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis10, 385, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":389 * return bn.slow.valuecount(arr) @@ -10690,7 +10690,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__63 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis11, 389, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis11, 389, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":393 * return bn.slow.valuecount(arr) @@ -10702,7 +10702,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__65 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis12, 393, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis12, 393, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":397 * return bn.slow.valuecount(arr) @@ -10714,7 +10714,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__67 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis13, 397, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis13, 397, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":401 * return bn.slow.valuecount(arr) @@ -10726,7 +10726,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis14, 401, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis14, 401, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":405 * return bn.slow.valuecount(arr) @@ -10738,7 +10738,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis15, 405, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis15, 405, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":409 * return bn.slow.valuecount(arr) @@ -10750,7 +10750,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis16, 409, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis16, 409, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":413 * return bn.slow.valuecount(arr) @@ -10762,7 +10762,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis17, 413, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis17, 413, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":417 * return bn.slow.valuecount(arr) @@ -10774,7 +10774,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis18, 417, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis18, 417, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":421 * return bn.slow.valuecount(arr) @@ -10786,7 +10786,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis19, 421, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis19, 421, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":425 * return bn.slow.valuecount(arr) @@ -10798,7 +10798,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis20, 425, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis20, 425, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":429 * return bn.slow.valuecount(arr) @@ -10810,7 +10810,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis21, 429, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis21, 429, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":433 * return bn.slow.valuecount(arr) @@ -10822,7 +10822,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis22, 433, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis22, 433, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":437 * return bn.slow.valuecount(arr) @@ -10834,7 +10834,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis23, 437, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis23, 437, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":441 * return bn.slow.valuecount(arr) @@ -10846,7 +10846,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis24, 441, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis24, 441, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":445 * return bn.slow.valuecount(arr) @@ -10858,7 +10858,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis25, 445, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis25, 445, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":449 * return bn.slow.valuecount(arr) @@ -10870,7 +10870,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis26, 449, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis26, 449, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":453 * return bn.slow.valuecount(arr) @@ -10882,7 +10882,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis27, 453, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis27, 453, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":457 * return bn.slow.valuecount(arr) @@ -10894,7 +10894,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis28, 457, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis28, 457, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":461 * return bn.slow.valuecount(arr) @@ -10906,7 +10906,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis29, 461, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis29, 461, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":465 * return bn.slow.valuecount(arr) @@ -10918,7 +10918,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis30, 465, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis30, 465, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":469 * return bn.slow.valuecount(arr) @@ -10930,7 +10930,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis31, 469, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis31, 469, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":473 * return bn.slow.valuecount(arr) @@ -10942,7 +10942,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis32, 473, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis32, 473, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":477 * return bn.slow.valuecount(arr) @@ -10954,7 +10954,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axisNone, 477, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axisNone, 477, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -13198,7 +13198,7 @@ PyMODINIT_FUNC PyInit_valuecount(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/allnan.c b/bottlechest/src/func/64bit/allnan.c index 472595c29b..6dc0408cc3 100644 --- a/bottlechest/src/func/64bit/allnan.c +++ b/bottlechest/src/func/64bit/allnan.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -870,8 +870,8 @@ static CYTHON_INLINE int __Pyx_GetBufferAndValidate(Py_buffer* buf, PyObject* o __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack); static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info); -#define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0) #define __Pyx_BufPtrStrided2d(type, buf, i0, s0, i1, s1) (type)((char*)buf + i0 * s0 + i1 * s1) +#define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0) static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); typedef struct { @@ -1096,14 +1096,14 @@ static __pyx_t_5numpy_float32_t __pyx_v_6allnan_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_6allnan_MAXfloat64; static PyObject *__pyx_v_6allnan_allnan_dict = 0; static PyObject *__pyx_v_6allnan_allnan_slow_dict = 0; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t = { "uint8_t", NULL, sizeof(__pyx_t_5numpy_uint8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_uint8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_uint8_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "allnan" int __pyx_module_is_main_allnan = 0; @@ -1115,34 +1115,34 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_6allnan_allnan(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_6allnan_2allnan_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_6allnan_4allnan_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_16allnan_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_18allnan_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_22allnan_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_24allnan_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_26allnan_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_30allnan_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_32allnan_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_34allnan_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_36allnan_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_38allnan_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_40allnan_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_42allnan_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_44allnan_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_46allnan_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_48allnan_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_50allnan_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_52allnan_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_54allnan_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_56allnan_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6allnan_58allnan_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_4allnan_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_6allnan_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_8allnan_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_10allnan_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_12allnan_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_14allnan_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_16allnan_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_18allnan_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_20allnan_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_22allnan_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_24allnan_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_26allnan_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_28allnan_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_30allnan_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_32allnan_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_34allnan_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_36allnan_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_38allnan_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_40allnan_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_42allnan_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_44allnan_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_46allnan_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_48allnan_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_50allnan_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_52allnan_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_54allnan_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_56allnan_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6allnan_58allnan_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_6allnan_60allnan_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6allnan_62allnan_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6allnan_64allnan_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1317,15 +1317,14 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Return_allnan_function_and_arra[] = "\n Return allnan function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in bn.allnan()\n is in checking that `axis` is within range, converting `arr` into an\n array (if it is not already an array), and selecting the function to use.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which NaNs are searched.\n \n Returns\n -------\n func : function\n The allnan function that matches the number of dimensions and\n dtype of the input array and the axis.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine if `arr` contains all NaNs:\n\n >>> func, a = bn.func.allnan_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine is all elements are\n NaN:\n \n >>> func(a)\n False\n\n "; static char __pyx_k_Test_whether_all_array_elements[] = "\n Test whether all array elements along a given axis are NaN.\n\n Returns single boolean unless `axis` is not ``None``.\n\n Note that allnan([]) is True to match np.isnan([]).all().\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}, optional\n Axis along which NaNs are searched. The default (`axis` = ``None``)\n is to search for NaNs over a flattened input array. `axis` may be\n negative, in which case it counts from the last to the first axis.\n\n Returns\n -------\n y : bool or ndarray\n A new boolean or `ndarray` is returned.\n\n See also\n --------\n bottlechest.anynan: Test if any array element along given axis is NaN\n\n Examples\n --------\n >>> bn.allnan(1)\n False\n >>> bn.allnan(np.nan)\n True\n >>> bn.allnan([1, np.nan])\n False\n >>> a = np.array([[1, np.nan], [1, np.nan]])\n >>> bn.allnan(a)\n False\n >>> bn.allnan(a, axis=0)\n array([False, True], dtype=bool)\n\n An empty array returns True:\n\n >>> bn.allnan([])\n True\n\n which is similar to:\n\n >>> all([])\n True\n >>> np.isnan([]).all()\n True\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/allnan.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\allnan.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1339,6 +1338,7 @@ static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_kp_u_Test_whether_all_array_elements; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__35; static PyObject *__pyx_n_s_a; @@ -2469,24 +2469,24 @@ static PyObject *__pyx_pf_6allnan_2allnan_selector(CYTHON_UNUSED PyObject *__pyx /* "allnan.pyx":196 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=0." + * def allnan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_5allnan_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_4allnan_2d_int_axis0[] = "allnan_2d_int_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_6allnan_5allnan_2d_int_axis0 = {"allnan_2d_int_axis0", (PyCFunction)__pyx_pw_6allnan_5allnan_2d_int_axis0, METH_O, __pyx_doc_6allnan_4allnan_2d_int_axis0}; -static PyObject *__pyx_pw_6allnan_5allnan_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_5allnan_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_4allnan_2d_float_axis0[] = "allnan_2d_float_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_6allnan_5allnan_2d_float_axis0 = {"allnan_2d_float_axis0", (PyCFunction)__pyx_pw_6allnan_5allnan_2d_float_axis0, METH_O, __pyx_doc_6allnan_4allnan_2d_float_axis0}; +static PyObject *__pyx_pw_6allnan_5allnan_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("allnan_2d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_4allnan_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6allnan_4allnan_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2497,8 +2497,10 @@ static PyObject *__pyx_pw_6allnan_5allnan_2d_int_axis0(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6allnan_4allnan_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_4allnan_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_f; + __pyx_t_5numpy_float_t __pyx_v_ai; + Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -2514,14 +2516,18 @@ static PyObject *__pyx_pf_6allnan_4allnan_2d_int_axis0(CYTHON_UNUSED PyObject *_ npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("allnan_2d_float_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2532,15 +2538,15 @@ static PyObject *__pyx_pf_6allnan_4allnan_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "allnan.pyx":198 - * def allnan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int along axis=0." + * def allnan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=float along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int_t ai + * cdef np.float_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -2587,7 +2593,7 @@ static PyObject *__pyx_pf_6allnan_4allnan_2d_int_axis0(CYTHON_UNUSED PyObject *_ * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) - * if n0 == 0: + * for i1 in range(n1): */ __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -2608,61 +2614,113 @@ static PyObject *__pyx_pf_6allnan_4allnan_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "allnan.pyx":208 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * for i1 in range(n1): # <<<<<<<<<<<<<< * f = 1 - * else: + * for i0 in range(n0): */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; /* "allnan.pyx":209 * NPY_BOOL, 0) - * if n0 == 0: + * for i1 in range(n1): * f = 1 # <<<<<<<<<<<<<< - * else: - * f = 0 + * for i0 in range(n0): + * ai = a[i0, i1] */ __pyx_v_f = 1; - goto __pyx_L3; - } - /*else*/ { - /* "allnan.pyx":211 - * f = 1 - * else: - * f = 0 # <<<<<<<<<<<<<< + /* "allnan.pyx":210 * for i1 in range(n1): - * y[i1] = f + * f = 1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_f = 0; - } - __pyx_L3:; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "allnan.pyx":212 - * else: - * f = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i1] = f + /* "allnan.pyx":211 + * f = 1 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * y[i1] = 0 + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "allnan.pyx":212 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * y[i1] = 0 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "allnan.pyx":213 + * ai = a[i0, i1] + * if ai == ai: + * y[i1] = 0 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + + /* "allnan.pyx":214 + * if ai == ai: + * y[i1] = 0 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "allnan.pyx":215 + * y[i1] = 0 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i1] = 1 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "allnan.pyx":216 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i1] = 1 * return y */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { - /* "allnan.pyx":213 - * f = 0 - * for i1 in range(n1): - * y[i1] = f # <<<<<<<<<<<<<< + /* "allnan.pyx":217 + * break + * if f == 1: + * y[i1] = 1 # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + goto __pyx_L8; + } + __pyx_L8:; } - /* "allnan.pyx":214 - * for i1 in range(n1): - * y[i1] = f + /* "allnan.pyx":218 + * if f == 1: + * y[i1] = 1 * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2675,8 +2733,8 @@ static PyObject *__pyx_pf_6allnan_4allnan_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "allnan.pyx":196 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=0." + * def allnan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=0." * cdef int f = 1 */ @@ -2688,7 +2746,7 @@ static PyObject *__pyx_pf_6allnan_4allnan_2d_int_axis0(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2701,27 +2759,27 @@ static PyObject *__pyx_pf_6allnan_4allnan_2d_int_axis0(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "allnan.pyx":218 +/* "allnan.pyx":222 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=1." + * def allnan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_7allnan_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_6allnan_2d_int_axis1[] = "allnan_2d_int_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=int along axis=1."; -static PyMethodDef __pyx_mdef_6allnan_7allnan_2d_int_axis1 = {"allnan_2d_int_axis1", (PyCFunction)__pyx_pw_6allnan_7allnan_2d_int_axis1, METH_O, __pyx_doc_6allnan_6allnan_2d_int_axis1}; -static PyObject *__pyx_pw_6allnan_7allnan_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_7allnan_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_6allnan_2d_float_axis1[] = "allnan_2d_float_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=float along axis=1."; +static PyMethodDef __pyx_mdef_6allnan_7allnan_2d_float_axis1 = {"allnan_2d_float_axis1", (PyCFunction)__pyx_pw_6allnan_7allnan_2d_float_axis1, METH_O, __pyx_doc_6allnan_6allnan_2d_float_axis1}; +static PyObject *__pyx_pw_6allnan_7allnan_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_6allnan_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_float_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_6allnan_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2732,9 +2790,11 @@ static PyObject *__pyx_pw_6allnan_7allnan_2d_int_axis1(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_6allnan_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_f; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -2749,14 +2809,18 @@ static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *_ npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("allnan_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2767,20 +2831,20 @@ static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":220 - * def allnan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int along axis=1." + /* "allnan.pyx":224 + * def allnan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=float along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int_t ai + * cdef np.float_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":224 + /* "allnan.pyx":228 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2789,7 +2853,7 @@ static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":225 + /* "allnan.pyx":229 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2798,7 +2862,7 @@ static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":226 + /* "allnan.pyx":230 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -2807,7 +2871,7 @@ static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":227 + /* "allnan.pyx":231 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -2817,22 +2881,22 @@ static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "allnan.pyx":228 + /* "allnan.pyx":232 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) - * if n1 == 0: + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2840,78 +2904,130 @@ static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":230 + /* "allnan.pyx":234 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * for i0 in range(n0): # <<<<<<<<<<<<<< * f = 1 - * else: + * for i1 in range(n1): */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "allnan.pyx":231 + /* "allnan.pyx":235 * NPY_BOOL, 0) - * if n1 == 0: + * for i0 in range(n0): * f = 1 # <<<<<<<<<<<<<< - * else: - * f = 0 + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_v_f = 1; - goto __pyx_L3; - } - /*else*/ { - /* "allnan.pyx":233 - * f = 1 - * else: - * f = 0 # <<<<<<<<<<<<<< + /* "allnan.pyx":236 * for i0 in range(n0): - * y[i0] = f + * f = 1 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_f = 0; - } - __pyx_L3:; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "allnan.pyx":234 - * else: - * f = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = f - * return y + /* "allnan.pyx":237 + * f = 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * y[i0] = 0 */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "allnan.pyx":235 - * f = 0 - * for i0 in range(n0): - * y[i0] = f # <<<<<<<<<<<<<< - * return y - * + /* "allnan.pyx":238 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * y[i0] = 0 + * f = 0 */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; - } + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "allnan.pyx":236 - * for i0 in range(n0): - * y[i0] = f - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + /* "allnan.pyx":239 + * ai = a[i0, i1] + * if ai == ai: + * y[i0] = 0 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + + /* "allnan.pyx":240 + * if ai == ai: + * y[i0] = 0 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "allnan.pyx":241 + * y[i0] = 0 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i0] = 1 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "allnan.pyx":242 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i0] = 1 + * return y + */ + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { + + /* "allnan.pyx":243 + * break + * if f == 1: + * y[i0] = 1 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + goto __pyx_L8; + } + __pyx_L8:; + } + + /* "allnan.pyx":244 + * if f == 1: + * y[i0] = 1 + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "allnan.pyx":218 + /* "allnan.pyx":222 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=1." + * def allnan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=1." * cdef int f = 1 */ @@ -2923,7 +3039,7 @@ static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2936,27 +3052,27 @@ static PyObject *__pyx_pf_6allnan_6allnan_2d_int_axis1(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "allnan.pyx":240 +/* "allnan.pyx":248 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=0." + * def allnan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_9allnan_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_8allnan_2d_int8_axis0[] = "allnan_2d_int8_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_6allnan_9allnan_2d_int8_axis0 = {"allnan_2d_int8_axis0", (PyCFunction)__pyx_pw_6allnan_9allnan_2d_int8_axis0, METH_O, __pyx_doc_6allnan_8allnan_2d_int8_axis0}; -static PyObject *__pyx_pw_6allnan_9allnan_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_9allnan_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_8allnan_2d_float32_axis0[] = "allnan_2d_float32_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_6allnan_9allnan_2d_float32_axis0 = {"allnan_2d_float32_axis0", (PyCFunction)__pyx_pw_6allnan_9allnan_2d_float32_axis0, METH_O, __pyx_doc_6allnan_8allnan_2d_float32_axis0}; +static PyObject *__pyx_pw_6allnan_9allnan_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_8allnan_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_8allnan_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2967,8 +3083,10 @@ static PyObject *__pyx_pw_6allnan_9allnan_2d_int8_axis0(PyObject *__pyx_self, Py return __pyx_r; } -static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_8allnan_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_f; + __pyx_t_5numpy_float32_t __pyx_v_ai; + Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -2984,14 +3102,18 @@ static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject * npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("allnan_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3002,20 +3124,20 @@ static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":242 - * def allnan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int8 along axis=0." + /* "allnan.pyx":250 + * def allnan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=float32 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t ai + * cdef np.float32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":246 + /* "allnan.pyx":254 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3024,7 +3146,7 @@ static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":247 + /* "allnan.pyx":255 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3033,7 +3155,7 @@ static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":248 + /* "allnan.pyx":256 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -3042,7 +3164,7 @@ static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":249 + /* "allnan.pyx":257 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -3052,22 +3174,22 @@ static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "allnan.pyx":250 + /* "allnan.pyx":258 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) - * if n0 == 0: + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3075,64 +3197,116 @@ static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":252 + /* "allnan.pyx":260 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * for i1 in range(n1): # <<<<<<<<<<<<<< * f = 1 - * else: + * for i0 in range(n0): */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "allnan.pyx":253 + /* "allnan.pyx":261 * NPY_BOOL, 0) - * if n0 == 0: + * for i1 in range(n1): * f = 1 # <<<<<<<<<<<<<< - * else: - * f = 0 + * for i0 in range(n0): + * ai = a[i0, i1] */ __pyx_v_f = 1; - goto __pyx_L3; - } - /*else*/ { - /* "allnan.pyx":255 - * f = 1 - * else: - * f = 0 # <<<<<<<<<<<<<< + /* "allnan.pyx":262 * for i1 in range(n1): - * y[i1] = f + * f = 1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_f = 0; - } - __pyx_L3:; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "allnan.pyx":256 - * else: - * f = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i1] = f + /* "allnan.pyx":263 + * f = 1 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * y[i1] = 0 + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "allnan.pyx":264 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * y[i1] = 0 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "allnan.pyx":265 + * ai = a[i0, i1] + * if ai == ai: + * y[i1] = 0 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + + /* "allnan.pyx":266 + * if ai == ai: + * y[i1] = 0 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "allnan.pyx":267 + * y[i1] = 0 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i1] = 1 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "allnan.pyx":268 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i1] = 1 * return y */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { - /* "allnan.pyx":257 - * f = 0 - * for i1 in range(n1): - * y[i1] = f # <<<<<<<<<<<<<< + /* "allnan.pyx":269 + * break + * if f == 1: + * y[i1] = 1 # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + goto __pyx_L8; + } + __pyx_L8:; } - /* "allnan.pyx":258 - * for i1 in range(n1): - * y[i1] = f + /* "allnan.pyx":270 + * if f == 1: + * y[i1] = 1 * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3142,11 +3316,11 @@ static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "allnan.pyx":240 + /* "allnan.pyx":248 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=0." + * def allnan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=0." * cdef int f = 1 */ @@ -3158,7 +3332,7 @@ static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject * __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3171,27 +3345,27 @@ static PyObject *__pyx_pf_6allnan_8allnan_2d_int8_axis0(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "allnan.pyx":262 +/* "allnan.pyx":274 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=1." + * def allnan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_11allnan_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_10allnan_2d_int8_axis1[] = "allnan_2d_int8_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=int8 along axis=1."; -static PyMethodDef __pyx_mdef_6allnan_11allnan_2d_int8_axis1 = {"allnan_2d_int8_axis1", (PyCFunction)__pyx_pw_6allnan_11allnan_2d_int8_axis1, METH_O, __pyx_doc_6allnan_10allnan_2d_int8_axis1}; -static PyObject *__pyx_pw_6allnan_11allnan_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_11allnan_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_10allnan_2d_float32_axis1[] = "allnan_2d_float32_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=float32 along axis=1."; +static PyMethodDef __pyx_mdef_6allnan_11allnan_2d_float32_axis1 = {"allnan_2d_float32_axis1", (PyCFunction)__pyx_pw_6allnan_11allnan_2d_float32_axis1, METH_O, __pyx_doc_6allnan_10allnan_2d_float32_axis1}; +static PyObject *__pyx_pw_6allnan_11allnan_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int8_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_10allnan_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_float32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_10allnan_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3202,9 +3376,11 @@ static PyObject *__pyx_pw_6allnan_11allnan_2d_int8_axis1(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_10allnan_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_f; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -3219,14 +3395,18 @@ static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("allnan_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3237,20 +3417,20 @@ static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":264 - * def allnan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int8 along axis=1." + /* "allnan.pyx":276 + * def allnan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=float32 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t ai + * cdef np.float32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":268 + /* "allnan.pyx":280 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3259,7 +3439,7 @@ static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":269 + /* "allnan.pyx":281 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3268,7 +3448,7 @@ static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":270 + /* "allnan.pyx":282 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -3277,7 +3457,7 @@ static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":271 + /* "allnan.pyx":283 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -3287,22 +3467,22 @@ static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "allnan.pyx":272 + /* "allnan.pyx":284 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) - * if n1 == 0: + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3310,64 +3490,116 @@ static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":274 + /* "allnan.pyx":286 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * for i0 in range(n0): # <<<<<<<<<<<<<< * f = 1 - * else: + * for i1 in range(n1): */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "allnan.pyx":275 + /* "allnan.pyx":287 * NPY_BOOL, 0) - * if n1 == 0: + * for i0 in range(n0): * f = 1 # <<<<<<<<<<<<<< - * else: - * f = 0 + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_v_f = 1; - goto __pyx_L3; - } - /*else*/ { - /* "allnan.pyx":277 - * f = 1 - * else: - * f = 0 # <<<<<<<<<<<<<< + /* "allnan.pyx":288 * for i0 in range(n0): - * y[i0] = f + * f = 1 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_f = 0; - } - __pyx_L3:; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "allnan.pyx":278 - * else: - * f = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = f + /* "allnan.pyx":289 + * f = 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * y[i0] = 0 + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "allnan.pyx":290 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * y[i0] = 0 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "allnan.pyx":291 + * ai = a[i0, i1] + * if ai == ai: + * y[i0] = 0 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + + /* "allnan.pyx":292 + * if ai == ai: + * y[i0] = 0 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "allnan.pyx":293 + * y[i0] = 0 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i0] = 1 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "allnan.pyx":294 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i0] = 1 * return y */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { - /* "allnan.pyx":279 - * f = 0 - * for i0 in range(n0): - * y[i0] = f # <<<<<<<<<<<<<< + /* "allnan.pyx":295 + * break + * if f == 1: + * y[i0] = 1 # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + goto __pyx_L8; + } + __pyx_L8:; } - /* "allnan.pyx":280 - * for i0 in range(n0): - * y[i0] = f + /* "allnan.pyx":296 + * if f == 1: + * y[i0] = 1 * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3377,11 +3609,11 @@ static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "allnan.pyx":262 + /* "allnan.pyx":274 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=1." + * def allnan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=1." * cdef int f = 1 */ @@ -3393,7 +3625,7 @@ static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3406,27 +3638,27 @@ static PyObject *__pyx_pf_6allnan_10allnan_2d_int8_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "allnan.pyx":284 +/* "allnan.pyx":300 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=0." + * def allnan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_13allnan_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_12allnan_2d_int32_axis0[] = "allnan_2d_int32_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_6allnan_13allnan_2d_int32_axis0 = {"allnan_2d_int32_axis0", (PyCFunction)__pyx_pw_6allnan_13allnan_2d_int32_axis0, METH_O, __pyx_doc_6allnan_12allnan_2d_int32_axis0}; -static PyObject *__pyx_pw_6allnan_13allnan_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_13allnan_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_12allnan_2d_float64_axis0[] = "allnan_2d_float64_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_6allnan_13allnan_2d_float64_axis0 = {"allnan_2d_float64_axis0", (PyCFunction)__pyx_pw_6allnan_13allnan_2d_float64_axis0, METH_O, __pyx_doc_6allnan_12allnan_2d_float64_axis0}; +static PyObject *__pyx_pw_6allnan_13allnan_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_12allnan_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_12allnan_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3437,8 +3669,10 @@ static PyObject *__pyx_pw_6allnan_13allnan_2d_int32_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_12allnan_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_f; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -3454,14 +3688,18 @@ static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("allnan_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3472,20 +3710,20 @@ static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":286 - * def allnan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int32 along axis=0." + /* "allnan.pyx":302 + * def allnan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=float64 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":290 + /* "allnan.pyx":306 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3494,7 +3732,7 @@ static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":291 + /* "allnan.pyx":307 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3503,7 +3741,7 @@ static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":292 + /* "allnan.pyx":308 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -3512,7 +3750,7 @@ static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":293 + /* "allnan.pyx":309 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -3522,22 +3760,22 @@ static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "allnan.pyx":294 + /* "allnan.pyx":310 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) - * if n0 == 0: + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3545,64 +3783,116 @@ static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":296 + /* "allnan.pyx":312 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * for i1 in range(n1): # <<<<<<<<<<<<<< * f = 1 - * else: + * for i0 in range(n0): */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "allnan.pyx":297 + /* "allnan.pyx":313 * NPY_BOOL, 0) - * if n0 == 0: + * for i1 in range(n1): * f = 1 # <<<<<<<<<<<<<< - * else: - * f = 0 + * for i0 in range(n0): + * ai = a[i0, i1] */ __pyx_v_f = 1; - goto __pyx_L3; - } - /*else*/ { - /* "allnan.pyx":299 - * f = 1 - * else: - * f = 0 # <<<<<<<<<<<<<< + /* "allnan.pyx":314 * for i1 in range(n1): - * y[i1] = f + * f = 1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_f = 0; - } - __pyx_L3:; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "allnan.pyx":300 - * else: - * f = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i1] = f + /* "allnan.pyx":315 + * f = 1 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * y[i1] = 0 + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "allnan.pyx":316 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * y[i1] = 0 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "allnan.pyx":317 + * ai = a[i0, i1] + * if ai == ai: + * y[i1] = 0 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + + /* "allnan.pyx":318 + * if ai == ai: + * y[i1] = 0 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "allnan.pyx":319 + * y[i1] = 0 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i1] = 1 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "allnan.pyx":320 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i1] = 1 * return y */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { - /* "allnan.pyx":301 - * f = 0 - * for i1 in range(n1): - * y[i1] = f # <<<<<<<<<<<<<< + /* "allnan.pyx":321 + * break + * if f == 1: + * y[i1] = 1 # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + goto __pyx_L8; + } + __pyx_L8:; } - /* "allnan.pyx":302 - * for i1 in range(n1): - * y[i1] = f + /* "allnan.pyx":322 + * if f == 1: + * y[i1] = 1 * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3612,11 +3902,11 @@ static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "allnan.pyx":284 + /* "allnan.pyx":300 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=0." + * def allnan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=0." * cdef int f = 1 */ @@ -3628,7 +3918,7 @@ static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3641,27 +3931,27 @@ static PyObject *__pyx_pf_6allnan_12allnan_2d_int32_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "allnan.pyx":306 +/* "allnan.pyx":326 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=1." + * def allnan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_15allnan_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_14allnan_2d_int32_axis1[] = "allnan_2d_int32_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=int32 along axis=1."; -static PyMethodDef __pyx_mdef_6allnan_15allnan_2d_int32_axis1 = {"allnan_2d_int32_axis1", (PyCFunction)__pyx_pw_6allnan_15allnan_2d_int32_axis1, METH_O, __pyx_doc_6allnan_14allnan_2d_int32_axis1}; -static PyObject *__pyx_pw_6allnan_15allnan_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_15allnan_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_14allnan_2d_float64_axis1[] = "allnan_2d_float64_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=float64 along axis=1."; +static PyMethodDef __pyx_mdef_6allnan_15allnan_2d_float64_axis1 = {"allnan_2d_float64_axis1", (PyCFunction)__pyx_pw_6allnan_15allnan_2d_float64_axis1, METH_O, __pyx_doc_6allnan_14allnan_2d_float64_axis1}; +static PyObject *__pyx_pw_6allnan_15allnan_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_14allnan_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_float64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_14allnan_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3672,9 +3962,11 @@ static PyObject *__pyx_pw_6allnan_15allnan_2d_int32_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_14allnan_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_f; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -3689,14 +3981,18 @@ static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("allnan_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3707,20 +4003,20 @@ static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":308 - * def allnan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int32 along axis=1." + /* "allnan.pyx":328 + * def allnan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=float64 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":312 + /* "allnan.pyx":332 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3729,7 +4025,7 @@ static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":313 + /* "allnan.pyx":333 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3738,7 +4034,7 @@ static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":314 + /* "allnan.pyx":334 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -3747,7 +4043,7 @@ static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":315 + /* "allnan.pyx":335 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -3757,22 +4053,22 @@ static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "allnan.pyx":316 + /* "allnan.pyx":336 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) - * if n1 == 0: + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3780,64 +4076,116 @@ static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":318 + /* "allnan.pyx":338 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * for i0 in range(n0): # <<<<<<<<<<<<<< * f = 1 - * else: + * for i1 in range(n1): */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "allnan.pyx":319 + /* "allnan.pyx":339 * NPY_BOOL, 0) - * if n1 == 0: + * for i0 in range(n0): * f = 1 # <<<<<<<<<<<<<< - * else: - * f = 0 + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_v_f = 1; - goto __pyx_L3; - } - /*else*/ { - /* "allnan.pyx":321 - * f = 1 - * else: - * f = 0 # <<<<<<<<<<<<<< + /* "allnan.pyx":340 * for i0 in range(n0): - * y[i0] = f + * f = 1 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_f = 0; - } - __pyx_L3:; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "allnan.pyx":322 - * else: - * f = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = f + /* "allnan.pyx":341 + * f = 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * y[i0] = 0 + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "allnan.pyx":342 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * y[i0] = 0 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "allnan.pyx":343 + * ai = a[i0, i1] + * if ai == ai: + * y[i0] = 0 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + + /* "allnan.pyx":344 + * if ai == ai: + * y[i0] = 0 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "allnan.pyx":345 + * y[i0] = 0 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i0] = 1 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "allnan.pyx":346 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i0] = 1 * return y */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { - /* "allnan.pyx":323 - * f = 0 - * for i0 in range(n0): - * y[i0] = f # <<<<<<<<<<<<<< + /* "allnan.pyx":347 + * break + * if f == 1: + * y[i0] = 1 # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + goto __pyx_L8; + } + __pyx_L8:; } - /* "allnan.pyx":324 - * for i0 in range(n0): - * y[i0] = f + /* "allnan.pyx":348 + * if f == 1: + * y[i0] = 1 * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3847,11 +4195,11 @@ static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "allnan.pyx":306 + /* "allnan.pyx":326 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=1." + * def allnan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=1." * cdef int f = 1 */ @@ -3863,7 +4211,7 @@ static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3876,27 +4224,27 @@ static PyObject *__pyx_pf_6allnan_14allnan_2d_int32_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "allnan.pyx":328 +/* "allnan.pyx":352 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=0." + * def allnan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_17allnan_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_16allnan_2d_int64_axis0[] = "allnan_2d_int64_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_6allnan_17allnan_2d_int64_axis0 = {"allnan_2d_int64_axis0", (PyCFunction)__pyx_pw_6allnan_17allnan_2d_int64_axis0, METH_O, __pyx_doc_6allnan_16allnan_2d_int64_axis0}; -static PyObject *__pyx_pw_6allnan_17allnan_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_17allnan_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_16allnan_1d_float_axisNone[] = "allnan_1d_float_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=float along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_17allnan_1d_float_axisNone = {"allnan_1d_float_axisNone", (PyCFunction)__pyx_pw_6allnan_17allnan_1d_float_axisNone, METH_O, __pyx_doc_6allnan_16allnan_1d_float_axisNone}; +static PyObject *__pyx_pw_6allnan_17allnan_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_16allnan_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_1d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_16allnan_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3907,231 +4255,184 @@ static PyObject *__pyx_pw_6allnan_17allnan_2d_int64_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6allnan_16allnan_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6allnan_16allnan_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; + __pyx_t_5numpy_float_t __pyx_v_ai; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; int __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("allnan_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "allnan.pyx":330 - * def allnan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int64 along axis=0." + /* "allnan.pyx":354 + * def allnan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): + * "Check for all NaNs in 1d array with dtype=float along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.float_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "allnan.pyx":334 - * cdef Py_ssize_t i0, i1 + /* "allnan.pyx":358 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":335 + /* "allnan.pyx":359 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":336 + /* "allnan.pyx":360 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "allnan.pyx":337 + /* "allnan.pyx":361 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * return np.bool_(False) */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "allnan.pyx":338 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * if n0 == 0: + /* "allnan.pyx":362 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * return np.bool_(False) + * return np.bool_(True) */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "allnan.pyx":340 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * f = 1 - * else: - */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { - - /* "allnan.pyx":341 - * NPY_BOOL, 0) - * if n0 == 0: - * f = 1 # <<<<<<<<<<<<<< - * else: - * f = 0 - */ - __pyx_v_f = 1; - goto __pyx_L3; - } - /*else*/ { - - /* "allnan.pyx":343 - * f = 1 - * else: - * f = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * y[i1] = f - */ - __pyx_v_f = 0; - } - __pyx_L3:; - - /* "allnan.pyx":344 - * else: - * f = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i1] = f - * return y - */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; - - /* "allnan.pyx":345 - * f = 0 - * for i1 in range(n1): - * y[i1] = f # <<<<<<<<<<<<<< - * return y + /* "allnan.pyx":363 + * ai = a[i0] + * if ai == ai: + * return np.bool_(False) # <<<<<<<<<<<<<< + * return np.bool_(True) * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + } } - /* "allnan.pyx":346 - * for i1 in range(n1): - * y[i1] = f - * return y # <<<<<<<<<<<<<< + /* "allnan.pyx":364 + * if ai == ai: + * return np.bool_(False) + * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; goto __pyx_L0; - /* "allnan.pyx":328 + /* "allnan.pyx":352 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=0." + * def allnan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":350 +/* "allnan.pyx":368 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=1." + * def allnan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float32 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_19allnan_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_18allnan_2d_int64_axis1[] = "allnan_2d_int64_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=int64 along axis=1."; -static PyMethodDef __pyx_mdef_6allnan_19allnan_2d_int64_axis1 = {"allnan_2d_int64_axis1", (PyCFunction)__pyx_pw_6allnan_19allnan_2d_int64_axis1, METH_O, __pyx_doc_6allnan_18allnan_2d_int64_axis1}; -static PyObject *__pyx_pw_6allnan_19allnan_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_19allnan_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_18allnan_1d_float32_axisNone[] = "allnan_1d_float32_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=float32 along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_19allnan_1d_float32_axisNone = {"allnan_1d_float32_axisNone", (PyCFunction)__pyx_pw_6allnan_19allnan_1d_float32_axisNone, METH_O, __pyx_doc_6allnan_18allnan_1d_float32_axisNone}; +static PyObject *__pyx_pw_6allnan_19allnan_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_18allnan_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_1d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_18allnan_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4142,231 +4443,184 @@ static PyObject *__pyx_pw_6allnan_19allnan_2d_int64_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6allnan_18allnan_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; +static PyObject *__pyx_pf_6allnan_18allnan_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; int __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("allnan_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "allnan.pyx":352 - * def allnan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int64 along axis=1." + /* "allnan.pyx":370 + * def allnan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): + * "Check for all NaNs in 1d array with dtype=float32 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.float32_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "allnan.pyx":356 - * cdef Py_ssize_t i0, i1 + /* "allnan.pyx":374 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":357 + /* "allnan.pyx":375 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":358 + /* "allnan.pyx":376 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "allnan.pyx":359 + /* "allnan.pyx":377 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "allnan.pyx":360 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * if n1 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "allnan.pyx":362 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * f = 1 - * else: - */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { - - /* "allnan.pyx":363 - * NPY_BOOL, 0) - * if n1 == 0: - * f = 1 # <<<<<<<<<<<<<< - * else: - * f = 0 - */ - __pyx_v_f = 1; - goto __pyx_L3; - } - /*else*/ { - - /* "allnan.pyx":365 - * f = 1 - * else: - * f = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * y[i0] = f + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * return np.bool_(False) */ - __pyx_v_f = 0; - } - __pyx_L3:; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "allnan.pyx":366 - * else: - * f = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = f - * return y + /* "allnan.pyx":378 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * return np.bool_(False) + * return np.bool_(True) */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "allnan.pyx":367 - * f = 0 - * for i0 in range(n0): - * y[i0] = f # <<<<<<<<<<<<<< - * return y + /* "allnan.pyx":379 + * ai = a[i0] + * if ai == ai: + * return np.bool_(False) # <<<<<<<<<<<<<< + * return np.bool_(True) * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + } } - /* "allnan.pyx":368 - * for i0 in range(n0): - * y[i0] = f - * return y # <<<<<<<<<<<<<< + /* "allnan.pyx":380 + * if ai == ai: + * return np.bool_(False) + * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "allnan.pyx":350 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def allnan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=1." + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + + /* "allnan.pyx":368 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def allnan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float32 along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":372 +/* "allnan.pyx":384 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float along axis=None." + * def allnan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float64 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_21allnan_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_20allnan_1d_float_axisNone[] = "allnan_1d_float_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=float along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_21allnan_1d_float_axisNone = {"allnan_1d_float_axisNone", (PyCFunction)__pyx_pw_6allnan_21allnan_1d_float_axisNone, METH_O, __pyx_doc_6allnan_20allnan_1d_float_axisNone}; -static PyObject *__pyx_pw_6allnan_21allnan_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_21allnan_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_20allnan_1d_float64_axisNone[] = "allnan_1d_float64_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=float64 along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_21allnan_1d_float64_axisNone = {"allnan_1d_float64_axisNone", (PyCFunction)__pyx_pw_6allnan_21allnan_1d_float64_axisNone, METH_O, __pyx_doc_6allnan_20allnan_1d_float64_axisNone}; +static PyObject *__pyx_pw_6allnan_21allnan_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_1d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_20allnan_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_1d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_20allnan_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4377,9 +4631,9 @@ static PyObject *__pyx_pw_6allnan_21allnan_1d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_20allnan_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4396,27 +4650,27 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "allnan.pyx":374 - * def allnan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): - * "Check for all NaNs in 1d array with dtype=float along axis=None." + /* "allnan.pyx":386 + * def allnan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): + * "Check for all NaNs in 1d array with dtype=float64 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "allnan.pyx":378 + /* "allnan.pyx":390 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4425,7 +4679,7 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":379 + /* "allnan.pyx":391 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4434,7 +4688,7 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":380 + /* "allnan.pyx":392 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4445,7 +4699,7 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "allnan.pyx":381 + /* "allnan.pyx":393 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -4453,9 +4707,9 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj * return np.bool_(False) */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "allnan.pyx":382 + /* "allnan.pyx":394 * for i0 in range(n0): * ai = a[i0] * if ai == ai: # <<<<<<<<<<<<<< @@ -4465,7 +4719,7 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "allnan.pyx":383 + /* "allnan.pyx":395 * ai = a[i0] * if ai == ai: * return np.bool_(False) # <<<<<<<<<<<<<< @@ -4473,12 +4727,12 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_r = __pyx_t_5; @@ -4487,7 +4741,7 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "allnan.pyx":384 + /* "allnan.pyx":396 * if ai == ai: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< @@ -4495,23 +4749,23 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; - /* "allnan.pyx":372 + /* "allnan.pyx":384 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float along axis=None." + * def allnan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float64 along axis=None." * cdef int f = 1 */ @@ -4523,7 +4777,7 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4534,27 +4788,27 @@ static PyObject *__pyx_pf_6allnan_20allnan_1d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "allnan.pyx":388 +/* "allnan.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float32 along axis=None." + * def allnan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_23allnan_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_22allnan_1d_float32_axisNone[] = "allnan_1d_float32_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=float32 along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_23allnan_1d_float32_axisNone = {"allnan_1d_float32_axisNone", (PyCFunction)__pyx_pw_6allnan_23allnan_1d_float32_axisNone, METH_O, __pyx_doc_6allnan_22allnan_1d_float32_axisNone}; -static PyObject *__pyx_pw_6allnan_23allnan_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_23allnan_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_22allnan_2d_float_axisNone[] = "allnan_2d_float_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=float along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_23allnan_2d_float_axisNone = {"allnan_2d_float_axisNone", (PyCFunction)__pyx_pw_6allnan_23allnan_2d_float_axisNone, METH_O, __pyx_doc_6allnan_22allnan_2d_float_axisNone}; +static PyObject *__pyx_pw_6allnan_23allnan_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_1d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_22allnan_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_22allnan_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4565,12 +4819,14 @@ static PyObject *__pyx_pw_6allnan_23allnan_1d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6allnan_22allnan_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_22allnan_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -4578,140 +4834,165 @@ static PyObject *__pyx_pf_6allnan_22allnan_1d_float32_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":390 - * def allnan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): - * "Check for all NaNs in 1d array with dtype=float32 along axis=None." + /* "allnan.pyx":402 + * def allnan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=float along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai - * cdef Py_ssize_t i0 + * cdef np.float_t ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":394 - * cdef Py_ssize_t i0 + /* "allnan.pyx":406 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":395 + /* "allnan.pyx":407 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":396 + /* "allnan.pyx":408 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "allnan.pyx":409 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "allnan.pyx":397 - * cdef Py_ssize_t n0 = dim[0] + /* "allnan.pyx":410 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * return np.bool_(False) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "allnan.pyx":398 + /* "allnan.pyx":411 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * return np.bool_(False) + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * return np.bool_(False) + */ + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "allnan.pyx":412 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * return np.bool_(False) * return np.bool_(True) */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { - /* "allnan.pyx":399 - * ai = a[i0] - * if ai == ai: - * return np.bool_(False) # <<<<<<<<<<<<<< + /* "allnan.pyx":413 + * ai = a[i0, i1] + * if ai == ai: + * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; + } } } - /* "allnan.pyx":400 - * if ai == ai: - * return np.bool_(False) + /* "allnan.pyx":414 + * if ai == ai: + * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; goto __pyx_L0; - /* "allnan.pyx":388 + /* "allnan.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float32 along axis=None." + * def allnan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4722,27 +5003,27 @@ static PyObject *__pyx_pf_6allnan_22allnan_1d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "allnan.pyx":404 +/* "allnan.pyx":418 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float64 along axis=None." + * def allnan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_25allnan_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_24allnan_1d_float64_axisNone[] = "allnan_1d_float64_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=float64 along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_25allnan_1d_float64_axisNone = {"allnan_1d_float64_axisNone", (PyCFunction)__pyx_pw_6allnan_25allnan_1d_float64_axisNone, METH_O, __pyx_doc_6allnan_24allnan_1d_float64_axisNone}; -static PyObject *__pyx_pw_6allnan_25allnan_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_25allnan_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_24allnan_2d_float32_axisNone[] = "allnan_2d_float32_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=float32 along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_25allnan_2d_float32_axisNone = {"allnan_2d_float32_axisNone", (PyCFunction)__pyx_pw_6allnan_25allnan_2d_float32_axisNone, METH_O, __pyx_doc_6allnan_24allnan_2d_float32_axisNone}; +static PyObject *__pyx_pw_6allnan_25allnan_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_1d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_24allnan_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_24allnan_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4753,12 +5034,14 @@ static PyObject *__pyx_pw_6allnan_25allnan_1d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6allnan_24allnan_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_24allnan_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -4766,265 +5049,75 @@ static PyObject *__pyx_pf_6allnan_24allnan_1d_float64_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_1d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":406 - * def allnan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): - * "Check for all NaNs in 1d array with dtype=float64 along axis=None." + /* "allnan.pyx":420 + * def allnan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=float32 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai - * cdef Py_ssize_t i0 + * cdef np.float32_t ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":410 - * cdef Py_ssize_t i0 + /* "allnan.pyx":424 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":411 + /* "allnan.pyx":425 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":412 + /* "allnan.pyx":426 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "allnan.pyx":427 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "allnan.pyx":413 - * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * return np.bool_(False) - */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - - /* "allnan.pyx":414 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * return np.bool_(False) - * return np.bool_(True) - */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { - - /* "allnan.pyx":415 - * ai = a[i0] - * if ai == ai: - * return np.bool_(False) # <<<<<<<<<<<<<< - * return np.bool_(True) - * - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; - } - } - - /* "allnan.pyx":416 - * if ai == ai: - * return np.bool_(False) - * return np.bool_(True) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; - - /* "allnan.pyx":404 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def allnan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float64 along axis=None." - * cdef int f = 1 - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; - __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - goto __pyx_L2; - __pyx_L0:; - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __pyx_L2:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "allnan.pyx":420 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def allnan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=None." - * cdef int f = 1 - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_6allnan_27allnan_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_26allnan_2d_float_axisNone[] = "allnan_2d_float_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=float along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_27allnan_2d_float_axisNone = {"allnan_2d_float_axisNone", (PyCFunction)__pyx_pw_6allnan_27allnan_2d_float_axisNone, METH_O, __pyx_doc_6allnan_26allnan_2d_float_axisNone}; -static PyObject *__pyx_pw_6allnan_27allnan_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_lineno = 0; - CYTHON_UNUSED const char *__pyx_filename = NULL; - CYTHON_UNUSED int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_26allnan_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_6allnan_26allnan_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; - npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - __Pyx_LocalBuf_ND __pyx_pybuffernd_a; - __Pyx_Buffer __pyx_pybuffer_a; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_float_axisNone", 0); - __pyx_pybuffer_a.pybuffer.buf = NULL; - __pyx_pybuffer_a.refcount = 0; - __pyx_pybuffernd_a.data = NULL; - __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "allnan.pyx":422 - * def allnan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=float along axis=None." - * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_f = 1; - - /* "allnan.pyx":426 - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - */ - __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - - /* "allnan.pyx":427 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "allnan.pyx":428 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "allnan.pyx":429 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; - - /* "allnan.pyx":430 - * cdef Py_ssize_t n1 = dim[1] + /* "allnan.pyx":428 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] @@ -5034,7 +5127,7 @@ static PyObject *__pyx_pf_6allnan_26allnan_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "allnan.pyx":431 + /* "allnan.pyx":429 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -5043,9 +5136,9 @@ static PyObject *__pyx_pf_6allnan_26allnan_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_t_5 = __pyx_v_i0; __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "allnan.pyx":432 + /* "allnan.pyx":430 * for i1 in range(n1): * ai = a[i0, i1] * if ai == ai: # <<<<<<<<<<<<<< @@ -5055,7 +5148,7 @@ static PyObject *__pyx_pf_6allnan_26allnan_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "allnan.pyx":433 + /* "allnan.pyx":431 * ai = a[i0, i1] * if ai == ai: * return np.bool_(False) # <<<<<<<<<<<<<< @@ -5063,12 +5156,12 @@ static PyObject *__pyx_pf_6allnan_26allnan_2d_float_axisNone(CYTHON_UNUSED PyObj * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_8; @@ -5078,7 +5171,7 @@ static PyObject *__pyx_pf_6allnan_26allnan_2d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "allnan.pyx":434 + /* "allnan.pyx":432 * if ai == ai: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< @@ -5086,23 +5179,23 @@ static PyObject *__pyx_pf_6allnan_26allnan_2d_float_axisNone(CYTHON_UNUSED PyObj * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_8; __pyx_t_8 = 0; goto __pyx_L0; - /* "allnan.pyx":420 + /* "allnan.pyx":418 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=None." + * def allnan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=None." * cdef int f = 1 */ @@ -5114,7 +5207,7 @@ static PyObject *__pyx_pf_6allnan_26allnan_2d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5125,27 +5218,27 @@ static PyObject *__pyx_pf_6allnan_26allnan_2d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "allnan.pyx":438 +/* "allnan.pyx":436 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=None." + * def allnan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_29allnan_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_28allnan_2d_float32_axisNone[] = "allnan_2d_float32_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=float32 along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_29allnan_2d_float32_axisNone = {"allnan_2d_float32_axisNone", (PyCFunction)__pyx_pw_6allnan_29allnan_2d_float32_axisNone, METH_O, __pyx_doc_6allnan_28allnan_2d_float32_axisNone}; -static PyObject *__pyx_pw_6allnan_29allnan_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_27allnan_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_26allnan_2d_float64_axisNone[] = "allnan_2d_float64_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=float64 along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_27allnan_2d_float64_axisNone = {"allnan_2d_float64_axisNone", (PyCFunction)__pyx_pw_6allnan_27allnan_2d_float64_axisNone, METH_O, __pyx_doc_6allnan_26allnan_2d_float64_axisNone}; +static PyObject *__pyx_pw_6allnan_27allnan_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_28allnan_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_26allnan_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5156,9 +5249,9 @@ static PyObject *__pyx_pw_6allnan_29allnan_2d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_26allnan_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -5180,27 +5273,27 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":440 - * def allnan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=float32 along axis=None." + /* "allnan.pyx":438 + * def allnan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=float64 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":444 + /* "allnan.pyx":442 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5209,7 +5302,7 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":445 + /* "allnan.pyx":443 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5218,7 +5311,7 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":446 + /* "allnan.pyx":444 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5227,7 +5320,7 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":447 + /* "allnan.pyx":445 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5238,7 +5331,7 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "allnan.pyx":448 + /* "allnan.pyx":446 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -5249,7 +5342,7 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "allnan.pyx":449 + /* "allnan.pyx":447 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -5258,9 +5351,9 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_t_5 = __pyx_v_i0; __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "allnan.pyx":450 + /* "allnan.pyx":448 * for i1 in range(n1): * ai = a[i0, i1] * if ai == ai: # <<<<<<<<<<<<<< @@ -5270,7 +5363,7 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "allnan.pyx":451 + /* "allnan.pyx":449 * ai = a[i0, i1] * if ai == ai: * return np.bool_(False) # <<<<<<<<<<<<<< @@ -5278,12 +5371,12 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_8; @@ -5293,7 +5386,7 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO } } - /* "allnan.pyx":452 + /* "allnan.pyx":450 * if ai == ai: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< @@ -5301,23 +5394,23 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_8; __pyx_t_8 = 0; goto __pyx_L0; - /* "allnan.pyx":438 + /* "allnan.pyx":436 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=None." + * def allnan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=None." * cdef int f = 1 */ @@ -5329,7 +5422,7 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5340,27 +5433,27 @@ static PyObject *__pyx_pf_6allnan_28allnan_2d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "allnan.pyx":456 +/* "allnan.pyx":454 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=None." + * def allnan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_31allnan_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_30allnan_2d_float64_axisNone[] = "allnan_2d_float64_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=float64 along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_31allnan_2d_float64_axisNone = {"allnan_2d_float64_axisNone", (PyCFunction)__pyx_pw_6allnan_31allnan_2d_float64_axisNone, METH_O, __pyx_doc_6allnan_30allnan_2d_float64_axisNone}; -static PyObject *__pyx_pw_6allnan_31allnan_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_29allnan_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_28allnan_1d_int_axisNone[] = "allnan_1d_int_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=int along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_29allnan_1d_int_axisNone = {"allnan_1d_int_axisNone", (PyCFunction)__pyx_pw_6allnan_29allnan_1d_int_axisNone, METH_O, __pyx_doc_6allnan_28allnan_1d_int_axisNone}; +static PyObject *__pyx_pw_6allnan_29allnan_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_30allnan_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_1d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_28allnan_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5371,180 +5464,128 @@ static PyObject *__pyx_pw_6allnan_31allnan_2d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6allnan_30allnan_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6allnan_28allnan_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_1d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "allnan.pyx":458 - * def allnan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=float64 along axis=None." + /* "allnan.pyx":456 + * def allnan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): + * "Check for all NaNs in 1d array with dtype=int along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.int_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "allnan.pyx":462 - * cdef Py_ssize_t i0, i1 + /* "allnan.pyx":460 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":463 + /* "allnan.pyx":461 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * if n0 == 0: + * return np.bool_(True) */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":464 + /* "allnan.pyx":462 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * if n0 == 0: # <<<<<<<<<<<<<< + * return np.bool_(True) + * else: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "allnan.pyx":465 + /* "allnan.pyx":463 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; - - /* "allnan.pyx":466 - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; - - /* "allnan.pyx":467 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * return np.bool_(False) - */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "allnan.pyx":468 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * return np.bool_(False) - * return np.bool_(True) - */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { - - /* "allnan.pyx":469 - * ai = a[i0, i1] - * if ai == ai: - * return np.bool_(False) # <<<<<<<<<<<<<< - * return np.bool_(True) - * + * if n0 == 0: + * return np.bool_(True) # <<<<<<<<<<<<<< + * else: + * return np.bool_(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; - } - } + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "allnan.pyx":470 - * if ai == ai: - * return np.bool_(False) - * return np.bool_(True) # <<<<<<<<<<<<<< + /* "allnan.pyx":465 + * return np.bool_(True) + * else: + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "allnan.pyx":456 + /* "allnan.pyx":454 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=None." + * def allnan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5555,27 +5596,27 @@ static PyObject *__pyx_pf_6allnan_30allnan_2d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "allnan.pyx":474 +/* "allnan.pyx":469 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=0." + * def allnan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int8 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_33allnan_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_32allnan_2d_float_axis0[] = "allnan_2d_float_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_6allnan_33allnan_2d_float_axis0 = {"allnan_2d_float_axis0", (PyCFunction)__pyx_pw_6allnan_33allnan_2d_float_axis0, METH_O, __pyx_doc_6allnan_32allnan_2d_float_axis0}; -static PyObject *__pyx_pw_6allnan_33allnan_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_31allnan_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_30allnan_1d_int8_axisNone[] = "allnan_1d_int8_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=int8 along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_31allnan_1d_int8_axisNone = {"allnan_1d_int8_axisNone", (PyCFunction)__pyx_pw_6allnan_31allnan_1d_int8_axisNone, METH_O, __pyx_doc_6allnan_30allnan_1d_int8_axisNone}; +static PyObject *__pyx_pw_6allnan_31allnan_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_32allnan_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_1d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_30allnan_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5586,289 +5627,159 @@ static PyObject *__pyx_pw_6allnan_33allnan_2d_float_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6allnan_32allnan_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6allnan_30allnan_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_float_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("allnan_1d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "allnan.pyx":476 - * def allnan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=float along axis=0." + /* "allnan.pyx":471 + * def allnan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): + * "Check for all NaNs in 1d array with dtype=int8 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.int8_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "allnan.pyx":480 - * cdef Py_ssize_t i0, i1 + /* "allnan.pyx":475 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":481 + /* "allnan.pyx":476 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 == 0: + * return np.bool_(True) */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":482 + /* "allnan.pyx":477 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * if n0 == 0: # <<<<<<<<<<<<<< + * return np.bool_(True) + * else: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "allnan.pyx":483 + /* "allnan.pyx":478 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "allnan.pyx":484 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i1 in range(n1): + * if n0 == 0: + * return np.bool_(True) # <<<<<<<<<<<<<< + * else: + * return np.bool_(False) */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + /*else*/ { - /* "allnan.pyx":486 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * f = 1 - * for i0 in range(n0): + /* "allnan.pyx":480 + * return np.bool_(True) + * else: + * return np.bool_(False) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "allnan.pyx":487 - * NPY_BOOL, 0) - * for i1 in range(n1): - * f = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; - - /* "allnan.pyx":488 - * for i1 in range(n1): - * f = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "allnan.pyx":489 - * f = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * y[i1] = 0 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "allnan.pyx":490 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * y[i1] = 0 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "allnan.pyx":491 - * ai = a[i0, i1] - * if ai == ai: - * y[i1] = 0 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - - /* "allnan.pyx":492 - * if ai == ai: - * y[i1] = 0 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; - - /* "allnan.pyx":493 - * y[i1] = 0 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i1] = 1 - */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; - - /* "allnan.pyx":494 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i1] = 1 - * return y - */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { - - /* "allnan.pyx":495 - * break - * if f == 1: - * y[i1] = 1 # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "allnan.pyx":496 - * if f == 1: - * y[i1] = 1 - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "allnan.pyx":474 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def allnan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=0." - * cdef int f = 1 + /* "allnan.pyx":469 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def allnan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int8 along axis=None." + * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":500 +/* "allnan.pyx":484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=1." + * def allnan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int32 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_35allnan_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_34allnan_2d_float_axis1[] = "allnan_2d_float_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=float along axis=1."; -static PyMethodDef __pyx_mdef_6allnan_35allnan_2d_float_axis1 = {"allnan_2d_float_axis1", (PyCFunction)__pyx_pw_6allnan_35allnan_2d_float_axis1, METH_O, __pyx_doc_6allnan_34allnan_2d_float_axis1}; -static PyObject *__pyx_pw_6allnan_35allnan_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_33allnan_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_32allnan_1d_int32_axisNone[] = "allnan_1d_int32_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=int32 along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_33allnan_1d_int32_axisNone = {"allnan_1d_int32_axisNone", (PyCFunction)__pyx_pw_6allnan_33allnan_1d_int32_axisNone, METH_O, __pyx_doc_6allnan_32allnan_1d_int32_axisNone}; +static PyObject *__pyx_pw_6allnan_33allnan_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_float_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_34allnan_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_1d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_32allnan_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5879,289 +5790,159 @@ static PyObject *__pyx_pw_6allnan_35allnan_2d_float_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6allnan_34allnan_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6allnan_32allnan_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_float_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("allnan_1d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "allnan.pyx":502 - * def allnan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=float along axis=1." + /* "allnan.pyx":486 + * def allnan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): + * "Check for all NaNs in 1d array with dtype=int32 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.int32_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "allnan.pyx":506 - * cdef Py_ssize_t i0, i1 + /* "allnan.pyx":490 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":507 + /* "allnan.pyx":491 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 == 0: + * return np.bool_(True) */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":508 + /* "allnan.pyx":492 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * if n0 == 0: # <<<<<<<<<<<<<< + * return np.bool_(True) + * else: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "allnan.pyx":509 + /* "allnan.pyx":493 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "allnan.pyx":510 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "allnan.pyx":512 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * f = 1 - * for i1 in range(n1): - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "allnan.pyx":513 - * NPY_BOOL, 0) - * for i0 in range(n0): - * f = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; - - /* "allnan.pyx":514 - * for i0 in range(n0): - * f = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "allnan.pyx":515 - * f = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * y[i0] = 0 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "allnan.pyx":516 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * y[i0] = 0 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "allnan.pyx":517 - * ai = a[i0, i1] - * if ai == ai: - * y[i0] = 0 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - - /* "allnan.pyx":518 - * if ai == ai: - * y[i0] = 0 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; - - /* "allnan.pyx":519 - * y[i0] = 0 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i0] = 1 - */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; - - /* "allnan.pyx":520 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i0] = 1 - * return y - */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { - - /* "allnan.pyx":521 - * break - * if f == 1: - * y[i0] = 1 # <<<<<<<<<<<<<< - * return y - * + * if n0 == 0: + * return np.bool_(True) # <<<<<<<<<<<<<< + * else: + * return np.bool_(False) */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; - } - __pyx_L8:; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "allnan.pyx":522 - * if f == 1: - * y[i0] = 1 - * return y # <<<<<<<<<<<<<< + /* "allnan.pyx":495 + * return np.bool_(True) + * else: + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "allnan.pyx":500 + /* "allnan.pyx":484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=1." + * def allnan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int32 along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":526 +/* "allnan.pyx":499 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=0." + * def allnan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int64 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_37allnan_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_36allnan_2d_float32_axis0[] = "allnan_2d_float32_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_6allnan_37allnan_2d_float32_axis0 = {"allnan_2d_float32_axis0", (PyCFunction)__pyx_pw_6allnan_37allnan_2d_float32_axis0, METH_O, __pyx_doc_6allnan_36allnan_2d_float32_axis0}; -static PyObject *__pyx_pw_6allnan_37allnan_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_35allnan_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_34allnan_1d_int64_axisNone[] = "allnan_1d_int64_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=int64 along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_35allnan_1d_int64_axisNone = {"allnan_1d_int64_axisNone", (PyCFunction)__pyx_pw_6allnan_35allnan_1d_int64_axisNone, METH_O, __pyx_doc_6allnan_34allnan_1d_int64_axisNone}; +static PyObject *__pyx_pw_6allnan_35allnan_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_36allnan_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_1d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_34allnan_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6172,289 +5953,159 @@ static PyObject *__pyx_pw_6allnan_37allnan_2d_float32_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6allnan_36allnan_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6allnan_34allnan_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_float32_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("allnan_1d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "allnan.pyx":528 - * def allnan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=float32 along axis=0." + /* "allnan.pyx":501 + * def allnan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): + * "Check for all NaNs in 1d array with dtype=int64 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.int64_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "allnan.pyx":532 - * cdef Py_ssize_t i0, i1 + /* "allnan.pyx":505 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":533 + /* "allnan.pyx":506 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "allnan.pyx":534 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "allnan.pyx":535 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "allnan.pyx":536 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "allnan.pyx":538 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * f = 1 - * for i0 in range(n0): - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "allnan.pyx":539 - * NPY_BOOL, 0) - * for i1 in range(n1): - * f = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; - - /* "allnan.pyx":540 - * for i1 in range(n1): - * f = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "allnan.pyx":541 - * f = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * y[i1] = 0 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "allnan.pyx":542 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * y[i1] = 0 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "allnan.pyx":543 - * ai = a[i0, i1] - * if ai == ai: - * y[i1] = 0 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - - /* "allnan.pyx":544 - * if ai == ai: - * y[i1] = 0 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; - - /* "allnan.pyx":545 - * y[i1] = 0 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i1] = 1 + * if n0 == 0: + * return np.bool_(True) */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":546 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i1] = 1 - * return y + /* "allnan.pyx":507 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: # <<<<<<<<<<<<<< + * return np.bool_(True) + * else: */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "allnan.pyx":547 - * break - * if f == 1: - * y[i1] = 1 # <<<<<<<<<<<<<< - * return y - * + /* "allnan.pyx":508 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: + * return np.bool_(True) # <<<<<<<<<<<<<< + * else: + * return np.bool_(False) */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; - } - __pyx_L8:; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "allnan.pyx":548 - * if f == 1: - * y[i1] = 1 - * return y # <<<<<<<<<<<<<< + /* "allnan.pyx":510 + * return np.bool_(True) + * else: + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "allnan.pyx":526 + /* "allnan.pyx":499 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=0." + * def allnan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int64 along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":552 +/* "allnan.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=1." + * def allnan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_39allnan_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_38allnan_2d_float32_axis1[] = "allnan_2d_float32_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=float32 along axis=1."; -static PyMethodDef __pyx_mdef_6allnan_39allnan_2d_float32_axis1 = {"allnan_2d_float32_axis1", (PyCFunction)__pyx_pw_6allnan_39allnan_2d_float32_axis1, METH_O, __pyx_doc_6allnan_38allnan_2d_float32_axis1}; -static PyObject *__pyx_pw_6allnan_39allnan_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_37allnan_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_36allnan_2d_int_axisNone[] = "allnan_2d_int_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=int along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_37allnan_2d_int_axisNone = {"allnan_2d_int_axisNone", (PyCFunction)__pyx_pw_6allnan_37allnan_2d_int_axisNone, METH_O, __pyx_doc_6allnan_36allnan_2d_int_axisNone}; +static PyObject *__pyx_pw_6allnan_37allnan_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_float32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_38allnan_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_36allnan_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6465,61 +6116,42 @@ static PyObject *__pyx_pw_6allnan_39allnan_2d_float32_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6allnan_38allnan_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6allnan_36allnan_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_float32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("allnan_2d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":554 - * def allnan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=float32 along axis=1." + /* "allnan.pyx":516 + * def allnan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai + * cdef np.int_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":558 + /* "allnan.pyx":520 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6528,226 +6160,125 @@ static PyObject *__pyx_pf_6allnan_38allnan_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":559 + /* "allnan.pyx":521 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0* n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":560 + /* "allnan.pyx":522 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * if n0* n1 == 0: + * return np.bool_(True) */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":561 + /* "allnan.pyx":523 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) + * if n0* n1 == 0: # <<<<<<<<<<<<<< + * return np.bool_(True) + * else: */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "allnan.pyx":562 + /* "allnan.pyx":524 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "allnan.pyx":564 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * f = 1 - * for i1 in range(n1): - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "allnan.pyx":565 - * NPY_BOOL, 0) - * for i0 in range(n0): - * f = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; - - /* "allnan.pyx":566 - * for i0 in range(n0): - * f = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "allnan.pyx":567 - * f = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * y[i0] = 0 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "allnan.pyx":568 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * y[i0] = 0 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "allnan.pyx":569 - * ai = a[i0, i1] - * if ai == ai: - * y[i0] = 0 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - - /* "allnan.pyx":570 - * if ai == ai: - * y[i0] = 0 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; - - /* "allnan.pyx":571 - * y[i0] = 0 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i0] = 1 - */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; - - /* "allnan.pyx":572 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i0] = 1 - * return y - */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { - - /* "allnan.pyx":573 - * break - * if f == 1: - * y[i0] = 1 # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; - } - __pyx_L8:; + * if n0* n1 == 0: + * return np.bool_(True) # <<<<<<<<<<<<<< + * else: + * return np.bool_(False) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "allnan.pyx":574 - * if f == 1: - * y[i0] = 1 - * return y # <<<<<<<<<<<<<< + /* "allnan.pyx":526 + * return np.bool_(True) + * else: + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__22, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "allnan.pyx":552 + /* "allnan.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=1." + * def allnan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":578 +/* "allnan.pyx":530 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=0." + * def allnan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_41allnan_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_40allnan_2d_float64_axis0[] = "allnan_2d_float64_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_6allnan_41allnan_2d_float64_axis0 = {"allnan_2d_float64_axis0", (PyCFunction)__pyx_pw_6allnan_41allnan_2d_float64_axis0, METH_O, __pyx_doc_6allnan_40allnan_2d_float64_axis0}; -static PyObject *__pyx_pw_6allnan_41allnan_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_39allnan_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_38allnan_2d_int8_axisNone[] = "allnan_2d_int8_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=int8 along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_39allnan_2d_int8_axisNone = {"allnan_2d_int8_axisNone", (PyCFunction)__pyx_pw_6allnan_39allnan_2d_int8_axisNone, METH_O, __pyx_doc_6allnan_38allnan_2d_int8_axisNone}; +static PyObject *__pyx_pw_6allnan_39allnan_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_40allnan_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_38allnan_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6758,61 +6289,42 @@ static PyObject *__pyx_pw_6allnan_41allnan_2d_float64_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6allnan_40allnan_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6allnan_38allnan_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_float64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("allnan_2d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":580 - * def allnan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=float64 along axis=0." + /* "allnan.pyx":532 + * def allnan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int8 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai + * cdef np.int8_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":584 + /* "allnan.pyx":536 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6821,226 +6333,125 @@ static PyObject *__pyx_pf_6allnan_40allnan_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":585 + /* "allnan.pyx":537 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0* n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":586 + /* "allnan.pyx":538 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * if n0* n1 == 0: + * return np.bool_(True) */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":587 + /* "allnan.pyx":539 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) + * if n0* n1 == 0: # <<<<<<<<<<<<<< + * return np.bool_(True) + * else: */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "allnan.pyx":588 + /* "allnan.pyx":540 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "allnan.pyx":590 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * f = 1 - * for i0 in range(n0): - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "allnan.pyx":591 - * NPY_BOOL, 0) - * for i1 in range(n1): - * f = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; - - /* "allnan.pyx":592 - * for i1 in range(n1): - * f = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "allnan.pyx":593 - * f = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * y[i1] = 0 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "allnan.pyx":594 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * y[i1] = 0 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "allnan.pyx":595 - * ai = a[i0, i1] - * if ai == ai: - * y[i1] = 0 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - - /* "allnan.pyx":596 - * if ai == ai: - * y[i1] = 0 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; - - /* "allnan.pyx":597 - * y[i1] = 0 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i1] = 1 - */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; - - /* "allnan.pyx":598 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i1] = 1 - * return y - */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { - - /* "allnan.pyx":599 - * break - * if f == 1: - * y[i1] = 1 # <<<<<<<<<<<<<< - * return y - * + * if n0* n1 == 0: + * return np.bool_(True) # <<<<<<<<<<<<<< + * else: + * return np.bool_(False) */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; - } - __pyx_L8:; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__23, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "allnan.pyx":600 - * if f == 1: - * y[i1] = 1 - * return y # <<<<<<<<<<<<<< + /* "allnan.pyx":542 + * return np.bool_(True) + * else: + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "allnan.pyx":578 + /* "allnan.pyx":530 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=0." + * def allnan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":604 +/* "allnan.pyx":546 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=1." + * def allnan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_43allnan_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_42allnan_2d_float64_axis1[] = "allnan_2d_float64_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=float64 along axis=1."; -static PyMethodDef __pyx_mdef_6allnan_43allnan_2d_float64_axis1 = {"allnan_2d_float64_axis1", (PyCFunction)__pyx_pw_6allnan_43allnan_2d_float64_axis1, METH_O, __pyx_doc_6allnan_42allnan_2d_float64_axis1}; -static PyObject *__pyx_pw_6allnan_43allnan_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_41allnan_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_40allnan_2d_int32_axisNone[] = "allnan_2d_int32_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=int32 along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_41allnan_2d_int32_axisNone = {"allnan_2d_int32_axisNone", (PyCFunction)__pyx_pw_6allnan_41allnan_2d_int32_axisNone, METH_O, __pyx_doc_6allnan_40allnan_2d_int32_axisNone}; +static PyObject *__pyx_pw_6allnan_41allnan_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_float64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_42allnan_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_40allnan_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7051,61 +6462,42 @@ static PyObject *__pyx_pw_6allnan_43allnan_2d_float64_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6allnan_42allnan_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6allnan_40allnan_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_float64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("allnan_2d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":606 - * def allnan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=float64 along axis=1." + /* "allnan.pyx":548 + * def allnan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int32 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai + * cdef np.int32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":610 + /* "allnan.pyx":552 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7114,226 +6506,298 @@ static PyObject *__pyx_pf_6allnan_42allnan_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":611 + /* "allnan.pyx":553 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0* n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":612 + /* "allnan.pyx":554 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * if n0* n1 == 0: + * return np.bool_(True) */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":613 + /* "allnan.pyx":555 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) + * if n0* n1 == 0: # <<<<<<<<<<<<<< + * return np.bool_(True) + * else: */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "allnan.pyx":614 + /* "allnan.pyx":556 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i0 in range(n0): + * if n0* n1 == 0: + * return np.bool_(True) # <<<<<<<<<<<<<< + * else: + * return np.bool_(False) */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + /*else*/ { - /* "allnan.pyx":616 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * f = 1 - * for i1 in range(n1): + /* "allnan.pyx":558 + * return np.bool_(True) + * else: + * return np.bool_(False) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "allnan.pyx":617 - * NPY_BOOL, 0) - * for i0 in range(n0): - * f = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "allnan.pyx":546 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def allnan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=None." + * cdef int f = 1 */ - __pyx_v_f = 1; - /* "allnan.pyx":618 - * for i0 in range(n0): - * f = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("allnan.allnan_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __pyx_L2:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} - /* "allnan.pyx":619 - * f = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * y[i0] = 0 +/* "allnan.pyx":562 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def allnan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=None." + * cdef int f = 1 */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "allnan.pyx":620 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * y[i0] = 0 - * f = 0 +/* Python wrapper */ +static PyObject *__pyx_pw_6allnan_43allnan_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_42allnan_2d_int64_axisNone[] = "allnan_2d_int64_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=int64 along axis=None."; +static PyMethodDef __pyx_mdef_6allnan_43allnan_2d_int64_axisNone = {"allnan_2d_int64_axisNone", (PyCFunction)__pyx_pw_6allnan_43allnan_2d_int64_axisNone, METH_O, __pyx_doc_6allnan_42allnan_2d_int64_axisNone}; +static PyObject *__pyx_pw_6allnan_43allnan_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_lineno = 0; + CYTHON_UNUSED const char *__pyx_filename = NULL; + CYTHON_UNUSED int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("allnan_2d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_42allnan_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_6allnan_42allnan_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; + npy_intp *__pyx_v_dim; + Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + __Pyx_LocalBuf_ND __pyx_pybuffernd_a; + __Pyx_Buffer __pyx_pybuffer_a; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("allnan_2d_int64_axisNone", 0); + __pyx_pybuffer_a.pybuffer.buf = NULL; + __pyx_pybuffer_a.refcount = 0; + __pyx_pybuffernd_a.data = NULL; + __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + + /* "allnan.pyx":564 + * def allnan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int64 along axis=None." + * cdef int f = 1 # <<<<<<<<<<<<<< + * cdef np.int64_t ai + * cdef Py_ssize_t i0, i1 */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_f = 1; - /* "allnan.pyx":621 - * ai = a[i0, i1] - * if ai == ai: - * y[i0] = 0 # <<<<<<<<<<<<<< - * f = 0 - * break + /* "allnan.pyx":568 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] */ - __pyx_t_11 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":622 - * if ai == ai: - * y[i0] = 0 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: + /* "allnan.pyx":569 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * if n0* n1 == 0: */ - __pyx_v_f = 0; + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":623 - * y[i0] = 0 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i0] = 1 + /* "allnan.pyx":570 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * if n0* n1 == 0: + * return np.bool_(True) */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":624 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i0] = 1 - * return y + /* "allnan.pyx":571 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * if n0* n1 == 0: # <<<<<<<<<<<<<< + * return np.bool_(True) + * else: */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "allnan.pyx":625 - * break - * if f == 1: - * y[i0] = 1 # <<<<<<<<<<<<<< - * return y - * + /* "allnan.pyx":572 + * cdef Py_ssize_t n1 = dim[1] + * if n0* n1 == 0: + * return np.bool_(True) # <<<<<<<<<<<<<< + * else: + * return np.bool_(False) */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; - } - __pyx_L8:; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__27, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "allnan.pyx":626 - * if f == 1: - * y[i0] = 1 - * return y # <<<<<<<<<<<<<< + /* "allnan.pyx":574 + * return np.bool_(True) + * else: + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__28, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "allnan.pyx":604 + /* "allnan.pyx":562 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=1." + * def allnan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":630 +/* "allnan.pyx":578 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int along axis=None." + * def allnan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_45allnan_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_44allnan_1d_int_axisNone[] = "allnan_1d_int_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=int along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_45allnan_1d_int_axisNone = {"allnan_1d_int_axisNone", (PyCFunction)__pyx_pw_6allnan_45allnan_1d_int_axisNone, METH_O, __pyx_doc_6allnan_44allnan_1d_int_axisNone}; -static PyObject *__pyx_pw_6allnan_45allnan_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_45allnan_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_44allnan_2d_int_axis0[] = "allnan_2d_int_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_6allnan_45allnan_2d_int_axis0 = {"allnan_2d_int_axis0", (PyCFunction)__pyx_pw_6allnan_45allnan_2d_int_axis0, METH_O, __pyx_doc_6allnan_44allnan_2d_int_axis0}; +static PyObject *__pyx_pw_6allnan_45allnan_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_1d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_44allnan_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_44allnan_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7344,159 +6808,231 @@ static PyObject *__pyx_pw_6allnan_45allnan_1d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6allnan_44allnan_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6allnan_44allnan_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_1d_int_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":632 - * def allnan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): - * "Check for all NaNs in 1d array with dtype=int along axis=None." + /* "allnan.pyx":580 + * def allnan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< * cdef np.int_t ai - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":636 - * cdef Py_ssize_t i0 + /* "allnan.pyx":584 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":637 + /* "allnan.pyx":585 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * return np.bool_(True) + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":638 + /* "allnan.pyx":586 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "allnan.pyx":587 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "allnan.pyx":588 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * if n0 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "allnan.pyx":590 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) * if n0 == 0: # <<<<<<<<<<<<<< - * return np.bool_(True) + * f = 1 * else: */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "allnan.pyx":639 - * cdef Py_ssize_t n0 = dim[0] + /* "allnan.pyx":591 + * NPY_BOOL, 0) * if n0 == 0: - * return np.bool_(True) # <<<<<<<<<<<<<< + * f = 1 # <<<<<<<<<<<<<< * else: - * return np.bool_(False) + * f = 0 */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_v_f = 1; + goto __pyx_L3; } /*else*/ { - /* "allnan.pyx":641 - * return np.bool_(True) + /* "allnan.pyx":593 + * f = 1 * else: - * return np.bool_(False) # <<<<<<<<<<<<<< + * f = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * y[i1] = f + */ + __pyx_v_f = 0; + } + __pyx_L3:; + + /* "allnan.pyx":594 + * else: + * f = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i1] = f + * return y + */ + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; + + /* "allnan.pyx":595 + * f = 0 + * for i1 in range(n1): + * y[i1] = f # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; } - /* "allnan.pyx":630 + /* "allnan.pyx":596 + * for i1 in range(n1): + * y[i1] = f + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "allnan.pyx":578 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int along axis=None." + * def allnan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=0." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":645 +/* "allnan.pyx":600 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int8 along axis=None." + * def allnan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_47allnan_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_46allnan_1d_int8_axisNone[] = "allnan_1d_int8_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=int8 along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_47allnan_1d_int8_axisNone = {"allnan_1d_int8_axisNone", (PyCFunction)__pyx_pw_6allnan_47allnan_1d_int8_axisNone, METH_O, __pyx_doc_6allnan_46allnan_1d_int8_axisNone}; -static PyObject *__pyx_pw_6allnan_47allnan_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_47allnan_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_46allnan_2d_int_axis1[] = "allnan_2d_int_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=int along axis=1."; +static PyMethodDef __pyx_mdef_6allnan_47allnan_2d_int_axis1 = {"allnan_2d_int_axis1", (PyCFunction)__pyx_pw_6allnan_47allnan_2d_int_axis1, METH_O, __pyx_doc_6allnan_46allnan_2d_int_axis1}; +static PyObject *__pyx_pw_6allnan_47allnan_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_1d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_46allnan_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_46allnan_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7507,159 +7043,231 @@ static PyObject *__pyx_pw_6allnan_47allnan_1d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6allnan_46allnan_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6allnan_46allnan_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_1d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":647 - * def allnan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): - * "Check for all NaNs in 1d array with dtype=int8 along axis=None." + /* "allnan.pyx":602 + * def allnan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t ai - * cdef Py_ssize_t i0 + * cdef np.int_t ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":651 - * cdef Py_ssize_t i0 + /* "allnan.pyx":606 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":652 + /* "allnan.pyx":607 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * return np.bool_(True) + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":653 + /* "allnan.pyx":608 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * return np.bool_(True) - * else: + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":654 + /* "allnan.pyx":609 * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: - * return np.bool_(True) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "allnan.pyx":610 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * if n1 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "allnan.pyx":612 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * f = 1 * else: - * return np.bool_(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "allnan.pyx":613 + * NPY_BOOL, 0) + * if n1 == 0: + * f = 1 # <<<<<<<<<<<<<< + * else: + * f = 0 + */ + __pyx_v_f = 1; + goto __pyx_L3; } /*else*/ { - /* "allnan.pyx":656 - * return np.bool_(True) + /* "allnan.pyx":615 + * f = 1 * else: - * return np.bool_(False) # <<<<<<<<<<<<<< + * f = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * y[i0] = f + */ + __pyx_v_f = 0; + } + __pyx_L3:; + + /* "allnan.pyx":616 + * else: + * f = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * y[i0] = f + * return y + */ + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; + + /* "allnan.pyx":617 + * f = 0 + * for i0 in range(n0): + * y[i0] = f # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; } - /* "allnan.pyx":645 + /* "allnan.pyx":618 + * for i0 in range(n0): + * y[i0] = f + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "allnan.pyx":600 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int8 along axis=None." + * def allnan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=1." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":660 +/* "allnan.pyx":622 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int32 along axis=None." + * def allnan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_49allnan_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_48allnan_1d_int32_axisNone[] = "allnan_1d_int32_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=int32 along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_49allnan_1d_int32_axisNone = {"allnan_1d_int32_axisNone", (PyCFunction)__pyx_pw_6allnan_49allnan_1d_int32_axisNone, METH_O, __pyx_doc_6allnan_48allnan_1d_int32_axisNone}; -static PyObject *__pyx_pw_6allnan_49allnan_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_49allnan_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_48allnan_2d_int8_axis0[] = "allnan_2d_int8_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_6allnan_49allnan_2d_int8_axis0 = {"allnan_2d_int8_axis0", (PyCFunction)__pyx_pw_6allnan_49allnan_2d_int8_axis0, METH_O, __pyx_doc_6allnan_48allnan_2d_int8_axis0}; +static PyObject *__pyx_pw_6allnan_49allnan_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_1d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_48allnan_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_48allnan_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7670,159 +7278,231 @@ static PyObject *__pyx_pw_6allnan_49allnan_1d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6allnan_48allnan_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6allnan_48allnan_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_1d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_int8_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":662 - * def allnan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): - * "Check for all NaNs in 1d array with dtype=int32 along axis=None." + /* "allnan.pyx":624 + * def allnan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int8 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t ai - * cdef Py_ssize_t i0 + * cdef np.int8_t ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":666 - * cdef Py_ssize_t i0 + /* "allnan.pyx":628 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] + */ + __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); + + /* "allnan.pyx":629 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + */ + __pyx_v_n0 = (__pyx_v_dim[0]); + + /* "allnan.pyx":630 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "allnan.pyx":631 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) */ - __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "allnan.pyx":667 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + /* "allnan.pyx":632 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) * if n0 == 0: - * return np.bool_(True) */ - __pyx_v_n0 = (__pyx_v_dim[0]); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "allnan.pyx":668 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] + /* "allnan.pyx":634 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) * if n0 == 0: # <<<<<<<<<<<<<< - * return np.bool_(True) + * f = 1 * else: */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "allnan.pyx":669 - * cdef Py_ssize_t n0 = dim[0] + /* "allnan.pyx":635 + * NPY_BOOL, 0) * if n0 == 0: - * return np.bool_(True) # <<<<<<<<<<<<<< + * f = 1 # <<<<<<<<<<<<<< * else: - * return np.bool_(False) + * f = 0 */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 669; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 669; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 669; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_v_f = 1; + goto __pyx_L3; } /*else*/ { - /* "allnan.pyx":671 - * return np.bool_(True) + /* "allnan.pyx":637 + * f = 1 * else: - * return np.bool_(False) # <<<<<<<<<<<<<< + * f = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * y[i1] = f + */ + __pyx_v_f = 0; + } + __pyx_L3:; + + /* "allnan.pyx":638 + * else: + * f = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i1] = f + * return y + */ + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; + + /* "allnan.pyx":639 + * f = 0 + * for i1 in range(n1): + * y[i1] = f # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; } - /* "allnan.pyx":660 + /* "allnan.pyx":640 + * for i1 in range(n1): + * y[i1] = f + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "allnan.pyx":622 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int32 along axis=None." + * def allnan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=0." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":675 +/* "allnan.pyx":644 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int64 along axis=None." + * def allnan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_51allnan_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_50allnan_1d_int64_axisNone[] = "allnan_1d_int64_axisNone(ndarray a)\nCheck for all NaNs in 1d array with dtype=int64 along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_51allnan_1d_int64_axisNone = {"allnan_1d_int64_axisNone", (PyCFunction)__pyx_pw_6allnan_51allnan_1d_int64_axisNone, METH_O, __pyx_doc_6allnan_50allnan_1d_int64_axisNone}; -static PyObject *__pyx_pw_6allnan_51allnan_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_51allnan_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_50allnan_2d_int8_axis1[] = "allnan_2d_int8_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=int8 along axis=1."; +static PyMethodDef __pyx_mdef_6allnan_51allnan_2d_int8_axis1 = {"allnan_2d_int8_axis1", (PyCFunction)__pyx_pw_6allnan_51allnan_2d_int8_axis1, METH_O, __pyx_doc_6allnan_50allnan_2d_int8_axis1}; +static PyObject *__pyx_pw_6allnan_51allnan_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_1d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_50allnan_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int8_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_50allnan_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7833,159 +7513,231 @@ static PyObject *__pyx_pw_6allnan_51allnan_1d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6allnan_50allnan_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6allnan_50allnan_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_1d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_int8_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":677 - * def allnan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): - * "Check for all NaNs in 1d array with dtype=int64 along axis=None." + /* "allnan.pyx":646 + * def allnan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int8 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t ai - * cdef Py_ssize_t i0 + * cdef np.int8_t ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":681 - * cdef Py_ssize_t i0 + /* "allnan.pyx":650 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":682 + /* "allnan.pyx":651 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * return np.bool_(True) + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":683 + /* "allnan.pyx":652 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * return np.bool_(True) - * else: + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":684 + /* "allnan.pyx":653 * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: - * return np.bool_(True) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "allnan.pyx":654 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * if n1 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "allnan.pyx":656 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * f = 1 * else: - * return np.bool_(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "allnan.pyx":657 + * NPY_BOOL, 0) + * if n1 == 0: + * f = 1 # <<<<<<<<<<<<<< + * else: + * f = 0 + */ + __pyx_v_f = 1; + goto __pyx_L3; + } + /*else*/ { + + /* "allnan.pyx":659 + * f = 1 + * else: + * f = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * y[i0] = f + */ + __pyx_v_f = 0; + } + __pyx_L3:; + + /* "allnan.pyx":660 + * else: + * f = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * y[i0] = f + * return y + */ + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; + + /* "allnan.pyx":661 + * f = 0 + * for i0 in range(n0): + * y[i0] = f # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; } - /*else*/ { - /* "allnan.pyx":686 - * return np.bool_(True) - * else: - * return np.bool_(False) # <<<<<<<<<<<<<< + /* "allnan.pyx":662 + * for i0 in range(n0): + * y[i0] = f + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "allnan.pyx":675 + /* "allnan.pyx":644 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int64 along axis=None." + * def allnan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=1." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":690 +/* "allnan.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=None." + * def allnan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_53allnan_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_52allnan_2d_int_axisNone[] = "allnan_2d_int_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=int along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_53allnan_2d_int_axisNone = {"allnan_2d_int_axisNone", (PyCFunction)__pyx_pw_6allnan_53allnan_2d_int_axisNone, METH_O, __pyx_doc_6allnan_52allnan_2d_int_axisNone}; -static PyObject *__pyx_pw_6allnan_53allnan_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_53allnan_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_52allnan_2d_int32_axis0[] = "allnan_2d_int32_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_6allnan_53allnan_2d_int32_axis0 = {"allnan_2d_int32_axis0", (PyCFunction)__pyx_pw_6allnan_53allnan_2d_int32_axis0, METH_O, __pyx_doc_6allnan_52allnan_2d_int32_axis0}; +static PyObject *__pyx_pw_6allnan_53allnan_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_52allnan_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_52allnan_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7996,42 +7748,55 @@ static PyObject *__pyx_pw_6allnan_53allnan_2d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6allnan_52allnan_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6allnan_52allnan_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_int32_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":692 - * def allnan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int along axis=None." + /* "allnan.pyx":668 + * def allnan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int32 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int_t ai + * cdef np.int32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":696 + /* "allnan.pyx":672 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8040,125 +7805,174 @@ static PyObject *__pyx_pf_6allnan_52allnan_2d_int_axisNone(CYTHON_UNUSED PyObjec */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":697 + /* "allnan.pyx":673 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":698 + /* "allnan.pyx":674 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0* n1 == 0: - * return np.bool_(True) + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":699 + /* "allnan.pyx":675 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: # <<<<<<<<<<<<<< - * return np.bool_(True) - * else: + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "allnan.pyx":700 + /* "allnan.pyx":676 * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: - * return np.bool_(True) # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * if n0 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "allnan.pyx":678 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * f = 1 * else: - * return np.bool_(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { + + /* "allnan.pyx":679 + * NPY_BOOL, 0) + * if n0 == 0: + * f = 1 # <<<<<<<<<<<<<< + * else: + * f = 0 + */ + __pyx_v_f = 1; + goto __pyx_L3; } /*else*/ { - /* "allnan.pyx":702 - * return np.bool_(True) + /* "allnan.pyx":681 + * f = 1 * else: - * return np.bool_(False) # <<<<<<<<<<<<<< + * f = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * y[i1] = f + */ + __pyx_v_f = 0; + } + __pyx_L3:; + + /* "allnan.pyx":682 + * else: + * f = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i1] = f + * return y + */ + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; + + /* "allnan.pyx":683 + * f = 0 + * for i1 in range(n1): + * y[i1] = f # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__22, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; } - /* "allnan.pyx":690 + /* "allnan.pyx":684 + * for i1 in range(n1): + * y[i1] = f + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "allnan.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=None." + * def allnan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=0." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":706 +/* "allnan.pyx":688 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=None." + * def allnan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_55allnan_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_54allnan_2d_int8_axisNone[] = "allnan_2d_int8_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=int8 along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_55allnan_2d_int8_axisNone = {"allnan_2d_int8_axisNone", (PyCFunction)__pyx_pw_6allnan_55allnan_2d_int8_axisNone, METH_O, __pyx_doc_6allnan_54allnan_2d_int8_axisNone}; -static PyObject *__pyx_pw_6allnan_55allnan_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_55allnan_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_54allnan_2d_int32_axis1[] = "allnan_2d_int32_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=int32 along axis=1."; +static PyMethodDef __pyx_mdef_6allnan_55allnan_2d_int32_axis1 = {"allnan_2d_int32_axis1", (PyCFunction)__pyx_pw_6allnan_55allnan_2d_int32_axis1, METH_O, __pyx_doc_6allnan_54allnan_2d_int32_axis1}; +static PyObject *__pyx_pw_6allnan_55allnan_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_54allnan_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_54allnan_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8169,42 +7983,55 @@ static PyObject *__pyx_pw_6allnan_55allnan_2d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6allnan_54allnan_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6allnan_54allnan_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_int32_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":708 - * def allnan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int8 along axis=None." + /* "allnan.pyx":690 + * def allnan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int32 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t ai + * cdef np.int32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":712 + /* "allnan.pyx":694 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8213,125 +8040,174 @@ static PyObject *__pyx_pf_6allnan_54allnan_2d_int8_axisNone(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":713 + /* "allnan.pyx":695 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":714 + /* "allnan.pyx":696 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0* n1 == 0: - * return np.bool_(True) + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":715 - * cdef Py_ssize_t n0 = dim[0] + /* "allnan.pyx":697 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "allnan.pyx":698 * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: # <<<<<<<<<<<<<< - * return np.bool_(True) + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * if n1 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "allnan.pyx":700 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * f = 1 * else: */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { - /* "allnan.pyx":716 - * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: - * return np.bool_(True) # <<<<<<<<<<<<<< + /* "allnan.pyx":701 + * NPY_BOOL, 0) + * if n1 == 0: + * f = 1 # <<<<<<<<<<<<<< * else: - * return np.bool_(False) + * f = 0 */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__23, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_v_f = 1; + goto __pyx_L3; } /*else*/ { - /* "allnan.pyx":718 - * return np.bool_(True) + /* "allnan.pyx":703 + * f = 1 * else: - * return np.bool_(False) # <<<<<<<<<<<<<< + * f = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * y[i0] = f + */ + __pyx_v_f = 0; + } + __pyx_L3:; + + /* "allnan.pyx":704 + * else: + * f = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * y[i0] = f + * return y + */ + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; + + /* "allnan.pyx":705 + * f = 0 + * for i0 in range(n0): + * y[i0] = f # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; } /* "allnan.pyx":706 + * for i0 in range(n0): + * y[i0] = f + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "allnan.pyx":688 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=None." + * def allnan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=1." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":722 +/* "allnan.pyx":710 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=None." + * def allnan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_57allnan_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_56allnan_2d_int32_axisNone[] = "allnan_2d_int32_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=int32 along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_57allnan_2d_int32_axisNone = {"allnan_2d_int32_axisNone", (PyCFunction)__pyx_pw_6allnan_57allnan_2d_int32_axisNone, METH_O, __pyx_doc_6allnan_56allnan_2d_int32_axisNone}; -static PyObject *__pyx_pw_6allnan_57allnan_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_57allnan_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_56allnan_2d_int64_axis0[] = "allnan_2d_int64_axis0(ndarray a)\nCheck for all NaNs in 2d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_6allnan_57allnan_2d_int64_axis0 = {"allnan_2d_int64_axis0", (PyCFunction)__pyx_pw_6allnan_57allnan_2d_int64_axis0, METH_O, __pyx_doc_6allnan_56allnan_2d_int64_axis0}; +static PyObject *__pyx_pw_6allnan_57allnan_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_56allnan_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_56allnan_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8342,42 +8218,55 @@ static PyObject *__pyx_pw_6allnan_57allnan_2d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6allnan_56allnan_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6allnan_56allnan_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_int64_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":724 - * def allnan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int32 along axis=None." + /* "allnan.pyx":712 + * def allnan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int64 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t ai + * cdef np.int64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":728 + /* "allnan.pyx":716 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8386,125 +8275,174 @@ static PyObject *__pyx_pf_6allnan_56allnan_2d_int32_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":729 + /* "allnan.pyx":717 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":730 + /* "allnan.pyx":718 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0* n1 == 0: - * return np.bool_(True) + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":731 + /* "allnan.pyx":719 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: # <<<<<<<<<<<<<< - * return np.bool_(True) - * else: + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "allnan.pyx":732 + /* "allnan.pyx":720 * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: - * return np.bool_(True) # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * if n0 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "allnan.pyx":722 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * f = 1 * else: - * return np.bool_(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { + + /* "allnan.pyx":723 + * NPY_BOOL, 0) + * if n0 == 0: + * f = 1 # <<<<<<<<<<<<<< + * else: + * f = 0 + */ + __pyx_v_f = 1; + goto __pyx_L3; } /*else*/ { - /* "allnan.pyx":734 - * return np.bool_(True) + /* "allnan.pyx":725 + * f = 1 * else: - * return np.bool_(False) # <<<<<<<<<<<<<< + * f = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * y[i1] = f + */ + __pyx_v_f = 0; + } + __pyx_L3:; + + /* "allnan.pyx":726 + * else: + * f = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i1] = f + * return y + */ + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; + + /* "allnan.pyx":727 + * f = 0 + * for i1 in range(n1): + * y[i1] = f # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; } - /* "allnan.pyx":722 + /* "allnan.pyx":728 + * for i1 in range(n1): + * y[i1] = f + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "allnan.pyx":710 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=None." + * def allnan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=0." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "allnan.pyx":738 +/* "allnan.pyx":732 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=None." + * def allnan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6allnan_59allnan_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6allnan_58allnan_2d_int64_axisNone[] = "allnan_2d_int64_axisNone(ndarray a)\nCheck for all NaNs in 2d array with dtype=int64 along axis=None."; -static PyMethodDef __pyx_mdef_6allnan_59allnan_2d_int64_axisNone = {"allnan_2d_int64_axisNone", (PyCFunction)__pyx_pw_6allnan_59allnan_2d_int64_axisNone, METH_O, __pyx_doc_6allnan_58allnan_2d_int64_axisNone}; -static PyObject *__pyx_pw_6allnan_59allnan_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6allnan_59allnan_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6allnan_58allnan_2d_int64_axis1[] = "allnan_2d_int64_axis1(ndarray a)\nCheck for all NaNs in 2d array with dtype=int64 along axis=1."; +static PyMethodDef __pyx_mdef_6allnan_59allnan_2d_int64_axis1 = {"allnan_2d_int64_axis1", (PyCFunction)__pyx_pw_6allnan_59allnan_2d_int64_axis1, METH_O, __pyx_doc_6allnan_58allnan_2d_int64_axis1}; +static PyObject *__pyx_pw_6allnan_59allnan_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("allnan_2d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6allnan_58allnan_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("allnan_2d_int64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6allnan_58allnan_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8515,42 +8453,55 @@ static PyObject *__pyx_pw_6allnan_59allnan_2d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6allnan_58allnan_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6allnan_58allnan_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("allnan_2d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("allnan_2d_int64_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "allnan.pyx":740 - * def allnan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): - * "Check for all NaNs in 2d array with dtype=int64 along axis=None." + /* "allnan.pyx":734 + * def allnan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Check for all NaNs in 2d array with dtype=int64 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< * cdef np.int64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "allnan.pyx":744 + /* "allnan.pyx":738 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8559,106 +8510,155 @@ static PyObject *__pyx_pf_6allnan_58allnan_2d_int64_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "allnan.pyx":745 + /* "allnan.pyx":739 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "allnan.pyx":746 + /* "allnan.pyx":740 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0* n1 == 0: - * return np.bool_(True) + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "allnan.pyx":747 + /* "allnan.pyx":741 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: # <<<<<<<<<<<<<< - * return np.bool_(True) - * else: + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "allnan.pyx":748 + /* "allnan.pyx":742 * cdef Py_ssize_t n1 = dim[1] - * if n0* n1 == 0: - * return np.bool_(True) # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * if n1 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "allnan.pyx":744 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * f = 1 * else: - * return np.bool_(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__27, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "allnan.pyx":745 + * NPY_BOOL, 0) + * if n1 == 0: + * f = 1 # <<<<<<<<<<<<<< + * else: + * f = 0 + */ + __pyx_v_f = 1; + goto __pyx_L3; } /*else*/ { - /* "allnan.pyx":750 - * return np.bool_(True) + /* "allnan.pyx":747 + * f = 1 * else: - * return np.bool_(False) # <<<<<<<<<<<<<< + * f = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * y[i0] = f + */ + __pyx_v_f = 0; + } + __pyx_L3:; + + /* "allnan.pyx":748 + * else: + * f = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * y[i0] = f + * return y + */ + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; + + /* "allnan.pyx":749 + * f = 0 + * for i0 in range(n0): + * y[i0] = f # <<<<<<<<<<<<<< + * return y * - * cdef dict allnan_dict = {} */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__28, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_f; } - /* "allnan.pyx":738 + /* "allnan.pyx":750 + * for i0 in range(n0): + * y[i0] = f + * return y # <<<<<<<<<<<<<< + * + * cdef dict allnan_dict = {} + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "allnan.pyx":732 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=None." + * def allnan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=1." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("allnan.allnan_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("allnan.allnan_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "allnan.pyx":789 - * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone + * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 * * def allnan_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) allnan along axis 0." @@ -8726,7 +8726,7 @@ static PyObject *__pyx_pf_6allnan_60allnan_slow_axis0(CYTHON_UNUSED PyObject *__ goto __pyx_L0; /* "allnan.pyx":789 - * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone + * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 * * def allnan_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) allnan along axis 0." @@ -11717,7 +11717,7 @@ static PyObject *__pyx_pf_6allnan_126allnan_slow_axisNone(CYTHON_UNUSED PyObject return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -11767,7 +11767,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -11780,7 +11780,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -11789,7 +11789,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -11798,7 +11798,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -11807,7 +11807,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -11817,7 +11817,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -11829,7 +11829,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -11840,7 +11840,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -11856,7 +11856,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -11868,7 +11868,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -11882,7 +11882,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -11898,7 +11898,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -11910,7 +11910,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -11924,7 +11924,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -11933,7 +11933,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -11942,7 +11942,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -11952,7 +11952,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -11961,7 +11961,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -11970,7 +11970,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -11981,7 +11981,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -11990,7 +11990,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -12003,7 +12003,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -12012,7 +12012,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -12023,7 +12023,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -12032,7 +12032,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -12041,7 +12041,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -12050,7 +12050,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -12059,7 +12059,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -12071,7 +12071,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -12080,7 +12080,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -12100,7 +12100,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -12116,7 +12116,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -12131,7 +12131,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -12141,7 +12141,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -12151,7 +12151,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -12174,7 +12174,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -12194,7 +12194,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -12208,7 +12208,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -12217,7 +12217,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -12228,7 +12228,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -12239,7 +12239,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -12250,7 +12250,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -12261,7 +12261,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -12272,7 +12272,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -12283,7 +12283,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -12294,7 +12294,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -12305,7 +12305,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -12316,7 +12316,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -12327,7 +12327,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -12338,7 +12338,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -12349,7 +12349,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -12360,7 +12360,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -12371,7 +12371,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -12382,7 +12382,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -12393,7 +12393,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -12405,7 +12405,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -12431,7 +12431,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -12440,7 +12440,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -12452,7 +12452,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -12461,7 +12461,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -12470,7 +12470,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -12479,7 +12479,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -12489,7 +12489,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -12499,7 +12499,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -12531,7 +12531,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -12555,7 +12555,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -12565,7 +12565,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -12577,7 +12577,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -12587,7 +12587,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -12599,7 +12599,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -12611,7 +12611,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -12628,7 +12628,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -12642,7 +12642,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -12661,7 +12661,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -12678,7 +12678,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -12692,7 +12692,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -12711,7 +12711,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -12728,7 +12728,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -12742,7 +12742,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -12761,7 +12761,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -12778,7 +12778,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -12792,7 +12792,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -12811,7 +12811,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -12828,7 +12828,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -12842,7 +12842,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -12861,7 +12861,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -12893,7 +12893,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -12902,7 +12902,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -12911,7 +12911,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -12933,7 +12933,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -12946,7 +12946,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -12985,7 +12985,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -13002,7 +13002,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -13016,7 +13016,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -13039,7 +13039,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -13059,7 +13059,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -13073,7 +13073,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -13089,7 +13089,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -13098,7 +13098,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -13107,7 +13107,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -13118,7 +13118,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -13128,7 +13128,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -13138,7 +13138,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -13150,7 +13150,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -13160,7 +13160,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -13174,7 +13174,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -13192,7 +13192,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -13210,7 +13210,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -13228,7 +13228,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -13246,7 +13246,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -13264,7 +13264,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -13282,7 +13282,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -13300,7 +13300,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -13318,7 +13318,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -13336,7 +13336,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -13354,7 +13354,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -13372,7 +13372,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -13390,7 +13390,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -13408,7 +13408,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -13428,7 +13428,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -13448,7 +13448,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -13468,7 +13468,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -13487,7 +13487,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -13510,7 +13510,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -13522,7 +13522,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -13534,7 +13534,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -13544,7 +13544,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -13554,7 +13554,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -13579,7 +13579,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -13594,7 +13594,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -13605,7 +13605,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -13617,7 +13617,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -13626,7 +13626,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -13637,7 +13637,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -13646,7 +13646,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -13655,7 +13655,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -13667,7 +13667,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -13681,7 +13681,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -13691,7 +13691,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -13705,7 +13705,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -13716,7 +13716,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -13754,7 +13754,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -13768,6 +13767,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_u_Test_whether_all_array_elements, __pyx_k_Test_whether_all_array_elements, sizeof(__pyx_k_Test_whether_all_array_elements), 0, 1, 0, 0}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__35, __pyx_k__35, sizeof(__pyx_k__35), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -13891,7 +13891,7 @@ static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; @@ -13901,315 +13901,315 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "allnan.pyx":383 + /* "allnan.pyx":363 * ai = a[i0] * if ai == ai: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple_ = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple_ = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "allnan.pyx":384 + /* "allnan.pyx":364 * if ai == ai: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__2 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__2 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "allnan.pyx":399 + /* "allnan.pyx":379 * ai = a[i0] * if ai == ai: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__3 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__3 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "allnan.pyx":400 + /* "allnan.pyx":380 * if ai == ai: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__4 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__4 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "allnan.pyx":415 + /* "allnan.pyx":395 * ai = a[i0] * if ai == ai: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__5 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__5 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "allnan.pyx":416 + /* "allnan.pyx":396 * if ai == ai: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__6 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__6 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6); - /* "allnan.pyx":433 + /* "allnan.pyx":413 * ai = a[i0, i1] * if ai == ai: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__7 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__7 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7); - /* "allnan.pyx":434 + /* "allnan.pyx":414 * if ai == ai: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__8 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__8 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8); - /* "allnan.pyx":451 + /* "allnan.pyx":431 * ai = a[i0, i1] * if ai == ai: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__9 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__9 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - /* "allnan.pyx":452 + /* "allnan.pyx":432 * if ai == ai: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__10 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__10 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); - /* "allnan.pyx":469 + /* "allnan.pyx":449 * ai = a[i0, i1] * if ai == ai: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__11 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__11 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - /* "allnan.pyx":470 + /* "allnan.pyx":450 * if ai == ai: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__12 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__12 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__12); __Pyx_GIVEREF(__pyx_tuple__12); - /* "allnan.pyx":639 + /* "allnan.pyx":463 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * return np.bool_(True) # <<<<<<<<<<<<<< * else: * return np.bool_(False) */ - __pyx_tuple__13 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__13 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - /* "allnan.pyx":641 + /* "allnan.pyx":465 * return np.bool_(True) * else: * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__14 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__14 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14); - /* "allnan.pyx":654 + /* "allnan.pyx":478 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * return np.bool_(True) # <<<<<<<<<<<<<< * else: * return np.bool_(False) */ - __pyx_tuple__15 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__15 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - /* "allnan.pyx":656 + /* "allnan.pyx":480 * return np.bool_(True) * else: * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__16 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__16 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__16); __Pyx_GIVEREF(__pyx_tuple__16); - /* "allnan.pyx":669 + /* "allnan.pyx":493 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * return np.bool_(True) # <<<<<<<<<<<<<< * else: * return np.bool_(False) */ - __pyx_tuple__17 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 669; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__17 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - /* "allnan.pyx":671 + /* "allnan.pyx":495 * return np.bool_(True) * else: * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__18 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__18 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18); - /* "allnan.pyx":684 + /* "allnan.pyx":508 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * return np.bool_(True) # <<<<<<<<<<<<<< * else: * return np.bool_(False) */ - __pyx_tuple__19 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - /* "allnan.pyx":686 + /* "allnan.pyx":510 * return np.bool_(True) * else: * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__20 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__20 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__20); __Pyx_GIVEREF(__pyx_tuple__20); - /* "allnan.pyx":700 + /* "allnan.pyx":524 * cdef Py_ssize_t n1 = dim[1] * if n0* n1 == 0: * return np.bool_(True) # <<<<<<<<<<<<<< * else: * return np.bool_(False) */ - __pyx_tuple__21 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - /* "allnan.pyx":702 + /* "allnan.pyx":526 * return np.bool_(True) * else: * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__22 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__22 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22); - /* "allnan.pyx":716 + /* "allnan.pyx":540 * cdef Py_ssize_t n1 = dim[1] * if n0* n1 == 0: * return np.bool_(True) # <<<<<<<<<<<<<< * else: * return np.bool_(False) */ - __pyx_tuple__23 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - /* "allnan.pyx":718 + /* "allnan.pyx":542 * return np.bool_(True) * else: * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__24 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__24 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__24); __Pyx_GIVEREF(__pyx_tuple__24); - /* "allnan.pyx":732 + /* "allnan.pyx":556 * cdef Py_ssize_t n1 = dim[1] * if n0* n1 == 0: * return np.bool_(True) # <<<<<<<<<<<<<< * else: * return np.bool_(False) */ - __pyx_tuple__25 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - /* "allnan.pyx":734 + /* "allnan.pyx":558 * return np.bool_(True) * else: * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__26 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__26 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__26); __Pyx_GIVEREF(__pyx_tuple__26); - /* "allnan.pyx":748 + /* "allnan.pyx":572 * cdef Py_ssize_t n1 = dim[1] * if n0* n1 == 0: * return np.bool_(True) # <<<<<<<<<<<<<< * else: * return np.bool_(False) */ - __pyx_tuple__27 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - /* "allnan.pyx":750 + /* "allnan.pyx":574 * return np.bool_(True) * else: * return np.bool_(False) # <<<<<<<<<<<<<< * - * cdef dict allnan_dict = {} + * @cython.boundscheck(False) */ - __pyx_tuple__28 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__28 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__28); __Pyx_GIVEREF(__pyx_tuple__28); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -14220,7 +14220,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -14231,7 +14231,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14242,7 +14242,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -14253,7 +14253,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__32); __Pyx_GIVEREF(__pyx_tuple__32); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14264,7 +14264,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -14296,7 +14296,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__37 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":124 * return func(arr) @@ -14308,346 +14308,346 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__39 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_selector, 124, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_selector, 124, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":196 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=0." + * def allnan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=0." * cdef int f = 1 */ __pyx_tuple__41 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int_axis0, 196, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_float_axis0, 196, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":218 + /* "allnan.pyx":222 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=1." + * def allnan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=1." * cdef int f = 1 */ - __pyx_tuple__43 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int_axis1, 218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_float_axis1, 222, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":240 + /* "allnan.pyx":248 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=0." + * def allnan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=0." * cdef int f = 1 */ - __pyx_tuple__45 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int8_axis0, 240, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_float32_axis0, 248, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":262 + /* "allnan.pyx":274 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=1." + * def allnan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=1." * cdef int f = 1 */ - __pyx_tuple__47 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int8_axis1, 262, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_float32_axis1, 274, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":284 + /* "allnan.pyx":300 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=0." + * def allnan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=0." * cdef int f = 1 */ - __pyx_tuple__49 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int32_axis0, 284, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_float64_axis0, 300, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":306 + /* "allnan.pyx":326 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=1." + * def allnan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=1." * cdef int f = 1 */ - __pyx_tuple__51 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int32_axis1, 306, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_float64_axis1, 326, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":328 + /* "allnan.pyx":352 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=0." + * def allnan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float along axis=None." * cdef int f = 1 */ - __pyx_tuple__53 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int64_axis0, 328, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_1d_float_axisNone, 352, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":350 + /* "allnan.pyx":368 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=1." + * def allnan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float32 along axis=None." * cdef int f = 1 */ - __pyx_tuple__55 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int64_axis1, 350, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_1d_float32_axisNone, 368, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":372 + /* "allnan.pyx":384 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float along axis=None." + * def allnan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float64 along axis=None." * cdef int f = 1 */ - __pyx_tuple__57 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_1d_float_axisNone, 372, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_1d_float64_axisNone, 384, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":388 + /* "allnan.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float32 along axis=None." + * def allnan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=None." * cdef int f = 1 */ - __pyx_tuple__59 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_1d_float32_axisNone, 388, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_float_axisNone, 400, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":404 + /* "allnan.pyx":418 * @cython.boundscheck(False) - * @cython.wraparound(False) - * def allnan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float64 along axis=None." + * @cython.wraparound(False) + * def allnan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=None." * cdef int f = 1 */ - __pyx_tuple__61 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_1d_float64_axisNone, 404, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_float32_axisNone, 418, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":420 + /* "allnan.pyx":436 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=None." + * def allnan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=None." * cdef int f = 1 */ - __pyx_tuple__63 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_float_axisNone, 420, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_float64_axisNone, 436, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":438 + /* "allnan.pyx":454 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=None." + * def allnan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int along axis=None." * cdef int f = 1 */ - __pyx_tuple__65 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_float32_axisNone, 438, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_1d_int_axisNone, 454, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":456 + /* "allnan.pyx":469 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=None." + * def allnan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int8 along axis=None." * cdef int f = 1 */ - __pyx_tuple__67 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_float64_axisNone, 456, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_1d_int8_axisNone, 469, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":474 + /* "allnan.pyx":484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=0." + * def allnan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int32 along axis=None." * cdef int f = 1 */ - __pyx_tuple__69 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__69 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_float_axis0, 474, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_1d_int32_axisNone, 484, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":500 + /* "allnan.pyx":499 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=1." + * def allnan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int64 along axis=None." * cdef int f = 1 */ - __pyx_tuple__71 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__71 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_float_axis1, 500, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_1d_int64_axisNone, 499, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":526 + /* "allnan.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=0." + * def allnan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=None." * cdef int f = 1 */ - __pyx_tuple__73 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__73 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_float32_axis0, 526, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int_axisNone, 514, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":552 + /* "allnan.pyx":530 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=1." + * def allnan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=None." * cdef int f = 1 */ - __pyx_tuple__75 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__75 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_float32_axis1, 552, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int8_axisNone, 530, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":578 + /* "allnan.pyx":546 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=0." + * def allnan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=None." * cdef int f = 1 */ - __pyx_tuple__77 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__77 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_float64_axis0, 578, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int32_axisNone, 546, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":604 + /* "allnan.pyx":562 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=1." + * def allnan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=None." * cdef int f = 1 */ - __pyx_tuple__79 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__79 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_float64_axis1, 604, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int64_axisNone, 562, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":630 + /* "allnan.pyx":578 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int along axis=None." + * def allnan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=0." * cdef int f = 1 */ - __pyx_tuple__81 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__81 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_1d_int_axisNone, 630, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int_axis0, 578, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":645 + /* "allnan.pyx":600 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int8 along axis=None." + * def allnan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=1." * cdef int f = 1 */ - __pyx_tuple__83 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__83 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_1d_int8_axisNone, 645, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int_axis1, 600, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":660 + /* "allnan.pyx":622 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int32 along axis=None." + * def allnan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=0." * cdef int f = 1 */ - __pyx_tuple__85 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__85 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_1d_int32_axisNone, 660, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int8_axis0, 622, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":675 + /* "allnan.pyx":644 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int64 along axis=None." + * def allnan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=1." * cdef int f = 1 */ - __pyx_tuple__87 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__87 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_1d_int64_axisNone, 675, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int8_axis1, 644, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":690 + /* "allnan.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=None." + * def allnan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=0." * cdef int f = 1 */ - __pyx_tuple__89 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__89 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int_axisNone, 690, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int32_axis0, 666, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":706 + /* "allnan.pyx":688 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=None." + * def allnan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=1." * cdef int f = 1 */ - __pyx_tuple__91 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__91 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int8_axisNone, 706, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int32_axis1, 688, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":722 + /* "allnan.pyx":710 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=None." + * def allnan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=0." * cdef int f = 1 */ - __pyx_tuple__93 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__93 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int32_axisNone, 722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int64_axis0, 710, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "allnan.pyx":738 + /* "allnan.pyx":732 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=None." + * def allnan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=1." * cdef int f = 1 */ - __pyx_tuple__95 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__95 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_2d_int64_axisNone, 738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_2d_int64_axis1, 732, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":789 - * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone + * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 * * def allnan_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) allnan along axis 0." @@ -14656,7 +14656,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis0, 789, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis0, 789, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":793 * return bn.slow.allnan(arr, axis=0) @@ -14668,7 +14668,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis1, 793, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis1, 793, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":797 * return bn.slow.allnan(arr, axis=1) @@ -14680,7 +14680,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis2, 797, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis2, 797, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":801 * return bn.slow.allnan(arr, axis=2) @@ -14692,7 +14692,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis3, 801, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis3, 801, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":805 * return bn.slow.allnan(arr, axis=3) @@ -14704,7 +14704,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis4, 805, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis4, 805, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":809 * return bn.slow.allnan(arr, axis=4) @@ -14716,7 +14716,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis5, 809, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis5, 809, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":813 * return bn.slow.allnan(arr, axis=5) @@ -14728,7 +14728,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis6, 813, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis6, 813, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":817 * return bn.slow.allnan(arr, axis=6) @@ -14740,7 +14740,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis7, 817, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis7, 817, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":821 * return bn.slow.allnan(arr, axis=7) @@ -14752,7 +14752,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis8, 821, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis8, 821, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":825 * return bn.slow.allnan(arr, axis=8) @@ -14764,7 +14764,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis9, 825, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis9, 825, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":829 * return bn.slow.allnan(arr, axis=9) @@ -14776,7 +14776,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis10, 829, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis10, 829, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":833 * return bn.slow.allnan(arr, axis=10) @@ -14788,7 +14788,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis11, 833, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis11, 833, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":837 * return bn.slow.allnan(arr, axis=11) @@ -14800,7 +14800,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis12, 837, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis12, 837, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":841 * return bn.slow.allnan(arr, axis=12) @@ -14812,7 +14812,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis13, 841, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis13, 841, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":845 * return bn.slow.allnan(arr, axis=13) @@ -14824,7 +14824,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis14, 845, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis14, 845, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":849 * return bn.slow.allnan(arr, axis=14) @@ -14836,7 +14836,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis15, 849, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis15, 849, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":853 * return bn.slow.allnan(arr, axis=15) @@ -14848,7 +14848,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis16, 853, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis16, 853, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":857 * return bn.slow.allnan(arr, axis=16) @@ -14860,7 +14860,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis17, 857, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis17, 857, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":861 * return bn.slow.allnan(arr, axis=17) @@ -14872,7 +14872,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis18, 861, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis18, 861, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":865 * return bn.slow.allnan(arr, axis=18) @@ -14884,7 +14884,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis19, 865, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis19, 865, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":869 * return bn.slow.allnan(arr, axis=19) @@ -14896,7 +14896,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__137 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__137); __Pyx_GIVEREF(__pyx_tuple__137); - __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis20, 869, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis20, 869, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":873 * return bn.slow.allnan(arr, axis=20) @@ -14908,7 +14908,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__139 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__139); __Pyx_GIVEREF(__pyx_tuple__139); - __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis21, 873, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis21, 873, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":877 * return bn.slow.allnan(arr, axis=21) @@ -14920,7 +14920,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__141 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__141); __Pyx_GIVEREF(__pyx_tuple__141); - __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis22, 877, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis22, 877, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":881 * return bn.slow.allnan(arr, axis=22) @@ -14932,7 +14932,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__143 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__143); __Pyx_GIVEREF(__pyx_tuple__143); - __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis23, 881, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis23, 881, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":885 * return bn.slow.allnan(arr, axis=23) @@ -14944,7 +14944,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__145 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__145); __Pyx_GIVEREF(__pyx_tuple__145); - __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis24, 885, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis24, 885, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":889 * return bn.slow.allnan(arr, axis=24) @@ -14956,7 +14956,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__147 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 889; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__147); __Pyx_GIVEREF(__pyx_tuple__147); - __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis25, 889, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 889; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis25, 889, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 889; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":893 * return bn.slow.allnan(arr, axis=25) @@ -14968,7 +14968,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__149 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__149); __Pyx_GIVEREF(__pyx_tuple__149); - __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis26, 893, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis26, 893, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":897 * return bn.slow.allnan(arr, axis=26) @@ -14980,7 +14980,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__151 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__151); __Pyx_GIVEREF(__pyx_tuple__151); - __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis27, 897, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis27, 897, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":901 * return bn.slow.allnan(arr, axis=27) @@ -14992,7 +14992,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__153 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__153); __Pyx_GIVEREF(__pyx_tuple__153); - __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis28, 901, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis28, 901, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":905 * return bn.slow.allnan(arr, axis=28) @@ -15004,7 +15004,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__155 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__155); __Pyx_GIVEREF(__pyx_tuple__155); - __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis29, 905, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis29, 905, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":909 * return bn.slow.allnan(arr, axis=29) @@ -15016,7 +15016,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__157 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__157); __Pyx_GIVEREF(__pyx_tuple__157); - __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis30, 909, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis30, 909, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":913 * return bn.slow.allnan(arr, axis=30) @@ -15028,7 +15028,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__159 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__159); __Pyx_GIVEREF(__pyx_tuple__159); - __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis31, 913, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis31, 913, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":917 * return bn.slow.allnan(arr, axis=31) @@ -15040,7 +15040,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__161 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__161); __Pyx_GIVEREF(__pyx_tuple__161); - __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axis32, 917, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axis32, 917, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "allnan.pyx":921 * return bn.slow.allnan(arr, axis=32) @@ -15052,7 +15052,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__163 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__163); __Pyx_GIVEREF(__pyx_tuple__163); - __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_allnan_slow_axisNone, 921, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_allnan_slow_axisNone, 921, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -16018,345 +16018,345 @@ PyMODINIT_FUNC PyInit_allnan(void) /* "allnan.pyx":196 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=0." + * def allnan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_5allnan_2d_int_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_5allnan_2d_float_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":218 + /* "allnan.pyx":222 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=1." + * def allnan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_7allnan_2d_int_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_7allnan_2d_float_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":240 + /* "allnan.pyx":248 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=0." + * def allnan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_9allnan_2d_int8_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_9allnan_2d_float32_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":262 + /* "allnan.pyx":274 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=1." + * def allnan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_11allnan_2d_int8_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_11allnan_2d_float32_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":284 + /* "allnan.pyx":300 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=0." + * def allnan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_13allnan_2d_int32_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_13allnan_2d_float64_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":306 + /* "allnan.pyx":326 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=1." + * def allnan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_15allnan_2d_int32_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_15allnan_2d_float64_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":328 + /* "allnan.pyx":352 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=0." + * def allnan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_17allnan_2d_int64_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_17allnan_1d_float_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":350 + /* "allnan.pyx":368 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=1." + * def allnan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float32 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_19allnan_2d_int64_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_19allnan_1d_float32_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":372 + /* "allnan.pyx":384 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float along axis=None." + * def allnan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=float64 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_21allnan_1d_float_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_21allnan_1d_float64_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":388 + /* "allnan.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float32 along axis=None." + * def allnan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_23allnan_1d_float32_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_23allnan_2d_float_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":404 + /* "allnan.pyx":418 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=float64 along axis=None." + * def allnan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float32 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_25allnan_1d_float64_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_25allnan_2d_float32_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":420 + /* "allnan.pyx":436 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=None." + * def allnan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=float64 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_27allnan_2d_float_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_27allnan_2d_float64_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":438 + /* "allnan.pyx":454 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=None." + * def allnan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_29allnan_2d_float32_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_29allnan_1d_int_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":456 + /* "allnan.pyx":469 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=None." + * def allnan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int8 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_31allnan_2d_float64_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_31allnan_1d_int8_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":474 + /* "allnan.pyx":484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=0." + * def allnan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int32 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_33allnan_2d_float_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_33allnan_1d_int32_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":500 + /* "allnan.pyx":499 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float along axis=1." + * def allnan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 1d array with dtype=int64 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_35allnan_2d_float_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_35allnan_1d_int64_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":526 + /* "allnan.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=0." + * def allnan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_37allnan_2d_float32_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_37allnan_2d_int_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":552 + /* "allnan.pyx":530 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float32 along axis=1." + * def allnan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_39allnan_2d_float32_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_39allnan_2d_int8_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":578 + /* "allnan.pyx":546 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=0." + * def allnan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_41allnan_2d_float64_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_41allnan_2d_int32_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":604 + /* "allnan.pyx":562 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=float64 along axis=1." + * def allnan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_43allnan_2d_float64_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_43allnan_2d_int64_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":630 + /* "allnan.pyx":578 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int along axis=None." + * def allnan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_45allnan_1d_int_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_45allnan_2d_int_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":645 + /* "allnan.pyx":600 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int8 along axis=None." + * def allnan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_47allnan_1d_int8_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_47allnan_2d_int_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":660 + /* "allnan.pyx":622 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int32 along axis=None." + * def allnan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_49allnan_1d_int32_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_49allnan_2d_int8_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":675 + /* "allnan.pyx":644 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 1d array with dtype=int64 along axis=None." + * def allnan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int8 along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_51allnan_1d_int64_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_51allnan_2d_int8_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":690 + /* "allnan.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int along axis=None." + * def allnan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_53allnan_2d_int_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_53allnan_2d_int32_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":706 + /* "allnan.pyx":688 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int8 along axis=None." + * def allnan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int32 along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_55allnan_2d_int8_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_55allnan_2d_int32_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":722 + /* "allnan.pyx":710 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int32 along axis=None." + * def allnan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_57allnan_2d_int32_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_57allnan_2d_int64_axis0, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "allnan.pyx":738 + /* "allnan.pyx":732 * @cython.boundscheck(False) * @cython.wraparound(False) - * def allnan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for all NaNs in 2d array with dtype=int64 along axis=None." + * def allnan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for all NaNs in 2d array with dtype=int64 along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_59allnan_2d_int64_axisNone, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6allnan_59allnan_2d_int64_axis1, NULL, __pyx_n_s_allnan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_allnan_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":752 - * return np.bool_(False) + * return y * * cdef dict allnan_dict = {} # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int, 0)] = allnan_2d_int_axis0 - * allnan_dict[(2, NPY_int, 1)] = allnan_2d_int_axis1 + * allnan_dict[(2, NPY_float, 0)] = allnan_2d_float_axis0 + * allnan_dict[(2, NPY_float, 1)] = allnan_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -16368,17 +16368,17 @@ PyMODINIT_FUNC PyInit_allnan(void) /* "allnan.pyx":753 * * cdef dict allnan_dict = {} - * allnan_dict[(2, NPY_int, 0)] = allnan_2d_int_axis0 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int, 1)] = allnan_2d_int_axis1 - * allnan_dict[(2, NPY_int8, 0)] = allnan_2d_int8_axis0 + * allnan_dict[(2, NPY_float, 0)] = allnan_2d_float_axis0 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float, 1)] = allnan_2d_float_axis1 + * allnan_dict[(2, NPY_float32, 0)] = allnan_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16397,18 +16397,18 @@ PyMODINIT_FUNC PyInit_allnan(void) /* "allnan.pyx":754 * cdef dict allnan_dict = {} - * allnan_dict[(2, NPY_int, 0)] = allnan_2d_int_axis0 - * allnan_dict[(2, NPY_int, 1)] = allnan_2d_int_axis1 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int8, 0)] = allnan_2d_int8_axis0 - * allnan_dict[(2, NPY_int8, 1)] = allnan_2d_int8_axis1 + * allnan_dict[(2, NPY_float, 0)] = allnan_2d_float_axis0 + * allnan_dict[(2, NPY_float, 1)] = allnan_2d_float_axis1 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float32, 0)] = allnan_2d_float32_axis0 + * allnan_dict[(2, NPY_float32, 1)] = allnan_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16426,19 +16426,19 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":755 - * allnan_dict[(2, NPY_int, 0)] = allnan_2d_int_axis0 - * allnan_dict[(2, NPY_int, 1)] = allnan_2d_int_axis1 - * allnan_dict[(2, NPY_int8, 0)] = allnan_2d_int8_axis0 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int8, 1)] = allnan_2d_int8_axis1 - * allnan_dict[(2, NPY_int32, 0)] = allnan_2d_int32_axis0 + * allnan_dict[(2, NPY_float, 0)] = allnan_2d_float_axis0 + * allnan_dict[(2, NPY_float, 1)] = allnan_2d_float_axis1 + * allnan_dict[(2, NPY_float32, 0)] = allnan_2d_float32_axis0 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float32, 1)] = allnan_2d_float32_axis1 + * allnan_dict[(2, NPY_float64, 0)] = allnan_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16456,19 +16456,19 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":756 - * allnan_dict[(2, NPY_int, 1)] = allnan_2d_int_axis1 - * allnan_dict[(2, NPY_int8, 0)] = allnan_2d_int8_axis0 - * allnan_dict[(2, NPY_int8, 1)] = allnan_2d_int8_axis1 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int32, 0)] = allnan_2d_int32_axis0 - * allnan_dict[(2, NPY_int32, 1)] = allnan_2d_int32_axis1 + * allnan_dict[(2, NPY_float, 1)] = allnan_2d_float_axis1 + * allnan_dict[(2, NPY_float32, 0)] = allnan_2d_float32_axis0 + * allnan_dict[(2, NPY_float32, 1)] = allnan_2d_float32_axis1 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float64, 0)] = allnan_2d_float64_axis0 + * allnan_dict[(2, NPY_float64, 1)] = allnan_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16486,19 +16486,19 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":757 - * allnan_dict[(2, NPY_int8, 0)] = allnan_2d_int8_axis0 - * allnan_dict[(2, NPY_int8, 1)] = allnan_2d_int8_axis1 - * allnan_dict[(2, NPY_int32, 0)] = allnan_2d_int32_axis0 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int32, 1)] = allnan_2d_int32_axis1 - * allnan_dict[(2, NPY_int64, 0)] = allnan_2d_int64_axis0 + * allnan_dict[(2, NPY_float32, 0)] = allnan_2d_float32_axis0 + * allnan_dict[(2, NPY_float32, 1)] = allnan_2d_float32_axis1 + * allnan_dict[(2, NPY_float64, 0)] = allnan_2d_float64_axis0 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float64, 1)] = allnan_2d_float64_axis1 + * allnan_dict[(1, NPY_float, 0)] = allnan_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16516,19 +16516,19 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":758 - * allnan_dict[(2, NPY_int8, 1)] = allnan_2d_int8_axis1 - * allnan_dict[(2, NPY_int32, 0)] = allnan_2d_int32_axis0 - * allnan_dict[(2, NPY_int32, 1)] = allnan_2d_int32_axis1 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int64, 0)] = allnan_2d_int64_axis0 - * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 + * allnan_dict[(2, NPY_float32, 1)] = allnan_2d_float32_axis1 + * allnan_dict[(2, NPY_float64, 0)] = allnan_2d_float64_axis0 + * allnan_dict[(2, NPY_float64, 1)] = allnan_2d_float64_axis1 # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float, 0)] = allnan_1d_float_axisNone + * allnan_dict[(1, NPY_float, None)] = allnan_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16546,25 +16546,25 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":759 - * allnan_dict[(2, NPY_int32, 0)] = allnan_2d_int32_axis0 - * allnan_dict[(2, NPY_int32, 1)] = allnan_2d_int32_axis1 - * allnan_dict[(2, NPY_int64, 0)] = allnan_2d_int64_axis0 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 - * allnan_dict[(1, NPY_float, 0)] = allnan_1d_float_axisNone + * allnan_dict[(2, NPY_float64, 0)] = allnan_2d_float64_axis0 + * allnan_dict[(2, NPY_float64, 1)] = allnan_2d_float64_axis1 + * allnan_dict[(1, NPY_float, 0)] = allnan_1d_float_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float, None)] = allnan_1d_float_axisNone + * allnan_dict[(1, NPY_float32, 0)] = allnan_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -16576,49 +16576,49 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":760 - * allnan_dict[(2, NPY_int32, 1)] = allnan_2d_int32_axis1 - * allnan_dict[(2, NPY_int64, 0)] = allnan_2d_int64_axis0 - * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float64, 1)] = allnan_2d_float64_axis1 * allnan_dict[(1, NPY_float, 0)] = allnan_1d_float_axisNone - * allnan_dict[(1, NPY_float, None)] = allnan_1d_float_axisNone + * allnan_dict[(1, NPY_float, None)] = allnan_1d_float_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float32, 0)] = allnan_1d_float32_axisNone + * allnan_dict[(1, NPY_float32, None)] = allnan_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":761 - * allnan_dict[(2, NPY_int64, 0)] = allnan_2d_int64_axis0 - * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 - * allnan_dict[(1, NPY_float, 0)] = allnan_1d_float_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float, 0)] = allnan_1d_float_axisNone * allnan_dict[(1, NPY_float, None)] = allnan_1d_float_axisNone - * allnan_dict[(1, NPY_float32, 0)] = allnan_1d_float32_axisNone + * allnan_dict[(1, NPY_float32, 0)] = allnan_1d_float32_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float32, None)] = allnan_1d_float32_axisNone + * allnan_dict[(1, NPY_float64, 0)] = allnan_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16636,19 +16636,19 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":762 - * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 - * allnan_dict[(1, NPY_float, 0)] = allnan_1d_float_axisNone - * allnan_dict[(1, NPY_float, None)] = allnan_1d_float_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float, None)] = allnan_1d_float_axisNone * allnan_dict[(1, NPY_float32, 0)] = allnan_1d_float32_axisNone - * allnan_dict[(1, NPY_float32, None)] = allnan_1d_float32_axisNone + * allnan_dict[(1, NPY_float32, None)] = allnan_1d_float32_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float64, 0)] = allnan_1d_float64_axisNone + * allnan_dict[(1, NPY_float64, None)] = allnan_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16666,19 +16666,19 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":763 - * allnan_dict[(1, NPY_float, 0)] = allnan_1d_float_axisNone - * allnan_dict[(1, NPY_float, None)] = allnan_1d_float_axisNone - * allnan_dict[(1, NPY_float32, 0)] = allnan_1d_float32_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float32, 0)] = allnan_1d_float32_axisNone * allnan_dict[(1, NPY_float32, None)] = allnan_1d_float32_axisNone - * allnan_dict[(1, NPY_float64, 0)] = allnan_1d_float64_axisNone + * allnan_dict[(1, NPY_float64, 0)] = allnan_1d_float64_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float64, None)] = allnan_1d_float64_axisNone + * allnan_dict[(2, NPY_float, None)] = allnan_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16696,19 +16696,19 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":764 - * allnan_dict[(1, NPY_float, None)] = allnan_1d_float_axisNone - * allnan_dict[(1, NPY_float32, 0)] = allnan_1d_float32_axisNone - * allnan_dict[(1, NPY_float32, None)] = allnan_1d_float32_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float32, None)] = allnan_1d_float32_axisNone * allnan_dict[(1, NPY_float64, 0)] = allnan_1d_float64_axisNone - * allnan_dict[(1, NPY_float64, None)] = allnan_1d_float64_axisNone + * allnan_dict[(1, NPY_float64, None)] = allnan_1d_float64_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float, None)] = allnan_2d_float_axisNone + * allnan_dict[(2, NPY_float32, None)] = allnan_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16726,55 +16726,55 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":765 - * allnan_dict[(1, NPY_float32, 0)] = allnan_1d_float32_axisNone - * allnan_dict[(1, NPY_float32, None)] = allnan_1d_float32_axisNone - * allnan_dict[(1, NPY_float64, 0)] = allnan_1d_float64_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float64, 0)] = allnan_1d_float64_axisNone * allnan_dict[(1, NPY_float64, None)] = allnan_1d_float64_axisNone - * allnan_dict[(2, NPY_float, None)] = allnan_2d_float_axisNone + * allnan_dict[(2, NPY_float, None)] = allnan_2d_float_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float32, None)] = allnan_2d_float32_axisNone + * allnan_dict[(2, NPY_float64, None)] = allnan_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":766 - * allnan_dict[(1, NPY_float32, None)] = allnan_1d_float32_axisNone - * allnan_dict[(1, NPY_float64, 0)] = allnan_1d_float64_axisNone - * allnan_dict[(1, NPY_float64, None)] = allnan_1d_float64_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_float64, None)] = allnan_1d_float64_axisNone * allnan_dict[(2, NPY_float, None)] = allnan_2d_float_axisNone - * allnan_dict[(2, NPY_float32, None)] = allnan_2d_float32_axisNone + * allnan_dict[(2, NPY_float32, None)] = allnan_2d_float32_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float64, None)] = allnan_2d_float64_axisNone + * allnan_dict[(1, NPY_int, 0)] = allnan_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -16786,19 +16786,19 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":767 - * allnan_dict[(1, NPY_float64, 0)] = allnan_1d_float64_axisNone - * allnan_dict[(1, NPY_float64, None)] = allnan_1d_float64_axisNone - * allnan_dict[(2, NPY_float, None)] = allnan_2d_float_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float, None)] = allnan_2d_float_axisNone * allnan_dict[(2, NPY_float32, None)] = allnan_2d_float32_axisNone - * allnan_dict[(2, NPY_float64, None)] = allnan_2d_float64_axisNone + * allnan_dict[(2, NPY_float64, None)] = allnan_2d_float64_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_int, 0)] = allnan_1d_int_axisNone + * allnan_dict[(1, NPY_int, None)] = allnan_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16816,55 +16816,55 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":768 - * allnan_dict[(1, NPY_float64, None)] = allnan_1d_float64_axisNone - * allnan_dict[(2, NPY_float, None)] = allnan_2d_float_axisNone - * allnan_dict[(2, NPY_float32, None)] = allnan_2d_float32_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_float32, None)] = allnan_2d_float32_axisNone * allnan_dict[(2, NPY_float64, None)] = allnan_2d_float64_axisNone - * allnan_dict[(2, NPY_float, 0)] = allnan_2d_float_axis0 + * allnan_dict[(1, NPY_int, 0)] = allnan_1d_int_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_int, None)] = allnan_1d_int_axisNone + * allnan_dict[(1, NPY_int8, 0)] = allnan_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":769 - * allnan_dict[(2, NPY_float, None)] = allnan_2d_float_axisNone - * allnan_dict[(2, NPY_float32, None)] = allnan_2d_float32_axisNone - * allnan_dict[(2, NPY_float64, None)] = allnan_2d_float64_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_float, 0)] = allnan_2d_float_axis0 - * allnan_dict[(2, NPY_float, 1)] = allnan_2d_float_axis1 + * allnan_dict[(2, NPY_float64, None)] = allnan_2d_float64_axisNone + * allnan_dict[(1, NPY_int, 0)] = allnan_1d_int_axisNone + * allnan_dict[(1, NPY_int, None)] = allnan_1d_int_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_int8, 0)] = allnan_1d_int8_axisNone + * allnan_dict[(1, NPY_int8, None)] = allnan_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -16876,25 +16876,25 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":770 - * allnan_dict[(2, NPY_float32, None)] = allnan_2d_float32_axisNone - * allnan_dict[(2, NPY_float64, None)] = allnan_2d_float64_axisNone - * allnan_dict[(2, NPY_float, 0)] = allnan_2d_float_axis0 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_float, 1)] = allnan_2d_float_axis1 - * allnan_dict[(2, NPY_float32, 0)] = allnan_2d_float32_axis0 + * allnan_dict[(1, NPY_int, 0)] = allnan_1d_int_axisNone + * allnan_dict[(1, NPY_int, None)] = allnan_1d_int_axisNone + * allnan_dict[(1, NPY_int8, 0)] = allnan_1d_int8_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_int8, None)] = allnan_1d_int8_axisNone + * allnan_dict[(1, NPY_int32, 0)] = allnan_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16906,55 +16906,55 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":771 - * allnan_dict[(2, NPY_float64, None)] = allnan_2d_float64_axisNone - * allnan_dict[(2, NPY_float, 0)] = allnan_2d_float_axis0 - * allnan_dict[(2, NPY_float, 1)] = allnan_2d_float_axis1 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_float32, 0)] = allnan_2d_float32_axis0 - * allnan_dict[(2, NPY_float32, 1)] = allnan_2d_float32_axis1 + * allnan_dict[(1, NPY_int, None)] = allnan_1d_int_axisNone + * allnan_dict[(1, NPY_int8, 0)] = allnan_1d_int8_axisNone + * allnan_dict[(1, NPY_int8, None)] = allnan_1d_int8_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_int32, 0)] = allnan_1d_int32_axisNone + * allnan_dict[(1, NPY_int32, None)] = allnan_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":772 - * allnan_dict[(2, NPY_float, 0)] = allnan_2d_float_axis0 - * allnan_dict[(2, NPY_float, 1)] = allnan_2d_float_axis1 - * allnan_dict[(2, NPY_float32, 0)] = allnan_2d_float32_axis0 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_float32, 1)] = allnan_2d_float32_axis1 - * allnan_dict[(2, NPY_float64, 0)] = allnan_2d_float64_axis0 + * allnan_dict[(1, NPY_int8, 0)] = allnan_1d_int8_axisNone + * allnan_dict[(1, NPY_int8, None)] = allnan_1d_int8_axisNone + * allnan_dict[(1, NPY_int32, 0)] = allnan_1d_int32_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_int32, None)] = allnan_1d_int32_axisNone + * allnan_dict[(1, NPY_int64, 0)] = allnan_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16966,55 +16966,55 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":773 - * allnan_dict[(2, NPY_float, 1)] = allnan_2d_float_axis1 - * allnan_dict[(2, NPY_float32, 0)] = allnan_2d_float32_axis0 - * allnan_dict[(2, NPY_float32, 1)] = allnan_2d_float32_axis1 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_float64, 0)] = allnan_2d_float64_axis0 - * allnan_dict[(2, NPY_float64, 1)] = allnan_2d_float64_axis1 + * allnan_dict[(1, NPY_int8, None)] = allnan_1d_int8_axisNone + * allnan_dict[(1, NPY_int32, 0)] = allnan_1d_int32_axisNone + * allnan_dict[(1, NPY_int32, None)] = allnan_1d_int32_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_int64, 0)] = allnan_1d_int64_axisNone + * allnan_dict[(1, NPY_int64, None)] = allnan_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":774 - * allnan_dict[(2, NPY_float32, 0)] = allnan_2d_float32_axis0 - * allnan_dict[(2, NPY_float32, 1)] = allnan_2d_float32_axis1 - * allnan_dict[(2, NPY_float64, 0)] = allnan_2d_float64_axis0 # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_float64, 1)] = allnan_2d_float64_axis1 - * allnan_dict[(1, NPY_int, 0)] = allnan_1d_int_axisNone + * allnan_dict[(1, NPY_int32, 0)] = allnan_1d_int32_axisNone + * allnan_dict[(1, NPY_int32, None)] = allnan_1d_int32_axisNone + * allnan_dict[(1, NPY_int64, 0)] = allnan_1d_int64_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(1, NPY_int64, None)] = allnan_1d_int64_axisNone + * allnan_dict[(2, NPY_int, None)] = allnan_2d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -17026,43 +17026,43 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":775 - * allnan_dict[(2, NPY_float32, 1)] = allnan_2d_float32_axis1 - * allnan_dict[(2, NPY_float64, 0)] = allnan_2d_float64_axis0 - * allnan_dict[(2, NPY_float64, 1)] = allnan_2d_float64_axis1 # <<<<<<<<<<<<<< - * allnan_dict[(1, NPY_int, 0)] = allnan_1d_int_axisNone - * allnan_dict[(1, NPY_int, None)] = allnan_1d_int_axisNone + * allnan_dict[(1, NPY_int32, None)] = allnan_1d_int32_axisNone + * allnan_dict[(1, NPY_int64, 0)] = allnan_1d_int64_axisNone + * allnan_dict[(1, NPY_int64, None)] = allnan_1d_int64_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int, None)] = allnan_2d_int_axisNone + * allnan_dict[(2, NPY_int8, None)] = allnan_2d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":776 - * allnan_dict[(2, NPY_float64, 0)] = allnan_2d_float64_axis0 - * allnan_dict[(2, NPY_float64, 1)] = allnan_2d_float64_axis1 - * allnan_dict[(1, NPY_int, 0)] = allnan_1d_int_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(1, NPY_int, None)] = allnan_1d_int_axisNone - * allnan_dict[(1, NPY_int8, 0)] = allnan_1d_int8_axisNone + * allnan_dict[(1, NPY_int64, 0)] = allnan_1d_int64_axisNone + * allnan_dict[(1, NPY_int64, None)] = allnan_1d_int64_axisNone + * allnan_dict[(2, NPY_int, None)] = allnan_2d_int_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int8, None)] = allnan_2d_int8_axisNone + * allnan_dict[(2, NPY_int32, None)] = allnan_2d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -17072,39 +17072,39 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":777 - * allnan_dict[(2, NPY_float64, 1)] = allnan_2d_float64_axis1 - * allnan_dict[(1, NPY_int, 0)] = allnan_1d_int_axisNone - * allnan_dict[(1, NPY_int, None)] = allnan_1d_int_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(1, NPY_int8, 0)] = allnan_1d_int8_axisNone - * allnan_dict[(1, NPY_int8, None)] = allnan_1d_int8_axisNone + * allnan_dict[(1, NPY_int64, None)] = allnan_1d_int64_axisNone + * allnan_dict[(2, NPY_int, None)] = allnan_2d_int_axisNone + * allnan_dict[(2, NPY_int8, None)] = allnan_2d_int8_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int32, None)] = allnan_2d_int32_axisNone + * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -17116,55 +17116,55 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":778 - * allnan_dict[(1, NPY_int, 0)] = allnan_1d_int_axisNone - * allnan_dict[(1, NPY_int, None)] = allnan_1d_int_axisNone - * allnan_dict[(1, NPY_int8, 0)] = allnan_1d_int8_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(1, NPY_int8, None)] = allnan_1d_int8_axisNone - * allnan_dict[(1, NPY_int32, 0)] = allnan_1d_int32_axisNone + * allnan_dict[(2, NPY_int, None)] = allnan_2d_int_axisNone + * allnan_dict[(2, NPY_int8, None)] = allnan_2d_int8_axisNone + * allnan_dict[(2, NPY_int32, None)] = allnan_2d_int32_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone + * allnan_dict[(2, NPY_int, 0)] = allnan_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":779 - * allnan_dict[(1, NPY_int, None)] = allnan_1d_int_axisNone - * allnan_dict[(1, NPY_int8, 0)] = allnan_1d_int8_axisNone - * allnan_dict[(1, NPY_int8, None)] = allnan_1d_int8_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(1, NPY_int32, 0)] = allnan_1d_int32_axisNone - * allnan_dict[(1, NPY_int32, None)] = allnan_1d_int32_axisNone + * allnan_dict[(2, NPY_int8, None)] = allnan_2d_int8_axisNone + * allnan_dict[(2, NPY_int32, None)] = allnan_2d_int32_axisNone + * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int, 0)] = allnan_2d_int_axis0 + * allnan_dict[(2, NPY_int, 1)] = allnan_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -17176,25 +17176,25 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":780 - * allnan_dict[(1, NPY_int8, 0)] = allnan_1d_int8_axisNone - * allnan_dict[(1, NPY_int8, None)] = allnan_1d_int8_axisNone - * allnan_dict[(1, NPY_int32, 0)] = allnan_1d_int32_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(1, NPY_int32, None)] = allnan_1d_int32_axisNone - * allnan_dict[(1, NPY_int64, 0)] = allnan_1d_int64_axisNone + * allnan_dict[(2, NPY_int32, None)] = allnan_2d_int32_axisNone + * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone + * allnan_dict[(2, NPY_int, 0)] = allnan_2d_int_axis0 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int, 1)] = allnan_2d_int_axis1 + * allnan_dict[(2, NPY_int8, 0)] = allnan_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -17206,55 +17206,55 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":781 - * allnan_dict[(1, NPY_int8, None)] = allnan_1d_int8_axisNone - * allnan_dict[(1, NPY_int32, 0)] = allnan_1d_int32_axisNone - * allnan_dict[(1, NPY_int32, None)] = allnan_1d_int32_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(1, NPY_int64, 0)] = allnan_1d_int64_axisNone - * allnan_dict[(1, NPY_int64, None)] = allnan_1d_int64_axisNone + * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone + * allnan_dict[(2, NPY_int, 0)] = allnan_2d_int_axis0 + * allnan_dict[(2, NPY_int, 1)] = allnan_2d_int_axis1 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int8, 0)] = allnan_2d_int8_axis0 + * allnan_dict[(2, NPY_int8, 1)] = allnan_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":782 - * allnan_dict[(1, NPY_int32, 0)] = allnan_1d_int32_axisNone - * allnan_dict[(1, NPY_int32, None)] = allnan_1d_int32_axisNone - * allnan_dict[(1, NPY_int64, 0)] = allnan_1d_int64_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(1, NPY_int64, None)] = allnan_1d_int64_axisNone - * allnan_dict[(2, NPY_int, None)] = allnan_2d_int_axisNone + * allnan_dict[(2, NPY_int, 0)] = allnan_2d_int_axis0 + * allnan_dict[(2, NPY_int, 1)] = allnan_2d_int_axis1 + * allnan_dict[(2, NPY_int8, 0)] = allnan_2d_int8_axis0 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int8, 1)] = allnan_2d_int8_axis1 + * allnan_dict[(2, NPY_int32, 0)] = allnan_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -17266,49 +17266,49 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":783 - * allnan_dict[(1, NPY_int32, None)] = allnan_1d_int32_axisNone - * allnan_dict[(1, NPY_int64, 0)] = allnan_1d_int64_axisNone - * allnan_dict[(1, NPY_int64, None)] = allnan_1d_int64_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int, None)] = allnan_2d_int_axisNone - * allnan_dict[(2, NPY_int8, None)] = allnan_2d_int8_axisNone + * allnan_dict[(2, NPY_int, 1)] = allnan_2d_int_axis1 + * allnan_dict[(2, NPY_int8, 0)] = allnan_2d_int8_axis0 + * allnan_dict[(2, NPY_int8, 1)] = allnan_2d_int8_axis1 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int32, 0)] = allnan_2d_int32_axis0 + * allnan_dict[(2, NPY_int32, 1)] = allnan_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":784 - * allnan_dict[(1, NPY_int64, 0)] = allnan_1d_int64_axisNone - * allnan_dict[(1, NPY_int64, None)] = allnan_1d_int64_axisNone - * allnan_dict[(2, NPY_int, None)] = allnan_2d_int_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int8, None)] = allnan_2d_int8_axisNone - * allnan_dict[(2, NPY_int32, None)] = allnan_2d_int32_axisNone + * allnan_dict[(2, NPY_int8, 0)] = allnan_2d_int8_axis0 + * allnan_dict[(2, NPY_int8, 1)] = allnan_2d_int8_axis1 + * allnan_dict[(2, NPY_int32, 0)] = allnan_2d_int32_axis0 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int32, 1)] = allnan_2d_int32_axis1 + * allnan_dict[(2, NPY_int64, 0)] = allnan_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17317,28 +17317,28 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":785 - * allnan_dict[(1, NPY_int64, None)] = allnan_1d_int64_axisNone - * allnan_dict[(2, NPY_int, None)] = allnan_2d_int_axisNone - * allnan_dict[(2, NPY_int8, None)] = allnan_2d_int8_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int32, None)] = allnan_2d_int32_axisNone - * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone + * allnan_dict[(2, NPY_int8, 1)] = allnan_2d_int8_axis1 + * allnan_dict[(2, NPY_int32, 0)] = allnan_2d_int32_axis0 + * allnan_dict[(2, NPY_int32, 1)] = allnan_2d_int32_axis1 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int64, 0)] = allnan_2d_int64_axis0 + * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17347,28 +17347,28 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":786 - * allnan_dict[(2, NPY_int, None)] = allnan_2d_int_axisNone - * allnan_dict[(2, NPY_int8, None)] = allnan_2d_int8_axisNone - * allnan_dict[(2, NPY_int32, None)] = allnan_2d_int32_axisNone # <<<<<<<<<<<<<< - * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone + * allnan_dict[(2, NPY_int32, 0)] = allnan_2d_int32_axis0 + * allnan_dict[(2, NPY_int32, 1)] = allnan_2d_int32_axis1 + * allnan_dict[(2, NPY_int64, 0)] = allnan_2d_int64_axis0 # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17377,22 +17377,22 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":787 - * allnan_dict[(2, NPY_int8, None)] = allnan_2d_int8_axisNone - * allnan_dict[(2, NPY_int32, None)] = allnan_2d_int32_axisNone - * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone # <<<<<<<<<<<<<< + * allnan_dict[(2, NPY_int32, 1)] = allnan_2d_int32_axis1 + * allnan_dict[(2, NPY_int64, 0)] = allnan_2d_int64_axis0 + * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 # <<<<<<<<<<<<<< * * def allnan_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_allnan_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6allnan_allnan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -17407,16 +17407,16 @@ PyMODINIT_FUNC PyInit_allnan(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6allnan_allnan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "allnan.pyx":789 - * allnan_dict[(2, NPY_int64, None)] = allnan_2d_int64_axisNone + * allnan_dict[(2, NPY_int64, 1)] = allnan_2d_int64_axis1 * * def allnan_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) allnan along axis 0." @@ -18390,7 +18390,7 @@ PyMODINIT_FUNC PyInit_allnan(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/anynan.c b/bottlechest/src/func/64bit/anynan.c index 7b03176d14..98aabc459f 100644 --- a/bottlechest/src/func/64bit/anynan.c +++ b/bottlechest/src/func/64bit/anynan.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -870,8 +870,8 @@ static CYTHON_INLINE int __Pyx_GetBufferAndValidate(Py_buffer* buf, PyObject* o __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack); static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info); -#define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0) #define __Pyx_BufPtrStrided2d(type, buf, i0, s0, i1, s1) (type)((char*)buf + i0 * s0 + i1 * s1) +#define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0) static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); typedef struct { @@ -1096,14 +1096,14 @@ static __pyx_t_5numpy_float32_t __pyx_v_6anynan_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_6anynan_MAXfloat64; static PyObject *__pyx_v_6anynan_anynan_dict = 0; static PyObject *__pyx_v_6anynan_anynan_slow_dict = 0; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t = { "uint8_t", NULL, sizeof(__pyx_t_5numpy_uint8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_uint8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_uint8_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "anynan" int __pyx_module_is_main_anynan = 0; @@ -1115,34 +1115,34 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_6anynan_anynan(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_6anynan_2anynan_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_6anynan_4anynan_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_10anynan_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_16anynan_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_18anynan_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_24anynan_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_32anynan_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_34anynan_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_36anynan_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_38anynan_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_40anynan_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_42anynan_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_44anynan_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_46anynan_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_48anynan_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_50anynan_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_52anynan_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_54anynan_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_56anynan_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6anynan_58anynan_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_4anynan_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_6anynan_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_8anynan_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_10anynan_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_12anynan_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_14anynan_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_16anynan_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_18anynan_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_20anynan_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_22anynan_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_24anynan_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_26anynan_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_28anynan_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_30anynan_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_32anynan_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_34anynan_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_36anynan_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_38anynan_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_40anynan_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_42anynan_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_44anynan_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_46anynan_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_48anynan_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_50anynan_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_52anynan_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_54anynan_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_56anynan_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6anynan_58anynan_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_6anynan_60anynan_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6anynan_62anynan_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6anynan_64anynan_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1317,15 +1317,14 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Test_whether_any_array_element[] = "\n Test whether any array element along a given axis is NaN.\n\n Returns single boolean unless `axis` is not ``None``.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}, optional\n Axis along which NaNs are searched. The default (`axis` = ``None``)\n is to search for NaNs over a flattened input array. `axis` may be\n negative, in which case it counts from the last to the first axis.\n\n Returns\n -------\n y : bool or ndarray\n A new boolean or `ndarray` is returned.\n\n See also\n --------\n bottlechest.allnan: Test if all array elements along given axis are NaN\n\n Examples\n --------\n >>> bn.anynan(1)\n False\n >>> bn.anynan(np.nan)\n True\n >>> bn.anynan([1, np.nan])\n True\n >>> a = np.array([[1, 4], [1, np.nan]])\n >>> bn.anynan(a)\n True\n >>> bn.anynan(a, axis=0)\n array([False, True], dtype=bool) \n\n "; static char __pyx_k_Return_anynan_function_and_arra[] = "\n Return anynan function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in bn.anynan()\n is in checking that `axis` is within range, converting `arr` into an\n array (if it is not already an array), and selecting the function to use.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which NaNs are searched.\n \n Returns\n -------\n func : function\n The anynan function that matches the number of dimensions and\n dtype of the input array and the axis.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine if there are any NaN in `arr`:\n\n >>> func, a = bn.func.anynan_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine if there are any\n NaNs:\n \n >>> func(a)\n False\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/anynan.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\anynan.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1339,6 +1338,7 @@ static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_kp_u_Test_whether_any_array_element; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__27; static PyObject *__pyx_n_s_a; @@ -2461,24 +2461,24 @@ static PyObject *__pyx_pf_6anynan_2anynan_selector(CYTHON_UNUSED PyObject *__pyx /* "anynan.pyx":182 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=0." + * def anynan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_5anynan_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_4anynan_2d_int_axis0[] = "anynan_2d_int_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_6anynan_5anynan_2d_int_axis0 = {"anynan_2d_int_axis0", (PyCFunction)__pyx_pw_6anynan_5anynan_2d_int_axis0, METH_O, __pyx_doc_6anynan_4anynan_2d_int_axis0}; -static PyObject *__pyx_pw_6anynan_5anynan_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_5anynan_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_4anynan_2d_float_axis0[] = "anynan_2d_float_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_6anynan_5anynan_2d_float_axis0 = {"anynan_2d_float_axis0", (PyCFunction)__pyx_pw_6anynan_5anynan_2d_float_axis0, METH_O, __pyx_doc_6anynan_4anynan_2d_float_axis0}; +static PyObject *__pyx_pw_6anynan_5anynan_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("anynan_2d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_4anynan_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6anynan_4anynan_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2489,11 +2489,13 @@ static PyObject *__pyx_pw_6anynan_5anynan_2d_int_axis0(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6anynan_4anynan_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6anynan_4anynan_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + __pyx_t_5numpy_float_t __pyx_v_ai; + Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; - CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; @@ -2509,10 +2511,15 @@ static PyObject *__pyx_pf_6anynan_4anynan_2d_int_axis0(CYTHON_UNUSED PyObject *_ Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("anynan_2d_float_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2523,15 +2530,15 @@ static PyObject *__pyx_pf_6anynan_4anynan_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "anynan.pyx":184 - * def anynan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int along axis=0." + * def anynan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=float along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int_t ai + * cdef np.float_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -2600,8 +2607,8 @@ static PyObject *__pyx_pf_6anynan_4anynan_2d_int_axis0(CYTHON_UNUSED PyObject *_ * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i1] = 0 - * return y + * f = 1 + * for i0 in range(n0): */ __pyx_t_4 = __pyx_v_n1; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { @@ -2610,17 +2617,102 @@ static PyObject *__pyx_pf_6anynan_4anynan_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "anynan.pyx":195 * NPY_BOOL, 0) * for i1 in range(n1): - * y[i1] = 0 # <<<<<<<<<<<<<< + * f = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_f = 1; + + /* "anynan.pyx":196 + * for i1 in range(n1): + * f = 1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: + */ + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; + + /* "anynan.pyx":197 + * f = 1 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * y[i1] = 1 + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "anynan.pyx":198 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * y[i1] = 1 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":199 + * ai = a[i0, i1] + * if ai != ai: + * y[i1] = 1 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + + /* "anynan.pyx":200 + * if ai != ai: + * y[i1] = 1 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "anynan.pyx":201 + * y[i1] = 1 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i1] = 0 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "anynan.pyx":202 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i1] = 0 + * return y + */ + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":203 + * break + * if f == 1: + * y[i1] = 0 # <<<<<<<<<<<<<< * return y * */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + goto __pyx_L8; + } + __pyx_L8:; } - /* "anynan.pyx":196 - * for i1 in range(n1): - * y[i1] = 0 + /* "anynan.pyx":204 + * if f == 1: + * y[i1] = 0 * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2633,8 +2725,8 @@ static PyObject *__pyx_pf_6anynan_4anynan_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "anynan.pyx":182 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=0." + * def anynan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=0." * cdef int f = 1 */ @@ -2646,7 +2738,7 @@ static PyObject *__pyx_pf_6anynan_4anynan_2d_int_axis0(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2659,27 +2751,27 @@ static PyObject *__pyx_pf_6anynan_4anynan_2d_int_axis0(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "anynan.pyx":200 +/* "anynan.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=1." + * def anynan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_7anynan_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_6anynan_2d_int_axis1[] = "anynan_2d_int_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=int along axis=1."; -static PyMethodDef __pyx_mdef_6anynan_7anynan_2d_int_axis1 = {"anynan_2d_int_axis1", (PyCFunction)__pyx_pw_6anynan_7anynan_2d_int_axis1, METH_O, __pyx_doc_6anynan_6anynan_2d_int_axis1}; -static PyObject *__pyx_pw_6anynan_7anynan_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_7anynan_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_6anynan_2d_float_axis1[] = "anynan_2d_float_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=float along axis=1."; +static PyMethodDef __pyx_mdef_6anynan_7anynan_2d_float_axis1 = {"anynan_2d_float_axis1", (PyCFunction)__pyx_pw_6anynan_7anynan_2d_float_axis1, METH_O, __pyx_doc_6anynan_6anynan_2d_float_axis1}; +static PyObject *__pyx_pw_6anynan_7anynan_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_6anynan_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_float_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_6anynan_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2690,12 +2782,14 @@ static PyObject *__pyx_pw_6anynan_7anynan_2d_int_axis1(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6anynan_6anynan_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - CYTHON_UNUSED Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -2710,10 +2804,15 @@ static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *_ Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("anynan_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2724,20 +2823,20 @@ static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":202 - * def anynan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int along axis=1." + /* "anynan.pyx":210 + * def anynan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=float along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int_t ai + * cdef np.float_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":206 + /* "anynan.pyx":214 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2746,7 +2845,7 @@ static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":207 + /* "anynan.pyx":215 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2755,7 +2854,7 @@ static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":208 + /* "anynan.pyx":216 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -2764,7 +2863,7 @@ static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":209 + /* "anynan.pyx":217 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -2774,22 +2873,22 @@ static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "anynan.pyx":210 + /* "anynan.pyx":218 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2797,31 +2896,116 @@ static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":212 + /* "anynan.pyx":220 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = 0 - * return y + * f = 1 + * for i1 in range(n1): */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "anynan.pyx":213 + /* "anynan.pyx":221 * NPY_BOOL, 0) * for i0 in range(n0): - * y[i0] = 0 # <<<<<<<<<<<<<< + * f = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_f = 1; + + /* "anynan.pyx":222 + * for i0 in range(n0): + * f = 1 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: + */ + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; + + /* "anynan.pyx":223 + * f = 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * y[i0] = 1 + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "anynan.pyx":224 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * y[i0] = 1 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":225 + * ai = a[i0, i1] + * if ai != ai: + * y[i0] = 1 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + + /* "anynan.pyx":226 + * if ai != ai: + * y[i0] = 1 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "anynan.pyx":227 + * y[i0] = 1 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i0] = 0 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "anynan.pyx":228 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i0] = 0 + * return y + */ + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":229 + * break + * if f == 1: + * y[i0] = 0 # <<<<<<<<<<<<<< * return y * */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + goto __pyx_L8; + } + __pyx_L8:; } - /* "anynan.pyx":214 - * for i0 in range(n0): - * y[i0] = 0 + /* "anynan.pyx":230 + * if f == 1: + * y[i0] = 0 * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2831,11 +3015,11 @@ static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":200 + /* "anynan.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=1." + * def anynan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=1." * cdef int f = 1 */ @@ -2847,7 +3031,7 @@ static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2860,27 +3044,27 @@ static PyObject *__pyx_pf_6anynan_6anynan_2d_int_axis1(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "anynan.pyx":218 +/* "anynan.pyx":234 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=0." + * def anynan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float32 along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_9anynan_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_8anynan_2d_int8_axis0[] = "anynan_2d_int8_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_6anynan_9anynan_2d_int8_axis0 = {"anynan_2d_int8_axis0", (PyCFunction)__pyx_pw_6anynan_9anynan_2d_int8_axis0, METH_O, __pyx_doc_6anynan_8anynan_2d_int8_axis0}; -static PyObject *__pyx_pw_6anynan_9anynan_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_9anynan_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_8anynan_2d_float32_axis0[] = "anynan_2d_float32_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_6anynan_9anynan_2d_float32_axis0 = {"anynan_2d_float32_axis0", (PyCFunction)__pyx_pw_6anynan_9anynan_2d_float32_axis0, METH_O, __pyx_doc_6anynan_8anynan_2d_float32_axis0}; +static PyObject *__pyx_pw_6anynan_9anynan_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_8anynan_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_8anynan_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2891,11 +3075,13 @@ static PyObject *__pyx_pw_6anynan_9anynan_2d_int8_axis0(PyObject *__pyx_self, Py return __pyx_r; } -static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6anynan_8anynan_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + __pyx_t_5numpy_float32_t __pyx_v_ai; + Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; - CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; @@ -2911,10 +3097,15 @@ static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject * Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("anynan_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2925,20 +3116,20 @@ static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":220 - * def anynan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int8 along axis=0." + /* "anynan.pyx":236 + * def anynan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=float32 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t ai + * cdef np.float32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":224 + /* "anynan.pyx":240 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2947,7 +3138,7 @@ static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":225 + /* "anynan.pyx":241 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2956,7 +3147,7 @@ static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":226 + /* "anynan.pyx":242 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -2965,7 +3156,7 @@ static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":227 + /* "anynan.pyx":243 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -2975,22 +3166,22 @@ static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "anynan.pyx":228 + /* "anynan.pyx":244 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2998,31 +3189,116 @@ static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":230 + /* "anynan.pyx":246 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i1] = 0 - * return y + * f = 1 + * for i0 in range(n0): */ __pyx_t_4 = __pyx_v_n1; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i1 = __pyx_t_5; - /* "anynan.pyx":231 + /* "anynan.pyx":247 * NPY_BOOL, 0) * for i1 in range(n1): - * y[i1] = 0 # <<<<<<<<<<<<<< + * f = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_f = 1; + + /* "anynan.pyx":248 + * for i1 in range(n1): + * f = 1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: + */ + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; + + /* "anynan.pyx":249 + * f = 1 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * y[i1] = 1 + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "anynan.pyx":250 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * y[i1] = 1 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":251 + * ai = a[i0, i1] + * if ai != ai: + * y[i1] = 1 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + + /* "anynan.pyx":252 + * if ai != ai: + * y[i1] = 1 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "anynan.pyx":253 + * y[i1] = 1 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i1] = 0 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "anynan.pyx":254 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i1] = 0 + * return y + */ + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":255 + * break + * if f == 1: + * y[i1] = 0 # <<<<<<<<<<<<<< * return y * */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + goto __pyx_L8; + } + __pyx_L8:; } - /* "anynan.pyx":232 - * for i1 in range(n1): - * y[i1] = 0 + /* "anynan.pyx":256 + * if f == 1: + * y[i1] = 0 * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3032,11 +3308,11 @@ static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":218 + /* "anynan.pyx":234 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=0." + * def anynan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float32 along axis=0." * cdef int f = 1 */ @@ -3048,7 +3324,7 @@ static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject * __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3061,27 +3337,27 @@ static PyObject *__pyx_pf_6anynan_8anynan_2d_int8_axis0(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "anynan.pyx":236 +/* "anynan.pyx":260 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=1." + * def anynan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float32 along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_11anynan_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_10anynan_2d_int8_axis1[] = "anynan_2d_int8_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=int8 along axis=1."; -static PyMethodDef __pyx_mdef_6anynan_11anynan_2d_int8_axis1 = {"anynan_2d_int8_axis1", (PyCFunction)__pyx_pw_6anynan_11anynan_2d_int8_axis1, METH_O, __pyx_doc_6anynan_10anynan_2d_int8_axis1}; -static PyObject *__pyx_pw_6anynan_11anynan_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_11anynan_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_10anynan_2d_float32_axis1[] = "anynan_2d_float32_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=float32 along axis=1."; +static PyMethodDef __pyx_mdef_6anynan_11anynan_2d_float32_axis1 = {"anynan_2d_float32_axis1", (PyCFunction)__pyx_pw_6anynan_11anynan_2d_float32_axis1, METH_O, __pyx_doc_6anynan_10anynan_2d_float32_axis1}; +static PyObject *__pyx_pw_6anynan_11anynan_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int8_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_10anynan_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_float32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_10anynan_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3092,12 +3368,14 @@ static PyObject *__pyx_pw_6anynan_11anynan_2d_int8_axis1(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_6anynan_10anynan_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6anynan_10anynan_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - CYTHON_UNUSED Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -3112,10 +3390,15 @@ static PyObject *__pyx_pf_6anynan_10anynan_2d_int8_axis1(CYTHON_UNUSED PyObject Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("anynan_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3126,20 +3409,20 @@ static PyObject *__pyx_pf_6anynan_10anynan_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":238 - * def anynan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int8 along axis=1." + /* "anynan.pyx":262 + * def anynan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=float32 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t ai + * cdef np.float32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":242 + /* "anynan.pyx":266 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3148,7 +3431,7 @@ static PyObject *__pyx_pf_6anynan_10anynan_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":243 + /* "anynan.pyx":267 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3157,7 +3440,7 @@ static PyObject *__pyx_pf_6anynan_10anynan_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":244 + /* "anynan.pyx":268 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -3166,7 +3449,7 @@ static PyObject *__pyx_pf_6anynan_10anynan_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":245 + /* "anynan.pyx":269 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -3176,22 +3459,22 @@ static PyObject *__pyx_pf_6anynan_10anynan_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "anynan.pyx":246 + /* "anynan.pyx":270 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3199,90 +3482,175 @@ static PyObject *__pyx_pf_6anynan_10anynan_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":248 + /* "anynan.pyx":272 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = 0 - * return y + * f = 1 + * for i1 in range(n1): */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "anynan.pyx":249 + /* "anynan.pyx":273 * NPY_BOOL, 0) * for i0 in range(n0): - * y[i0] = 0 # <<<<<<<<<<<<<< - * return y - * + * f = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - } + __pyx_v_f = 1; - /* "anynan.pyx":250 + /* "anynan.pyx":274 * for i0 in range(n0): - * y[i0] = 0 - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + * f = 1 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "anynan.pyx":236 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def anynan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=1." - * cdef int f = 1 + /* "anynan.pyx":275 + * f = 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * y[i0] = 1 */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; - __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - goto __pyx_L2; - __pyx_L0:; - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} + /* "anynan.pyx":276 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * y[i0] = 1 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_10) { -/* "anynan.pyx":254 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def anynan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=0." - * cdef int f = 1 + /* "anynan.pyx":277 + * ai = a[i0, i1] + * if ai != ai: + * y[i0] = 1 # <<<<<<<<<<<<<< + * f = 0 + * break */ + __pyx_t_11 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; -/* Python wrapper */ -static PyObject *__pyx_pw_6anynan_13anynan_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_12anynan_2d_int32_axis0[] = "anynan_2d_int32_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_6anynan_13anynan_2d_int32_axis0 = {"anynan_2d_int32_axis0", (PyCFunction)__pyx_pw_6anynan_13anynan_2d_int32_axis0, METH_O, __pyx_doc_6anynan_12anynan_2d_int32_axis0}; -static PyObject *__pyx_pw_6anynan_13anynan_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_lineno = 0; + /* "anynan.pyx":278 + * if ai != ai: + * y[i0] = 1 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "anynan.pyx":279 + * y[i0] = 1 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i0] = 0 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "anynan.pyx":280 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i0] = 0 + * return y + */ + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":281 + * break + * if f == 1: + * y[i0] = 0 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + goto __pyx_L8; + } + __pyx_L8:; + } + + /* "anynan.pyx":282 + * if f == 1: + * y[i0] = 0 + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "anynan.pyx":260 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def anynan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float32 along axis=1." + * cdef int f = 1 + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("anynan.anynan_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); + __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "anynan.pyx":286 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def anynan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float64 along axis=0." + * cdef int f = 1 + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_6anynan_13anynan_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_12anynan_2d_float64_axis0[] = "anynan_2d_float64_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_6anynan_13anynan_2d_float64_axis0 = {"anynan_2d_float64_axis0", (PyCFunction)__pyx_pw_6anynan_13anynan_2d_float64_axis0, METH_O, __pyx_doc_6anynan_12anynan_2d_float64_axis0}; +static PyObject *__pyx_pw_6anynan_13anynan_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_12anynan_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_12anynan_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3293,11 +3661,13 @@ static PyObject *__pyx_pw_6anynan_13anynan_2d_int32_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6anynan_12anynan_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; - CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; @@ -3313,10 +3683,15 @@ static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("anynan_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3327,20 +3702,20 @@ static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":256 - * def anynan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int32 along axis=0." + /* "anynan.pyx":288 + * def anynan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=float64 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":260 + /* "anynan.pyx":292 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3349,7 +3724,7 @@ static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":261 + /* "anynan.pyx":293 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3358,7 +3733,7 @@ static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":262 + /* "anynan.pyx":294 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -3367,7 +3742,7 @@ static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":263 + /* "anynan.pyx":295 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -3377,22 +3752,22 @@ static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "anynan.pyx":264 + /* "anynan.pyx":296 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3400,31 +3775,116 @@ static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":266 + /* "anynan.pyx":298 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i1] = 0 - * return y + * f = 1 + * for i0 in range(n0): */ __pyx_t_4 = __pyx_v_n1; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i1 = __pyx_t_5; - /* "anynan.pyx":267 + /* "anynan.pyx":299 * NPY_BOOL, 0) * for i1 in range(n1): - * y[i1] = 0 # <<<<<<<<<<<<<< + * f = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_f = 1; + + /* "anynan.pyx":300 + * for i1 in range(n1): + * f = 1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: + */ + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; + + /* "anynan.pyx":301 + * f = 1 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * y[i1] = 1 + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "anynan.pyx":302 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * y[i1] = 1 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":303 + * ai = a[i0, i1] + * if ai != ai: + * y[i1] = 1 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + + /* "anynan.pyx":304 + * if ai != ai: + * y[i1] = 1 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "anynan.pyx":305 + * y[i1] = 1 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i1] = 0 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "anynan.pyx":306 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i1] = 0 + * return y + */ + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":307 + * break + * if f == 1: + * y[i1] = 0 # <<<<<<<<<<<<<< * return y * */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + goto __pyx_L8; + } + __pyx_L8:; } - /* "anynan.pyx":268 - * for i1 in range(n1): - * y[i1] = 0 + /* "anynan.pyx":308 + * if f == 1: + * y[i1] = 0 * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3434,11 +3894,11 @@ static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":254 + /* "anynan.pyx":286 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=0." + * def anynan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float64 along axis=0." * cdef int f = 1 */ @@ -3450,7 +3910,7 @@ static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3463,27 +3923,27 @@ static PyObject *__pyx_pf_6anynan_12anynan_2d_int32_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "anynan.pyx":272 +/* "anynan.pyx":312 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=1." + * def anynan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float64 along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_15anynan_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_14anynan_2d_int32_axis1[] = "anynan_2d_int32_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=int32 along axis=1."; -static PyMethodDef __pyx_mdef_6anynan_15anynan_2d_int32_axis1 = {"anynan_2d_int32_axis1", (PyCFunction)__pyx_pw_6anynan_15anynan_2d_int32_axis1, METH_O, __pyx_doc_6anynan_14anynan_2d_int32_axis1}; -static PyObject *__pyx_pw_6anynan_15anynan_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_15anynan_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_14anynan_2d_float64_axis1[] = "anynan_2d_float64_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=float64 along axis=1."; +static PyMethodDef __pyx_mdef_6anynan_15anynan_2d_float64_axis1 = {"anynan_2d_float64_axis1", (PyCFunction)__pyx_pw_6anynan_15anynan_2d_float64_axis1, METH_O, __pyx_doc_6anynan_14anynan_2d_float64_axis1}; +static PyObject *__pyx_pw_6anynan_15anynan_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_14anynan_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_float64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_14anynan_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3494,12 +3954,14 @@ static PyObject *__pyx_pw_6anynan_15anynan_2d_int32_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; +static PyObject *__pyx_pf_6anynan_14anynan_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_f; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - CYTHON_UNUSED Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -3514,10 +3976,15 @@ static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("anynan_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3528,20 +3995,20 @@ static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":274 - * def anynan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int32 along axis=1." + /* "anynan.pyx":314 + * def anynan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=float64 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":278 + /* "anynan.pyx":318 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3550,7 +4017,7 @@ static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":279 + /* "anynan.pyx":319 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3559,7 +4026,7 @@ static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":280 + /* "anynan.pyx":320 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -3568,7 +4035,7 @@ static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":281 + /* "anynan.pyx":321 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -3578,22 +4045,22 @@ static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "anynan.pyx":282 + /* "anynan.pyx":322 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_BOOL, 0) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3601,31 +4068,116 @@ static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":284 + /* "anynan.pyx":324 * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, * NPY_BOOL, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = 0 - * return y + * f = 1 + * for i1 in range(n1): */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "anynan.pyx":285 + /* "anynan.pyx":325 * NPY_BOOL, 0) * for i0 in range(n0): - * y[i0] = 0 # <<<<<<<<<<<<<< - * return y - * + * f = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - } + __pyx_v_f = 1; - /* "anynan.pyx":286 + /* "anynan.pyx":326 * for i0 in range(n0): - * y[i0] = 0 + * f = 1 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: + */ + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; + + /* "anynan.pyx":327 + * f = 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * y[i0] = 1 + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "anynan.pyx":328 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * y[i0] = 1 + * f = 0 + */ + __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":329 + * ai = a[i0, i1] + * if ai != ai: + * y[i0] = 1 # <<<<<<<<<<<<<< + * f = 0 + * break + */ + __pyx_t_11 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + + /* "anynan.pyx":330 + * if ai != ai: + * y[i0] = 1 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "anynan.pyx":331 + * y[i0] = 1 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i0] = 0 + */ + goto __pyx_L6_break; + } + } + __pyx_L6_break:; + + /* "anynan.pyx":332 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i0] = 0 + * return y + */ + __pyx_t_10 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_10) { + + /* "anynan.pyx":333 + * break + * if f == 1: + * y[i0] = 0 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + goto __pyx_L8; + } + __pyx_L8:; + } + + /* "anynan.pyx":334 + * if f == 1: + * y[i0] = 0 * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3635,11 +4187,11 @@ static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":272 + /* "anynan.pyx":312 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=1." + * def anynan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float64 along axis=1." * cdef int f = 1 */ @@ -3651,7 +4203,7 @@ static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3664,27 +4216,27 @@ static PyObject *__pyx_pf_6anynan_14anynan_2d_int32_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "anynan.pyx":290 +/* "anynan.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=0." + * def anynan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_17anynan_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_16anynan_2d_int64_axis0[] = "anynan_2d_int64_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_6anynan_17anynan_2d_int64_axis0 = {"anynan_2d_int64_axis0", (PyCFunction)__pyx_pw_6anynan_17anynan_2d_int64_axis0, METH_O, __pyx_doc_6anynan_16anynan_2d_int64_axis0}; -static PyObject *__pyx_pw_6anynan_17anynan_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_17anynan_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_16anynan_1d_float_axisNone[] = "anynan_1d_float_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=float along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_17anynan_1d_float_axisNone = {"anynan_1d_float_axisNone", (PyCFunction)__pyx_pw_6anynan_17anynan_1d_float_axisNone, METH_O, __pyx_doc_6anynan_16anynan_1d_float_axisNone}; +static PyObject *__pyx_pw_6anynan_17anynan_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_16anynan_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_1d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_16anynan_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3695,398 +4247,184 @@ static PyObject *__pyx_pw_6anynan_17anynan_2d_int64_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6anynan_16anynan_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_16anynan_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; - Py_ssize_t __pyx_v_i1; + __pyx_t_5numpy_float_t __pyx_v_ai; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; - CYTHON_UNUSED Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; + Py_ssize_t __pyx_v_n0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("anynan_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "anynan.pyx":292 - * def anynan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int64 along axis=0." + /* "anynan.pyx":340 + * def anynan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): + * "Check for NaNs in 1d array with dtype=float along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.float_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "anynan.pyx":296 - * cdef Py_ssize_t i0, i1 + /* "anynan.pyx":344 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":297 + /* "anynan.pyx":345 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":298 + /* "anynan.pyx":346 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai != ai: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "anynan.pyx":299 + /* "anynan.pyx":347 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "anynan.pyx":300 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i1 in range(n1): + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai != ai: + * return np.bool_(True) */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "anynan.pyx":302 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i1] = 0 - * return y + /* "anynan.pyx":348 + * for i0 in range(n0): + * ai = a[i0] + * if ai != ai: # <<<<<<<<<<<<<< + * return np.bool_(True) + * return np.bool_(False) */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; + __pyx_t_4 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "anynan.pyx":303 - * NPY_BOOL, 0) - * for i1 in range(n1): - * y[i1] = 0 # <<<<<<<<<<<<<< - * return y + /* "anynan.pyx":349 + * ai = a[i0] + * if ai != ai: + * return np.bool_(True) # <<<<<<<<<<<<<< + * return np.bool_(False) * */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + } } - /* "anynan.pyx":304 - * for i1 in range(n1): - * y[i1] = 0 - * return y # <<<<<<<<<<<<<< + /* "anynan.pyx":350 + * if ai != ai: + * return np.bool_(True) + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; goto __pyx_L0; - /* "anynan.pyx":290 + /* "anynan.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=0." + * def anynan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "anynan.pyx":308 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def anynan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=1." - * cdef int f = 1 - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_6anynan_19anynan_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_18anynan_2d_int64_axis1[] = "anynan_2d_int64_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=int64 along axis=1."; -static PyMethodDef __pyx_mdef_6anynan_19anynan_2d_int64_axis1 = {"anynan_2d_int64_axis1", (PyCFunction)__pyx_pw_6anynan_19anynan_2d_int64_axis1, METH_O, __pyx_doc_6anynan_18anynan_2d_int64_axis1}; -static PyObject *__pyx_pw_6anynan_19anynan_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_lineno = 0; - CYTHON_UNUSED const char *__pyx_filename = NULL; - CYTHON_UNUSED int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_18anynan_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_6anynan_18anynan_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; - Py_ssize_t __pyx_v_i0; - npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - CYTHON_UNUSED Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - __Pyx_LocalBuf_ND __pyx_pybuffernd_a; - __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; - __pyx_pybuffer_a.pybuffer.buf = NULL; - __pyx_pybuffer_a.refcount = 0; - __pyx_pybuffernd_a.data = NULL; - __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "anynan.pyx":310 - * def anynan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int64 along axis=1." - * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_f = 1; - - /* "anynan.pyx":314 - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - */ - __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - - /* "anynan.pyx":315 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "anynan.pyx":316 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "anynan.pyx":317 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "anynan.pyx":318 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "anynan.pyx":320 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = 0 - * return y - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "anynan.pyx":321 - * NPY_BOOL, 0) - * for i0 in range(n0): - * y[i0] = 0 # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - } - - /* "anynan.pyx":322 - * for i0 in range(n0): - * y[i0] = 0 - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "anynan.pyx":308 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def anynan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=1." - * cdef int f = 1 - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; - __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - goto __pyx_L2; - __pyx_L0:; - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":326 +/* "anynan.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float along axis=None." + * def anynan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float32 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_21anynan_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_20anynan_1d_float_axisNone[] = "anynan_1d_float_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=float along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_21anynan_1d_float_axisNone = {"anynan_1d_float_axisNone", (PyCFunction)__pyx_pw_6anynan_21anynan_1d_float_axisNone, METH_O, __pyx_doc_6anynan_20anynan_1d_float_axisNone}; -static PyObject *__pyx_pw_6anynan_21anynan_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_19anynan_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_18anynan_1d_float32_axisNone[] = "anynan_1d_float32_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=float32 along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_19anynan_1d_float32_axisNone = {"anynan_1d_float32_axisNone", (PyCFunction)__pyx_pw_6anynan_19anynan_1d_float32_axisNone, METH_O, __pyx_doc_6anynan_18anynan_1d_float32_axisNone}; +static PyObject *__pyx_pw_6anynan_19anynan_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_1d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_20anynan_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_1d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_18anynan_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4097,9 +4435,9 @@ static PyObject *__pyx_pw_6anynan_21anynan_1d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_18anynan_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4116,27 +4454,27 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("anynan_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "anynan.pyx":328 - * def anynan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): - * "Check for NaNs in 1d array with dtype=float along axis=None." + /* "anynan.pyx":356 + * def anynan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): + * "Check for NaNs in 1d array with dtype=float32 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai + * cdef np.float32_t ai * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "anynan.pyx":332 + /* "anynan.pyx":360 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4145,7 +4483,7 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":333 + /* "anynan.pyx":361 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4154,7 +4492,7 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":334 + /* "anynan.pyx":362 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4165,7 +4503,7 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "anynan.pyx":335 + /* "anynan.pyx":363 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -4173,9 +4511,9 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj * return np.bool_(True) */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "anynan.pyx":336 + /* "anynan.pyx":364 * for i0 in range(n0): * ai = a[i0] * if ai != ai: # <<<<<<<<<<<<<< @@ -4185,7 +4523,7 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_4 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "anynan.pyx":337 + /* "anynan.pyx":365 * ai = a[i0] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< @@ -4193,12 +4531,12 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_r = __pyx_t_5; @@ -4207,7 +4545,7 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "anynan.pyx":338 + /* "anynan.pyx":366 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< @@ -4215,23 +4553,23 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; - /* "anynan.pyx":326 + /* "anynan.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float along axis=None." + * def anynan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float32 along axis=None." * cdef int f = 1 */ @@ -4243,7 +4581,7 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4254,27 +4592,27 @@ static PyObject *__pyx_pf_6anynan_20anynan_1d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "anynan.pyx":342 +/* "anynan.pyx":370 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float32 along axis=None." + * def anynan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float64 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_23anynan_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_22anynan_1d_float32_axisNone[] = "anynan_1d_float32_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=float32 along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_23anynan_1d_float32_axisNone = {"anynan_1d_float32_axisNone", (PyCFunction)__pyx_pw_6anynan_23anynan_1d_float32_axisNone, METH_O, __pyx_doc_6anynan_22anynan_1d_float32_axisNone}; -static PyObject *__pyx_pw_6anynan_23anynan_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_21anynan_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_20anynan_1d_float64_axisNone[] = "anynan_1d_float64_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=float64 along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_21anynan_1d_float64_axisNone = {"anynan_1d_float64_axisNone", (PyCFunction)__pyx_pw_6anynan_21anynan_1d_float64_axisNone, METH_O, __pyx_doc_6anynan_20anynan_1d_float64_axisNone}; +static PyObject *__pyx_pw_6anynan_21anynan_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_1d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_22anynan_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_1d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_20anynan_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4285,9 +4623,9 @@ static PyObject *__pyx_pw_6anynan_23anynan_1d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_20anynan_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4304,27 +4642,27 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("anynan_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "anynan.pyx":344 - * def anynan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): - * "Check for NaNs in 1d array with dtype=float32 along axis=None." + /* "anynan.pyx":372 + * def anynan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): + * "Check for NaNs in 1d array with dtype=float64 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "anynan.pyx":348 + /* "anynan.pyx":376 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4333,7 +4671,7 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":349 + /* "anynan.pyx":377 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4342,7 +4680,7 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":350 + /* "anynan.pyx":378 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4353,7 +4691,7 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "anynan.pyx":351 + /* "anynan.pyx":379 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -4361,9 +4699,9 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO * return np.bool_(True) */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "anynan.pyx":352 + /* "anynan.pyx":380 * for i0 in range(n0): * ai = a[i0] * if ai != ai: # <<<<<<<<<<<<<< @@ -4373,7 +4711,7 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO __pyx_t_4 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "anynan.pyx":353 + /* "anynan.pyx":381 * ai = a[i0] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< @@ -4381,12 +4719,12 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_r = __pyx_t_5; @@ -4395,7 +4733,7 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO } } - /* "anynan.pyx":354 + /* "anynan.pyx":382 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< @@ -4403,23 +4741,23 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; - /* "anynan.pyx":342 + /* "anynan.pyx":370 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float32 along axis=None." + * def anynan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float64 along axis=None." * cdef int f = 1 */ @@ -4431,7 +4769,7 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4442,27 +4780,27 @@ static PyObject *__pyx_pf_6anynan_22anynan_1d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "anynan.pyx":358 +/* "anynan.pyx":386 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float64 along axis=None." + * def anynan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_25anynan_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_24anynan_1d_float64_axisNone[] = "anynan_1d_float64_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=float64 along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_25anynan_1d_float64_axisNone = {"anynan_1d_float64_axisNone", (PyCFunction)__pyx_pw_6anynan_25anynan_1d_float64_axisNone, METH_O, __pyx_doc_6anynan_24anynan_1d_float64_axisNone}; -static PyObject *__pyx_pw_6anynan_25anynan_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_23anynan_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_22anynan_2d_float_axisNone[] = "anynan_2d_float_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=float along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_23anynan_2d_float_axisNone = {"anynan_2d_float_axisNone", (PyCFunction)__pyx_pw_6anynan_23anynan_2d_float_axisNone, METH_O, __pyx_doc_6anynan_22anynan_2d_float_axisNone}; +static PyObject *__pyx_pw_6anynan_23anynan_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_1d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_24anynan_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_22anynan_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4473,202 +4811,14 @@ static PyObject *__pyx_pw_6anynan_25anynan_1d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6anynan_24anynan_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_22anynan_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - __Pyx_LocalBuf_ND __pyx_pybuffernd_a; - __Pyx_Buffer __pyx_pybuffer_a; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_1d_float64_axisNone", 0); - __pyx_pybuffer_a.pybuffer.buf = NULL; - __pyx_pybuffer_a.refcount = 0; - __pyx_pybuffernd_a.data = NULL; - __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - - /* "anynan.pyx":360 - * def anynan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): - * "Check for NaNs in 1d array with dtype=float64 along axis=None." - * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai - * cdef Py_ssize_t i0 - */ - __pyx_v_f = 1; - - /* "anynan.pyx":364 - * cdef Py_ssize_t i0 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): - */ - __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - - /* "anynan.pyx":365 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "anynan.pyx":366 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai != ai: - */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; - - /* "anynan.pyx":367 - * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai != ai: - * return np.bool_(True) - */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - - /* "anynan.pyx":368 - * for i0 in range(n0): - * ai = a[i0] - * if ai != ai: # <<<<<<<<<<<<<< - * return np.bool_(True) - * return np.bool_(False) - */ - __pyx_t_4 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_4) { - - /* "anynan.pyx":369 - * ai = a[i0] - * if ai != ai: - * return np.bool_(True) # <<<<<<<<<<<<<< - * return np.bool_(False) - * - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; - } - } - - /* "anynan.pyx":370 - * if ai != ai: - * return np.bool_(True) - * return np.bool_(False) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bool); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; - - /* "anynan.pyx":358 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def anynan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float64 along axis=None." - * cdef int f = 1 - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; - __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - goto __pyx_L2; - __pyx_L0:; - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __pyx_L2:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "anynan.pyx":374 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def anynan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=None." - * cdef int f = 1 - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_6anynan_27anynan_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_26anynan_2d_float_axisNone[] = "anynan_2d_float_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=float along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_27anynan_2d_float_axisNone = {"anynan_2d_float_axisNone", (PyCFunction)__pyx_pw_6anynan_27anynan_2d_float_axisNone, METH_O, __pyx_doc_6anynan_26anynan_2d_float_axisNone}; -static PyObject *__pyx_pw_6anynan_27anynan_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_lineno = 0; - CYTHON_UNUSED const char *__pyx_filename = NULL; - CYTHON_UNUSED int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_26anynan_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; - npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -4692,11 +4842,11 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":376 + /* "anynan.pyx":388 * def anynan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): * "Check for NaNs in 2d array with dtype=float along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< @@ -4705,7 +4855,7 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_f = 1; - /* "anynan.pyx":380 + /* "anynan.pyx":392 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4714,7 +4864,7 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":381 + /* "anynan.pyx":393 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4723,7 +4873,7 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":382 + /* "anynan.pyx":394 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -4732,7 +4882,7 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":383 + /* "anynan.pyx":395 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4743,7 +4893,7 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "anynan.pyx":384 + /* "anynan.pyx":396 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -4754,7 +4904,7 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "anynan.pyx":385 + /* "anynan.pyx":397 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -4765,7 +4915,7 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_6 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "anynan.pyx":386 + /* "anynan.pyx":398 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -4775,7 +4925,7 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_7 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "anynan.pyx":387 + /* "anynan.pyx":399 * ai = a[i0, i1] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< @@ -4783,12 +4933,12 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_8; @@ -4798,7 +4948,7 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "anynan.pyx":388 + /* "anynan.pyx":400 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< @@ -4806,19 +4956,19 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_8; __pyx_t_8 = 0; goto __pyx_L0; - /* "anynan.pyx":374 + /* "anynan.pyx":386 * @cython.boundscheck(False) * @cython.wraparound(False) * def anynan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< @@ -4845,7 +4995,7 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "anynan.pyx":392 +/* "anynan.pyx":404 * @cython.boundscheck(False) * @cython.wraparound(False) * def anynan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< @@ -4854,18 +5004,18 @@ static PyObject *__pyx_pf_6anynan_26anynan_2d_float_axisNone(CYTHON_UNUSED PyObj */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_29anynan_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_28anynan_2d_float32_axisNone[] = "anynan_2d_float32_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=float32 along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_29anynan_2d_float32_axisNone = {"anynan_2d_float32_axisNone", (PyCFunction)__pyx_pw_6anynan_29anynan_2d_float32_axisNone, METH_O, __pyx_doc_6anynan_28anynan_2d_float32_axisNone}; -static PyObject *__pyx_pw_6anynan_29anynan_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_25anynan_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_24anynan_2d_float32_axisNone[] = "anynan_2d_float32_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=float32 along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_25anynan_2d_float32_axisNone = {"anynan_2d_float32_axisNone", (PyCFunction)__pyx_pw_6anynan_25anynan_2d_float32_axisNone, METH_O, __pyx_doc_6anynan_24anynan_2d_float32_axisNone}; +static PyObject *__pyx_pw_6anynan_25anynan_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("anynan_2d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_28anynan_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_24anynan_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4876,7 +5026,7 @@ static PyObject *__pyx_pw_6anynan_29anynan_2d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_24anynan_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; @@ -4907,11 +5057,11 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":394 + /* "anynan.pyx":406 * def anynan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): * "Check for NaNs in 2d array with dtype=float32 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< @@ -4920,7 +5070,7 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_f = 1; - /* "anynan.pyx":398 + /* "anynan.pyx":410 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4929,7 +5079,7 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":399 + /* "anynan.pyx":411 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4938,7 +5088,7 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":400 + /* "anynan.pyx":412 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -4947,7 +5097,7 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":401 + /* "anynan.pyx":413 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4958,7 +5108,7 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "anynan.pyx":402 + /* "anynan.pyx":414 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -4969,7 +5119,7 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "anynan.pyx":403 + /* "anynan.pyx":415 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -4980,7 +5130,7 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO __pyx_t_6 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "anynan.pyx":404 + /* "anynan.pyx":416 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -4990,7 +5140,7 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO __pyx_t_7 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "anynan.pyx":405 + /* "anynan.pyx":417 * ai = a[i0, i1] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< @@ -4998,12 +5148,12 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_8; @@ -5013,7 +5163,7 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO } } - /* "anynan.pyx":406 + /* "anynan.pyx":418 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< @@ -5021,19 +5171,19 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_8; __pyx_t_8 = 0; goto __pyx_L0; - /* "anynan.pyx":392 + /* "anynan.pyx":404 * @cython.boundscheck(False) * @cython.wraparound(False) * def anynan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< @@ -5060,7 +5210,7 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "anynan.pyx":410 +/* "anynan.pyx":422 * @cython.boundscheck(False) * @cython.wraparound(False) * def anynan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< @@ -5069,18 +5219,18 @@ static PyObject *__pyx_pf_6anynan_28anynan_2d_float32_axisNone(CYTHON_UNUSED PyO */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_31anynan_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_30anynan_2d_float64_axisNone[] = "anynan_2d_float64_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=float64 along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_31anynan_2d_float64_axisNone = {"anynan_2d_float64_axisNone", (PyCFunction)__pyx_pw_6anynan_31anynan_2d_float64_axisNone, METH_O, __pyx_doc_6anynan_30anynan_2d_float64_axisNone}; -static PyObject *__pyx_pw_6anynan_31anynan_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_27anynan_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_26anynan_2d_float64_axisNone[] = "anynan_2d_float64_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=float64 along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_27anynan_2d_float64_axisNone = {"anynan_2d_float64_axisNone", (PyCFunction)__pyx_pw_6anynan_27anynan_2d_float64_axisNone, METH_O, __pyx_doc_6anynan_26anynan_2d_float64_axisNone}; +static PyObject *__pyx_pw_6anynan_27anynan_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("anynan_2d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_30anynan_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_26anynan_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5091,7 +5241,7 @@ static PyObject *__pyx_pw_6anynan_31anynan_2d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_26anynan_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; @@ -5122,11 +5272,11 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":412 + /* "anynan.pyx":424 * def anynan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): * "Check for NaNs in 2d array with dtype=float64 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< @@ -5135,7 +5285,7 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO */ __pyx_v_f = 1; - /* "anynan.pyx":416 + /* "anynan.pyx":428 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5144,7 +5294,7 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":417 + /* "anynan.pyx":429 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5153,7 +5303,7 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":418 + /* "anynan.pyx":430 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5162,7 +5312,7 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":419 + /* "anynan.pyx":431 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5173,7 +5323,7 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "anynan.pyx":420 + /* "anynan.pyx":432 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -5184,7 +5334,7 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "anynan.pyx":421 + /* "anynan.pyx":433 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -5195,7 +5345,7 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO __pyx_t_6 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "anynan.pyx":422 + /* "anynan.pyx":434 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -5205,7 +5355,7 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO __pyx_t_7 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "anynan.pyx":423 + /* "anynan.pyx":435 * ai = a[i0, i1] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< @@ -5213,12 +5363,12 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_8; @@ -5228,7 +5378,7 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO } } - /* "anynan.pyx":424 + /* "anynan.pyx":436 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< @@ -5236,19 +5386,19 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_8; __pyx_t_8 = 0; goto __pyx_L0; - /* "anynan.pyx":410 + /* "anynan.pyx":422 * @cython.boundscheck(False) * @cython.wraparound(False) * def anynan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< @@ -5275,27 +5425,27 @@ static PyObject *__pyx_pf_6anynan_30anynan_2d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "anynan.pyx":428 +/* "anynan.pyx":440 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=0." + * def anynan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_33anynan_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_32anynan_2d_float_axis0[] = "anynan_2d_float_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_6anynan_33anynan_2d_float_axis0 = {"anynan_2d_float_axis0", (PyCFunction)__pyx_pw_6anynan_33anynan_2d_float_axis0, METH_O, __pyx_doc_6anynan_32anynan_2d_float_axis0}; -static PyObject *__pyx_pw_6anynan_33anynan_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_29anynan_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_28anynan_1d_int_axisNone[] = "anynan_1d_int_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=int along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_29anynan_1d_int_axisNone = {"anynan_1d_int_axisNone", (PyCFunction)__pyx_pw_6anynan_29anynan_1d_int_axisNone, METH_O, __pyx_doc_6anynan_28anynan_1d_int_axisNone}; +static PyObject *__pyx_pw_6anynan_29anynan_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_32anynan_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_1d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_28anynan_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5306,289 +5456,125 @@ static PyObject *__pyx_pw_6anynan_33anynan_2d_float_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6anynan_32anynan_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6anynan_28anynan_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_float_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("anynan_1d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "anynan.pyx":430 - * def anynan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=float along axis=0." + /* "anynan.pyx":442 + * def anynan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): + * "Check for NaNs in 1d array with dtype=int along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.int_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "anynan.pyx":434 - * cdef Py_ssize_t i0, i1 + /* "anynan.pyx":446 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * return np.bool_(False) */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":435 + /* "anynan.pyx":447 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * return np.bool_(False) + * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":436 + /* "anynan.pyx":448 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "anynan.pyx":437 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "anynan.pyx":438 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "anynan.pyx":440 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * f = 1 - * for i0 in range(n0): - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "anynan.pyx":441 - * NPY_BOOL, 0) - * for i1 in range(n1): - * f = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; - - /* "anynan.pyx":442 - * for i1 in range(n1): - * f = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "anynan.pyx":443 - * f = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * y[i1] = 1 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "anynan.pyx":444 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * y[i1] = 1 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "anynan.pyx":445 - * ai = a[i0, i1] - * if ai != ai: - * y[i1] = 1 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - - /* "anynan.pyx":446 - * if ai != ai: - * y[i1] = 1 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; - - /* "anynan.pyx":447 - * y[i1] = 1 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i1] = 0 - */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; - - /* "anynan.pyx":448 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i1] = 0 - * return y - */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { - - /* "anynan.pyx":449 - * break - * if f == 1: - * y[i1] = 0 # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "anynan.pyx":450 - * if f == 1: - * y[i1] = 0 - * return y # <<<<<<<<<<<<<< + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; goto __pyx_L0; - /* "anynan.pyx":428 + /* "anynan.pyx":440 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=0." + * def anynan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":454 +/* "anynan.pyx":452 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=1." + * def anynan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int8 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_35anynan_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_34anynan_2d_float_axis1[] = "anynan_2d_float_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=float along axis=1."; -static PyMethodDef __pyx_mdef_6anynan_35anynan_2d_float_axis1 = {"anynan_2d_float_axis1", (PyCFunction)__pyx_pw_6anynan_35anynan_2d_float_axis1, METH_O, __pyx_doc_6anynan_34anynan_2d_float_axis1}; -static PyObject *__pyx_pw_6anynan_35anynan_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_31anynan_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_30anynan_1d_int8_axisNone[] = "anynan_1d_int8_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=int8 along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_31anynan_1d_int8_axisNone = {"anynan_1d_int8_axisNone", (PyCFunction)__pyx_pw_6anynan_31anynan_1d_int8_axisNone, METH_O, __pyx_doc_6anynan_30anynan_1d_int8_axisNone}; +static PyObject *__pyx_pw_6anynan_31anynan_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_float_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_34anynan_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_1d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_30anynan_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5599,289 +5585,125 @@ static PyObject *__pyx_pw_6anynan_35anynan_2d_float_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6anynan_34anynan_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6anynan_30anynan_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_float_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("anynan_1d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "anynan.pyx":456 - * def anynan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=float along axis=1." + /* "anynan.pyx":454 + * def anynan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): + * "Check for NaNs in 1d array with dtype=int8 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.int8_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "anynan.pyx":460 - * cdef Py_ssize_t i0, i1 + /* "anynan.pyx":458 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * return np.bool_(False) */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":461 + /* "anynan.pyx":459 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * return np.bool_(False) + * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":462 + /* "anynan.pyx":460 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * return np.bool_(False) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; - /* "anynan.pyx":463 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "anynan.pyx":464 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "anynan.pyx":466 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * f = 1 - * for i1 in range(n1): - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "anynan.pyx":467 - * NPY_BOOL, 0) - * for i0 in range(n0): - * f = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; - - /* "anynan.pyx":468 - * for i0 in range(n0): - * f = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "anynan.pyx":469 - * f = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * y[i0] = 1 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "anynan.pyx":470 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * y[i0] = 1 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "anynan.pyx":471 - * ai = a[i0, i1] - * if ai != ai: - * y[i0] = 1 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - - /* "anynan.pyx":472 - * if ai != ai: - * y[i0] = 1 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; - - /* "anynan.pyx":473 - * y[i0] = 1 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i0] = 0 - */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; - - /* "anynan.pyx":474 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i0] = 0 - * return y - */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { - - /* "anynan.pyx":475 - * break - * if f == 1: - * y[i0] = 0 # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "anynan.pyx":476 - * if f == 1: - * y[i0] = 0 - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "anynan.pyx":454 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def anynan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=1." - * cdef int f = 1 + /* "anynan.pyx":452 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def anynan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int8 along axis=None." + * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":480 +/* "anynan.pyx":464 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float32 along axis=0." + * def anynan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int32 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_37anynan_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_36anynan_2d_float32_axis0[] = "anynan_2d_float32_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_6anynan_37anynan_2d_float32_axis0 = {"anynan_2d_float32_axis0", (PyCFunction)__pyx_pw_6anynan_37anynan_2d_float32_axis0, METH_O, __pyx_doc_6anynan_36anynan_2d_float32_axis0}; -static PyObject *__pyx_pw_6anynan_37anynan_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_33anynan_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_32anynan_1d_int32_axisNone[] = "anynan_1d_int32_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=int32 along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_33anynan_1d_int32_axisNone = {"anynan_1d_int32_axisNone", (PyCFunction)__pyx_pw_6anynan_33anynan_1d_int32_axisNone, METH_O, __pyx_doc_6anynan_32anynan_1d_int32_axisNone}; +static PyObject *__pyx_pw_6anynan_33anynan_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_36anynan_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_1d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_32anynan_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5892,289 +5714,254 @@ static PyObject *__pyx_pw_6anynan_37anynan_2d_float32_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6anynan_36anynan_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6anynan_32anynan_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_float32_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("anynan_1d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "anynan.pyx":482 - * def anynan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=float32 along axis=0." + /* "anynan.pyx":466 + * def anynan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): + * "Check for NaNs in 1d array with dtype=int32 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.int32_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "anynan.pyx":486 - * cdef Py_ssize_t i0, i1 + /* "anynan.pyx":470 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * return np.bool_(False) */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":487 + /* "anynan.pyx":471 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * return np.bool_(False) + * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":488 + /* "anynan.pyx":472 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "anynan.pyx":489 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "anynan.pyx":490 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i1 in range(n1): + * return np.bool_(False) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; - /* "anynan.pyx":492 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * f = 1 - * for i0 in range(n0): + /* "anynan.pyx":464 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def anynan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int32 along axis=None." + * cdef int f = 1 */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - /* "anynan.pyx":493 - * NPY_BOOL, 0) - * for i1 in range(n1): - * f = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("anynan.anynan_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __pyx_L2:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} - /* "anynan.pyx":494 - * for i1 in range(n1): - * f = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: +/* "anynan.pyx":476 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def anynan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int64 along axis=None." + * cdef int f = 1 */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - /* "anynan.pyx":495 - * f = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * y[i1] = 1 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "anynan.pyx":496 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * y[i1] = 1 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_10) { +/* Python wrapper */ +static PyObject *__pyx_pw_6anynan_35anynan_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_34anynan_1d_int64_axisNone[] = "anynan_1d_int64_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=int64 along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_35anynan_1d_int64_axisNone = {"anynan_1d_int64_axisNone", (PyCFunction)__pyx_pw_6anynan_35anynan_1d_int64_axisNone, METH_O, __pyx_doc_6anynan_34anynan_1d_int64_axisNone}; +static PyObject *__pyx_pw_6anynan_35anynan_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_lineno = 0; + CYTHON_UNUSED const char *__pyx_filename = NULL; + CYTHON_UNUSED int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("anynan_1d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_34anynan_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":497 - * ai = a[i0, i1] - * if ai != ai: - * y[i1] = 1 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} - /* "anynan.pyx":498 - * if ai != ai: - * y[i1] = 1 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; +static PyObject *__pyx_pf_6anynan_34anynan_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; + npy_intp *__pyx_v_dim; + CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + __Pyx_LocalBuf_ND __pyx_pybuffernd_a; + __Pyx_Buffer __pyx_pybuffer_a; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("anynan_1d_int64_axisNone", 0); + __pyx_pybuffer_a.pybuffer.buf = NULL; + __pyx_pybuffer_a.refcount = 0; + __pyx_pybuffernd_a.data = NULL; + __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "anynan.pyx":499 - * y[i1] = 1 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i1] = 0 + /* "anynan.pyx":478 + * def anynan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): + * "Check for NaNs in 1d array with dtype=int64 along axis=None." + * cdef int f = 1 # <<<<<<<<<<<<<< + * cdef np.int64_t ai + * cdef Py_ssize_t i0 */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; + __pyx_v_f = 1; - /* "anynan.pyx":500 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i1] = 0 - * return y + /* "anynan.pyx":482 + * cdef Py_ssize_t i0 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n0 = dim[0] + * return np.bool_(False) */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { - - /* "anynan.pyx":501 - * break - * if f == 1: - * y[i1] = 0 # <<<<<<<<<<<<<< - * return y + __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); + + /* "anynan.pyx":483 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * return np.bool_(False) * */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - goto __pyx_L8; - } - __pyx_L8:; - } + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":502 - * if f == 1: - * y[i1] = 0 - * return y # <<<<<<<<<<<<<< + /* "anynan.pyx":484 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; goto __pyx_L0; - /* "anynan.pyx":480 + /* "anynan.pyx":476 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float32 along axis=0." + * def anynan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int64 along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":506 +/* "anynan.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float32 along axis=1." + * def anynan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_39anynan_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_38anynan_2d_float32_axis1[] = "anynan_2d_float32_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=float32 along axis=1."; -static PyMethodDef __pyx_mdef_6anynan_39anynan_2d_float32_axis1 = {"anynan_2d_float32_axis1", (PyCFunction)__pyx_pw_6anynan_39anynan_2d_float32_axis1, METH_O, __pyx_doc_6anynan_38anynan_2d_float32_axis1}; -static PyObject *__pyx_pw_6anynan_39anynan_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_37anynan_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_36anynan_2d_int_axisNone[] = "anynan_2d_int_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=int along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_37anynan_2d_int_axisNone = {"anynan_2d_int_axisNone", (PyCFunction)__pyx_pw_6anynan_37anynan_2d_int_axisNone, METH_O, __pyx_doc_6anynan_36anynan_2d_int_axisNone}; +static PyObject *__pyx_pw_6anynan_37anynan_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_float32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_38anynan_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_36anynan_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6185,61 +5972,41 @@ static PyObject *__pyx_pw_6anynan_39anynan_2d_float32_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6anynan_38anynan_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6anynan_36anynan_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_float32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("anynan_2d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":508 - * def anynan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=float32 along axis=1." + /* "anynan.pyx":490 + * def anynan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai + * cdef np.int_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":512 + /* "anynan.pyx":494 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6248,226 +6015,231 @@ static PyObject *__pyx_pf_6anynan_38anynan_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":513 + /* "anynan.pyx":495 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * return np.bool_(False) */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":514 + /* "anynan.pyx":496 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * return np.bool_(False) + * */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":515 + /* "anynan.pyx":497 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "anynan.pyx":516 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i0 in range(n0): + * return np.bool_(False) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; - /* "anynan.pyx":518 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * f = 1 - * for i1 in range(n1): + /* "anynan.pyx":488 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def anynan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=None." + * cdef int f = 1 */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - /* "anynan.pyx":519 - * NPY_BOOL, 0) - * for i0 in range(n0): - * f = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("anynan.anynan_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __pyx_L2:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} - /* "anynan.pyx":520 - * for i0 in range(n0): - * f = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: +/* "anynan.pyx":501 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def anynan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=None." + * cdef int f = 1 */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - /* "anynan.pyx":521 - * f = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * y[i0] = 1 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); +/* Python wrapper */ +static PyObject *__pyx_pw_6anynan_39anynan_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_38anynan_2d_int8_axisNone[] = "anynan_2d_int8_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=int8 along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_39anynan_2d_int8_axisNone = {"anynan_2d_int8_axisNone", (PyCFunction)__pyx_pw_6anynan_39anynan_2d_int8_axisNone, METH_O, __pyx_doc_6anynan_38anynan_2d_int8_axisNone}; +static PyObject *__pyx_pw_6anynan_39anynan_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_lineno = 0; + CYTHON_UNUSED const char *__pyx_filename = NULL; + CYTHON_UNUSED int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("anynan_2d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_38anynan_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":522 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * y[i0] = 1 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_10) { + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} - /* "anynan.pyx":523 - * ai = a[i0, i1] - * if ai != ai: - * y[i0] = 1 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; +static PyObject *__pyx_pf_6anynan_38anynan_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; + npy_intp *__pyx_v_dim; + CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n1; + __Pyx_LocalBuf_ND __pyx_pybuffernd_a; + __Pyx_Buffer __pyx_pybuffer_a; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("anynan_2d_int8_axisNone", 0); + __pyx_pybuffer_a.pybuffer.buf = NULL; + __pyx_pybuffer_a.refcount = 0; + __pyx_pybuffernd_a.data = NULL; + __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":524 - * if ai != ai: - * y[i0] = 1 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: + /* "anynan.pyx":503 + * def anynan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int8 along axis=None." + * cdef int f = 1 # <<<<<<<<<<<<<< + * cdef np.int8_t ai + * cdef Py_ssize_t i0, i1 */ - __pyx_v_f = 0; + __pyx_v_f = 1; - /* "anynan.pyx":525 - * y[i0] = 1 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i0] = 0 + /* "anynan.pyx":507 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; + __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":526 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i0] = 0 - * return y + /* "anynan.pyx":508 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * return np.bool_(False) */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":527 - * break - * if f == 1: - * y[i0] = 0 # <<<<<<<<<<<<<< - * return y + /* "anynan.pyx":509 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * return np.bool_(False) * */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - goto __pyx_L8; - } - __pyx_L8:; - } + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":528 - * if f == 1: - * y[i0] = 0 - * return y # <<<<<<<<<<<<<< + /* "anynan.pyx":510 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; goto __pyx_L0; - /* "anynan.pyx":506 + /* "anynan.pyx":501 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float32 along axis=1." + * def anynan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":532 +/* "anynan.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float64 along axis=0." + * def anynan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_41anynan_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_40anynan_2d_float64_axis0[] = "anynan_2d_float64_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_6anynan_41anynan_2d_float64_axis0 = {"anynan_2d_float64_axis0", (PyCFunction)__pyx_pw_6anynan_41anynan_2d_float64_axis0, METH_O, __pyx_doc_6anynan_40anynan_2d_float64_axis0}; -static PyObject *__pyx_pw_6anynan_41anynan_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_41anynan_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_40anynan_2d_int32_axisNone[] = "anynan_2d_int32_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=int32 along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_41anynan_2d_int32_axisNone = {"anynan_2d_int32_axisNone", (PyCFunction)__pyx_pw_6anynan_41anynan_2d_int32_axisNone, METH_O, __pyx_doc_6anynan_40anynan_2d_int32_axisNone}; +static PyObject *__pyx_pw_6anynan_41anynan_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_40anynan_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_40anynan_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6478,61 +6250,41 @@ static PyObject *__pyx_pw_6anynan_41anynan_2d_float64_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6anynan_40anynan_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6anynan_40anynan_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_float64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("anynan_2d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":534 - * def anynan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=float64 along axis=0." + /* "anynan.pyx":516 + * def anynan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int32 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai + * cdef np.int32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":538 + /* "anynan.pyx":520 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6541,226 +6293,92 @@ static PyObject *__pyx_pf_6anynan_40anynan_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":539 + /* "anynan.pyx":521 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * return np.bool_(False) */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":540 + /* "anynan.pyx":522 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * return np.bool_(False) + * */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":541 + /* "anynan.pyx":523 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "anynan.pyx":542 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "anynan.pyx":544 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * f = 1 - * for i0 in range(n0): - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "anynan.pyx":545 - * NPY_BOOL, 0) - * for i1 in range(n1): - * f = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; - - /* "anynan.pyx":546 - * for i1 in range(n1): - * f = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "anynan.pyx":547 - * f = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * y[i1] = 1 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "anynan.pyx":548 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * y[i1] = 1 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "anynan.pyx":549 - * ai = a[i0, i1] - * if ai != ai: - * y[i1] = 1 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - - /* "anynan.pyx":550 - * if ai != ai: - * y[i1] = 1 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; - - /* "anynan.pyx":551 - * y[i1] = 1 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i1] = 0 - */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; - - /* "anynan.pyx":552 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i1] = 0 - * return y - */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { - - /* "anynan.pyx":553 - * break - * if f == 1: - * y[i1] = 0 # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "anynan.pyx":554 - * if f == 1: - * y[i1] = 0 - * return y # <<<<<<<<<<<<<< + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; goto __pyx_L0; - /* "anynan.pyx":532 + /* "anynan.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float64 along axis=0." + * def anynan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":558 +/* "anynan.pyx":527 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float64 along axis=1." + * def anynan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=None." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_43anynan_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_42anynan_2d_float64_axis1[] = "anynan_2d_float64_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=float64 along axis=1."; -static PyMethodDef __pyx_mdef_6anynan_43anynan_2d_float64_axis1 = {"anynan_2d_float64_axis1", (PyCFunction)__pyx_pw_6anynan_43anynan_2d_float64_axis1, METH_O, __pyx_doc_6anynan_42anynan_2d_float64_axis1}; -static PyObject *__pyx_pw_6anynan_43anynan_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_43anynan_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_42anynan_2d_int64_axisNone[] = "anynan_2d_int64_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=int64 along axis=None."; +static PyMethodDef __pyx_mdef_6anynan_43anynan_2d_int64_axisNone = {"anynan_2d_int64_axisNone", (PyCFunction)__pyx_pw_6anynan_43anynan_2d_int64_axisNone, METH_O, __pyx_doc_6anynan_42anynan_2d_int64_axisNone}; +static PyObject *__pyx_pw_6anynan_43anynan_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_float64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_42anynan_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_42anynan_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6771,61 +6389,41 @@ static PyObject *__pyx_pw_6anynan_43anynan_2d_float64_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6anynan_42anynan_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6anynan_42anynan_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_f; npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_float64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("anynan_2d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":560 - * def anynan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=float64 along axis=1." + /* "anynan.pyx":529 + * def anynan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int64 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai + * cdef np.int64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":564 + /* "anynan.pyx":533 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6834,226 +6432,92 @@ static PyObject *__pyx_pf_6anynan_42anynan_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":565 + /* "anynan.pyx":534 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * return np.bool_(False) */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":566 + /* "anynan.pyx":535 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * return np.bool_(False) + * */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":567 + /* "anynan.pyx":536 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "anynan.pyx":568 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "anynan.pyx":570 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * f = 1 - * for i1 in range(n1): - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "anynan.pyx":571 - * NPY_BOOL, 0) - * for i0 in range(n0): - * f = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_f = 1; - - /* "anynan.pyx":572 - * for i0 in range(n0): - * f = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "anynan.pyx":573 - * f = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * y[i0] = 1 - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "anynan.pyx":574 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * y[i0] = 1 - * f = 0 - */ - __pyx_t_10 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "anynan.pyx":575 - * ai = a[i0, i1] - * if ai != ai: - * y[i0] = 1 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_11 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - - /* "anynan.pyx":576 - * if ai != ai: - * y[i0] = 1 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; - - /* "anynan.pyx":577 - * y[i0] = 1 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i0] = 0 - */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; - - /* "anynan.pyx":578 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i0] = 0 - * return y - */ - __pyx_t_10 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_10) { - - /* "anynan.pyx":579 - * break - * if f == 1: - * y[i0] = 0 # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "anynan.pyx":580 - * if f == 1: - * y[i0] = 0 - * return y # <<<<<<<<<<<<<< + * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; goto __pyx_L0; - /* "anynan.pyx":558 + /* "anynan.pyx":527 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float64 along axis=1." + * def anynan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=None." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":584 +/* "anynan.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int along axis=None." + * def anynan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_45anynan_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_44anynan_1d_int_axisNone[] = "anynan_1d_int_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=int along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_45anynan_1d_int_axisNone = {"anynan_1d_int_axisNone", (PyCFunction)__pyx_pw_6anynan_45anynan_1d_int_axisNone, METH_O, __pyx_doc_6anynan_44anynan_1d_int_axisNone}; -static PyObject *__pyx_pw_6anynan_45anynan_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_45anynan_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_44anynan_2d_int_axis0[] = "anynan_2d_int_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_6anynan_45anynan_2d_int_axis0 = {"anynan_2d_int_axis0", (PyCFunction)__pyx_pw_6anynan_45anynan_2d_int_axis0, METH_O, __pyx_doc_6anynan_44anynan_2d_int_axis0}; +static PyObject *__pyx_pw_6anynan_45anynan_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_1d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_44anynan_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_44anynan_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7064,125 +6528,197 @@ static PyObject *__pyx_pw_6anynan_45anynan_1d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6anynan_44anynan_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_44anynan_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_1d_int_axisNone", 0); + __Pyx_RefNannySetupContext("anynan_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":586 - * def anynan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): - * "Check for NaNs in 1d array with dtype=int along axis=None." + /* "anynan.pyx":542 + * def anynan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< * cdef np.int_t ai - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":590 - * cdef Py_ssize_t i0 + /* "anynan.pyx":546 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * return np.bool_(False) + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":591 + /* "anynan.pyx":547 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * return np.bool_(False) - * + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":592 + /* "anynan.pyx":548 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * return np.bool_(False) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "anynan.pyx":549 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "anynan.pyx":550 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "anynan.pyx":552 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i1] = 0 + * return y + */ + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "anynan.pyx":553 + * NPY_BOOL, 0) + * for i1 in range(n1): + * y[i1] = 0 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + } + + /* "anynan.pyx":554 + * for i1 in range(n1): + * y[i1] = 0 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":584 + /* "anynan.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int along axis=None." + * def anynan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=0." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":596 +/* "anynan.pyx":558 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int8 along axis=None." + * def anynan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_47anynan_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_46anynan_1d_int8_axisNone[] = "anynan_1d_int8_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=int8 along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_47anynan_1d_int8_axisNone = {"anynan_1d_int8_axisNone", (PyCFunction)__pyx_pw_6anynan_47anynan_1d_int8_axisNone, METH_O, __pyx_doc_6anynan_46anynan_1d_int8_axisNone}; -static PyObject *__pyx_pw_6anynan_47anynan_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_47anynan_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_46anynan_2d_int_axis1[] = "anynan_2d_int_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=int along axis=1."; +static PyMethodDef __pyx_mdef_6anynan_47anynan_2d_int_axis1 = {"anynan_2d_int_axis1", (PyCFunction)__pyx_pw_6anynan_47anynan_2d_int_axis1, METH_O, __pyx_doc_6anynan_46anynan_2d_int_axis1}; +static PyObject *__pyx_pw_6anynan_47anynan_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_1d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_46anynan_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_46anynan_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7193,125 +6729,197 @@ static PyObject *__pyx_pw_6anynan_47anynan_1d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6anynan_46anynan_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_46anynan_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; - CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_1d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("anynan_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":598 - * def anynan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): - * "Check for NaNs in 1d array with dtype=int8 along axis=None." + /* "anynan.pyx":560 + * def anynan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t ai - * cdef Py_ssize_t i0 + * cdef np.int_t ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":602 - * cdef Py_ssize_t i0 + /* "anynan.pyx":564 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * return np.bool_(False) + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":603 + /* "anynan.pyx":565 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * return np.bool_(False) - * + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":604 + /* "anynan.pyx":566 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * return np.bool_(False) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "anynan.pyx":567 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "anynan.pyx":568 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "anynan.pyx":570 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * y[i0] = 0 + * return y + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; + + /* "anynan.pyx":571 + * NPY_BOOL, 0) + * for i0 in range(n0): + * y[i0] = 0 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + } + + /* "anynan.pyx":572 + * for i0 in range(n0): + * y[i0] = 0 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":596 + /* "anynan.pyx":558 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int8 along axis=None." + * def anynan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=1." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":608 +/* "anynan.pyx":576 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int32 along axis=None." + * def anynan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_49anynan_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_48anynan_1d_int32_axisNone[] = "anynan_1d_int32_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=int32 along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_49anynan_1d_int32_axisNone = {"anynan_1d_int32_axisNone", (PyCFunction)__pyx_pw_6anynan_49anynan_1d_int32_axisNone, METH_O, __pyx_doc_6anynan_48anynan_1d_int32_axisNone}; -static PyObject *__pyx_pw_6anynan_49anynan_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_49anynan_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_48anynan_2d_int8_axis0[] = "anynan_2d_int8_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_6anynan_49anynan_2d_int8_axis0 = {"anynan_2d_int8_axis0", (PyCFunction)__pyx_pw_6anynan_49anynan_2d_int8_axis0, METH_O, __pyx_doc_6anynan_48anynan_2d_int8_axis0}; +static PyObject *__pyx_pw_6anynan_49anynan_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_1d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_48anynan_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_48anynan_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7322,125 +6930,197 @@ static PyObject *__pyx_pw_6anynan_49anynan_1d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6anynan_48anynan_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_48anynan_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_1d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("anynan_2d_int8_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":610 - * def anynan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): - * "Check for NaNs in 1d array with dtype=int32 along axis=None." - * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t ai - * cdef Py_ssize_t i0 + /* "anynan.pyx":578 + * def anynan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int8 along axis=0." + * cdef int f = 1 # <<<<<<<<<<<<<< + * cdef np.int8_t ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":614 - * cdef Py_ssize_t i0 + /* "anynan.pyx":582 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * return np.bool_(False) + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":615 + /* "anynan.pyx":583 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * return np.bool_(False) - * + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":616 + /* "anynan.pyx":584 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * return np.bool_(False) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "anynan.pyx":585 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "anynan.pyx":586 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "anynan.pyx":588 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i1] = 0 + * return y + */ + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "anynan.pyx":589 + * NPY_BOOL, 0) + * for i1 in range(n1): + * y[i1] = 0 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + } + + /* "anynan.pyx":590 + * for i1 in range(n1): + * y[i1] = 0 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":608 + /* "anynan.pyx":576 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int32 along axis=None." + * def anynan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=0." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":620 +/* "anynan.pyx":594 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int64 along axis=None." + * def anynan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_51anynan_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_50anynan_1d_int64_axisNone[] = "anynan_1d_int64_axisNone(ndarray a)\nCheck for NaNs in 1d array with dtype=int64 along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_51anynan_1d_int64_axisNone = {"anynan_1d_int64_axisNone", (PyCFunction)__pyx_pw_6anynan_51anynan_1d_int64_axisNone, METH_O, __pyx_doc_6anynan_50anynan_1d_int64_axisNone}; -static PyObject *__pyx_pw_6anynan_51anynan_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_51anynan_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_50anynan_2d_int8_axis1[] = "anynan_2d_int8_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=int8 along axis=1."; +static PyMethodDef __pyx_mdef_6anynan_51anynan_2d_int8_axis1 = {"anynan_2d_int8_axis1", (PyCFunction)__pyx_pw_6anynan_51anynan_2d_int8_axis1, METH_O, __pyx_doc_6anynan_50anynan_2d_int8_axis1}; +static PyObject *__pyx_pw_6anynan_51anynan_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_1d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_50anynan_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int8_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_50anynan_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7451,125 +7131,197 @@ static PyObject *__pyx_pw_6anynan_51anynan_1d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6anynan_50anynan_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_50anynan_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; - CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n0; + CYTHON_UNUSED Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_1d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("anynan_2d_int8_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":622 - * def anynan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): - * "Check for NaNs in 1d array with dtype=int64 along axis=None." + /* "anynan.pyx":596 + * def anynan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int8 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t ai - * cdef Py_ssize_t i0 + * cdef np.int8_t ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":626 - * cdef Py_ssize_t i0 + /* "anynan.pyx":600 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * return np.bool_(False) + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":627 + /* "anynan.pyx":601 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * return np.bool_(False) - * + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":628 + /* "anynan.pyx":602 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * return np.bool_(False) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "anynan.pyx":603 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "anynan.pyx":604 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "anynan.pyx":606 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * y[i0] = 0 + * return y + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; + + /* "anynan.pyx":607 + * NPY_BOOL, 0) + * for i0 in range(n0): + * y[i0] = 0 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + } + + /* "anynan.pyx":608 + * for i0 in range(n0): + * y[i0] = 0 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":620 + /* "anynan.pyx":594 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int64 along axis=None." + * def anynan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=1." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":632 +/* "anynan.pyx":612 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=None." + * def anynan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_53anynan_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_52anynan_2d_int_axisNone[] = "anynan_2d_int_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=int along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_53anynan_2d_int_axisNone = {"anynan_2d_int_axisNone", (PyCFunction)__pyx_pw_6anynan_53anynan_2d_int_axisNone, METH_O, __pyx_doc_6anynan_52anynan_2d_int_axisNone}; -static PyObject *__pyx_pw_6anynan_53anynan_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_53anynan_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_52anynan_2d_int32_axis0[] = "anynan_2d_int32_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_6anynan_53anynan_2d_int32_axis0 = {"anynan_2d_int32_axis0", (PyCFunction)__pyx_pw_6anynan_53anynan_2d_int32_axis0, METH_O, __pyx_doc_6anynan_52anynan_2d_int32_axis0}; +static PyObject *__pyx_pw_6anynan_53anynan_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_52anynan_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_52anynan_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7580,41 +7332,54 @@ static PyObject *__pyx_pw_6anynan_53anynan_2d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6anynan_52anynan_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_52anynan_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; CYTHON_UNUSED Py_ssize_t __pyx_v_n0; - CYTHON_UNUSED Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int_axisNone", 0); + __Pyx_RefNannySetupContext("anynan_2d_int32_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":634 - * def anynan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int along axis=None." + /* "anynan.pyx":614 + * def anynan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int32 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int_t ai + * cdef np.int32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":638 + /* "anynan.pyx":618 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7623,92 +7388,141 @@ static PyObject *__pyx_pf_6anynan_52anynan_2d_int_axisNone(CYTHON_UNUSED PyObjec */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":639 + /* "anynan.pyx":619 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * return np.bool_(False) + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":640 + /* "anynan.pyx":620 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * return np.bool_(False) - * + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":641 + /* "anynan.pyx":621 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * return np.bool_(False) # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "anynan.pyx":622 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "anynan.pyx":624 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i1] = 0 + * return y + */ + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "anynan.pyx":625 + * NPY_BOOL, 0) + * for i1 in range(n1): + * y[i1] = 0 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + } + + /* "anynan.pyx":626 + * for i1 in range(n1): + * y[i1] = 0 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":632 + /* "anynan.pyx":612 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=None." + * def anynan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=0." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":645 +/* "anynan.pyx":630 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=None." + * def anynan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_55anynan_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_54anynan_2d_int8_axisNone[] = "anynan_2d_int8_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=int8 along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_55anynan_2d_int8_axisNone = {"anynan_2d_int8_axisNone", (PyCFunction)__pyx_pw_6anynan_55anynan_2d_int8_axisNone, METH_O, __pyx_doc_6anynan_54anynan_2d_int8_axisNone}; -static PyObject *__pyx_pw_6anynan_55anynan_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_55anynan_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_54anynan_2d_int32_axis1[] = "anynan_2d_int32_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=int32 along axis=1."; +static PyMethodDef __pyx_mdef_6anynan_55anynan_2d_int32_axis1 = {"anynan_2d_int32_axis1", (PyCFunction)__pyx_pw_6anynan_55anynan_2d_int32_axis1, METH_O, __pyx_doc_6anynan_54anynan_2d_int32_axis1}; +static PyObject *__pyx_pw_6anynan_55anynan_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_54anynan_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_54anynan_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7719,41 +7533,54 @@ static PyObject *__pyx_pw_6anynan_55anynan_2d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6anynan_54anynan_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_54anynan_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; - CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n0; CYTHON_UNUSED Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("anynan_2d_int32_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":647 - * def anynan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int8 along axis=None." + /* "anynan.pyx":632 + * def anynan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int32 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t ai + * cdef np.int32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":651 + /* "anynan.pyx":636 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7762,92 +7589,141 @@ static PyObject *__pyx_pf_6anynan_54anynan_2d_int8_axisNone(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":652 + /* "anynan.pyx":637 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * return np.bool_(False) + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":653 + /* "anynan.pyx":638 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * return np.bool_(False) - * + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":654 + /* "anynan.pyx":639 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * return np.bool_(False) # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "anynan.pyx":640 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "anynan.pyx":642 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * y[i0] = 0 + * return y + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; + + /* "anynan.pyx":643 + * NPY_BOOL, 0) + * for i0 in range(n0): + * y[i0] = 0 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + } + + /* "anynan.pyx":644 + * for i0 in range(n0): + * y[i0] = 0 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":645 + /* "anynan.pyx":630 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=None." + * def anynan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=1." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":658 +/* "anynan.pyx":648 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=None." + * def anynan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=0." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_57anynan_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_56anynan_2d_int32_axisNone[] = "anynan_2d_int32_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=int32 along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_57anynan_2d_int32_axisNone = {"anynan_2d_int32_axisNone", (PyCFunction)__pyx_pw_6anynan_57anynan_2d_int32_axisNone, METH_O, __pyx_doc_6anynan_56anynan_2d_int32_axisNone}; -static PyObject *__pyx_pw_6anynan_57anynan_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_57anynan_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_56anynan_2d_int64_axis0[] = "anynan_2d_int64_axis0(ndarray a)\nCheck for NaNs in 2d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_6anynan_57anynan_2d_int64_axis0 = {"anynan_2d_int64_axis0", (PyCFunction)__pyx_pw_6anynan_57anynan_2d_int64_axis0, METH_O, __pyx_doc_6anynan_56anynan_2d_int64_axis0}; +static PyObject *__pyx_pw_6anynan_57anynan_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_56anynan_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_56anynan_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7858,135 +7734,197 @@ static PyObject *__pyx_pw_6anynan_57anynan_2d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6anynan_56anynan_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_56anynan_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; CYTHON_UNUSED Py_ssize_t __pyx_v_n0; - CYTHON_UNUSED Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("anynan_2d_int64_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":660 - * def anynan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int32 along axis=None." + /* "anynan.pyx":650 + * def anynan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int64 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t ai + * cdef np.int64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":664 + /* "anynan.pyx":654 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] */ - __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); + __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); + + /* "anynan.pyx":655 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + */ + __pyx_v_n0 = (__pyx_v_dim[0]); + + /* "anynan.pyx":656 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "anynan.pyx":657 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "anynan.pyx":658 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "anynan.pyx":665 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * return np.bool_(False) + /* "anynan.pyx":660 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i1] = 0 + * return y */ - __pyx_v_n0 = (__pyx_v_dim[0]); + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "anynan.pyx":666 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * return np.bool_(False) + /* "anynan.pyx":661 + * NPY_BOOL, 0) + * for i1 in range(n1): + * y[i1] = 0 # <<<<<<<<<<<<<< + * return y * */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + } - /* "anynan.pyx":667 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * return np.bool_(False) # <<<<<<<<<<<<<< + /* "anynan.pyx":662 + * for i1 in range(n1): + * y[i1] = 0 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":658 + /* "anynan.pyx":648 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=None." + * def anynan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=0." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "anynan.pyx":671 +/* "anynan.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=None." + * def anynan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=1." * cdef int f = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6anynan_59anynan_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6anynan_58anynan_2d_int64_axisNone[] = "anynan_2d_int64_axisNone(ndarray a)\nCheck for NaNs in 2d array with dtype=int64 along axis=None."; -static PyMethodDef __pyx_mdef_6anynan_59anynan_2d_int64_axisNone = {"anynan_2d_int64_axisNone", (PyCFunction)__pyx_pw_6anynan_59anynan_2d_int64_axisNone, METH_O, __pyx_doc_6anynan_58anynan_2d_int64_axisNone}; -static PyObject *__pyx_pw_6anynan_59anynan_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6anynan_59anynan_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6anynan_58anynan_2d_int64_axis1[] = "anynan_2d_int64_axis1(ndarray a)\nCheck for NaNs in 2d array with dtype=int64 along axis=1."; +static PyMethodDef __pyx_mdef_6anynan_59anynan_2d_int64_axis1 = {"anynan_2d_int64_axis1", (PyCFunction)__pyx_pw_6anynan_59anynan_2d_int64_axis1, METH_O, __pyx_doc_6anynan_58anynan_2d_int64_axis1}; +static PyObject *__pyx_pw_6anynan_59anynan_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("anynan_2d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6anynan_58anynan_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("anynan_2d_int64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6anynan_58anynan_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7997,41 +7935,54 @@ static PyObject *__pyx_pw_6anynan_59anynan_2d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6anynan_58anynan_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6anynan_58anynan_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_f; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; - CYTHON_UNUSED Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n0; CYTHON_UNUSED Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("anynan_2d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("anynan_2d_int64_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "anynan.pyx":673 - * def anynan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): - * "Check for NaNs in 2d array with dtype=int64 along axis=None." + /* "anynan.pyx":668 + * def anynan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Check for NaNs in 2d array with dtype=int64 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< * cdef np.int64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "anynan.pyx":677 + /* "anynan.pyx":672 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8040,73 +7991,122 @@ static PyObject *__pyx_pf_6anynan_58anynan_2d_int64_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "anynan.pyx":678 + /* "anynan.pyx":673 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * return np.bool_(False) + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "anynan.pyx":679 + /* "anynan.pyx":674 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * return np.bool_(False) - * + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "anynan.pyx":680 + /* "anynan.pyx":675 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * return np.bool_(False) # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "anynan.pyx":676 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "anynan.pyx":678 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * y[i0] = 0 + * return y + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; + + /* "anynan.pyx":679 + * NPY_BOOL, 0) + * for i0 in range(n0): + * y[i0] = 0 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + } + + /* "anynan.pyx":680 + * for i0 in range(n0): + * y[i0] = 0 + * return y # <<<<<<<<<<<<<< * * cdef dict anynan_dict = {} */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "anynan.pyx":671 + /* "anynan.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=None." + * def anynan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=1." * cdef int f = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("anynan.anynan_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("anynan.anynan_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "anynan.pyx":719 - * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone + * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 * * def anynan_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) anynan along axis 0." @@ -8174,7 +8174,7 @@ static PyObject *__pyx_pf_6anynan_60anynan_slow_axis0(CYTHON_UNUSED PyObject *__ goto __pyx_L0; /* "anynan.pyx":719 - * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone + * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 * * def anynan_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) anynan along axis 0." @@ -11165,7 +11165,7 @@ static PyObject *__pyx_pf_6anynan_126anynan_slow_axisNone(CYTHON_UNUSED PyObject return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -11215,7 +11215,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -11228,7 +11228,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -11237,7 +11237,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -11246,7 +11246,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -11255,7 +11255,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -11265,7 +11265,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -11277,7 +11277,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -11288,7 +11288,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -11304,7 +11304,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -11316,7 +11316,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -11330,7 +11330,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -11346,7 +11346,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -11358,7 +11358,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -11372,7 +11372,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -11381,7 +11381,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -11390,7 +11390,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -11400,7 +11400,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -11409,7 +11409,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -11418,7 +11418,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -11429,7 +11429,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -11438,7 +11438,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -11451,7 +11451,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -11460,7 +11460,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -11471,7 +11471,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -11480,7 +11480,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -11489,7 +11489,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -11498,7 +11498,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -11507,7 +11507,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -11519,7 +11519,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -11528,7 +11528,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -11548,7 +11548,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -11564,7 +11564,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -11579,7 +11579,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -11589,7 +11589,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -11599,7 +11599,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -11622,7 +11622,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -11642,7 +11642,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -11656,7 +11656,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -11665,7 +11665,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -11676,7 +11676,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -11687,7 +11687,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -11698,7 +11698,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -11709,7 +11709,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -11720,7 +11720,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -11731,7 +11731,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -11742,7 +11742,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -11753,7 +11753,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -11764,7 +11764,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -11775,7 +11775,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -11786,7 +11786,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -11797,7 +11797,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -11808,7 +11808,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -11819,7 +11819,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -11830,7 +11830,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -11841,7 +11841,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -11853,7 +11853,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -11879,7 +11879,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -11888,7 +11888,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -11900,7 +11900,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -11909,7 +11909,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -11918,7 +11918,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -11927,7 +11927,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -11937,7 +11937,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -11947,7 +11947,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -11979,7 +11979,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -12003,7 +12003,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -12013,7 +12013,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -12025,7 +12025,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -12035,7 +12035,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -12047,7 +12047,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -12059,7 +12059,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -12076,7 +12076,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -12090,7 +12090,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -12109,7 +12109,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -12126,7 +12126,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -12140,7 +12140,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -12159,7 +12159,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -12176,7 +12176,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -12190,7 +12190,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -12209,7 +12209,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -12226,7 +12226,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -12240,7 +12240,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -12259,7 +12259,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -12276,7 +12276,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -12290,7 +12290,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -12309,7 +12309,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -12341,7 +12341,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -12350,7 +12350,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -12359,7 +12359,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -12381,7 +12381,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -12394,7 +12394,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -12433,7 +12433,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -12450,7 +12450,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -12464,7 +12464,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -12487,7 +12487,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -12507,7 +12507,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -12521,7 +12521,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -12537,7 +12537,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -12546,7 +12546,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -12555,7 +12555,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -12566,7 +12566,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -12576,7 +12576,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -12586,7 +12586,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -12598,7 +12598,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -12608,7 +12608,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -12622,7 +12622,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -12640,7 +12640,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -12658,7 +12658,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -12676,7 +12676,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -12694,7 +12694,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -12712,7 +12712,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -12730,7 +12730,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -12748,7 +12748,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -12766,7 +12766,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -12784,7 +12784,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -12802,7 +12802,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -12820,7 +12820,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -12838,7 +12838,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -12856,7 +12856,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -12876,7 +12876,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -12896,7 +12896,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -12916,7 +12916,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -12935,7 +12935,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -12958,7 +12958,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -12970,7 +12970,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -12982,7 +12982,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -12992,7 +12992,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -13002,7 +13002,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -13027,7 +13027,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -13042,7 +13042,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -13053,7 +13053,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -13065,7 +13065,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -13074,7 +13074,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -13085,7 +13085,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -13094,7 +13094,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -13103,7 +13103,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -13115,7 +13115,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -13129,7 +13129,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -13139,7 +13139,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -13153,7 +13153,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -13164,7 +13164,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -13202,7 +13202,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -13216,6 +13215,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_u_Test_whether_any_array_element, __pyx_k_Test_whether_any_array_element, sizeof(__pyx_k_Test_whether_any_array_element), 0, 1, 0, 0}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__27, __pyx_k__27, sizeof(__pyx_k__27), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -13349,227 +13349,227 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "anynan.pyx":337 + /* "anynan.pyx":349 * ai = a[i0] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< * return np.bool_(False) * */ - __pyx_tuple_ = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple_ = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "anynan.pyx":338 + /* "anynan.pyx":350 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__2 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__2 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "anynan.pyx":353 + /* "anynan.pyx":365 * ai = a[i0] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< * return np.bool_(False) * */ - __pyx_tuple__3 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__3 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "anynan.pyx":354 + /* "anynan.pyx":366 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__4 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__4 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "anynan.pyx":369 + /* "anynan.pyx":381 * ai = a[i0] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< * return np.bool_(False) * */ - __pyx_tuple__5 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__5 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "anynan.pyx":370 + /* "anynan.pyx":382 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__6 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__6 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6); - /* "anynan.pyx":387 + /* "anynan.pyx":399 * ai = a[i0, i1] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< * return np.bool_(False) * */ - __pyx_tuple__7 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__7 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7); - /* "anynan.pyx":388 + /* "anynan.pyx":400 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__8 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__8 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8); - /* "anynan.pyx":405 + /* "anynan.pyx":417 * ai = a[i0, i1] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< * return np.bool_(False) * */ - __pyx_tuple__9 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__9 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - /* "anynan.pyx":406 + /* "anynan.pyx":418 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__10 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__10 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); - /* "anynan.pyx":423 + /* "anynan.pyx":435 * ai = a[i0, i1] * if ai != ai: * return np.bool_(True) # <<<<<<<<<<<<<< * return np.bool_(False) * */ - __pyx_tuple__11 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__11 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - /* "anynan.pyx":424 + /* "anynan.pyx":436 * if ai != ai: * return np.bool_(True) * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__12 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__12 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__12); __Pyx_GIVEREF(__pyx_tuple__12); - /* "anynan.pyx":592 + /* "anynan.pyx":448 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__13 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__13 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - /* "anynan.pyx":604 + /* "anynan.pyx":460 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__14 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__14 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14); - /* "anynan.pyx":616 + /* "anynan.pyx":472 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__15 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__15 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - /* "anynan.pyx":628 + /* "anynan.pyx":484 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__16 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__16 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__16); __Pyx_GIVEREF(__pyx_tuple__16); - /* "anynan.pyx":641 + /* "anynan.pyx":497 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__17 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__17 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - /* "anynan.pyx":654 + /* "anynan.pyx":510 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__18 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__18 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18); - /* "anynan.pyx":667 + /* "anynan.pyx":523 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * return np.bool_(False) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__19 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - /* "anynan.pyx":680 + /* "anynan.pyx":536 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * return np.bool_(False) # <<<<<<<<<<<<<< * - * cdef dict anynan_dict = {} + * @cython.boundscheck(False) */ - __pyx_tuple__20 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__20 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__20); __Pyx_GIVEREF(__pyx_tuple__20); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -13580,7 +13580,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -13591,7 +13591,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -13602,7 +13602,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -13613,7 +13613,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__24); __Pyx_GIVEREF(__pyx_tuple__24); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -13624,7 +13624,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -13656,7 +13656,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__29 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":110 * return func(arr) @@ -13668,346 +13668,346 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__31 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_selector, 110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_selector, 110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":182 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=0." + * def anynan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=0." * cdef int f = 1 */ __pyx_tuple__33 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int_axis0, 182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_float_axis0, 182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":200 + /* "anynan.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=1." + * def anynan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=1." * cdef int f = 1 */ - __pyx_tuple__35 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int_axis1, 200, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_float_axis1, 208, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":218 + /* "anynan.pyx":234 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=0." + * def anynan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float32 along axis=0." * cdef int f = 1 */ - __pyx_tuple__37 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int8_axis0, 218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_float32_axis0, 234, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":236 + /* "anynan.pyx":260 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=1." + * def anynan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float32 along axis=1." * cdef int f = 1 */ - __pyx_tuple__39 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int8_axis1, 236, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_float32_axis1, 260, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":254 + /* "anynan.pyx":286 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=0." + * def anynan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float64 along axis=0." * cdef int f = 1 */ - __pyx_tuple__41 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int32_axis0, 254, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_float64_axis0, 286, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":272 + /* "anynan.pyx":312 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=1." + * def anynan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float64 along axis=1." * cdef int f = 1 */ - __pyx_tuple__43 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int32_axis1, 272, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_float64_axis1, 312, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":290 + /* "anynan.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=0." + * def anynan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float along axis=None." * cdef int f = 1 */ - __pyx_tuple__45 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int64_axis0, 290, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_1d_float_axisNone, 338, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":308 + /* "anynan.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=1." + * def anynan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float32 along axis=None." * cdef int f = 1 */ - __pyx_tuple__47 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int64_axis1, 308, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_1d_float32_axisNone, 354, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":326 + /* "anynan.pyx":370 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float along axis=None." + * def anynan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float64 along axis=None." * cdef int f = 1 */ - __pyx_tuple__49 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_1d_float_axisNone, 326, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_1d_float64_axisNone, 370, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":342 + /* "anynan.pyx":386 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float32 along axis=None." + * def anynan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=None." * cdef int f = 1 */ - __pyx_tuple__51 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_1d_float32_axisNone, 342, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_float_axisNone, 386, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":358 + /* "anynan.pyx":404 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float64 along axis=None." + * def anynan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float32 along axis=None." * cdef int f = 1 */ - __pyx_tuple__53 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_1d_float64_axisNone, 358, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_float32_axisNone, 404, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":374 + /* "anynan.pyx":422 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=None." + * def anynan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float64 along axis=None." * cdef int f = 1 */ - __pyx_tuple__55 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_float_axisNone, 374, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_float64_axisNone, 422, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":392 + /* "anynan.pyx":440 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float32 along axis=None." + * def anynan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int along axis=None." * cdef int f = 1 */ - __pyx_tuple__57 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_float32_axisNone, 392, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_1d_int_axisNone, 440, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":410 + /* "anynan.pyx":452 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float64 along axis=None." + * def anynan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int8 along axis=None." * cdef int f = 1 */ - __pyx_tuple__59 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_float64_axisNone, 410, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_1d_int8_axisNone, 452, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":428 + /* "anynan.pyx":464 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=0." + * def anynan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int32 along axis=None." * cdef int f = 1 */ - __pyx_tuple__61 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_float_axis0, 428, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_1d_int32_axisNone, 464, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":454 + /* "anynan.pyx":476 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=1." + * def anynan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int64 along axis=None." * cdef int f = 1 */ - __pyx_tuple__63 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_float_axis1, 454, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_1d_int64_axisNone, 476, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":480 + /* "anynan.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float32 along axis=0." + * def anynan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=None." * cdef int f = 1 */ - __pyx_tuple__65 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_float32_axis0, 480, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int_axisNone, 488, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":506 + /* "anynan.pyx":501 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float32 along axis=1." + * def anynan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=None." * cdef int f = 1 */ - __pyx_tuple__67 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_float32_axis1, 506, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int8_axisNone, 501, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":532 + /* "anynan.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float64 along axis=0." + * def anynan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=None." * cdef int f = 1 */ - __pyx_tuple__69 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__69 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_float64_axis0, 532, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int32_axisNone, 514, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":558 + /* "anynan.pyx":527 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float64 along axis=1." + * def anynan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=None." * cdef int f = 1 */ - __pyx_tuple__71 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__71 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_float64_axis1, 558, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int64_axisNone, 527, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":584 + /* "anynan.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int along axis=None." + * def anynan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=0." * cdef int f = 1 */ - __pyx_tuple__73 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__73 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_1d_int_axisNone, 584, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int_axis0, 540, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":596 + /* "anynan.pyx":558 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int8 along axis=None." + * def anynan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=1." * cdef int f = 1 */ - __pyx_tuple__75 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__75 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_1d_int8_axisNone, 596, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int_axis1, 558, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":608 + /* "anynan.pyx":576 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int32 along axis=None." + * def anynan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=0." * cdef int f = 1 */ - __pyx_tuple__77 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__77 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_1d_int32_axisNone, 608, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int8_axis0, 576, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":620 + /* "anynan.pyx":594 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int64 along axis=None." + * def anynan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=1." * cdef int f = 1 */ - __pyx_tuple__79 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__79 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_1d_int64_axisNone, 620, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int8_axis1, 594, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":632 + /* "anynan.pyx":612 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=None." + * def anynan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=0." * cdef int f = 1 */ - __pyx_tuple__81 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__81 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int_axisNone, 632, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int32_axis0, 612, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":645 + /* "anynan.pyx":630 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=None." + * def anynan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=1." * cdef int f = 1 */ - __pyx_tuple__83 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__83 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int8_axisNone, 645, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int32_axis1, 630, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":658 + /* "anynan.pyx":648 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=None." + * def anynan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=0." * cdef int f = 1 */ - __pyx_tuple__85 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__85 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int32_axisNone, 658, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int64_axis0, 648, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "anynan.pyx":671 + /* "anynan.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=None." + * def anynan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=1." * cdef int f = 1 */ - __pyx_tuple__87 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__87 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_2d_int64_axisNone, 671, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_2d_int64_axis1, 666, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":719 - * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone + * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 * * def anynan_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) anynan along axis 0." @@ -14016,7 +14016,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis0, 719, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis0, 719, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":723 * return bn.slow.anynan(arr, axis=0) @@ -14028,7 +14028,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis1, 723, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis1, 723, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":727 * return bn.slow.anynan(arr, axis=1) @@ -14040,7 +14040,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis2, 727, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis2, 727, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":731 * return bn.slow.anynan(arr, axis=2) @@ -14052,7 +14052,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis3, 731, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis3, 731, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":735 * return bn.slow.anynan(arr, axis=3) @@ -14064,7 +14064,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis4, 735, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis4, 735, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":739 * return bn.slow.anynan(arr, axis=4) @@ -14076,7 +14076,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis5, 739, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis5, 739, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":743 * return bn.slow.anynan(arr, axis=5) @@ -14088,7 +14088,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis6, 743, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis6, 743, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":747 * return bn.slow.anynan(arr, axis=6) @@ -14100,7 +14100,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis7, 747, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis7, 747, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":751 * return bn.slow.anynan(arr, axis=7) @@ -14112,7 +14112,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis8, 751, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis8, 751, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":755 * return bn.slow.anynan(arr, axis=8) @@ -14124,7 +14124,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis9, 755, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis9, 755, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":759 * return bn.slow.anynan(arr, axis=9) @@ -14136,7 +14136,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis10, 759, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis10, 759, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":763 * return bn.slow.anynan(arr, axis=10) @@ -14148,7 +14148,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis11, 763, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis11, 763, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":767 * return bn.slow.anynan(arr, axis=11) @@ -14160,7 +14160,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis12, 767, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis12, 767, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":771 * return bn.slow.anynan(arr, axis=12) @@ -14172,7 +14172,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis13, 771, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis13, 771, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":775 * return bn.slow.anynan(arr, axis=13) @@ -14184,7 +14184,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis14, 775, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis14, 775, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":779 * return bn.slow.anynan(arr, axis=14) @@ -14196,7 +14196,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis15, 779, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis15, 779, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":783 * return bn.slow.anynan(arr, axis=15) @@ -14208,7 +14208,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis16, 783, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis16, 783, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":787 * return bn.slow.anynan(arr, axis=16) @@ -14220,7 +14220,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis17, 787, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis17, 787, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":791 * return bn.slow.anynan(arr, axis=17) @@ -14232,7 +14232,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis18, 791, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis18, 791, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":795 * return bn.slow.anynan(arr, axis=18) @@ -14244,7 +14244,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis19, 795, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis19, 795, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":799 * return bn.slow.anynan(arr, axis=19) @@ -14256,7 +14256,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis20, 799, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis20, 799, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":803 * return bn.slow.anynan(arr, axis=20) @@ -14268,7 +14268,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis21, 803, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis21, 803, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":807 * return bn.slow.anynan(arr, axis=21) @@ -14280,7 +14280,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis22, 807, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis22, 807, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":811 * return bn.slow.anynan(arr, axis=22) @@ -14292,7 +14292,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis23, 811, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis23, 811, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":815 * return bn.slow.anynan(arr, axis=23) @@ -14304,7 +14304,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__137 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__137); __Pyx_GIVEREF(__pyx_tuple__137); - __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis24, 815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis24, 815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":819 * return bn.slow.anynan(arr, axis=24) @@ -14316,7 +14316,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__139 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__139); __Pyx_GIVEREF(__pyx_tuple__139); - __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis25, 819, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis25, 819, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":823 * return bn.slow.anynan(arr, axis=25) @@ -14328,7 +14328,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__141 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__141); __Pyx_GIVEREF(__pyx_tuple__141); - __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis26, 823, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis26, 823, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":827 * return bn.slow.anynan(arr, axis=26) @@ -14340,7 +14340,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__143 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__143); __Pyx_GIVEREF(__pyx_tuple__143); - __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis27, 827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis27, 827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":831 * return bn.slow.anynan(arr, axis=27) @@ -14352,7 +14352,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__145 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__145); __Pyx_GIVEREF(__pyx_tuple__145); - __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis28, 831, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis28, 831, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":835 * return bn.slow.anynan(arr, axis=28) @@ -14364,7 +14364,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__147 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__147); __Pyx_GIVEREF(__pyx_tuple__147); - __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis29, 835, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis29, 835, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":839 * return bn.slow.anynan(arr, axis=29) @@ -14376,7 +14376,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__149 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__149); __Pyx_GIVEREF(__pyx_tuple__149); - __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis30, 839, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis30, 839, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":843 * return bn.slow.anynan(arr, axis=30) @@ -14388,7 +14388,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__151 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__151); __Pyx_GIVEREF(__pyx_tuple__151); - __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis31, 843, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis31, 843, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":847 * return bn.slow.anynan(arr, axis=31) @@ -14400,7 +14400,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__153 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__153); __Pyx_GIVEREF(__pyx_tuple__153); - __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axis32, 847, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axis32, 847, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "anynan.pyx":851 * return bn.slow.anynan(arr, axis=32) @@ -14412,7 +14412,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__155 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__155); __Pyx_GIVEREF(__pyx_tuple__155); - __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_anynan_slow_axisNone, 851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_anynan_slow_axisNone, 851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -15378,345 +15378,345 @@ PyMODINIT_FUNC PyInit_anynan(void) /* "anynan.pyx":182 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=0." + * def anynan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_5anynan_2d_int_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_5anynan_2d_float_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":200 + /* "anynan.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=1." + * def anynan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_7anynan_2d_int_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_7anynan_2d_float_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":218 + /* "anynan.pyx":234 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=0." + * def anynan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float32 along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_9anynan_2d_int8_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_9anynan_2d_float32_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":236 + /* "anynan.pyx":260 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=1." + * def anynan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float32 along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_11anynan_2d_int8_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_11anynan_2d_float32_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":254 + /* "anynan.pyx":286 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=0." + * def anynan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float64 along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_13anynan_2d_int32_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_13anynan_2d_float64_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":272 + /* "anynan.pyx":312 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=1." + * def anynan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float64 along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_15anynan_2d_int32_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_15anynan_2d_float64_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":290 + /* "anynan.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=0." + * def anynan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_17anynan_2d_int64_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_17anynan_1d_float_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":308 + /* "anynan.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=1." + * def anynan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float32 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_19anynan_2d_int64_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_19anynan_1d_float32_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":326 + /* "anynan.pyx":370 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float along axis=None." + * def anynan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=float64 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_21anynan_1d_float_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_21anynan_1d_float64_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":342 + /* "anynan.pyx":386 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float32 along axis=None." + * def anynan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_23anynan_1d_float32_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_23anynan_2d_float_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":358 + /* "anynan.pyx":404 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=float64 along axis=None." + * def anynan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float32 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_25anynan_1d_float64_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_25anynan_2d_float32_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":374 + /* "anynan.pyx":422 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=None." + * def anynan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=float64 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_27anynan_2d_float_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_27anynan_2d_float64_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":392 + /* "anynan.pyx":440 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float32 along axis=None." + * def anynan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_29anynan_2d_float32_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_29anynan_1d_int_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":410 + /* "anynan.pyx":452 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float64 along axis=None." + * def anynan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int8 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_31anynan_2d_float64_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_31anynan_1d_int8_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":428 + /* "anynan.pyx":464 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=0." + * def anynan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int32 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_33anynan_2d_float_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_33anynan_1d_int32_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":454 + /* "anynan.pyx":476 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float along axis=1." + * def anynan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 1d array with dtype=int64 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_35anynan_2d_float_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_35anynan_1d_int64_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":480 + /* "anynan.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float32 along axis=0." + * def anynan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_37anynan_2d_float32_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_37anynan_2d_int_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":506 + /* "anynan.pyx":501 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float32 along axis=1." + * def anynan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_39anynan_2d_float32_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_39anynan_2d_int8_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":532 + /* "anynan.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float64 along axis=0." + * def anynan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_41anynan_2d_float64_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_41anynan_2d_int32_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":558 + /* "anynan.pyx":527 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=float64 along axis=1." + * def anynan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=None." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_43anynan_2d_float64_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_43anynan_2d_int64_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":584 + /* "anynan.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int along axis=None." + * def anynan_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_45anynan_1d_int_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_45anynan_2d_int_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":596 + /* "anynan.pyx":558 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int8 along axis=None." + * def anynan_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_47anynan_1d_int8_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_47anynan_2d_int_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":608 + /* "anynan.pyx":576 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int32 along axis=None." + * def anynan_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_49anynan_1d_int32_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_49anynan_2d_int8_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":620 + /* "anynan.pyx":594 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 1d array with dtype=int64 along axis=None." + * def anynan_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int8 along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_51anynan_1d_int64_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_51anynan_2d_int8_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":632 + /* "anynan.pyx":612 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int along axis=None." + * def anynan_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_53anynan_2d_int_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_53anynan_2d_int32_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":645 + /* "anynan.pyx":630 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int8 along axis=None." + * def anynan_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int32 along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_55anynan_2d_int8_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_55anynan_2d_int32_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":658 + /* "anynan.pyx":648 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int32 along axis=None." + * def anynan_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=0." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_57anynan_2d_int32_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_57anynan_2d_int64_axis0, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "anynan.pyx":671 + /* "anynan.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def anynan_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Check for NaNs in 2d array with dtype=int64 along axis=None." + * def anynan_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Check for NaNs in 2d array with dtype=int64 along axis=1." * cdef int f = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_59anynan_2d_int64_axisNone, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6anynan_59anynan_2d_int64_axis1, NULL, __pyx_n_s_anynan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_anynan_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":682 - * return np.bool_(False) + * return y * * cdef dict anynan_dict = {} # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int, 0)] = anynan_2d_int_axis0 - * anynan_dict[(2, NPY_int, 1)] = anynan_2d_int_axis1 + * anynan_dict[(2, NPY_float, 0)] = anynan_2d_float_axis0 + * anynan_dict[(2, NPY_float, 1)] = anynan_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -15728,17 +15728,17 @@ PyMODINIT_FUNC PyInit_anynan(void) /* "anynan.pyx":683 * * cdef dict anynan_dict = {} - * anynan_dict[(2, NPY_int, 0)] = anynan_2d_int_axis0 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int, 1)] = anynan_2d_int_axis1 - * anynan_dict[(2, NPY_int8, 0)] = anynan_2d_int8_axis0 + * anynan_dict[(2, NPY_float, 0)] = anynan_2d_float_axis0 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float, 1)] = anynan_2d_float_axis1 + * anynan_dict[(2, NPY_float32, 0)] = anynan_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -15757,18 +15757,18 @@ PyMODINIT_FUNC PyInit_anynan(void) /* "anynan.pyx":684 * cdef dict anynan_dict = {} - * anynan_dict[(2, NPY_int, 0)] = anynan_2d_int_axis0 - * anynan_dict[(2, NPY_int, 1)] = anynan_2d_int_axis1 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int8, 0)] = anynan_2d_int8_axis0 - * anynan_dict[(2, NPY_int8, 1)] = anynan_2d_int8_axis1 + * anynan_dict[(2, NPY_float, 0)] = anynan_2d_float_axis0 + * anynan_dict[(2, NPY_float, 1)] = anynan_2d_float_axis1 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float32, 0)] = anynan_2d_float32_axis0 + * anynan_dict[(2, NPY_float32, 1)] = anynan_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -15786,19 +15786,19 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":685 - * anynan_dict[(2, NPY_int, 0)] = anynan_2d_int_axis0 - * anynan_dict[(2, NPY_int, 1)] = anynan_2d_int_axis1 - * anynan_dict[(2, NPY_int8, 0)] = anynan_2d_int8_axis0 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int8, 1)] = anynan_2d_int8_axis1 - * anynan_dict[(2, NPY_int32, 0)] = anynan_2d_int32_axis0 + * anynan_dict[(2, NPY_float, 0)] = anynan_2d_float_axis0 + * anynan_dict[(2, NPY_float, 1)] = anynan_2d_float_axis1 + * anynan_dict[(2, NPY_float32, 0)] = anynan_2d_float32_axis0 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float32, 1)] = anynan_2d_float32_axis1 + * anynan_dict[(2, NPY_float64, 0)] = anynan_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -15816,19 +15816,19 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":686 - * anynan_dict[(2, NPY_int, 1)] = anynan_2d_int_axis1 - * anynan_dict[(2, NPY_int8, 0)] = anynan_2d_int8_axis0 - * anynan_dict[(2, NPY_int8, 1)] = anynan_2d_int8_axis1 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int32, 0)] = anynan_2d_int32_axis0 - * anynan_dict[(2, NPY_int32, 1)] = anynan_2d_int32_axis1 + * anynan_dict[(2, NPY_float, 1)] = anynan_2d_float_axis1 + * anynan_dict[(2, NPY_float32, 0)] = anynan_2d_float32_axis0 + * anynan_dict[(2, NPY_float32, 1)] = anynan_2d_float32_axis1 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float64, 0)] = anynan_2d_float64_axis0 + * anynan_dict[(2, NPY_float64, 1)] = anynan_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -15846,19 +15846,19 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":687 - * anynan_dict[(2, NPY_int8, 0)] = anynan_2d_int8_axis0 - * anynan_dict[(2, NPY_int8, 1)] = anynan_2d_int8_axis1 - * anynan_dict[(2, NPY_int32, 0)] = anynan_2d_int32_axis0 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int32, 1)] = anynan_2d_int32_axis1 - * anynan_dict[(2, NPY_int64, 0)] = anynan_2d_int64_axis0 + * anynan_dict[(2, NPY_float32, 0)] = anynan_2d_float32_axis0 + * anynan_dict[(2, NPY_float32, 1)] = anynan_2d_float32_axis1 + * anynan_dict[(2, NPY_float64, 0)] = anynan_2d_float64_axis0 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float64, 1)] = anynan_2d_float64_axis1 + * anynan_dict[(1, NPY_float, 0)] = anynan_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -15876,19 +15876,19 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":688 - * anynan_dict[(2, NPY_int8, 1)] = anynan_2d_int8_axis1 - * anynan_dict[(2, NPY_int32, 0)] = anynan_2d_int32_axis0 - * anynan_dict[(2, NPY_int32, 1)] = anynan_2d_int32_axis1 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int64, 0)] = anynan_2d_int64_axis0 - * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 + * anynan_dict[(2, NPY_float32, 1)] = anynan_2d_float32_axis1 + * anynan_dict[(2, NPY_float64, 0)] = anynan_2d_float64_axis0 + * anynan_dict[(2, NPY_float64, 1)] = anynan_2d_float64_axis1 # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float, 0)] = anynan_1d_float_axisNone + * anynan_dict[(1, NPY_float, None)] = anynan_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -15906,25 +15906,25 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":689 - * anynan_dict[(2, NPY_int32, 0)] = anynan_2d_int32_axis0 - * anynan_dict[(2, NPY_int32, 1)] = anynan_2d_int32_axis1 - * anynan_dict[(2, NPY_int64, 0)] = anynan_2d_int64_axis0 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 - * anynan_dict[(1, NPY_float, 0)] = anynan_1d_float_axisNone + * anynan_dict[(2, NPY_float64, 0)] = anynan_2d_float64_axis0 + * anynan_dict[(2, NPY_float64, 1)] = anynan_2d_float64_axis1 + * anynan_dict[(1, NPY_float, 0)] = anynan_1d_float_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float, None)] = anynan_1d_float_axisNone + * anynan_dict[(1, NPY_float32, 0)] = anynan_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -15936,49 +15936,49 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":690 - * anynan_dict[(2, NPY_int32, 1)] = anynan_2d_int32_axis1 - * anynan_dict[(2, NPY_int64, 0)] = anynan_2d_int64_axis0 - * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float64, 1)] = anynan_2d_float64_axis1 * anynan_dict[(1, NPY_float, 0)] = anynan_1d_float_axisNone - * anynan_dict[(1, NPY_float, None)] = anynan_1d_float_axisNone + * anynan_dict[(1, NPY_float, None)] = anynan_1d_float_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float32, 0)] = anynan_1d_float32_axisNone + * anynan_dict[(1, NPY_float32, None)] = anynan_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":691 - * anynan_dict[(2, NPY_int64, 0)] = anynan_2d_int64_axis0 - * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 - * anynan_dict[(1, NPY_float, 0)] = anynan_1d_float_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float, 0)] = anynan_1d_float_axisNone * anynan_dict[(1, NPY_float, None)] = anynan_1d_float_axisNone - * anynan_dict[(1, NPY_float32, 0)] = anynan_1d_float32_axisNone + * anynan_dict[(1, NPY_float32, 0)] = anynan_1d_float32_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float32, None)] = anynan_1d_float32_axisNone + * anynan_dict[(1, NPY_float64, 0)] = anynan_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -15996,19 +15996,19 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":692 - * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 - * anynan_dict[(1, NPY_float, 0)] = anynan_1d_float_axisNone - * anynan_dict[(1, NPY_float, None)] = anynan_1d_float_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float, None)] = anynan_1d_float_axisNone * anynan_dict[(1, NPY_float32, 0)] = anynan_1d_float32_axisNone - * anynan_dict[(1, NPY_float32, None)] = anynan_1d_float32_axisNone + * anynan_dict[(1, NPY_float32, None)] = anynan_1d_float32_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float64, 0)] = anynan_1d_float64_axisNone + * anynan_dict[(1, NPY_float64, None)] = anynan_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16026,19 +16026,19 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":693 - * anynan_dict[(1, NPY_float, 0)] = anynan_1d_float_axisNone - * anynan_dict[(1, NPY_float, None)] = anynan_1d_float_axisNone - * anynan_dict[(1, NPY_float32, 0)] = anynan_1d_float32_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float32, 0)] = anynan_1d_float32_axisNone * anynan_dict[(1, NPY_float32, None)] = anynan_1d_float32_axisNone - * anynan_dict[(1, NPY_float64, 0)] = anynan_1d_float64_axisNone + * anynan_dict[(1, NPY_float64, 0)] = anynan_1d_float64_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float64, None)] = anynan_1d_float64_axisNone + * anynan_dict[(2, NPY_float, None)] = anynan_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16056,19 +16056,19 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":694 - * anynan_dict[(1, NPY_float, None)] = anynan_1d_float_axisNone - * anynan_dict[(1, NPY_float32, 0)] = anynan_1d_float32_axisNone - * anynan_dict[(1, NPY_float32, None)] = anynan_1d_float32_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float32, None)] = anynan_1d_float32_axisNone * anynan_dict[(1, NPY_float64, 0)] = anynan_1d_float64_axisNone - * anynan_dict[(1, NPY_float64, None)] = anynan_1d_float64_axisNone + * anynan_dict[(1, NPY_float64, None)] = anynan_1d_float64_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float, None)] = anynan_2d_float_axisNone + * anynan_dict[(2, NPY_float32, None)] = anynan_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16086,55 +16086,55 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":695 - * anynan_dict[(1, NPY_float32, 0)] = anynan_1d_float32_axisNone - * anynan_dict[(1, NPY_float32, None)] = anynan_1d_float32_axisNone - * anynan_dict[(1, NPY_float64, 0)] = anynan_1d_float64_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float64, 0)] = anynan_1d_float64_axisNone * anynan_dict[(1, NPY_float64, None)] = anynan_1d_float64_axisNone - * anynan_dict[(2, NPY_float, None)] = anynan_2d_float_axisNone + * anynan_dict[(2, NPY_float, None)] = anynan_2d_float_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float32, None)] = anynan_2d_float32_axisNone + * anynan_dict[(2, NPY_float64, None)] = anynan_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":696 - * anynan_dict[(1, NPY_float32, None)] = anynan_1d_float32_axisNone - * anynan_dict[(1, NPY_float64, 0)] = anynan_1d_float64_axisNone - * anynan_dict[(1, NPY_float64, None)] = anynan_1d_float64_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_float64, None)] = anynan_1d_float64_axisNone * anynan_dict[(2, NPY_float, None)] = anynan_2d_float_axisNone - * anynan_dict[(2, NPY_float32, None)] = anynan_2d_float32_axisNone + * anynan_dict[(2, NPY_float32, None)] = anynan_2d_float32_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float64, None)] = anynan_2d_float64_axisNone + * anynan_dict[(1, NPY_int, 0)] = anynan_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -16146,19 +16146,19 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":697 - * anynan_dict[(1, NPY_float64, 0)] = anynan_1d_float64_axisNone - * anynan_dict[(1, NPY_float64, None)] = anynan_1d_float64_axisNone - * anynan_dict[(2, NPY_float, None)] = anynan_2d_float_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float, None)] = anynan_2d_float_axisNone * anynan_dict[(2, NPY_float32, None)] = anynan_2d_float32_axisNone - * anynan_dict[(2, NPY_float64, None)] = anynan_2d_float64_axisNone + * anynan_dict[(2, NPY_float64, None)] = anynan_2d_float64_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_int, 0)] = anynan_1d_int_axisNone + * anynan_dict[(1, NPY_int, None)] = anynan_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16176,55 +16176,55 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":698 - * anynan_dict[(1, NPY_float64, None)] = anynan_1d_float64_axisNone - * anynan_dict[(2, NPY_float, None)] = anynan_2d_float_axisNone - * anynan_dict[(2, NPY_float32, None)] = anynan_2d_float32_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_float32, None)] = anynan_2d_float32_axisNone * anynan_dict[(2, NPY_float64, None)] = anynan_2d_float64_axisNone - * anynan_dict[(2, NPY_float, 0)] = anynan_2d_float_axis0 + * anynan_dict[(1, NPY_int, 0)] = anynan_1d_int_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_int, None)] = anynan_1d_int_axisNone + * anynan_dict[(1, NPY_int8, 0)] = anynan_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":699 - * anynan_dict[(2, NPY_float, None)] = anynan_2d_float_axisNone - * anynan_dict[(2, NPY_float32, None)] = anynan_2d_float32_axisNone - * anynan_dict[(2, NPY_float64, None)] = anynan_2d_float64_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_float, 0)] = anynan_2d_float_axis0 - * anynan_dict[(2, NPY_float, 1)] = anynan_2d_float_axis1 + * anynan_dict[(2, NPY_float64, None)] = anynan_2d_float64_axisNone + * anynan_dict[(1, NPY_int, 0)] = anynan_1d_int_axisNone + * anynan_dict[(1, NPY_int, None)] = anynan_1d_int_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_int8, 0)] = anynan_1d_int8_axisNone + * anynan_dict[(1, NPY_int8, None)] = anynan_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -16236,25 +16236,25 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":700 - * anynan_dict[(2, NPY_float32, None)] = anynan_2d_float32_axisNone - * anynan_dict[(2, NPY_float64, None)] = anynan_2d_float64_axisNone - * anynan_dict[(2, NPY_float, 0)] = anynan_2d_float_axis0 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_float, 1)] = anynan_2d_float_axis1 - * anynan_dict[(2, NPY_float32, 0)] = anynan_2d_float32_axis0 + * anynan_dict[(1, NPY_int, 0)] = anynan_1d_int_axisNone + * anynan_dict[(1, NPY_int, None)] = anynan_1d_int_axisNone + * anynan_dict[(1, NPY_int8, 0)] = anynan_1d_int8_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_int8, None)] = anynan_1d_int8_axisNone + * anynan_dict[(1, NPY_int32, 0)] = anynan_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16266,55 +16266,55 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":701 - * anynan_dict[(2, NPY_float64, None)] = anynan_2d_float64_axisNone - * anynan_dict[(2, NPY_float, 0)] = anynan_2d_float_axis0 - * anynan_dict[(2, NPY_float, 1)] = anynan_2d_float_axis1 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_float32, 0)] = anynan_2d_float32_axis0 - * anynan_dict[(2, NPY_float32, 1)] = anynan_2d_float32_axis1 + * anynan_dict[(1, NPY_int, None)] = anynan_1d_int_axisNone + * anynan_dict[(1, NPY_int8, 0)] = anynan_1d_int8_axisNone + * anynan_dict[(1, NPY_int8, None)] = anynan_1d_int8_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_int32, 0)] = anynan_1d_int32_axisNone + * anynan_dict[(1, NPY_int32, None)] = anynan_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":702 - * anynan_dict[(2, NPY_float, 0)] = anynan_2d_float_axis0 - * anynan_dict[(2, NPY_float, 1)] = anynan_2d_float_axis1 - * anynan_dict[(2, NPY_float32, 0)] = anynan_2d_float32_axis0 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_float32, 1)] = anynan_2d_float32_axis1 - * anynan_dict[(2, NPY_float64, 0)] = anynan_2d_float64_axis0 + * anynan_dict[(1, NPY_int8, 0)] = anynan_1d_int8_axisNone + * anynan_dict[(1, NPY_int8, None)] = anynan_1d_int8_axisNone + * anynan_dict[(1, NPY_int32, 0)] = anynan_1d_int32_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_int32, None)] = anynan_1d_int32_axisNone + * anynan_dict[(1, NPY_int64, 0)] = anynan_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16326,55 +16326,55 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":703 - * anynan_dict[(2, NPY_float, 1)] = anynan_2d_float_axis1 - * anynan_dict[(2, NPY_float32, 0)] = anynan_2d_float32_axis0 - * anynan_dict[(2, NPY_float32, 1)] = anynan_2d_float32_axis1 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_float64, 0)] = anynan_2d_float64_axis0 - * anynan_dict[(2, NPY_float64, 1)] = anynan_2d_float64_axis1 + * anynan_dict[(1, NPY_int8, None)] = anynan_1d_int8_axisNone + * anynan_dict[(1, NPY_int32, 0)] = anynan_1d_int32_axisNone + * anynan_dict[(1, NPY_int32, None)] = anynan_1d_int32_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_int64, 0)] = anynan_1d_int64_axisNone + * anynan_dict[(1, NPY_int64, None)] = anynan_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":704 - * anynan_dict[(2, NPY_float32, 0)] = anynan_2d_float32_axis0 - * anynan_dict[(2, NPY_float32, 1)] = anynan_2d_float32_axis1 - * anynan_dict[(2, NPY_float64, 0)] = anynan_2d_float64_axis0 # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_float64, 1)] = anynan_2d_float64_axis1 - * anynan_dict[(1, NPY_int, 0)] = anynan_1d_int_axisNone + * anynan_dict[(1, NPY_int32, 0)] = anynan_1d_int32_axisNone + * anynan_dict[(1, NPY_int32, None)] = anynan_1d_int32_axisNone + * anynan_dict[(1, NPY_int64, 0)] = anynan_1d_int64_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(1, NPY_int64, None)] = anynan_1d_int64_axisNone + * anynan_dict[(2, NPY_int, None)] = anynan_2d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16386,43 +16386,43 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":705 - * anynan_dict[(2, NPY_float32, 1)] = anynan_2d_float32_axis1 - * anynan_dict[(2, NPY_float64, 0)] = anynan_2d_float64_axis0 - * anynan_dict[(2, NPY_float64, 1)] = anynan_2d_float64_axis1 # <<<<<<<<<<<<<< - * anynan_dict[(1, NPY_int, 0)] = anynan_1d_int_axisNone - * anynan_dict[(1, NPY_int, None)] = anynan_1d_int_axisNone + * anynan_dict[(1, NPY_int32, None)] = anynan_1d_int32_axisNone + * anynan_dict[(1, NPY_int64, 0)] = anynan_1d_int64_axisNone + * anynan_dict[(1, NPY_int64, None)] = anynan_1d_int64_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int, None)] = anynan_2d_int_axisNone + * anynan_dict[(2, NPY_int8, None)] = anynan_2d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":706 - * anynan_dict[(2, NPY_float64, 0)] = anynan_2d_float64_axis0 - * anynan_dict[(2, NPY_float64, 1)] = anynan_2d_float64_axis1 - * anynan_dict[(1, NPY_int, 0)] = anynan_1d_int_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(1, NPY_int, None)] = anynan_1d_int_axisNone - * anynan_dict[(1, NPY_int8, 0)] = anynan_1d_int8_axisNone + * anynan_dict[(1, NPY_int64, 0)] = anynan_1d_int64_axisNone + * anynan_dict[(1, NPY_int64, None)] = anynan_1d_int64_axisNone + * anynan_dict[(2, NPY_int, None)] = anynan_2d_int_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int8, None)] = anynan_2d_int8_axisNone + * anynan_dict[(2, NPY_int32, None)] = anynan_2d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -16432,39 +16432,39 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":707 - * anynan_dict[(2, NPY_float64, 1)] = anynan_2d_float64_axis1 - * anynan_dict[(1, NPY_int, 0)] = anynan_1d_int_axisNone - * anynan_dict[(1, NPY_int, None)] = anynan_1d_int_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(1, NPY_int8, 0)] = anynan_1d_int8_axisNone - * anynan_dict[(1, NPY_int8, None)] = anynan_1d_int8_axisNone + * anynan_dict[(1, NPY_int64, None)] = anynan_1d_int64_axisNone + * anynan_dict[(2, NPY_int, None)] = anynan_2d_int_axisNone + * anynan_dict[(2, NPY_int8, None)] = anynan_2d_int8_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int32, None)] = anynan_2d_int32_axisNone + * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -16476,55 +16476,55 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":708 - * anynan_dict[(1, NPY_int, 0)] = anynan_1d_int_axisNone - * anynan_dict[(1, NPY_int, None)] = anynan_1d_int_axisNone - * anynan_dict[(1, NPY_int8, 0)] = anynan_1d_int8_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(1, NPY_int8, None)] = anynan_1d_int8_axisNone - * anynan_dict[(1, NPY_int32, 0)] = anynan_1d_int32_axisNone + * anynan_dict[(2, NPY_int, None)] = anynan_2d_int_axisNone + * anynan_dict[(2, NPY_int8, None)] = anynan_2d_int8_axisNone + * anynan_dict[(2, NPY_int32, None)] = anynan_2d_int32_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone + * anynan_dict[(2, NPY_int, 0)] = anynan_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":709 - * anynan_dict[(1, NPY_int, None)] = anynan_1d_int_axisNone - * anynan_dict[(1, NPY_int8, 0)] = anynan_1d_int8_axisNone - * anynan_dict[(1, NPY_int8, None)] = anynan_1d_int8_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(1, NPY_int32, 0)] = anynan_1d_int32_axisNone - * anynan_dict[(1, NPY_int32, None)] = anynan_1d_int32_axisNone + * anynan_dict[(2, NPY_int8, None)] = anynan_2d_int8_axisNone + * anynan_dict[(2, NPY_int32, None)] = anynan_2d_int32_axisNone + * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int, 0)] = anynan_2d_int_axis0 + * anynan_dict[(2, NPY_int, 1)] = anynan_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -16536,25 +16536,25 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":710 - * anynan_dict[(1, NPY_int8, 0)] = anynan_1d_int8_axisNone - * anynan_dict[(1, NPY_int8, None)] = anynan_1d_int8_axisNone - * anynan_dict[(1, NPY_int32, 0)] = anynan_1d_int32_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(1, NPY_int32, None)] = anynan_1d_int32_axisNone - * anynan_dict[(1, NPY_int64, 0)] = anynan_1d_int64_axisNone + * anynan_dict[(2, NPY_int32, None)] = anynan_2d_int32_axisNone + * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone + * anynan_dict[(2, NPY_int, 0)] = anynan_2d_int_axis0 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int, 1)] = anynan_2d_int_axis1 + * anynan_dict[(2, NPY_int8, 0)] = anynan_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16566,55 +16566,55 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":711 - * anynan_dict[(1, NPY_int8, None)] = anynan_1d_int8_axisNone - * anynan_dict[(1, NPY_int32, 0)] = anynan_1d_int32_axisNone - * anynan_dict[(1, NPY_int32, None)] = anynan_1d_int32_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(1, NPY_int64, 0)] = anynan_1d_int64_axisNone - * anynan_dict[(1, NPY_int64, None)] = anynan_1d_int64_axisNone + * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone + * anynan_dict[(2, NPY_int, 0)] = anynan_2d_int_axis0 + * anynan_dict[(2, NPY_int, 1)] = anynan_2d_int_axis1 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int8, 0)] = anynan_2d_int8_axis0 + * anynan_dict[(2, NPY_int8, 1)] = anynan_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":712 - * anynan_dict[(1, NPY_int32, 0)] = anynan_1d_int32_axisNone - * anynan_dict[(1, NPY_int32, None)] = anynan_1d_int32_axisNone - * anynan_dict[(1, NPY_int64, 0)] = anynan_1d_int64_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(1, NPY_int64, None)] = anynan_1d_int64_axisNone - * anynan_dict[(2, NPY_int, None)] = anynan_2d_int_axisNone + * anynan_dict[(2, NPY_int, 0)] = anynan_2d_int_axis0 + * anynan_dict[(2, NPY_int, 1)] = anynan_2d_int_axis1 + * anynan_dict[(2, NPY_int8, 0)] = anynan_2d_int8_axis0 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int8, 1)] = anynan_2d_int8_axis1 + * anynan_dict[(2, NPY_int32, 0)] = anynan_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16626,49 +16626,49 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":713 - * anynan_dict[(1, NPY_int32, None)] = anynan_1d_int32_axisNone - * anynan_dict[(1, NPY_int64, 0)] = anynan_1d_int64_axisNone - * anynan_dict[(1, NPY_int64, None)] = anynan_1d_int64_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int, None)] = anynan_2d_int_axisNone - * anynan_dict[(2, NPY_int8, None)] = anynan_2d_int8_axisNone + * anynan_dict[(2, NPY_int, 1)] = anynan_2d_int_axis1 + * anynan_dict[(2, NPY_int8, 0)] = anynan_2d_int8_axis0 + * anynan_dict[(2, NPY_int8, 1)] = anynan_2d_int8_axis1 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int32, 0)] = anynan_2d_int32_axis0 + * anynan_dict[(2, NPY_int32, 1)] = anynan_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":714 - * anynan_dict[(1, NPY_int64, 0)] = anynan_1d_int64_axisNone - * anynan_dict[(1, NPY_int64, None)] = anynan_1d_int64_axisNone - * anynan_dict[(2, NPY_int, None)] = anynan_2d_int_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int8, None)] = anynan_2d_int8_axisNone - * anynan_dict[(2, NPY_int32, None)] = anynan_2d_int32_axisNone + * anynan_dict[(2, NPY_int8, 0)] = anynan_2d_int8_axis0 + * anynan_dict[(2, NPY_int8, 1)] = anynan_2d_int8_axis1 + * anynan_dict[(2, NPY_int32, 0)] = anynan_2d_int32_axis0 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int32, 1)] = anynan_2d_int32_axis1 + * anynan_dict[(2, NPY_int64, 0)] = anynan_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16677,28 +16677,28 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":715 - * anynan_dict[(1, NPY_int64, None)] = anynan_1d_int64_axisNone - * anynan_dict[(2, NPY_int, None)] = anynan_2d_int_axisNone - * anynan_dict[(2, NPY_int8, None)] = anynan_2d_int8_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int32, None)] = anynan_2d_int32_axisNone - * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone + * anynan_dict[(2, NPY_int8, 1)] = anynan_2d_int8_axis1 + * anynan_dict[(2, NPY_int32, 0)] = anynan_2d_int32_axis0 + * anynan_dict[(2, NPY_int32, 1)] = anynan_2d_int32_axis1 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int64, 0)] = anynan_2d_int64_axis0 + * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16707,28 +16707,28 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":716 - * anynan_dict[(2, NPY_int, None)] = anynan_2d_int_axisNone - * anynan_dict[(2, NPY_int8, None)] = anynan_2d_int8_axisNone - * anynan_dict[(2, NPY_int32, None)] = anynan_2d_int32_axisNone # <<<<<<<<<<<<<< - * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone + * anynan_dict[(2, NPY_int32, 0)] = anynan_2d_int32_axis0 + * anynan_dict[(2, NPY_int32, 1)] = anynan_2d_int32_axis1 + * anynan_dict[(2, NPY_int64, 0)] = anynan_2d_int64_axis0 # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16737,22 +16737,22 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":717 - * anynan_dict[(2, NPY_int8, None)] = anynan_2d_int8_axisNone - * anynan_dict[(2, NPY_int32, None)] = anynan_2d_int32_axisNone - * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone # <<<<<<<<<<<<<< + * anynan_dict[(2, NPY_int32, 1)] = anynan_2d_int32_axis1 + * anynan_dict[(2, NPY_int64, 0)] = anynan_2d_int64_axis0 + * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 # <<<<<<<<<<<<<< * * def anynan_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_anynan_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6anynan_anynan_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -16767,16 +16767,16 @@ PyMODINIT_FUNC PyInit_anynan(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6anynan_anynan_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "anynan.pyx":719 - * anynan_dict[(2, NPY_int64, None)] = anynan_2d_int64_axisNone + * anynan_dict[(2, NPY_int64, 1)] = anynan_2d_int64_axis1 * * def anynan_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) anynan along axis 0." @@ -17750,7 +17750,7 @@ PyMODINIT_FUNC PyInit_anynan(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/argpartsort.c b/bottlechest/src/func/64bit/argpartsort.c index 87b2da202c..339bcd13a8 100644 --- a/bottlechest/src/func/64bit/argpartsort.c +++ b/bottlechest/src/func/64bit/argpartsort.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1101,14 +1101,14 @@ static __pyx_t_5numpy_float32_t __pyx_v_11argpartsort_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_11argpartsort_MAXfloat64; static PyObject *__pyx_v_11argpartsort_argpartsort_dict = 0; static PyObject *__pyx_v_11argpartsort_argpartsort_slow_dict = 0; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t = { "intp_t", NULL, sizeof(__pyx_t_5numpy_intp_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_intp_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_intp_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "argpartsort" int __pyx_module_is_main_argpartsort = 0; @@ -1120,48 +1120,48 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_11argpartsort_argpartsort(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_n, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_11argpartsort_2argpartsort_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_22argpartsort_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_24argpartsort_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_26argpartsort_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_40argpartsort_3d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_42argpartsort_3d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_44argpartsort_3d_int32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_46argpartsort_3d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_48argpartsort_3d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_50argpartsort_3d_int64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_52argpartsort_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_54argpartsort_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_56argpartsort_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_64argpartsort_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_66argpartsort_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_68argpartsort_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_10argpartsort_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_22argpartsort_3d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_24argpartsort_3d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_26argpartsort_3d_float_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_float32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_float64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_40argpartsort_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_42argpartsort_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_44argpartsort_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_46argpartsort_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_48argpartsort_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_50argpartsort_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_52argpartsort_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_54argpartsort_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_56argpartsort_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_64argpartsort_3d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_66argpartsort_3d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_68argpartsort_3d_int_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_int8_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_int32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_int64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ static PyObject *__pyx_pf_11argpartsort_88argpartsort_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_n); /* proto */ static PyObject *__pyx_pf_11argpartsort_90argpartsort_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_n); /* proto */ static PyObject *__pyx_pf_11argpartsort_92argpartsort_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_n); /* proto */ @@ -1357,15 +1357,14 @@ static char __pyx_k_argpartsort_selector_line_149[] = "argpartsort_selector (lin static char __pyx_k_Return_argpartsort_function_and[] = "\n Return argpartsort function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.argpartsort() is in checking that `axis` is within range, converting\n `arr` into an array (if it is not already an array), and selecting the\n function to use to partially sort.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which to partially sort.\n \n Returns\n -------\n func : function\n The argpartsort function that matches the number of dimensions and\n dtype of the input array and the axis along which you wish to partially\n sort.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1, 0, 3, 4, 2])\n \n Obtain the function needed to find the indices of a partial sort of `arr`\n along axis=0:\n\n >>> func, a = bn.func.argpartsort_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to find the indices of the partial\n sort:\n\n >>> func(a, n=3)\n array([0, 1, 4, 3, 2])\n\n "; static char __pyx_k_Return_indices_that_would_parti[] = "\n Return indices that would partially sort an array.\n\n A partially sorted array is one in which the `n` smallest values appear\n (in any order) in the first `n` elements. The remaining largest elements\n are also unordered. Due to the algorithm used (Wirth's method), the nth\n smallest element is in its sorted position (at index `n-1`).\n\n Shuffling the input array may change the output. The only guarantee is\n that the first `n` elements will be the `n` smallest and the remaining\n element will appear in the remainder of the output.\n\n This functions is not protected against NaN. Therefore, you may get\n unexpected results if the input contains NaN.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n n : int \n The indices of the `n` smallest elements will appear in the first `n`\n elements of the output array along the given `axis`.\n axis : {int, None}, optional\n Axis along which the partial sort is performed. The default (axis=-1)\n is to sort along the last axis.\n\n Returns\n -------\n y : ndarray\n An array the same shape as the input array containing the indices\n that partially sort `arr` such that the `n` smallest elements will\n appear (unordered) in the first `n` elements.\n\n See Also\n --------\n bottlechest.partsort: Partial sorting of array elements along given axis.\n \n Notes\n -----\n Unexpected results may occur if the input array contains NaN.\n\n Examples\n --------\n Create a numpy array:\n\n >>> a = np.array([1, 0, 3, 4, 2])\n \n Find the indices that partially sort that array so that the first 3\n elements are the smallest 3 elements:\n\n >>> index = bn.argpartsort(a, n=3)\n >>> index\n array([0, 1, 4, 3, 2])\n\n Let's use the indices to partially sort the array (note, as in this\n example, that the small""est 3 elements may not be in order):\n\n >>> a[index]\n array([1, 0, 2, 4, 3])\n \n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/argpartsort.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\argpartsort.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1379,6 +1378,7 @@ static PyObject *__pyx_kp_u_Return_indices_that_would_parti; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__7; static PyObject *__pyx_n_s_a; @@ -2566,16 +2566,16 @@ static PyObject *__pyx_pf_11argpartsort_2argpartsort_selector(CYTHON_UNUSED PyOb /* "argpartsort.pyx":229 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int along axis=0." + * def argpartsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_5argpartsort_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_4argpartsort_1d_int_axis0[] = "argpartsort_1d_int_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_5argpartsort_1d_int_axis0 = {"argpartsort_1d_int_axis0", (PyCFunction)__pyx_pw_11argpartsort_5argpartsort_1d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_4argpartsort_1d_int_axis0}; -static PyObject *__pyx_pw_11argpartsort_5argpartsort_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_5argpartsort_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_4argpartsort_1d_float_axis0[] = "argpartsort_1d_float_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_5argpartsort_1d_float_axis0 = {"argpartsort_1d_float_axis0", (PyCFunction)__pyx_pw_11argpartsort_5argpartsort_1d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_4argpartsort_1d_float_axis0}; +static PyObject *__pyx_pw_11argpartsort_5argpartsort_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -2583,7 +2583,7 @@ static PyObject *__pyx_pw_11argpartsort_5argpartsort_1d_int_axis0(PyObject *__py int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_1d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -2604,11 +2604,11 @@ static PyObject *__pyx_pw_11argpartsort_5argpartsort_1d_int_axis0(PyObject *__py case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -2621,14 +2621,14 @@ static PyObject *__pyx_pw_11argpartsort_5argpartsort_1d_int_axis0(PyObject *__py } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_4argpartsort_1d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -2639,15 +2639,15 @@ static PyObject *__pyx_pw_11argpartsort_5argpartsort_1d_int_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -2688,7 +2688,7 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_1d_int_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_float_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -2703,24 +2703,24 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "argpartsort.pyx":231 - * def argpartsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=int along axis=0." + * def argpartsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":233 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ @@ -2730,7 +2730,7 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; @@ -2945,7 +2945,7 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED * j = r */ __pyx_t_13 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); /* "argpartsort.pyx":252 * while l < r: @@ -2983,7 +2983,7 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED */ while (1) { __pyx_t_14 = __pyx_v_i; - __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); if (!__pyx_t_8) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -2997,7 +2997,7 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED */ while (1) { __pyx_t_15 = __pyx_v_j; - __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); if (!__pyx_t_8) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -3020,7 +3020,7 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED * b[j] = tmp */ __pyx_t_16 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); /* "argpartsort.pyx":259 * if i <= j: @@ -3031,7 +3031,7 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED */ __pyx_t_17 = __pyx_v_j; __pyx_t_18 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); /* "argpartsort.pyx":260 * tmp = b[i] @@ -3041,7 +3041,7 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED * y[i] = y[j] */ __pyx_t_19 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; /* "argpartsort.pyx":261 * b[i] = b[j] @@ -3172,8 +3172,8 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED /* "argpartsort.pyx":229 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int along axis=0." + * def argpartsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -3189,7 +3189,7 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3207,16 +3207,16 @@ static PyObject *__pyx_pf_11argpartsort_4argpartsort_1d_int_axis0(CYTHON_UNUSED /* "argpartsort.pyx":273 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int8 along axis=0." + * def argpartsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_7argpartsort_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_6argpartsort_1d_int8_axis0[] = "argpartsort_1d_int8_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_7argpartsort_1d_int8_axis0 = {"argpartsort_1d_int8_axis0", (PyCFunction)__pyx_pw_11argpartsort_7argpartsort_1d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_6argpartsort_1d_int8_axis0}; -static PyObject *__pyx_pw_11argpartsort_7argpartsort_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_7argpartsort_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_6argpartsort_1d_float32_axis0[] = "argpartsort_1d_float32_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_7argpartsort_1d_float32_axis0 = {"argpartsort_1d_float32_axis0", (PyCFunction)__pyx_pw_11argpartsort_7argpartsort_1d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_6argpartsort_1d_float32_axis0}; +static PyObject *__pyx_pw_11argpartsort_7argpartsort_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -3224,7 +3224,7 @@ static PyObject *__pyx_pw_11argpartsort_7argpartsort_1d_int8_axis0(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_1d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -3245,11 +3245,11 @@ static PyObject *__pyx_pw_11argpartsort_7argpartsort_1d_int8_axis0(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3262,14 +3262,14 @@ static PyObject *__pyx_pw_11argpartsort_7argpartsort_1d_int8_axis0(PyObject *__p } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_6argpartsort_1d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -3280,15 +3280,15 @@ static PyObject *__pyx_pw_11argpartsort_7argpartsort_1d_int8_axis0(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -3329,7 +3329,7 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_1d_int8_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_float32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -3344,24 +3344,24 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "argpartsort.pyx":275 - * def argpartsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=int8 along axis=0." + * def argpartsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":277 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ @@ -3371,7 +3371,7 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; @@ -3586,7 +3586,7 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED * j = r */ __pyx_t_13 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); /* "argpartsort.pyx":296 * while l < r: @@ -3624,7 +3624,7 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED */ while (1) { __pyx_t_14 = __pyx_v_i; - __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); if (!__pyx_t_8) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -3638,7 +3638,7 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED */ while (1) { __pyx_t_15 = __pyx_v_j; - __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); if (!__pyx_t_8) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -3661,7 +3661,7 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED * b[j] = tmp */ __pyx_t_16 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); /* "argpartsort.pyx":303 * if i <= j: @@ -3672,7 +3672,7 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED */ __pyx_t_17 = __pyx_v_j; __pyx_t_18 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); /* "argpartsort.pyx":304 * tmp = b[i] @@ -3682,7 +3682,7 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED * y[i] = y[j] */ __pyx_t_19 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; /* "argpartsort.pyx":305 * b[i] = b[j] @@ -3813,8 +3813,8 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED /* "argpartsort.pyx":273 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int8 along axis=0." + * def argpartsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -3830,7 +3830,7 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3848,16 +3848,16 @@ static PyObject *__pyx_pf_11argpartsort_6argpartsort_1d_int8_axis0(CYTHON_UNUSED /* "argpartsort.pyx":317 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int32 along axis=0." + * def argpartsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_9argpartsort_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_8argpartsort_1d_int32_axis0[] = "argpartsort_1d_int32_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_9argpartsort_1d_int32_axis0 = {"argpartsort_1d_int32_axis0", (PyCFunction)__pyx_pw_11argpartsort_9argpartsort_1d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_8argpartsort_1d_int32_axis0}; -static PyObject *__pyx_pw_11argpartsort_9argpartsort_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_9argpartsort_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_8argpartsort_1d_float64_axis0[] = "argpartsort_1d_float64_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_9argpartsort_1d_float64_axis0 = {"argpartsort_1d_float64_axis0", (PyCFunction)__pyx_pw_11argpartsort_9argpartsort_1d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_8argpartsort_1d_float64_axis0}; +static PyObject *__pyx_pw_11argpartsort_9argpartsort_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -3865,7 +3865,7 @@ static PyObject *__pyx_pw_11argpartsort_9argpartsort_1d_int32_axis0(PyObject *__ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_1d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -3886,11 +3886,11 @@ static PyObject *__pyx_pw_11argpartsort_9argpartsort_1d_int32_axis0(PyObject *__ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3903,14 +3903,14 @@ static PyObject *__pyx_pw_11argpartsort_9argpartsort_1d_int32_axis0(PyObject *__ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_8argpartsort_1d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -3921,15 +3921,15 @@ static PyObject *__pyx_pw_11argpartsort_9argpartsort_1d_int32_axis0(PyObject *__ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -3970,7 +3970,7 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_1d_int32_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_float64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -3985,24 +3985,24 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "argpartsort.pyx":319 - * def argpartsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=int32 along axis=0." + * def argpartsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":321 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ @@ -4012,7 +4012,7 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; @@ -4227,7 +4227,7 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE * j = r */ __pyx_t_13 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); /* "argpartsort.pyx":340 * while l < r: @@ -4265,7 +4265,7 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE */ while (1) { __pyx_t_14 = __pyx_v_i; - __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); if (!__pyx_t_8) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -4279,7 +4279,7 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE */ while (1) { __pyx_t_15 = __pyx_v_j; - __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); if (!__pyx_t_8) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -4302,7 +4302,7 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE * b[j] = tmp */ __pyx_t_16 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); /* "argpartsort.pyx":347 * if i <= j: @@ -4313,7 +4313,7 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE */ __pyx_t_17 = __pyx_v_j; __pyx_t_18 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); /* "argpartsort.pyx":348 * tmp = b[i] @@ -4323,7 +4323,7 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE * y[i] = y[j] */ __pyx_t_19 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; /* "argpartsort.pyx":349 * b[i] = b[j] @@ -4454,8 +4454,8 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE /* "argpartsort.pyx":317 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int32 along axis=0." + * def argpartsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -4471,7 +4471,7 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4489,16 +4489,16 @@ static PyObject *__pyx_pf_11argpartsort_8argpartsort_1d_int32_axis0(CYTHON_UNUSE /* "argpartsort.pyx":361 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int64 along axis=0." + * def argpartsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_11argpartsort_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_10argpartsort_1d_int64_axis0[] = "argpartsort_1d_int64_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_11argpartsort_1d_int64_axis0 = {"argpartsort_1d_int64_axis0", (PyCFunction)__pyx_pw_11argpartsort_11argpartsort_1d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_10argpartsort_1d_int64_axis0}; -static PyObject *__pyx_pw_11argpartsort_11argpartsort_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_11argpartsort_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_10argpartsort_2d_float_axis0[] = "argpartsort_2d_float_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_11argpartsort_2d_float_axis0 = {"argpartsort_2d_float_axis0", (PyCFunction)__pyx_pw_11argpartsort_11argpartsort_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_10argpartsort_2d_float_axis0}; +static PyObject *__pyx_pw_11argpartsort_11argpartsort_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -4506,7 +4506,7 @@ static PyObject *__pyx_pw_11argpartsort_11argpartsort_1d_int64_axis0(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_1d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -4527,11 +4527,11 @@ static PyObject *__pyx_pw_11argpartsort_11argpartsort_1d_int64_axis0(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4544,14 +4544,14 @@ static PyObject *__pyx_pw_11argpartsort_11argpartsort_1d_int64_axis0(PyObject *_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_10argpartsort_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -4562,19 +4562,21 @@ static PyObject *__pyx_pw_11argpartsort_11argpartsort_1d_int64_axis0(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_10argpartsort_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -4587,31 +4589,43 @@ static PyObject *__pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[1]; + npy_intp __pyx_t_3[2]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - int __pyx_t_8; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - npy_intp __pyx_t_13; - npy_intp __pyx_t_14; - npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + int __pyx_t_11; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; npy_intp __pyx_t_18; - npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_19; npy_intp __pyx_t_20; - npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_21; npy_intp __pyx_t_22; - npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_23; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_29; + npy_intp __pyx_t_30; + Py_ssize_t __pyx_t_31; + npy_intp __pyx_t_32; + Py_ssize_t __pyx_t_33; + npy_intp __pyx_t_34; + Py_ssize_t __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_1d_int64_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -4626,25 +4640,25 @@ static PyObject *__pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "argpartsort.pyx":363 - * def argpartsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=int64 along axis=0." + * def argpartsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":365 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -4653,10 +4667,10 @@ static PyObject *__pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(CYTHON_UNUS __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; @@ -4664,11 +4678,11 @@ static PyObject *__pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(CYTHON_UNUS __pyx_t_1 = 0; /* "argpartsort.pyx":368 - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); @@ -4676,78 +4690,101 @@ static PyObject *__pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(CYTHON_UNUS * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); /* "argpartsort.pyx":370 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "argpartsort.pyx":371 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; + __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":371 - * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":372 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":373 - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + /* "argpartsort.pyx":374 + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = i0 - * if n0 == 0: + * for i1 in range(n1): + * y[i0, i1] = i0 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":374 + /* "argpartsort.pyx":375 * NPY_intp, 0) * for i0 in range(n0): - * y[i0] = i0 # <<<<<<<<<<<<<< + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i0, i1] = i0 + * if n0 == 0: + */ + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; + + /* "argpartsort.pyx":376 + * for i0 in range(n0): + * for i1 in range(n1): + * y[i0, i1] = i0 # <<<<<<<<<<<<<< * if n0 == 0: * return y */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; + } } - /* "argpartsort.pyx":375 - * for i0 in range(n0): - * y[i0] = i0 + /* "argpartsort.pyx":377 + * for i1 in range(n1): + * y[i0, i1] = i0 * if n0 == 0: # <<<<<<<<<<<<<< * return y * if (n < 1) or (n > n0): */ - __pyx_t_8 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_8) { + __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":376 - * y[i0] = i0 + /* "argpartsort.pyx":378 + * y[i0, i1] = i0 * if n0 == 0: * return y # <<<<<<<<<<<<<< * if (n < 1) or (n > n0): @@ -4759,328 +4796,318 @@ static PyObject *__pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":377 + /* "argpartsort.pyx":379 * if n0 == 0: * return y * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 + * for i1 in range(n1): */ - __pyx_t_9 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_9) { - goto __pyx_L8_next_or; + __pyx_t_12 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_12) { + goto __pyx_L10_next_or; } else { - __pyx_t_8 = __pyx_t_9; - goto __pyx_L7_bool_binop_done; + __pyx_t_11 = __pyx_t_12; + goto __pyx_L9_bool_binop_done; } - __pyx_L8_next_or:; - __pyx_t_9 = ((__pyx_v_n > __pyx_v_n0) != 0); - __pyx_t_8 = __pyx_t_9; - __pyx_L7_bool_binop_done:; - if (__pyx_t_8) { + __pyx_L10_next_or:; + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_11 = __pyx_t_12; + __pyx_L9_bool_binop_done:; + if (__pyx_t_11) { - /* "argpartsort.pyx":378 + /* "argpartsort.pyx":380 * return y * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * for i1 in range(n1): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_10 = 0; - __pyx_t_11 = 0; - __pyx_t_11 = PyNumber_Remainder(__pyx_t_1, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_13 = 0; + __pyx_t_14 = 0; + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_Raise(__pyx_t_11, 0, 0, 0); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_Raise(__pyx_t_14, 0, 0, 0); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":379 + /* "argpartsort.pyx":381 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_v_l = 0; + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":380 + /* "argpartsort.pyx":382 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "argpartsort.pyx":381 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":383 + * for i1 in range(n1): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[k, i1] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":382 - * r = n0 - 1 - * with nogil: + /* "argpartsort.pyx":384 + * l = 0 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[k, i1] * i = l */ - while (1) { - __pyx_t_8 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_8) break; + while (1) { + __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_11) break; - /* "argpartsort.pyx":383 - * with nogil: + /* "argpartsort.pyx":385 + * r = n0 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_13 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_16 = __pyx_v_k; + __pyx_t_7 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":384 + /* "argpartsort.pyx":386 * while l < r: - * x = b[k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":385 - * x = b[k] + /* "argpartsort.pyx":387 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":386 + /* "argpartsort.pyx":388 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ - while (1) { + while (1) { - /* "argpartsort.pyx":387 + /* "argpartsort.pyx":389 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_14 = __pyx_v_i; - __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_8) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_17 = __pyx_v_i; + __pyx_t_8 = __pyx_v_i1; + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_11) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":388 + /* "argpartsort.pyx":390 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i, i1] */ - while (1) { - __pyx_t_15 = __pyx_v_j; - __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_8) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_11) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":389 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "argpartsort.pyx":391 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ - __pyx_t_8 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_8) { + __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":390 - * while x < b[j]: j -= 1 + /* "argpartsort.pyx":392 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_16 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":391 + /* "argpartsort.pyx":393 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp - * itmp = y[i] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp + * itmp = y[i, i1] */ - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":392 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i] - * y[i] = y[j] - */ - __pyx_t_19 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + /* "argpartsort.pyx":394 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] + */ + __pyx_t_26 = __pyx_v_j; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":393 - * b[i] = b[j] - * b[j] = tmp - * itmp = y[i] # <<<<<<<<<<<<<< - * y[i] = y[j] - * y[j] = itmp + /* "argpartsort.pyx":395 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp + * itmp = y[i, i1] # <<<<<<<<<<<<<< + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp */ - __pyx_t_20 = __pyx_v_i; - __pyx_v_itmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_y.diminfo[0].strides)); + __pyx_t_28 = __pyx_v_i; + __pyx_t_29 = __pyx_v_i1; + __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":394 - * b[j] = tmp - * itmp = y[i] - * y[i] = y[j] # <<<<<<<<<<<<<< - * y[j] = itmp + /* "argpartsort.pyx":396 + * b[j, i1] = tmp + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< + * y[j, i1] = itmp * i += 1 */ - __pyx_t_21 = __pyx_v_j; - __pyx_t_22 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_y.diminfo[0].strides)); + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_i; + __pyx_t_33 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":395 - * itmp = y[i] - * y[i] = y[j] - * y[j] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":397 + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_itmp; + __pyx_t_34 = __pyx_v_j; + __pyx_t_35 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":396 - * y[i] = y[j] - * y[j] = itmp + /* "argpartsort.pyx":398 + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":397 - * y[j] = itmp + /* "argpartsort.pyx":399 + * y[j, i1] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L20; - } - __pyx_L20:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L21; + } + __pyx_L21:; - /* "argpartsort.pyx":398 + /* "argpartsort.pyx":400 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_8 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_8) { - goto __pyx_L15_break; - } - } - __pyx_L15_break:; + __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_11) { + goto __pyx_L16_break; + } + } + __pyx_L16_break:; - /* "argpartsort.pyx":399 + /* "argpartsort.pyx":401 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j * return y */ - __pyx_t_8 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_8) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L22; - } - __pyx_L22:; + __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_11) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L23; + } + __pyx_L23:; - /* "argpartsort.pyx":400 + /* "argpartsort.pyx":402 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_8) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L23; - } - __pyx_L23:; - } - } - - /* "argpartsort.pyx":381 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] - */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L11; - } - __pyx_L11:; + __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_11) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L24; } + __pyx_L24:; + } } - /* "argpartsort.pyx":401 + /* "argpartsort.pyx":403 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -5095,24 +5122,24 @@ static PyObject *__pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(CYTHON_UNUS /* "argpartsort.pyx":361 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int64 along axis=0." + * def argpartsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5127,19 +5154,19 @@ static PyObject *__pyx_pf_11argpartsort_10argpartsort_1d_int64_axis0(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":405 +/* "argpartsort.pyx":407 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=0." + * def argpartsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_13argpartsort_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_12argpartsort_2d_int_axis0[] = "argpartsort_2d_int_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_13argpartsort_2d_int_axis0 = {"argpartsort_2d_int_axis0", (PyCFunction)__pyx_pw_11argpartsort_13argpartsort_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_12argpartsort_2d_int_axis0}; -static PyObject *__pyx_pw_11argpartsort_13argpartsort_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_13argpartsort_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_12argpartsort_2d_float_axis1[] = "argpartsort_2d_float_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_13argpartsort_2d_float_axis1 = {"argpartsort_2d_float_axis1", (PyCFunction)__pyx_pw_11argpartsort_13argpartsort_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_12argpartsort_2d_float_axis1}; +static PyObject *__pyx_pw_11argpartsort_13argpartsort_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -5147,7 +5174,7 @@ static PyObject *__pyx_pw_11argpartsort_13argpartsort_2d_int_axis0(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -5168,11 +5195,11 @@ static PyObject *__pyx_pw_11argpartsort_13argpartsort_2d_int_axis0(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5181,18 +5208,18 @@ static PyObject *__pyx_pw_11argpartsort_13argpartsort_2d_int_axis0(PyObject *__p values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_12argpartsort_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -5203,15 +5230,15 @@ static PyObject *__pyx_pw_11argpartsort_13argpartsort_2d_int_axis0(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -5245,28 +5272,28 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; - Py_ssize_t __pyx_t_29; - npy_intp __pyx_t_30; - Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; - Py_ssize_t __pyx_t_33; - npy_intp __pyx_t_34; - Py_ssize_t __pyx_t_35; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; + Py_ssize_t __pyx_t_26; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; + npy_intp __pyx_t_29; + Py_ssize_t __pyx_t_30; + npy_intp __pyx_t_31; + Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_34; + npy_intp __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -5281,36 +5308,36 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":407 - * def argpartsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int along axis=0." + /* "argpartsort.pyx":409 + * def argpartsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":409 + /* "argpartsort.pyx":411 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -5318,7 +5345,7 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":412 + /* "argpartsort.pyx":414 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5327,7 +5354,7 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":413 + /* "argpartsort.pyx":415 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5336,7 +5363,7 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":414 + /* "argpartsort.pyx":416 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5345,7 +5372,7 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":415 + /* "argpartsort.pyx":417 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -5356,22 +5383,22 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":416 + /* "argpartsort.pyx":418 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -5379,57 +5406,57 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":418 + /* "argpartsort.pyx":420 * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i0 + * y[i0, i1] = i1 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":419 + /* "argpartsort.pyx":421 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i0 - * if n0 == 0: + * y[i0, i1] = i1 + * if n1 == 0: */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":420 + /* "argpartsort.pyx":422 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i0 # <<<<<<<<<<<<<< - * if n0 == 0: + * y[i0, i1] = i1 # <<<<<<<<<<<<<< + * if n1 == 0: * return y */ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; } } - /* "argpartsort.pyx":421 + /* "argpartsort.pyx":423 * for i1 in range(n1): - * y[i0, i1] = i0 - * if n0 == 0: # <<<<<<<<<<<<<< + * y[i0, i1] = i1 + * if n1 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":422 - * y[i0, i1] = i0 - * if n0 == 0: + /* "argpartsort.pyx":424 + * y[i0, i1] = i1 + * if n1 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -5437,12 +5464,12 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED goto __pyx_L0; } - /* "argpartsort.pyx":423 - * if n0 == 0: + /* "argpartsort.pyx":425 + * if n1 == 0: * return y - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_12 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_12) { @@ -5452,25 +5479,25 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED goto __pyx_L9_bool_binop_done; } __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L9_bool_binop_done:; if (__pyx_t_11) { - /* "argpartsort.pyx":424 + /* "argpartsort.pyx":426 * return y - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -5478,222 +5505,222 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED __Pyx_GIVEREF(__pyx_t_14); __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_Raise(__pyx_t_14, 0, 0, 0); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":425 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "argpartsort.pyx":427 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_t_5 = __pyx_v_n1; + __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":426 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + /* "argpartsort.pyx":428 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "argpartsort.pyx":427 - * for i1 in range(n1): + /* "argpartsort.pyx":429 + * for i0 in range(n0): * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":428 + /* "argpartsort.pyx":430 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_11) break; - /* "argpartsort.pyx":429 - * r = n0 - 1 + /* "argpartsort.pyx":431 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ + __pyx_t_7 = __pyx_v_i0; __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":430 + /* "argpartsort.pyx":432 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":431 - * x = b[k, i1] + /* "argpartsort.pyx":433 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":432 + /* "argpartsort.pyx":434 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "argpartsort.pyx":433 + /* "argpartsort.pyx":435 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { + __pyx_t_8 = __pyx_v_i0; __pyx_t_17 = __pyx_v_i; - __pyx_t_8 = __pyx_v_i1; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_11) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":434 + /* "argpartsort.pyx":436 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_11) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":435 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":437 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":436 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":438 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":437 + /* "argpartsort.pyx":439 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp - * itmp = y[i, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp + * itmp = y[i0, i] */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":438 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] + /* "argpartsort.pyx":440 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] */ - __pyx_t_26 = __pyx_v_j; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":439 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp - * itmp = y[i, i1] # <<<<<<<<<<<<<< - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":441 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp + * itmp = y[i0, i] # <<<<<<<<<<<<<< + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp */ - __pyx_t_28 = __pyx_v_i; - __pyx_t_29 = __pyx_v_i1; + __pyx_t_28 = __pyx_v_i0; + __pyx_t_29 = __pyx_v_i; __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":440 - * b[j, i1] = tmp - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< - * y[j, i1] = itmp + /* "argpartsort.pyx":442 + * b[i0, j] = tmp + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< + * y[i0, j] = itmp * i += 1 */ - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_i; - __pyx_t_33 = __pyx_v_i1; + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":441 - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":443 + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_34 = __pyx_v_j; - __pyx_t_35 = __pyx_v_i1; + __pyx_t_34 = __pyx_v_i0; + __pyx_t_35 = __pyx_v_j; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":442 - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":444 + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":443 - * y[j, i1] = itmp + /* "argpartsort.pyx":445 + * y[i0, j] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -5704,7 +5731,7 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED } __pyx_L21:; - /* "argpartsort.pyx":444 + /* "argpartsort.pyx":446 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -5718,7 +5745,7 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED } __pyx_L16_break:; - /* "argpartsort.pyx":445 + /* "argpartsort.pyx":447 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -5732,7 +5759,7 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED } __pyx_L23:; - /* "argpartsort.pyx":446 + /* "argpartsort.pyx":448 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -5748,7 +5775,7 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED } } - /* "argpartsort.pyx":447 + /* "argpartsort.pyx":449 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -5760,11 +5787,11 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":405 + /* "argpartsort.pyx":407 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=0." + * def argpartsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -5780,7 +5807,7 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5795,19 +5822,19 @@ static PyObject *__pyx_pf_11argpartsort_12argpartsort_2d_int_axis0(CYTHON_UNUSED return __pyx_r; } -/* "argpartsort.pyx":451 +/* "argpartsort.pyx":453 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=1." + * def argpartsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_15argpartsort_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_14argpartsort_2d_int_axis1[] = "argpartsort_2d_int_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_15argpartsort_2d_int_axis1 = {"argpartsort_2d_int_axis1", (PyCFunction)__pyx_pw_11argpartsort_15argpartsort_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_14argpartsort_2d_int_axis1}; -static PyObject *__pyx_pw_11argpartsort_15argpartsort_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_15argpartsort_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_14argpartsort_2d_float32_axis0[] = "argpartsort_2d_float32_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_15argpartsort_2d_float32_axis0 = {"argpartsort_2d_float32_axis0", (PyCFunction)__pyx_pw_11argpartsort_15argpartsort_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_14argpartsort_2d_float32_axis0}; +static PyObject *__pyx_pw_11argpartsort_15argpartsort_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -5815,7 +5842,7 @@ static PyObject *__pyx_pw_11argpartsort_15argpartsort_2d_int_axis1(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_int_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -5836,11 +5863,11 @@ static PyObject *__pyx_pw_11argpartsort_15argpartsort_2d_int_axis1(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5849,18 +5876,18 @@ static PyObject *__pyx_pw_11argpartsort_15argpartsort_2d_int_axis1(PyObject *__p values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_14argpartsort_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -5871,15 +5898,15 @@ static PyObject *__pyx_pw_11argpartsort_15argpartsort_2d_int_axis1(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -5913,28 +5940,28 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; - Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; - Py_ssize_t __pyx_t_28; - npy_intp __pyx_t_29; - Py_ssize_t __pyx_t_30; - npy_intp __pyx_t_31; - Py_ssize_t __pyx_t_32; - npy_intp __pyx_t_33; - Py_ssize_t __pyx_t_34; - npy_intp __pyx_t_35; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_29; + npy_intp __pyx_t_30; + Py_ssize_t __pyx_t_31; + npy_intp __pyx_t_32; + Py_ssize_t __pyx_t_33; + npy_intp __pyx_t_34; + Py_ssize_t __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -5949,36 +5976,36 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":453 - * def argpartsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int along axis=1." - * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) + /* "argpartsort.pyx":455 + * def argpartsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float32 along axis=0." + * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":455 + /* "argpartsort.pyx":457 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -5986,7 +6013,7 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":458 + /* "argpartsort.pyx":460 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5995,7 +6022,7 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":459 + /* "argpartsort.pyx":461 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -6004,7 +6031,7 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":460 + /* "argpartsort.pyx":462 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -6013,7 +6040,7 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":461 + /* "argpartsort.pyx":463 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -6024,22 +6051,22 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":462 + /* "argpartsort.pyx":464 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -6047,57 +6074,57 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":464 + /* "argpartsort.pyx":466 * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i1 + * y[i0, i1] = i0 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":465 + /* "argpartsort.pyx":467 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i1 - * if n1 == 0: + * y[i0, i1] = i0 + * if n0 == 0: */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":466 + /* "argpartsort.pyx":468 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i1 # <<<<<<<<<<<<<< - * if n1 == 0: + * y[i0, i1] = i0 # <<<<<<<<<<<<<< + * if n0 == 0: * return y */ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; } } - /* "argpartsort.pyx":467 + /* "argpartsort.pyx":469 * for i1 in range(n1): - * y[i0, i1] = i1 - * if n1 == 0: # <<<<<<<<<<<<<< + * y[i0, i1] = i0 + * if n0 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":468 - * y[i0, i1] = i1 - * if n1 == 0: + /* "argpartsort.pyx":470 + * y[i0, i1] = i0 + * if n0 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -6105,12 +6132,12 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED goto __pyx_L0; } - /* "argpartsort.pyx":469 - * if n1 == 0: + /* "argpartsort.pyx":471 + * if n0 == 0: * return y - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ __pyx_t_12 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_12) { @@ -6120,25 +6147,25 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED goto __pyx_L9_bool_binop_done; } __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L9_bool_binop_done:; if (__pyx_t_11) { - /* "argpartsort.pyx":470 + /* "argpartsort.pyx":472 * return y - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -6146,222 +6173,222 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED __Pyx_GIVEREF(__pyx_t_14); __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_Raise(__pyx_t_14, 0, 0, 0); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":471 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "argpartsort.pyx":473 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< * l = 0 - * r = n1 - 1 + * r = n0 - 1 */ - __pyx_t_5 = __pyx_v_n0; + __pyx_t_5 = __pyx_v_n1; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":472 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + /* "argpartsort.pyx":474 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 + * r = n0 - 1 * while l < r: */ __pyx_v_l = 0; - /* "argpartsort.pyx":473 - * for i0 in range(n0): + /* "argpartsort.pyx":475 + * for i1 in range(n1): * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[i0, k] + * x = b[k, i1] */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":474 + /* "argpartsort.pyx":476 * l = 0 - * r = n1 - 1 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] + * x = b[k, i1] * i = l */ while (1) { __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_11) break; - /* "argpartsort.pyx":475 - * r = n1 - 1 + /* "argpartsort.pyx":477 + * r = n0 - 1 * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_7 = __pyx_v_i0; __pyx_t_16 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_7 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":476 + /* "argpartsort.pyx":478 * while l < r: - * x = b[i0, k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":477 - * x = b[i0, k] + /* "argpartsort.pyx":479 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i0, i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":478 + /* "argpartsort.pyx":480 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ while (1) { - /* "argpartsort.pyx":479 + /* "argpartsort.pyx":481 * j = r * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_8 = __pyx_v_i0; __pyx_t_17 = __pyx_v_i; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_8 = __pyx_v_i1; + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_11) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":480 + /* "argpartsort.pyx":482 * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i0, i] + * tmp = b[i, i1] */ while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_11) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":481 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "argpartsort.pyx":483 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":482 - * while x < b[i0, j]: j -= 1 + /* "argpartsort.pyx":484 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":483 + /* "argpartsort.pyx":485 * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * itmp = y[i0, i] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp + * itmp = y[i, i1] */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":484 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] + /* "argpartsort.pyx":486 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_j; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":485 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * itmp = y[i0, i] # <<<<<<<<<<<<<< - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp + /* "argpartsort.pyx":487 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp + * itmp = y[i, i1] # <<<<<<<<<<<<<< + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp */ - __pyx_t_28 = __pyx_v_i0; - __pyx_t_29 = __pyx_v_i; + __pyx_t_28 = __pyx_v_i; + __pyx_t_29 = __pyx_v_i1; __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":486 - * b[i0, j] = tmp - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< - * y[i0, j] = itmp + /* "argpartsort.pyx":488 + * b[j, i1] = tmp + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< + * y[j, i1] = itmp * i += 1 */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i; + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_i; + __pyx_t_33 = __pyx_v_i1; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":487 - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":489 + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_34 = __pyx_v_i0; - __pyx_t_35 = __pyx_v_j; + __pyx_t_34 = __pyx_v_j; + __pyx_t_35 = __pyx_v_i1; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":488 - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp + /* "argpartsort.pyx":490 + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":489 - * y[i0, j] = itmp + /* "argpartsort.pyx":491 + * y[j, i1] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -6372,7 +6399,7 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED } __pyx_L21:; - /* "argpartsort.pyx":490 + /* "argpartsort.pyx":492 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -6386,7 +6413,7 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED } __pyx_L16_break:; - /* "argpartsort.pyx":491 + /* "argpartsort.pyx":493 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -6400,7 +6427,7 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED } __pyx_L23:; - /* "argpartsort.pyx":492 + /* "argpartsort.pyx":494 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -6416,7 +6443,7 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED } } - /* "argpartsort.pyx":493 + /* "argpartsort.pyx":495 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -6428,11 +6455,11 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":451 + /* "argpartsort.pyx":453 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=1." + * def argpartsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -6448,7 +6475,7 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6463,19 +6490,19 @@ static PyObject *__pyx_pf_11argpartsort_14argpartsort_2d_int_axis1(CYTHON_UNUSED return __pyx_r; } -/* "argpartsort.pyx":497 +/* "argpartsort.pyx":499 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=0." + * def argpartsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_17argpartsort_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_16argpartsort_2d_int8_axis0[] = "argpartsort_2d_int8_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_17argpartsort_2d_int8_axis0 = {"argpartsort_2d_int8_axis0", (PyCFunction)__pyx_pw_11argpartsort_17argpartsort_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_16argpartsort_2d_int8_axis0}; -static PyObject *__pyx_pw_11argpartsort_17argpartsort_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_17argpartsort_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_16argpartsort_2d_float32_axis1[] = "argpartsort_2d_float32_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float32 along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_17argpartsort_2d_float32_axis1 = {"argpartsort_2d_float32_axis1", (PyCFunction)__pyx_pw_11argpartsort_17argpartsort_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_16argpartsort_2d_float32_axis1}; +static PyObject *__pyx_pw_11argpartsort_17argpartsort_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -6483,7 +6510,7 @@ static PyObject *__pyx_pw_11argpartsort_17argpartsort_2d_int8_axis0(PyObject *__ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -6504,11 +6531,11 @@ static PyObject *__pyx_pw_11argpartsort_17argpartsort_2d_int8_axis0(PyObject *__ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6517,18 +6544,18 @@ static PyObject *__pyx_pw_11argpartsort_17argpartsort_2d_int8_axis0(PyObject *__ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_16argpartsort_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -6539,15 +6566,15 @@ static PyObject *__pyx_pw_11argpartsort_17argpartsort_2d_int8_axis0(PyObject *__ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -6581,28 +6608,28 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; - Py_ssize_t __pyx_t_29; - npy_intp __pyx_t_30; - Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; - Py_ssize_t __pyx_t_33; - npy_intp __pyx_t_34; - Py_ssize_t __pyx_t_35; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; + Py_ssize_t __pyx_t_26; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; + npy_intp __pyx_t_29; + Py_ssize_t __pyx_t_30; + npy_intp __pyx_t_31; + Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_34; + npy_intp __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float32_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -6617,36 +6644,36 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":499 - * def argpartsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int8 along axis=0." + /* "argpartsort.pyx":501 + * def argpartsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":501 + /* "argpartsort.pyx":503 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -6654,7 +6681,7 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":504 + /* "argpartsort.pyx":506 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6663,7 +6690,7 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":505 + /* "argpartsort.pyx":507 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -6672,7 +6699,7 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":506 + /* "argpartsort.pyx":508 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -6681,7 +6708,7 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":507 + /* "argpartsort.pyx":509 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -6692,22 +6719,22 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":508 + /* "argpartsort.pyx":510 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -6715,57 +6742,57 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":510 + /* "argpartsort.pyx":512 * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i0 + * y[i0, i1] = i1 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":511 + /* "argpartsort.pyx":513 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i0 - * if n0 == 0: + * y[i0, i1] = i1 + * if n1 == 0: */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":512 + /* "argpartsort.pyx":514 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i0 # <<<<<<<<<<<<<< - * if n0 == 0: + * y[i0, i1] = i1 # <<<<<<<<<<<<<< + * if n1 == 0: * return y */ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; } } - /* "argpartsort.pyx":513 + /* "argpartsort.pyx":515 * for i1 in range(n1): - * y[i0, i1] = i0 - * if n0 == 0: # <<<<<<<<<<<<<< + * y[i0, i1] = i1 + * if n1 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":514 - * y[i0, i1] = i0 - * if n0 == 0: + /* "argpartsort.pyx":516 + * y[i0, i1] = i1 + * if n1 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -6773,12 +6800,12 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE goto __pyx_L0; } - /* "argpartsort.pyx":515 - * if n0 == 0: + /* "argpartsort.pyx":517 + * if n1 == 0: * return y - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_12 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_12) { @@ -6788,25 +6815,25 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE goto __pyx_L9_bool_binop_done; } __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L9_bool_binop_done:; if (__pyx_t_11) { - /* "argpartsort.pyx":516 + /* "argpartsort.pyx":518 * return y - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -6814,222 +6841,222 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE __Pyx_GIVEREF(__pyx_t_14); __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_Raise(__pyx_t_14, 0, 0, 0); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":517 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "argpartsort.pyx":519 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_t_5 = __pyx_v_n1; + __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":518 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + /* "argpartsort.pyx":520 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "argpartsort.pyx":519 - * for i1 in range(n1): + /* "argpartsort.pyx":521 + * for i0 in range(n0): * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":520 + /* "argpartsort.pyx":522 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_11) break; - /* "argpartsort.pyx":521 - * r = n0 - 1 + /* "argpartsort.pyx":523 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ + __pyx_t_7 = __pyx_v_i0; __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":522 + /* "argpartsort.pyx":524 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":523 - * x = b[k, i1] + /* "argpartsort.pyx":525 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":524 + /* "argpartsort.pyx":526 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "argpartsort.pyx":525 + /* "argpartsort.pyx":527 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { + __pyx_t_8 = __pyx_v_i0; __pyx_t_17 = __pyx_v_i; - __pyx_t_8 = __pyx_v_i1; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_11) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":526 + /* "argpartsort.pyx":528 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_11) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":527 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":529 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":528 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":530 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":529 + /* "argpartsort.pyx":531 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp - * itmp = y[i, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp + * itmp = y[i0, i] */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":530 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] + /* "argpartsort.pyx":532 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] */ - __pyx_t_26 = __pyx_v_j; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":531 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp - * itmp = y[i, i1] # <<<<<<<<<<<<<< - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":533 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp + * itmp = y[i0, i] # <<<<<<<<<<<<<< + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp */ - __pyx_t_28 = __pyx_v_i; - __pyx_t_29 = __pyx_v_i1; + __pyx_t_28 = __pyx_v_i0; + __pyx_t_29 = __pyx_v_i; __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":532 - * b[j, i1] = tmp - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< - * y[j, i1] = itmp + /* "argpartsort.pyx":534 + * b[i0, j] = tmp + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< + * y[i0, j] = itmp * i += 1 */ - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_i; - __pyx_t_33 = __pyx_v_i1; + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":533 - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":535 + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_34 = __pyx_v_j; - __pyx_t_35 = __pyx_v_i1; + __pyx_t_34 = __pyx_v_i0; + __pyx_t_35 = __pyx_v_j; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":534 - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":536 + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":535 - * y[j, i1] = itmp + /* "argpartsort.pyx":537 + * y[i0, j] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -7040,7 +7067,7 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE } __pyx_L21:; - /* "argpartsort.pyx":536 + /* "argpartsort.pyx":538 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -7054,7 +7081,7 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE } __pyx_L16_break:; - /* "argpartsort.pyx":537 + /* "argpartsort.pyx":539 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -7068,7 +7095,7 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE } __pyx_L23:; - /* "argpartsort.pyx":538 + /* "argpartsort.pyx":540 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -7084,7 +7111,7 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE } } - /* "argpartsort.pyx":539 + /* "argpartsort.pyx":541 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -7096,11 +7123,11 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":497 + /* "argpartsort.pyx":499 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=0." + * def argpartsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -7116,7 +7143,7 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7131,19 +7158,19 @@ static PyObject *__pyx_pf_11argpartsort_16argpartsort_2d_int8_axis0(CYTHON_UNUSE return __pyx_r; } -/* "argpartsort.pyx":543 +/* "argpartsort.pyx":545 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=1." + * def argpartsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_19argpartsort_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_18argpartsort_2d_int8_axis1[] = "argpartsort_2d_int8_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int8 along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_19argpartsort_2d_int8_axis1 = {"argpartsort_2d_int8_axis1", (PyCFunction)__pyx_pw_11argpartsort_19argpartsort_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_18argpartsort_2d_int8_axis1}; -static PyObject *__pyx_pw_11argpartsort_19argpartsort_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_19argpartsort_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_18argpartsort_2d_float64_axis0[] = "argpartsort_2d_float64_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_19argpartsort_2d_float64_axis0 = {"argpartsort_2d_float64_axis0", (PyCFunction)__pyx_pw_11argpartsort_19argpartsort_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_18argpartsort_2d_float64_axis0}; +static PyObject *__pyx_pw_11argpartsort_19argpartsort_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -7151,7 +7178,7 @@ static PyObject *__pyx_pw_11argpartsort_19argpartsort_2d_int8_axis1(PyObject *__ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_int8_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -7172,11 +7199,11 @@ static PyObject *__pyx_pw_11argpartsort_19argpartsort_2d_int8_axis1(PyObject *__ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7185,18 +7212,18 @@ static PyObject *__pyx_pw_11argpartsort_19argpartsort_2d_int8_axis1(PyObject *__ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_18argpartsort_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -7207,15 +7234,15 @@ static PyObject *__pyx_pw_11argpartsort_19argpartsort_2d_int8_axis1(PyObject *__ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -7249,28 +7276,28 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; - Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; - Py_ssize_t __pyx_t_28; - npy_intp __pyx_t_29; - Py_ssize_t __pyx_t_30; - npy_intp __pyx_t_31; - Py_ssize_t __pyx_t_32; - npy_intp __pyx_t_33; - Py_ssize_t __pyx_t_34; - npy_intp __pyx_t_35; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_29; + npy_intp __pyx_t_30; + Py_ssize_t __pyx_t_31; + npy_intp __pyx_t_32; + Py_ssize_t __pyx_t_33; + npy_intp __pyx_t_34; + Py_ssize_t __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -7285,36 +7312,36 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":545 - * def argpartsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int8 along axis=1." + /* "argpartsort.pyx":547 + * def argpartsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":547 + /* "argpartsort.pyx":549 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -7322,7 +7349,7 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":550 + /* "argpartsort.pyx":552 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7331,7 +7358,7 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":551 + /* "argpartsort.pyx":553 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7340,7 +7367,7 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":552 + /* "argpartsort.pyx":554 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7349,7 +7376,7 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":553 + /* "argpartsort.pyx":555 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -7360,22 +7387,22 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":554 + /* "argpartsort.pyx":556 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -7383,57 +7410,57 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":556 + /* "argpartsort.pyx":558 * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i1 + * y[i0, i1] = i0 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":557 + /* "argpartsort.pyx":559 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i1 - * if n1 == 0: + * y[i0, i1] = i0 + * if n0 == 0: */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":558 + /* "argpartsort.pyx":560 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i1 # <<<<<<<<<<<<<< - * if n1 == 0: + * y[i0, i1] = i0 # <<<<<<<<<<<<<< + * if n0 == 0: * return y */ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; } } - /* "argpartsort.pyx":559 + /* "argpartsort.pyx":561 * for i1 in range(n1): - * y[i0, i1] = i1 - * if n1 == 0: # <<<<<<<<<<<<<< + * y[i0, i1] = i0 + * if n0 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":560 - * y[i0, i1] = i1 - * if n1 == 0: + /* "argpartsort.pyx":562 + * y[i0, i1] = i0 + * if n0 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -7441,12 +7468,12 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE goto __pyx_L0; } - /* "argpartsort.pyx":561 - * if n1 == 0: + /* "argpartsort.pyx":563 + * if n0 == 0: * return y - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ __pyx_t_12 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_12) { @@ -7456,25 +7483,25 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE goto __pyx_L9_bool_binop_done; } __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L9_bool_binop_done:; if (__pyx_t_11) { - /* "argpartsort.pyx":562 + /* "argpartsort.pyx":564 * return y - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -7482,222 +7509,222 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE __Pyx_GIVEREF(__pyx_t_14); __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_Raise(__pyx_t_14, 0, 0, 0); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":563 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "argpartsort.pyx":565 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< * l = 0 - * r = n1 - 1 + * r = n0 - 1 */ - __pyx_t_5 = __pyx_v_n0; + __pyx_t_5 = __pyx_v_n1; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":564 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + /* "argpartsort.pyx":566 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 + * r = n0 - 1 * while l < r: */ __pyx_v_l = 0; - /* "argpartsort.pyx":565 - * for i0 in range(n0): + /* "argpartsort.pyx":567 + * for i1 in range(n1): * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[i0, k] + * x = b[k, i1] */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":566 + /* "argpartsort.pyx":568 * l = 0 - * r = n1 - 1 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] + * x = b[k, i1] * i = l */ while (1) { __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_11) break; - /* "argpartsort.pyx":567 - * r = n1 - 1 + /* "argpartsort.pyx":569 + * r = n0 - 1 * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_7 = __pyx_v_i0; __pyx_t_16 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_7 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":568 + /* "argpartsort.pyx":570 * while l < r: - * x = b[i0, k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":569 - * x = b[i0, k] + /* "argpartsort.pyx":571 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i0, i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":570 + /* "argpartsort.pyx":572 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ while (1) { - /* "argpartsort.pyx":571 + /* "argpartsort.pyx":573 * j = r * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_8 = __pyx_v_i0; __pyx_t_17 = __pyx_v_i; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_8 = __pyx_v_i1; + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_11) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":572 + /* "argpartsort.pyx":574 * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i0, i] + * tmp = b[i, i1] */ while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_11) break; + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_11) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":573 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "argpartsort.pyx":575 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":574 - * while x < b[i0, j]: j -= 1 + /* "argpartsort.pyx":576 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":575 + /* "argpartsort.pyx":577 * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * itmp = y[i0, i] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp + * itmp = y[i, i1] */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":576 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] + /* "argpartsort.pyx":578 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_j; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":577 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * itmp = y[i0, i] # <<<<<<<<<<<<<< - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp + /* "argpartsort.pyx":579 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp + * itmp = y[i, i1] # <<<<<<<<<<<<<< + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp */ - __pyx_t_28 = __pyx_v_i0; - __pyx_t_29 = __pyx_v_i; + __pyx_t_28 = __pyx_v_i; + __pyx_t_29 = __pyx_v_i1; __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":578 - * b[i0, j] = tmp - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< - * y[i0, j] = itmp + /* "argpartsort.pyx":580 + * b[j, i1] = tmp + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< + * y[j, i1] = itmp * i += 1 */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i; + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_i; + __pyx_t_33 = __pyx_v_i1; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":579 - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":581 + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_34 = __pyx_v_i0; - __pyx_t_35 = __pyx_v_j; + __pyx_t_34 = __pyx_v_j; + __pyx_t_35 = __pyx_v_i1; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":580 - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp + /* "argpartsort.pyx":582 + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":581 - * y[i0, j] = itmp + /* "argpartsort.pyx":583 + * y[j, i1] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -7708,7 +7735,7 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE } __pyx_L21:; - /* "argpartsort.pyx":582 + /* "argpartsort.pyx":584 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -7722,7 +7749,7 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE } __pyx_L16_break:; - /* "argpartsort.pyx":583 + /* "argpartsort.pyx":585 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -7736,7 +7763,7 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE } __pyx_L23:; - /* "argpartsort.pyx":584 + /* "argpartsort.pyx":586 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -7752,7 +7779,7 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE } } - /* "argpartsort.pyx":585 + /* "argpartsort.pyx":587 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -7764,11 +7791,11 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":543 + /* "argpartsort.pyx":545 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=1." + * def argpartsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -7784,7 +7811,7 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7799,19 +7826,19 @@ static PyObject *__pyx_pf_11argpartsort_18argpartsort_2d_int8_axis1(CYTHON_UNUSE return __pyx_r; } -/* "argpartsort.pyx":589 +/* "argpartsort.pyx":591 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=0." + * def argpartsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_21argpartsort_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_20argpartsort_2d_int32_axis0[] = "argpartsort_2d_int32_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_21argpartsort_2d_int32_axis0 = {"argpartsort_2d_int32_axis0", (PyCFunction)__pyx_pw_11argpartsort_21argpartsort_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_20argpartsort_2d_int32_axis0}; -static PyObject *__pyx_pw_11argpartsort_21argpartsort_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_21argpartsort_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_20argpartsort_2d_float64_axis1[] = "argpartsort_2d_float64_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float64 along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_21argpartsort_2d_float64_axis1 = {"argpartsort_2d_float64_axis1", (PyCFunction)__pyx_pw_11argpartsort_21argpartsort_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_20argpartsort_2d_float64_axis1}; +static PyObject *__pyx_pw_11argpartsort_21argpartsort_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -7819,7 +7846,7 @@ static PyObject *__pyx_pw_11argpartsort_21argpartsort_2d_int32_axis0(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -7840,11 +7867,11 @@ static PyObject *__pyx_pw_11argpartsort_21argpartsort_2d_int32_axis0(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7853,18 +7880,18 @@ static PyObject *__pyx_pw_11argpartsort_21argpartsort_2d_int32_axis0(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_20argpartsort_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -7875,15 +7902,15 @@ static PyObject *__pyx_pw_11argpartsort_21argpartsort_2d_int32_axis0(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -7917,28 +7944,28 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; - Py_ssize_t __pyx_t_29; - npy_intp __pyx_t_30; - Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; - Py_ssize_t __pyx_t_33; - npy_intp __pyx_t_34; - Py_ssize_t __pyx_t_35; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; + Py_ssize_t __pyx_t_26; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; + npy_intp __pyx_t_29; + Py_ssize_t __pyx_t_30; + npy_intp __pyx_t_31; + Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_34; + npy_intp __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_float64_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -7953,36 +7980,36 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":591 - * def argpartsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int32 along axis=0." + /* "argpartsort.pyx":593 + * def argpartsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":593 + /* "argpartsort.pyx":595 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -7990,7 +8017,7 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":596 + /* "argpartsort.pyx":598 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7999,7 +8026,7 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":597 + /* "argpartsort.pyx":599 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -8008,7 +8035,7 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":598 + /* "argpartsort.pyx":600 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -8017,7 +8044,7 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":599 + /* "argpartsort.pyx":601 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -8028,22 +8055,22 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":600 + /* "argpartsort.pyx":602 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -8051,57 +8078,57 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":602 + /* "argpartsort.pyx":604 * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i0 + * y[i0, i1] = i1 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":603 + /* "argpartsort.pyx":605 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i0 - * if n0 == 0: + * y[i0, i1] = i1 + * if n1 == 0: */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":604 + /* "argpartsort.pyx":606 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i0 # <<<<<<<<<<<<<< - * if n0 == 0: + * y[i0, i1] = i1 # <<<<<<<<<<<<<< + * if n1 == 0: * return y */ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; } } - /* "argpartsort.pyx":605 + /* "argpartsort.pyx":607 * for i1 in range(n1): - * y[i0, i1] = i0 - * if n0 == 0: # <<<<<<<<<<<<<< + * y[i0, i1] = i1 + * if n1 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":606 - * y[i0, i1] = i0 - * if n0 == 0: + /* "argpartsort.pyx":608 + * y[i0, i1] = i1 + * if n1 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -8109,12 +8136,12 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":607 - * if n0 == 0: + /* "argpartsort.pyx":609 + * if n1 == 0: * return y - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_12 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_12) { @@ -8124,25 +8151,25 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS goto __pyx_L9_bool_binop_done; } __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L9_bool_binop_done:; if (__pyx_t_11) { - /* "argpartsort.pyx":608 + /* "argpartsort.pyx":610 * return y - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -8150,222 +8177,222 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS __Pyx_GIVEREF(__pyx_t_14); __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_Raise(__pyx_t_14, 0, 0, 0); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":609 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "argpartsort.pyx":611 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_t_5 = __pyx_v_n1; + __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":610 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + /* "argpartsort.pyx":612 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "argpartsort.pyx":611 - * for i1 in range(n1): + /* "argpartsort.pyx":613 + * for i0 in range(n0): * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":612 + /* "argpartsort.pyx":614 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_11) break; - /* "argpartsort.pyx":613 - * r = n0 - 1 + /* "argpartsort.pyx":615 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ + __pyx_t_7 = __pyx_v_i0; __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":614 + /* "argpartsort.pyx":616 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":615 - * x = b[k, i1] + /* "argpartsort.pyx":617 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":616 + /* "argpartsort.pyx":618 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "argpartsort.pyx":617 + /* "argpartsort.pyx":619 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { + __pyx_t_8 = __pyx_v_i0; __pyx_t_17 = __pyx_v_i; - __pyx_t_8 = __pyx_v_i1; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_11) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":618 + /* "argpartsort.pyx":620 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_11) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":619 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":621 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":620 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":622 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":621 + /* "argpartsort.pyx":623 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp - * itmp = y[i, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp + * itmp = y[i0, i] */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":622 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] + /* "argpartsort.pyx":624 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] */ - __pyx_t_26 = __pyx_v_j; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":623 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp - * itmp = y[i, i1] # <<<<<<<<<<<<<< - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":625 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp + * itmp = y[i0, i] # <<<<<<<<<<<<<< + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp */ - __pyx_t_28 = __pyx_v_i; - __pyx_t_29 = __pyx_v_i1; + __pyx_t_28 = __pyx_v_i0; + __pyx_t_29 = __pyx_v_i; __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":624 - * b[j, i1] = tmp - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< - * y[j, i1] = itmp + /* "argpartsort.pyx":626 + * b[i0, j] = tmp + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< + * y[i0, j] = itmp * i += 1 */ - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_i; - __pyx_t_33 = __pyx_v_i1; + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":625 - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":627 + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_34 = __pyx_v_j; - __pyx_t_35 = __pyx_v_i1; + __pyx_t_34 = __pyx_v_i0; + __pyx_t_35 = __pyx_v_j; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":626 - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":628 + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":627 - * y[j, i1] = itmp + /* "argpartsort.pyx":629 + * y[i0, j] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -8376,7 +8403,7 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS } __pyx_L21:; - /* "argpartsort.pyx":628 + /* "argpartsort.pyx":630 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -8390,7 +8417,7 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS } __pyx_L16_break:; - /* "argpartsort.pyx":629 + /* "argpartsort.pyx":631 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -8404,7 +8431,7 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS } __pyx_L23:; - /* "argpartsort.pyx":630 + /* "argpartsort.pyx":632 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -8420,7 +8447,7 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS } } - /* "argpartsort.pyx":631 + /* "argpartsort.pyx":633 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -8432,11 +8459,11 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":589 + /* "argpartsort.pyx":591 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=0." + * def argpartsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -8452,7 +8479,7 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8467,19 +8494,19 @@ static PyObject *__pyx_pf_11argpartsort_20argpartsort_2d_int32_axis0(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":635 +/* "argpartsort.pyx":637 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=1." + * def argpartsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_23argpartsort_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_22argpartsort_2d_int32_axis1[] = "argpartsort_2d_int32_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int32 along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_23argpartsort_2d_int32_axis1 = {"argpartsort_2d_int32_axis1", (PyCFunction)__pyx_pw_11argpartsort_23argpartsort_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_22argpartsort_2d_int32_axis1}; -static PyObject *__pyx_pw_11argpartsort_23argpartsort_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_23argpartsort_3d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_22argpartsort_3d_float_axis0[] = "argpartsort_3d_float_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_23argpartsort_3d_float_axis0 = {"argpartsort_3d_float_axis0", (PyCFunction)__pyx_pw_11argpartsort_23argpartsort_3d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_22argpartsort_3d_float_axis0}; +static PyObject *__pyx_pw_11argpartsort_23argpartsort_3d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -8487,7 +8514,7 @@ static PyObject *__pyx_pw_11argpartsort_23argpartsort_2d_int32_axis1(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_int32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -8508,11 +8535,11 @@ static PyObject *__pyx_pw_11argpartsort_23argpartsort_2d_int32_axis1(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -8521,18 +8548,18 @@ static PyObject *__pyx_pw_11argpartsort_23argpartsort_2d_int32_axis1(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_22argpartsort_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_22argpartsort_3d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -8543,21 +8570,23 @@ static PyObject *__pyx_pw_11argpartsort_23argpartsort_2d_int32_axis1(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_22argpartsort_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_22argpartsort_3d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -8570,7 +8599,7 @@ static PyObject *__pyx_pf_11argpartsort_22argpartsort_2d_int32_axis1(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[2]; + npy_intp __pyx_t_3[3]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; @@ -8578,35 +8607,49 @@ static PyObject *__pyx_pf_11argpartsort_22argpartsort_2d_int32_axis1(CYTHON_UNUS Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - int __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - npy_intp __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + int __pyx_t_14; + int __pyx_t_15; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; Py_ssize_t __pyx_t_22; npy_intp __pyx_t_23; Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; - Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_25; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; Py_ssize_t __pyx_t_28; npy_intp __pyx_t_29; Py_ssize_t __pyx_t_30; - npy_intp __pyx_t_31; - Py_ssize_t __pyx_t_32; - npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_31; + npy_intp __pyx_t_32; + Py_ssize_t __pyx_t_33; Py_ssize_t __pyx_t_34; npy_intp __pyx_t_35; + Py_ssize_t __pyx_t_36; + Py_ssize_t __pyx_t_37; + npy_intp __pyx_t_38; + Py_ssize_t __pyx_t_39; + Py_ssize_t __pyx_t_40; + npy_intp __pyx_t_41; + Py_ssize_t __pyx_t_42; + Py_ssize_t __pyx_t_43; + npy_intp __pyx_t_44; + Py_ssize_t __pyx_t_45; + Py_ssize_t __pyx_t_46; + npy_intp __pyx_t_47; + Py_ssize_t __pyx_t_48; + Py_ssize_t __pyx_t_49; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -8621,45 +8664,45 @@ static PyObject *__pyx_pf_11argpartsort_22argpartsort_2d_int32_axis1(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":637 - * def argpartsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int32 along axis=1." + /* "argpartsort.pyx":639 + * def argpartsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":639 + /* "argpartsort.pyx":641 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":642 - * cdef Py_ssize_t i0, i1 + /* "argpartsort.pyx":644 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -8667,109 +8710,132 @@ static PyObject *__pyx_pf_11argpartsort_22argpartsort_2d_int32_axis1(CYTHON_UNUS */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":643 + /* "argpartsort.pyx":645 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":644 + /* "argpartsort.pyx":646 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":645 + /* "argpartsort.pyx":647 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + */ + __pyx_v_n2 = (__pyx_v_dim[2]); + + /* "argpartsort.pyx":648 + * cdef Py_ssize_t n1 = dim[1] + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; __pyx_t_3[1] = __pyx_v_n1; + __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":646 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":649 + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":648 - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + /* "argpartsort.pyx":651 + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i1 + * for i2 in range(n2): */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":649 + /* "argpartsort.pyx":652 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i1 - * if n1 == 0: + * for i2 in range(n2): + * y[i0, i1, i2] = i0 */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":650 + /* "argpartsort.pyx":653 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i1 # <<<<<<<<<<<<<< - * if n1 == 0: + * for i2 in range(n2): # <<<<<<<<<<<<<< + * y[i0, i1, i2] = i0 + * if n0 == 0: + */ + __pyx_t_9 = __pyx_v_n2; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i2 = __pyx_t_10; + + /* "argpartsort.pyx":654 + * for i1 in range(n1): + * for i2 in range(n2): + * y[i0, i1, i2] = i0 # <<<<<<<<<<<<<< + * if n0 == 0: * return y */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_t_13 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i0; + } } } - /* "argpartsort.pyx":651 - * for i1 in range(n1): - * y[i0, i1] = i1 - * if n1 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":655 + * for i2 in range(n2): + * y[i0, i1, i2] = i0 + * if n0 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_11) { + __pyx_t_14 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":652 - * y[i0, i1] = i1 - * if n1 == 0: + /* "argpartsort.pyx":656 + * y[i0, i1, i2] = i0 + * if n0 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -8777,320 +8843,343 @@ static PyObject *__pyx_pf_11argpartsort_22argpartsort_2d_int32_axis1(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":653 - * if n1 == 0: + /* "argpartsort.pyx":657 + * if n0 == 0: * return y - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ - __pyx_t_12 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_12) { - goto __pyx_L10_next_or; + __pyx_t_15 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_15) { + goto __pyx_L12_next_or; } else { - __pyx_t_11 = __pyx_t_12; - goto __pyx_L9_bool_binop_done; + __pyx_t_14 = __pyx_t_15; + goto __pyx_L11_bool_binop_done; } - __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); - __pyx_t_11 = __pyx_t_12; - __pyx_L9_bool_binop_done:; - if (__pyx_t_11) { + __pyx_L12_next_or:; + __pyx_t_15 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_14 = __pyx_t_15; + __pyx_L11_bool_binop_done:; + if (__pyx_t_14) { - /* "argpartsort.pyx":654 + /* "argpartsort.pyx":658 * return y - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * l = 0 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); - __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); + __Pyx_GIVEREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_16 = 0; + __pyx_t_17 = 0; + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_Raise(__pyx_t_14, 0, 0, 0); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_17 = 0; + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_Raise(__pyx_t_17, 0, 0, 0); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":655 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + /* "argpartsort.pyx":659 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * for i2 in range(n2): + * l = 0 */ - __pyx_t_5 = __pyx_v_n0; + __pyx_t_5 = __pyx_v_n1; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":656 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + /* "argpartsort.pyx":660 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): + * for i2 in range(n2): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_v_l = 0; + __pyx_t_7 = __pyx_v_n2; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i2 = __pyx_t_8; - /* "argpartsort.pyx":657 - * for i0 in range(n0): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k] + /* "argpartsort.pyx":661 + * for i1 in range(n1): + * for i2 in range(n2): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_l = 0; - /* "argpartsort.pyx":658 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] - * i = l + /* "argpartsort.pyx":662 + * for i2 in range(n2): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[k, i1, i2] */ - while (1) { - __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_11) break; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":659 - * r = n1 - 1 - * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":663 + * l = 0 + * r = n0 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[k, i1, i2] + * i = l */ - __pyx_t_7 = __pyx_v_i0; - __pyx_t_16 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_14) break; - /* "argpartsort.pyx":660 - * while l < r: - * x = b[i0, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":664 + * r = n0 - 1 + * while l < r: + * x = b[k, i1, i2] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_19 = __pyx_v_k; + __pyx_t_9 = __pyx_v_i1; + __pyx_t_10 = __pyx_v_i2; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":661 - * x = b[i0, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i] < x: i += 1 + /* "argpartsort.pyx":665 + * while l < r: + * x = b[k, i1, i2] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":662 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "argpartsort.pyx":666 + * x = b[k, i1, i2] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i, i1, i2] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":663 - * j = r - * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 - * if i <= j: + /* "argpartsort.pyx":667 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 */ while (1) { - __pyx_t_8 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_11) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "argpartsort.pyx":664 - * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i] + /* "argpartsort.pyx":668 + * j = r + * while 1: + * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_11) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + __pyx_t_22 = __pyx_v_i2; + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_14) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":665 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + /* "argpartsort.pyx":669 + * while 1: + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i, i1, i2] */ - __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_11) { + while (1) { + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i1; + __pyx_t_25 = __pyx_v_i2; + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_14) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":666 - * while x < b[i0, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "argpartsort.pyx":670 + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":667 - * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * itmp = y[i0, i] + /* "argpartsort.pyx":671 + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: + * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_26 = __pyx_v_i; + __pyx_t_27 = __pyx_v_i1; + __pyx_t_28 = __pyx_v_i2; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":668 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] + /* "argpartsort.pyx":672 + * if i <= j: + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< + * b[j, i1, i2] = tmp + * itmp = y[i, i1, i2] */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_29 = __pyx_v_j; + __pyx_t_30 = __pyx_v_i1; + __pyx_t_31 = __pyx_v_i2; + __pyx_t_32 = __pyx_v_i; + __pyx_t_33 = __pyx_v_i1; + __pyx_t_34 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":669 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * itmp = y[i0, i] # <<<<<<<<<<<<<< - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp + /* "argpartsort.pyx":673 + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< + * itmp = y[i, i1, i2] + * y[i, i1, i2] = y[j, i1, i2] */ - __pyx_t_28 = __pyx_v_i0; - __pyx_t_29 = __pyx_v_i; - __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_35 = __pyx_v_j; + __pyx_t_36 = __pyx_v_i1; + __pyx_t_37 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":670 - * b[i0, j] = tmp - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< - * y[i0, j] = itmp - * i += 1 + /* "argpartsort.pyx":674 + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp + * itmp = y[i, i1, i2] # <<<<<<<<<<<<<< + * y[i, i1, i2] = y[j, i1, i2] + * y[j, i1, i2] = itmp */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_38 = __pyx_v_i; + __pyx_t_39 = __pyx_v_i1; + __pyx_t_40 = __pyx_v_i2; + __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":671 - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":675 + * b[j, i1, i2] = tmp + * itmp = y[i, i1, i2] + * y[i, i1, i2] = y[j, i1, i2] # <<<<<<<<<<<<<< + * y[j, i1, i2] = itmp + * i += 1 */ - __pyx_t_34 = __pyx_v_i0; - __pyx_t_35 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; + __pyx_t_41 = __pyx_v_j; + __pyx_t_42 = __pyx_v_i1; + __pyx_t_43 = __pyx_v_i2; + __pyx_t_44 = __pyx_v_i; + __pyx_t_45 = __pyx_v_i1; + __pyx_t_46 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":672 - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":676 + * itmp = y[i, i1, i2] + * y[i, i1, i2] = y[j, i1, i2] + * y[j, i1, i2] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_t_47 = __pyx_v_j; + __pyx_t_48 = __pyx_v_i1; + __pyx_t_49 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":673 - * y[i0, j] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":677 + * y[i, i1, i2] = y[j, i1, i2] + * y[j, i1, i2] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L21; - } - __pyx_L21:; + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":674 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":678 + * y[j, i1, i2] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_11) { - goto __pyx_L16_break; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L25; + } + __pyx_L25:; + + /* "argpartsort.pyx":679 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j + */ + __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_14) { + goto __pyx_L20_break; + } } - } - __pyx_L16_break:; + __pyx_L20_break:; - /* "argpartsort.pyx":675 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":680 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return y */ - __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_11) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L23; - } - __pyx_L23:; + __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_14) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L27; + } + __pyx_L27:; - /* "argpartsort.pyx":676 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "argpartsort.pyx":681 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_11) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L24; + __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_14) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L28; + } + __pyx_L28:; } - __pyx_L24:; } } - /* "argpartsort.pyx":677 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":682 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -9100,27 +9189,27 @@ static PyObject *__pyx_pf_11argpartsort_22argpartsort_2d_int32_axis1(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":635 + /* "argpartsort.pyx":637 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=1." + * def argpartsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); + __Pyx_XDECREF(__pyx_t_16); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_XDECREF(__pyx_t_18); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9135,19 +9224,19 @@ static PyObject *__pyx_pf_11argpartsort_22argpartsort_2d_int32_axis1(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":681 +/* "argpartsort.pyx":686 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=0." + * def argpartsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_25argpartsort_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_24argpartsort_2d_int64_axis0[] = "argpartsort_2d_int64_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_25argpartsort_2d_int64_axis0 = {"argpartsort_2d_int64_axis0", (PyCFunction)__pyx_pw_11argpartsort_25argpartsort_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_24argpartsort_2d_int64_axis0}; -static PyObject *__pyx_pw_11argpartsort_25argpartsort_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_25argpartsort_3d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_24argpartsort_3d_float_axis1[] = "argpartsort_3d_float_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_25argpartsort_3d_float_axis1 = {"argpartsort_3d_float_axis1", (PyCFunction)__pyx_pw_11argpartsort_25argpartsort_3d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_24argpartsort_3d_float_axis1}; +static PyObject *__pyx_pw_11argpartsort_25argpartsort_3d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -9155,7 +9244,7 @@ static PyObject *__pyx_pw_11argpartsort_25argpartsort_2d_int64_axis0(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -9176,11 +9265,11 @@ static PyObject *__pyx_pw_11argpartsort_25argpartsort_2d_int64_axis0(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9189,18 +9278,18 @@ static PyObject *__pyx_pw_11argpartsort_25argpartsort_2d_int64_axis0(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_24argpartsort_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_24argpartsort_3d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -9211,21 +9300,23 @@ static PyObject *__pyx_pw_11argpartsort_25argpartsort_2d_int64_axis0(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_24argpartsort_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_24argpartsort_3d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -9238,7 +9329,7 @@ static PyObject *__pyx_pf_11argpartsort_24argpartsort_2d_int64_axis0(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[2]; + npy_intp __pyx_t_3[3]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; @@ -9246,35 +9337,49 @@ static PyObject *__pyx_pf_11argpartsort_24argpartsort_2d_int64_axis0(CYTHON_UNUS Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - int __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - npy_intp __pyx_t_16; - npy_intp __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + int __pyx_t_14; + int __pyx_t_15; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; Py_ssize_t __pyx_t_23; npy_intp __pyx_t_24; Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_26; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; Py_ssize_t __pyx_t_29; npy_intp __pyx_t_30; Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; - Py_ssize_t __pyx_t_33; - npy_intp __pyx_t_34; + Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_34; Py_ssize_t __pyx_t_35; + npy_intp __pyx_t_36; + Py_ssize_t __pyx_t_37; + Py_ssize_t __pyx_t_38; + npy_intp __pyx_t_39; + Py_ssize_t __pyx_t_40; + Py_ssize_t __pyx_t_41; + npy_intp __pyx_t_42; + Py_ssize_t __pyx_t_43; + Py_ssize_t __pyx_t_44; + npy_intp __pyx_t_45; + Py_ssize_t __pyx_t_46; + Py_ssize_t __pyx_t_47; + npy_intp __pyx_t_48; + Py_ssize_t __pyx_t_49; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_int64_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -9289,45 +9394,45 @@ static PyObject *__pyx_pf_11argpartsort_24argpartsort_2d_int64_axis0(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":683 - * def argpartsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int64 along axis=0." + /* "argpartsort.pyx":688 + * def argpartsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":685 + /* "argpartsort.pyx":690 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":688 - * cdef Py_ssize_t i0, i1 + /* "argpartsort.pyx":693 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -9335,109 +9440,132 @@ static PyObject *__pyx_pf_11argpartsort_24argpartsort_2d_int64_axis0(CYTHON_UNUS */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":689 + /* "argpartsort.pyx":694 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":690 + /* "argpartsort.pyx":695 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":691 + /* "argpartsort.pyx":696 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + */ + __pyx_v_n2 = (__pyx_v_dim[2]); + + /* "argpartsort.pyx":697 + * cdef Py_ssize_t n1 = dim[1] + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; __pyx_t_3[1] = __pyx_v_n1; + __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":692 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":698 + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":694 - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + /* "argpartsort.pyx":700 + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i0 + * for i2 in range(n2): */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":695 + /* "argpartsort.pyx":701 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i0 - * if n0 == 0: + * for i2 in range(n2): + * y[i0, i1, i2] = i1 */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":696 + /* "argpartsort.pyx":702 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i0 # <<<<<<<<<<<<<< - * if n0 == 0: + * for i2 in range(n2): # <<<<<<<<<<<<<< + * y[i0, i1, i2] = i1 + * if n1 == 0: + */ + __pyx_t_9 = __pyx_v_n2; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i2 = __pyx_t_10; + + /* "argpartsort.pyx":703 + * for i1 in range(n1): + * for i2 in range(n2): + * y[i0, i1, i2] = i1 # <<<<<<<<<<<<<< + * if n1 == 0: * return y */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_t_13 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i1; + } } } - /* "argpartsort.pyx":697 - * for i1 in range(n1): - * y[i0, i1] = i0 - * if n0 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":704 + * for i2 in range(n2): + * y[i0, i1, i2] = i1 + * if n1 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_11) { + __pyx_t_14 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":698 - * y[i0, i1] = i0 - * if n0 == 0: + /* "argpartsort.pyx":705 + * y[i0, i1, i2] = i1 + * if n1 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -9445,320 +9573,343 @@ static PyObject *__pyx_pf_11argpartsort_24argpartsort_2d_int64_axis0(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":699 - * if n0 == 0: + /* "argpartsort.pyx":706 + * if n1 == 0: * return y - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ - __pyx_t_12 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_12) { - goto __pyx_L10_next_or; + __pyx_t_15 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_15) { + goto __pyx_L12_next_or; } else { - __pyx_t_11 = __pyx_t_12; - goto __pyx_L9_bool_binop_done; + __pyx_t_14 = __pyx_t_15; + goto __pyx_L11_bool_binop_done; } - __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); - __pyx_t_11 = __pyx_t_12; - __pyx_L9_bool_binop_done:; - if (__pyx_t_11) { + __pyx_L12_next_or:; + __pyx_t_15 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_14 = __pyx_t_15; + __pyx_L11_bool_binop_done:; + if (__pyx_t_14) { - /* "argpartsort.pyx":700 + /* "argpartsort.pyx":707 * return y - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * l = 0 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); - __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); + __Pyx_GIVEREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_16 = 0; + __pyx_t_17 = 0; + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_Raise(__pyx_t_14, 0, 0, 0); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_17 = 0; + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_Raise(__pyx_t_17, 0, 0, 0); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":701 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + /* "argpartsort.pyx":708 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i2 in range(n2): + * l = 0 */ - __pyx_t_5 = __pyx_v_n1; + __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":702 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * while l < r: + /* "argpartsort.pyx":709 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): + * for i2 in range(n2): # <<<<<<<<<<<<<< + * l = 0 + * r = n1 - 1 */ - __pyx_v_l = 0; + __pyx_t_7 = __pyx_v_n2; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i2 = __pyx_t_8; - /* "argpartsort.pyx":703 - * for i1 in range(n1): - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[k, i1] + /* "argpartsort.pyx":710 + * for i0 in range(n0): + * for i2 in range(n2): + * l = 0 # <<<<<<<<<<<<<< + * r = n1 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "argpartsort.pyx":704 - * l = 0 - * r = n0 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] - * i = l + /* "argpartsort.pyx":711 + * for i2 in range(n2): + * l = 0 + * r = n1 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[i0, k, i2] */ - while (1) { - __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_11) break; + __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":705 - * r = n0 - 1 - * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":712 + * l = 0 + * r = n1 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[i0, k, i2] + * i = l */ - __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_14) break; - /* "argpartsort.pyx":706 - * while l < r: - * x = b[k, i1] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":713 + * r = n1 - 1 + * while l < r: + * x = b[i0, k, i2] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_k; + __pyx_t_10 = __pyx_v_i2; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":707 - * x = b[k, i1] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i, i1] < x: i += 1 + /* "argpartsort.pyx":714 + * while l < r: + * x = b[i0, k, i2] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":708 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":715 + * x = b[i0, k, i2] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i0, i, i2] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":709 - * j = r - * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 - * if i <= j: + /* "argpartsort.pyx":716 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 */ while (1) { - __pyx_t_17 = __pyx_v_i; - __pyx_t_8 = __pyx_v_i1; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_11) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "argpartsort.pyx":710 - * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i, i1] + /* "argpartsort.pyx":717 + * j = r + * while 1: + * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_11) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + __pyx_t_22 = __pyx_v_i2; + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_14) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":711 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + /* "argpartsort.pyx":718 + * while 1: + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i0, i, i2] */ - __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_11) { + while (1) { + __pyx_t_23 = __pyx_v_i0; + __pyx_t_24 = __pyx_v_j; + __pyx_t_25 = __pyx_v_i2; + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_14) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":712 - * while x < b[j, i1]: j -= 1 - * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "argpartsort.pyx":719 + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] */ - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":713 - * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp - * itmp = y[i, i1] + /* "argpartsort.pyx":720 + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: + * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_i; + __pyx_t_28 = __pyx_v_i2; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":714 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] + /* "argpartsort.pyx":721 + * if i <= j: + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< + * b[i0, j, i2] = tmp + * itmp = y[i0, i, i2] */ - __pyx_t_26 = __pyx_v_j; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_29 = __pyx_v_i0; + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i2; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i; + __pyx_t_34 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":715 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp - * itmp = y[i, i1] # <<<<<<<<<<<<<< - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":722 + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i, i2] + * y[i0, i, i2] = y[i0, j, i2] */ - __pyx_t_28 = __pyx_v_i; - __pyx_t_29 = __pyx_v_i1; - __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_35 = __pyx_v_i0; + __pyx_t_36 = __pyx_v_j; + __pyx_t_37 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":716 - * b[j, i1] = tmp - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< - * y[j, i1] = itmp - * i += 1 + /* "argpartsort.pyx":723 + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp + * itmp = y[i0, i, i2] # <<<<<<<<<<<<<< + * y[i0, i, i2] = y[i0, j, i2] + * y[i0, j, i2] = itmp */ - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_i; - __pyx_t_33 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_38 = __pyx_v_i0; + __pyx_t_39 = __pyx_v_i; + __pyx_t_40 = __pyx_v_i2; + __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); + + /* "argpartsort.pyx":724 + * b[i0, j, i2] = tmp + * itmp = y[i0, i, i2] + * y[i0, i, i2] = y[i0, j, i2] # <<<<<<<<<<<<<< + * y[i0, j, i2] = itmp + * i += 1 + */ + __pyx_t_41 = __pyx_v_i0; + __pyx_t_42 = __pyx_v_j; + __pyx_t_43 = __pyx_v_i2; + __pyx_t_44 = __pyx_v_i0; + __pyx_t_45 = __pyx_v_i; + __pyx_t_46 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":717 - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":725 + * itmp = y[i0, i, i2] + * y[i0, i, i2] = y[i0, j, i2] + * y[i0, j, i2] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_34 = __pyx_v_j; - __pyx_t_35 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; + __pyx_t_47 = __pyx_v_i0; + __pyx_t_48 = __pyx_v_j; + __pyx_t_49 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":718 - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":726 + * y[i0, i, i2] = y[i0, j, i2] + * y[i0, j, i2] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":719 - * y[j, i1] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":727 + * y[i0, j, i2] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L21; - } - __pyx_L21:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L25; + } + __pyx_L25:; - /* "argpartsort.pyx":720 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":728 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_11) { - goto __pyx_L16_break; + __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_14) { + goto __pyx_L20_break; + } } - } - __pyx_L16_break:; + __pyx_L20_break:; - /* "argpartsort.pyx":721 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":729 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return y */ - __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_11) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L23; - } - __pyx_L23:; + __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_14) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L27; + } + __pyx_L27:; - /* "argpartsort.pyx":722 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "argpartsort.pyx":730 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_11) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L24; + __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_14) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L28; + } + __pyx_L28:; } - __pyx_L24:; } } - /* "argpartsort.pyx":723 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":731 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -9768,27 +9919,27 @@ static PyObject *__pyx_pf_11argpartsort_24argpartsort_2d_int64_axis0(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":681 + /* "argpartsort.pyx":686 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=0." + * def argpartsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); + __Pyx_XDECREF(__pyx_t_16); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_XDECREF(__pyx_t_18); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9803,19 +9954,19 @@ static PyObject *__pyx_pf_11argpartsort_24argpartsort_2d_int64_axis0(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":727 +/* "argpartsort.pyx":735 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=1." + * def argpartsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_27argpartsort_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_26argpartsort_2d_int64_axis1[] = "argpartsort_2d_int64_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int64 along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_27argpartsort_2d_int64_axis1 = {"argpartsort_2d_int64_axis1", (PyCFunction)__pyx_pw_11argpartsort_27argpartsort_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_26argpartsort_2d_int64_axis1}; -static PyObject *__pyx_pw_11argpartsort_27argpartsort_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_27argpartsort_3d_float_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_26argpartsort_3d_float_axis2[] = "argpartsort_3d_float_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=2."; +static PyMethodDef __pyx_mdef_11argpartsort_27argpartsort_3d_float_axis2 = {"argpartsort_3d_float_axis2", (PyCFunction)__pyx_pw_11argpartsort_27argpartsort_3d_float_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_26argpartsort_3d_float_axis2}; +static PyObject *__pyx_pw_11argpartsort_27argpartsort_3d_float_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -9823,7 +9974,7 @@ static PyObject *__pyx_pw_11argpartsort_27argpartsort_2d_int64_axis1(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_int64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -9844,11 +9995,11 @@ static PyObject *__pyx_pw_11argpartsort_27argpartsort_2d_int64_axis1(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9857,18 +10008,18 @@ static PyObject *__pyx_pw_11argpartsort_27argpartsort_2d_int64_axis1(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_26argpartsort_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_26argpartsort_3d_float_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -9879,21 +10030,23 @@ static PyObject *__pyx_pw_11argpartsort_27argpartsort_2d_int64_axis1(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_26argpartsort_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_26argpartsort_3d_float_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -9906,7 +10059,7 @@ static PyObject *__pyx_pf_11argpartsort_26argpartsort_2d_int64_axis1(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[2]; + npy_intp __pyx_t_3[3]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; @@ -9914,35 +10067,49 @@ static PyObject *__pyx_pf_11argpartsort_26argpartsort_2d_int64_axis1(CYTHON_UNUS Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - int __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - npy_intp __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + int __pyx_t_14; + int __pyx_t_15; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; npy_intp __pyx_t_19; Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; Py_ssize_t __pyx_t_24; npy_intp __pyx_t_25; Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; - Py_ssize_t __pyx_t_28; - npy_intp __pyx_t_29; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_29; Py_ssize_t __pyx_t_30; npy_intp __pyx_t_31; Py_ssize_t __pyx_t_32; - npy_intp __pyx_t_33; - Py_ssize_t __pyx_t_34; - npy_intp __pyx_t_35; + Py_ssize_t __pyx_t_33; + npy_intp __pyx_t_34; + Py_ssize_t __pyx_t_35; + Py_ssize_t __pyx_t_36; + npy_intp __pyx_t_37; + Py_ssize_t __pyx_t_38; + Py_ssize_t __pyx_t_39; + npy_intp __pyx_t_40; + Py_ssize_t __pyx_t_41; + Py_ssize_t __pyx_t_42; + npy_intp __pyx_t_43; + Py_ssize_t __pyx_t_44; + Py_ssize_t __pyx_t_45; + npy_intp __pyx_t_46; + Py_ssize_t __pyx_t_47; + Py_ssize_t __pyx_t_48; + npy_intp __pyx_t_49; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_int64_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -9957,45 +10124,45 @@ static PyObject *__pyx_pf_11argpartsort_26argpartsort_2d_int64_axis1(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":729 - * def argpartsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int64 along axis=1." + /* "argpartsort.pyx":737 + * def argpartsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":731 + /* "argpartsort.pyx":739 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":734 - * cdef Py_ssize_t i0, i1 + /* "argpartsort.pyx":742 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -10003,109 +10170,132 @@ static PyObject *__pyx_pf_11argpartsort_26argpartsort_2d_int64_axis1(CYTHON_UNUS */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":735 + /* "argpartsort.pyx":743 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":736 + /* "argpartsort.pyx":744 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":737 + /* "argpartsort.pyx":745 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + */ + __pyx_v_n2 = (__pyx_v_dim[2]); + + /* "argpartsort.pyx":746 + * cdef Py_ssize_t n1 = dim[1] + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; __pyx_t_3[1] = __pyx_v_n1; + __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":738 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":747 + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":740 - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + /* "argpartsort.pyx":749 + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i1 + * for i2 in range(n2): */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":741 + /* "argpartsort.pyx":750 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i1 - * if n1 == 0: + * for i2 in range(n2): + * y[i0, i1, i2] = i2 */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":742 + /* "argpartsort.pyx":751 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i1 # <<<<<<<<<<<<<< - * if n1 == 0: + * for i2 in range(n2): # <<<<<<<<<<<<<< + * y[i0, i1, i2] = i2 + * if n2 == 0: + */ + __pyx_t_9 = __pyx_v_n2; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i2 = __pyx_t_10; + + /* "argpartsort.pyx":752 + * for i1 in range(n1): + * for i2 in range(n2): + * y[i0, i1, i2] = i2 # <<<<<<<<<<<<<< + * if n2 == 0: * return y */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_t_13 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i2; + } } } - /* "argpartsort.pyx":743 - * for i1 in range(n1): - * y[i0, i1] = i1 - * if n1 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":753 + * for i2 in range(n2): + * y[i0, i1, i2] = i2 + * if n2 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n2): */ - __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_11) { + __pyx_t_14 = ((__pyx_v_n2 == 0) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":744 - * y[i0, i1] = i1 - * if n1 == 0: + /* "argpartsort.pyx":754 + * y[i0, i1, i2] = i2 + * if n2 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -10113,320 +10303,343 @@ static PyObject *__pyx_pf_11argpartsort_26argpartsort_2d_int64_axis1(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":745 - * if n1 == 0: + /* "argpartsort.pyx":755 + * if n2 == 0: * return y - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): */ - __pyx_t_12 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_12) { - goto __pyx_L10_next_or; + __pyx_t_15 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_15) { + goto __pyx_L12_next_or; } else { - __pyx_t_11 = __pyx_t_12; - goto __pyx_L9_bool_binop_done; + __pyx_t_14 = __pyx_t_15; + goto __pyx_L11_bool_binop_done; } - __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); - __pyx_t_11 = __pyx_t_12; - __pyx_L9_bool_binop_done:; - if (__pyx_t_11) { + __pyx_L12_next_or:; + __pyx_t_15 = ((__pyx_v_n > __pyx_v_n2) != 0); + __pyx_t_14 = __pyx_t_15; + __pyx_L11_bool_binop_done:; + if (__pyx_t_14) { - /* "argpartsort.pyx":746 + /* "argpartsort.pyx":756 * return y - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< * for i0 in range(n0): - * l = 0 + * for i1 in range(n1): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); - __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); + __Pyx_GIVEREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_16 = 0; + __pyx_t_17 = 0; + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_Raise(__pyx_t_14, 0, 0, 0); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_17 = 0; + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_Raise(__pyx_t_17, 0, 0, 0); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":747 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + /* "argpartsort.pyx":757 + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + * for i1 in range(n1): + * l = 0 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":748 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + /* "argpartsort.pyx":758 + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n2 - 1 */ - __pyx_v_l = 0; + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":749 + /* "argpartsort.pyx":759 * for i0 in range(n0): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k] + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n2 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_l = 0; - /* "argpartsort.pyx":750 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] - * i = l + /* "argpartsort.pyx":760 + * for i1 in range(n1): + * l = 0 + * r = n2 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[i0, i1, k] */ - while (1) { - __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_11) break; + __pyx_v_r = (__pyx_v_n2 - 1); - /* "argpartsort.pyx":751 - * r = n1 - 1 - * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":761 + * l = 0 + * r = n2 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[i0, i1, k] + * i = l */ - __pyx_t_7 = __pyx_v_i0; - __pyx_t_16 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_14) break; - /* "argpartsort.pyx":752 - * while l < r: - * x = b[i0, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":762 + * r = n2 - 1 + * while l < r: + * x = b[i0, i1, k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_t_19 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":753 - * x = b[i0, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i] < x: i += 1 + /* "argpartsort.pyx":763 + * while l < r: + * x = b[i0, i1, k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":754 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "argpartsort.pyx":764 + * x = b[i0, i1, k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i0, i1, i] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":755 - * j = r - * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 - * if i <= j: + /* "argpartsort.pyx":765 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 */ while (1) { - __pyx_t_8 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_11) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "argpartsort.pyx":756 - * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i] + /* "argpartsort.pyx":766 + * j = r + * while 1: + * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: + */ + while (1) { + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i1; + __pyx_t_22 = __pyx_v_i; + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_14) break; + __pyx_v_i = (__pyx_v_i + 1); + } + + /* "argpartsort.pyx":767 + * while 1: + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i0, i1, i] */ - while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_11) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_23 = __pyx_v_i0; + __pyx_t_24 = __pyx_v_i1; + __pyx_t_25 = __pyx_v_j; + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_14) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":757 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + /* "argpartsort.pyx":768 + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] */ - __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_11) { + __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":758 - * while x < b[i0, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "argpartsort.pyx":769 + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: + * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_i1; + __pyx_t_28 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":759 - * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * itmp = y[i0, i] + /* "argpartsort.pyx":770 + * if i <= j: + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< + * b[i0, i1, j] = tmp + * itmp = y[i0, i1, i] */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_29 = __pyx_v_i0; + __pyx_t_30 = __pyx_v_i1; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i1; + __pyx_t_34 = __pyx_v_i; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":760 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] + /* "argpartsort.pyx":771 + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i1, i] + * y[i0, i1, i] = y[i0, i1, j] */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_35 = __pyx_v_i0; + __pyx_t_36 = __pyx_v_i1; + __pyx_t_37 = __pyx_v_j; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":761 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * itmp = y[i0, i] # <<<<<<<<<<<<<< - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp + /* "argpartsort.pyx":772 + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp + * itmp = y[i0, i1, i] # <<<<<<<<<<<<<< + * y[i0, i1, i] = y[i0, i1, j] + * y[i0, i1, j] = itmp */ - __pyx_t_28 = __pyx_v_i0; - __pyx_t_29 = __pyx_v_i; - __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_38 = __pyx_v_i0; + __pyx_t_39 = __pyx_v_i1; + __pyx_t_40 = __pyx_v_i; + __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":762 - * b[i0, j] = tmp - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< - * y[i0, j] = itmp - * i += 1 + /* "argpartsort.pyx":773 + * b[i0, i1, j] = tmp + * itmp = y[i0, i1, i] + * y[i0, i1, i] = y[i0, i1, j] # <<<<<<<<<<<<<< + * y[i0, i1, j] = itmp + * i += 1 */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_41 = __pyx_v_i0; + __pyx_t_42 = __pyx_v_i1; + __pyx_t_43 = __pyx_v_j; + __pyx_t_44 = __pyx_v_i0; + __pyx_t_45 = __pyx_v_i1; + __pyx_t_46 = __pyx_v_i; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":763 - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":774 + * itmp = y[i0, i1, i] + * y[i0, i1, i] = y[i0, i1, j] + * y[i0, i1, j] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_34 = __pyx_v_i0; - __pyx_t_35 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; + __pyx_t_47 = __pyx_v_i0; + __pyx_t_48 = __pyx_v_i1; + __pyx_t_49 = __pyx_v_j; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":764 - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":775 + * y[i0, i1, i] = y[i0, i1, j] + * y[i0, i1, j] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":765 - * y[i0, j] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":776 + * y[i0, i1, j] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L21; - } - __pyx_L21:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L25; + } + __pyx_L25:; - /* "argpartsort.pyx":766 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":777 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_11) { - goto __pyx_L16_break; + __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_14) { + goto __pyx_L20_break; + } } - } - __pyx_L16_break:; + __pyx_L20_break:; - /* "argpartsort.pyx":767 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":778 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return y */ - __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_11) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L23; - } - __pyx_L23:; + __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_14) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L27; + } + __pyx_L27:; - /* "argpartsort.pyx":768 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "argpartsort.pyx":779 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_11) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L24; + __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_14) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L28; + } + __pyx_L28:; } - __pyx_L24:; } } - /* "argpartsort.pyx":769 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":780 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -10436,27 +10649,27 @@ static PyObject *__pyx_pf_11argpartsort_26argpartsort_2d_int64_axis1(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":727 + /* "argpartsort.pyx":735 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=1." + * def argpartsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); + __Pyx_XDECREF(__pyx_t_16); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_XDECREF(__pyx_t_18); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -10471,19 +10684,19 @@ static PyObject *__pyx_pf_11argpartsort_26argpartsort_2d_int64_axis1(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":773 +/* "argpartsort.pyx":784 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=0." + * def argpartsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_29argpartsort_3d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_28argpartsort_3d_int_axis0[] = "argpartsort_3d_int_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_29argpartsort_3d_int_axis0 = {"argpartsort_3d_int_axis0", (PyCFunction)__pyx_pw_11argpartsort_29argpartsort_3d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_28argpartsort_3d_int_axis0}; -static PyObject *__pyx_pw_11argpartsort_29argpartsort_3d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_29argpartsort_3d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_28argpartsort_3d_float32_axis0[] = "argpartsort_3d_float32_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_29argpartsort_3d_float32_axis0 = {"argpartsort_3d_float32_axis0", (PyCFunction)__pyx_pw_11argpartsort_29argpartsort_3d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_28argpartsort_3d_float32_axis0}; +static PyObject *__pyx_pw_11argpartsort_29argpartsort_3d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -10491,7 +10704,7 @@ static PyObject *__pyx_pw_11argpartsort_29argpartsort_3d_int_axis0(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -10512,11 +10725,11 @@ static PyObject *__pyx_pw_11argpartsort_29argpartsort_3d_int_axis0(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -10525,18 +10738,18 @@ static PyObject *__pyx_pw_11argpartsort_29argpartsort_3d_int_axis0(PyObject *__p values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_28argpartsort_3d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -10547,15 +10760,15 @@ static PyObject *__pyx_pw_11argpartsort_29argpartsort_3d_int_axis0(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -10626,7 +10839,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -10641,36 +10854,36 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":775 - * def argpartsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int along axis=0." + /* "argpartsort.pyx":786 + * def argpartsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":777 + /* "argpartsort.pyx":788 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -10678,7 +10891,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":780 + /* "argpartsort.pyx":791 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10687,7 +10900,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":781 + /* "argpartsort.pyx":792 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -10696,7 +10909,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":782 + /* "argpartsort.pyx":793 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -10705,7 +10918,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":783 + /* "argpartsort.pyx":794 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -10714,7 +10927,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "argpartsort.pyx":784 + /* "argpartsort.pyx":795 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< @@ -10726,22 +10939,22 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":785 + /* "argpartsort.pyx":796 * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } @@ -10749,7 +10962,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":787 + /* "argpartsort.pyx":798 * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -10760,7 +10973,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":788 + /* "argpartsort.pyx":799 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -10771,7 +10984,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":789 + /* "argpartsort.pyx":800 * for i0 in range(n0): * for i1 in range(n1): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -10782,7 +10995,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { __pyx_v_i2 = __pyx_t_10; - /* "argpartsort.pyx":790 + /* "argpartsort.pyx":801 * for i1 in range(n1): * for i2 in range(n2): * y[i0, i1, i2] = i0 # <<<<<<<<<<<<<< @@ -10797,7 +11010,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED } } - /* "argpartsort.pyx":791 + /* "argpartsort.pyx":802 * for i2 in range(n2): * y[i0, i1, i2] = i0 * if n0 == 0: # <<<<<<<<<<<<<< @@ -10807,7 +11020,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_14 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":792 + /* "argpartsort.pyx":803 * y[i0, i1, i2] = i0 * if n0 == 0: * return y # <<<<<<<<<<<<<< @@ -10820,7 +11033,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED goto __pyx_L0; } - /* "argpartsort.pyx":793 + /* "argpartsort.pyx":804 * if n0 == 0: * return y * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< @@ -10840,20 +11053,20 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_L11_bool_binop_done:; if (__pyx_t_14) { - /* "argpartsort.pyx":794 + /* "argpartsort.pyx":805 * return y * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< * for i1 in range(n1): * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_16); @@ -10861,24 +11074,24 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __Pyx_GIVEREF(__pyx_t_17); __pyx_t_16 = 0; __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":795 + /* "argpartsort.pyx":806 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -10889,7 +11102,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":796 + /* "argpartsort.pyx":807 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) * for i1 in range(n1): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -10900,7 +11113,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i2 = __pyx_t_8; - /* "argpartsort.pyx":797 + /* "argpartsort.pyx":808 * for i1 in range(n1): * for i2 in range(n2): * l = 0 # <<<<<<<<<<<<<< @@ -10909,7 +11122,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED */ __pyx_v_l = 0; - /* "argpartsort.pyx":798 + /* "argpartsort.pyx":809 * for i2 in range(n2): * l = 0 * r = n0 - 1 # <<<<<<<<<<<<<< @@ -10918,7 +11131,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED */ __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":799 + /* "argpartsort.pyx":810 * l = 0 * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -10929,7 +11142,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_14) break; - /* "argpartsort.pyx":800 + /* "argpartsort.pyx":811 * r = n0 - 1 * while l < r: * x = b[k, i1, i2] # <<<<<<<<<<<<<< @@ -10939,9 +11152,9 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_19 = __pyx_v_k; __pyx_t_9 = __pyx_v_i1; __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":801 + /* "argpartsort.pyx":812 * while l < r: * x = b[k, i1, i2] * i = l # <<<<<<<<<<<<<< @@ -10950,7 +11163,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":802 + /* "argpartsort.pyx":813 * x = b[k, i1, i2] * i = l * j = r # <<<<<<<<<<<<<< @@ -10959,7 +11172,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":803 + /* "argpartsort.pyx":814 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -10968,7 +11181,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED */ while (1) { - /* "argpartsort.pyx":804 + /* "argpartsort.pyx":815 * j = r * while 1: * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< @@ -10979,12 +11192,12 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_20 = __pyx_v_i; __pyx_t_21 = __pyx_v_i1; __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":805 + /* "argpartsort.pyx":816 * while 1: * while b[i, i1, i2] < x: i += 1 * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< @@ -10995,12 +11208,12 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_23 = __pyx_v_j; __pyx_t_24 = __pyx_v_i1; __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":806 + /* "argpartsort.pyx":817 * while b[i, i1, i2] < x: i += 1 * while x < b[j, i1, i2]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -11010,7 +11223,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":807 + /* "argpartsort.pyx":818 * while x < b[j, i1, i2]: j -= 1 * if i <= j: * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< @@ -11020,9 +11233,9 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_26 = __pyx_v_i; __pyx_t_27 = __pyx_v_i1; __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":808 + /* "argpartsort.pyx":819 * if i <= j: * tmp = b[i, i1, i2] * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< @@ -11035,9 +11248,9 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_32 = __pyx_v_i; __pyx_t_33 = __pyx_v_i1; __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":809 + /* "argpartsort.pyx":820 * tmp = b[i, i1, i2] * b[i, i1, i2] = b[j, i1, i2] * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< @@ -11047,9 +11260,9 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_35 = __pyx_v_j; __pyx_t_36 = __pyx_v_i1; __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":810 + /* "argpartsort.pyx":821 * b[i, i1, i2] = b[j, i1, i2] * b[j, i1, i2] = tmp * itmp = y[i, i1, i2] # <<<<<<<<<<<<<< @@ -11061,7 +11274,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_40 = __pyx_v_i2; __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":811 + /* "argpartsort.pyx":822 * b[j, i1, i2] = tmp * itmp = y[i, i1, i2] * y[i, i1, i2] = y[j, i1, i2] # <<<<<<<<<<<<<< @@ -11076,7 +11289,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_46 = __pyx_v_i2; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":812 + /* "argpartsort.pyx":823 * itmp = y[i, i1, i2] * y[i, i1, i2] = y[j, i1, i2] * y[j, i1, i2] = itmp # <<<<<<<<<<<<<< @@ -11088,7 +11301,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_t_49 = __pyx_v_i2; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":813 + /* "argpartsort.pyx":824 * y[i, i1, i2] = y[j, i1, i2] * y[j, i1, i2] = itmp * i += 1 # <<<<<<<<<<<<<< @@ -11097,7 +11310,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":814 + /* "argpartsort.pyx":825 * y[j, i1, i2] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -11109,7 +11322,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED } __pyx_L25:; - /* "argpartsort.pyx":815 + /* "argpartsort.pyx":826 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -11123,7 +11336,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED } __pyx_L20_break:; - /* "argpartsort.pyx":816 + /* "argpartsort.pyx":827 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -11137,7 +11350,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED } __pyx_L27:; - /* "argpartsort.pyx":817 + /* "argpartsort.pyx":828 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -11154,7 +11367,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED } } - /* "argpartsort.pyx":818 + /* "argpartsort.pyx":829 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -11166,11 +11379,11 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":773 + /* "argpartsort.pyx":784 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=0." + * def argpartsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -11186,7 +11399,7 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -11201,19 +11414,19 @@ static PyObject *__pyx_pf_11argpartsort_28argpartsort_3d_int_axis0(CYTHON_UNUSED return __pyx_r; } -/* "argpartsort.pyx":822 +/* "argpartsort.pyx":833 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=1." + * def argpartsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_31argpartsort_3d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_30argpartsort_3d_int_axis1[] = "argpartsort_3d_int_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_31argpartsort_3d_int_axis1 = {"argpartsort_3d_int_axis1", (PyCFunction)__pyx_pw_11argpartsort_31argpartsort_3d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_30argpartsort_3d_int_axis1}; -static PyObject *__pyx_pw_11argpartsort_31argpartsort_3d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_31argpartsort_3d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_30argpartsort_3d_float32_axis1[] = "argpartsort_3d_float32_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_31argpartsort_3d_float32_axis1 = {"argpartsort_3d_float32_axis1", (PyCFunction)__pyx_pw_11argpartsort_31argpartsort_3d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_30argpartsort_3d_float32_axis1}; +static PyObject *__pyx_pw_11argpartsort_31argpartsort_3d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -11221,7 +11434,7 @@ static PyObject *__pyx_pw_11argpartsort_31argpartsort_3d_int_axis1(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -11242,11 +11455,11 @@ static PyObject *__pyx_pw_11argpartsort_31argpartsort_3d_int_axis1(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -11255,18 +11468,18 @@ static PyObject *__pyx_pw_11argpartsort_31argpartsort_3d_int_axis1(PyObject *__p values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_30argpartsort_3d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -11277,15 +11490,15 @@ static PyObject *__pyx_pw_11argpartsort_31argpartsort_3d_int_axis1(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -11356,7 +11569,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -11371,36 +11584,36 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":824 - * def argpartsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int along axis=1." + /* "argpartsort.pyx":835 + * def argpartsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":826 + /* "argpartsort.pyx":837 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -11408,7 +11621,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":829 + /* "argpartsort.pyx":840 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -11417,7 +11630,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":830 + /* "argpartsort.pyx":841 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -11426,7 +11639,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":831 + /* "argpartsort.pyx":842 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -11435,7 +11648,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":832 + /* "argpartsort.pyx":843 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -11444,7 +11657,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "argpartsort.pyx":833 + /* "argpartsort.pyx":844 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< @@ -11456,22 +11669,22 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":834 + /* "argpartsort.pyx":845 * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } @@ -11479,7 +11692,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":836 + /* "argpartsort.pyx":847 * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -11490,7 +11703,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":837 + /* "argpartsort.pyx":848 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -11501,7 +11714,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":838 + /* "argpartsort.pyx":849 * for i0 in range(n0): * for i1 in range(n1): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -11512,7 +11725,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { __pyx_v_i2 = __pyx_t_10; - /* "argpartsort.pyx":839 + /* "argpartsort.pyx":850 * for i1 in range(n1): * for i2 in range(n2): * y[i0, i1, i2] = i1 # <<<<<<<<<<<<<< @@ -11527,7 +11740,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED } } - /* "argpartsort.pyx":840 + /* "argpartsort.pyx":851 * for i2 in range(n2): * y[i0, i1, i2] = i1 * if n1 == 0: # <<<<<<<<<<<<<< @@ -11537,7 +11750,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_14 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":841 + /* "argpartsort.pyx":852 * y[i0, i1, i2] = i1 * if n1 == 0: * return y # <<<<<<<<<<<<<< @@ -11550,7 +11763,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED goto __pyx_L0; } - /* "argpartsort.pyx":842 + /* "argpartsort.pyx":853 * if n1 == 0: * return y * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< @@ -11570,20 +11783,20 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_L11_bool_binop_done:; if (__pyx_t_14) { - /* "argpartsort.pyx":843 + /* "argpartsort.pyx":854 * return y * if (n < 1) or (n > n1): * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< * for i0 in range(n0): * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_16); @@ -11591,24 +11804,24 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __Pyx_GIVEREF(__pyx_t_17); __pyx_t_16 = 0; __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":844 + /* "argpartsort.pyx":855 * if (n < 1) or (n > n1): * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -11619,7 +11832,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":845 + /* "argpartsort.pyx":856 * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -11630,7 +11843,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i2 = __pyx_t_8; - /* "argpartsort.pyx":846 + /* "argpartsort.pyx":857 * for i0 in range(n0): * for i2 in range(n2): * l = 0 # <<<<<<<<<<<<<< @@ -11639,7 +11852,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED */ __pyx_v_l = 0; - /* "argpartsort.pyx":847 + /* "argpartsort.pyx":858 * for i2 in range(n2): * l = 0 * r = n1 - 1 # <<<<<<<<<<<<<< @@ -11648,7 +11861,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED */ __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":848 + /* "argpartsort.pyx":859 * l = 0 * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -11659,7 +11872,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_14) break; - /* "argpartsort.pyx":849 + /* "argpartsort.pyx":860 * r = n1 - 1 * while l < r: * x = b[i0, k, i2] # <<<<<<<<<<<<<< @@ -11669,9 +11882,9 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_9 = __pyx_v_i0; __pyx_t_19 = __pyx_v_k; __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":850 + /* "argpartsort.pyx":861 * while l < r: * x = b[i0, k, i2] * i = l # <<<<<<<<<<<<<< @@ -11680,7 +11893,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":851 + /* "argpartsort.pyx":862 * x = b[i0, k, i2] * i = l * j = r # <<<<<<<<<<<<<< @@ -11689,7 +11902,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":852 + /* "argpartsort.pyx":863 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -11698,7 +11911,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED */ while (1) { - /* "argpartsort.pyx":853 + /* "argpartsort.pyx":864 * j = r * while 1: * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< @@ -11709,12 +11922,12 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_i; __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":854 + /* "argpartsort.pyx":865 * while 1: * while b[i0, i, i2] < x: i += 1 * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< @@ -11725,12 +11938,12 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_23 = __pyx_v_i0; __pyx_t_24 = __pyx_v_j; __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":855 + /* "argpartsort.pyx":866 * while b[i0, i, i2] < x: i += 1 * while x < b[i0, j, i2]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -11740,7 +11953,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":856 + /* "argpartsort.pyx":867 * while x < b[i0, j, i2]: j -= 1 * if i <= j: * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< @@ -11750,9 +11963,9 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_26 = __pyx_v_i0; __pyx_t_27 = __pyx_v_i; __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":857 + /* "argpartsort.pyx":868 * if i <= j: * tmp = b[i0, i, i2] * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< @@ -11765,9 +11978,9 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_32 = __pyx_v_i0; __pyx_t_33 = __pyx_v_i; __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":858 + /* "argpartsort.pyx":869 * tmp = b[i0, i, i2] * b[i0, i, i2] = b[i0, j, i2] * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< @@ -11777,9 +11990,9 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_35 = __pyx_v_i0; __pyx_t_36 = __pyx_v_j; __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":859 + /* "argpartsort.pyx":870 * b[i0, i, i2] = b[i0, j, i2] * b[i0, j, i2] = tmp * itmp = y[i0, i, i2] # <<<<<<<<<<<<<< @@ -11791,7 +12004,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_40 = __pyx_v_i2; __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":860 + /* "argpartsort.pyx":871 * b[i0, j, i2] = tmp * itmp = y[i0, i, i2] * y[i0, i, i2] = y[i0, j, i2] # <<<<<<<<<<<<<< @@ -11806,7 +12019,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_46 = __pyx_v_i2; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":861 + /* "argpartsort.pyx":872 * itmp = y[i0, i, i2] * y[i0, i, i2] = y[i0, j, i2] * y[i0, j, i2] = itmp # <<<<<<<<<<<<<< @@ -11818,7 +12031,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_t_49 = __pyx_v_i2; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":862 + /* "argpartsort.pyx":873 * y[i0, i, i2] = y[i0, j, i2] * y[i0, j, i2] = itmp * i += 1 # <<<<<<<<<<<<<< @@ -11827,7 +12040,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":863 + /* "argpartsort.pyx":874 * y[i0, j, i2] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -11839,7 +12052,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED } __pyx_L25:; - /* "argpartsort.pyx":864 + /* "argpartsort.pyx":875 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -11853,7 +12066,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED } __pyx_L20_break:; - /* "argpartsort.pyx":865 + /* "argpartsort.pyx":876 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -11867,7 +12080,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED } __pyx_L27:; - /* "argpartsort.pyx":866 + /* "argpartsort.pyx":877 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -11884,7 +12097,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED } } - /* "argpartsort.pyx":867 + /* "argpartsort.pyx":878 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -11896,11 +12109,11 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":822 + /* "argpartsort.pyx":833 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=1." + * def argpartsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -11916,7 +12129,7 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -11931,19 +12144,19 @@ static PyObject *__pyx_pf_11argpartsort_30argpartsort_3d_int_axis1(CYTHON_UNUSED return __pyx_r; } -/* "argpartsort.pyx":871 +/* "argpartsort.pyx":882 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=2." + * def argpartsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_33argpartsort_3d_int_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_32argpartsort_3d_int_axis2[] = "argpartsort_3d_int_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=2."; -static PyMethodDef __pyx_mdef_11argpartsort_33argpartsort_3d_int_axis2 = {"argpartsort_3d_int_axis2", (PyCFunction)__pyx_pw_11argpartsort_33argpartsort_3d_int_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_32argpartsort_3d_int_axis2}; -static PyObject *__pyx_pw_11argpartsort_33argpartsort_3d_int_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_33argpartsort_3d_float32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_32argpartsort_3d_float32_axis2[] = "argpartsort_3d_float32_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=2."; +static PyMethodDef __pyx_mdef_11argpartsort_33argpartsort_3d_float32_axis2 = {"argpartsort_3d_float32_axis2", (PyCFunction)__pyx_pw_11argpartsort_33argpartsort_3d_float32_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_32argpartsort_3d_float32_axis2}; +static PyObject *__pyx_pw_11argpartsort_33argpartsort_3d_float32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -11951,7 +12164,7 @@ static PyObject *__pyx_pw_11argpartsort_33argpartsort_3d_int_axis2(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -11972,11 +12185,11 @@ static PyObject *__pyx_pw_11argpartsort_33argpartsort_3d_int_axis2(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float32_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -11985,18 +12198,18 @@ static PyObject *__pyx_pw_11argpartsort_33argpartsort_3d_int_axis2(PyObject *__p values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_32argpartsort_3d_float32_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -12007,15 +12220,15 @@ static PyObject *__pyx_pw_11argpartsort_33argpartsort_3d_int_axis2(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_float32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -12086,7 +12299,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int_axis2", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -12101,36 +12314,36 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":873 - * def argpartsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int along axis=2." + /* "argpartsort.pyx":884 + * def argpartsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":875 + /* "argpartsort.pyx":886 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -12138,7 +12351,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":878 + /* "argpartsort.pyx":889 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -12147,7 +12360,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":879 + /* "argpartsort.pyx":890 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -12156,7 +12369,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":880 + /* "argpartsort.pyx":891 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -12165,7 +12378,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":881 + /* "argpartsort.pyx":892 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -12174,7 +12387,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "argpartsort.pyx":882 + /* "argpartsort.pyx":893 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< @@ -12186,22 +12399,22 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":883 + /* "argpartsort.pyx":894 * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } @@ -12209,7 +12422,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":885 + /* "argpartsort.pyx":896 * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -12220,7 +12433,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":886 + /* "argpartsort.pyx":897 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -12231,7 +12444,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":887 + /* "argpartsort.pyx":898 * for i0 in range(n0): * for i1 in range(n1): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -12242,7 +12455,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { __pyx_v_i2 = __pyx_t_10; - /* "argpartsort.pyx":888 + /* "argpartsort.pyx":899 * for i1 in range(n1): * for i2 in range(n2): * y[i0, i1, i2] = i2 # <<<<<<<<<<<<<< @@ -12257,7 +12470,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED } } - /* "argpartsort.pyx":889 + /* "argpartsort.pyx":900 * for i2 in range(n2): * y[i0, i1, i2] = i2 * if n2 == 0: # <<<<<<<<<<<<<< @@ -12267,7 +12480,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_14 = ((__pyx_v_n2 == 0) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":890 + /* "argpartsort.pyx":901 * y[i0, i1, i2] = i2 * if n2 == 0: * return y # <<<<<<<<<<<<<< @@ -12280,7 +12493,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED goto __pyx_L0; } - /* "argpartsort.pyx":891 + /* "argpartsort.pyx":902 * if n2 == 0: * return y * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< @@ -12300,20 +12513,20 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_L11_bool_binop_done:; if (__pyx_t_14) { - /* "argpartsort.pyx":892 + /* "argpartsort.pyx":903 * return y * if (n < 1) or (n > n2): * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< * for i0 in range(n0): * for i1 in range(n1): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_16); @@ -12321,24 +12534,24 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __Pyx_GIVEREF(__pyx_t_17); __pyx_t_16 = 0; __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":893 + /* "argpartsort.pyx":904 * if (n < 1) or (n > n2): * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -12349,7 +12562,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":894 + /* "argpartsort.pyx":905 * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -12360,7 +12573,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":895 + /* "argpartsort.pyx":906 * for i0 in range(n0): * for i1 in range(n1): * l = 0 # <<<<<<<<<<<<<< @@ -12369,7 +12582,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED */ __pyx_v_l = 0; - /* "argpartsort.pyx":896 + /* "argpartsort.pyx":907 * for i1 in range(n1): * l = 0 * r = n2 - 1 # <<<<<<<<<<<<<< @@ -12378,7 +12591,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED */ __pyx_v_r = (__pyx_v_n2 - 1); - /* "argpartsort.pyx":897 + /* "argpartsort.pyx":908 * l = 0 * r = n2 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -12389,7 +12602,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_14) break; - /* "argpartsort.pyx":898 + /* "argpartsort.pyx":909 * r = n2 - 1 * while l < r: * x = b[i0, i1, k] # <<<<<<<<<<<<<< @@ -12399,9 +12612,9 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_19 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":899 + /* "argpartsort.pyx":910 * while l < r: * x = b[i0, i1, k] * i = l # <<<<<<<<<<<<<< @@ -12410,7 +12623,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":900 + /* "argpartsort.pyx":911 * x = b[i0, i1, k] * i = l * j = r # <<<<<<<<<<<<<< @@ -12419,7 +12632,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":901 + /* "argpartsort.pyx":912 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -12428,7 +12641,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED */ while (1) { - /* "argpartsort.pyx":902 + /* "argpartsort.pyx":913 * j = r * while 1: * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< @@ -12439,12 +12652,12 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_i1; __pyx_t_22 = __pyx_v_i; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":903 + /* "argpartsort.pyx":914 * while 1: * while b[i0, i1, i] < x: i += 1 * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< @@ -12455,12 +12668,12 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_23 = __pyx_v_i0; __pyx_t_24 = __pyx_v_i1; __pyx_t_25 = __pyx_v_j; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":904 + /* "argpartsort.pyx":915 * while b[i0, i1, i] < x: i += 1 * while x < b[i0, i1, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -12470,7 +12683,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":905 + /* "argpartsort.pyx":916 * while x < b[i0, i1, j]: j -= 1 * if i <= j: * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< @@ -12480,9 +12693,9 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_26 = __pyx_v_i0; __pyx_t_27 = __pyx_v_i1; __pyx_t_28 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":906 + /* "argpartsort.pyx":917 * if i <= j: * tmp = b[i0, i1, i] * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< @@ -12495,9 +12708,9 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_32 = __pyx_v_i0; __pyx_t_33 = __pyx_v_i1; __pyx_t_34 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":907 + /* "argpartsort.pyx":918 * tmp = b[i0, i1, i] * b[i0, i1, i] = b[i0, i1, j] * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< @@ -12507,9 +12720,9 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_35 = __pyx_v_i0; __pyx_t_36 = __pyx_v_i1; __pyx_t_37 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":908 + /* "argpartsort.pyx":919 * b[i0, i1, i] = b[i0, i1, j] * b[i0, i1, j] = tmp * itmp = y[i0, i1, i] # <<<<<<<<<<<<<< @@ -12521,7 +12734,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_40 = __pyx_v_i; __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":909 + /* "argpartsort.pyx":920 * b[i0, i1, j] = tmp * itmp = y[i0, i1, i] * y[i0, i1, i] = y[i0, i1, j] # <<<<<<<<<<<<<< @@ -12536,7 +12749,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_46 = __pyx_v_i; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":910 + /* "argpartsort.pyx":921 * itmp = y[i0, i1, i] * y[i0, i1, i] = y[i0, i1, j] * y[i0, i1, j] = itmp # <<<<<<<<<<<<<< @@ -12548,7 +12761,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_t_49 = __pyx_v_j; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":911 + /* "argpartsort.pyx":922 * y[i0, i1, i] = y[i0, i1, j] * y[i0, i1, j] = itmp * i += 1 # <<<<<<<<<<<<<< @@ -12557,7 +12770,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":912 + /* "argpartsort.pyx":923 * y[i0, i1, j] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -12569,7 +12782,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED } __pyx_L25:; - /* "argpartsort.pyx":913 + /* "argpartsort.pyx":924 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -12583,7 +12796,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED } __pyx_L20_break:; - /* "argpartsort.pyx":914 + /* "argpartsort.pyx":925 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -12597,7 +12810,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED } __pyx_L27:; - /* "argpartsort.pyx":915 + /* "argpartsort.pyx":926 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -12614,7 +12827,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED } } - /* "argpartsort.pyx":916 + /* "argpartsort.pyx":927 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -12626,11 +12839,11 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":871 + /* "argpartsort.pyx":882 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=2." + * def argpartsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -12646,7 +12859,7 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -12661,19 +12874,19 @@ static PyObject *__pyx_pf_11argpartsort_32argpartsort_3d_int_axis2(CYTHON_UNUSED return __pyx_r; } -/* "argpartsort.pyx":920 +/* "argpartsort.pyx":931 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=0." + * def argpartsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_35argpartsort_3d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_34argpartsort_3d_int8_axis0[] = "argpartsort_3d_int8_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_35argpartsort_3d_int8_axis0 = {"argpartsort_3d_int8_axis0", (PyCFunction)__pyx_pw_11argpartsort_35argpartsort_3d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_34argpartsort_3d_int8_axis0}; -static PyObject *__pyx_pw_11argpartsort_35argpartsort_3d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_35argpartsort_3d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_34argpartsort_3d_float64_axis0[] = "argpartsort_3d_float64_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_35argpartsort_3d_float64_axis0 = {"argpartsort_3d_float64_axis0", (PyCFunction)__pyx_pw_11argpartsort_35argpartsort_3d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_34argpartsort_3d_float64_axis0}; +static PyObject *__pyx_pw_11argpartsort_35argpartsort_3d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -12681,7 +12894,7 @@ static PyObject *__pyx_pw_11argpartsort_35argpartsort_3d_int8_axis0(PyObject *__ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -12702,11 +12915,11 @@ static PyObject *__pyx_pw_11argpartsort_35argpartsort_3d_int8_axis0(PyObject *__ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -12715,18 +12928,18 @@ static PyObject *__pyx_pw_11argpartsort_35argpartsort_3d_int8_axis0(PyObject *__ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_34argpartsort_3d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -12737,15 +12950,15 @@ static PyObject *__pyx_pw_11argpartsort_35argpartsort_3d_int8_axis0(PyObject *__ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -12816,7 +13029,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -12831,36 +13044,36 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":922 - * def argpartsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int8 along axis=0." + /* "argpartsort.pyx":933 + * def argpartsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":924 + /* "argpartsort.pyx":935 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -12868,7 +13081,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":927 + /* "argpartsort.pyx":938 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -12877,7 +13090,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":928 + /* "argpartsort.pyx":939 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -12886,7 +13099,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":929 + /* "argpartsort.pyx":940 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -12895,7 +13108,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":930 + /* "argpartsort.pyx":941 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -12904,7 +13117,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "argpartsort.pyx":931 + /* "argpartsort.pyx":942 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< @@ -12916,22 +13129,22 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":932 + /* "argpartsort.pyx":943 * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } @@ -12939,7 +13152,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":934 + /* "argpartsort.pyx":945 * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -12950,7 +13163,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":935 + /* "argpartsort.pyx":946 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -12961,7 +13174,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":936 + /* "argpartsort.pyx":947 * for i0 in range(n0): * for i1 in range(n1): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -12972,7 +13185,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { __pyx_v_i2 = __pyx_t_10; - /* "argpartsort.pyx":937 + /* "argpartsort.pyx":948 * for i1 in range(n1): * for i2 in range(n2): * y[i0, i1, i2] = i0 # <<<<<<<<<<<<<< @@ -12987,7 +13200,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE } } - /* "argpartsort.pyx":938 + /* "argpartsort.pyx":949 * for i2 in range(n2): * y[i0, i1, i2] = i0 * if n0 == 0: # <<<<<<<<<<<<<< @@ -12997,7 +13210,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_14 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":939 + /* "argpartsort.pyx":950 * y[i0, i1, i2] = i0 * if n0 == 0: * return y # <<<<<<<<<<<<<< @@ -13010,7 +13223,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE goto __pyx_L0; } - /* "argpartsort.pyx":940 + /* "argpartsort.pyx":951 * if n0 == 0: * return y * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< @@ -13030,20 +13243,20 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_L11_bool_binop_done:; if (__pyx_t_14) { - /* "argpartsort.pyx":941 + /* "argpartsort.pyx":952 * return y * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< * for i1 in range(n1): * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_16); @@ -13051,24 +13264,24 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __Pyx_GIVEREF(__pyx_t_17); __pyx_t_16 = 0; __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":942 + /* "argpartsort.pyx":953 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -13079,7 +13292,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":943 + /* "argpartsort.pyx":954 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) * for i1 in range(n1): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -13090,7 +13303,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i2 = __pyx_t_8; - /* "argpartsort.pyx":944 + /* "argpartsort.pyx":955 * for i1 in range(n1): * for i2 in range(n2): * l = 0 # <<<<<<<<<<<<<< @@ -13099,7 +13312,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE */ __pyx_v_l = 0; - /* "argpartsort.pyx":945 + /* "argpartsort.pyx":956 * for i2 in range(n2): * l = 0 * r = n0 - 1 # <<<<<<<<<<<<<< @@ -13108,7 +13321,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE */ __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":946 + /* "argpartsort.pyx":957 * l = 0 * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -13119,7 +13332,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_14) break; - /* "argpartsort.pyx":947 + /* "argpartsort.pyx":958 * r = n0 - 1 * while l < r: * x = b[k, i1, i2] # <<<<<<<<<<<<<< @@ -13129,9 +13342,9 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_19 = __pyx_v_k; __pyx_t_9 = __pyx_v_i1; __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":948 + /* "argpartsort.pyx":959 * while l < r: * x = b[k, i1, i2] * i = l # <<<<<<<<<<<<<< @@ -13140,7 +13353,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":949 + /* "argpartsort.pyx":960 * x = b[k, i1, i2] * i = l * j = r # <<<<<<<<<<<<<< @@ -13149,7 +13362,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":950 + /* "argpartsort.pyx":961 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -13158,7 +13371,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE */ while (1) { - /* "argpartsort.pyx":951 + /* "argpartsort.pyx":962 * j = r * while 1: * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< @@ -13169,12 +13382,12 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_20 = __pyx_v_i; __pyx_t_21 = __pyx_v_i1; __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":952 + /* "argpartsort.pyx":963 * while 1: * while b[i, i1, i2] < x: i += 1 * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< @@ -13185,12 +13398,12 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_23 = __pyx_v_j; __pyx_t_24 = __pyx_v_i1; __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":953 + /* "argpartsort.pyx":964 * while b[i, i1, i2] < x: i += 1 * while x < b[j, i1, i2]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -13200,7 +13413,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":954 + /* "argpartsort.pyx":965 * while x < b[j, i1, i2]: j -= 1 * if i <= j: * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< @@ -13210,9 +13423,9 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_26 = __pyx_v_i; __pyx_t_27 = __pyx_v_i1; __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":955 + /* "argpartsort.pyx":966 * if i <= j: * tmp = b[i, i1, i2] * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< @@ -13225,9 +13438,9 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_32 = __pyx_v_i; __pyx_t_33 = __pyx_v_i1; __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":956 + /* "argpartsort.pyx":967 * tmp = b[i, i1, i2] * b[i, i1, i2] = b[j, i1, i2] * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< @@ -13237,9 +13450,9 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_35 = __pyx_v_j; __pyx_t_36 = __pyx_v_i1; __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":957 + /* "argpartsort.pyx":968 * b[i, i1, i2] = b[j, i1, i2] * b[j, i1, i2] = tmp * itmp = y[i, i1, i2] # <<<<<<<<<<<<<< @@ -13251,7 +13464,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_40 = __pyx_v_i2; __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":958 + /* "argpartsort.pyx":969 * b[j, i1, i2] = tmp * itmp = y[i, i1, i2] * y[i, i1, i2] = y[j, i1, i2] # <<<<<<<<<<<<<< @@ -13266,7 +13479,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_46 = __pyx_v_i2; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":959 + /* "argpartsort.pyx":970 * itmp = y[i, i1, i2] * y[i, i1, i2] = y[j, i1, i2] * y[j, i1, i2] = itmp # <<<<<<<<<<<<<< @@ -13278,7 +13491,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_t_49 = __pyx_v_i2; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":960 + /* "argpartsort.pyx":971 * y[i, i1, i2] = y[j, i1, i2] * y[j, i1, i2] = itmp * i += 1 # <<<<<<<<<<<<<< @@ -13287,7 +13500,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":961 + /* "argpartsort.pyx":972 * y[j, i1, i2] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -13299,7 +13512,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE } __pyx_L25:; - /* "argpartsort.pyx":962 + /* "argpartsort.pyx":973 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -13313,7 +13526,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE } __pyx_L20_break:; - /* "argpartsort.pyx":963 + /* "argpartsort.pyx":974 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -13327,7 +13540,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE } __pyx_L27:; - /* "argpartsort.pyx":964 + /* "argpartsort.pyx":975 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -13344,7 +13557,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE } } - /* "argpartsort.pyx":965 + /* "argpartsort.pyx":976 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -13356,11 +13569,11 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":920 + /* "argpartsort.pyx":931 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=0." + * def argpartsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -13376,7 +13589,7 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -13391,19 +13604,19 @@ static PyObject *__pyx_pf_11argpartsort_34argpartsort_3d_int8_axis0(CYTHON_UNUSE return __pyx_r; } -/* "argpartsort.pyx":969 +/* "argpartsort.pyx":980 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=1." + * def argpartsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_37argpartsort_3d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_36argpartsort_3d_int8_axis1[] = "argpartsort_3d_int8_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_37argpartsort_3d_int8_axis1 = {"argpartsort_3d_int8_axis1", (PyCFunction)__pyx_pw_11argpartsort_37argpartsort_3d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_36argpartsort_3d_int8_axis1}; -static PyObject *__pyx_pw_11argpartsort_37argpartsort_3d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_37argpartsort_3d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_36argpartsort_3d_float64_axis1[] = "argpartsort_3d_float64_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_37argpartsort_3d_float64_axis1 = {"argpartsort_3d_float64_axis1", (PyCFunction)__pyx_pw_11argpartsort_37argpartsort_3d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_36argpartsort_3d_float64_axis1}; +static PyObject *__pyx_pw_11argpartsort_37argpartsort_3d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -13411,7 +13624,7 @@ static PyObject *__pyx_pw_11argpartsort_37argpartsort_3d_int8_axis1(PyObject *__ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -13432,11 +13645,11 @@ static PyObject *__pyx_pw_11argpartsort_37argpartsort_3d_int8_axis1(PyObject *__ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -13445,18 +13658,18 @@ static PyObject *__pyx_pw_11argpartsort_37argpartsort_3d_int8_axis1(PyObject *__ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_36argpartsort_3d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -13467,15 +13680,15 @@ static PyObject *__pyx_pw_11argpartsort_37argpartsort_3d_int8_axis1(PyObject *__ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -13546,7 +13759,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -13561,36 +13774,36 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":971 - * def argpartsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int8 along axis=1." + /* "argpartsort.pyx":982 + * def argpartsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":973 + /* "argpartsort.pyx":984 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -13598,7 +13811,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":976 + /* "argpartsort.pyx":987 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -13607,7 +13820,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":977 + /* "argpartsort.pyx":988 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -13616,7 +13829,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":978 + /* "argpartsort.pyx":989 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -13625,7 +13838,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":979 + /* "argpartsort.pyx":990 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -13634,7 +13847,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "argpartsort.pyx":980 + /* "argpartsort.pyx":991 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< @@ -13646,22 +13859,22 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":981 + /* "argpartsort.pyx":992 * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } @@ -13669,7 +13882,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":983 + /* "argpartsort.pyx":994 * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -13680,7 +13893,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":984 + /* "argpartsort.pyx":995 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -13691,7 +13904,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":985 + /* "argpartsort.pyx":996 * for i0 in range(n0): * for i1 in range(n1): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -13702,7 +13915,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { __pyx_v_i2 = __pyx_t_10; - /* "argpartsort.pyx":986 + /* "argpartsort.pyx":997 * for i1 in range(n1): * for i2 in range(n2): * y[i0, i1, i2] = i1 # <<<<<<<<<<<<<< @@ -13717,7 +13930,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE } } - /* "argpartsort.pyx":987 + /* "argpartsort.pyx":998 * for i2 in range(n2): * y[i0, i1, i2] = i1 * if n1 == 0: # <<<<<<<<<<<<<< @@ -13727,7 +13940,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_14 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":988 + /* "argpartsort.pyx":999 * y[i0, i1, i2] = i1 * if n1 == 0: * return y # <<<<<<<<<<<<<< @@ -13740,7 +13953,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE goto __pyx_L0; } - /* "argpartsort.pyx":989 + /* "argpartsort.pyx":1000 * if n1 == 0: * return y * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< @@ -13760,20 +13973,20 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_L11_bool_binop_done:; if (__pyx_t_14) { - /* "argpartsort.pyx":990 + /* "argpartsort.pyx":1001 * return y * if (n < 1) or (n > n1): * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< * for i0 in range(n0): * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_16); @@ -13781,24 +13994,24 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __Pyx_GIVEREF(__pyx_t_17); __pyx_t_16 = 0; __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":991 + /* "argpartsort.pyx":1002 * if (n < 1) or (n > n1): * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -13809,7 +14022,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":992 + /* "argpartsort.pyx":1003 * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -13820,7 +14033,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i2 = __pyx_t_8; - /* "argpartsort.pyx":993 + /* "argpartsort.pyx":1004 * for i0 in range(n0): * for i2 in range(n2): * l = 0 # <<<<<<<<<<<<<< @@ -13829,7 +14042,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE */ __pyx_v_l = 0; - /* "argpartsort.pyx":994 + /* "argpartsort.pyx":1005 * for i2 in range(n2): * l = 0 * r = n1 - 1 # <<<<<<<<<<<<<< @@ -13838,7 +14051,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE */ __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":995 + /* "argpartsort.pyx":1006 * l = 0 * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -13849,7 +14062,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_14) break; - /* "argpartsort.pyx":996 + /* "argpartsort.pyx":1007 * r = n1 - 1 * while l < r: * x = b[i0, k, i2] # <<<<<<<<<<<<<< @@ -13859,9 +14072,9 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_9 = __pyx_v_i0; __pyx_t_19 = __pyx_v_k; __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":997 + /* "argpartsort.pyx":1008 * while l < r: * x = b[i0, k, i2] * i = l # <<<<<<<<<<<<<< @@ -13870,7 +14083,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":998 + /* "argpartsort.pyx":1009 * x = b[i0, k, i2] * i = l * j = r # <<<<<<<<<<<<<< @@ -13879,7 +14092,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":999 + /* "argpartsort.pyx":1010 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -13888,7 +14101,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE */ while (1) { - /* "argpartsort.pyx":1000 + /* "argpartsort.pyx":1011 * j = r * while 1: * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< @@ -13899,12 +14112,12 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_i; __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":1001 + /* "argpartsort.pyx":1012 * while 1: * while b[i0, i, i2] < x: i += 1 * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< @@ -13915,12 +14128,12 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_23 = __pyx_v_i0; __pyx_t_24 = __pyx_v_j; __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":1002 + /* "argpartsort.pyx":1013 * while b[i0, i, i2] < x: i += 1 * while x < b[i0, j, i2]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -13930,7 +14143,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":1003 + /* "argpartsort.pyx":1014 * while x < b[i0, j, i2]: j -= 1 * if i <= j: * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< @@ -13940,9 +14153,9 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_26 = __pyx_v_i0; __pyx_t_27 = __pyx_v_i; __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1004 + /* "argpartsort.pyx":1015 * if i <= j: * tmp = b[i0, i, i2] * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< @@ -13955,9 +14168,9 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_32 = __pyx_v_i0; __pyx_t_33 = __pyx_v_i; __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1005 + /* "argpartsort.pyx":1016 * tmp = b[i0, i, i2] * b[i0, i, i2] = b[i0, j, i2] * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< @@ -13967,9 +14180,9 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_35 = __pyx_v_i0; __pyx_t_36 = __pyx_v_j; __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1006 + /* "argpartsort.pyx":1017 * b[i0, i, i2] = b[i0, j, i2] * b[i0, j, i2] = tmp * itmp = y[i0, i, i2] # <<<<<<<<<<<<<< @@ -13981,7 +14194,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_40 = __pyx_v_i2; __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":1007 + /* "argpartsort.pyx":1018 * b[i0, j, i2] = tmp * itmp = y[i0, i, i2] * y[i0, i, i2] = y[i0, j, i2] # <<<<<<<<<<<<<< @@ -13996,7 +14209,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_46 = __pyx_v_i2; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":1008 + /* "argpartsort.pyx":1019 * itmp = y[i0, i, i2] * y[i0, i, i2] = y[i0, j, i2] * y[i0, j, i2] = itmp # <<<<<<<<<<<<<< @@ -14008,7 +14221,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_t_49 = __pyx_v_i2; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1009 + /* "argpartsort.pyx":1020 * y[i0, i, i2] = y[i0, j, i2] * y[i0, j, i2] = itmp * i += 1 # <<<<<<<<<<<<<< @@ -14017,7 +14230,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1010 + /* "argpartsort.pyx":1021 * y[i0, j, i2] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -14029,7 +14242,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE } __pyx_L25:; - /* "argpartsort.pyx":1011 + /* "argpartsort.pyx":1022 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -14043,7 +14256,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE } __pyx_L20_break:; - /* "argpartsort.pyx":1012 + /* "argpartsort.pyx":1023 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -14057,7 +14270,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE } __pyx_L27:; - /* "argpartsort.pyx":1013 + /* "argpartsort.pyx":1024 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -14074,7 +14287,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE } } - /* "argpartsort.pyx":1014 + /* "argpartsort.pyx":1025 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -14086,11 +14299,11 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":969 + /* "argpartsort.pyx":980 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=1." + * def argpartsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -14106,7 +14319,7 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -14121,19 +14334,19 @@ static PyObject *__pyx_pf_11argpartsort_36argpartsort_3d_int8_axis1(CYTHON_UNUSE return __pyx_r; } -/* "argpartsort.pyx":1018 +/* "argpartsort.pyx":1029 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=2." + * def argpartsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_39argpartsort_3d_int8_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_38argpartsort_3d_int8_axis2[] = "argpartsort_3d_int8_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=2."; -static PyMethodDef __pyx_mdef_11argpartsort_39argpartsort_3d_int8_axis2 = {"argpartsort_3d_int8_axis2", (PyCFunction)__pyx_pw_11argpartsort_39argpartsort_3d_int8_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_38argpartsort_3d_int8_axis2}; -static PyObject *__pyx_pw_11argpartsort_39argpartsort_3d_int8_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_39argpartsort_3d_float64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_38argpartsort_3d_float64_axis2[] = "argpartsort_3d_float64_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=2."; +static PyMethodDef __pyx_mdef_11argpartsort_39argpartsort_3d_float64_axis2 = {"argpartsort_3d_float64_axis2", (PyCFunction)__pyx_pw_11argpartsort_39argpartsort_3d_float64_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_38argpartsort_3d_float64_axis2}; +static PyObject *__pyx_pw_11argpartsort_39argpartsort_3d_float64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -14141,7 +14354,7 @@ static PyObject *__pyx_pw_11argpartsort_39argpartsort_3d_int8_axis2(PyObject *__ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -14162,11 +14375,11 @@ static PyObject *__pyx_pw_11argpartsort_39argpartsort_3d_int8_axis2(PyObject *__ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int8_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float64_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -14175,18 +14388,18 @@ static PyObject *__pyx_pw_11argpartsort_39argpartsort_3d_int8_axis2(PyObject *__ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_38argpartsort_3d_float64_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -14197,15 +14410,15 @@ static PyObject *__pyx_pw_11argpartsort_39argpartsort_3d_int8_axis2(PyObject *__ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_float64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -14276,7 +14489,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis2", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -14291,36 +14504,36 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":1020 - * def argpartsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int8 along axis=2." + /* "argpartsort.pyx":1031 + * def argpartsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1022 + /* "argpartsort.pyx":1033 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1033; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1033; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1033; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -14328,7 +14541,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1025 + /* "argpartsort.pyx":1036 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -14337,7 +14550,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1026 + /* "argpartsort.pyx":1037 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -14346,7 +14559,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1027 + /* "argpartsort.pyx":1038 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -14355,7 +14568,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":1028 + /* "argpartsort.pyx":1039 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -14364,7 +14577,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "argpartsort.pyx":1029 + /* "argpartsort.pyx":1040 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< @@ -14376,22 +14589,22 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1030 + /* "argpartsort.pyx":1041 * cdef Py_ssize_t n2 = dim[2] * cdef np.npy_intp *dims = [n0, n1, n2] * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } @@ -14399,7 +14612,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1032 + /* "argpartsort.pyx":1043 * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -14410,7 +14623,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1033 + /* "argpartsort.pyx":1044 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -14421,7 +14634,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1034 + /* "argpartsort.pyx":1045 * for i0 in range(n0): * for i1 in range(n1): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -14432,7 +14645,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { __pyx_v_i2 = __pyx_t_10; - /* "argpartsort.pyx":1035 + /* "argpartsort.pyx":1046 * for i1 in range(n1): * for i2 in range(n2): * y[i0, i1, i2] = i2 # <<<<<<<<<<<<<< @@ -14447,7 +14660,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE } } - /* "argpartsort.pyx":1036 + /* "argpartsort.pyx":1047 * for i2 in range(n2): * y[i0, i1, i2] = i2 * if n2 == 0: # <<<<<<<<<<<<<< @@ -14457,7 +14670,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_14 = ((__pyx_v_n2 == 0) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":1037 + /* "argpartsort.pyx":1048 * y[i0, i1, i2] = i2 * if n2 == 0: * return y # <<<<<<<<<<<<<< @@ -14470,7 +14683,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE goto __pyx_L0; } - /* "argpartsort.pyx":1038 + /* "argpartsort.pyx":1049 * if n2 == 0: * return y * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< @@ -14490,20 +14703,20 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_L11_bool_binop_done:; if (__pyx_t_14) { - /* "argpartsort.pyx":1039 + /* "argpartsort.pyx":1050 * return y * if (n < 1) or (n > n2): * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< * for i0 in range(n0): * for i1 in range(n1): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_16); @@ -14511,24 +14724,24 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __Pyx_GIVEREF(__pyx_t_17); __pyx_t_16 = 0; __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1040 + /* "argpartsort.pyx":1051 * if (n < 1) or (n > n2): * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -14539,7 +14752,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1041 + /* "argpartsort.pyx":1052 * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -14550,7 +14763,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1042 + /* "argpartsort.pyx":1053 * for i0 in range(n0): * for i1 in range(n1): * l = 0 # <<<<<<<<<<<<<< @@ -14559,7 +14772,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE */ __pyx_v_l = 0; - /* "argpartsort.pyx":1043 + /* "argpartsort.pyx":1054 * for i1 in range(n1): * l = 0 * r = n2 - 1 # <<<<<<<<<<<<<< @@ -14568,7 +14781,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE */ __pyx_v_r = (__pyx_v_n2 - 1); - /* "argpartsort.pyx":1044 + /* "argpartsort.pyx":1055 * l = 0 * r = n2 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -14579,7 +14792,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_14) break; - /* "argpartsort.pyx":1045 + /* "argpartsort.pyx":1056 * r = n2 - 1 * while l < r: * x = b[i0, i1, k] # <<<<<<<<<<<<<< @@ -14589,9 +14802,9 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_19 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1046 + /* "argpartsort.pyx":1057 * while l < r: * x = b[i0, i1, k] * i = l # <<<<<<<<<<<<<< @@ -14600,7 +14813,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1047 + /* "argpartsort.pyx":1058 * x = b[i0, i1, k] * i = l * j = r # <<<<<<<<<<<<<< @@ -14609,7 +14822,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1048 + /* "argpartsort.pyx":1059 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -14618,7 +14831,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE */ while (1) { - /* "argpartsort.pyx":1049 + /* "argpartsort.pyx":1060 * j = r * while 1: * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< @@ -14629,12 +14842,12 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_i1; __pyx_t_22 = __pyx_v_i; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":1050 + /* "argpartsort.pyx":1061 * while 1: * while b[i0, i1, i] < x: i += 1 * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< @@ -14645,12 +14858,12 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_23 = __pyx_v_i0; __pyx_t_24 = __pyx_v_i1; __pyx_t_25 = __pyx_v_j; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":1051 + /* "argpartsort.pyx":1062 * while b[i0, i1, i] < x: i += 1 * while x < b[i0, i1, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -14660,7 +14873,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_14) { - /* "argpartsort.pyx":1052 + /* "argpartsort.pyx":1063 * while x < b[i0, i1, j]: j -= 1 * if i <= j: * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< @@ -14670,9 +14883,9 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_26 = __pyx_v_i0; __pyx_t_27 = __pyx_v_i1; __pyx_t_28 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1053 + /* "argpartsort.pyx":1064 * if i <= j: * tmp = b[i0, i1, i] * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< @@ -14685,9 +14898,9 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_32 = __pyx_v_i0; __pyx_t_33 = __pyx_v_i1; __pyx_t_34 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1054 + /* "argpartsort.pyx":1065 * tmp = b[i0, i1, i] * b[i0, i1, i] = b[i0, i1, j] * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< @@ -14697,9 +14910,9 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_35 = __pyx_v_i0; __pyx_t_36 = __pyx_v_i1; __pyx_t_37 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1055 + /* "argpartsort.pyx":1066 * b[i0, i1, i] = b[i0, i1, j] * b[i0, i1, j] = tmp * itmp = y[i0, i1, i] # <<<<<<<<<<<<<< @@ -14711,7 +14924,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_40 = __pyx_v_i; __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":1056 + /* "argpartsort.pyx":1067 * b[i0, i1, j] = tmp * itmp = y[i0, i1, i] * y[i0, i1, i] = y[i0, i1, j] # <<<<<<<<<<<<<< @@ -14726,7 +14939,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_46 = __pyx_v_i; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":1057 + /* "argpartsort.pyx":1068 * itmp = y[i0, i1, i] * y[i0, i1, i] = y[i0, i1, j] * y[i0, i1, j] = itmp # <<<<<<<<<<<<<< @@ -14738,7 +14951,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_t_49 = __pyx_v_j; *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1058 + /* "argpartsort.pyx":1069 * y[i0, i1, i] = y[i0, i1, j] * y[i0, i1, j] = itmp * i += 1 # <<<<<<<<<<<<<< @@ -14747,7 +14960,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1059 + /* "argpartsort.pyx":1070 * y[i0, i1, j] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -14759,7 +14972,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE } __pyx_L25:; - /* "argpartsort.pyx":1060 + /* "argpartsort.pyx":1071 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -14773,7 +14986,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE } __pyx_L20_break:; - /* "argpartsort.pyx":1061 + /* "argpartsort.pyx":1072 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -14787,7 +15000,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE } __pyx_L27:; - /* "argpartsort.pyx":1062 + /* "argpartsort.pyx":1073 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -14804,7 +15017,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE } } - /* "argpartsort.pyx":1063 + /* "argpartsort.pyx":1074 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -14816,11 +15029,11 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1018 + /* "argpartsort.pyx":1029 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=2." + * def argpartsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -14836,7 +15049,7 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -14851,19 +15064,19 @@ static PyObject *__pyx_pf_11argpartsort_38argpartsort_3d_int8_axis2(CYTHON_UNUSE return __pyx_r; } -/* "argpartsort.pyx":1067 +/* "argpartsort.pyx":1078 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=0." + * def argpartsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_41argpartsort_3d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_40argpartsort_3d_int32_axis0[] = "argpartsort_3d_int32_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_41argpartsort_3d_int32_axis0 = {"argpartsort_3d_int32_axis0", (PyCFunction)__pyx_pw_11argpartsort_41argpartsort_3d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_40argpartsort_3d_int32_axis0}; -static PyObject *__pyx_pw_11argpartsort_41argpartsort_3d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_41argpartsort_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_40argpartsort_1d_int_axis0[] = "argpartsort_1d_int_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_41argpartsort_1d_int_axis0 = {"argpartsort_1d_int_axis0", (PyCFunction)__pyx_pw_11argpartsort_41argpartsort_1d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_40argpartsort_1d_int_axis0}; +static PyObject *__pyx_pw_11argpartsort_41argpartsort_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -14871,7 +15084,7 @@ static PyObject *__pyx_pw_11argpartsort_41argpartsort_3d_int32_axis0(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_int_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -14892,11 +15105,11 @@ static PyObject *__pyx_pw_11argpartsort_41argpartsort_3d_int32_axis0(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -14905,18 +15118,18 @@ static PyObject *__pyx_pw_11argpartsort_41argpartsort_3d_int32_axis0(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_40argpartsort_3d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_40argpartsort_1d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -14927,23 +15140,19 @@ static PyObject *__pyx_pw_11argpartsort_41argpartsort_3d_int32_axis0(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_40argpartsort_3d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_40argpartsort_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; - Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -14956,57 +15165,31 @@ static PyObject *__pyx_pf_11argpartsort_40argpartsort_3d_int32_axis0(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[3]; + npy_intp __pyx_t_3[1]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - int __pyx_t_14; - int __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; + int __pyx_t_8; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + npy_intp __pyx_t_13; + npy_intp __pyx_t_14; + npy_intp __pyx_t_15; + npy_intp __pyx_t_16; + npy_intp __pyx_t_17; + npy_intp __pyx_t_18; npy_intp __pyx_t_19; npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_21; + npy_intp __pyx_t_22; npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - Py_ssize_t __pyx_t_28; - npy_intp __pyx_t_29; - Py_ssize_t __pyx_t_30; - Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; - Py_ssize_t __pyx_t_33; - Py_ssize_t __pyx_t_34; - npy_intp __pyx_t_35; - Py_ssize_t __pyx_t_36; - Py_ssize_t __pyx_t_37; - npy_intp __pyx_t_38; - Py_ssize_t __pyx_t_39; - Py_ssize_t __pyx_t_40; - npy_intp __pyx_t_41; - Py_ssize_t __pyx_t_42; - Py_ssize_t __pyx_t_43; - npy_intp __pyx_t_44; - Py_ssize_t __pyx_t_45; - Py_ssize_t __pyx_t_46; - npy_intp __pyx_t_47; - Py_ssize_t __pyx_t_48; - Py_ssize_t __pyx_t_49; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_int_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -15021,174 +15204,128 @@ static PyObject *__pyx_pf_11argpartsort_40argpartsort_3d_int32_axis0(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "argpartsort.pyx":1069 - * def argpartsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int32 along axis=0." + /* "argpartsort.pyx":1080 + * def argpartsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1071 + /* "argpartsort.pyx":1082 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1074 - * cdef Py_ssize_t i0, i1, i2 + /* "argpartsort.pyx":1085 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1075 + /* "argpartsort.pyx":1086 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1076 + /* "argpartsort.pyx":1087 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "argpartsort.pyx":1077 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "argpartsort.pyx":1078 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; - __pyx_t_3[1] = __pyx_v_n1; - __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1079 - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1088 + * cdef Py_ssize_t n0 = dim[0] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1081 - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, - * NPY_intp, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * for i2 in range(n2): - */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; - - /* "argpartsort.pyx":1082 + /* "argpartsort.pyx":1090 + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * y[i0, i1, i2] = i0 - */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; - - /* "argpartsort.pyx":1083 - * for i0 in range(n0): - * for i1 in range(n1): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * y[i0, i1, i2] = i0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * y[i0] = i0 * if n0 == 0: */ - __pyx_t_9 = __pyx_v_n2; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i2 = __pyx_t_10; + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1084 - * for i1 in range(n1): - * for i2 in range(n2): - * y[i0, i1, i2] = i0 # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1091 + * NPY_intp, 0) + * for i0 in range(n0): + * y[i0] = i0 # <<<<<<<<<<<<<< * if n0 == 0: * return y */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_t_13 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i0; - } - } + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_i0; } - /* "argpartsort.pyx":1085 - * for i2 in range(n2): - * y[i0, i1, i2] = i0 + /* "argpartsort.pyx":1092 + * for i0 in range(n0): + * y[i0] = i0 * if n0 == 0: # <<<<<<<<<<<<<< * return y * if (n < 1) or (n > n0): */ - __pyx_t_14 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_14) { + __pyx_t_8 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_8) { - /* "argpartsort.pyx":1086 - * y[i0, i1, i2] = i0 + /* "argpartsort.pyx":1093 + * y[i0] = i0 * if n0 == 0: * return y # <<<<<<<<<<<<<< * if (n < 1) or (n > n0): @@ -15200,343 +15337,330 @@ static PyObject *__pyx_pf_11argpartsort_40argpartsort_3d_int32_axis0(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":1087 + /* "argpartsort.pyx":1094 * if n0 == 0: * return y * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * l = 0 */ - __pyx_t_15 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_15) { - goto __pyx_L12_next_or; + __pyx_t_9 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_9) { + goto __pyx_L8_next_or; } else { - __pyx_t_14 = __pyx_t_15; - goto __pyx_L11_bool_binop_done; + __pyx_t_8 = __pyx_t_9; + goto __pyx_L7_bool_binop_done; } - __pyx_L12_next_or:; - __pyx_t_15 = ((__pyx_v_n > __pyx_v_n0) != 0); - __pyx_t_14 = __pyx_t_15; - __pyx_L11_bool_binop_done:; - if (__pyx_t_14) { + __pyx_L8_next_or:; + __pyx_t_9 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_8 = __pyx_t_9; + __pyx_L7_bool_binop_done:; + if (__pyx_t_8) { - /* "argpartsort.pyx":1088 + /* "argpartsort.pyx":1095 * return y * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * for i2 in range(n2): + * l = 0 + * r = n0 - 1 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_16 = 0; - __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); + __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_10 = 0; + __pyx_t_11 = 0; + __pyx_t_11 = PyNumber_Remainder(__pyx_t_1, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_Raise(__pyx_t_17, 0, 0, 0); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_Raise(__pyx_t_11, 0, 0, 0); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1089 + /* "argpartsort.pyx":1096 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * l = 0 + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_l = 0; - /* "argpartsort.pyx":1090 + /* "argpartsort.pyx":1097 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: + * while l < r: */ - __pyx_t_7 = __pyx_v_n2; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i2 = __pyx_t_8; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":1091 - * for i1 in range(n1): - * for i2 in range(n2): - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * while l < r: + /* "argpartsort.pyx":1098 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_v_l = 0; + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { - /* "argpartsort.pyx":1092 - * for i2 in range(n2): - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[k, i1, i2] + /* "argpartsort.pyx":1099 + * r = n0 - 1 + * with nogil: + * while l < r: # <<<<<<<<<<<<<< + * x = b[k] + * i = l */ - __pyx_v_r = (__pyx_v_n0 - 1); + while (1) { + __pyx_t_8 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_8) break; - /* "argpartsort.pyx":1093 - * l = 0 - * r = n0 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1, i2] - * i = l + /* "argpartsort.pyx":1100 + * with nogil: + * while l < r: + * x = b[k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - while (1) { - __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_14) break; + __pyx_t_13 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1094 - * r = n0 - 1 - * while l < r: - * x = b[k, i1, i2] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":1101 + * while l < r: + * x = b[k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_t_19 = __pyx_v_k; - __pyx_t_9 = __pyx_v_i1; - __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1095 - * while l < r: - * x = b[k, i1, i2] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":1102 + * x = b[k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i] < x: i += 1 */ - __pyx_v_i = __pyx_v_l; + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1096 - * x = b[k, i1, i2] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i, i1, i2] < x: i += 1 + /* "argpartsort.pyx":1103 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ - __pyx_v_j = __pyx_v_r; + while (1) { - /* "argpartsort.pyx":1097 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 + /* "argpartsort.pyx":1104 + * j = r + * while 1: + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 + * if i <= j: */ - while (1) { + while (1) { + __pyx_t_14 = __pyx_v_i; + __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_8) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1098 - * j = r - * while 1: - * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: + /* "argpartsort.pyx":1105 + * while 1: + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i] */ - while (1) { - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_14) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_15 = __pyx_v_j; + __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_8) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":1099 - * while 1: - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i, i1, i2] + /* "argpartsort.pyx":1106 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i] + * b[i] = b[j] */ - while (1) { - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i1; - __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_14) break; - __pyx_v_j = (__pyx_v_j - 1); - } + __pyx_t_8 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_8) { - /* "argpartsort.pyx":1100 - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] + /* "argpartsort.pyx":1107 + * while x < b[j]: j -= 1 + * if i <= j: + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_14) { + __pyx_t_16 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1101 - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: - * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp + /* "argpartsort.pyx":1108 + * if i <= j: + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp + * itmp = y[i] */ - __pyx_t_26 = __pyx_v_i; - __pyx_t_27 = __pyx_v_i1; - __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1102 - * if i <= j: - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< - * b[j, i1, i2] = tmp - * itmp = y[i, i1, i2] + /* "argpartsort.pyx":1109 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i] + * y[i] = y[j] */ - __pyx_t_29 = __pyx_v_j; - __pyx_t_30 = __pyx_v_i1; - __pyx_t_31 = __pyx_v_i2; - __pyx_t_32 = __pyx_v_i; - __pyx_t_33 = __pyx_v_i1; - __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_19 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1103 - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< - * itmp = y[i, i1, i2] - * y[i, i1, i2] = y[j, i1, i2] + /* "argpartsort.pyx":1110 + * b[i] = b[j] + * b[j] = tmp + * itmp = y[i] # <<<<<<<<<<<<<< + * y[i] = y[j] + * y[j] = itmp */ - __pyx_t_35 = __pyx_v_j; - __pyx_t_36 = __pyx_v_i1; - __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_i; + __pyx_v_itmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_y.diminfo[0].strides)); - /* "argpartsort.pyx":1104 - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp - * itmp = y[i, i1, i2] # <<<<<<<<<<<<<< - * y[i, i1, i2] = y[j, i1, i2] - * y[j, i1, i2] = itmp + /* "argpartsort.pyx":1111 + * b[j] = tmp + * itmp = y[i] + * y[i] = y[j] # <<<<<<<<<<<<<< + * y[j] = itmp + * i += 1 */ - __pyx_t_38 = __pyx_v_i; - __pyx_t_39 = __pyx_v_i1; - __pyx_t_40 = __pyx_v_i2; - __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_21 = __pyx_v_j; + __pyx_t_22 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_y.diminfo[0].strides)); - /* "argpartsort.pyx":1105 - * b[j, i1, i2] = tmp - * itmp = y[i, i1, i2] - * y[i, i1, i2] = y[j, i1, i2] # <<<<<<<<<<<<<< - * y[j, i1, i2] = itmp - * i += 1 + /* "argpartsort.pyx":1112 + * itmp = y[i] + * y[i] = y[j] + * y[j] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_41 = __pyx_v_j; - __pyx_t_42 = __pyx_v_i1; - __pyx_t_43 = __pyx_v_i2; - __pyx_t_44 = __pyx_v_i; - __pyx_t_45 = __pyx_v_i1; - __pyx_t_46 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1106 - * itmp = y[i, i1, i2] - * y[i, i1, i2] = y[j, i1, i2] - * y[j, i1, i2] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":1113 + * y[i] = y[j] + * y[j] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_t_47 = __pyx_v_j; - __pyx_t_48 = __pyx_v_i1; - __pyx_t_49 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1107 - * y[i, i1, i2] = y[j, i1, i2] - * y[j, i1, i2] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":1114 + * y[j] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L20; + } + __pyx_L20:; - /* "argpartsort.pyx":1108 - * y[j, i1, i2] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":1115 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L25; + __pyx_t_8 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_8) { + goto __pyx_L15_break; + } } - __pyx_L25:; + __pyx_L15_break:; - /* "argpartsort.pyx":1109 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1116 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j + * return y */ - __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_14) { - goto __pyx_L20_break; + __pyx_t_8 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_8) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L22; } - } - __pyx_L20_break:; + __pyx_L22:; - /* "argpartsort.pyx":1110 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":1117 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y + * */ - __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_14) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L27; + __pyx_t_8 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_8) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L23; + } + __pyx_L23:; } - __pyx_L27:; + } - /* "argpartsort.pyx":1111 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< - * return y - * + /* "argpartsort.pyx":1098 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_14) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L28; + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L11; } - __pyx_L28:; + __pyx_L11:; } - } } - /* "argpartsort.pyx":1112 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1118 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -15546,27 +15670,27 @@ static PyObject *__pyx_pf_11argpartsort_40argpartsort_3d_int32_axis0(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1067 + /* "argpartsort.pyx":1078 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=0." + * def argpartsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -15581,19 +15705,19 @@ static PyObject *__pyx_pf_11argpartsort_40argpartsort_3d_int32_axis0(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":1116 +/* "argpartsort.pyx":1122 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=1." + * def argpartsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_43argpartsort_3d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_42argpartsort_3d_int32_axis1[] = "argpartsort_3d_int32_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_43argpartsort_3d_int32_axis1 = {"argpartsort_3d_int32_axis1", (PyCFunction)__pyx_pw_11argpartsort_43argpartsort_3d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_42argpartsort_3d_int32_axis1}; -static PyObject *__pyx_pw_11argpartsort_43argpartsort_3d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_43argpartsort_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_42argpartsort_1d_int8_axis0[] = "argpartsort_1d_int8_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_43argpartsort_1d_int8_axis0 = {"argpartsort_1d_int8_axis0", (PyCFunction)__pyx_pw_11argpartsort_43argpartsort_1d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_42argpartsort_1d_int8_axis0}; +static PyObject *__pyx_pw_11argpartsort_43argpartsort_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -15601,7 +15725,7 @@ static PyObject *__pyx_pw_11argpartsort_43argpartsort_3d_int32_axis1(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_int8_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -15622,11 +15746,11 @@ static PyObject *__pyx_pw_11argpartsort_43argpartsort_3d_int32_axis1(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -15635,18 +15759,18 @@ static PyObject *__pyx_pw_11argpartsort_43argpartsort_3d_int32_axis1(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_42argpartsort_3d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_42argpartsort_1d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -15657,23 +15781,19 @@ static PyObject *__pyx_pw_11argpartsort_43argpartsort_3d_int32_axis1(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_42argpartsort_3d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_42argpartsort_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; - Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -15686,57 +15806,31 @@ static PyObject *__pyx_pf_11argpartsort_42argpartsort_3d_int32_axis1(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[3]; + npy_intp __pyx_t_3[1]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - int __pyx_t_14; - int __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; + int __pyx_t_8; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + npy_intp __pyx_t_13; + npy_intp __pyx_t_14; + npy_intp __pyx_t_15; + npy_intp __pyx_t_16; + npy_intp __pyx_t_17; + npy_intp __pyx_t_18; npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_20; npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - Py_ssize_t __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; - Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; - Py_ssize_t __pyx_t_28; - Py_ssize_t __pyx_t_29; - npy_intp __pyx_t_30; - Py_ssize_t __pyx_t_31; - Py_ssize_t __pyx_t_32; - npy_intp __pyx_t_33; - Py_ssize_t __pyx_t_34; - Py_ssize_t __pyx_t_35; - npy_intp __pyx_t_36; - Py_ssize_t __pyx_t_37; - Py_ssize_t __pyx_t_38; - npy_intp __pyx_t_39; - Py_ssize_t __pyx_t_40; - Py_ssize_t __pyx_t_41; - npy_intp __pyx_t_42; - Py_ssize_t __pyx_t_43; - Py_ssize_t __pyx_t_44; - npy_intp __pyx_t_45; - Py_ssize_t __pyx_t_46; - Py_ssize_t __pyx_t_47; - npy_intp __pyx_t_48; - Py_ssize_t __pyx_t_49; + npy_intp __pyx_t_22; + npy_intp __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_int8_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -15751,178 +15845,132 @@ static PyObject *__pyx_pf_11argpartsort_42argpartsort_3d_int32_axis1(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "argpartsort.pyx":1118 - * def argpartsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int32 along axis=1." + /* "argpartsort.pyx":1124 + * def argpartsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1120 + /* "argpartsort.pyx":1126 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1123 - * cdef Py_ssize_t i0, i1, i2 + /* "argpartsort.pyx":1129 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1124 + /* "argpartsort.pyx":1130 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1125 + /* "argpartsort.pyx":1131 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "argpartsort.pyx":1126 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "argpartsort.pyx":1127 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; - __pyx_t_3[1] = __pyx_v_n1; - __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1128 - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1132 + * cdef Py_ssize_t n0 = dim[0] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1130 - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + /* "argpartsort.pyx":1134 + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * for i2 in range(n2): + * y[i0] = i0 + * if n0 == 0: */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1131 + /* "argpartsort.pyx":1135 * NPY_intp, 0) * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * y[i0, i1, i2] = i1 - */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; - - /* "argpartsort.pyx":1132 - * for i0 in range(n0): - * for i1 in range(n1): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * y[i0, i1, i2] = i1 - * if n1 == 0: - */ - __pyx_t_9 = __pyx_v_n2; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i2 = __pyx_t_10; - - /* "argpartsort.pyx":1133 - * for i1 in range(n1): - * for i2 in range(n2): - * y[i0, i1, i2] = i1 # <<<<<<<<<<<<<< - * if n1 == 0: + * y[i0] = i0 # <<<<<<<<<<<<<< + * if n0 == 0: * return y */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_t_13 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i1; - } - } + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_i0; } - /* "argpartsort.pyx":1134 - * for i2 in range(n2): - * y[i0, i1, i2] = i1 - * if n1 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1136 + * for i0 in range(n0): + * y[i0] = i0 + * if n0 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_14 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_14) { + __pyx_t_8 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_8) { - /* "argpartsort.pyx":1135 - * y[i0, i1, i2] = i1 - * if n1 == 0: + /* "argpartsort.pyx":1137 + * y[i0] = i0 + * if n0 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -15930,343 +15978,330 @@ static PyObject *__pyx_pf_11argpartsort_42argpartsort_3d_int32_axis1(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":1136 - * if n1 == 0: + /* "argpartsort.pyx":1138 + * if n0 == 0: * return y - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 */ - __pyx_t_15 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_15) { - goto __pyx_L12_next_or; + __pyx_t_9 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_9) { + goto __pyx_L8_next_or; } else { - __pyx_t_14 = __pyx_t_15; - goto __pyx_L11_bool_binop_done; + __pyx_t_8 = __pyx_t_9; + goto __pyx_L7_bool_binop_done; } - __pyx_L12_next_or:; - __pyx_t_15 = ((__pyx_v_n > __pyx_v_n1) != 0); - __pyx_t_14 = __pyx_t_15; - __pyx_L11_bool_binop_done:; - if (__pyx_t_14) { + __pyx_L8_next_or:; + __pyx_t_9 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_8 = __pyx_t_9; + __pyx_L7_bool_binop_done:; + if (__pyx_t_8) { - /* "argpartsort.pyx":1137 + /* "argpartsort.pyx":1139 * return y - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i2 in range(n2): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_16 = 0; - __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); + __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_10 = 0; + __pyx_t_11 = 0; + __pyx_t_11 = PyNumber_Remainder(__pyx_t_1, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_Raise(__pyx_t_17, 0, 0, 0); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_Raise(__pyx_t_11, 0, 0, 0); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1138 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * l = 0 - */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; - - /* "argpartsort.pyx":1139 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 - */ - __pyx_t_7 = __pyx_v_n2; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i2 = __pyx_t_8; - - /* "argpartsort.pyx":1140 - * for i0 in range(n0): - * for i2 in range(n2): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + /* "argpartsort.pyx":1140 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_v_l = 0; + __pyx_v_l = 0; - /* "argpartsort.pyx":1141 - * for i2 in range(n2): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k, i2] + /* "argpartsort.pyx":1141 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: + * while l < r: */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":1142 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k, i2] - * i = l + /* "argpartsort.pyx":1142 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - while (1) { - __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_14) break; + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { /* "argpartsort.pyx":1143 - * r = n1 - 1 - * while l < r: - * x = b[i0, k, i2] # <<<<<<<<<<<<<< - * i = l - * j = r + * r = n0 - 1 + * with nogil: + * while l < r: # <<<<<<<<<<<<<< + * x = b[k] + * i = l */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_k; - __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + while (1) { + __pyx_t_8 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_8) break; - /* "argpartsort.pyx":1144 - * while l < r: - * x = b[i0, k, i2] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":1144 + * with nogil: + * while l < r: + * x = b[k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_13 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1145 - * x = b[i0, k, i2] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i, i2] < x: i += 1 + /* "argpartsort.pyx":1145 + * while l < r: + * x = b[k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1146 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 + /* "argpartsort.pyx":1146 + * x = b[k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; /* "argpartsort.pyx":1147 - * j = r - * while 1: - * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ while (1) { - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_14) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "argpartsort.pyx":1148 - * while 1: - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i, i2] + /* "argpartsort.pyx":1148 + * j = r + * while 1: + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_23 = __pyx_v_i0; - __pyx_t_24 = __pyx_v_j; - __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_14) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_14 = __pyx_v_i; + __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_8) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1149 - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] + /* "argpartsort.pyx":1149 + * while 1: + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i] */ - __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_14) { + while (1) { + __pyx_t_15 = __pyx_v_j; + __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_8) break; + __pyx_v_j = (__pyx_v_j - 1); + } /* "argpartsort.pyx":1150 - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: - * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i] + * b[i] = b[j] */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_i; - __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_8 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_8) { - /* "argpartsort.pyx":1151 - * if i <= j: - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< - * b[i0, j, i2] = tmp - * itmp = y[i0, i, i2] + /* "argpartsort.pyx":1151 + * while x < b[j]: j -= 1 + * if i <= j: + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_29 = __pyx_v_i0; - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i2; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i; - __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_16 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1152 - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i, i2] - * y[i0, i, i2] = y[i0, j, i2] + /* "argpartsort.pyx":1152 + * if i <= j: + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp + * itmp = y[i] + */ + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + + /* "argpartsort.pyx":1153 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i] + * y[i] = y[j] + */ + __pyx_t_19 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + + /* "argpartsort.pyx":1154 + * b[i] = b[j] + * b[j] = tmp + * itmp = y[i] # <<<<<<<<<<<<<< + * y[i] = y[j] + * y[j] = itmp */ - __pyx_t_35 = __pyx_v_i0; - __pyx_t_36 = __pyx_v_j; - __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_i; + __pyx_v_itmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_y.diminfo[0].strides)); - /* "argpartsort.pyx":1153 - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp - * itmp = y[i0, i, i2] # <<<<<<<<<<<<<< - * y[i0, i, i2] = y[i0, j, i2] - * y[i0, j, i2] = itmp + /* "argpartsort.pyx":1155 + * b[j] = tmp + * itmp = y[i] + * y[i] = y[j] # <<<<<<<<<<<<<< + * y[j] = itmp + * i += 1 */ - __pyx_t_38 = __pyx_v_i0; - __pyx_t_39 = __pyx_v_i; - __pyx_t_40 = __pyx_v_i2; - __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_21 = __pyx_v_j; + __pyx_t_22 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_y.diminfo[0].strides)); - /* "argpartsort.pyx":1154 - * b[i0, j, i2] = tmp - * itmp = y[i0, i, i2] - * y[i0, i, i2] = y[i0, j, i2] # <<<<<<<<<<<<<< - * y[i0, j, i2] = itmp - * i += 1 + /* "argpartsort.pyx":1156 + * itmp = y[i] + * y[i] = y[j] + * y[j] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_41 = __pyx_v_i0; - __pyx_t_42 = __pyx_v_j; - __pyx_t_43 = __pyx_v_i2; - __pyx_t_44 = __pyx_v_i0; - __pyx_t_45 = __pyx_v_i; - __pyx_t_46 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1155 - * itmp = y[i0, i, i2] - * y[i0, i, i2] = y[i0, j, i2] - * y[i0, j, i2] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":1157 + * y[i] = y[j] + * y[j] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_t_47 = __pyx_v_i0; - __pyx_t_48 = __pyx_v_j; - __pyx_t_49 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1156 - * y[i0, i, i2] = y[i0, j, i2] - * y[i0, j, i2] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":1158 + * y[j] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L20; + } + __pyx_L20:; - /* "argpartsort.pyx":1157 - * y[i0, j, i2] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":1159 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L25; + __pyx_t_8 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_8) { + goto __pyx_L15_break; + } } - __pyx_L25:; + __pyx_L15_break:; - /* "argpartsort.pyx":1158 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1160 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j + * return y */ - __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_14) { - goto __pyx_L20_break; + __pyx_t_8 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_8) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L22; } - } - __pyx_L20_break:; + __pyx_L22:; - /* "argpartsort.pyx":1159 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":1161 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y + * */ - __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_14) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L27; + __pyx_t_8 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_8) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L23; + } + __pyx_L23:; } - __pyx_L27:; + } - /* "argpartsort.pyx":1160 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< - * return y - * + /* "argpartsort.pyx":1142 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_14) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L28; + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L11; } - __pyx_L28:; + __pyx_L11:; } - } } - /* "argpartsort.pyx":1161 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1162 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -16276,27 +16311,27 @@ static PyObject *__pyx_pf_11argpartsort_42argpartsort_3d_int32_axis1(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1116 + /* "argpartsort.pyx":1122 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=1." + * def argpartsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -16311,19 +16346,19 @@ static PyObject *__pyx_pf_11argpartsort_42argpartsort_3d_int32_axis1(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":1165 +/* "argpartsort.pyx":1166 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=2." + * def argpartsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_45argpartsort_3d_int32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_44argpartsort_3d_int32_axis2[] = "argpartsort_3d_int32_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=2."; -static PyMethodDef __pyx_mdef_11argpartsort_45argpartsort_3d_int32_axis2 = {"argpartsort_3d_int32_axis2", (PyCFunction)__pyx_pw_11argpartsort_45argpartsort_3d_int32_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_44argpartsort_3d_int32_axis2}; -static PyObject *__pyx_pw_11argpartsort_45argpartsort_3d_int32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_45argpartsort_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_44argpartsort_1d_int32_axis0[] = "argpartsort_1d_int32_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_45argpartsort_1d_int32_axis0 = {"argpartsort_1d_int32_axis0", (PyCFunction)__pyx_pw_11argpartsort_45argpartsort_1d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_44argpartsort_1d_int32_axis0}; +static PyObject *__pyx_pw_11argpartsort_45argpartsort_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -16331,7 +16366,7 @@ static PyObject *__pyx_pw_11argpartsort_45argpartsort_3d_int32_axis2(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_int32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -16352,11 +16387,11 @@ static PyObject *__pyx_pw_11argpartsort_45argpartsort_3d_int32_axis2(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int32_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -16365,18 +16400,18 @@ static PyObject *__pyx_pw_11argpartsort_45argpartsort_3d_int32_axis2(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_44argpartsort_3d_int32_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_44argpartsort_1d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -16387,7 +16422,7 @@ static PyObject *__pyx_pw_11argpartsort_45argpartsort_3d_int32_axis2(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_44argpartsort_3d_int32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_44argpartsort_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; @@ -16398,12 +16433,8 @@ static PyObject *__pyx_pf_11argpartsort_44argpartsort_3d_int32_axis2(CYTHON_UNUS __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; - Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -16416,57 +16447,31 @@ static PyObject *__pyx_pf_11argpartsort_44argpartsort_3d_int32_axis2(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[3]; + npy_intp __pyx_t_3[1]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - int __pyx_t_14; - int __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; + int __pyx_t_8; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + npy_intp __pyx_t_13; + npy_intp __pyx_t_14; + npy_intp __pyx_t_15; + npy_intp __pyx_t_16; + npy_intp __pyx_t_17; + npy_intp __pyx_t_18; npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_20; + npy_intp __pyx_t_21; npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; - Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; - Py_ssize_t __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; - Py_ssize_t __pyx_t_29; - Py_ssize_t __pyx_t_30; - npy_intp __pyx_t_31; - Py_ssize_t __pyx_t_32; - Py_ssize_t __pyx_t_33; - npy_intp __pyx_t_34; - Py_ssize_t __pyx_t_35; - Py_ssize_t __pyx_t_36; - npy_intp __pyx_t_37; - Py_ssize_t __pyx_t_38; - Py_ssize_t __pyx_t_39; - npy_intp __pyx_t_40; - Py_ssize_t __pyx_t_41; - Py_ssize_t __pyx_t_42; - npy_intp __pyx_t_43; - Py_ssize_t __pyx_t_44; - Py_ssize_t __pyx_t_45; - npy_intp __pyx_t_46; - Py_ssize_t __pyx_t_47; - Py_ssize_t __pyx_t_48; - npy_intp __pyx_t_49; + npy_intp __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis2", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_int32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -16481,178 +16486,132 @@ static PyObject *__pyx_pf_11argpartsort_44argpartsort_3d_int32_axis2(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "argpartsort.pyx":1167 - * def argpartsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int32 along axis=2." + /* "argpartsort.pyx":1168 + * def argpartsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1169 + /* "argpartsort.pyx":1170 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1172 - * cdef Py_ssize_t i0, i1, i2 + /* "argpartsort.pyx":1173 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1173 + /* "argpartsort.pyx":1174 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1174 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":1175 + * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "argpartsort.pyx":1176 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; - __pyx_t_3[1] = __pyx_v_n1; - __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1177 - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1176 + * cdef Py_ssize_t n0 = dim[0] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1179 - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + /* "argpartsort.pyx":1178 + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * for i2 in range(n2): + * y[i0] = i0 + * if n0 == 0: */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1180 + /* "argpartsort.pyx":1179 * NPY_intp, 0) * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * y[i0, i1, i2] = i2 - */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; - - /* "argpartsort.pyx":1181 - * for i0 in range(n0): - * for i1 in range(n1): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * y[i0, i1, i2] = i2 - * if n2 == 0: - */ - __pyx_t_9 = __pyx_v_n2; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i2 = __pyx_t_10; - - /* "argpartsort.pyx":1182 - * for i1 in range(n1): - * for i2 in range(n2): - * y[i0, i1, i2] = i2 # <<<<<<<<<<<<<< - * if n2 == 0: + * y[i0] = i0 # <<<<<<<<<<<<<< + * if n0 == 0: * return y */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_t_13 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i2; - } - } + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_i0; } - /* "argpartsort.pyx":1183 - * for i2 in range(n2): - * y[i0, i1, i2] = i2 - * if n2 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1180 + * for i0 in range(n0): + * y[i0] = i0 + * if n0 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n2): + * if (n < 1) or (n > n0): */ - __pyx_t_14 = ((__pyx_v_n2 == 0) != 0); - if (__pyx_t_14) { + __pyx_t_8 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_8) { - /* "argpartsort.pyx":1184 - * y[i0, i1, i2] = i2 - * if n2 == 0: + /* "argpartsort.pyx":1181 + * y[i0] = i0 + * if n0 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -16660,343 +16619,330 @@ static PyObject *__pyx_pf_11argpartsort_44argpartsort_3d_int32_axis2(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":1185 - * if n2 == 0: + /* "argpartsort.pyx":1182 + * if n0 == 0: * return y - * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 */ - __pyx_t_15 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_15) { - goto __pyx_L12_next_or; + __pyx_t_9 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_9) { + goto __pyx_L8_next_or; } else { - __pyx_t_14 = __pyx_t_15; - goto __pyx_L11_bool_binop_done; + __pyx_t_8 = __pyx_t_9; + goto __pyx_L7_bool_binop_done; } - __pyx_L12_next_or:; - __pyx_t_15 = ((__pyx_v_n > __pyx_v_n2) != 0); - __pyx_t_14 = __pyx_t_15; - __pyx_L11_bool_binop_done:; - if (__pyx_t_14) { + __pyx_L8_next_or:; + __pyx_t_9 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_8 = __pyx_t_9; + __pyx_L7_bool_binop_done:; + if (__pyx_t_8) { - /* "argpartsort.pyx":1186 + /* "argpartsort.pyx":1183 * return y - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_16 = 0; - __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); + __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_10 = 0; + __pyx_t_11 = 0; + __pyx_t_11 = PyNumber_Remainder(__pyx_t_1, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_Raise(__pyx_t_17, 0, 0, 0); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_Raise(__pyx_t_11, 0, 0, 0); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1187 - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * l = 0 + /* "argpartsort.pyx":1184 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_l = 0; - /* "argpartsort.pyx":1188 - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * l = 0 - * r = n2 - 1 + /* "argpartsort.pyx":1185 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: + * while l < r: */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":1189 - * for i0 in range(n0): - * for i1 in range(n1): - * l = 0 # <<<<<<<<<<<<<< - * r = n2 - 1 - * while l < r: + /* "argpartsort.pyx":1186 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_v_l = 0; + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { - /* "argpartsort.pyx":1190 - * for i1 in range(n1): - * l = 0 - * r = n2 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, i1, k] + /* "argpartsort.pyx":1187 + * r = n0 - 1 + * with nogil: + * while l < r: # <<<<<<<<<<<<<< + * x = b[k] + * i = l */ - __pyx_v_r = (__pyx_v_n2 - 1); + while (1) { + __pyx_t_8 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_8) break; - /* "argpartsort.pyx":1191 - * l = 0 - * r = n2 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, i1, k] - * i = l + /* "argpartsort.pyx":1188 + * with nogil: + * while l < r: + * x = b[k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - while (1) { - __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_14) break; + __pyx_t_13 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1192 - * r = n2 - 1 - * while l < r: - * x = b[i0, i1, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":1189 + * while l < r: + * x = b[k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_t_19 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1193 - * while l < r: - * x = b[i0, i1, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":1190 + * x = b[k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i] < x: i += 1 */ - __pyx_v_i = __pyx_v_l; + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1194 - * x = b[i0, i1, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i1, i] < x: i += 1 + /* "argpartsort.pyx":1191 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ - __pyx_v_j = __pyx_v_r; + while (1) { - /* "argpartsort.pyx":1195 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 + /* "argpartsort.pyx":1192 + * j = r + * while 1: + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 + * if i <= j: */ - while (1) { + while (1) { + __pyx_t_14 = __pyx_v_i; + __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_8) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1196 - * j = r - * while 1: - * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: + /* "argpartsort.pyx":1193 + * while 1: + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i] */ - while (1) { - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i1; - __pyx_t_22 = __pyx_v_i; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_14) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_15 = __pyx_v_j; + __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_8) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":1197 - * while 1: - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i1, i] + /* "argpartsort.pyx":1194 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i] + * b[i] = b[j] */ - while (1) { - __pyx_t_23 = __pyx_v_i0; - __pyx_t_24 = __pyx_v_i1; - __pyx_t_25 = __pyx_v_j; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_14) break; - __pyx_v_j = (__pyx_v_j - 1); - } + __pyx_t_8 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_8) { - /* "argpartsort.pyx":1198 - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] + /* "argpartsort.pyx":1195 + * while x < b[j]: j -= 1 + * if i <= j: + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_14) { + __pyx_t_16 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1199 - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp + /* "argpartsort.pyx":1196 + * if i <= j: + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp + * itmp = y[i] */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_i1; - __pyx_t_28 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1200 - * if i <= j: - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< - * b[i0, i1, j] = tmp - * itmp = y[i0, i1, i] + /* "argpartsort.pyx":1197 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i] + * y[i] = y[j] */ - __pyx_t_29 = __pyx_v_i0; - __pyx_t_30 = __pyx_v_i1; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i1; - __pyx_t_34 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_19 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1201 - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i1, i] - * y[i0, i1, i] = y[i0, i1, j] + /* "argpartsort.pyx":1198 + * b[i] = b[j] + * b[j] = tmp + * itmp = y[i] # <<<<<<<<<<<<<< + * y[i] = y[j] + * y[j] = itmp */ - __pyx_t_35 = __pyx_v_i0; - __pyx_t_36 = __pyx_v_i1; - __pyx_t_37 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_i; + __pyx_v_itmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_y.diminfo[0].strides)); - /* "argpartsort.pyx":1202 - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp - * itmp = y[i0, i1, i] # <<<<<<<<<<<<<< - * y[i0, i1, i] = y[i0, i1, j] - * y[i0, i1, j] = itmp + /* "argpartsort.pyx":1199 + * b[j] = tmp + * itmp = y[i] + * y[i] = y[j] # <<<<<<<<<<<<<< + * y[j] = itmp + * i += 1 */ - __pyx_t_38 = __pyx_v_i0; - __pyx_t_39 = __pyx_v_i1; - __pyx_t_40 = __pyx_v_i; - __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_21 = __pyx_v_j; + __pyx_t_22 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_y.diminfo[0].strides)); - /* "argpartsort.pyx":1203 - * b[i0, i1, j] = tmp - * itmp = y[i0, i1, i] - * y[i0, i1, i] = y[i0, i1, j] # <<<<<<<<<<<<<< - * y[i0, i1, j] = itmp - * i += 1 + /* "argpartsort.pyx":1200 + * itmp = y[i] + * y[i] = y[j] + * y[j] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_41 = __pyx_v_i0; - __pyx_t_42 = __pyx_v_i1; - __pyx_t_43 = __pyx_v_j; - __pyx_t_44 = __pyx_v_i0; - __pyx_t_45 = __pyx_v_i1; - __pyx_t_46 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1204 - * itmp = y[i0, i1, i] - * y[i0, i1, i] = y[i0, i1, j] - * y[i0, i1, j] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":1201 + * y[i] = y[j] + * y[j] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_t_47 = __pyx_v_i0; - __pyx_t_48 = __pyx_v_i1; - __pyx_t_49 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1205 - * y[i0, i1, i] = y[i0, i1, j] - * y[i0, i1, j] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":1202 + * y[j] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L20; + } + __pyx_L20:; - /* "argpartsort.pyx":1206 - * y[i0, i1, j] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":1203 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L25; + __pyx_t_8 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_8) { + goto __pyx_L15_break; + } } - __pyx_L25:; + __pyx_L15_break:; - /* "argpartsort.pyx":1207 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1204 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j + * return y */ - __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_14) { - goto __pyx_L20_break; + __pyx_t_8 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_8) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L22; } - } - __pyx_L20_break:; + __pyx_L22:; - /* "argpartsort.pyx":1208 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":1205 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y + * */ - __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_14) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L27; + __pyx_t_8 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_8) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L23; + } + __pyx_L23:; } - __pyx_L27:; + } - /* "argpartsort.pyx":1209 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< - * return y - * + /* "argpartsort.pyx":1186 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_14) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L28; + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L11; } - __pyx_L28:; + __pyx_L11:; } - } } - /* "argpartsort.pyx":1210 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1206 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -17006,27 +16952,27 @@ static PyObject *__pyx_pf_11argpartsort_44argpartsort_3d_int32_axis2(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1165 + /* "argpartsort.pyx":1166 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=2." + * def argpartsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -17041,19 +16987,19 @@ static PyObject *__pyx_pf_11argpartsort_44argpartsort_3d_int32_axis2(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":1214 +/* "argpartsort.pyx":1210 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=0." + * def argpartsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_47argpartsort_3d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_46argpartsort_3d_int64_axis0[] = "argpartsort_3d_int64_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_47argpartsort_3d_int64_axis0 = {"argpartsort_3d_int64_axis0", (PyCFunction)__pyx_pw_11argpartsort_47argpartsort_3d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_46argpartsort_3d_int64_axis0}; -static PyObject *__pyx_pw_11argpartsort_47argpartsort_3d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_47argpartsort_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_46argpartsort_1d_int64_axis0[] = "argpartsort_1d_int64_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_47argpartsort_1d_int64_axis0 = {"argpartsort_1d_int64_axis0", (PyCFunction)__pyx_pw_11argpartsort_47argpartsort_1d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_46argpartsort_1d_int64_axis0}; +static PyObject *__pyx_pw_11argpartsort_47argpartsort_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -17061,7 +17007,7 @@ static PyObject *__pyx_pw_11argpartsort_47argpartsort_3d_int64_axis0(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_int64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -17082,11 +17028,11 @@ static PyObject *__pyx_pw_11argpartsort_47argpartsort_3d_int64_axis0(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -17095,18 +17041,18 @@ static PyObject *__pyx_pw_11argpartsort_47argpartsort_3d_int64_axis0(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_1d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_46argpartsort_3d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_46argpartsort_1d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -17117,7 +17063,7 @@ static PyObject *__pyx_pw_11argpartsort_47argpartsort_3d_int64_axis0(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_46argpartsort_3d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_46argpartsort_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; @@ -17128,12 +17074,8 @@ static PyObject *__pyx_pf_11argpartsort_46argpartsort_3d_int64_axis0(CYTHON_UNUS __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; - Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -17146,57 +17088,31 @@ static PyObject *__pyx_pf_11argpartsort_46argpartsort_3d_int64_axis0(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[3]; + npy_intp __pyx_t_3[1]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - int __pyx_t_14; - int __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; + int __pyx_t_8; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + npy_intp __pyx_t_13; + npy_intp __pyx_t_14; + npy_intp __pyx_t_15; + npy_intp __pyx_t_16; + npy_intp __pyx_t_17; + npy_intp __pyx_t_18; npy_intp __pyx_t_19; npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_21; + npy_intp __pyx_t_22; npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - Py_ssize_t __pyx_t_28; - npy_intp __pyx_t_29; - Py_ssize_t __pyx_t_30; - Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; - Py_ssize_t __pyx_t_33; - Py_ssize_t __pyx_t_34; - npy_intp __pyx_t_35; - Py_ssize_t __pyx_t_36; - Py_ssize_t __pyx_t_37; - npy_intp __pyx_t_38; - Py_ssize_t __pyx_t_39; - Py_ssize_t __pyx_t_40; - npy_intp __pyx_t_41; - Py_ssize_t __pyx_t_42; - Py_ssize_t __pyx_t_43; - npy_intp __pyx_t_44; - Py_ssize_t __pyx_t_45; - Py_ssize_t __pyx_t_46; - npy_intp __pyx_t_47; - Py_ssize_t __pyx_t_48; - Py_ssize_t __pyx_t_49; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_1d_int64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -17211,174 +17127,128 @@ static PyObject *__pyx_pf_11argpartsort_46argpartsort_3d_int64_axis0(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "argpartsort.pyx":1216 - * def argpartsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int64 along axis=0." + /* "argpartsort.pyx":1212 + * def argpartsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1218 + /* "argpartsort.pyx":1214 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1221 - * cdef Py_ssize_t i0, i1, i2 + /* "argpartsort.pyx":1217 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1222 + /* "argpartsort.pyx":1218 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1223 + /* "argpartsort.pyx":1219 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "argpartsort.pyx":1224 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "argpartsort.pyx":1225 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; - __pyx_t_3[1] = __pyx_v_n1; - __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1226 - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1220 + * cdef Py_ssize_t n0 = dim[0] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1228 - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + /* "argpartsort.pyx":1222 + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * for i2 in range(n2): + * y[i0] = i0 + * if n0 == 0: */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1229 + /* "argpartsort.pyx":1223 * NPY_intp, 0) * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * y[i0, i1, i2] = i0 - */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; - - /* "argpartsort.pyx":1230 - * for i0 in range(n0): - * for i1 in range(n1): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * y[i0, i1, i2] = i0 - * if n0 == 0: - */ - __pyx_t_9 = __pyx_v_n2; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i2 = __pyx_t_10; - - /* "argpartsort.pyx":1231 - * for i1 in range(n1): - * for i2 in range(n2): - * y[i0, i1, i2] = i0 # <<<<<<<<<<<<<< + * y[i0] = i0 # <<<<<<<<<<<<<< * if n0 == 0: * return y */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_t_13 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i0; - } - } + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_i0; } - - /* "argpartsort.pyx":1232 - * for i2 in range(n2): - * y[i0, i1, i2] = i0 + + /* "argpartsort.pyx":1224 + * for i0 in range(n0): + * y[i0] = i0 * if n0 == 0: # <<<<<<<<<<<<<< * return y * if (n < 1) or (n > n0): */ - __pyx_t_14 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_14) { + __pyx_t_8 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_8) { - /* "argpartsort.pyx":1233 - * y[i0, i1, i2] = i0 + /* "argpartsort.pyx":1225 + * y[i0] = i0 * if n0 == 0: * return y # <<<<<<<<<<<<<< * if (n < 1) or (n > n0): @@ -17390,343 +17260,330 @@ static PyObject *__pyx_pf_11argpartsort_46argpartsort_3d_int64_axis0(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":1234 + /* "argpartsort.pyx":1226 * if n0 == 0: * return y * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * l = 0 */ - __pyx_t_15 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_15) { - goto __pyx_L12_next_or; + __pyx_t_9 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_9) { + goto __pyx_L8_next_or; } else { - __pyx_t_14 = __pyx_t_15; - goto __pyx_L11_bool_binop_done; + __pyx_t_8 = __pyx_t_9; + goto __pyx_L7_bool_binop_done; } - __pyx_L12_next_or:; - __pyx_t_15 = ((__pyx_v_n > __pyx_v_n0) != 0); - __pyx_t_14 = __pyx_t_15; - __pyx_L11_bool_binop_done:; - if (__pyx_t_14) { + __pyx_L8_next_or:; + __pyx_t_9 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_8 = __pyx_t_9; + __pyx_L7_bool_binop_done:; + if (__pyx_t_8) { - /* "argpartsort.pyx":1235 + /* "argpartsort.pyx":1227 * return y * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * for i2 in range(n2): + * l = 0 + * r = n0 - 1 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_16 = 0; - __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); + __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_10 = 0; + __pyx_t_11 = 0; + __pyx_t_11 = PyNumber_Remainder(__pyx_t_1, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_Raise(__pyx_t_17, 0, 0, 0); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_Raise(__pyx_t_11, 0, 0, 0); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1236 + /* "argpartsort.pyx":1228 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * l = 0 + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_l = 0; - /* "argpartsort.pyx":1237 + /* "argpartsort.pyx":1229 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: + * while l < r: */ - __pyx_t_7 = __pyx_v_n2; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i2 = __pyx_t_8; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":1238 - * for i1 in range(n1): - * for i2 in range(n2): - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * while l < r: + /* "argpartsort.pyx":1230 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_v_l = 0; + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { - /* "argpartsort.pyx":1239 - * for i2 in range(n2): - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[k, i1, i2] + /* "argpartsort.pyx":1231 + * r = n0 - 1 + * with nogil: + * while l < r: # <<<<<<<<<<<<<< + * x = b[k] + * i = l */ - __pyx_v_r = (__pyx_v_n0 - 1); + while (1) { + __pyx_t_8 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_8) break; - /* "argpartsort.pyx":1240 - * l = 0 - * r = n0 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1, i2] - * i = l + /* "argpartsort.pyx":1232 + * with nogil: + * while l < r: + * x = b[k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - while (1) { - __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_14) break; + __pyx_t_13 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1241 - * r = n0 - 1 - * while l < r: - * x = b[k, i1, i2] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":1233 + * while l < r: + * x = b[k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_t_19 = __pyx_v_k; - __pyx_t_9 = __pyx_v_i1; - __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1242 - * while l < r: - * x = b[k, i1, i2] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":1234 + * x = b[k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i] < x: i += 1 */ - __pyx_v_i = __pyx_v_l; + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1243 - * x = b[k, i1, i2] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i, i1, i2] < x: i += 1 + /* "argpartsort.pyx":1235 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ - __pyx_v_j = __pyx_v_r; + while (1) { - /* "argpartsort.pyx":1244 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 + /* "argpartsort.pyx":1236 + * j = r + * while 1: + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 + * if i <= j: */ - while (1) { + while (1) { + __pyx_t_14 = __pyx_v_i; + __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_8) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1245 - * j = r - * while 1: - * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: + /* "argpartsort.pyx":1237 + * while 1: + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i] */ - while (1) { - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_14) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_15 = __pyx_v_j; + __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_8) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":1246 - * while 1: - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i, i1, i2] + /* "argpartsort.pyx":1238 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i] + * b[i] = b[j] */ - while (1) { - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i1; - __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_14) break; - __pyx_v_j = (__pyx_v_j - 1); - } + __pyx_t_8 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_8) { - /* "argpartsort.pyx":1247 - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] + /* "argpartsort.pyx":1239 + * while x < b[j]: j -= 1 + * if i <= j: + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_14) { + __pyx_t_16 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1248 - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: - * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp + /* "argpartsort.pyx":1240 + * if i <= j: + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp + * itmp = y[i] */ - __pyx_t_26 = __pyx_v_i; - __pyx_t_27 = __pyx_v_i1; - __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "argpartsort.pyx":1249 - * if i <= j: - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< - * b[j, i1, i2] = tmp - * itmp = y[i, i1, i2] + /* "argpartsort.pyx":1241 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i] + * y[i] = y[j] */ - __pyx_t_29 = __pyx_v_j; - __pyx_t_30 = __pyx_v_i1; - __pyx_t_31 = __pyx_v_i2; - __pyx_t_32 = __pyx_v_i; - __pyx_t_33 = __pyx_v_i1; - __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_19 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1250 - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< - * itmp = y[i, i1, i2] - * y[i, i1, i2] = y[j, i1, i2] + /* "argpartsort.pyx":1242 + * b[i] = b[j] + * b[j] = tmp + * itmp = y[i] # <<<<<<<<<<<<<< + * y[i] = y[j] + * y[j] = itmp */ - __pyx_t_35 = __pyx_v_j; - __pyx_t_36 = __pyx_v_i1; - __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_i; + __pyx_v_itmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_y.diminfo[0].strides)); - /* "argpartsort.pyx":1251 - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp - * itmp = y[i, i1, i2] # <<<<<<<<<<<<<< - * y[i, i1, i2] = y[j, i1, i2] - * y[j, i1, i2] = itmp + /* "argpartsort.pyx":1243 + * b[j] = tmp + * itmp = y[i] + * y[i] = y[j] # <<<<<<<<<<<<<< + * y[j] = itmp + * i += 1 */ - __pyx_t_38 = __pyx_v_i; - __pyx_t_39 = __pyx_v_i1; - __pyx_t_40 = __pyx_v_i2; - __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_21 = __pyx_v_j; + __pyx_t_22 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_y.diminfo[0].strides)); - /* "argpartsort.pyx":1252 - * b[j, i1, i2] = tmp - * itmp = y[i, i1, i2] - * y[i, i1, i2] = y[j, i1, i2] # <<<<<<<<<<<<<< - * y[j, i1, i2] = itmp - * i += 1 + /* "argpartsort.pyx":1244 + * itmp = y[i] + * y[i] = y[j] + * y[j] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_41 = __pyx_v_j; - __pyx_t_42 = __pyx_v_i1; - __pyx_t_43 = __pyx_v_i2; - __pyx_t_44 = __pyx_v_i; - __pyx_t_45 = __pyx_v_i1; - __pyx_t_46 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1253 - * itmp = y[i, i1, i2] - * y[i, i1, i2] = y[j, i1, i2] - * y[j, i1, i2] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":1245 + * y[i] = y[j] + * y[j] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_t_47 = __pyx_v_j; - __pyx_t_48 = __pyx_v_i1; - __pyx_t_49 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1254 - * y[i, i1, i2] = y[j, i1, i2] - * y[j, i1, i2] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":1246 + * y[j] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L20; + } + __pyx_L20:; - /* "argpartsort.pyx":1255 - * y[j, i1, i2] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":1247 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L25; + __pyx_t_8 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_8) { + goto __pyx_L15_break; + } } - __pyx_L25:; + __pyx_L15_break:; - /* "argpartsort.pyx":1256 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1248 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j + * return y */ - __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_14) { - goto __pyx_L20_break; + __pyx_t_8 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_8) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L22; } - } - __pyx_L20_break:; + __pyx_L22:; - /* "argpartsort.pyx":1257 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":1249 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y + * */ - __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_14) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L27; + __pyx_t_8 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_8) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L23; + } + __pyx_L23:; } - __pyx_L27:; + } - /* "argpartsort.pyx":1258 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< - * return y - * + /* "argpartsort.pyx":1230 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_14) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L28; + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L11; } - __pyx_L28:; + __pyx_L11:; } - } } - /* "argpartsort.pyx":1259 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1250 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -17736,27 +17593,27 @@ static PyObject *__pyx_pf_11argpartsort_46argpartsort_3d_int64_axis0(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1214 + /* "argpartsort.pyx":1210 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=0." + * def argpartsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -17771,19 +17628,19 @@ static PyObject *__pyx_pf_11argpartsort_46argpartsort_3d_int64_axis0(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":1263 +/* "argpartsort.pyx":1254 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=1." + * def argpartsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_49argpartsort_3d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_48argpartsort_3d_int64_axis1[] = "argpartsort_3d_int64_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_49argpartsort_3d_int64_axis1 = {"argpartsort_3d_int64_axis1", (PyCFunction)__pyx_pw_11argpartsort_49argpartsort_3d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_48argpartsort_3d_int64_axis1}; -static PyObject *__pyx_pw_11argpartsort_49argpartsort_3d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_49argpartsort_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_48argpartsort_2d_int_axis0[] = "argpartsort_2d_int_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_49argpartsort_2d_int_axis0 = {"argpartsort_2d_int_axis0", (PyCFunction)__pyx_pw_11argpartsort_49argpartsort_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_48argpartsort_2d_int_axis0}; +static PyObject *__pyx_pw_11argpartsort_49argpartsort_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -17791,7 +17648,7 @@ static PyObject *__pyx_pw_11argpartsort_49argpartsort_3d_int64_axis1(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -17812,11 +17669,11 @@ static PyObject *__pyx_pw_11argpartsort_49argpartsort_3d_int64_axis1(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -17825,18 +17682,18 @@ static PyObject *__pyx_pw_11argpartsort_49argpartsort_3d_int64_axis1(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_48argpartsort_3d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_48argpartsort_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -17847,23 +17704,21 @@ static PyObject *__pyx_pw_11argpartsort_49argpartsort_3d_int64_axis1(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_48argpartsort_3d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_48argpartsort_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; - Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -17876,7 +17731,7 @@ static PyObject *__pyx_pf_11argpartsort_48argpartsort_3d_int64_axis1(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[3]; + npy_intp __pyx_t_3[2]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; @@ -17884,49 +17739,35 @@ static PyObject *__pyx_pf_11argpartsort_48argpartsort_3d_int64_axis1(CYTHON_UNUS Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - int __pyx_t_14; - int __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; + int __pyx_t_11; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + npy_intp __pyx_t_16; + npy_intp __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; Py_ssize_t __pyx_t_23; npy_intp __pyx_t_24; Py_ssize_t __pyx_t_25; - Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; - Py_ssize_t __pyx_t_28; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; Py_ssize_t __pyx_t_29; npy_intp __pyx_t_30; Py_ssize_t __pyx_t_31; - Py_ssize_t __pyx_t_32; - npy_intp __pyx_t_33; - Py_ssize_t __pyx_t_34; + npy_intp __pyx_t_32; + Py_ssize_t __pyx_t_33; + npy_intp __pyx_t_34; Py_ssize_t __pyx_t_35; - npy_intp __pyx_t_36; - Py_ssize_t __pyx_t_37; - Py_ssize_t __pyx_t_38; - npy_intp __pyx_t_39; - Py_ssize_t __pyx_t_40; - Py_ssize_t __pyx_t_41; - npy_intp __pyx_t_42; - Py_ssize_t __pyx_t_43; - Py_ssize_t __pyx_t_44; - npy_intp __pyx_t_45; - Py_ssize_t __pyx_t_46; - Py_ssize_t __pyx_t_47; - npy_intp __pyx_t_48; - Py_ssize_t __pyx_t_49; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -17941,45 +17782,45 @@ static PyObject *__pyx_pf_11argpartsort_48argpartsort_3d_int64_axis1(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":1265 - * def argpartsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int64 along axis=1." + /* "argpartsort.pyx":1256 + * def argpartsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1267 + /* "argpartsort.pyx":1258 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1270 - * cdef Py_ssize_t i0, i1, i2 + /* "argpartsort.pyx":1261 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -17987,132 +17828,109 @@ static PyObject *__pyx_pf_11argpartsort_48argpartsort_3d_int64_axis1(CYTHON_UNUS */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1271 + /* "argpartsort.pyx":1262 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1272 + /* "argpartsort.pyx":1263 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":1273 + /* "argpartsort.pyx":1264 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "argpartsort.pyx":1274 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; __pyx_t_3[1] = __pyx_v_n1; - __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1275 - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1265 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1277 - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + /* "argpartsort.pyx":1267 + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * for i2 in range(n2): + * y[i0, i1] = i0 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1278 + /* "argpartsort.pyx":1268 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * y[i0, i1, i2] = i1 + * y[i0, i1] = i0 + * if n0 == 0: */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1279 + /* "argpartsort.pyx":1269 * for i0 in range(n0): * for i1 in range(n1): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * y[i0, i1, i2] = i1 - * if n1 == 0: - */ - __pyx_t_9 = __pyx_v_n2; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i2 = __pyx_t_10; - - /* "argpartsort.pyx":1280 - * for i1 in range(n1): - * for i2 in range(n2): - * y[i0, i1, i2] = i1 # <<<<<<<<<<<<<< - * if n1 == 0: + * y[i0, i1] = i0 # <<<<<<<<<<<<<< + * if n0 == 0: * return y */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_t_13 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i1; - } + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; } } - /* "argpartsort.pyx":1281 - * for i2 in range(n2): - * y[i0, i1, i2] = i1 - * if n1 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1270 + * for i1 in range(n1): + * y[i0, i1] = i0 + * if n0 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_14 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_14) { + __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":1282 - * y[i0, i1, i2] = i1 - * if n1 == 0: + /* "argpartsort.pyx":1271 + * y[i0, i1] = i0 + * if n0 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -18120,343 +17938,320 @@ static PyObject *__pyx_pf_11argpartsort_48argpartsort_3d_int64_axis1(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":1283 - * if n1 == 0: + /* "argpartsort.pyx":1272 + * if n0 == 0: * return y - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ - __pyx_t_15 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_15) { - goto __pyx_L12_next_or; + __pyx_t_12 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_12) { + goto __pyx_L10_next_or; } else { - __pyx_t_14 = __pyx_t_15; - goto __pyx_L11_bool_binop_done; + __pyx_t_11 = __pyx_t_12; + goto __pyx_L9_bool_binop_done; } - __pyx_L12_next_or:; - __pyx_t_15 = ((__pyx_v_n > __pyx_v_n1) != 0); - __pyx_t_14 = __pyx_t_15; - __pyx_L11_bool_binop_done:; - if (__pyx_t_14) { + __pyx_L10_next_or:; + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_11 = __pyx_t_12; + __pyx_L9_bool_binop_done:; + if (__pyx_t_11) { - /* "argpartsort.pyx":1284 + /* "argpartsort.pyx":1273 * return y - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i2 in range(n2): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_16 = 0; - __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_13 = 0; + __pyx_t_14 = 0; + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_Raise(__pyx_t_17, 0, 0, 0); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_Raise(__pyx_t_14, 0, 0, 0); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1285 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * l = 0 + /* "argpartsort.pyx":1274 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_t_5 = __pyx_v_n0; + __pyx_t_5 = __pyx_v_n1; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":1286 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + /* "argpartsort.pyx":1275 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * while l < r: */ - __pyx_t_7 = __pyx_v_n2; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i2 = __pyx_t_8; + __pyx_v_l = 0; - /* "argpartsort.pyx":1287 - * for i0 in range(n0): - * for i2 in range(n2): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + /* "argpartsort.pyx":1276 + * for i1 in range(n1): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[k, i1] */ - __pyx_v_l = 0; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":1288 - * for i2 in range(n2): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k, i2] + /* "argpartsort.pyx":1277 + * l = 0 + * r = n0 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[k, i1] + * i = l */ - __pyx_v_r = (__pyx_v_n1 - 1); + while (1) { + __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_11) break; - /* "argpartsort.pyx":1289 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k, i2] - * i = l + /* "argpartsort.pyx":1278 + * r = n0 - 1 + * while l < r: + * x = b[k, i1] # <<<<<<<<<<<<<< + * i = l + * j = r */ - while (1) { - __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_14) break; + __pyx_t_16 = __pyx_v_k; + __pyx_t_7 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1290 - * r = n1 - 1 - * while l < r: - * x = b[i0, k, i2] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":1279 + * while l < r: + * x = b[k, i1] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_k; - __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1291 - * while l < r: - * x = b[i0, k, i2] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":1280 + * x = b[k, i1] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i, i1] < x: i += 1 */ - __pyx_v_i = __pyx_v_l; + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1292 - * x = b[i0, k, i2] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i, i2] < x: i += 1 + /* "argpartsort.pyx":1281 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ - __pyx_v_j = __pyx_v_r; + while (1) { - /* "argpartsort.pyx":1293 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 + /* "argpartsort.pyx":1282 + * j = r + * while 1: + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 + * if i <= j: */ while (1) { + __pyx_t_17 = __pyx_v_i; + __pyx_t_8 = __pyx_v_i1; + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_11) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1294 - * j = r - * while 1: - * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: - */ - while (1) { - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_14) break; - __pyx_v_i = (__pyx_v_i + 1); - } - - /* "argpartsort.pyx":1295 - * while 1: - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i, i2] + /* "argpartsort.pyx":1283 + * while 1: + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i, i1] */ - while (1) { - __pyx_t_23 = __pyx_v_i0; - __pyx_t_24 = __pyx_v_j; - __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_14) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_11) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":1296 - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] + /* "argpartsort.pyx":1284 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ - __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_14) { + __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":1297 - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: - * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp + /* "argpartsort.pyx":1285 + * while x < b[j, i1]: j -= 1 + * if i <= j: + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_i; - __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1298 - * if i <= j: - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< - * b[i0, j, i2] = tmp - * itmp = y[i0, i, i2] + /* "argpartsort.pyx":1286 + * if i <= j: + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp + * itmp = y[i, i1] */ - __pyx_t_29 = __pyx_v_i0; - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i2; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i; - __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1299 - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i, i2] - * y[i0, i, i2] = y[i0, j, i2] + /* "argpartsort.pyx":1287 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] */ - __pyx_t_35 = __pyx_v_i0; - __pyx_t_36 = __pyx_v_j; - __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_j; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1300 - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp - * itmp = y[i0, i, i2] # <<<<<<<<<<<<<< - * y[i0, i, i2] = y[i0, j, i2] - * y[i0, j, i2] = itmp + /* "argpartsort.pyx":1288 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp + * itmp = y[i, i1] # <<<<<<<<<<<<<< + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp */ - __pyx_t_38 = __pyx_v_i0; - __pyx_t_39 = __pyx_v_i; - __pyx_t_40 = __pyx_v_i2; - __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_28 = __pyx_v_i; + __pyx_t_29 = __pyx_v_i1; + __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1301 - * b[i0, j, i2] = tmp - * itmp = y[i0, i, i2] - * y[i0, i, i2] = y[i0, j, i2] # <<<<<<<<<<<<<< - * y[i0, j, i2] = itmp - * i += 1 + /* "argpartsort.pyx":1289 + * b[j, i1] = tmp + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< + * y[j, i1] = itmp + * i += 1 */ - __pyx_t_41 = __pyx_v_i0; - __pyx_t_42 = __pyx_v_j; - __pyx_t_43 = __pyx_v_i2; - __pyx_t_44 = __pyx_v_i0; - __pyx_t_45 = __pyx_v_i; - __pyx_t_46 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_i; + __pyx_t_33 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1302 - * itmp = y[i0, i, i2] - * y[i0, i, i2] = y[i0, j, i2] - * y[i0, j, i2] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":1290 + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_47 = __pyx_v_i0; - __pyx_t_48 = __pyx_v_j; - __pyx_t_49 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; + __pyx_t_34 = __pyx_v_j; + __pyx_t_35 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1303 - * y[i0, i, i2] = y[i0, j, i2] - * y[i0, j, i2] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":1291 + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1304 - * y[i0, j, i2] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":1292 + * y[j, i1] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L25; - } - __pyx_L25:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L21; + } + __pyx_L21:; - /* "argpartsort.pyx":1305 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1293 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_14) { - goto __pyx_L20_break; - } + __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_11) { + goto __pyx_L16_break; } - __pyx_L20_break:; + } + __pyx_L16_break:; - /* "argpartsort.pyx":1306 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":1294 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return y */ - __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_14) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L27; - } - __pyx_L27:; + __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_11) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L23; + } + __pyx_L23:; - /* "argpartsort.pyx":1307 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1295 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_14) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L28; - } - __pyx_L28:; + __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_11) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L24; } + __pyx_L24:; } } - /* "argpartsort.pyx":1308 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1296 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -18466,27 +18261,27 @@ static PyObject *__pyx_pf_11argpartsort_48argpartsort_3d_int64_axis1(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1263 + /* "argpartsort.pyx":1254 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=1." + * def argpartsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -18501,19 +18296,19 @@ static PyObject *__pyx_pf_11argpartsort_48argpartsort_3d_int64_axis1(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":1312 +/* "argpartsort.pyx":1300 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=2." + * def argpartsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_51argpartsort_3d_int64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_50argpartsort_3d_int64_axis2[] = "argpartsort_3d_int64_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=2."; -static PyMethodDef __pyx_mdef_11argpartsort_51argpartsort_3d_int64_axis2 = {"argpartsort_3d_int64_axis2", (PyCFunction)__pyx_pw_11argpartsort_51argpartsort_3d_int64_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_50argpartsort_3d_int64_axis2}; -static PyObject *__pyx_pw_11argpartsort_51argpartsort_3d_int64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_51argpartsort_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_50argpartsort_2d_int_axis1[] = "argpartsort_2d_int_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_51argpartsort_2d_int_axis1 = {"argpartsort_2d_int_axis1", (PyCFunction)__pyx_pw_11argpartsort_51argpartsort_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_50argpartsort_2d_int_axis1}; +static PyObject *__pyx_pw_11argpartsort_51argpartsort_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -18521,7 +18316,7 @@ static PyObject *__pyx_pw_11argpartsort_51argpartsort_3d_int64_axis2(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -18542,11 +18337,11 @@ static PyObject *__pyx_pw_11argpartsort_51argpartsort_3d_int64_axis2(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int64_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -18555,18 +18350,18 @@ static PyObject *__pyx_pw_11argpartsort_51argpartsort_3d_int64_axis2(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_50argpartsort_3d_int64_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_50argpartsort_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -18577,23 +18372,21 @@ static PyObject *__pyx_pw_11argpartsort_51argpartsort_3d_int64_axis2(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_50argpartsort_3d_int64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_50argpartsort_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; - Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -18606,7 +18399,7 @@ static PyObject *__pyx_pf_11argpartsort_50argpartsort_3d_int64_axis2(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[3]; + npy_intp __pyx_t_3[2]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; @@ -18614,49 +18407,35 @@ static PyObject *__pyx_pf_11argpartsort_50argpartsort_3d_int64_axis2(CYTHON_UNUS Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - int __pyx_t_14; - int __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; + int __pyx_t_11; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + npy_intp __pyx_t_16; + npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; npy_intp __pyx_t_19; Py_ssize_t __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; Py_ssize_t __pyx_t_24; npy_intp __pyx_t_25; Py_ssize_t __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; - Py_ssize_t __pyx_t_29; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; + npy_intp __pyx_t_29; Py_ssize_t __pyx_t_30; npy_intp __pyx_t_31; Py_ssize_t __pyx_t_32; - Py_ssize_t __pyx_t_33; - npy_intp __pyx_t_34; - Py_ssize_t __pyx_t_35; - Py_ssize_t __pyx_t_36; - npy_intp __pyx_t_37; - Py_ssize_t __pyx_t_38; - Py_ssize_t __pyx_t_39; - npy_intp __pyx_t_40; - Py_ssize_t __pyx_t_41; - Py_ssize_t __pyx_t_42; - npy_intp __pyx_t_43; - Py_ssize_t __pyx_t_44; - Py_ssize_t __pyx_t_45; - npy_intp __pyx_t_46; - Py_ssize_t __pyx_t_47; - Py_ssize_t __pyx_t_48; - npy_intp __pyx_t_49; + npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_34; + npy_intp __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis2", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -18671,45 +18450,45 @@ static PyObject *__pyx_pf_11argpartsort_50argpartsort_3d_int64_axis2(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":1314 - * def argpartsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int64 along axis=2." + /* "argpartsort.pyx":1302 + * def argpartsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1316 + /* "argpartsort.pyx":1304 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1319 - * cdef Py_ssize_t i0, i1, i2 + /* "argpartsort.pyx":1307 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -18717,132 +18496,109 @@ static PyObject *__pyx_pf_11argpartsort_50argpartsort_3d_int64_axis2(CYTHON_UNUS */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1320 + /* "argpartsort.pyx":1308 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1321 + /* "argpartsort.pyx":1309 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":1322 + /* "argpartsort.pyx":1310 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "argpartsort.pyx":1323 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; __pyx_t_3[1] = __pyx_v_n1; - __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1324 - * cdef Py_ssize_t n2 = dim[2] - * cdef np.npy_intp *dims = [n0, n1, n2] - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1311 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1326 - * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + /* "argpartsort.pyx":1313 + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * for i2 in range(n2): + * y[i0, i1] = i1 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1327 + /* "argpartsort.pyx":1314 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * y[i0, i1, i2] = i2 + * y[i0, i1] = i1 + * if n1 == 0: */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1328 + /* "argpartsort.pyx":1315 * for i0 in range(n0): * for i1 in range(n1): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * y[i0, i1, i2] = i2 - * if n2 == 0: - */ - __pyx_t_9 = __pyx_v_n2; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i2 = __pyx_t_10; - - /* "argpartsort.pyx":1329 - * for i1 in range(n1): - * for i2 in range(n2): - * y[i0, i1, i2] = i2 # <<<<<<<<<<<<<< - * if n2 == 0: + * y[i0, i1] = i1 # <<<<<<<<<<<<<< + * if n1 == 0: * return y */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_t_13 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i2; - } + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; } } - /* "argpartsort.pyx":1330 - * for i2 in range(n2): - * y[i0, i1, i2] = i2 - * if n2 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1316 + * for i1 in range(n1): + * y[i0, i1] = i1 + * if n1 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n2): + * if (n < 1) or (n > n1): */ - __pyx_t_14 = ((__pyx_v_n2 == 0) != 0); - if (__pyx_t_14) { + __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":1331 - * y[i0, i1, i2] = i2 - * if n2 == 0: + /* "argpartsort.pyx":1317 + * y[i0, i1] = i1 + * if n1 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -18850,343 +18606,320 @@ static PyObject *__pyx_pf_11argpartsort_50argpartsort_3d_int64_axis2(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":1332 - * if n2 == 0: + /* "argpartsort.pyx":1318 + * if n1 == 0: * return y - * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): */ - __pyx_t_15 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_15) { - goto __pyx_L12_next_or; + __pyx_t_12 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_12) { + goto __pyx_L10_next_or; } else { - __pyx_t_14 = __pyx_t_15; - goto __pyx_L11_bool_binop_done; + __pyx_t_11 = __pyx_t_12; + goto __pyx_L9_bool_binop_done; } - __pyx_L12_next_or:; - __pyx_t_15 = ((__pyx_v_n > __pyx_v_n2) != 0); - __pyx_t_14 = __pyx_t_15; - __pyx_L11_bool_binop_done:; - if (__pyx_t_14) { + __pyx_L10_next_or:; + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_11 = __pyx_t_12; + __pyx_L9_bool_binop_done:; + if (__pyx_t_11) { - /* "argpartsort.pyx":1333 + /* "argpartsort.pyx":1319 * return y - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_16 = 0; - __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_13 = 0; + __pyx_t_14 = 0; + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_Raise(__pyx_t_17, 0, 0, 0); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_Raise(__pyx_t_14, 0, 0, 0); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1334 - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) + /* "argpartsort.pyx":1320 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * l = 0 + * l = 0 + * r = n1 - 1 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1335 - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) + /* "argpartsort.pyx":1321 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * l = 0 - * r = n2 - 1 + * l = 0 # <<<<<<<<<<<<<< + * r = n1 - 1 + * while l < r: */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_v_l = 0; - /* "argpartsort.pyx":1336 + /* "argpartsort.pyx":1322 * for i0 in range(n0): - * for i1 in range(n1): - * l = 0 # <<<<<<<<<<<<<< - * r = n2 - 1 - * while l < r: + * l = 0 + * r = n1 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[i0, k] */ - __pyx_v_l = 0; + __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":1337 - * for i1 in range(n1): - * l = 0 - * r = n2 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, i1, k] + /* "argpartsort.pyx":1323 + * l = 0 + * r = n1 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[i0, k] + * i = l */ - __pyx_v_r = (__pyx_v_n2 - 1); + while (1) { + __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_11) break; - /* "argpartsort.pyx":1338 - * l = 0 - * r = n2 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, i1, k] - * i = l + /* "argpartsort.pyx":1324 + * r = n1 - 1 + * while l < r: + * x = b[i0, k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - while (1) { - __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_14) break; + __pyx_t_7 = __pyx_v_i0; + __pyx_t_16 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1339 - * r = n2 - 1 - * while l < r: - * x = b[i0, i1, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":1325 + * while l < r: + * x = b[i0, k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_t_19 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1340 - * while l < r: - * x = b[i0, i1, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":1326 + * x = b[i0, k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i0, i] < x: i += 1 */ - __pyx_v_i = __pyx_v_l; + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1341 - * x = b[i0, i1, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i1, i] < x: i += 1 + /* "argpartsort.pyx":1327 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ - __pyx_v_j = __pyx_v_r; + while (1) { - /* "argpartsort.pyx":1342 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 + /* "argpartsort.pyx":1328 + * j = r + * while 1: + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 + * if i <= j: */ while (1) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_i; + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_11) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1343 - * j = r - * while 1: - * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: - */ - while (1) { - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i1; - __pyx_t_22 = __pyx_v_i; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_14) break; - __pyx_v_i = (__pyx_v_i + 1); - } - - /* "argpartsort.pyx":1344 - * while 1: - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i1, i] + /* "argpartsort.pyx":1329 + * while 1: + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i0, i] */ - while (1) { - __pyx_t_23 = __pyx_v_i0; - __pyx_t_24 = __pyx_v_i1; - __pyx_t_25 = __pyx_v_j; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_14) break; - __pyx_v_j = (__pyx_v_j - 1); - } - - /* "argpartsort.pyx":1345 - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] + while (1) { + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_11) break; + __pyx_v_j = (__pyx_v_j - 1); + } + + /* "argpartsort.pyx":1330 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ - __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_14) { + __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":1346 - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp + /* "argpartsort.pyx":1331 + * while x < b[i0, j]: j -= 1 + * if i <= j: + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_i1; - __pyx_t_28 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1347 - * if i <= j: - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< - * b[i0, i1, j] = tmp - * itmp = y[i0, i1, i] + /* "argpartsort.pyx":1332 + * if i <= j: + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp + * itmp = y[i0, i] */ - __pyx_t_29 = __pyx_v_i0; - __pyx_t_30 = __pyx_v_i1; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i1; - __pyx_t_34 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1348 - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i1, i] - * y[i0, i1, i] = y[i0, i1, j] + /* "argpartsort.pyx":1333 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] */ - __pyx_t_35 = __pyx_v_i0; - __pyx_t_36 = __pyx_v_i1; - __pyx_t_37 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1349 - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp - * itmp = y[i0, i1, i] # <<<<<<<<<<<<<< - * y[i0, i1, i] = y[i0, i1, j] - * y[i0, i1, j] = itmp + /* "argpartsort.pyx":1334 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp + * itmp = y[i0, i] # <<<<<<<<<<<<<< + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp */ - __pyx_t_38 = __pyx_v_i0; - __pyx_t_39 = __pyx_v_i1; - __pyx_t_40 = __pyx_v_i; - __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_28 = __pyx_v_i0; + __pyx_t_29 = __pyx_v_i; + __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1350 - * b[i0, i1, j] = tmp - * itmp = y[i0, i1, i] - * y[i0, i1, i] = y[i0, i1, j] # <<<<<<<<<<<<<< - * y[i0, i1, j] = itmp - * i += 1 + /* "argpartsort.pyx":1335 + * b[i0, j] = tmp + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< + * y[i0, j] = itmp + * i += 1 */ - __pyx_t_41 = __pyx_v_i0; - __pyx_t_42 = __pyx_v_i1; - __pyx_t_43 = __pyx_v_j; - __pyx_t_44 = __pyx_v_i0; - __pyx_t_45 = __pyx_v_i1; - __pyx_t_46 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1351 - * itmp = y[i0, i1, i] - * y[i0, i1, i] = y[i0, i1, j] - * y[i0, i1, j] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":1336 + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_47 = __pyx_v_i0; - __pyx_t_48 = __pyx_v_i1; - __pyx_t_49 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; + __pyx_t_34 = __pyx_v_i0; + __pyx_t_35 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1352 - * y[i0, i1, i] = y[i0, i1, j] - * y[i0, i1, j] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":1337 + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1353 - * y[i0, i1, j] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":1338 + * y[i0, j] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L25; - } - __pyx_L25:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L21; + } + __pyx_L21:; - /* "argpartsort.pyx":1354 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1339 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_14) { - goto __pyx_L20_break; - } + __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_11) { + goto __pyx_L16_break; } - __pyx_L20_break:; + } + __pyx_L16_break:; - /* "argpartsort.pyx":1355 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":1340 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return y */ - __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_14) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L27; - } - __pyx_L27:; + __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_11) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L23; + } + __pyx_L23:; - /* "argpartsort.pyx":1356 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1341 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_14) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L28; - } - __pyx_L28:; + __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_11) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L24; } + __pyx_L24:; } } - /* "argpartsort.pyx":1357 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1342 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -19196,27 +18929,27 @@ static PyObject *__pyx_pf_11argpartsort_50argpartsort_3d_int64_axis2(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1312 + /* "argpartsort.pyx":1300 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=2." + * def argpartsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -19231,19 +18964,19 @@ static PyObject *__pyx_pf_11argpartsort_50argpartsort_3d_int64_axis2(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":1361 +/* "argpartsort.pyx":1346 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float along axis=0." + * def argpartsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_53argpartsort_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_52argpartsort_1d_float_axis0[] = "argpartsort_1d_float_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_53argpartsort_1d_float_axis0 = {"argpartsort_1d_float_axis0", (PyCFunction)__pyx_pw_11argpartsort_53argpartsort_1d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_52argpartsort_1d_float_axis0}; -static PyObject *__pyx_pw_11argpartsort_53argpartsort_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_53argpartsort_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_52argpartsort_2d_int8_axis0[] = "argpartsort_2d_int8_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_53argpartsort_2d_int8_axis0 = {"argpartsort_2d_int8_axis0", (PyCFunction)__pyx_pw_11argpartsort_53argpartsort_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_52argpartsort_2d_int8_axis0}; +static PyObject *__pyx_pw_11argpartsort_53argpartsort_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -19251,7 +18984,7 @@ static PyObject *__pyx_pw_11argpartsort_53argpartsort_1d_float_axis0(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_1d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int8_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -19272,11 +19005,11 @@ static PyObject *__pyx_pw_11argpartsort_53argpartsort_1d_float_axis0(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -19285,18 +19018,18 @@ static PyObject *__pyx_pw_11argpartsort_53argpartsort_1d_float_axis0(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_52argpartsort_1d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_52argpartsort_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -19307,19 +19040,21 @@ static PyObject *__pyx_pw_11argpartsort_53argpartsort_1d_float_axis0(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_52argpartsort_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_52argpartsort_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -19332,31 +19067,43 @@ static PyObject *__pyx_pf_11argpartsort_52argpartsort_1d_float_axis0(CYTHON_UNUS __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[1]; + npy_intp __pyx_t_3[2]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - int __pyx_t_8; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - npy_intp __pyx_t_13; - npy_intp __pyx_t_14; - npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + int __pyx_t_11; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; npy_intp __pyx_t_18; - npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_19; npy_intp __pyx_t_20; - npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_21; npy_intp __pyx_t_22; - npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_23; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_29; + npy_intp __pyx_t_30; + Py_ssize_t __pyx_t_31; + npy_intp __pyx_t_32; + Py_ssize_t __pyx_t_33; + npy_intp __pyx_t_34; + Py_ssize_t __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_1d_float_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int8_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -19371,128 +19118,151 @@ static PyObject *__pyx_pf_11argpartsort_52argpartsort_1d_float_axis0(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":1363 - * def argpartsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=float along axis=0." + /* "argpartsort.pyx":1348 + * def argpartsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1365 + /* "argpartsort.pyx":1350 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1368 - * cdef Py_ssize_t i0 + /* "argpartsort.pyx":1353 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1369 + /* "argpartsort.pyx":1354 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1370 + /* "argpartsort.pyx":1355 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "argpartsort.pyx":1356 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; + __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1371 - * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1357 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1373 - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + /* "argpartsort.pyx":1359 + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = i0 - * if n0 == 0: + * for i1 in range(n1): + * y[i0, i1] = i0 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1374 + /* "argpartsort.pyx":1360 * NPY_intp, 0) * for i0 in range(n0): - * y[i0] = i0 # <<<<<<<<<<<<<< + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i0, i1] = i0 + * if n0 == 0: + */ + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; + + /* "argpartsort.pyx":1361 + * for i0 in range(n0): + * for i1 in range(n1): + * y[i0, i1] = i0 # <<<<<<<<<<<<<< * if n0 == 0: * return y */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; + } } - /* "argpartsort.pyx":1375 - * for i0 in range(n0): - * y[i0] = i0 + /* "argpartsort.pyx":1362 + * for i1 in range(n1): + * y[i0, i1] = i0 * if n0 == 0: # <<<<<<<<<<<<<< * return y * if (n < 1) or (n > n0): */ - __pyx_t_8 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_8) { + __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":1376 - * y[i0] = i0 + /* "argpartsort.pyx":1363 + * y[i0, i1] = i0 * if n0 == 0: * return y # <<<<<<<<<<<<<< * if (n < 1) or (n > n0): @@ -19504,328 +19274,318 @@ static PyObject *__pyx_pf_11argpartsort_52argpartsort_1d_float_axis0(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":1377 + /* "argpartsort.pyx":1364 * if n0 == 0: * return y * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 + * for i1 in range(n1): */ - __pyx_t_9 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_9) { - goto __pyx_L8_next_or; + __pyx_t_12 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_12) { + goto __pyx_L10_next_or; } else { - __pyx_t_8 = __pyx_t_9; - goto __pyx_L7_bool_binop_done; + __pyx_t_11 = __pyx_t_12; + goto __pyx_L9_bool_binop_done; } - __pyx_L8_next_or:; - __pyx_t_9 = ((__pyx_v_n > __pyx_v_n0) != 0); - __pyx_t_8 = __pyx_t_9; - __pyx_L7_bool_binop_done:; - if (__pyx_t_8) { + __pyx_L10_next_or:; + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_11 = __pyx_t_12; + __pyx_L9_bool_binop_done:; + if (__pyx_t_11) { - /* "argpartsort.pyx":1378 + /* "argpartsort.pyx":1365 * return y * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * for i1 in range(n1): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_10 = 0; - __pyx_t_11 = 0; - __pyx_t_11 = PyNumber_Remainder(__pyx_t_1, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_13 = 0; + __pyx_t_14 = 0; + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_Raise(__pyx_t_11, 0, 0, 0); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_Raise(__pyx_t_14, 0, 0, 0); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1379 + /* "argpartsort.pyx":1366 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_v_l = 0; + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":1380 + /* "argpartsort.pyx":1367 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "argpartsort.pyx":1381 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1368 + * for i1 in range(n1): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[k, i1] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":1382 - * r = n0 - 1 - * with nogil: + /* "argpartsort.pyx":1369 + * l = 0 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[k, i1] * i = l */ - while (1) { - __pyx_t_8 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_8) break; + while (1) { + __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_11) break; - /* "argpartsort.pyx":1383 - * with nogil: + /* "argpartsort.pyx":1370 + * r = n0 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_13 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_16 = __pyx_v_k; + __pyx_t_7 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1384 + /* "argpartsort.pyx":1371 * while l < r: - * x = b[k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1385 - * x = b[k] + /* "argpartsort.pyx":1372 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1386 + /* "argpartsort.pyx":1373 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ - while (1) { + while (1) { - /* "argpartsort.pyx":1387 + /* "argpartsort.pyx":1374 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_14 = __pyx_v_i; - __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_8) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_17 = __pyx_v_i; + __pyx_t_8 = __pyx_v_i1; + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_11) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1388 + /* "argpartsort.pyx":1375 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i, i1] */ - while (1) { - __pyx_t_15 = __pyx_v_j; - __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_8) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_11) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":1389 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "argpartsort.pyx":1376 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ - __pyx_t_8 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_8) { + __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":1390 - * while x < b[j]: j -= 1 + /* "argpartsort.pyx":1377 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_16 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1391 + /* "argpartsort.pyx":1378 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp - * itmp = y[i] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp + * itmp = y[i, i1] */ - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1392 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i] - * y[i] = y[j] + /* "argpartsort.pyx":1379 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] */ - __pyx_t_19 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_j; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1393 - * b[i] = b[j] - * b[j] = tmp - * itmp = y[i] # <<<<<<<<<<<<<< - * y[i] = y[j] - * y[j] = itmp + /* "argpartsort.pyx":1380 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp + * itmp = y[i, i1] # <<<<<<<<<<<<<< + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp */ - __pyx_t_20 = __pyx_v_i; - __pyx_v_itmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_y.diminfo[0].strides)); + __pyx_t_28 = __pyx_v_i; + __pyx_t_29 = __pyx_v_i1; + __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1394 - * b[j] = tmp - * itmp = y[i] - * y[i] = y[j] # <<<<<<<<<<<<<< - * y[j] = itmp + /* "argpartsort.pyx":1381 + * b[j, i1] = tmp + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< + * y[j, i1] = itmp * i += 1 */ - __pyx_t_21 = __pyx_v_j; - __pyx_t_22 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_y.diminfo[0].strides)); + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_i; + __pyx_t_33 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1395 - * itmp = y[i] - * y[i] = y[j] - * y[j] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1382 + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_itmp; + __pyx_t_34 = __pyx_v_j; + __pyx_t_35 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1396 - * y[i] = y[j] - * y[j] = itmp + /* "argpartsort.pyx":1383 + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1397 - * y[j] = itmp + /* "argpartsort.pyx":1384 + * y[j, i1] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L20; - } - __pyx_L20:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L21; + } + __pyx_L21:; - /* "argpartsort.pyx":1398 + /* "argpartsort.pyx":1385 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_8 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_8) { - goto __pyx_L15_break; - } - } - __pyx_L15_break:; + __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_11) { + goto __pyx_L16_break; + } + } + __pyx_L16_break:; - /* "argpartsort.pyx":1399 + /* "argpartsort.pyx":1386 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j * return y */ - __pyx_t_8 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_8) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L22; - } - __pyx_L22:; + __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_11) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L23; + } + __pyx_L23:; - /* "argpartsort.pyx":1400 + /* "argpartsort.pyx":1387 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_8) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L23; - } - __pyx_L23:; - } - } - - /* "argpartsort.pyx":1381 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] - */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L11; - } - __pyx_L11:; + __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_11) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L24; } + __pyx_L24:; + } } - /* "argpartsort.pyx":1401 + /* "argpartsort.pyx":1388 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -19837,27 +19597,27 @@ static PyObject *__pyx_pf_11argpartsort_52argpartsort_1d_float_axis0(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1361 + /* "argpartsort.pyx":1346 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float along axis=0." + * def argpartsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -19872,19 +19632,19 @@ static PyObject *__pyx_pf_11argpartsort_52argpartsort_1d_float_axis0(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":1405 +/* "argpartsort.pyx":1392 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float32 along axis=0." + * def argpartsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_55argpartsort_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_54argpartsort_1d_float32_axis0[] = "argpartsort_1d_float32_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_55argpartsort_1d_float32_axis0 = {"argpartsort_1d_float32_axis0", (PyCFunction)__pyx_pw_11argpartsort_55argpartsort_1d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_54argpartsort_1d_float32_axis0}; -static PyObject *__pyx_pw_11argpartsort_55argpartsort_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_55argpartsort_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_54argpartsort_2d_int8_axis1[] = "argpartsort_2d_int8_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int8 along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_55argpartsort_2d_int8_axis1 = {"argpartsort_2d_int8_axis1", (PyCFunction)__pyx_pw_11argpartsort_55argpartsort_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_54argpartsort_2d_int8_axis1}; +static PyObject *__pyx_pw_11argpartsort_55argpartsort_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -19892,7 +19652,7 @@ static PyObject *__pyx_pw_11argpartsort_55argpartsort_1d_float32_axis0(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_1d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int8_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -19913,11 +19673,11 @@ static PyObject *__pyx_pw_11argpartsort_55argpartsort_1d_float32_axis0(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -19926,18 +19686,18 @@ static PyObject *__pyx_pw_11argpartsort_55argpartsort_1d_float32_axis0(PyObject values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_54argpartsort_1d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_54argpartsort_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -19948,19 +19708,21 @@ static PyObject *__pyx_pw_11argpartsort_55argpartsort_1d_float32_axis0(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_54argpartsort_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_54argpartsort_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -19973,31 +19735,43 @@ static PyObject *__pyx_pf_11argpartsort_54argpartsort_1d_float32_axis0(CYTHON_UN __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[1]; + npy_intp __pyx_t_3[2]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - int __pyx_t_8; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - npy_intp __pyx_t_13; - npy_intp __pyx_t_14; - npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + int __pyx_t_11; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; - npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_18; npy_intp __pyx_t_19; - npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_20; npy_intp __pyx_t_21; - npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_22; npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; + Py_ssize_t __pyx_t_26; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; + npy_intp __pyx_t_29; + Py_ssize_t __pyx_t_30; + npy_intp __pyx_t_31; + Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_34; + npy_intp __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_1d_float32_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int8_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -20012,132 +19786,155 @@ static PyObject *__pyx_pf_11argpartsort_54argpartsort_1d_float32_axis0(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":1407 - * def argpartsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=float32 along axis=0." + /* "argpartsort.pyx":1394 + * def argpartsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1409 + /* "argpartsort.pyx":1396 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1412 - * cdef Py_ssize_t i0 + /* "argpartsort.pyx":1399 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1413 + /* "argpartsort.pyx":1400 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1414 + /* "argpartsort.pyx":1401 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "argpartsort.pyx":1402 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; + __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1415 - * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1403 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1417 - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + /* "argpartsort.pyx":1405 + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = i0 - * if n0 == 0: + * for i1 in range(n1): + * y[i0, i1] = i1 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1418 + /* "argpartsort.pyx":1406 * NPY_intp, 0) * for i0 in range(n0): - * y[i0] = i0 # <<<<<<<<<<<<<< - * if n0 == 0: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i0, i1] = i1 + * if n1 == 0: + */ + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; + + /* "argpartsort.pyx":1407 + * for i0 in range(n0): + * for i1 in range(n1): + * y[i0, i1] = i1 # <<<<<<<<<<<<<< + * if n1 == 0: * return y */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; + } } - /* "argpartsort.pyx":1419 - * for i0 in range(n0): - * y[i0] = i0 - * if n0 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1408 + * for i1 in range(n1): + * y[i0, i1] = i1 + * if n1 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_8 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_8) { + __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":1420 - * y[i0] = i0 - * if n0 == 0: + /* "argpartsort.pyx":1409 + * y[i0, i1] = i1 + * if n1 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -20145,328 +19942,318 @@ static PyObject *__pyx_pf_11argpartsort_54argpartsort_1d_float32_axis0(CYTHON_UN goto __pyx_L0; } - /* "argpartsort.pyx":1421 - * if n0 == 0: + /* "argpartsort.pyx":1410 + * if n1 == 0: * return y - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ - __pyx_t_9 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_9) { - goto __pyx_L8_next_or; + __pyx_t_12 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_12) { + goto __pyx_L10_next_or; } else { - __pyx_t_8 = __pyx_t_9; - goto __pyx_L7_bool_binop_done; + __pyx_t_11 = __pyx_t_12; + goto __pyx_L9_bool_binop_done; } - __pyx_L8_next_or:; - __pyx_t_9 = ((__pyx_v_n > __pyx_v_n0) != 0); - __pyx_t_8 = __pyx_t_9; - __pyx_L7_bool_binop_done:; - if (__pyx_t_8) { + __pyx_L10_next_or:; + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_11 = __pyx_t_12; + __pyx_L9_bool_binop_done:; + if (__pyx_t_11) { - /* "argpartsort.pyx":1422 + /* "argpartsort.pyx":1411 * return y - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_10 = 0; - __pyx_t_11 = 0; - __pyx_t_11 = PyNumber_Remainder(__pyx_t_1, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_13 = 0; + __pyx_t_14 = 0; + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_Raise(__pyx_t_11, 0, 0, 0); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_Raise(__pyx_t_14, 0, 0, 0); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1423 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + /* "argpartsort.pyx":1412 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * l = 0 + * r = n1 - 1 */ - __pyx_v_l = 0; + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1424 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + /* "argpartsort.pyx":1413 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): + * l = 0 # <<<<<<<<<<<<<< + * r = n1 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "argpartsort.pyx":1425 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1414 + * for i0 in range(n0): + * l = 0 + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[i0, k] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":1426 - * r = n0 - 1 - * with nogil: + /* "argpartsort.pyx":1415 + * l = 0 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[i0, k] * i = l */ - while (1) { - __pyx_t_8 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_8) break; + while (1) { + __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_11) break; - /* "argpartsort.pyx":1427 - * with nogil: + /* "argpartsort.pyx":1416 + * r = n1 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_13 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_7 = __pyx_v_i0; + __pyx_t_16 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1428 + /* "argpartsort.pyx":1417 * while l < r: - * x = b[k] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1429 - * x = b[k] + /* "argpartsort.pyx":1418 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i0, i] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1430 + /* "argpartsort.pyx":1419 * i = l * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ - while (1) { + while (1) { - /* "argpartsort.pyx":1431 + /* "argpartsort.pyx":1420 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_14 = __pyx_v_i; - __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_8) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_i; + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_11) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1432 + /* "argpartsort.pyx":1421 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i0, i] */ - while (1) { - __pyx_t_15 = __pyx_v_j; - __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_8) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_11) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":1433 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "argpartsort.pyx":1422 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ - __pyx_t_8 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_8) { + __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":1434 - * while x < b[j]: j -= 1 + /* "argpartsort.pyx":1423 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_16 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1435 + /* "argpartsort.pyx":1424 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp - * itmp = y[i] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp + * itmp = y[i0, i] */ - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1436 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i] - * y[i] = y[j] + /* "argpartsort.pyx":1425 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] */ - __pyx_t_19 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1437 - * b[i] = b[j] - * b[j] = tmp - * itmp = y[i] # <<<<<<<<<<<<<< - * y[i] = y[j] - * y[j] = itmp + /* "argpartsort.pyx":1426 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp + * itmp = y[i0, i] # <<<<<<<<<<<<<< + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp */ - __pyx_t_20 = __pyx_v_i; - __pyx_v_itmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_y.diminfo[0].strides)); + __pyx_t_28 = __pyx_v_i0; + __pyx_t_29 = __pyx_v_i; + __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1438 - * b[j] = tmp - * itmp = y[i] - * y[i] = y[j] # <<<<<<<<<<<<<< - * y[j] = itmp + /* "argpartsort.pyx":1427 + * b[i0, j] = tmp + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< + * y[i0, j] = itmp * i += 1 */ - __pyx_t_21 = __pyx_v_j; - __pyx_t_22 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_y.diminfo[0].strides)); + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1439 - * itmp = y[i] - * y[i] = y[j] - * y[j] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1428 + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_itmp; + __pyx_t_34 = __pyx_v_i0; + __pyx_t_35 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1440 - * y[i] = y[j] - * y[j] = itmp + /* "argpartsort.pyx":1429 + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1441 - * y[j] = itmp + /* "argpartsort.pyx":1430 + * y[i0, j] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L20; - } - __pyx_L20:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L21; + } + __pyx_L21:; - /* "argpartsort.pyx":1442 + /* "argpartsort.pyx":1431 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_8 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_8) { - goto __pyx_L15_break; - } - } - __pyx_L15_break:; + __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_11) { + goto __pyx_L16_break; + } + } + __pyx_L16_break:; - /* "argpartsort.pyx":1443 + /* "argpartsort.pyx":1432 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j * return y */ - __pyx_t_8 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_8) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L22; - } - __pyx_L22:; + __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_11) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L23; + } + __pyx_L23:; - /* "argpartsort.pyx":1444 + /* "argpartsort.pyx":1433 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_8) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L23; - } - __pyx_L23:; - } - } - - /* "argpartsort.pyx":1425 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] - */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L11; - } - __pyx_L11:; + __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_11) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L24; } + __pyx_L24:; + } } - /* "argpartsort.pyx":1445 + /* "argpartsort.pyx":1434 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -20478,27 +20265,27 @@ static PyObject *__pyx_pf_11argpartsort_54argpartsort_1d_float32_axis0(CYTHON_UN __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1405 + /* "argpartsort.pyx":1392 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float32 along axis=0." + * def argpartsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -20513,19 +20300,19 @@ static PyObject *__pyx_pf_11argpartsort_54argpartsort_1d_float32_axis0(CYTHON_UN return __pyx_r; } -/* "argpartsort.pyx":1449 +/* "argpartsort.pyx":1438 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float64 along axis=0." + * def argpartsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_57argpartsort_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_56argpartsort_1d_float64_axis0[] = "argpartsort_1d_float64_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_57argpartsort_1d_float64_axis0 = {"argpartsort_1d_float64_axis0", (PyCFunction)__pyx_pw_11argpartsort_57argpartsort_1d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_56argpartsort_1d_float64_axis0}; -static PyObject *__pyx_pw_11argpartsort_57argpartsort_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_57argpartsort_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_56argpartsort_2d_int32_axis0[] = "argpartsort_2d_int32_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_57argpartsort_2d_int32_axis0 = {"argpartsort_2d_int32_axis0", (PyCFunction)__pyx_pw_11argpartsort_57argpartsort_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_56argpartsort_2d_int32_axis0}; +static PyObject *__pyx_pw_11argpartsort_57argpartsort_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -20533,7 +20320,7 @@ static PyObject *__pyx_pw_11argpartsort_57argpartsort_1d_float64_axis0(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_1d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -20554,11 +20341,11 @@ static PyObject *__pyx_pw_11argpartsort_57argpartsort_1d_float64_axis0(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_1d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -20567,18 +20354,18 @@ static PyObject *__pyx_pw_11argpartsort_57argpartsort_1d_float64_axis0(PyObject values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_1d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_56argpartsort_1d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_56argpartsort_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -20589,19 +20376,21 @@ static PyObject *__pyx_pw_11argpartsort_57argpartsort_1d_float64_axis0(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_56argpartsort_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_56argpartsort_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -20614,31 +20403,43 @@ static PyObject *__pyx_pf_11argpartsort_56argpartsort_1d_float64_axis0(CYTHON_UN __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[1]; + npy_intp __pyx_t_3[2]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - int __pyx_t_8; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - npy_intp __pyx_t_13; - npy_intp __pyx_t_14; - npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + int __pyx_t_11; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; npy_intp __pyx_t_18; - npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_19; npy_intp __pyx_t_20; - npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_21; npy_intp __pyx_t_22; - npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_23; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_29; + npy_intp __pyx_t_30; + Py_ssize_t __pyx_t_31; + npy_intp __pyx_t_32; + Py_ssize_t __pyx_t_33; + npy_intp __pyx_t_34; + Py_ssize_t __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_1d_float64_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -20653,128 +20454,151 @@ static PyObject *__pyx_pf_11argpartsort_56argpartsort_1d_float64_axis0(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":1451 - * def argpartsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=float64 along axis=0." + /* "argpartsort.pyx":1440 + * def argpartsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1453 + /* "argpartsort.pyx":1442 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1456 - * cdef Py_ssize_t i0 + /* "argpartsort.pyx":1445 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1457 + /* "argpartsort.pyx":1446 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1458 + /* "argpartsort.pyx":1447 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "argpartsort.pyx":1448 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; + __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1459 - * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1449 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1461 - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + /* "argpartsort.pyx":1451 + * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * y[i0] = i0 - * if n0 == 0: + * for i1 in range(n1): + * y[i0, i1] = i0 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1462 + /* "argpartsort.pyx":1452 * NPY_intp, 0) * for i0 in range(n0): - * y[i0] = i0 # <<<<<<<<<<<<<< + * for i1 in range(n1): # <<<<<<<<<<<<<< + * y[i0, i1] = i0 + * if n0 == 0: + */ + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; + + /* "argpartsort.pyx":1453 + * for i0 in range(n0): + * for i1 in range(n1): + * y[i0, i1] = i0 # <<<<<<<<<<<<<< * if n0 == 0: * return y */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; + } } - /* "argpartsort.pyx":1463 - * for i0 in range(n0): - * y[i0] = i0 + /* "argpartsort.pyx":1454 + * for i1 in range(n1): + * y[i0, i1] = i0 * if n0 == 0: # <<<<<<<<<<<<<< * return y * if (n < 1) or (n > n0): */ - __pyx_t_8 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_8) { + __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":1464 - * y[i0] = i0 + /* "argpartsort.pyx":1455 + * y[i0, i1] = i0 * if n0 == 0: * return y # <<<<<<<<<<<<<< * if (n < 1) or (n > n0): @@ -20786,328 +20610,318 @@ static PyObject *__pyx_pf_11argpartsort_56argpartsort_1d_float64_axis0(CYTHON_UN goto __pyx_L0; } - /* "argpartsort.pyx":1465 + /* "argpartsort.pyx":1456 * if n0 == 0: * return y * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 + * for i1 in range(n1): */ - __pyx_t_9 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_9) { - goto __pyx_L8_next_or; + __pyx_t_12 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_12) { + goto __pyx_L10_next_or; } else { - __pyx_t_8 = __pyx_t_9; - goto __pyx_L7_bool_binop_done; + __pyx_t_11 = __pyx_t_12; + goto __pyx_L9_bool_binop_done; } - __pyx_L8_next_or:; - __pyx_t_9 = ((__pyx_v_n > __pyx_v_n0) != 0); - __pyx_t_8 = __pyx_t_9; - __pyx_L7_bool_binop_done:; - if (__pyx_t_8) { + __pyx_L10_next_or:; + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_11 = __pyx_t_12; + __pyx_L9_bool_binop_done:; + if (__pyx_t_11) { - /* "argpartsort.pyx":1466 + /* "argpartsort.pyx":1457 * return y * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * for i1 in range(n1): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_10 = 0; - __pyx_t_11 = 0; - __pyx_t_11 = PyNumber_Remainder(__pyx_t_1, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_13 = 0; + __pyx_t_14 = 0; + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_Raise(__pyx_t_11, 0, 0, 0); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_14); + __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_Raise(__pyx_t_14, 0, 0, 0); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1467 + /* "argpartsort.pyx":1458 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_v_l = 0; + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":1468 + /* "argpartsort.pyx":1459 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "argpartsort.pyx":1469 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1460 + * for i1 in range(n1): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[k, i1] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":1470 - * r = n0 - 1 - * with nogil: + /* "argpartsort.pyx":1461 + * l = 0 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[k, i1] * i = l */ - while (1) { - __pyx_t_8 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_8) break; + while (1) { + __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_11) break; - /* "argpartsort.pyx":1471 - * with nogil: + /* "argpartsort.pyx":1462 + * r = n0 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_13 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_16 = __pyx_v_k; + __pyx_t_7 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1472 + /* "argpartsort.pyx":1463 * while l < r: - * x = b[k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1473 - * x = b[k] + /* "argpartsort.pyx":1464 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1474 + /* "argpartsort.pyx":1465 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ - while (1) { + while (1) { - /* "argpartsort.pyx":1475 + /* "argpartsort.pyx":1466 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_14 = __pyx_v_i; - __pyx_t_8 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_8) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_17 = __pyx_v_i; + __pyx_t_8 = __pyx_v_i1; + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_11) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1476 + /* "argpartsort.pyx":1467 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i, i1] */ - while (1) { - __pyx_t_15 = __pyx_v_j; - __pyx_t_8 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_8) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_11) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":1477 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "argpartsort.pyx":1468 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ - __pyx_t_8 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_8) { + __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_11) { - /* "argpartsort.pyx":1478 - * while x < b[j]: j -= 1 + /* "argpartsort.pyx":1469 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_16 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1479 + /* "argpartsort.pyx":1470 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp - * itmp = y[i] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp + * itmp = y[i, i1] */ - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1480 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i] - * y[i] = y[j] + /* "argpartsort.pyx":1471 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] */ - __pyx_t_19 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_j; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1481 - * b[i] = b[j] - * b[j] = tmp - * itmp = y[i] # <<<<<<<<<<<<<< - * y[i] = y[j] - * y[j] = itmp + /* "argpartsort.pyx":1472 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp + * itmp = y[i, i1] # <<<<<<<<<<<<<< + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp */ - __pyx_t_20 = __pyx_v_i; - __pyx_v_itmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_y.diminfo[0].strides)); + __pyx_t_28 = __pyx_v_i; + __pyx_t_29 = __pyx_v_i1; + __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1482 - * b[j] = tmp - * itmp = y[i] - * y[i] = y[j] # <<<<<<<<<<<<<< - * y[j] = itmp + /* "argpartsort.pyx":1473 + * b[j, i1] = tmp + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< + * y[j, i1] = itmp * i += 1 */ - __pyx_t_21 = __pyx_v_j; - __pyx_t_22 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_y.diminfo[0].strides)); + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_i; + __pyx_t_33 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1483 - * itmp = y[i] - * y[i] = y[j] - * y[j] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1474 + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_itmp; + __pyx_t_34 = __pyx_v_j; + __pyx_t_35 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1484 - * y[i] = y[j] - * y[j] = itmp + /* "argpartsort.pyx":1475 + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1485 - * y[j] = itmp + /* "argpartsort.pyx":1476 + * y[j, i1] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L20; - } - __pyx_L20:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L21; + } + __pyx_L21:; - /* "argpartsort.pyx":1486 + /* "argpartsort.pyx":1477 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_8 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_8) { - goto __pyx_L15_break; - } - } - __pyx_L15_break:; + __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_11) { + goto __pyx_L16_break; + } + } + __pyx_L16_break:; - /* "argpartsort.pyx":1487 + /* "argpartsort.pyx":1478 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j * return y */ - __pyx_t_8 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_8) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L22; - } - __pyx_L22:; + __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_11) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L23; + } + __pyx_L23:; - /* "argpartsort.pyx":1488 + /* "argpartsort.pyx":1479 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_8) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L23; - } - __pyx_L23:; - } - } - - /* "argpartsort.pyx":1469 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] - */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L11; - } - __pyx_L11:; + __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_11) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L24; } + __pyx_L24:; + } } - /* "argpartsort.pyx":1489 + /* "argpartsort.pyx":1480 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -21119,27 +20933,27 @@ static PyObject *__pyx_pf_11argpartsort_56argpartsort_1d_float64_axis0(CYTHON_UN __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1449 + /* "argpartsort.pyx":1438 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float64 along axis=0." + * def argpartsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -21154,19 +20968,19 @@ static PyObject *__pyx_pf_11argpartsort_56argpartsort_1d_float64_axis0(CYTHON_UN return __pyx_r; } -/* "argpartsort.pyx":1493 +/* "argpartsort.pyx":1484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=0." + * def argpartsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_59argpartsort_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_58argpartsort_2d_float_axis0[] = "argpartsort_2d_float_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_59argpartsort_2d_float_axis0 = {"argpartsort_2d_float_axis0", (PyCFunction)__pyx_pw_11argpartsort_59argpartsort_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_58argpartsort_2d_float_axis0}; -static PyObject *__pyx_pw_11argpartsort_59argpartsort_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_59argpartsort_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_58argpartsort_2d_int32_axis1[] = "argpartsort_2d_int32_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int32 along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_59argpartsort_2d_int32_axis1 = {"argpartsort_2d_int32_axis1", (PyCFunction)__pyx_pw_11argpartsort_59argpartsort_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_58argpartsort_2d_int32_axis1}; +static PyObject *__pyx_pw_11argpartsort_59argpartsort_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -21174,7 +20988,7 @@ static PyObject *__pyx_pw_11argpartsort_59argpartsort_2d_float_axis0(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -21195,11 +21009,11 @@ static PyObject *__pyx_pw_11argpartsort_59argpartsort_2d_float_axis0(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -21208,18 +21022,18 @@ static PyObject *__pyx_pw_11argpartsort_59argpartsort_2d_float_axis0(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_58argpartsort_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -21230,15 +21044,15 @@ static PyObject *__pyx_pw_11argpartsort_59argpartsort_2d_float_axis0(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -21272,28 +21086,28 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; - Py_ssize_t __pyx_t_29; - npy_intp __pyx_t_30; - Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; - Py_ssize_t __pyx_t_33; - npy_intp __pyx_t_34; - Py_ssize_t __pyx_t_35; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; + Py_ssize_t __pyx_t_26; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; + npy_intp __pyx_t_29; + Py_ssize_t __pyx_t_30; + npy_intp __pyx_t_31; + Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_34; + npy_intp __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_float_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int32_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -21308,36 +21122,36 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":1495 - * def argpartsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float along axis=0." + /* "argpartsort.pyx":1486 + * def argpartsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1497 + /* "argpartsort.pyx":1488 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -21345,7 +21159,7 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1500 + /* "argpartsort.pyx":1491 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -21354,7 +21168,7 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1501 + /* "argpartsort.pyx":1492 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -21363,7 +21177,7 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1502 + /* "argpartsort.pyx":1493 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -21372,7 +21186,7 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":1503 + /* "argpartsort.pyx":1494 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -21383,22 +21197,22 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1504 + /* "argpartsort.pyx":1495 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -21406,57 +21220,57 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1506 + /* "argpartsort.pyx":1497 * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i0 + * y[i0, i1] = i1 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1507 + /* "argpartsort.pyx":1498 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i0 - * if n0 == 0: + * y[i0, i1] = i1 + * if n1 == 0: */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1508 + /* "argpartsort.pyx":1499 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i0 # <<<<<<<<<<<<<< - * if n0 == 0: + * y[i0, i1] = i1 # <<<<<<<<<<<<<< + * if n1 == 0: * return y */ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; } } - /* "argpartsort.pyx":1509 + /* "argpartsort.pyx":1500 * for i1 in range(n1): - * y[i0, i1] = i0 - * if n0 == 0: # <<<<<<<<<<<<<< + * y[i0, i1] = i1 + * if n1 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":1510 - * y[i0, i1] = i0 - * if n0 == 0: + /* "argpartsort.pyx":1501 + * y[i0, i1] = i1 + * if n1 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -21464,12 +21278,12 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":1511 - * if n0 == 0: + /* "argpartsort.pyx":1502 + * if n1 == 0: * return y - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_12 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_12) { @@ -21479,25 +21293,25 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS goto __pyx_L9_bool_binop_done; } __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L9_bool_binop_done:; if (__pyx_t_11) { - /* "argpartsort.pyx":1512 + /* "argpartsort.pyx":1503 * return y - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -21505,222 +21319,222 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS __Pyx_GIVEREF(__pyx_t_14); __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_Raise(__pyx_t_14, 0, 0, 0); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1513 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1504 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_t_5 = __pyx_v_n1; + __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1514 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + /* "argpartsort.pyx":1505 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "argpartsort.pyx":1515 - * for i1 in range(n1): + /* "argpartsort.pyx":1506 + * for i0 in range(n0): * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":1516 + /* "argpartsort.pyx":1507 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_11) break; - /* "argpartsort.pyx":1517 - * r = n0 - 1 + /* "argpartsort.pyx":1508 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ + __pyx_t_7 = __pyx_v_i0; __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1518 + /* "argpartsort.pyx":1509 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1519 - * x = b[k, i1] + /* "argpartsort.pyx":1510 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1520 + /* "argpartsort.pyx":1511 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "argpartsort.pyx":1521 + /* "argpartsort.pyx":1512 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { + __pyx_t_8 = __pyx_v_i0; __pyx_t_17 = __pyx_v_i; - __pyx_t_8 = __pyx_v_i1; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_11) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":1522 + /* "argpartsort.pyx":1513 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_11) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":1523 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":1514 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":1524 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":1515 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1525 + /* "argpartsort.pyx":1516 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp - * itmp = y[i, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp + * itmp = y[i0, i] */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1526 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] + /* "argpartsort.pyx":1517 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] */ - __pyx_t_26 = __pyx_v_j; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1527 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp - * itmp = y[i, i1] # <<<<<<<<<<<<<< - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":1518 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp + * itmp = y[i0, i] # <<<<<<<<<<<<<< + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp */ - __pyx_t_28 = __pyx_v_i; - __pyx_t_29 = __pyx_v_i1; + __pyx_t_28 = __pyx_v_i0; + __pyx_t_29 = __pyx_v_i; __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1528 - * b[j, i1] = tmp - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< - * y[j, i1] = itmp + /* "argpartsort.pyx":1519 + * b[i0, j] = tmp + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< + * y[i0, j] = itmp * i += 1 */ - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_i; - __pyx_t_33 = __pyx_v_i1; + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1529 - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1520 + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_34 = __pyx_v_j; - __pyx_t_35 = __pyx_v_i1; + __pyx_t_34 = __pyx_v_i0; + __pyx_t_35 = __pyx_v_j; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1530 - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":1521 + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1531 - * y[j, i1] = itmp + /* "argpartsort.pyx":1522 + * y[i0, j] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -21731,7 +21545,7 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS } __pyx_L21:; - /* "argpartsort.pyx":1532 + /* "argpartsort.pyx":1523 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -21745,7 +21559,7 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS } __pyx_L16_break:; - /* "argpartsort.pyx":1533 + /* "argpartsort.pyx":1524 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -21759,7 +21573,7 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS } __pyx_L23:; - /* "argpartsort.pyx":1534 + /* "argpartsort.pyx":1525 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -21775,7 +21589,7 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS } } - /* "argpartsort.pyx":1535 + /* "argpartsort.pyx":1526 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -21787,11 +21601,11 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1493 + /* "argpartsort.pyx":1484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=0." + * def argpartsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -21807,7 +21621,7 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -21822,19 +21636,19 @@ static PyObject *__pyx_pf_11argpartsort_58argpartsort_2d_float_axis0(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":1539 +/* "argpartsort.pyx":1530 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=1." + * def argpartsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_61argpartsort_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_60argpartsort_2d_float_axis1[] = "argpartsort_2d_float_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_61argpartsort_2d_float_axis1 = {"argpartsort_2d_float_axis1", (PyCFunction)__pyx_pw_11argpartsort_61argpartsort_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_60argpartsort_2d_float_axis1}; -static PyObject *__pyx_pw_11argpartsort_61argpartsort_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_61argpartsort_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_60argpartsort_2d_int64_axis0[] = "argpartsort_2d_int64_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_61argpartsort_2d_int64_axis0 = {"argpartsort_2d_int64_axis0", (PyCFunction)__pyx_pw_11argpartsort_61argpartsort_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_60argpartsort_2d_int64_axis0}; +static PyObject *__pyx_pw_11argpartsort_61argpartsort_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -21842,7 +21656,7 @@ static PyObject *__pyx_pw_11argpartsort_61argpartsort_2d_float_axis1(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -21863,11 +21677,11 @@ static PyObject *__pyx_pw_11argpartsort_61argpartsort_2d_float_axis1(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -21876,18 +21690,18 @@ static PyObject *__pyx_pw_11argpartsort_61argpartsort_2d_float_axis1(PyObject *_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_60argpartsort_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -21898,15 +21712,15 @@ static PyObject *__pyx_pw_11argpartsort_61argpartsort_2d_float_axis1(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -21940,28 +21754,28 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; - Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; - Py_ssize_t __pyx_t_28; - npy_intp __pyx_t_29; - Py_ssize_t __pyx_t_30; - npy_intp __pyx_t_31; - Py_ssize_t __pyx_t_32; - npy_intp __pyx_t_33; - Py_ssize_t __pyx_t_34; - npy_intp __pyx_t_35; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_29; + npy_intp __pyx_t_30; + Py_ssize_t __pyx_t_31; + npy_intp __pyx_t_32; + Py_ssize_t __pyx_t_33; + npy_intp __pyx_t_34; + Py_ssize_t __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_float_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -21976,36 +21790,36 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":1541 - * def argpartsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float along axis=1." + /* "argpartsort.pyx":1532 + * def argpartsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1543 + /* "argpartsort.pyx":1534 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -22013,7 +21827,7 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1546 + /* "argpartsort.pyx":1537 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -22022,7 +21836,7 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1547 + /* "argpartsort.pyx":1538 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -22031,7 +21845,7 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1548 + /* "argpartsort.pyx":1539 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -22040,7 +21854,7 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":1549 + /* "argpartsort.pyx":1540 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -22051,22 +21865,22 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1550 + /* "argpartsort.pyx":1541 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -22074,57 +21888,57 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1552 + /* "argpartsort.pyx":1543 * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i1 + * y[i0, i1] = i0 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1553 + /* "argpartsort.pyx":1544 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i1 - * if n1 == 0: + * y[i0, i1] = i0 + * if n0 == 0: */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1554 + /* "argpartsort.pyx":1545 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i1 # <<<<<<<<<<<<<< - * if n1 == 0: + * y[i0, i1] = i0 # <<<<<<<<<<<<<< + * if n0 == 0: * return y */ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; } } - /* "argpartsort.pyx":1555 + /* "argpartsort.pyx":1546 * for i1 in range(n1): - * y[i0, i1] = i1 - * if n1 == 0: # <<<<<<<<<<<<<< + * y[i0, i1] = i0 + * if n0 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":1556 - * y[i0, i1] = i1 - * if n1 == 0: + /* "argpartsort.pyx":1547 + * y[i0, i1] = i0 + * if n0 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -22132,12 +21946,12 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS goto __pyx_L0; } - /* "argpartsort.pyx":1557 - * if n1 == 0: + /* "argpartsort.pyx":1548 + * if n0 == 0: * return y - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ __pyx_t_12 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_12) { @@ -22147,25 +21961,25 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS goto __pyx_L9_bool_binop_done; } __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L9_bool_binop_done:; if (__pyx_t_11) { - /* "argpartsort.pyx":1558 + /* "argpartsort.pyx":1549 * return y - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -22173,222 +21987,222 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS __Pyx_GIVEREF(__pyx_t_14); __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_Raise(__pyx_t_14, 0, 0, 0); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1559 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1550 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< * l = 0 - * r = n1 - 1 + * r = n0 - 1 */ - __pyx_t_5 = __pyx_v_n0; + __pyx_t_5 = __pyx_v_n1; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":1560 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + /* "argpartsort.pyx":1551 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 + * r = n0 - 1 * while l < r: */ __pyx_v_l = 0; - /* "argpartsort.pyx":1561 - * for i0 in range(n0): + /* "argpartsort.pyx":1552 + * for i1 in range(n1): * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[i0, k] + * x = b[k, i1] */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":1562 + /* "argpartsort.pyx":1553 * l = 0 - * r = n1 - 1 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] + * x = b[k, i1] * i = l */ while (1) { __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_11) break; - /* "argpartsort.pyx":1563 - * r = n1 - 1 + /* "argpartsort.pyx":1554 + * r = n0 - 1 * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_7 = __pyx_v_i0; __pyx_t_16 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_7 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1564 + /* "argpartsort.pyx":1555 * while l < r: - * x = b[i0, k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1565 - * x = b[i0, k] + /* "argpartsort.pyx":1556 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i0, i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1566 + /* "argpartsort.pyx":1557 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ while (1) { - /* "argpartsort.pyx":1567 + /* "argpartsort.pyx":1558 * j = r * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_8 = __pyx_v_i0; __pyx_t_17 = __pyx_v_i; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_8 = __pyx_v_i1; + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_11) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":1568 + /* "argpartsort.pyx":1559 * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i0, i] + * tmp = b[i, i1] */ while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_11) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":1569 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "argpartsort.pyx":1560 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":1570 - * while x < b[i0, j]: j -= 1 + /* "argpartsort.pyx":1561 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1571 + /* "argpartsort.pyx":1562 * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * itmp = y[i0, i] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp + * itmp = y[i, i1] */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1572 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] + /* "argpartsort.pyx":1563 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_j; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1573 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * itmp = y[i0, i] # <<<<<<<<<<<<<< - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp + /* "argpartsort.pyx":1564 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp + * itmp = y[i, i1] # <<<<<<<<<<<<<< + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp */ - __pyx_t_28 = __pyx_v_i0; - __pyx_t_29 = __pyx_v_i; + __pyx_t_28 = __pyx_v_i; + __pyx_t_29 = __pyx_v_i1; __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1574 - * b[i0, j] = tmp - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< - * y[i0, j] = itmp + /* "argpartsort.pyx":1565 + * b[j, i1] = tmp + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< + * y[j, i1] = itmp * i += 1 */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i; + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_i; + __pyx_t_33 = __pyx_v_i1; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1575 - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1566 + * itmp = y[i, i1] + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_34 = __pyx_v_i0; - __pyx_t_35 = __pyx_v_j; + __pyx_t_34 = __pyx_v_j; + __pyx_t_35 = __pyx_v_i1; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1576 - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp + /* "argpartsort.pyx":1567 + * y[i, i1] = y[j, i1] + * y[j, i1] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1577 - * y[i0, j] = itmp + /* "argpartsort.pyx":1568 + * y[j, i1] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -22399,7 +22213,7 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS } __pyx_L21:; - /* "argpartsort.pyx":1578 + /* "argpartsort.pyx":1569 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -22413,7 +22227,7 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS } __pyx_L16_break:; - /* "argpartsort.pyx":1579 + /* "argpartsort.pyx":1570 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -22427,7 +22241,7 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS } __pyx_L23:; - /* "argpartsort.pyx":1580 + /* "argpartsort.pyx":1571 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -22443,7 +22257,7 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS } } - /* "argpartsort.pyx":1581 + /* "argpartsort.pyx":1572 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -22455,11 +22269,11 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1539 + /* "argpartsort.pyx":1530 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=1." + * def argpartsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -22475,7 +22289,7 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -22490,19 +22304,19 @@ static PyObject *__pyx_pf_11argpartsort_60argpartsort_2d_float_axis1(CYTHON_UNUS return __pyx_r; } -/* "argpartsort.pyx":1585 +/* "argpartsort.pyx":1576 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=0." + * def argpartsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_63argpartsort_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_62argpartsort_2d_float32_axis0[] = "argpartsort_2d_float32_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_63argpartsort_2d_float32_axis0 = {"argpartsort_2d_float32_axis0", (PyCFunction)__pyx_pw_11argpartsort_63argpartsort_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_62argpartsort_2d_float32_axis0}; -static PyObject *__pyx_pw_11argpartsort_63argpartsort_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_63argpartsort_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_62argpartsort_2d_int64_axis1[] = "argpartsort_2d_int64_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int64 along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_63argpartsort_2d_int64_axis1 = {"argpartsort_2d_int64_axis1", (PyCFunction)__pyx_pw_11argpartsort_63argpartsort_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_62argpartsort_2d_int64_axis1}; +static PyObject *__pyx_pw_11argpartsort_63argpartsort_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -22510,7 +22324,7 @@ static PyObject *__pyx_pw_11argpartsort_63argpartsort_2d_float32_axis0(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -22531,11 +22345,11 @@ static PyObject *__pyx_pw_11argpartsort_63argpartsort_2d_float32_axis0(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -22544,18 +22358,18 @@ static PyObject *__pyx_pw_11argpartsort_63argpartsort_2d_float32_axis0(PyObject values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_62argpartsort_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -22566,15 +22380,15 @@ static PyObject *__pyx_pw_11argpartsort_63argpartsort_2d_float32_axis0(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -22608,28 +22422,28 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN PyObject *__pyx_t_15 = NULL; npy_intp __pyx_t_16; npy_intp __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; - Py_ssize_t __pyx_t_29; - npy_intp __pyx_t_30; - Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; - Py_ssize_t __pyx_t_33; - npy_intp __pyx_t_34; - Py_ssize_t __pyx_t_35; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; + Py_ssize_t __pyx_t_26; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; + npy_intp __pyx_t_29; + Py_ssize_t __pyx_t_30; + npy_intp __pyx_t_31; + Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_34; + npy_intp __pyx_t_35; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_float32_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_2d_int64_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -22644,36 +22458,36 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "argpartsort.pyx":1587 - * def argpartsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float32 along axis=0." + /* "argpartsort.pyx":1578 + * def argpartsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1589 + /* "argpartsort.pyx":1580 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -22681,7 +22495,7 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1592 + /* "argpartsort.pyx":1583 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -22690,7 +22504,7 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1593 + /* "argpartsort.pyx":1584 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -22699,7 +22513,7 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1594 + /* "argpartsort.pyx":1585 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -22708,7 +22522,7 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":1595 + /* "argpartsort.pyx":1586 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -22719,22 +22533,22 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1596 + /* "argpartsort.pyx":1587 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -22742,57 +22556,57 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1598 + /* "argpartsort.pyx":1589 * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i0 + * y[i0, i1] = i1 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1599 + /* "argpartsort.pyx":1590 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i0 - * if n0 == 0: + * y[i0, i1] = i1 + * if n1 == 0: */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1600 + /* "argpartsort.pyx":1591 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i0 # <<<<<<<<<<<<<< - * if n0 == 0: + * y[i0, i1] = i1 # <<<<<<<<<<<<<< + * if n1 == 0: * return y */ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; } } - /* "argpartsort.pyx":1601 + /* "argpartsort.pyx":1592 * for i1 in range(n1): - * y[i0, i1] = i0 - * if n0 == 0: # <<<<<<<<<<<<<< + * y[i0, i1] = i1 + * if n1 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":1602 - * y[i0, i1] = i0 - * if n0 == 0: + /* "argpartsort.pyx":1593 + * y[i0, i1] = i1 + * if n1 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -22800,12 +22614,12 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN goto __pyx_L0; } - /* "argpartsort.pyx":1603 - * if n0 == 0: + /* "argpartsort.pyx":1594 + * if n1 == 0: * return y - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_12 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_12) { @@ -22815,25 +22629,25 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN goto __pyx_L9_bool_binop_done; } __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_11 = __pyx_t_12; __pyx_L9_bool_binop_done:; if (__pyx_t_11) { - /* "argpartsort.pyx":1604 + /* "argpartsort.pyx":1595 * return y - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -22841,222 +22655,222 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN __Pyx_GIVEREF(__pyx_t_14); __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_Raise(__pyx_t_14, 0, 0, 0); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1605 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1596 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_t_5 = __pyx_v_n1; + __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1606 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + /* "argpartsort.pyx":1597 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "argpartsort.pyx":1607 - * for i1 in range(n1): + /* "argpartsort.pyx":1598 + * for i0 in range(n0): * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":1608 + /* "argpartsort.pyx":1599 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_11) break; - /* "argpartsort.pyx":1609 - * r = n0 - 1 + /* "argpartsort.pyx":1600 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ + __pyx_t_7 = __pyx_v_i0; __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1610 + /* "argpartsort.pyx":1601 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1611 - * x = b[k, i1] + /* "argpartsort.pyx":1602 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1612 + /* "argpartsort.pyx":1603 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "argpartsort.pyx":1613 + /* "argpartsort.pyx":1604 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { + __pyx_t_8 = __pyx_v_i0; __pyx_t_17 = __pyx_v_i; - __pyx_t_8 = __pyx_v_i1; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_11) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "argpartsort.pyx":1614 + /* "argpartsort.pyx":1605 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_11) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "argpartsort.pyx":1615 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":1606 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_11) { - /* "argpartsort.pyx":1616 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":1607 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1617 + /* "argpartsort.pyx":1608 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp - * itmp = y[i, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp + * itmp = y[i0, i] */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "argpartsort.pyx":1618 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] + /* "argpartsort.pyx":1609 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] */ - __pyx_t_26 = __pyx_v_j; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1619 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp - * itmp = y[i, i1] # <<<<<<<<<<<<<< - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":1610 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp + * itmp = y[i0, i] # <<<<<<<<<<<<<< + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp */ - __pyx_t_28 = __pyx_v_i; - __pyx_t_29 = __pyx_v_i1; + __pyx_t_28 = __pyx_v_i0; + __pyx_t_29 = __pyx_v_i; __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1620 - * b[j, i1] = tmp - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< - * y[j, i1] = itmp + /* "argpartsort.pyx":1611 + * b[i0, j] = tmp + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< + * y[i0, j] = itmp * i += 1 - */ - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_i; - __pyx_t_33 = __pyx_v_i1; + */ + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); - /* "argpartsort.pyx":1621 - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1612 + * itmp = y[i0, i] + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_34 = __pyx_v_j; - __pyx_t_35 = __pyx_v_i1; + __pyx_t_34 = __pyx_v_i0; + __pyx_t_35 = __pyx_v_j; *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1622 - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":1613 + * y[i0, i] = y[i0, j] + * y[i0, j] = itmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1623 - * y[j, i1] = itmp + /* "argpartsort.pyx":1614 + * y[i0, j] = itmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -23067,7 +22881,7 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN } __pyx_L21:; - /* "argpartsort.pyx":1624 + /* "argpartsort.pyx":1615 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -23081,7 +22895,7 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN } __pyx_L16_break:; - /* "argpartsort.pyx":1625 + /* "argpartsort.pyx":1616 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -23095,7 +22909,7 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN } __pyx_L23:; - /* "argpartsort.pyx":1626 + /* "argpartsort.pyx":1617 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -23111,7 +22925,7 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN } } - /* "argpartsort.pyx":1627 + /* "argpartsort.pyx":1618 * if j < k: l = i * if k < i: r = j * return y # <<<<<<<<<<<<<< @@ -23123,11 +22937,11 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1585 + /* "argpartsort.pyx":1576 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=0." + * def argpartsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -23143,7 +22957,7 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -23158,19 +22972,19 @@ static PyObject *__pyx_pf_11argpartsort_62argpartsort_2d_float32_axis0(CYTHON_UN return __pyx_r; } -/* "argpartsort.pyx":1631 +/* "argpartsort.pyx":1622 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=1." + * def argpartsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_65argpartsort_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_64argpartsort_2d_float32_axis1[] = "argpartsort_2d_float32_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float32 along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_65argpartsort_2d_float32_axis1 = {"argpartsort_2d_float32_axis1", (PyCFunction)__pyx_pw_11argpartsort_65argpartsort_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_64argpartsort_2d_float32_axis1}; -static PyObject *__pyx_pw_11argpartsort_65argpartsort_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_65argpartsort_3d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_64argpartsort_3d_int_axis0[] = "argpartsort_3d_int_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_65argpartsort_3d_int_axis0 = {"argpartsort_3d_int_axis0", (PyCFunction)__pyx_pw_11argpartsort_65argpartsort_3d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_64argpartsort_3d_int_axis0}; +static PyObject *__pyx_pw_11argpartsort_65argpartsort_3d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -23178,7 +22992,7 @@ static PyObject *__pyx_pw_11argpartsort_65argpartsort_2d_float32_axis1(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -23199,11 +23013,11 @@ static PyObject *__pyx_pw_11argpartsort_65argpartsort_2d_float32_axis1(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -23212,18 +23026,18 @@ static PyObject *__pyx_pw_11argpartsort_65argpartsort_2d_float32_axis1(PyObject values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_64argpartsort_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_64argpartsort_3d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -23234,21 +23048,23 @@ static PyObject *__pyx_pw_11argpartsort_65argpartsort_2d_float32_axis1(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_64argpartsort_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_64argpartsort_3d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -23261,7 +23077,7 @@ static PyObject *__pyx_pf_11argpartsort_64argpartsort_2d_float32_axis1(CYTHON_UN __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[2]; + npy_intp __pyx_t_3[3]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; @@ -23269,35 +23085,49 @@ static PyObject *__pyx_pf_11argpartsort_64argpartsort_2d_float32_axis1(CYTHON_UN Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - int __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - npy_intp __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + int __pyx_t_14; + int __pyx_t_15; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; Py_ssize_t __pyx_t_22; npy_intp __pyx_t_23; Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; - Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_25; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; Py_ssize_t __pyx_t_28; npy_intp __pyx_t_29; Py_ssize_t __pyx_t_30; - npy_intp __pyx_t_31; - Py_ssize_t __pyx_t_32; - npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_31; + npy_intp __pyx_t_32; + Py_ssize_t __pyx_t_33; Py_ssize_t __pyx_t_34; npy_intp __pyx_t_35; + Py_ssize_t __pyx_t_36; + Py_ssize_t __pyx_t_37; + npy_intp __pyx_t_38; + Py_ssize_t __pyx_t_39; + Py_ssize_t __pyx_t_40; + npy_intp __pyx_t_41; + Py_ssize_t __pyx_t_42; + Py_ssize_t __pyx_t_43; + npy_intp __pyx_t_44; + Py_ssize_t __pyx_t_45; + Py_ssize_t __pyx_t_46; + npy_intp __pyx_t_47; + Py_ssize_t __pyx_t_48; + Py_ssize_t __pyx_t_49; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_float32_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -23312,45 +23142,45 @@ static PyObject *__pyx_pf_11argpartsort_64argpartsort_2d_float32_axis1(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":1633 - * def argpartsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float32 along axis=1." + /* "argpartsort.pyx":1624 + * def argpartsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1635 + /* "argpartsort.pyx":1626 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1638 - * cdef Py_ssize_t i0, i1 + /* "argpartsort.pyx":1629 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -23358,109 +23188,132 @@ static PyObject *__pyx_pf_11argpartsort_64argpartsort_2d_float32_axis1(CYTHON_UN */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1639 + /* "argpartsort.pyx":1630 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1640 + /* "argpartsort.pyx":1631 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":1641 + /* "argpartsort.pyx":1632 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + */ + __pyx_v_n2 = (__pyx_v_dim[2]); + + /* "argpartsort.pyx":1633 + * cdef Py_ssize_t n1 = dim[1] + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; __pyx_t_3[1] = __pyx_v_n1; + __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1642 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1634 + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1644 - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + /* "argpartsort.pyx":1636 + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i1 + * for i2 in range(n2): */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1645 + /* "argpartsort.pyx":1637 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i1 - * if n1 == 0: + * for i2 in range(n2): + * y[i0, i1, i2] = i0 */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1646 + /* "argpartsort.pyx":1638 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i1 # <<<<<<<<<<<<<< - * if n1 == 0: + * for i2 in range(n2): # <<<<<<<<<<<<<< + * y[i0, i1, i2] = i0 + * if n0 == 0: + */ + __pyx_t_9 = __pyx_v_n2; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i2 = __pyx_t_10; + + /* "argpartsort.pyx":1639 + * for i1 in range(n1): + * for i2 in range(n2): + * y[i0, i1, i2] = i0 # <<<<<<<<<<<<<< + * if n0 == 0: * return y */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_t_13 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i0; + } } } - /* "argpartsort.pyx":1647 - * for i1 in range(n1): - * y[i0, i1] = i1 - * if n1 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1640 + * for i2 in range(n2): + * y[i0, i1, i2] = i0 + * if n0 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_11) { + __pyx_t_14 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":1648 - * y[i0, i1] = i1 - * if n1 == 0: + /* "argpartsort.pyx":1641 + * y[i0, i1, i2] = i0 + * if n0 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -23468,320 +23321,343 @@ static PyObject *__pyx_pf_11argpartsort_64argpartsort_2d_float32_axis1(CYTHON_UN goto __pyx_L0; } - /* "argpartsort.pyx":1649 - * if n1 == 0: + /* "argpartsort.pyx":1642 + * if n0 == 0: * return y - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ - __pyx_t_12 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_12) { - goto __pyx_L10_next_or; + __pyx_t_15 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_15) { + goto __pyx_L12_next_or; } else { - __pyx_t_11 = __pyx_t_12; - goto __pyx_L9_bool_binop_done; + __pyx_t_14 = __pyx_t_15; + goto __pyx_L11_bool_binop_done; } - __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); - __pyx_t_11 = __pyx_t_12; - __pyx_L9_bool_binop_done:; - if (__pyx_t_11) { + __pyx_L12_next_or:; + __pyx_t_15 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_14 = __pyx_t_15; + __pyx_L11_bool_binop_done:; + if (__pyx_t_14) { - /* "argpartsort.pyx":1650 + /* "argpartsort.pyx":1643 * return y - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * l = 0 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); - __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); + __Pyx_GIVEREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_16 = 0; + __pyx_t_17 = 0; + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_Raise(__pyx_t_14, 0, 0, 0); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_17 = 0; + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_Raise(__pyx_t_17, 0, 0, 0); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1651 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + /* "argpartsort.pyx":1644 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * for i2 in range(n2): + * l = 0 */ - __pyx_t_5 = __pyx_v_n0; + __pyx_t_5 = __pyx_v_n1; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_i1 = __pyx_t_6; - /* "argpartsort.pyx":1652 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + /* "argpartsort.pyx":1645 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): + * for i2 in range(n2): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_v_l = 0; + __pyx_t_7 = __pyx_v_n2; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i2 = __pyx_t_8; - /* "argpartsort.pyx":1653 - * for i0 in range(n0): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k] + /* "argpartsort.pyx":1646 + * for i1 in range(n1): + * for i2 in range(n2): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_l = 0; - /* "argpartsort.pyx":1654 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] - * i = l + /* "argpartsort.pyx":1647 + * for i2 in range(n2): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[k, i1, i2] */ - while (1) { - __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_11) break; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "argpartsort.pyx":1655 - * r = n1 - 1 - * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":1648 + * l = 0 + * r = n0 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[k, i1, i2] + * i = l */ - __pyx_t_7 = __pyx_v_i0; - __pyx_t_16 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_14) break; - /* "argpartsort.pyx":1656 - * while l < r: - * x = b[i0, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":1649 + * r = n0 - 1 + * while l < r: + * x = b[k, i1, i2] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_19 = __pyx_v_k; + __pyx_t_9 = __pyx_v_i1; + __pyx_t_10 = __pyx_v_i2; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1657 - * x = b[i0, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i] < x: i += 1 + /* "argpartsort.pyx":1650 + * while l < r: + * x = b[k, i1, i2] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1658 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "argpartsort.pyx":1651 + * x = b[k, i1, i2] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i, i1, i2] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1659 - * j = r - * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 - * if i <= j: + /* "argpartsort.pyx":1652 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 */ while (1) { - __pyx_t_8 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_11) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "argpartsort.pyx":1660 - * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i] + /* "argpartsort.pyx":1653 + * j = r + * while 1: + * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_11) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + __pyx_t_22 = __pyx_v_i2; + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_14) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1661 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + /* "argpartsort.pyx":1654 + * while 1: + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i, i1, i2] */ - __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_11) { + while (1) { + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i1; + __pyx_t_25 = __pyx_v_i2; + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_14) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":1662 - * while x < b[i0, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "argpartsort.pyx":1655 + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":1663 - * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * itmp = y[i0, i] + /* "argpartsort.pyx":1656 + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: + * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_26 = __pyx_v_i; + __pyx_t_27 = __pyx_v_i1; + __pyx_t_28 = __pyx_v_i2; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1664 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] + /* "argpartsort.pyx":1657 + * if i <= j: + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< + * b[j, i1, i2] = tmp + * itmp = y[i, i1, i2] */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_29 = __pyx_v_j; + __pyx_t_30 = __pyx_v_i1; + __pyx_t_31 = __pyx_v_i2; + __pyx_t_32 = __pyx_v_i; + __pyx_t_33 = __pyx_v_i1; + __pyx_t_34 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + + /* "argpartsort.pyx":1658 + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< + * itmp = y[i, i1, i2] + * y[i, i1, i2] = y[j, i1, i2] + */ + __pyx_t_35 = __pyx_v_j; + __pyx_t_36 = __pyx_v_i1; + __pyx_t_37 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1665 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * itmp = y[i0, i] # <<<<<<<<<<<<<< - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp + /* "argpartsort.pyx":1659 + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp + * itmp = y[i, i1, i2] # <<<<<<<<<<<<<< + * y[i, i1, i2] = y[j, i1, i2] + * y[j, i1, i2] = itmp */ - __pyx_t_28 = __pyx_v_i0; - __pyx_t_29 = __pyx_v_i; - __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_38 = __pyx_v_i; + __pyx_t_39 = __pyx_v_i1; + __pyx_t_40 = __pyx_v_i2; + __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":1666 - * b[i0, j] = tmp - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< - * y[i0, j] = itmp - * i += 1 + /* "argpartsort.pyx":1660 + * b[j, i1, i2] = tmp + * itmp = y[i, i1, i2] + * y[i, i1, i2] = y[j, i1, i2] # <<<<<<<<<<<<<< + * y[j, i1, i2] = itmp + * i += 1 */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_41 = __pyx_v_j; + __pyx_t_42 = __pyx_v_i1; + __pyx_t_43 = __pyx_v_i2; + __pyx_t_44 = __pyx_v_i; + __pyx_t_45 = __pyx_v_i1; + __pyx_t_46 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":1667 - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":1661 + * itmp = y[i, i1, i2] + * y[i, i1, i2] = y[j, i1, i2] + * y[j, i1, i2] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_34 = __pyx_v_i0; - __pyx_t_35 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; + __pyx_t_47 = __pyx_v_j; + __pyx_t_48 = __pyx_v_i1; + __pyx_t_49 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1668 - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":1662 + * y[i, i1, i2] = y[j, i1, i2] + * y[j, i1, i2] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1669 - * y[i0, j] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":1663 + * y[j, i1, i2] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L21; - } - __pyx_L21:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L25; + } + __pyx_L25:; - /* "argpartsort.pyx":1670 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1664 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_11) { - goto __pyx_L16_break; + __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_14) { + goto __pyx_L20_break; + } } - } - __pyx_L16_break:; + __pyx_L20_break:; - /* "argpartsort.pyx":1671 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":1665 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return y */ - __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_11) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L23; - } - __pyx_L23:; + __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_14) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L27; + } + __pyx_L27:; - /* "argpartsort.pyx":1672 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1666 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_11) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L24; + __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_14) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L28; + } + __pyx_L28:; } - __pyx_L24:; } } - /* "argpartsort.pyx":1673 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1667 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -23791,27 +23667,27 @@ static PyObject *__pyx_pf_11argpartsort_64argpartsort_2d_float32_axis1(CYTHON_UN __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1631 + /* "argpartsort.pyx":1622 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=1." + * def argpartsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); + __Pyx_XDECREF(__pyx_t_16); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_XDECREF(__pyx_t_18); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -23826,19 +23702,19 @@ static PyObject *__pyx_pf_11argpartsort_64argpartsort_2d_float32_axis1(CYTHON_UN return __pyx_r; } -/* "argpartsort.pyx":1677 +/* "argpartsort.pyx":1671 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=0." + * def argpartsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_67argpartsort_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_66argpartsort_2d_float64_axis0[] = "argpartsort_2d_float64_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_67argpartsort_2d_float64_axis0 = {"argpartsort_2d_float64_axis0", (PyCFunction)__pyx_pw_11argpartsort_67argpartsort_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_66argpartsort_2d_float64_axis0}; -static PyObject *__pyx_pw_11argpartsort_67argpartsort_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_67argpartsort_3d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_66argpartsort_3d_int_axis1[] = "argpartsort_3d_int_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_67argpartsort_3d_int_axis1 = {"argpartsort_3d_int_axis1", (PyCFunction)__pyx_pw_11argpartsort_67argpartsort_3d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_66argpartsort_3d_int_axis1}; +static PyObject *__pyx_pw_11argpartsort_67argpartsort_3d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -23846,7 +23722,7 @@ static PyObject *__pyx_pw_11argpartsort_67argpartsort_2d_float64_axis0(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -23867,11 +23743,11 @@ static PyObject *__pyx_pw_11argpartsort_67argpartsort_2d_float64_axis0(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -23880,18 +23756,18 @@ static PyObject *__pyx_pw_11argpartsort_67argpartsort_2d_float64_axis0(PyObject values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_66argpartsort_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_66argpartsort_3d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -23902,21 +23778,23 @@ static PyObject *__pyx_pw_11argpartsort_67argpartsort_2d_float64_axis0(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_66argpartsort_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_66argpartsort_3d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -23929,7 +23807,7 @@ static PyObject *__pyx_pf_11argpartsort_66argpartsort_2d_float64_axis0(CYTHON_UN __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[2]; + npy_intp __pyx_t_3[3]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; @@ -23937,35 +23815,49 @@ static PyObject *__pyx_pf_11argpartsort_66argpartsort_2d_float64_axis0(CYTHON_UN Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - int __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - npy_intp __pyx_t_16; - npy_intp __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + int __pyx_t_14; + int __pyx_t_15; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; Py_ssize_t __pyx_t_23; npy_intp __pyx_t_24; Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_26; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; Py_ssize_t __pyx_t_29; npy_intp __pyx_t_30; Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; - Py_ssize_t __pyx_t_33; - npy_intp __pyx_t_34; + Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_33; + Py_ssize_t __pyx_t_34; Py_ssize_t __pyx_t_35; + npy_intp __pyx_t_36; + Py_ssize_t __pyx_t_37; + Py_ssize_t __pyx_t_38; + npy_intp __pyx_t_39; + Py_ssize_t __pyx_t_40; + Py_ssize_t __pyx_t_41; + npy_intp __pyx_t_42; + Py_ssize_t __pyx_t_43; + Py_ssize_t __pyx_t_44; + npy_intp __pyx_t_45; + Py_ssize_t __pyx_t_46; + Py_ssize_t __pyx_t_47; + npy_intp __pyx_t_48; + Py_ssize_t __pyx_t_49; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_float64_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -23980,45 +23872,45 @@ static PyObject *__pyx_pf_11argpartsort_66argpartsort_2d_float64_axis0(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":1679 - * def argpartsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float64 along axis=0." + /* "argpartsort.pyx":1673 + * def argpartsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1681 + /* "argpartsort.pyx":1675 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1684 - * cdef Py_ssize_t i0, i1 + /* "argpartsort.pyx":1678 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -24026,109 +23918,132 @@ static PyObject *__pyx_pf_11argpartsort_66argpartsort_2d_float64_axis0(CYTHON_UN */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1685 + /* "argpartsort.pyx":1679 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1686 + /* "argpartsort.pyx":1680 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":1687 + /* "argpartsort.pyx":1681 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + */ + __pyx_v_n2 = (__pyx_v_dim[2]); + + /* "argpartsort.pyx":1682 + * cdef Py_ssize_t n1 = dim[1] + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; __pyx_t_3[1] = __pyx_v_n1; + __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1688 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1683 + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1690 - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + /* "argpartsort.pyx":1685 + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i0 + * for i2 in range(n2): */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1691 + /* "argpartsort.pyx":1686 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i0 - * if n0 == 0: + * for i2 in range(n2): + * y[i0, i1, i2] = i1 */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1692 + /* "argpartsort.pyx":1687 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i0 # <<<<<<<<<<<<<< - * if n0 == 0: + * for i2 in range(n2): # <<<<<<<<<<<<<< + * y[i0, i1, i2] = i1 + * if n1 == 0: + */ + __pyx_t_9 = __pyx_v_n2; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i2 = __pyx_t_10; + + /* "argpartsort.pyx":1688 + * for i1 in range(n1): + * for i2 in range(n2): + * y[i0, i1, i2] = i1 # <<<<<<<<<<<<<< + * if n1 == 0: * return y */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_t_13 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i1; + } } } - /* "argpartsort.pyx":1693 - * for i1 in range(n1): - * y[i0, i1] = i0 - * if n0 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1689 + * for i2 in range(n2): + * y[i0, i1, i2] = i1 + * if n1 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_11 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_11) { + __pyx_t_14 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":1694 - * y[i0, i1] = i0 - * if n0 == 0: + /* "argpartsort.pyx":1690 + * y[i0, i1, i2] = i1 + * if n1 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -24136,320 +24051,343 @@ static PyObject *__pyx_pf_11argpartsort_66argpartsort_2d_float64_axis0(CYTHON_UN goto __pyx_L0; } - /* "argpartsort.pyx":1695 - * if n0 == 0: + /* "argpartsort.pyx":1691 + * if n1 == 0: * return y - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ - __pyx_t_12 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_12) { - goto __pyx_L10_next_or; + __pyx_t_15 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_15) { + goto __pyx_L12_next_or; } else { - __pyx_t_11 = __pyx_t_12; - goto __pyx_L9_bool_binop_done; + __pyx_t_14 = __pyx_t_15; + goto __pyx_L11_bool_binop_done; } - __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n0) != 0); - __pyx_t_11 = __pyx_t_12; - __pyx_L9_bool_binop_done:; - if (__pyx_t_11) { + __pyx_L12_next_or:; + __pyx_t_15 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_14 = __pyx_t_15; + __pyx_L11_bool_binop_done:; + if (__pyx_t_14) { - /* "argpartsort.pyx":1696 + /* "argpartsort.pyx":1692 * return y - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * l = 0 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); - __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); + __Pyx_GIVEREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_16 = 0; + __pyx_t_17 = 0; + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_Raise(__pyx_t_14, 0, 0, 0); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_17 = 0; + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_Raise(__pyx_t_17, 0, 0, 0); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1697 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + /* "argpartsort.pyx":1693 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i2 in range(n2): + * l = 0 */ - __pyx_t_5 = __pyx_v_n1; + __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1698 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * while l < r: + /* "argpartsort.pyx":1694 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): + * for i2 in range(n2): # <<<<<<<<<<<<<< + * l = 0 + * r = n1 - 1 */ - __pyx_v_l = 0; + __pyx_t_7 = __pyx_v_n2; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i2 = __pyx_t_8; - /* "argpartsort.pyx":1699 - * for i1 in range(n1): - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[k, i1] + /* "argpartsort.pyx":1695 + * for i0 in range(n0): + * for i2 in range(n2): + * l = 0 # <<<<<<<<<<<<<< + * r = n1 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "argpartsort.pyx":1700 - * l = 0 - * r = n0 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] - * i = l + /* "argpartsort.pyx":1696 + * for i2 in range(n2): + * l = 0 + * r = n1 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[i0, k, i2] */ - while (1) { - __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_11) break; + __pyx_v_r = (__pyx_v_n1 - 1); - /* "argpartsort.pyx":1701 - * r = n0 - 1 - * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":1697 + * l = 0 + * r = n1 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[i0, k, i2] + * i = l */ - __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_7, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_14) break; - /* "argpartsort.pyx":1702 - * while l < r: - * x = b[k, i1] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":1698 + * r = n1 - 1 + * while l < r: + * x = b[i0, k, i2] # <<<<<<<<<<<<<< + * i = l + * j = r + */ + __pyx_t_9 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_k; + __pyx_t_10 = __pyx_v_i2; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + + /* "argpartsort.pyx":1699 + * while l < r: + * x = b[i0, k, i2] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1703 - * x = b[k, i1] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i, i1] < x: i += 1 + /* "argpartsort.pyx":1700 + * x = b[i0, k, i2] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i0, i, i2] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1704 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "argpartsort.pyx":1701 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 */ - while (1) { + while (1) { - /* "argpartsort.pyx":1705 - * j = r - * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 - * if i <= j: + /* "argpartsort.pyx":1702 + * j = r + * while 1: + * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_17 = __pyx_v_i; - __pyx_t_8 = __pyx_v_i1; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_11) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + __pyx_t_22 = __pyx_v_i2; + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_14) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1706 - * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i, i1] + /* "argpartsort.pyx":1703 + * while 1: + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i0, i, i2] */ - while (1) { - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_11) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_23 = __pyx_v_i0; + __pyx_t_24 = __pyx_v_j; + __pyx_t_25 = __pyx_v_i2; + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_14) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":1707 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + /* "argpartsort.pyx":1704 + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] */ - __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_11) { + __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":1708 - * while x < b[j, i1]: j -= 1 - * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "argpartsort.pyx":1705 + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: + * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp */ - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_i; + __pyx_t_28 = __pyx_v_i2; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1709 - * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp - * itmp = y[i, i1] + /* "argpartsort.pyx":1706 + * if i <= j: + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< + * b[i0, j, i2] = tmp + * itmp = y[i0, i, i2] */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_29 = __pyx_v_i0; + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i2; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i; + __pyx_t_34 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1710 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] + /* "argpartsort.pyx":1707 + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i, i2] + * y[i0, i, i2] = y[i0, j, i2] */ - __pyx_t_26 = __pyx_v_j; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_35 = __pyx_v_i0; + __pyx_t_36 = __pyx_v_j; + __pyx_t_37 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1711 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp - * itmp = y[i, i1] # <<<<<<<<<<<<<< - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp + /* "argpartsort.pyx":1708 + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp + * itmp = y[i0, i, i2] # <<<<<<<<<<<<<< + * y[i0, i, i2] = y[i0, j, i2] + * y[i0, j, i2] = itmp */ - __pyx_t_28 = __pyx_v_i; - __pyx_t_29 = __pyx_v_i1; - __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_38 = __pyx_v_i0; + __pyx_t_39 = __pyx_v_i; + __pyx_t_40 = __pyx_v_i2; + __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":1712 - * b[j, i1] = tmp - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] # <<<<<<<<<<<<<< - * y[j, i1] = itmp - * i += 1 + /* "argpartsort.pyx":1709 + * b[i0, j, i2] = tmp + * itmp = y[i0, i, i2] + * y[i0, i, i2] = y[i0, j, i2] # <<<<<<<<<<<<<< + * y[i0, j, i2] = itmp + * i += 1 */ - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_i; - __pyx_t_33 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_41 = __pyx_v_i0; + __pyx_t_42 = __pyx_v_j; + __pyx_t_43 = __pyx_v_i2; + __pyx_t_44 = __pyx_v_i0; + __pyx_t_45 = __pyx_v_i; + __pyx_t_46 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":1713 - * itmp = y[i, i1] - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":1710 + * itmp = y[i0, i, i2] + * y[i0, i, i2] = y[i0, j, i2] + * y[i0, j, i2] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_34 = __pyx_v_j; - __pyx_t_35 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; + __pyx_t_47 = __pyx_v_i0; + __pyx_t_48 = __pyx_v_j; + __pyx_t_49 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1714 - * y[i, i1] = y[j, i1] - * y[j, i1] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":1711 + * y[i0, i, i2] = y[i0, j, i2] + * y[i0, j, i2] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1715 - * y[j, i1] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":1712 + * y[i0, j, i2] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L21; - } - __pyx_L21:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L25; + } + __pyx_L25:; - /* "argpartsort.pyx":1716 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1713 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_11) { - goto __pyx_L16_break; + __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_14) { + goto __pyx_L20_break; + } } - } - __pyx_L16_break:; + __pyx_L20_break:; - /* "argpartsort.pyx":1717 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":1714 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return y */ - __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_11) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L23; - } - __pyx_L23:; + __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_14) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L27; + } + __pyx_L27:; - /* "argpartsort.pyx":1718 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1715 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_11) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L24; + __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_14) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L28; + } + __pyx_L28:; } - __pyx_L24:; } } - /* "argpartsort.pyx":1719 - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1716 + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -24459,27 +24397,27 @@ static PyObject *__pyx_pf_11argpartsort_66argpartsort_2d_float64_axis0(CYTHON_UN __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1677 + /* "argpartsort.pyx":1671 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=0." + * def argpartsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); + __Pyx_XDECREF(__pyx_t_16); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_XDECREF(__pyx_t_18); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -24494,19 +24432,19 @@ static PyObject *__pyx_pf_11argpartsort_66argpartsort_2d_float64_axis0(CYTHON_UN return __pyx_r; } -/* "argpartsort.pyx":1723 +/* "argpartsort.pyx":1720 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=1." + * def argpartsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_69argpartsort_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_68argpartsort_2d_float64_axis1[] = "argpartsort_2d_float64_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float64 along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_69argpartsort_2d_float64_axis1 = {"argpartsort_2d_float64_axis1", (PyCFunction)__pyx_pw_11argpartsort_69argpartsort_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_68argpartsort_2d_float64_axis1}; -static PyObject *__pyx_pw_11argpartsort_69argpartsort_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_69argpartsort_3d_int_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_68argpartsort_3d_int_axis2[] = "argpartsort_3d_int_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=2."; +static PyMethodDef __pyx_mdef_11argpartsort_69argpartsort_3d_int_axis2 = {"argpartsort_3d_int_axis2", (PyCFunction)__pyx_pw_11argpartsort_69argpartsort_3d_int_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_68argpartsort_3d_int_axis2}; +static PyObject *__pyx_pw_11argpartsort_69argpartsort_3d_int_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -24514,7 +24452,7 @@ static PyObject *__pyx_pw_11argpartsort_69argpartsort_2d_float64_axis1(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_2d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -24535,11 +24473,11 @@ static PyObject *__pyx_pw_11argpartsort_69argpartsort_2d_float64_axis1(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -24548,18 +24486,18 @@ static PyObject *__pyx_pw_11argpartsort_69argpartsort_2d_float64_axis1(PyObject values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_68argpartsort_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_11argpartsort_68argpartsort_3d_int_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -24570,21 +24508,23 @@ static PyObject *__pyx_pw_11argpartsort_69argpartsort_2d_float64_axis1(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_68argpartsort_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_68argpartsort_3d_int_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -24597,7 +24537,7 @@ static PyObject *__pyx_pf_11argpartsort_68argpartsort_2d_float64_axis1(CYTHON_UN __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[2]; + npy_intp __pyx_t_3[3]; PyArrayObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; @@ -24605,35 +24545,49 @@ static PyObject *__pyx_pf_11argpartsort_68argpartsort_2d_float64_axis1(CYTHON_UN Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - int __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - npy_intp __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + int __pyx_t_14; + int __pyx_t_15; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; npy_intp __pyx_t_19; Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; Py_ssize_t __pyx_t_24; npy_intp __pyx_t_25; Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; - Py_ssize_t __pyx_t_28; - npy_intp __pyx_t_29; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_29; Py_ssize_t __pyx_t_30; npy_intp __pyx_t_31; Py_ssize_t __pyx_t_32; - npy_intp __pyx_t_33; - Py_ssize_t __pyx_t_34; - npy_intp __pyx_t_35; + Py_ssize_t __pyx_t_33; + npy_intp __pyx_t_34; + Py_ssize_t __pyx_t_35; + Py_ssize_t __pyx_t_36; + npy_intp __pyx_t_37; + Py_ssize_t __pyx_t_38; + Py_ssize_t __pyx_t_39; + npy_intp __pyx_t_40; + Py_ssize_t __pyx_t_41; + Py_ssize_t __pyx_t_42; + npy_intp __pyx_t_43; + Py_ssize_t __pyx_t_44; + Py_ssize_t __pyx_t_45; + npy_intp __pyx_t_46; + Py_ssize_t __pyx_t_47; + Py_ssize_t __pyx_t_48; + npy_intp __pyx_t_49; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_2d_float64_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -24648,45 +24602,45 @@ static PyObject *__pyx_pf_11argpartsort_68argpartsort_2d_float64_axis1(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "argpartsort.pyx":1725 - * def argpartsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float64 along axis=1." + /* "argpartsort.pyx":1722 + * def argpartsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "argpartsort.pyx":1727 + /* "argpartsort.pyx":1724 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1730 - * cdef Py_ssize_t i0, i1 + /* "argpartsort.pyx":1727 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -24694,109 +24648,132 @@ static PyObject *__pyx_pf_11argpartsort_68argpartsort_2d_float64_axis1(CYTHON_UN */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "argpartsort.pyx":1731 + /* "argpartsort.pyx":1728 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "argpartsort.pyx":1732 + /* "argpartsort.pyx":1729 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "argpartsort.pyx":1733 + /* "argpartsort.pyx":1730 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, + */ + __pyx_v_n2 = (__pyx_v_dim[2]); + + /* "argpartsort.pyx":1731 + * cdef Py_ssize_t n1 = dim[1] + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) */ __pyx_t_3[0] = __pyx_v_n0; __pyx_t_3[1] = __pyx_v_n1; + __pyx_t_3[2] = __pyx_v_n2; __pyx_v_dims = __pyx_t_3; - /* "argpartsort.pyx":1734 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1732 + * cdef Py_ssize_t n2 = dim[2] + * cdef np.npy_intp *dims = [n0, n1, n2] + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * for i0 in range(n0): */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(3, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_y.diminfo[2].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_y.diminfo[2].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[2]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "argpartsort.pyx":1736 - * cdef np.ndarray[np.intp_t, ndim=2] y = PyArray_EMPTY(2, dims, + /* "argpartsort.pyx":1734 + * cdef np.ndarray[np.intp_t, ndim=3] y = PyArray_EMPTY(3, dims, * NPY_intp, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * y[i0, i1] = i1 + * for i2 in range(n2): */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1737 + /* "argpartsort.pyx":1735 * NPY_intp, 0) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * y[i0, i1] = i1 - * if n1 == 0: + * for i2 in range(n2): + * y[i0, i1, i2] = i2 */ __pyx_t_7 = __pyx_v_n1; for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1738 + /* "argpartsort.pyx":1736 * for i0 in range(n0): * for i1 in range(n1): - * y[i0, i1] = i1 # <<<<<<<<<<<<<< - * if n1 == 0: + * for i2 in range(n2): # <<<<<<<<<<<<<< + * y[i0, i1, i2] = i2 + * if n2 == 0: + */ + __pyx_t_9 = __pyx_v_n2; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i2 = __pyx_t_10; + + /* "argpartsort.pyx":1737 + * for i1 in range(n1): + * for i2 in range(n2): + * y[i0, i1, i2] = i2 # <<<<<<<<<<<<<< + * if n2 == 0: * return y */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_i1; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_t_13 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_13, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_i2; + } } } - /* "argpartsort.pyx":1739 - * for i1 in range(n1): - * y[i0, i1] = i1 - * if n1 == 0: # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1738 + * for i2 in range(n2): + * y[i0, i1, i2] = i2 + * if n2 == 0: # <<<<<<<<<<<<<< * return y - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n2): */ - __pyx_t_11 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_11) { + __pyx_t_14 = ((__pyx_v_n2 == 0) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":1740 - * y[i0, i1] = i1 - * if n1 == 0: + /* "argpartsort.pyx":1739 + * y[i0, i1, i2] = i2 + * if n2 == 0: * return y # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -24804,320 +24781,343 @@ static PyObject *__pyx_pf_11argpartsort_68argpartsort_2d_float64_axis1(CYTHON_UN goto __pyx_L0; } - /* "argpartsort.pyx":1741 - * if n1 == 0: + /* "argpartsort.pyx":1740 + * if n2 == 0: * return y - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): */ - __pyx_t_12 = ((__pyx_v_n < 1) != 0); - if (!__pyx_t_12) { - goto __pyx_L10_next_or; + __pyx_t_15 = ((__pyx_v_n < 1) != 0); + if (!__pyx_t_15) { + goto __pyx_L12_next_or; } else { - __pyx_t_11 = __pyx_t_12; - goto __pyx_L9_bool_binop_done; + __pyx_t_14 = __pyx_t_15; + goto __pyx_L11_bool_binop_done; } - __pyx_L10_next_or:; - __pyx_t_12 = ((__pyx_v_n > __pyx_v_n1) != 0); - __pyx_t_11 = __pyx_t_12; - __pyx_L9_bool_binop_done:; - if (__pyx_t_11) { + __pyx_L12_next_or:; + __pyx_t_15 = ((__pyx_v_n > __pyx_v_n2) != 0); + __pyx_t_14 = __pyx_t_15; + __pyx_L11_bool_binop_done:; + if (__pyx_t_14) { - /* "argpartsort.pyx":1742 + /* "argpartsort.pyx":1741 * return y - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< * for i0 in range(n0): - * l = 0 + * for i1 in range(n1): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); - __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_17 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); + __Pyx_GIVEREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_16 = 0; + __pyx_t_17 = 0; + __pyx_t_17 = PyNumber_Remainder(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_Raise(__pyx_t_14, 0, 0, 0); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_17); + __pyx_t_17 = 0; + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_Raise(__pyx_t_17, 0, 0, 0); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "argpartsort.pyx":1743 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + /* "argpartsort.pyx":1742 + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + * for i1 in range(n1): + * l = 0 */ __pyx_t_5 = __pyx_v_n0; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i0 = __pyx_t_6; - /* "argpartsort.pyx":1744 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + /* "argpartsort.pyx":1743 + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n2 - 1 */ - __pyx_v_l = 0; + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "argpartsort.pyx":1745 + /* "argpartsort.pyx":1744 * for i0 in range(n0): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k] + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n2 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_l = 0; - /* "argpartsort.pyx":1746 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] - * i = l + /* "argpartsort.pyx":1745 + * for i1 in range(n1): + * l = 0 + * r = n2 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[i0, i1, k] */ - while (1) { - __pyx_t_11 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_11) break; + __pyx_v_r = (__pyx_v_n2 - 1); - /* "argpartsort.pyx":1747 - * r = n1 - 1 - * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "argpartsort.pyx":1746 + * l = 0 + * r = n2 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[i0, i1, k] + * i = l */ - __pyx_t_7 = __pyx_v_i0; - __pyx_t_16 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_14 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_14) break; - /* "argpartsort.pyx":1748 - * while l < r: - * x = b[i0, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "argpartsort.pyx":1747 + * r = n2 - 1 + * while l < r: + * x = b[i0, i1, k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_t_19 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1749 - * x = b[i0, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i] < x: i += 1 + /* "argpartsort.pyx":1748 + * while l < r: + * x = b[i0, i1, k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "argpartsort.pyx":1750 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "argpartsort.pyx":1749 + * x = b[i0, i1, k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i0, i1, i] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "argpartsort.pyx":1751 - * j = r - * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 - * if i <= j: + /* "argpartsort.pyx":1750 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 */ while (1) { - __pyx_t_8 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_t_11 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_11) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "argpartsort.pyx":1752 - * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i] + /* "argpartsort.pyx":1751 + * j = r + * while 1: + * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_11 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_11) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i1; + __pyx_t_22 = __pyx_v_i; + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_14) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "argpartsort.pyx":1753 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + /* "argpartsort.pyx":1752 + * while 1: + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i0, i1, i] */ - __pyx_t_11 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_11) { + while (1) { + __pyx_t_23 = __pyx_v_i0; + __pyx_t_24 = __pyx_v_i1; + __pyx_t_25 = __pyx_v_j; + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_14) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "argpartsort.pyx":1754 - * while x < b[i0, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "argpartsort.pyx":1753 + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_14 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_14) { - /* "argpartsort.pyx":1755 - * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * itmp = y[i0, i] + /* "argpartsort.pyx":1754 + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: + * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_26 = __pyx_v_i0; + __pyx_t_27 = __pyx_v_i1; + __pyx_t_28 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1756 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] + /* "argpartsort.pyx":1755 + * if i <= j: + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< + * b[i0, i1, j] = tmp + * itmp = y[i0, i1, i] */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_27 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_29 = __pyx_v_i0; + __pyx_t_30 = __pyx_v_i1; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i0; + __pyx_t_33 = __pyx_v_i1; + __pyx_t_34 = __pyx_v_i; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "argpartsort.pyx":1757 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * itmp = y[i0, i] # <<<<<<<<<<<<<< - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp + /* "argpartsort.pyx":1756 + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< + * itmp = y[i0, i1, i] + * y[i0, i1, i] = y[i0, i1, j] */ - __pyx_t_28 = __pyx_v_i0; - __pyx_t_29 = __pyx_v_i; - __pyx_v_itmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_29, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_35 = __pyx_v_i0; + __pyx_t_36 = __pyx_v_i1; + __pyx_t_37 = __pyx_v_j; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "argpartsort.pyx":1758 - * b[i0, j] = tmp - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] # <<<<<<<<<<<<<< - * y[i0, j] = itmp - * i += 1 + /* "argpartsort.pyx":1757 + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp + * itmp = y[i0, i1, i] # <<<<<<<<<<<<<< + * y[i0, i1, i] = y[i0, i1, j] + * y[i0, i1, j] = itmp */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i0; - __pyx_t_33 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_y.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_y.diminfo[1].strides)); + __pyx_t_38 = __pyx_v_i0; + __pyx_t_39 = __pyx_v_i1; + __pyx_t_40 = __pyx_v_i; + __pyx_v_itmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_38, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_39, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_40, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":1759 - * itmp = y[i0, i] - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "argpartsort.pyx":1758 + * b[i0, i1, j] = tmp + * itmp = y[i0, i1, i] + * y[i0, i1, i] = y[i0, i1, j] # <<<<<<<<<<<<<< + * y[i0, i1, j] = itmp + * i += 1 */ - __pyx_t_34 = __pyx_v_i0; - __pyx_t_35 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_35, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_itmp; + __pyx_t_41 = __pyx_v_i0; + __pyx_t_42 = __pyx_v_i1; + __pyx_t_43 = __pyx_v_j; + __pyx_t_44 = __pyx_v_i0; + __pyx_t_45 = __pyx_v_i1; + __pyx_t_46 = __pyx_v_i; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_44, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_45, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_46, __pyx_pybuffernd_y.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_41, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_42, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_43, __pyx_pybuffernd_y.diminfo[2].strides)); - /* "argpartsort.pyx":1760 - * y[i0, i] = y[i0, j] - * y[i0, j] = itmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "argpartsort.pyx":1759 + * itmp = y[i0, i1, i] + * y[i0, i1, i] = y[i0, i1, j] + * y[i0, i1, j] = itmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_t_47 = __pyx_v_i0; + __pyx_t_48 = __pyx_v_i1; + __pyx_t_49 = __pyx_v_j; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_47, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_48, __pyx_pybuffernd_y.diminfo[1].strides, __pyx_t_49, __pyx_pybuffernd_y.diminfo[2].strides) = __pyx_v_itmp; - /* "argpartsort.pyx":1761 - * y[i0, j] = itmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "argpartsort.pyx":1760 + * y[i0, i1, i] = y[i0, i1, j] + * y[i0, i1, j] = itmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L21; - } - __pyx_L21:; + __pyx_v_i = (__pyx_v_i + 1); - /* "argpartsort.pyx":1762 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "argpartsort.pyx":1761 + * y[i0, i1, j] = itmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_t_11 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_11) { - goto __pyx_L16_break; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L25; + } + __pyx_L25:; + + /* "argpartsort.pyx":1762 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j + */ + __pyx_t_14 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_14) { + goto __pyx_L20_break; + } } - } - __pyx_L16_break:; + __pyx_L20_break:; - /* "argpartsort.pyx":1763 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "argpartsort.pyx":1763 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return y */ - __pyx_t_11 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_11) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L23; - } - __pyx_L23:; + __pyx_t_14 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_14) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L27; + } + __pyx_L27:; - /* "argpartsort.pyx":1764 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "argpartsort.pyx":1764 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return y * */ - __pyx_t_11 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_11) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L24; + __pyx_t_14 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_14) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L28; + } + __pyx_L28:; } - __pyx_L24:; } } /* "argpartsort.pyx":1765 - * if j < k: l = i - * if k < i: r = j + * if j < k: l = i + * if k < i: r = j * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -25127,27 +25127,27 @@ static PyObject *__pyx_pf_11argpartsort_68argpartsort_2d_float64_axis1(CYTHON_UN __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "argpartsort.pyx":1723 + /* "argpartsort.pyx":1720 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=1." + * def argpartsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); + __Pyx_XDECREF(__pyx_t_16); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_XDECREF(__pyx_t_18); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -25165,16 +25165,16 @@ static PyObject *__pyx_pf_11argpartsort_68argpartsort_2d_float64_axis1(CYTHON_UN /* "argpartsort.pyx":1769 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=0." + * def argpartsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_71argpartsort_3d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_70argpartsort_3d_float_axis0[] = "argpartsort_3d_float_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_71argpartsort_3d_float_axis0 = {"argpartsort_3d_float_axis0", (PyCFunction)__pyx_pw_11argpartsort_71argpartsort_3d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_70argpartsort_3d_float_axis0}; -static PyObject *__pyx_pw_11argpartsort_71argpartsort_3d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_71argpartsort_3d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_70argpartsort_3d_int8_axis0[] = "argpartsort_3d_int8_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_71argpartsort_3d_int8_axis0 = {"argpartsort_3d_int8_axis0", (PyCFunction)__pyx_pw_11argpartsort_71argpartsort_3d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_70argpartsort_3d_int8_axis0}; +static PyObject *__pyx_pw_11argpartsort_71argpartsort_3d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -25182,7 +25182,7 @@ static PyObject *__pyx_pw_11argpartsort_71argpartsort_3d_float_axis0(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -25203,11 +25203,11 @@ static PyObject *__pyx_pw_11argpartsort_71argpartsort_3d_float_axis0(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -25220,14 +25220,14 @@ static PyObject *__pyx_pw_11argpartsort_71argpartsort_3d_float_axis0(PyObject *_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_70argpartsort_3d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -25238,15 +25238,15 @@ static PyObject *__pyx_pw_11argpartsort_71argpartsort_3d_float_axis0(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -25317,7 +25317,7 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_float_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -25332,24 +25332,24 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "argpartsort.pyx":1771 - * def argpartsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float along axis=0." + * def argpartsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":1773 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -25359,7 +25359,7 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -25630,7 +25630,7 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS __pyx_t_19 = __pyx_v_k; __pyx_t_9 = __pyx_v_i1; __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1797 * while l < r: @@ -25670,7 +25670,7 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS __pyx_t_20 = __pyx_v_i; __pyx_t_21 = __pyx_v_i1; __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -25686,7 +25686,7 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS __pyx_t_23 = __pyx_v_j; __pyx_t_24 = __pyx_v_i1; __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -25711,7 +25711,7 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS __pyx_t_26 = __pyx_v_i; __pyx_t_27 = __pyx_v_i1; __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1804 * if i <= j: @@ -25726,7 +25726,7 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS __pyx_t_32 = __pyx_v_i; __pyx_t_33 = __pyx_v_i1; __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1805 * tmp = b[i, i1, i2] @@ -25738,7 +25738,7 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS __pyx_t_35 = __pyx_v_j; __pyx_t_36 = __pyx_v_i1; __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "argpartsort.pyx":1806 * b[i, i1, i2] = b[j, i1, i2] @@ -25860,8 +25860,8 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS /* "argpartsort.pyx":1769 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=0." + * def argpartsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -25877,7 +25877,7 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -25895,16 +25895,16 @@ static PyObject *__pyx_pf_11argpartsort_70argpartsort_3d_float_axis0(CYTHON_UNUS /* "argpartsort.pyx":1818 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=1." + * def argpartsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_73argpartsort_3d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_72argpartsort_3d_float_axis1[] = "argpartsort_3d_float_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_73argpartsort_3d_float_axis1 = {"argpartsort_3d_float_axis1", (PyCFunction)__pyx_pw_11argpartsort_73argpartsort_3d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_72argpartsort_3d_float_axis1}; -static PyObject *__pyx_pw_11argpartsort_73argpartsort_3d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_73argpartsort_3d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_72argpartsort_3d_int8_axis1[] = "argpartsort_3d_int8_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_73argpartsort_3d_int8_axis1 = {"argpartsort_3d_int8_axis1", (PyCFunction)__pyx_pw_11argpartsort_73argpartsort_3d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_72argpartsort_3d_int8_axis1}; +static PyObject *__pyx_pw_11argpartsort_73argpartsort_3d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -25912,7 +25912,7 @@ static PyObject *__pyx_pw_11argpartsort_73argpartsort_3d_float_axis1(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -25933,11 +25933,11 @@ static PyObject *__pyx_pw_11argpartsort_73argpartsort_3d_float_axis1(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -25950,14 +25950,14 @@ static PyObject *__pyx_pw_11argpartsort_73argpartsort_3d_float_axis1(PyObject *_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_72argpartsort_3d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -25968,15 +25968,15 @@ static PyObject *__pyx_pw_11argpartsort_73argpartsort_3d_float_axis1(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -26047,7 +26047,7 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_float_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -26062,24 +26062,24 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "argpartsort.pyx":1820 - * def argpartsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float along axis=1." + * def argpartsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":1822 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -26089,7 +26089,7 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -26360,7 +26360,7 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS __pyx_t_9 = __pyx_v_i0; __pyx_t_19 = __pyx_v_k; __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1846 * while l < r: @@ -26400,7 +26400,7 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_i; __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -26416,7 +26416,7 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS __pyx_t_23 = __pyx_v_i0; __pyx_t_24 = __pyx_v_j; __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -26441,7 +26441,7 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS __pyx_t_26 = __pyx_v_i0; __pyx_t_27 = __pyx_v_i; __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1853 * if i <= j: @@ -26456,7 +26456,7 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS __pyx_t_32 = __pyx_v_i0; __pyx_t_33 = __pyx_v_i; __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1854 * tmp = b[i0, i, i2] @@ -26468,7 +26468,7 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS __pyx_t_35 = __pyx_v_i0; __pyx_t_36 = __pyx_v_j; __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "argpartsort.pyx":1855 * b[i0, i, i2] = b[i0, j, i2] @@ -26590,8 +26590,8 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS /* "argpartsort.pyx":1818 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=1." + * def argpartsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -26607,7 +26607,7 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -26625,16 +26625,16 @@ static PyObject *__pyx_pf_11argpartsort_72argpartsort_3d_float_axis1(CYTHON_UNUS /* "argpartsort.pyx":1867 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=2." + * def argpartsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_75argpartsort_3d_float_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_74argpartsort_3d_float_axis2[] = "argpartsort_3d_float_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=2."; -static PyMethodDef __pyx_mdef_11argpartsort_75argpartsort_3d_float_axis2 = {"argpartsort_3d_float_axis2", (PyCFunction)__pyx_pw_11argpartsort_75argpartsort_3d_float_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_74argpartsort_3d_float_axis2}; -static PyObject *__pyx_pw_11argpartsort_75argpartsort_3d_float_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_75argpartsort_3d_int8_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_74argpartsort_3d_int8_axis2[] = "argpartsort_3d_int8_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=2."; +static PyMethodDef __pyx_mdef_11argpartsort_75argpartsort_3d_int8_axis2 = {"argpartsort_3d_int8_axis2", (PyCFunction)__pyx_pw_11argpartsort_75argpartsort_3d_int8_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_74argpartsort_3d_int8_axis2}; +static PyObject *__pyx_pw_11argpartsort_75argpartsort_3d_int8_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -26642,7 +26642,7 @@ static PyObject *__pyx_pw_11argpartsort_75argpartsort_3d_float_axis2(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_float_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -26663,11 +26663,11 @@ static PyObject *__pyx_pw_11argpartsort_75argpartsort_3d_float_axis2(PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int8_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -26680,14 +26680,14 @@ static PyObject *__pyx_pw_11argpartsort_75argpartsort_3d_float_axis2(PyObject *_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int8_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_74argpartsort_3d_int8_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -26698,15 +26698,15 @@ static PyObject *__pyx_pw_11argpartsort_75argpartsort_3d_float_axis2(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_int8_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -26777,7 +26777,7 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_float_axis2", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int8_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -26792,24 +26792,24 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "argpartsort.pyx":1869 - * def argpartsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float along axis=2." + * def argpartsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int8 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":1871 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -26819,7 +26819,7 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -27090,7 +27090,7 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_19 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1895 * while l < r: @@ -27130,7 +27130,7 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_i1; __pyx_t_22 = __pyx_v_i; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -27146,7 +27146,7 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS __pyx_t_23 = __pyx_v_i0; __pyx_t_24 = __pyx_v_i1; __pyx_t_25 = __pyx_v_j; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -27171,7 +27171,7 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS __pyx_t_26 = __pyx_v_i0; __pyx_t_27 = __pyx_v_i1; __pyx_t_28 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1902 * if i <= j: @@ -27186,7 +27186,7 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS __pyx_t_32 = __pyx_v_i0; __pyx_t_33 = __pyx_v_i1; __pyx_t_34 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1903 * tmp = b[i0, i1, i] @@ -27198,7 +27198,7 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS __pyx_t_35 = __pyx_v_i0; __pyx_t_36 = __pyx_v_i1; __pyx_t_37 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "argpartsort.pyx":1904 * b[i0, i1, i] = b[i0, i1, j] @@ -27320,8 +27320,8 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS /* "argpartsort.pyx":1867 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=2." + * def argpartsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -27337,7 +27337,7 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int8_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -27355,16 +27355,16 @@ static PyObject *__pyx_pf_11argpartsort_74argpartsort_3d_float_axis2(CYTHON_UNUS /* "argpartsort.pyx":1916 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=0." + * def argpartsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_77argpartsort_3d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_76argpartsort_3d_float32_axis0[] = "argpartsort_3d_float32_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_77argpartsort_3d_float32_axis0 = {"argpartsort_3d_float32_axis0", (PyCFunction)__pyx_pw_11argpartsort_77argpartsort_3d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_76argpartsort_3d_float32_axis0}; -static PyObject *__pyx_pw_11argpartsort_77argpartsort_3d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_77argpartsort_3d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_76argpartsort_3d_int32_axis0[] = "argpartsort_3d_int32_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_77argpartsort_3d_int32_axis0 = {"argpartsort_3d_int32_axis0", (PyCFunction)__pyx_pw_11argpartsort_77argpartsort_3d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_76argpartsort_3d_int32_axis0}; +static PyObject *__pyx_pw_11argpartsort_77argpartsort_3d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -27372,7 +27372,7 @@ static PyObject *__pyx_pw_11argpartsort_77argpartsort_3d_float32_axis0(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -27393,11 +27393,11 @@ static PyObject *__pyx_pw_11argpartsort_77argpartsort_3d_float32_axis0(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -27410,14 +27410,14 @@ static PyObject *__pyx_pw_11argpartsort_77argpartsort_3d_float32_axis0(PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_76argpartsort_3d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -27428,15 +27428,15 @@ static PyObject *__pyx_pw_11argpartsort_77argpartsort_3d_float32_axis0(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -27507,7 +27507,7 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -27522,24 +27522,24 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "argpartsort.pyx":1918 - * def argpartsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float32 along axis=0." + * def argpartsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":1920 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -27549,7 +27549,7 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -27820,7 +27820,7 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN __pyx_t_19 = __pyx_v_k; __pyx_t_9 = __pyx_v_i1; __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1944 * while l < r: @@ -27860,7 +27860,7 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN __pyx_t_20 = __pyx_v_i; __pyx_t_21 = __pyx_v_i1; __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -27876,7 +27876,7 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN __pyx_t_23 = __pyx_v_j; __pyx_t_24 = __pyx_v_i1; __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -27901,7 +27901,7 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN __pyx_t_26 = __pyx_v_i; __pyx_t_27 = __pyx_v_i1; __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1951 * if i <= j: @@ -27916,7 +27916,7 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN __pyx_t_32 = __pyx_v_i; __pyx_t_33 = __pyx_v_i1; __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1952 * tmp = b[i, i1, i2] @@ -27928,7 +27928,7 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN __pyx_t_35 = __pyx_v_j; __pyx_t_36 = __pyx_v_i1; __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "argpartsort.pyx":1953 * b[i, i1, i2] = b[j, i1, i2] @@ -28050,8 +28050,8 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN /* "argpartsort.pyx":1916 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=0." + * def argpartsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -28067,7 +28067,7 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -28085,16 +28085,16 @@ static PyObject *__pyx_pf_11argpartsort_76argpartsort_3d_float32_axis0(CYTHON_UN /* "argpartsort.pyx":1965 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=1." + * def argpartsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_79argpartsort_3d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_78argpartsort_3d_float32_axis1[] = "argpartsort_3d_float32_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_79argpartsort_3d_float32_axis1 = {"argpartsort_3d_float32_axis1", (PyCFunction)__pyx_pw_11argpartsort_79argpartsort_3d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_78argpartsort_3d_float32_axis1}; -static PyObject *__pyx_pw_11argpartsort_79argpartsort_3d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_79argpartsort_3d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_78argpartsort_3d_int32_axis1[] = "argpartsort_3d_int32_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_79argpartsort_3d_int32_axis1 = {"argpartsort_3d_int32_axis1", (PyCFunction)__pyx_pw_11argpartsort_79argpartsort_3d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_78argpartsort_3d_int32_axis1}; +static PyObject *__pyx_pw_11argpartsort_79argpartsort_3d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -28102,7 +28102,7 @@ static PyObject *__pyx_pw_11argpartsort_79argpartsort_3d_float32_axis1(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -28123,11 +28123,11 @@ static PyObject *__pyx_pw_11argpartsort_79argpartsort_3d_float32_axis1(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -28140,14 +28140,14 @@ static PyObject *__pyx_pw_11argpartsort_79argpartsort_3d_float32_axis1(PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_78argpartsort_3d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -28158,15 +28158,15 @@ static PyObject *__pyx_pw_11argpartsort_79argpartsort_3d_float32_axis1(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -28237,7 +28237,7 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -28252,24 +28252,24 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "argpartsort.pyx":1967 - * def argpartsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float32 along axis=1." + * def argpartsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":1969 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -28279,7 +28279,7 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1969; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -28550,7 +28550,7 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN __pyx_t_9 = __pyx_v_i0; __pyx_t_19 = __pyx_v_k; __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":1993 * while l < r: @@ -28590,7 +28590,7 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_i; __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -28606,7 +28606,7 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN __pyx_t_23 = __pyx_v_i0; __pyx_t_24 = __pyx_v_j; __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -28631,7 +28631,7 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN __pyx_t_26 = __pyx_v_i0; __pyx_t_27 = __pyx_v_i; __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2000 * if i <= j: @@ -28646,7 +28646,7 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN __pyx_t_32 = __pyx_v_i0; __pyx_t_33 = __pyx_v_i; __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2001 * tmp = b[i0, i, i2] @@ -28658,7 +28658,7 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN __pyx_t_35 = __pyx_v_i0; __pyx_t_36 = __pyx_v_j; __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "argpartsort.pyx":2002 * b[i0, i, i2] = b[i0, j, i2] @@ -28780,8 +28780,8 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN /* "argpartsort.pyx":1965 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=1." + * def argpartsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -28797,7 +28797,7 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -28815,16 +28815,16 @@ static PyObject *__pyx_pf_11argpartsort_78argpartsort_3d_float32_axis1(CYTHON_UN /* "argpartsort.pyx":2014 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=2." + * def argpartsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_81argpartsort_3d_float32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_80argpartsort_3d_float32_axis2[] = "argpartsort_3d_float32_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=2."; -static PyMethodDef __pyx_mdef_11argpartsort_81argpartsort_3d_float32_axis2 = {"argpartsort_3d_float32_axis2", (PyCFunction)__pyx_pw_11argpartsort_81argpartsort_3d_float32_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_80argpartsort_3d_float32_axis2}; -static PyObject *__pyx_pw_11argpartsort_81argpartsort_3d_float32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_81argpartsort_3d_int32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_80argpartsort_3d_int32_axis2[] = "argpartsort_3d_int32_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=2."; +static PyMethodDef __pyx_mdef_11argpartsort_81argpartsort_3d_int32_axis2 = {"argpartsort_3d_int32_axis2", (PyCFunction)__pyx_pw_11argpartsort_81argpartsort_3d_int32_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_80argpartsort_3d_int32_axis2}; +static PyObject *__pyx_pw_11argpartsort_81argpartsort_3d_int32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -28832,7 +28832,7 @@ static PyObject *__pyx_pw_11argpartsort_81argpartsort_3d_float32_axis2(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -28853,11 +28853,11 @@ static PyObject *__pyx_pw_11argpartsort_81argpartsort_3d_float32_axis2(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float32_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int32_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -28870,14 +28870,14 @@ static PyObject *__pyx_pw_11argpartsort_81argpartsort_3d_float32_axis2(PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float32_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int32_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_80argpartsort_3d_int32_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -28888,15 +28888,15 @@ static PyObject *__pyx_pw_11argpartsort_81argpartsort_3d_float32_axis2(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_int32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -28967,7 +28967,7 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_float32_axis2", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int32_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -28982,24 +28982,24 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "argpartsort.pyx":2016 - * def argpartsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float32 along axis=2." + * def argpartsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":2018 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -29009,7 +29009,7 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -29280,7 +29280,7 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_19 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2042 * while l < r: @@ -29320,7 +29320,7 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_i1; __pyx_t_22 = __pyx_v_i; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -29336,7 +29336,7 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN __pyx_t_23 = __pyx_v_i0; __pyx_t_24 = __pyx_v_i1; __pyx_t_25 = __pyx_v_j; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -29361,7 +29361,7 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN __pyx_t_26 = __pyx_v_i0; __pyx_t_27 = __pyx_v_i1; __pyx_t_28 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2049 * if i <= j: @@ -29376,7 +29376,7 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN __pyx_t_32 = __pyx_v_i0; __pyx_t_33 = __pyx_v_i1; __pyx_t_34 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2050 * tmp = b[i0, i1, i] @@ -29388,7 +29388,7 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN __pyx_t_35 = __pyx_v_i0; __pyx_t_36 = __pyx_v_i1; __pyx_t_37 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "argpartsort.pyx":2051 * b[i0, i1, i] = b[i0, i1, j] @@ -29510,8 +29510,8 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN /* "argpartsort.pyx":2014 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=2." + * def argpartsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -29527,7 +29527,7 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -29545,16 +29545,16 @@ static PyObject *__pyx_pf_11argpartsort_80argpartsort_3d_float32_axis2(CYTHON_UN /* "argpartsort.pyx":2063 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=0." + * def argpartsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_83argpartsort_3d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_82argpartsort_3d_float64_axis0[] = "argpartsort_3d_float64_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_11argpartsort_83argpartsort_3d_float64_axis0 = {"argpartsort_3d_float64_axis0", (PyCFunction)__pyx_pw_11argpartsort_83argpartsort_3d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_82argpartsort_3d_float64_axis0}; -static PyObject *__pyx_pw_11argpartsort_83argpartsort_3d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_83argpartsort_3d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_82argpartsort_3d_int64_axis0[] = "argpartsort_3d_int64_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_11argpartsort_83argpartsort_3d_int64_axis0 = {"argpartsort_3d_int64_axis0", (PyCFunction)__pyx_pw_11argpartsort_83argpartsort_3d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_82argpartsort_3d_int64_axis0}; +static PyObject *__pyx_pw_11argpartsort_83argpartsort_3d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -29562,7 +29562,7 @@ static PyObject *__pyx_pw_11argpartsort_83argpartsort_3d_float64_axis0(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -29583,11 +29583,11 @@ static PyObject *__pyx_pw_11argpartsort_83argpartsort_3d_float64_axis0(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -29600,14 +29600,14 @@ static PyObject *__pyx_pw_11argpartsort_83argpartsort_3d_float64_axis0(PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_82argpartsort_3d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -29618,15 +29618,15 @@ static PyObject *__pyx_pw_11argpartsort_83argpartsort_3d_float64_axis0(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -29697,7 +29697,7 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis0", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -29712,24 +29712,24 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "argpartsort.pyx":2065 - * def argpartsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float64 along axis=0." + * def argpartsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":2067 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -29739,7 +29739,7 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -30010,7 +30010,7 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN __pyx_t_19 = __pyx_v_k; __pyx_t_9 = __pyx_v_i1; __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2091 * while l < r: @@ -30050,7 +30050,7 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN __pyx_t_20 = __pyx_v_i; __pyx_t_21 = __pyx_v_i1; __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -30066,7 +30066,7 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN __pyx_t_23 = __pyx_v_j; __pyx_t_24 = __pyx_v_i1; __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -30091,7 +30091,7 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN __pyx_t_26 = __pyx_v_i; __pyx_t_27 = __pyx_v_i1; __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2098 * if i <= j: @@ -30106,7 +30106,7 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN __pyx_t_32 = __pyx_v_i; __pyx_t_33 = __pyx_v_i1; __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2099 * tmp = b[i, i1, i2] @@ -30118,7 +30118,7 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN __pyx_t_35 = __pyx_v_j; __pyx_t_36 = __pyx_v_i1; __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "argpartsort.pyx":2100 * b[i, i1, i2] = b[j, i1, i2] @@ -30240,8 +30240,8 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN /* "argpartsort.pyx":2063 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=0." + * def argpartsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -30257,7 +30257,7 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -30275,16 +30275,16 @@ static PyObject *__pyx_pf_11argpartsort_82argpartsort_3d_float64_axis0(CYTHON_UN /* "argpartsort.pyx":2112 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=1." + * def argpartsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_85argpartsort_3d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_84argpartsort_3d_float64_axis1[] = "argpartsort_3d_float64_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=1."; -static PyMethodDef __pyx_mdef_11argpartsort_85argpartsort_3d_float64_axis1 = {"argpartsort_3d_float64_axis1", (PyCFunction)__pyx_pw_11argpartsort_85argpartsort_3d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_84argpartsort_3d_float64_axis1}; -static PyObject *__pyx_pw_11argpartsort_85argpartsort_3d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_85argpartsort_3d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_84argpartsort_3d_int64_axis1[] = "argpartsort_3d_int64_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=1."; +static PyMethodDef __pyx_mdef_11argpartsort_85argpartsort_3d_int64_axis1 = {"argpartsort_3d_int64_axis1", (PyCFunction)__pyx_pw_11argpartsort_85argpartsort_3d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_84argpartsort_3d_int64_axis1}; +static PyObject *__pyx_pw_11argpartsort_85argpartsort_3d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -30292,7 +30292,7 @@ static PyObject *__pyx_pw_11argpartsort_85argpartsort_3d_float64_axis1(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -30313,11 +30313,11 @@ static PyObject *__pyx_pw_11argpartsort_85argpartsort_3d_float64_axis1(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -30330,14 +30330,14 @@ static PyObject *__pyx_pw_11argpartsort_85argpartsort_3d_float64_axis1(PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_84argpartsort_3d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -30348,15 +30348,15 @@ static PyObject *__pyx_pw_11argpartsort_85argpartsort_3d_float64_axis1(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -30427,7 +30427,7 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis1", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -30442,24 +30442,24 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "argpartsort.pyx":2114 - * def argpartsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float64 along axis=1." + * def argpartsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":2116 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -30469,7 +30469,7 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -30740,7 +30740,7 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN __pyx_t_9 = __pyx_v_i0; __pyx_t_19 = __pyx_v_k; __pyx_t_10 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2140 * while l < r: @@ -30780,7 +30780,7 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_i; __pyx_t_22 = __pyx_v_i2; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -30796,7 +30796,7 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN __pyx_t_23 = __pyx_v_i0; __pyx_t_24 = __pyx_v_j; __pyx_t_25 = __pyx_v_i2; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -30821,7 +30821,7 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN __pyx_t_26 = __pyx_v_i0; __pyx_t_27 = __pyx_v_i; __pyx_t_28 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2147 * if i <= j: @@ -30836,7 +30836,7 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN __pyx_t_32 = __pyx_v_i0; __pyx_t_33 = __pyx_v_i; __pyx_t_34 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2148 * tmp = b[i0, i, i2] @@ -30848,7 +30848,7 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN __pyx_t_35 = __pyx_v_i0; __pyx_t_36 = __pyx_v_j; __pyx_t_37 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "argpartsort.pyx":2149 * b[i0, i, i2] = b[i0, j, i2] @@ -30970,8 +30970,8 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN /* "argpartsort.pyx":2112 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=1." + * def argpartsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -30987,7 +30987,7 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -31005,16 +31005,16 @@ static PyObject *__pyx_pf_11argpartsort_84argpartsort_3d_float64_axis1(CYTHON_UN /* "argpartsort.pyx":2161 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=2." + * def argpartsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ /* Python wrapper */ -static PyObject *__pyx_pw_11argpartsort_87argpartsort_3d_float64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_11argpartsort_86argpartsort_3d_float64_axis2[] = "argpartsort_3d_float64_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=2."; -static PyMethodDef __pyx_mdef_11argpartsort_87argpartsort_3d_float64_axis2 = {"argpartsort_3d_float64_axis2", (PyCFunction)__pyx_pw_11argpartsort_87argpartsort_3d_float64_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_86argpartsort_3d_float64_axis2}; -static PyObject *__pyx_pw_11argpartsort_87argpartsort_3d_float64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_11argpartsort_87argpartsort_3d_int64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_11argpartsort_86argpartsort_3d_int64_axis2[] = "argpartsort_3d_int64_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=2."; +static PyMethodDef __pyx_mdef_11argpartsort_87argpartsort_3d_int64_axis2 = {"argpartsort_3d_int64_axis2", (PyCFunction)__pyx_pw_11argpartsort_87argpartsort_3d_int64_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_11argpartsort_86argpartsort_3d_int64_axis2}; +static PyObject *__pyx_pw_11argpartsort_87argpartsort_3d_int64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -31022,7 +31022,7 @@ static PyObject *__pyx_pw_11argpartsort_87argpartsort_3d_float64_axis2(PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -31043,11 +31043,11 @@ static PyObject *__pyx_pw_11argpartsort_87argpartsort_3d_float64_axis2(PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_float64_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "argpartsort_3d_int64_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -31060,14 +31060,14 @@ static PyObject *__pyx_pw_11argpartsort_87argpartsort_3d_float64_axis2(PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("argpartsort_3d_float64_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("argpartsort_3d_int64_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_11argpartsort_86argpartsort_3d_int64_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -31078,15 +31078,15 @@ static PyObject *__pyx_pw_11argpartsort_87argpartsort_3d_float64_axis2(PyObject return __pyx_r; } -static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_int64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; npy_intp __pyx_v_itmp; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -31157,7 +31157,7 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("argpartsort_3d_float64_axis2", 0); + __Pyx_RefNannySetupContext("argpartsort_3d_int64_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -31172,24 +31172,24 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "argpartsort.pyx":2163 - * def argpartsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float64 along axis=2." + * def argpartsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "argpartsort.pyx":2165 * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -31199,7 +31199,7 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -31470,7 +31470,7 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_19 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2189 * while l < r: @@ -31510,7 +31510,7 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_i1; __pyx_t_22 = __pyx_v_i; - __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_14 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_14) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -31526,7 +31526,7 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN __pyx_t_23 = __pyx_v_i0; __pyx_t_24 = __pyx_v_i1; __pyx_t_25 = __pyx_v_j; - __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_14 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_14) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -31551,7 +31551,7 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN __pyx_t_26 = __pyx_v_i0; __pyx_t_27 = __pyx_v_i1; __pyx_t_28 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2196 * if i <= j: @@ -31566,7 +31566,7 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN __pyx_t_32 = __pyx_v_i0; __pyx_t_33 = __pyx_v_i1; __pyx_t_34 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_33, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_34, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_30, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[2].strides)); /* "argpartsort.pyx":2197 * tmp = b[i0, i1, i] @@ -31578,7 +31578,7 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN __pyx_t_35 = __pyx_v_i0; __pyx_t_36 = __pyx_v_i1; __pyx_t_37 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_35, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_36, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_37, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "argpartsort.pyx":2198 * b[i0, i1, i] = b[i0, i1, j] @@ -31700,8 +31700,8 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN /* "argpartsort.pyx":2161 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=2." + * def argpartsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ @@ -31717,7 +31717,7 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("argpartsort.argpartsort_3d_float64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("argpartsort.argpartsort_3d_int64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -31733,7 +31733,7 @@ static PyObject *__pyx_pf_11argpartsort_86argpartsort_3d_float64_axis2(CYTHON_UN } /* "argpartsort.pyx":2252 - * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 + * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 * * def argpartsort_slow_axis0(arr, n): # <<<<<<<<<<<<<< * "Unaccelerated (slow) argpartsort along axis 0." @@ -31852,7 +31852,7 @@ static PyObject *__pyx_pf_11argpartsort_88argpartsort_slow_axis0(CYTHON_UNUSED P goto __pyx_L0; /* "argpartsort.pyx":2252 - * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 + * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 * * def argpartsort_slow_axis0(arr, n): # <<<<<<<<<<<<<< * "Unaccelerated (slow) argpartsort along axis 0." @@ -36526,7 +36526,7 @@ static PyObject *__pyx_pf_11argpartsort_154argpartsort_slow_axisNone(CYTHON_UNUS return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -36576,7 +36576,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -36589,7 +36589,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -36598,7 +36598,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -36607,7 +36607,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -36616,7 +36616,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -36626,7 +36626,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -36638,7 +36638,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -36649,7 +36649,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -36665,7 +36665,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -36677,7 +36677,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -36691,7 +36691,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -36707,7 +36707,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -36719,7 +36719,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -36733,7 +36733,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -36742,7 +36742,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -36751,7 +36751,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -36761,7 +36761,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -36770,7 +36770,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -36779,7 +36779,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -36790,7 +36790,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -36799,7 +36799,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -36812,7 +36812,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -36821,7 +36821,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -36832,7 +36832,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -36841,7 +36841,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -36850,7 +36850,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -36859,7 +36859,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -36868,7 +36868,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -36880,7 +36880,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -36889,7 +36889,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -36909,7 +36909,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -36925,7 +36925,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -36940,7 +36940,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -36950,7 +36950,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -36960,7 +36960,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -36983,7 +36983,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -37003,7 +37003,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -37017,7 +37017,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -37026,7 +37026,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -37037,7 +37037,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -37048,7 +37048,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -37059,7 +37059,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -37070,7 +37070,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -37081,7 +37081,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -37092,7 +37092,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -37103,7 +37103,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -37114,7 +37114,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -37125,7 +37125,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -37136,7 +37136,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -37147,7 +37147,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -37158,7 +37158,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -37169,7 +37169,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -37180,7 +37180,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -37191,7 +37191,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -37202,7 +37202,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -37214,7 +37214,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -37240,7 +37240,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -37249,7 +37249,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -37261,7 +37261,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -37270,7 +37270,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -37279,7 +37279,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -37288,7 +37288,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -37298,7 +37298,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -37308,7 +37308,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -37340,7 +37340,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -37364,7 +37364,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -37374,7 +37374,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -37386,7 +37386,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -37396,7 +37396,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -37408,7 +37408,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -37420,7 +37420,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -37437,7 +37437,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -37451,7 +37451,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -37470,7 +37470,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -37487,7 +37487,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -37501,7 +37501,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -37520,7 +37520,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -37537,7 +37537,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -37551,7 +37551,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -37570,7 +37570,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -37587,7 +37587,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -37601,7 +37601,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -37620,7 +37620,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -37637,7 +37637,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -37651,7 +37651,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -37670,7 +37670,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -37702,7 +37702,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -37711,7 +37711,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -37720,7 +37720,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -37742,7 +37742,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -37755,7 +37755,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -37794,7 +37794,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -37811,7 +37811,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -37825,7 +37825,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -37848,7 +37848,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -37868,7 +37868,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -37882,7 +37882,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -37898,7 +37898,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -37907,7 +37907,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -37916,7 +37916,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -37927,7 +37927,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -37937,7 +37937,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -37947,7 +37947,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -37959,7 +37959,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -37969,7 +37969,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -37983,7 +37983,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -38001,7 +38001,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -38019,7 +38019,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -38037,7 +38037,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -38055,7 +38055,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -38073,7 +38073,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -38091,7 +38091,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -38109,7 +38109,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -38127,7 +38127,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -38145,7 +38145,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -38163,7 +38163,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -38181,7 +38181,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -38199,7 +38199,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -38217,7 +38217,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -38237,7 +38237,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -38257,7 +38257,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -38277,7 +38277,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -38296,7 +38296,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -38319,7 +38319,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -38331,7 +38331,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -38343,7 +38343,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -38353,7 +38353,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -38363,7 +38363,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -38388,7 +38388,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -38403,7 +38403,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -38414,7 +38414,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -38426,7 +38426,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -38435,7 +38435,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -38446,7 +38446,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -38455,7 +38455,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -38464,7 +38464,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -38476,7 +38476,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -38490,7 +38490,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -38500,7 +38500,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -38514,7 +38514,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -38525,7 +38525,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -38563,7 +38563,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -38577,6 +38576,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -38733,7 +38733,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -38744,7 +38744,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -38755,7 +38755,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -38766,7 +38766,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -38777,7 +38777,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -38788,7 +38788,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -38820,7 +38820,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_n, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort, 84, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort, 84, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":149 * return func(arr, n) @@ -38832,514 +38832,514 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_key, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_selector, 149, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_selector, 149, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":229 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int along axis=0." + * def argpartsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__13 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_1d_int_axis0, 229, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_1d_float_axis0, 229, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":273 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int8 along axis=0." + * def argpartsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__15 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_1d_int8_axis0, 273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_1d_float32_axis0, 273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":317 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int32 along axis=0." + * def argpartsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__17 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_1d_int32_axis0, 317, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_1d_float64_axis0, 317, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":361 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int64 along axis=0." + * def argpartsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__19 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_1d_int64_axis0, 361, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_float_axis0, 361, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":405 + /* "argpartsort.pyx":407 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=0." + * def argpartsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__21 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_int_axis0, 405, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_float_axis1, 407, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":451 + /* "argpartsort.pyx":453 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=1." + * def argpartsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__23 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_int_axis1, 451, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_float32_axis0, 453, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":497 + /* "argpartsort.pyx":499 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=0." + * def argpartsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__25 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_int8_axis0, 497, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_float32_axis1, 499, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":543 + /* "argpartsort.pyx":545 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=1." + * def argpartsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__27 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_int8_axis1, 543, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_float64_axis0, 545, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":589 + /* "argpartsort.pyx":591 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=0." + * def argpartsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__29 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_int32_axis0, 589, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_float64_axis1, 591, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":635 + /* "argpartsort.pyx":637 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=1." + * def argpartsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__31 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_int32_axis1, 635, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_float_axis0, 637, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":681 + /* "argpartsort.pyx":686 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=0." + * def argpartsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__33 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_int64_axis0, 681, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_float_axis1, 686, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":727 + /* "argpartsort.pyx":735 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=1." + * def argpartsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__35 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_int64_axis1, 727, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_float_axis2, 735, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":773 + /* "argpartsort.pyx":784 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=0." + * def argpartsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__37 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int_axis0, 773, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_float32_axis0, 784, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":822 + /* "argpartsort.pyx":833 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=1." + * def argpartsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__39 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int_axis1, 822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_float32_axis1, 833, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":871 + /* "argpartsort.pyx":882 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=2." + * def argpartsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__41 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int_axis2, 871, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_float32_axis2, 882, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":920 + /* "argpartsort.pyx":931 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=0." + * def argpartsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__43 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int8_axis0, 920, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_float64_axis0, 931, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":969 + /* "argpartsort.pyx":980 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=1." + * def argpartsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__45 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int8_axis1, 969, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_float64_axis1, 980, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1018 + /* "argpartsort.pyx":1029 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=2." + * def argpartsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__47 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int8_axis2, 1018, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_float64_axis2, 1029, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1067 + /* "argpartsort.pyx":1078 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=0." + * def argpartsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__49 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int32_axis0, 1067, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_1d_int_axis0, 1078, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1116 + /* "argpartsort.pyx":1122 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=1." + * def argpartsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__51 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int32_axis1, 1116, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_1d_int8_axis0, 1122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1165 + /* "argpartsort.pyx":1166 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=2." + * def argpartsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__53 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int32_axis2, 1165, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_1d_int32_axis0, 1166, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1214 + /* "argpartsort.pyx":1210 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=0." + * def argpartsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__55 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int64_axis0, 1214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_1d_int64_axis0, 1210, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1263 + /* "argpartsort.pyx":1254 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=1." + * def argpartsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__57 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int64_axis1, 1263, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_int_axis0, 1254, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1312 + /* "argpartsort.pyx":1300 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=2." + * def argpartsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__59 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_int64_axis2, 1312, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_int_axis1, 1300, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1361 + /* "argpartsort.pyx":1346 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float along axis=0." + * def argpartsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__61 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_1d_float_axis0, 1361, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_int8_axis0, 1346, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1405 + /* "argpartsort.pyx":1392 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float32 along axis=0." + * def argpartsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__63 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_1d_float32_axis0, 1405, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_int8_axis1, 1392, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1449 + /* "argpartsort.pyx":1438 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float64 along axis=0." + * def argpartsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__65 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_1d_float64_axis0, 1449, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_int32_axis0, 1438, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1493 + /* "argpartsort.pyx":1484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=0." + * def argpartsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__67 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_float_axis0, 1493, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_int32_axis1, 1484, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1539 + /* "argpartsort.pyx":1530 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=1." + * def argpartsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__69 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__69 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_float_axis1, 1539, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_int64_axis0, 1530, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1585 + /* "argpartsort.pyx":1576 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=0." + * def argpartsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__71 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__71 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_float32_axis0, 1585, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_2d_int64_axis1, 1576, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1631 + /* "argpartsort.pyx":1622 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=1." + * def argpartsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__73 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__73 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_float32_axis1, 1631, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int_axis0, 1622, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1677 + /* "argpartsort.pyx":1671 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=0." + * def argpartsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__75 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__75 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_float64_axis0, 1677, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int_axis1, 1671, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "argpartsort.pyx":1723 + /* "argpartsort.pyx":1720 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=1." + * def argpartsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_tuple__77 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__77 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_2d_float64_axis1, 1723, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int_axis2, 1720, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":1769 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=0." + * def argpartsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__79 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_float_axis0, 1769, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int8_axis0, 1769, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":1818 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=1." + * def argpartsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__81 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_float_axis1, 1818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int8_axis1, 1818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":1867 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=2." + * def argpartsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__83 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_float_axis2, 1867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int8_axis2, 1867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":1916 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=0." + * def argpartsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__85 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_float32_axis0, 1916, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int32_axis0, 1916, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":1965 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=1." + * def argpartsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__87 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_float32_axis1, 1965, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int32_axis1, 1965, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2014 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=2." + * def argpartsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__89 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_float32_axis2, 2014, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int32_axis2, 2014, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2063 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=0." + * def argpartsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__91 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_float64_axis0, 2063, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int64_axis0, 2063, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2112 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=1." + * def argpartsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__93 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_float64_axis1, 2112, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int64_axis1, 2112, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2161 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=2." + * def argpartsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ __pyx_tuple__95 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_itmp, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_3d_float64_axis2, 2161, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_3d_int64_axis2, 2161, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2252 - * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 + * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 * * def argpartsort_slow_axis0(arr, n): # <<<<<<<<<<<<<< * "Unaccelerated (slow) argpartsort along axis 0." @@ -39348,7 +39348,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis0, 2252, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis0, 2252, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2256 * return bn.slow.argpartsort(arr, n, axis=0) @@ -39360,7 +39360,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis1, 2256, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis1, 2256, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2260 * return bn.slow.argpartsort(arr, n, axis=1) @@ -39372,7 +39372,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis2, 2260, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis2, 2260, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2264 * return bn.slow.argpartsort(arr, n, axis=2) @@ -39384,7 +39384,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis3, 2264, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis3, 2264, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2268 * return bn.slow.argpartsort(arr, n, axis=3) @@ -39396,7 +39396,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis4, 2268, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis4, 2268, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2272 * return bn.slow.argpartsort(arr, n, axis=4) @@ -39408,7 +39408,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis5, 2272, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis5, 2272, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2276 * return bn.slow.argpartsort(arr, n, axis=5) @@ -39420,7 +39420,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis6, 2276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis6, 2276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2280 * return bn.slow.argpartsort(arr, n, axis=6) @@ -39432,7 +39432,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis7, 2280, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis7, 2280, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2284 * return bn.slow.argpartsort(arr, n, axis=7) @@ -39444,7 +39444,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis8, 2284, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis8, 2284, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2288 * return bn.slow.argpartsort(arr, n, axis=8) @@ -39456,7 +39456,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis9, 2288, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis9, 2288, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2292 * return bn.slow.argpartsort(arr, n, axis=9) @@ -39468,7 +39468,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis10, 2292, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis10, 2292, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2296 * return bn.slow.argpartsort(arr, n, axis=10) @@ -39480,7 +39480,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis11, 2296, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis11, 2296, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2300 * return bn.slow.argpartsort(arr, n, axis=11) @@ -39492,7 +39492,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis12, 2300, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis12, 2300, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2304 * return bn.slow.argpartsort(arr, n, axis=12) @@ -39504,7 +39504,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis13, 2304, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis13, 2304, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2308 * return bn.slow.argpartsort(arr, n, axis=13) @@ -39516,7 +39516,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis14, 2308, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis14, 2308, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2312 * return bn.slow.argpartsort(arr, n, axis=14) @@ -39528,7 +39528,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis15, 2312, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis15, 2312, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2316 * return bn.slow.argpartsort(arr, n, axis=15) @@ -39540,7 +39540,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis16, 2316, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis16, 2316, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2320 * return bn.slow.argpartsort(arr, n, axis=16) @@ -39552,7 +39552,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis17, 2320, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis17, 2320, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2324 * return bn.slow.argpartsort(arr, n, axis=17) @@ -39564,7 +39564,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis18, 2324, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis18, 2324, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2328 * return bn.slow.argpartsort(arr, n, axis=18) @@ -39576,7 +39576,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis19, 2328, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis19, 2328, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2332 * return bn.slow.argpartsort(arr, n, axis=19) @@ -39588,7 +39588,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__137 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__137); __Pyx_GIVEREF(__pyx_tuple__137); - __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis20, 2332, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis20, 2332, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2336 * return bn.slow.argpartsort(arr, n, axis=20) @@ -39600,7 +39600,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__139 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__139); __Pyx_GIVEREF(__pyx_tuple__139); - __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis21, 2336, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis21, 2336, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2340 * return bn.slow.argpartsort(arr, n, axis=21) @@ -39612,7 +39612,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__141 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__141); __Pyx_GIVEREF(__pyx_tuple__141); - __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis22, 2340, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis22, 2340, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2344 * return bn.slow.argpartsort(arr, n, axis=22) @@ -39624,7 +39624,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__143 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__143); __Pyx_GIVEREF(__pyx_tuple__143); - __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis23, 2344, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis23, 2344, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2348 * return bn.slow.argpartsort(arr, n, axis=23) @@ -39636,7 +39636,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__145 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__145); __Pyx_GIVEREF(__pyx_tuple__145); - __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis24, 2348, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis24, 2348, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2352 * return bn.slow.argpartsort(arr, n, axis=24) @@ -39648,7 +39648,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__147 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__147); __Pyx_GIVEREF(__pyx_tuple__147); - __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis25, 2352, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis25, 2352, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2356 * return bn.slow.argpartsort(arr, n, axis=25) @@ -39660,7 +39660,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__149 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__149); __Pyx_GIVEREF(__pyx_tuple__149); - __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis26, 2356, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis26, 2356, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2360 * return bn.slow.argpartsort(arr, n, axis=26) @@ -39672,7 +39672,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__151 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__151); __Pyx_GIVEREF(__pyx_tuple__151); - __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis27, 2360, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis27, 2360, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2364 * return bn.slow.argpartsort(arr, n, axis=27) @@ -39684,7 +39684,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__153 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__153); __Pyx_GIVEREF(__pyx_tuple__153); - __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis28, 2364, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis28, 2364, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2368 * return bn.slow.argpartsort(arr, n, axis=28) @@ -39696,7 +39696,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__155 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__155); __Pyx_GIVEREF(__pyx_tuple__155); - __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis29, 2368, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis29, 2368, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2372 * return bn.slow.argpartsort(arr, n, axis=29) @@ -39708,7 +39708,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__157 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__157); __Pyx_GIVEREF(__pyx_tuple__157); - __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis30, 2372, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis30, 2372, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2376 * return bn.slow.argpartsort(arr, n, axis=30) @@ -39720,7 +39720,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__159 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__159); __Pyx_GIVEREF(__pyx_tuple__159); - __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis31, 2376, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis31, 2376, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2380 * return bn.slow.argpartsort(arr, n, axis=31) @@ -39732,7 +39732,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__161 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__161); __Pyx_GIVEREF(__pyx_tuple__161); - __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axis32, 2380, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axis32, 2380, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "argpartsort.pyx":2384 * return bn.slow.argpartsort(arr, n, axis=32) @@ -39744,7 +39744,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__163 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__163); __Pyx_GIVEREF(__pyx_tuple__163); - __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_argpartsort_slow_axisNone, 2384, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_argpartsort_slow_axisNone, 2384, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -40711,513 +40711,513 @@ PyMODINIT_FUNC PyInit_argpartsort(void) /* "argpartsort.pyx":229 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int along axis=0." + * def argpartsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_5argpartsort_1d_int_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_5argpartsort_1d_float_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":273 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int8 along axis=0." + * def argpartsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_7argpartsort_1d_int8_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_7argpartsort_1d_float32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":317 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int32 along axis=0." + * def argpartsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_9argpartsort_1d_int32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_9argpartsort_1d_float64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":361 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int64 along axis=0." + * def argpartsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_11argpartsort_1d_int64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_11argpartsort_2d_float_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":405 + /* "argpartsort.pyx":407 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=0." + * def argpartsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_13argpartsort_2d_int_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_13argpartsort_2d_float_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":451 + /* "argpartsort.pyx":453 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=1." + * def argpartsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_15argpartsort_2d_int_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_15argpartsort_2d_float32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":497 + /* "argpartsort.pyx":499 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=0." + * def argpartsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_17argpartsort_2d_int8_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_17argpartsort_2d_float32_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":543 + /* "argpartsort.pyx":545 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=1." + * def argpartsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_19argpartsort_2d_int8_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_19argpartsort_2d_float64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":589 + /* "argpartsort.pyx":591 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=0." + * def argpartsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_21argpartsort_2d_int32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_21argpartsort_2d_float64_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":635 + /* "argpartsort.pyx":637 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=1." + * def argpartsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_23argpartsort_2d_int32_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_23argpartsort_3d_float_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":681 + /* "argpartsort.pyx":686 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=0." + * def argpartsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_25argpartsort_2d_int64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_25argpartsort_3d_float_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":727 + /* "argpartsort.pyx":735 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=1." + * def argpartsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_27argpartsort_2d_int64_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_27argpartsort_3d_float_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":773 + /* "argpartsort.pyx":784 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=0." + * def argpartsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_29argpartsort_3d_int_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_29argpartsort_3d_float32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":822 + /* "argpartsort.pyx":833 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=1." + * def argpartsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_31argpartsort_3d_int_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_31argpartsort_3d_float32_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":871 + /* "argpartsort.pyx":882 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=2." + * def argpartsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_33argpartsort_3d_int_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_33argpartsort_3d_float32_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float32_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":920 + /* "argpartsort.pyx":931 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=0." + * def argpartsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_35argpartsort_3d_int8_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_35argpartsort_3d_float64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":969 + /* "argpartsort.pyx":980 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=1." + * def argpartsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_37argpartsort_3d_int8_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_37argpartsort_3d_float64_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1018 + /* "argpartsort.pyx":1029 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=2." + * def argpartsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_39argpartsort_3d_int8_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_39argpartsort_3d_float64_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int8_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float64_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1067 + /* "argpartsort.pyx":1078 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=0." + * def argpartsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_41argpartsort_3d_int32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_41argpartsort_1d_int_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1116 + /* "argpartsort.pyx":1122 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=1." + * def argpartsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_43argpartsort_3d_int32_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_43argpartsort_1d_int8_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1165 + /* "argpartsort.pyx":1166 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=2." + * def argpartsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_45argpartsort_3d_int32_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_45argpartsort_1d_int32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int32_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1214 + /* "argpartsort.pyx":1210 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=0." + * def argpartsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_47argpartsort_3d_int64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_47argpartsort_1d_int64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1263 + /* "argpartsort.pyx":1254 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=1." + * def argpartsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_49argpartsort_3d_int64_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_49argpartsort_2d_int_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1312 + /* "argpartsort.pyx":1300 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=2." + * def argpartsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_51argpartsort_3d_int64_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_51argpartsort_2d_int_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int64_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1361 + /* "argpartsort.pyx":1346 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float along axis=0." + * def argpartsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_53argpartsort_1d_float_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_53argpartsort_2d_int8_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1405 + /* "argpartsort.pyx":1392 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float32 along axis=0." + * def argpartsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_55argpartsort_1d_float32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_55argpartsort_2d_int8_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1449 + /* "argpartsort.pyx":1438 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float64 along axis=0." + * def argpartsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_57argpartsort_1d_float64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_57argpartsort_2d_int32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1493 + /* "argpartsort.pyx":1484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=0." + * def argpartsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_59argpartsort_2d_float_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_59argpartsort_2d_int32_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1539 + /* "argpartsort.pyx":1530 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=1." + * def argpartsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_61argpartsort_2d_float_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_61argpartsort_2d_int64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1585 + /* "argpartsort.pyx":1576 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=0." + * def argpartsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_63argpartsort_2d_float32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_63argpartsort_2d_int64_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1631 + /* "argpartsort.pyx":1622 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=1." + * def argpartsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_65argpartsort_2d_float32_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_65argpartsort_3d_int_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1677 + /* "argpartsort.pyx":1671 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=0." + * def argpartsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_67argpartsort_2d_float64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_67argpartsort_3d_int_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":1723 + /* "argpartsort.pyx":1720 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=1." + * def argpartsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_69argpartsort_2d_float64_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_69argpartsort_3d_int_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":1769 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=0." + * def argpartsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_71argpartsort_3d_float_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_71argpartsort_3d_int8_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":1818 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=1." + * def argpartsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_73argpartsort_3d_float_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_73argpartsort_3d_int8_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":1867 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=2." + * def argpartsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_75argpartsort_3d_float_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_75argpartsort_3d_int8_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int8_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":1916 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=0." + * def argpartsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_77argpartsort_3d_float32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_77argpartsort_3d_int32_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":1965 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=1." + * def argpartsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_79argpartsort_3d_float32_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_79argpartsort_3d_int32_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2014 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=2." + * def argpartsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_81argpartsort_3d_float32_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_81argpartsort_3d_int32_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float32_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int32_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2063 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=0." + * def argpartsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_83argpartsort_3d_float64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_83argpartsort_3d_int64_axis0, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2112 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=1." + * def argpartsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_85argpartsort_3d_float64_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_85argpartsort_3d_int64_axis1, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2161 * @cython.boundscheck(False) * @cython.wraparound(False) - * def argpartsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=2." + * def argpartsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1, itmp */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_87argpartsort_3d_float64_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_11argpartsort_87argpartsort_3d_int64_axis2, NULL, __pyx_n_s_argpartsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_float64_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_argpartsort_3d_int64_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2208 * return y * * cdef dict argpartsort_dict = {} # <<<<<<<<<<<<<< - * argpartsort_dict[(1, NPY_int, 0)] = argpartsort_1d_int_axis0 - * argpartsort_dict[(1, NPY_int8, 0)] = argpartsort_1d_int8_axis0 + * argpartsort_dict[(1, NPY_float, 0)] = argpartsort_1d_float_axis0 + * argpartsort_dict[(1, NPY_float32, 0)] = argpartsort_1d_float32_axis0 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -41229,17 +41229,17 @@ PyMODINIT_FUNC PyInit_argpartsort(void) /* "argpartsort.pyx":2209 * * cdef dict argpartsort_dict = {} - * argpartsort_dict[(1, NPY_int, 0)] = argpartsort_1d_int_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(1, NPY_int8, 0)] = argpartsort_1d_int8_axis0 - * argpartsort_dict[(1, NPY_int32, 0)] = argpartsort_1d_int32_axis0 + * argpartsort_dict[(1, NPY_float, 0)] = argpartsort_1d_float_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(1, NPY_float32, 0)] = argpartsort_1d_float32_axis0 + * argpartsort_dict[(1, NPY_float64, 0)] = argpartsort_1d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -41258,18 +41258,18 @@ PyMODINIT_FUNC PyInit_argpartsort(void) /* "argpartsort.pyx":2210 * cdef dict argpartsort_dict = {} - * argpartsort_dict[(1, NPY_int, 0)] = argpartsort_1d_int_axis0 - * argpartsort_dict[(1, NPY_int8, 0)] = argpartsort_1d_int8_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(1, NPY_int32, 0)] = argpartsort_1d_int32_axis0 - * argpartsort_dict[(1, NPY_int64, 0)] = argpartsort_1d_int64_axis0 + * argpartsort_dict[(1, NPY_float, 0)] = argpartsort_1d_float_axis0 + * argpartsort_dict[(1, NPY_float32, 0)] = argpartsort_1d_float32_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(1, NPY_float64, 0)] = argpartsort_1d_float64_axis0 + * argpartsort_dict[(2, NPY_float, 0)] = argpartsort_2d_float_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -41287,19 +41287,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2211 - * argpartsort_dict[(1, NPY_int, 0)] = argpartsort_1d_int_axis0 - * argpartsort_dict[(1, NPY_int8, 0)] = argpartsort_1d_int8_axis0 - * argpartsort_dict[(1, NPY_int32, 0)] = argpartsort_1d_int32_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(1, NPY_int64, 0)] = argpartsort_1d_int64_axis0 - * argpartsort_dict[(2, NPY_int, 0)] = argpartsort_2d_int_axis0 + * argpartsort_dict[(1, NPY_float, 0)] = argpartsort_1d_float_axis0 + * argpartsort_dict[(1, NPY_float32, 0)] = argpartsort_1d_float32_axis0 + * argpartsort_dict[(1, NPY_float64, 0)] = argpartsort_1d_float64_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_float, 0)] = argpartsort_2d_float_axis0 + * argpartsort_dict[(2, NPY_float, 1)] = argpartsort_2d_float_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -41317,25 +41317,25 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2212 - * argpartsort_dict[(1, NPY_int8, 0)] = argpartsort_1d_int8_axis0 - * argpartsort_dict[(1, NPY_int32, 0)] = argpartsort_1d_int32_axis0 - * argpartsort_dict[(1, NPY_int64, 0)] = argpartsort_1d_int64_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_int, 0)] = argpartsort_2d_int_axis0 - * argpartsort_dict[(2, NPY_int, 1)] = argpartsort_2d_int_axis1 + * argpartsort_dict[(1, NPY_float32, 0)] = argpartsort_1d_float32_axis0 + * argpartsort_dict[(1, NPY_float64, 0)] = argpartsort_1d_float64_axis0 + * argpartsort_dict[(2, NPY_float, 0)] = argpartsort_2d_float_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_float, 1)] = argpartsort_2d_float_axis1 + * argpartsort_dict[(2, NPY_float32, 0)] = argpartsort_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -41347,19 +41347,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2213 - * argpartsort_dict[(1, NPY_int32, 0)] = argpartsort_1d_int32_axis0 - * argpartsort_dict[(1, NPY_int64, 0)] = argpartsort_1d_int64_axis0 - * argpartsort_dict[(2, NPY_int, 0)] = argpartsort_2d_int_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_int, 1)] = argpartsort_2d_int_axis1 - * argpartsort_dict[(2, NPY_int8, 0)] = argpartsort_2d_int8_axis0 + * argpartsort_dict[(1, NPY_float64, 0)] = argpartsort_1d_float64_axis0 + * argpartsort_dict[(2, NPY_float, 0)] = argpartsort_2d_float_axis0 + * argpartsort_dict[(2, NPY_float, 1)] = argpartsort_2d_float_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_float32, 0)] = argpartsort_2d_float32_axis0 + * argpartsort_dict[(2, NPY_float32, 1)] = argpartsort_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -41368,28 +41368,28 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2214 - * argpartsort_dict[(1, NPY_int64, 0)] = argpartsort_1d_int64_axis0 - * argpartsort_dict[(2, NPY_int, 0)] = argpartsort_2d_int_axis0 - * argpartsort_dict[(2, NPY_int, 1)] = argpartsort_2d_int_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_int8, 0)] = argpartsort_2d_int8_axis0 - * argpartsort_dict[(2, NPY_int8, 1)] = argpartsort_2d_int8_axis1 + * argpartsort_dict[(2, NPY_float, 0)] = argpartsort_2d_float_axis0 + * argpartsort_dict[(2, NPY_float, 1)] = argpartsort_2d_float_axis1 + * argpartsort_dict[(2, NPY_float32, 0)] = argpartsort_2d_float32_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_float32, 1)] = argpartsort_2d_float32_axis1 + * argpartsort_dict[(2, NPY_float64, 0)] = argpartsort_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -41398,28 +41398,28 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2215 - * argpartsort_dict[(2, NPY_int, 0)] = argpartsort_2d_int_axis0 - * argpartsort_dict[(2, NPY_int, 1)] = argpartsort_2d_int_axis1 - * argpartsort_dict[(2, NPY_int8, 0)] = argpartsort_2d_int8_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_int8, 1)] = argpartsort_2d_int8_axis1 - * argpartsort_dict[(2, NPY_int32, 0)] = argpartsort_2d_int32_axis0 + * argpartsort_dict[(2, NPY_float, 1)] = argpartsort_2d_float_axis1 + * argpartsort_dict[(2, NPY_float32, 0)] = argpartsort_2d_float32_axis0 + * argpartsort_dict[(2, NPY_float32, 1)] = argpartsort_2d_float32_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_float64, 0)] = argpartsort_2d_float64_axis0 + * argpartsort_dict[(2, NPY_float64, 1)] = argpartsort_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -41428,28 +41428,28 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2216 - * argpartsort_dict[(2, NPY_int, 1)] = argpartsort_2d_int_axis1 - * argpartsort_dict[(2, NPY_int8, 0)] = argpartsort_2d_int8_axis0 - * argpartsort_dict[(2, NPY_int8, 1)] = argpartsort_2d_int8_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_int32, 0)] = argpartsort_2d_int32_axis0 - * argpartsort_dict[(2, NPY_int32, 1)] = argpartsort_2d_int32_axis1 + * argpartsort_dict[(2, NPY_float32, 0)] = argpartsort_2d_float32_axis0 + * argpartsort_dict[(2, NPY_float32, 1)] = argpartsort_2d_float32_axis1 + * argpartsort_dict[(2, NPY_float64, 0)] = argpartsort_2d_float64_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_float64, 1)] = argpartsort_2d_float64_axis1 + * argpartsort_dict[(3, NPY_float, 0)] = argpartsort_3d_float_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -41458,28 +41458,28 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "argpartsort.pyx":2217 - * argpartsort_dict[(2, NPY_int8, 0)] = argpartsort_2d_int8_axis0 - * argpartsort_dict[(2, NPY_int8, 1)] = argpartsort_2d_int8_axis1 - * argpartsort_dict[(2, NPY_int32, 0)] = argpartsort_2d_int32_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_int32, 1)] = argpartsort_2d_int32_axis1 - * argpartsort_dict[(2, NPY_int64, 0)] = argpartsort_2d_int64_axis0 + /* "argpartsort.pyx":2217 + * argpartsort_dict[(2, NPY_float32, 1)] = argpartsort_2d_float32_axis1 + * argpartsort_dict[(2, NPY_float64, 0)] = argpartsort_2d_float64_axis0 + * argpartsort_dict[(2, NPY_float64, 1)] = argpartsort_2d_float64_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_float, 0)] = argpartsort_3d_float_axis0 + * argpartsort_dict[(3, NPY_float, 1)] = argpartsort_3d_float_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -41488,118 +41488,118 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2218 - * argpartsort_dict[(2, NPY_int8, 1)] = argpartsort_2d_int8_axis1 - * argpartsort_dict[(2, NPY_int32, 0)] = argpartsort_2d_int32_axis0 - * argpartsort_dict[(2, NPY_int32, 1)] = argpartsort_2d_int32_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_int64, 0)] = argpartsort_2d_int64_axis0 - * argpartsort_dict[(2, NPY_int64, 1)] = argpartsort_2d_int64_axis1 + * argpartsort_dict[(2, NPY_float64, 0)] = argpartsort_2d_float64_axis0 + * argpartsort_dict[(2, NPY_float64, 1)] = argpartsort_2d_float64_axis1 + * argpartsort_dict[(3, NPY_float, 0)] = argpartsort_3d_float_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_float, 1)] = argpartsort_3d_float_axis1 + * argpartsort_dict[(3, NPY_float, 2)] = argpartsort_3d_float_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2219 - * argpartsort_dict[(2, NPY_int32, 0)] = argpartsort_2d_int32_axis0 - * argpartsort_dict[(2, NPY_int32, 1)] = argpartsort_2d_int32_axis1 - * argpartsort_dict[(2, NPY_int64, 0)] = argpartsort_2d_int64_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_int64, 1)] = argpartsort_2d_int64_axis1 - * argpartsort_dict[(3, NPY_int, 0)] = argpartsort_3d_int_axis0 + * argpartsort_dict[(2, NPY_float64, 1)] = argpartsort_2d_float64_axis1 + * argpartsort_dict[(3, NPY_float, 0)] = argpartsort_3d_float_axis0 + * argpartsort_dict[(3, NPY_float, 1)] = argpartsort_3d_float_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_float, 2)] = argpartsort_3d_float_axis2 + * argpartsort_dict[(3, NPY_float32, 0)] = argpartsort_3d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2220 - * argpartsort_dict[(2, NPY_int32, 1)] = argpartsort_2d_int32_axis1 - * argpartsort_dict[(2, NPY_int64, 0)] = argpartsort_2d_int64_axis0 - * argpartsort_dict[(2, NPY_int64, 1)] = argpartsort_2d_int64_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int, 0)] = argpartsort_3d_int_axis0 - * argpartsort_dict[(3, NPY_int, 1)] = argpartsort_3d_int_axis1 + * argpartsort_dict[(3, NPY_float, 0)] = argpartsort_3d_float_axis0 + * argpartsort_dict[(3, NPY_float, 1)] = argpartsort_3d_float_axis1 + * argpartsort_dict[(3, NPY_float, 2)] = argpartsort_3d_float_axis2 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_float32, 0)] = argpartsort_3d_float32_axis0 + * argpartsort_dict[(3, NPY_float32, 1)] = argpartsort_3d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2221 - * argpartsort_dict[(2, NPY_int64, 0)] = argpartsort_2d_int64_axis0 - * argpartsort_dict[(2, NPY_int64, 1)] = argpartsort_2d_int64_axis1 - * argpartsort_dict[(3, NPY_int, 0)] = argpartsort_3d_int_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int, 1)] = argpartsort_3d_int_axis1 - * argpartsort_dict[(3, NPY_int, 2)] = argpartsort_3d_int_axis2 + * argpartsort_dict[(3, NPY_float, 1)] = argpartsort_3d_float_axis1 + * argpartsort_dict[(3, NPY_float, 2)] = argpartsort_3d_float_axis2 + * argpartsort_dict[(3, NPY_float32, 0)] = argpartsort_3d_float32_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_float32, 1)] = argpartsort_3d_float32_axis1 + * argpartsort_dict[(3, NPY_float32, 2)] = argpartsort_3d_float32_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -41617,19 +41617,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2222 - * argpartsort_dict[(2, NPY_int64, 1)] = argpartsort_2d_int64_axis1 - * argpartsort_dict[(3, NPY_int, 0)] = argpartsort_3d_int_axis0 - * argpartsort_dict[(3, NPY_int, 1)] = argpartsort_3d_int_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int, 2)] = argpartsort_3d_int_axis2 - * argpartsort_dict[(3, NPY_int8, 0)] = argpartsort_3d_int8_axis0 + * argpartsort_dict[(3, NPY_float, 2)] = argpartsort_3d_float_axis2 + * argpartsort_dict[(3, NPY_float32, 0)] = argpartsort_3d_float32_axis0 + * argpartsort_dict[(3, NPY_float32, 1)] = argpartsort_3d_float32_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_float32, 2)] = argpartsort_3d_float32_axis2 + * argpartsort_dict[(3, NPY_float64, 0)] = argpartsort_3d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -41647,19 +41647,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2223 - * argpartsort_dict[(3, NPY_int, 0)] = argpartsort_3d_int_axis0 - * argpartsort_dict[(3, NPY_int, 1)] = argpartsort_3d_int_axis1 - * argpartsort_dict[(3, NPY_int, 2)] = argpartsort_3d_int_axis2 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int8, 0)] = argpartsort_3d_int8_axis0 - * argpartsort_dict[(3, NPY_int8, 1)] = argpartsort_3d_int8_axis1 + * argpartsort_dict[(3, NPY_float32, 0)] = argpartsort_3d_float32_axis0 + * argpartsort_dict[(3, NPY_float32, 1)] = argpartsort_3d_float32_axis1 + * argpartsort_dict[(3, NPY_float32, 2)] = argpartsort_3d_float32_axis2 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_float64, 0)] = argpartsort_3d_float64_axis0 + * argpartsort_dict[(3, NPY_float64, 1)] = argpartsort_3d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float32_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -41677,19 +41677,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2224 - * argpartsort_dict[(3, NPY_int, 1)] = argpartsort_3d_int_axis1 - * argpartsort_dict[(3, NPY_int, 2)] = argpartsort_3d_int_axis2 - * argpartsort_dict[(3, NPY_int8, 0)] = argpartsort_3d_int8_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int8, 1)] = argpartsort_3d_int8_axis1 - * argpartsort_dict[(3, NPY_int8, 2)] = argpartsort_3d_int8_axis2 + * argpartsort_dict[(3, NPY_float32, 1)] = argpartsort_3d_float32_axis1 + * argpartsort_dict[(3, NPY_float32, 2)] = argpartsort_3d_float32_axis2 + * argpartsort_dict[(3, NPY_float64, 0)] = argpartsort_3d_float64_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_float64, 1)] = argpartsort_3d_float64_axis1 + * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -41707,19 +41707,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2225 - * argpartsort_dict[(3, NPY_int, 2)] = argpartsort_3d_int_axis2 - * argpartsort_dict[(3, NPY_int8, 0)] = argpartsort_3d_int8_axis0 - * argpartsort_dict[(3, NPY_int8, 1)] = argpartsort_3d_int8_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int8, 2)] = argpartsort_3d_int8_axis2 - * argpartsort_dict[(3, NPY_int32, 0)] = argpartsort_3d_int32_axis0 + * argpartsort_dict[(3, NPY_float32, 2)] = argpartsort_3d_float32_axis2 + * argpartsort_dict[(3, NPY_float64, 0)] = argpartsort_3d_float64_axis0 + * argpartsort_dict[(3, NPY_float64, 1)] = argpartsort_3d_float64_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 + * argpartsort_dict[(1, NPY_int, 0)] = argpartsort_1d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -41737,19 +41737,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2226 - * argpartsort_dict[(3, NPY_int8, 0)] = argpartsort_3d_int8_axis0 - * argpartsort_dict[(3, NPY_int8, 1)] = argpartsort_3d_int8_axis1 - * argpartsort_dict[(3, NPY_int8, 2)] = argpartsort_3d_int8_axis2 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int32, 0)] = argpartsort_3d_int32_axis0 - * argpartsort_dict[(3, NPY_int32, 1)] = argpartsort_3d_int32_axis1 + * argpartsort_dict[(3, NPY_float64, 0)] = argpartsort_3d_float64_axis0 + * argpartsort_dict[(3, NPY_float64, 1)] = argpartsort_3d_float64_axis1 + * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 # <<<<<<<<<<<<<< + * argpartsort_dict[(1, NPY_int, 0)] = argpartsort_1d_int_axis0 + * argpartsort_dict[(1, NPY_int8, 0)] = argpartsort_1d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int8_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float64_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -41767,25 +41767,25 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2227 - * argpartsort_dict[(3, NPY_int8, 1)] = argpartsort_3d_int8_axis1 - * argpartsort_dict[(3, NPY_int8, 2)] = argpartsort_3d_int8_axis2 - * argpartsort_dict[(3, NPY_int32, 0)] = argpartsort_3d_int32_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int32, 1)] = argpartsort_3d_int32_axis1 - * argpartsort_dict[(3, NPY_int32, 2)] = argpartsort_3d_int32_axis2 + * argpartsort_dict[(3, NPY_float64, 1)] = argpartsort_3d_float64_axis1 + * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 + * argpartsort_dict[(1, NPY_int, 0)] = argpartsort_1d_int_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(1, NPY_int8, 0)] = argpartsort_1d_int8_axis0 + * argpartsort_dict[(1, NPY_int32, 0)] = argpartsort_1d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -41797,43 +41797,43 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2228 - * argpartsort_dict[(3, NPY_int8, 2)] = argpartsort_3d_int8_axis2 - * argpartsort_dict[(3, NPY_int32, 0)] = argpartsort_3d_int32_axis0 - * argpartsort_dict[(3, NPY_int32, 1)] = argpartsort_3d_int32_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int32, 2)] = argpartsort_3d_int32_axis2 - * argpartsort_dict[(3, NPY_int64, 0)] = argpartsort_3d_int64_axis0 + * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 + * argpartsort_dict[(1, NPY_int, 0)] = argpartsort_1d_int_axis0 + * argpartsort_dict[(1, NPY_int8, 0)] = argpartsort_1d_int8_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(1, NPY_int32, 0)] = argpartsort_1d_int32_axis0 + * argpartsort_dict[(1, NPY_int64, 0)] = argpartsort_1d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2229 - * argpartsort_dict[(3, NPY_int32, 0)] = argpartsort_3d_int32_axis0 - * argpartsort_dict[(3, NPY_int32, 1)] = argpartsort_3d_int32_axis1 - * argpartsort_dict[(3, NPY_int32, 2)] = argpartsort_3d_int32_axis2 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int64, 0)] = argpartsort_3d_int64_axis0 - * argpartsort_dict[(3, NPY_int64, 1)] = argpartsort_3d_int64_axis1 + * argpartsort_dict[(1, NPY_int, 0)] = argpartsort_1d_int_axis0 + * argpartsort_dict[(1, NPY_int8, 0)] = argpartsort_1d_int8_axis0 + * argpartsort_dict[(1, NPY_int32, 0)] = argpartsort_1d_int32_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(1, NPY_int64, 0)] = argpartsort_1d_int64_axis0 + * argpartsort_dict[(2, NPY_int, 0)] = argpartsort_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int32_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -41843,27 +41843,27 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2230 - * argpartsort_dict[(3, NPY_int32, 1)] = argpartsort_3d_int32_axis1 - * argpartsort_dict[(3, NPY_int32, 2)] = argpartsort_3d_int32_axis2 - * argpartsort_dict[(3, NPY_int64, 0)] = argpartsort_3d_int64_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int64, 1)] = argpartsort_3d_int64_axis1 - * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 + * argpartsort_dict[(1, NPY_int8, 0)] = argpartsort_1d_int8_axis0 + * argpartsort_dict[(1, NPY_int32, 0)] = argpartsort_1d_int32_axis0 + * argpartsort_dict[(1, NPY_int64, 0)] = argpartsort_1d_int64_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_int, 0)] = argpartsort_2d_int_axis0 + * argpartsort_dict[(2, NPY_int, 1)] = argpartsort_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -41873,9 +41873,9 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -41887,85 +41887,85 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2231 - * argpartsort_dict[(3, NPY_int32, 2)] = argpartsort_3d_int32_axis2 - * argpartsort_dict[(3, NPY_int64, 0)] = argpartsort_3d_int64_axis0 - * argpartsort_dict[(3, NPY_int64, 1)] = argpartsort_3d_int64_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 - * argpartsort_dict[(1, NPY_float, 0)] = argpartsort_1d_float_axis0 + * argpartsort_dict[(1, NPY_int32, 0)] = argpartsort_1d_int32_axis0 + * argpartsort_dict[(1, NPY_int64, 0)] = argpartsort_1d_int64_axis0 + * argpartsort_dict[(2, NPY_int, 0)] = argpartsort_2d_int_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_int, 1)] = argpartsort_2d_int_axis1 + * argpartsort_dict[(2, NPY_int8, 0)] = argpartsort_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2232 - * argpartsort_dict[(3, NPY_int64, 0)] = argpartsort_3d_int64_axis0 - * argpartsort_dict[(3, NPY_int64, 1)] = argpartsort_3d_int64_axis1 - * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 # <<<<<<<<<<<<<< - * argpartsort_dict[(1, NPY_float, 0)] = argpartsort_1d_float_axis0 - * argpartsort_dict[(1, NPY_float32, 0)] = argpartsort_1d_float32_axis0 + * argpartsort_dict[(1, NPY_int64, 0)] = argpartsort_1d_int64_axis0 + * argpartsort_dict[(2, NPY_int, 0)] = argpartsort_2d_int_axis0 + * argpartsort_dict[(2, NPY_int, 1)] = argpartsort_2d_int_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_int8, 0)] = argpartsort_2d_int8_axis0 + * argpartsort_dict[(2, NPY_int8, 1)] = argpartsort_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int64_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2233 - * argpartsort_dict[(3, NPY_int64, 1)] = argpartsort_3d_int64_axis1 - * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 - * argpartsort_dict[(1, NPY_float, 0)] = argpartsort_1d_float_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(1, NPY_float32, 0)] = argpartsort_1d_float32_axis0 - * argpartsort_dict[(1, NPY_float64, 0)] = argpartsort_1d_float64_axis0 + * argpartsort_dict[(2, NPY_int, 0)] = argpartsort_2d_int_axis0 + * argpartsort_dict[(2, NPY_int, 1)] = argpartsort_2d_int_axis1 + * argpartsort_dict[(2, NPY_int8, 0)] = argpartsort_2d_int8_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_int8, 1)] = argpartsort_2d_int8_axis1 + * argpartsort_dict[(2, NPY_int32, 0)] = argpartsort_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -41977,55 +41977,55 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2234 - * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 - * argpartsort_dict[(1, NPY_float, 0)] = argpartsort_1d_float_axis0 - * argpartsort_dict[(1, NPY_float32, 0)] = argpartsort_1d_float32_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(1, NPY_float64, 0)] = argpartsort_1d_float64_axis0 - * argpartsort_dict[(2, NPY_float, 0)] = argpartsort_2d_float_axis0 + * argpartsort_dict[(2, NPY_int, 1)] = argpartsort_2d_int_axis1 + * argpartsort_dict[(2, NPY_int8, 0)] = argpartsort_2d_int8_axis0 + * argpartsort_dict[(2, NPY_int8, 1)] = argpartsort_2d_int8_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_int32, 0)] = argpartsort_2d_int32_axis0 + * argpartsort_dict[(2, NPY_int32, 1)] = argpartsort_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2235 - * argpartsort_dict[(1, NPY_float, 0)] = argpartsort_1d_float_axis0 - * argpartsort_dict[(1, NPY_float32, 0)] = argpartsort_1d_float32_axis0 - * argpartsort_dict[(1, NPY_float64, 0)] = argpartsort_1d_float64_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_float, 0)] = argpartsort_2d_float_axis0 - * argpartsort_dict[(2, NPY_float, 1)] = argpartsort_2d_float_axis1 + * argpartsort_dict[(2, NPY_int8, 0)] = argpartsort_2d_int8_axis0 + * argpartsort_dict[(2, NPY_int8, 1)] = argpartsort_2d_int8_axis1 + * argpartsort_dict[(2, NPY_int32, 0)] = argpartsort_2d_int32_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_int32, 1)] = argpartsort_2d_int32_axis1 + * argpartsort_dict[(2, NPY_int64, 0)] = argpartsort_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -42037,19 +42037,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2236 - * argpartsort_dict[(1, NPY_float32, 0)] = argpartsort_1d_float32_axis0 - * argpartsort_dict[(1, NPY_float64, 0)] = argpartsort_1d_float64_axis0 - * argpartsort_dict[(2, NPY_float, 0)] = argpartsort_2d_float_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_float, 1)] = argpartsort_2d_float_axis1 - * argpartsort_dict[(2, NPY_float32, 0)] = argpartsort_2d_float32_axis0 + * argpartsort_dict[(2, NPY_int8, 1)] = argpartsort_2d_int8_axis1 + * argpartsort_dict[(2, NPY_int32, 0)] = argpartsort_2d_int32_axis0 + * argpartsort_dict[(2, NPY_int32, 1)] = argpartsort_2d_int32_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_int64, 0)] = argpartsort_2d_int64_axis0 + * argpartsort_dict[(2, NPY_int64, 1)] = argpartsort_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -42058,28 +42058,28 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2237 - * argpartsort_dict[(1, NPY_float64, 0)] = argpartsort_1d_float64_axis0 - * argpartsort_dict[(2, NPY_float, 0)] = argpartsort_2d_float_axis0 - * argpartsort_dict[(2, NPY_float, 1)] = argpartsort_2d_float_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_float32, 0)] = argpartsort_2d_float32_axis0 - * argpartsort_dict[(2, NPY_float32, 1)] = argpartsort_2d_float32_axis1 + * argpartsort_dict[(2, NPY_int32, 0)] = argpartsort_2d_int32_axis0 + * argpartsort_dict[(2, NPY_int32, 1)] = argpartsort_2d_int32_axis1 + * argpartsort_dict[(2, NPY_int64, 0)] = argpartsort_2d_int64_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(2, NPY_int64, 1)] = argpartsort_2d_int64_axis1 + * argpartsort_dict[(3, NPY_int, 0)] = argpartsort_3d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -42088,28 +42088,28 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2238 - * argpartsort_dict[(2, NPY_float, 0)] = argpartsort_2d_float_axis0 - * argpartsort_dict[(2, NPY_float, 1)] = argpartsort_2d_float_axis1 - * argpartsort_dict[(2, NPY_float32, 0)] = argpartsort_2d_float32_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_float32, 1)] = argpartsort_2d_float32_axis1 - * argpartsort_dict[(2, NPY_float64, 0)] = argpartsort_2d_float64_axis0 + * argpartsort_dict[(2, NPY_int32, 1)] = argpartsort_2d_int32_axis1 + * argpartsort_dict[(2, NPY_int64, 0)] = argpartsort_2d_int64_axis0 + * argpartsort_dict[(2, NPY_int64, 1)] = argpartsort_2d_int64_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int, 0)] = argpartsort_3d_int_axis0 + * argpartsort_dict[(3, NPY_int, 1)] = argpartsort_3d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -42118,118 +42118,118 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2239 - * argpartsort_dict[(2, NPY_float, 1)] = argpartsort_2d_float_axis1 - * argpartsort_dict[(2, NPY_float32, 0)] = argpartsort_2d_float32_axis0 - * argpartsort_dict[(2, NPY_float32, 1)] = argpartsort_2d_float32_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_float64, 0)] = argpartsort_2d_float64_axis0 - * argpartsort_dict[(2, NPY_float64, 1)] = argpartsort_2d_float64_axis1 + * argpartsort_dict[(2, NPY_int64, 0)] = argpartsort_2d_int64_axis0 + * argpartsort_dict[(2, NPY_int64, 1)] = argpartsort_2d_int64_axis1 + * argpartsort_dict[(3, NPY_int, 0)] = argpartsort_3d_int_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int, 1)] = argpartsort_3d_int_axis1 + * argpartsort_dict[(3, NPY_int, 2)] = argpartsort_3d_int_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2240 - * argpartsort_dict[(2, NPY_float32, 0)] = argpartsort_2d_float32_axis0 - * argpartsort_dict[(2, NPY_float32, 1)] = argpartsort_2d_float32_axis1 - * argpartsort_dict[(2, NPY_float64, 0)] = argpartsort_2d_float64_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(2, NPY_float64, 1)] = argpartsort_2d_float64_axis1 - * argpartsort_dict[(3, NPY_float, 0)] = argpartsort_3d_float_axis0 + * argpartsort_dict[(2, NPY_int64, 1)] = argpartsort_2d_int64_axis1 + * argpartsort_dict[(3, NPY_int, 0)] = argpartsort_3d_int_axis0 + * argpartsort_dict[(3, NPY_int, 1)] = argpartsort_3d_int_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int, 2)] = argpartsort_3d_int_axis2 + * argpartsort_dict[(3, NPY_int8, 0)] = argpartsort_3d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2241 - * argpartsort_dict[(2, NPY_float32, 1)] = argpartsort_2d_float32_axis1 - * argpartsort_dict[(2, NPY_float64, 0)] = argpartsort_2d_float64_axis0 - * argpartsort_dict[(2, NPY_float64, 1)] = argpartsort_2d_float64_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_float, 0)] = argpartsort_3d_float_axis0 - * argpartsort_dict[(3, NPY_float, 1)] = argpartsort_3d_float_axis1 + * argpartsort_dict[(3, NPY_int, 0)] = argpartsort_3d_int_axis0 + * argpartsort_dict[(3, NPY_int, 1)] = argpartsort_3d_int_axis1 + * argpartsort_dict[(3, NPY_int, 2)] = argpartsort_3d_int_axis2 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int8, 0)] = argpartsort_3d_int8_axis0 + * argpartsort_dict[(3, NPY_int8, 1)] = argpartsort_3d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_11argpartsort_argpartsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2242 - * argpartsort_dict[(2, NPY_float64, 0)] = argpartsort_2d_float64_axis0 - * argpartsort_dict[(2, NPY_float64, 1)] = argpartsort_2d_float64_axis1 - * argpartsort_dict[(3, NPY_float, 0)] = argpartsort_3d_float_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_float, 1)] = argpartsort_3d_float_axis1 - * argpartsort_dict[(3, NPY_float, 2)] = argpartsort_3d_float_axis2 + * argpartsort_dict[(3, NPY_int, 1)] = argpartsort_3d_int_axis1 + * argpartsort_dict[(3, NPY_int, 2)] = argpartsort_3d_int_axis2 + * argpartsort_dict[(3, NPY_int8, 0)] = argpartsort_3d_int8_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int8, 1)] = argpartsort_3d_int8_axis1 + * argpartsort_dict[(3, NPY_int8, 2)] = argpartsort_3d_int8_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -42247,19 +42247,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2243 - * argpartsort_dict[(2, NPY_float64, 1)] = argpartsort_2d_float64_axis1 - * argpartsort_dict[(3, NPY_float, 0)] = argpartsort_3d_float_axis0 - * argpartsort_dict[(3, NPY_float, 1)] = argpartsort_3d_float_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_float, 2)] = argpartsort_3d_float_axis2 - * argpartsort_dict[(3, NPY_float32, 0)] = argpartsort_3d_float32_axis0 + * argpartsort_dict[(3, NPY_int, 2)] = argpartsort_3d_int_axis2 + * argpartsort_dict[(3, NPY_int8, 0)] = argpartsort_3d_int8_axis0 + * argpartsort_dict[(3, NPY_int8, 1)] = argpartsort_3d_int8_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int8, 2)] = argpartsort_3d_int8_axis2 + * argpartsort_dict[(3, NPY_int32, 0)] = argpartsort_3d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -42277,19 +42277,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2244 - * argpartsort_dict[(3, NPY_float, 0)] = argpartsort_3d_float_axis0 - * argpartsort_dict[(3, NPY_float, 1)] = argpartsort_3d_float_axis1 - * argpartsort_dict[(3, NPY_float, 2)] = argpartsort_3d_float_axis2 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_float32, 0)] = argpartsort_3d_float32_axis0 - * argpartsort_dict[(3, NPY_float32, 1)] = argpartsort_3d_float32_axis1 + * argpartsort_dict[(3, NPY_int8, 0)] = argpartsort_3d_int8_axis0 + * argpartsort_dict[(3, NPY_int8, 1)] = argpartsort_3d_int8_axis1 + * argpartsort_dict[(3, NPY_int8, 2)] = argpartsort_3d_int8_axis2 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int32, 0)] = argpartsort_3d_int32_axis0 + * argpartsort_dict[(3, NPY_int32, 1)] = argpartsort_3d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int8_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -42307,19 +42307,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2245 - * argpartsort_dict[(3, NPY_float, 1)] = argpartsort_3d_float_axis1 - * argpartsort_dict[(3, NPY_float, 2)] = argpartsort_3d_float_axis2 - * argpartsort_dict[(3, NPY_float32, 0)] = argpartsort_3d_float32_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_float32, 1)] = argpartsort_3d_float32_axis1 - * argpartsort_dict[(3, NPY_float32, 2)] = argpartsort_3d_float32_axis2 + * argpartsort_dict[(3, NPY_int8, 1)] = argpartsort_3d_int8_axis1 + * argpartsort_dict[(3, NPY_int8, 2)] = argpartsort_3d_int8_axis2 + * argpartsort_dict[(3, NPY_int32, 0)] = argpartsort_3d_int32_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int32, 1)] = argpartsort_3d_int32_axis1 + * argpartsort_dict[(3, NPY_int32, 2)] = argpartsort_3d_int32_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -42337,19 +42337,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2246 - * argpartsort_dict[(3, NPY_float, 2)] = argpartsort_3d_float_axis2 - * argpartsort_dict[(3, NPY_float32, 0)] = argpartsort_3d_float32_axis0 - * argpartsort_dict[(3, NPY_float32, 1)] = argpartsort_3d_float32_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_float32, 2)] = argpartsort_3d_float32_axis2 - * argpartsort_dict[(3, NPY_float64, 0)] = argpartsort_3d_float64_axis0 + * argpartsort_dict[(3, NPY_int8, 2)] = argpartsort_3d_int8_axis2 + * argpartsort_dict[(3, NPY_int32, 0)] = argpartsort_3d_int32_axis0 + * argpartsort_dict[(3, NPY_int32, 1)] = argpartsort_3d_int32_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int32, 2)] = argpartsort_3d_int32_axis2 + * argpartsort_dict[(3, NPY_int64, 0)] = argpartsort_3d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -42367,19 +42367,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2247 - * argpartsort_dict[(3, NPY_float32, 0)] = argpartsort_3d_float32_axis0 - * argpartsort_dict[(3, NPY_float32, 1)] = argpartsort_3d_float32_axis1 - * argpartsort_dict[(3, NPY_float32, 2)] = argpartsort_3d_float32_axis2 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_float64, 0)] = argpartsort_3d_float64_axis0 - * argpartsort_dict[(3, NPY_float64, 1)] = argpartsort_3d_float64_axis1 + * argpartsort_dict[(3, NPY_int32, 0)] = argpartsort_3d_int32_axis0 + * argpartsort_dict[(3, NPY_int32, 1)] = argpartsort_3d_int32_axis1 + * argpartsort_dict[(3, NPY_int32, 2)] = argpartsort_3d_int32_axis2 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int64, 0)] = argpartsort_3d_int64_axis0 + * argpartsort_dict[(3, NPY_int64, 1)] = argpartsort_3d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float32_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int32_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -42397,19 +42397,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2248 - * argpartsort_dict[(3, NPY_float32, 1)] = argpartsort_3d_float32_axis1 - * argpartsort_dict[(3, NPY_float32, 2)] = argpartsort_3d_float32_axis2 - * argpartsort_dict[(3, NPY_float64, 0)] = argpartsort_3d_float64_axis0 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_float64, 1)] = argpartsort_3d_float64_axis1 - * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 + * argpartsort_dict[(3, NPY_int32, 1)] = argpartsort_3d_int32_axis1 + * argpartsort_dict[(3, NPY_int32, 2)] = argpartsort_3d_int32_axis2 + * argpartsort_dict[(3, NPY_int64, 0)] = argpartsort_3d_int64_axis0 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int64, 1)] = argpartsort_3d_int64_axis1 + * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -42427,19 +42427,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2249 - * argpartsort_dict[(3, NPY_float32, 2)] = argpartsort_3d_float32_axis2 - * argpartsort_dict[(3, NPY_float64, 0)] = argpartsort_3d_float64_axis0 - * argpartsort_dict[(3, NPY_float64, 1)] = argpartsort_3d_float64_axis1 # <<<<<<<<<<<<<< - * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 + * argpartsort_dict[(3, NPY_int32, 2)] = argpartsort_3d_int32_axis2 + * argpartsort_dict[(3, NPY_int64, 0)] = argpartsort_3d_int64_axis0 + * argpartsort_dict[(3, NPY_int64, 1)] = argpartsort_3d_int64_axis1 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -42457,19 +42457,19 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2250 - * argpartsort_dict[(3, NPY_float64, 0)] = argpartsort_3d_float64_axis0 - * argpartsort_dict[(3, NPY_float64, 1)] = argpartsort_3d_float64_axis1 - * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 # <<<<<<<<<<<<<< + * argpartsort_dict[(3, NPY_int64, 0)] = argpartsort_3d_int64_axis0 + * argpartsort_dict[(3, NPY_int64, 1)] = argpartsort_3d_int64_axis1 + * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 # <<<<<<<<<<<<<< * * def argpartsort_slow_axis0(arr, n): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_float64_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_argpartsort_3d_int64_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_11argpartsort_argpartsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -42487,7 +42487,7 @@ PyMODINIT_FUNC PyInit_argpartsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "argpartsort.pyx":2252 - * argpartsort_dict[(3, NPY_float64, 2)] = argpartsort_3d_float64_axis2 + * argpartsort_dict[(3, NPY_int64, 2)] = argpartsort_3d_int64_axis2 * * def argpartsort_slow_axis0(arr, n): # <<<<<<<<<<<<<< * "Unaccelerated (slow) argpartsort along axis 0." @@ -43461,7 +43461,7 @@ PyMODINIT_FUNC PyInit_argpartsort(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/bincount.c b/bottlechest/src/func/64bit/bincount.c index 0d483f4b2c..2372d40178 100644 --- a/bottlechest/src/func/64bit/bincount.c +++ b/bottlechest/src/func/64bit/bincount.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -809,7 +809,26 @@ static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \ PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \ const char* function_name); -static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name); +#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \ + __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) : \ + (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) : \ + __Pyx_GetItemInt_Generic(o, to_py_func(i)))) +#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \ + __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) : \ + (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \ + __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) : \ + (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, + int is_list, int wraparound, int boundscheck); #if CYTHON_COMPILING_IN_CPYTHON static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); @@ -817,6 +836,13 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg #define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) #endif +static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); +static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); + +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); + +static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name); + static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); @@ -858,11 +884,6 @@ static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); -static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); -static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); - -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); - static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, const char *name, int exact); @@ -872,27 +893,6 @@ static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info); #define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0) #define __Pyx_BufPtrStrided2d(type, buf, i0, s0, i1, s1) (type)((char*)buf + i0 * s0 + i1 * s1) -#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \ - __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) : \ - (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) : \ - __Pyx_GetItemInt_Generic(o, to_py_func(i)))) -#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \ - __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) : \ - (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \ - __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) : \ - (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, - int is_list, int wraparound, int boundscheck); - static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); typedef struct { @@ -949,10 +949,10 @@ static CYTHON_INLINE npy_int64 __Pyx_PyInt_As_npy_int64(PyObject *); static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); - static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); + static CYTHON_INLINE PyObject* __Pyx_PyInt_From_npy_int8(npy_int8 value); static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); @@ -1132,9 +1132,9 @@ int __pyx_module_is_main_bincount = 0; /* Implementation of 'bincount' */ static PyObject *__pyx_builtin_RuntimeError; +static PyObject *__pyx_builtin_ValueError; static PyObject *__pyx_builtin_KeyError; static PyObject *__pyx_builtin_TypeError; -static PyObject *__pyx_builtin_ValueError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_8bincount_bincount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_max_val, PyObject *__pyx_v_weights, PyObject *__pyx_v_mask); /* proto */ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, CYTHON_UNUSED PyObject *__pyx_v_max_val, PyObject *__pyx_v_weights, PyObject *__pyx_v_mask); /* proto */ @@ -1226,7 +1226,7 @@ static char __pyx_k_np[] = "np"; static char __pyx_k_ri[] = "ri"; static char __pyx_k_sp[] = "sp"; static char __pyx_k_wt[] = "wt"; -static char __pyx_k__63[] = "*"; +static char __pyx_k__65[] = "*"; static char __pyx_k_ain[] = "ain"; static char __pyx_k_arr[] = "arr"; static char __pyx_k_dim[] = "dim"; @@ -1341,17 +1341,18 @@ static char __pyx_k_bincount_1d_float32_axisNone[] = "bincount_1d_float32_axisNo static char __pyx_k_bincount_1d_float64_axisNone[] = "bincount_1d_float64_axisNone"; static char __pyx_k_bincount_2d_float32_axisNone[] = "bincount_2d_float32_axisNone"; static char __pyx_k_bincount_2d_float64_axisNone[] = "bincount_2d_float64_axisNone"; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/bincount.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; static char __pyx_k_value_i_is_greater_than_max_val[] = "value %i is greater than max_val (%i)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\bincount.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_invalid_length_of_the_weight_vec[] = "invalid length of the weight vector"; +static char __pyx_k_length_of_mask_does_not_match_th[] = "length of mask does not match the matrix size"; +static char __pyx_k_length_of_weights_does_not_match[] = "length of weights does not match the matrix size"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1363,8 +1364,9 @@ static PyObject *__pyx_n_s_PARTSORT_ERR_MSG; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; -static PyObject *__pyx_n_s__63; +static PyObject *__pyx_n_s__65; static PyObject *__pyx_n_s_a; static PyObject *__pyx_n_s_ai; static PyObject *__pyx_n_s_ain; @@ -1458,6 +1460,8 @@ static PyObject *__pyx_kp_s_invalid_length_of_the_weight_vec; static PyObject *__pyx_n_s_issparse; static PyObject *__pyx_n_s_itemsize; static PyObject *__pyx_n_s_key; +static PyObject *__pyx_kp_s_length_of_mask_does_not_match_th; +static PyObject *__pyx_kp_s_length_of_weights_does_not_match; static PyObject *__pyx_n_s_main; static PyObject *__pyx_n_s_mask; static PyObject *__pyx_n_s_max; @@ -1587,8 +1591,9 @@ static PyObject *__pyx_tuple__59; static PyObject *__pyx_tuple__60; static PyObject *__pyx_tuple__61; static PyObject *__pyx_tuple__62; +static PyObject *__pyx_tuple__63; static PyObject *__pyx_tuple__64; -static PyObject *__pyx_tuple__65; +static PyObject *__pyx_tuple__66; static PyObject *__pyx_tuple__67; static PyObject *__pyx_tuple__69; static PyObject *__pyx_tuple__71; @@ -1645,7 +1650,7 @@ static PyObject *__pyx_tuple__171; static PyObject *__pyx_tuple__173; static PyObject *__pyx_tuple__175; static PyObject *__pyx_tuple__177; -static PyObject *__pyx_codeobj__66; +static PyObject *__pyx_tuple__179; static PyObject *__pyx_codeobj__68; static PyObject *__pyx_codeobj__70; static PyObject *__pyx_codeobj__72; @@ -1702,6 +1707,7 @@ static PyObject *__pyx_codeobj__172; static PyObject *__pyx_codeobj__174; static PyObject *__pyx_codeobj__176; static PyObject *__pyx_codeobj__178; +static PyObject *__pyx_codeobj__180; /* "bincount.pyx":68 * "nanequal auto-generated from template" @@ -1801,14 +1807,17 @@ static PyObject *__pyx_pf_8bincount_bincount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_a = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; + int __pyx_t_1; + int __pyx_t_2; PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_4 = NULL; + Py_ssize_t __pyx_t_5; PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *(*__pyx_t_8)(PyObject *); + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *(*__pyx_t_11)(PyObject *); int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; @@ -1819,47 +1828,180 @@ static PyObject *__pyx_pf_8bincount_bincount(CYTHON_UNUSED PyObject *__pyx_self, /* "bincount.pyx":110 * * """ + * if mask is not None: # <<<<<<<<<<<<<< + * if arr.ndim == 2 and len(mask) != arr.shape[1] or arr.ndim == 1 and len(mask) != 1: + * raise ValueError('length of mask does not match the matrix size') + */ + __pyx_t_1 = (__pyx_v_mask != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "bincount.pyx":111 + * """ + * if mask is not None: + * if arr.ndim == 2 and len(mask) != arr.shape[1] or arr.ndim == 1 and len(mask) != 1: # <<<<<<<<<<<<<< + * raise ValueError('length of mask does not match the matrix size') + * if weights is not None and len(weights) != arr.shape[0]: + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_arr, __pyx_n_s_ndim); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_int_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (!__pyx_t_1) { + goto __pyx_L6_next_or; + } else { + goto __pyx_L7_next_and; + } + __pyx_L7_next_and:; + __pyx_t_5 = PyObject_Length(__pyx_v_mask); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_arr, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_t_6, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (!__pyx_t_1) { + goto __pyx_L6_next_or; + } else { + __pyx_t_2 = __pyx_t_1; + goto __pyx_L5_bool_binop_done; + } + __pyx_L6_next_or:; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_arr, __pyx_n_s_ndim); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = PyObject_RichCompare(__pyx_t_3, __pyx_int_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__pyx_t_1) { + goto __pyx_L8_next_and; + } else { + __pyx_t_2 = __pyx_t_1; + goto __pyx_L5_bool_binop_done; + } + __pyx_L8_next_and:; + __pyx_t_5 = PyObject_Length(__pyx_v_mask); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = ((__pyx_t_5 != 1) != 0); + __pyx_t_2 = __pyx_t_1; + __pyx_L5_bool_binop_done:; + if (__pyx_t_2) { + + /* "bincount.pyx":112 + * if mask is not None: + * if arr.ndim == 2 and len(mask) != arr.shape[1] or arr.ndim == 1 and len(mask) != 1: + * raise ValueError('length of mask does not match the matrix size') # <<<<<<<<<<<<<< + * if weights is not None and len(weights) != arr.shape[0]: + * raise ValueError('length of weights does not match the matrix size') + */ + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_Raise(__pyx_t_6, 0, 0, 0); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + goto __pyx_L3; + } + __pyx_L3:; + + /* "bincount.pyx":113 + * if arr.ndim == 2 and len(mask) != arr.shape[1] or arr.ndim == 1 and len(mask) != 1: + * raise ValueError('length of mask does not match the matrix size') + * if weights is not None and len(weights) != arr.shape[0]: # <<<<<<<<<<<<<< + * raise ValueError('length of weights does not match the matrix size') + * func, a, weights, mask = bincount_selector(arr, max_val, weights, mask) + */ + __pyx_t_1 = (__pyx_v_weights != Py_None); + __pyx_t_7 = (__pyx_t_1 != 0); + if (__pyx_t_7) { + goto __pyx_L11_next_and; + } else { + __pyx_t_2 = __pyx_t_7; + goto __pyx_L10_bool_binop_done; + } + __pyx_L11_next_and:; + __pyx_t_5 = PyObject_Length(__pyx_v_weights); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_arr, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyObject_RichCompare(__pyx_t_6, __pyx_t_4, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_2 = __pyx_t_7; + __pyx_L10_bool_binop_done:; + if (__pyx_t_2) { + + /* "bincount.pyx":114 + * raise ValueError('length of mask does not match the matrix size') + * if weights is not None and len(weights) != arr.shape[0]: + * raise ValueError('length of weights does not match the matrix size') # <<<<<<<<<<<<<< + * func, a, weights, mask = bincount_selector(arr, max_val, weights, mask) + * return func(a, max_val, weights, mask) + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + + /* "bincount.pyx":115 + * if weights is not None and len(weights) != arr.shape[0]: + * raise ValueError('length of weights does not match the matrix size') * func, a, weights, mask = bincount_selector(arr, max_val, weights, mask) # <<<<<<<<<<<<<< * return func(a, max_val, weights, mask) * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_selector); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_selector); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = NULL; + __pyx_t_5 = 0; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_5 = 1; } } - __pyx_t_5 = PyTuple_New(4+__pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_3) { - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + __pyx_t_8 = PyTuple_New(4+__pyx_t_5); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + if (__pyx_t_6) { + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_v_arr); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_arr); + PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_5, __pyx_v_arr); __Pyx_GIVEREF(__pyx_v_arr); __Pyx_INCREF(__pyx_v_max_val); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_max_val); + PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_5, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); __Pyx_INCREF(__pyx_v_weights); - PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_v_weights); + PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_5, __pyx_v_weights); __Pyx_GIVEREF(__pyx_v_weights); __Pyx_INCREF(__pyx_v_mask); - PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_4, __pyx_v_mask); + PyTuple_SET_ITEM(__pyx_t_8, 3+__pyx_t_5, __pyx_v_mask); __Pyx_GIVEREF(__pyx_v_mask); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { - PyObject* sequence = __pyx_t_1; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { + PyObject* sequence = __pyx_t_3; #if CYTHON_COMPILING_IN_CPYTHON Py_ssize_t size = Py_SIZE(sequence); #else @@ -1868,70 +2010,70 @@ static PyObject *__pyx_pf_8bincount_bincount(CYTHON_UNUSED PyObject *__pyx_self, if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } #if CYTHON_COMPILING_IN_CPYTHON if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); - __pyx_t_3 = PyTuple_GET_ITEM(sequence, 2); - __pyx_t_6 = PyTuple_GET_ITEM(sequence, 3); + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_6 = PyTuple_GET_ITEM(sequence, 2); + __pyx_t_9 = PyTuple_GET_ITEM(sequence, 3); } else { - __pyx_t_2 = PyList_GET_ITEM(sequence, 0); - __pyx_t_5 = PyList_GET_ITEM(sequence, 1); - __pyx_t_3 = PyList_GET_ITEM(sequence, 2); - __pyx_t_6 = PyList_GET_ITEM(sequence, 3); - } - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); + __pyx_t_4 = PyList_GET_ITEM(sequence, 0); + __pyx_t_8 = PyList_GET_ITEM(sequence, 1); + __pyx_t_6 = PyList_GET_ITEM(sequence, 2); + __pyx_t_9 = PyList_GET_ITEM(sequence, 3); + } + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(__pyx_t_9); #else { Py_ssize_t i; - PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_5,&__pyx_t_3,&__pyx_t_6}; + PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_8,&__pyx_t_6,&__pyx_t_9}; for (i=0; i < 4; i++) { - PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; - PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_5,&__pyx_t_3,&__pyx_t_6}; - __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext; + PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_8,&__pyx_t_6,&__pyx_t_9}; + __pyx_t_10 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_11 = Py_TYPE(__pyx_t_10)->tp_iternext; for (index=0; index < 4; index++) { - PyObject* item = __pyx_t_8(__pyx_t_7); if (unlikely(!item)) goto __pyx_L3_unpacking_failed; + PyObject* item = __pyx_t_11(__pyx_t_10); if (unlikely(!item)) goto __pyx_L12_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } - if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_8 = NULL; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - goto __pyx_L4_unpacking_done; - __pyx_L3_unpacking_failed:; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_8 = NULL; + if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = NULL; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L13_unpacking_done; + __pyx_L12_unpacking_failed:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_11 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_L4_unpacking_done:; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_L13_unpacking_done:; } - __pyx_v_func = __pyx_t_2; - __pyx_t_2 = 0; - __pyx_v_a = __pyx_t_5; - __pyx_t_5 = 0; - __Pyx_DECREF_SET(__pyx_v_weights, __pyx_t_3); - __pyx_t_3 = 0; - __Pyx_DECREF_SET(__pyx_v_mask, __pyx_t_6); + __pyx_v_func = __pyx_t_4; + __pyx_t_4 = 0; + __pyx_v_a = __pyx_t_8; + __pyx_t_8 = 0; + __Pyx_DECREF_SET(__pyx_v_weights, __pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF_SET(__pyx_v_mask, __pyx_t_9); + __pyx_t_9 = 0; - /* "bincount.pyx":111 - * """ + /* "bincount.pyx":116 + * raise ValueError('length of weights does not match the matrix size') * func, a, weights, mask = bincount_selector(arr, max_val, weights, mask) * return func(a, max_val, weights, mask) # <<<<<<<<<<<<<< * @@ -1939,41 +2081,41 @@ static PyObject *__pyx_pf_8bincount_bincount(CYTHON_UNUSED PyObject *__pyx_self, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_func); - __pyx_t_6 = __pyx_v_func; __pyx_t_3 = NULL; - __pyx_t_4 = 0; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); + __pyx_t_9 = __pyx_v_func; __pyx_t_6 = NULL; + __pyx_t_5 = 0; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_4 = 1; + __Pyx_DECREF_SET(__pyx_t_9, function); + __pyx_t_5 = 1; } } - __pyx_t_5 = PyTuple_New(4+__pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_3) { - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + __pyx_t_8 = PyTuple_New(4+__pyx_t_5); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + if (__pyx_t_6) { + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_v_a); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_a); + PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_5, __pyx_v_a); __Pyx_GIVEREF(__pyx_v_a); __Pyx_INCREF(__pyx_v_max_val); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_max_val); + PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_5, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); __Pyx_INCREF(__pyx_v_weights); - PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_v_weights); + PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_5, __pyx_v_weights); __Pyx_GIVEREF(__pyx_v_weights); __Pyx_INCREF(__pyx_v_mask); - PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_4, __pyx_v_mask); + PyTuple_SET_ITEM(__pyx_t_8, 3+__pyx_t_5, __pyx_v_mask); __Pyx_GIVEREF(__pyx_v_mask); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; /* "bincount.pyx":68 @@ -1986,12 +2128,12 @@ static PyObject *__pyx_pf_8bincount_bincount(CYTHON_UNUSED PyObject *__pyx_self, /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); __Pyx_AddTraceback("bincount.bincount", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; @@ -2004,7 +2146,7 @@ static PyObject *__pyx_pf_8bincount_bincount(CYTHON_UNUSED PyObject *__pyx_self, return __pyx_r; } -/* "bincount.pyx":116 +/* "bincount.pyx":121 * * * def bincount_selector(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -2049,21 +2191,21 @@ static PyObject *__pyx_pw_8bincount_3bincount_selector(PyObject *__pyx_self, PyO case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_selector", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_selector", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_selector", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_selector", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_selector", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_selector", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_selector") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_selector") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -2080,7 +2222,7 @@ static PyObject *__pyx_pw_8bincount_3bincount_selector(PyObject *__pyx_self, PyO } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_selector", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_selector", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_selector", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -2122,16 +2264,16 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __Pyx_INCREF(__pyx_v_weights); __Pyx_INCREF(__pyx_v_mask); - /* "bincount.pyx":120 + /* "bincount.pyx":125 * cdef tuple key * * if sp.issparse(arr): # <<<<<<<<<<<<<< * a = arr * dtype = PyArray_TYPE(arr.data) */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_sp); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_sp); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_issparse); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_issparse); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -2145,25 +2287,25 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ } } if (!__pyx_t_2) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_arr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_arr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); } else { - __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_arr); __Pyx_GIVEREF(__pyx_v_arr); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { - /* "bincount.pyx":121 + /* "bincount.pyx":126 * * if sp.issparse(arr): * a = arr # <<<<<<<<<<<<<< @@ -2173,20 +2315,20 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __Pyx_INCREF(__pyx_v_arr); __pyx_v_a = __pyx_v_arr; - /* "bincount.pyx":122 + /* "bincount.pyx":127 * if sp.issparse(arr): * a = arr * dtype = PyArray_TYPE(arr.data) # <<<<<<<<<<<<<< * ndim = 0 * key = (0, dtype, None) */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arr, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arr, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_dtype = PyArray_TYPE(((PyArrayObject *)__pyx_t_1)); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":123 + /* "bincount.pyx":128 * a = arr * dtype = PyArray_TYPE(arr.data) * ndim = 0 # <<<<<<<<<<<<<< @@ -2195,16 +2337,16 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ */ __pyx_v_ndim = 0; - /* "bincount.pyx":124 + /* "bincount.pyx":129 * dtype = PyArray_TYPE(arr.data) * ndim = 0 * key = (0, dtype, None) # <<<<<<<<<<<<<< * else: * if type(arr) is np.ndarray: */ - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); @@ -2221,7 +2363,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ } /*else*/ { - /* "bincount.pyx":126 + /* "bincount.pyx":131 * key = (0, dtype, None) * else: * if type(arr) is np.ndarray: # <<<<<<<<<<<<<< @@ -2232,7 +2374,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __pyx_t_6 = (__pyx_t_5 != 0); if (__pyx_t_6) { - /* "bincount.pyx":127 + /* "bincount.pyx":132 * else: * if type(arr) is np.ndarray: * a = arr # <<<<<<<<<<<<<< @@ -2245,27 +2387,27 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ } /*else*/ { - /* "bincount.pyx":129 + /* "bincount.pyx":134 * a = arr * else: * a = np.array(arr, copy=False) # <<<<<<<<<<<<<< * dtype = PyArray_TYPE(arr) * ndim = PyArray_NDIM(a) */ - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_arr); __Pyx_GIVEREF(__pyx_v_arr); - __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_copy, Py_False) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_copy, Py_False) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -2275,38 +2417,38 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ } __pyx_L4:; - /* "bincount.pyx":130 + /* "bincount.pyx":135 * else: * a = np.array(arr, copy=False) * dtype = PyArray_TYPE(arr) # <<<<<<<<<<<<<< * ndim = PyArray_NDIM(a) * key = (ndim, dtype, None) */ - if (!(likely(((__pyx_v_arr) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_arr, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_v_arr) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_arr, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_dtype = PyArray_TYPE(((PyArrayObject *)__pyx_v_arr)); - /* "bincount.pyx":131 + /* "bincount.pyx":136 * a = np.array(arr, copy=False) * dtype = PyArray_TYPE(arr) * ndim = PyArray_NDIM(a) # <<<<<<<<<<<<<< * key = (ndim, dtype, None) * */ - if (!(likely(((__pyx_v_a) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_a, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_v_a) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_a, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_ndim = PyArray_NDIM(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":132 + /* "bincount.pyx":137 * dtype = PyArray_TYPE(arr) * ndim = PyArray_NDIM(a) * key = (ndim, dtype, None) # <<<<<<<<<<<<<< * * if weights is not None and ( */ - __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v_ndim); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v_ndim); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); @@ -2322,7 +2464,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ } __pyx_L3:; - /* "bincount.pyx":134 + /* "bincount.pyx":139 * key = (ndim, dtype, None) * * if weights is not None and ( # <<<<<<<<<<<<<< @@ -2339,7 +2481,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ } __pyx_L7_next_and:; - /* "bincount.pyx":135 + /* "bincount.pyx":140 * * if weights is not None and ( * type(weights) is not np.ndarray or # <<<<<<<<<<<<<< @@ -2356,18 +2498,18 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ } __pyx_L8_next_or:; - /* "bincount.pyx":136 + /* "bincount.pyx":141 * if weights is not None and ( * type(weights) is not np.ndarray or * weights.dtype is not np.float): # <<<<<<<<<<<<<< * weights = np.array(weights, copy=False, dtype=np.float) * if type(mask) is np.ndarray: */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_weights, __pyx_n_s_dtype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_weights, __pyx_n_s_dtype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_5 = (__pyx_t_3 != __pyx_t_2); @@ -2378,34 +2520,34 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __pyx_L6_bool_binop_done:; if (__pyx_t_6) { - /* "bincount.pyx":137 + /* "bincount.pyx":142 * type(weights) is not np.ndarray or * weights.dtype is not np.float): * weights = np.array(weights, copy=False, dtype=np.float) # <<<<<<<<<<<<<< * if type(mask) is np.ndarray: * if mask.dtype is not np.int8: */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_weights); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_weights); __Pyx_GIVEREF(__pyx_v_weights); - __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_copy, Py_False) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_copy, Py_False) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -2416,7 +2558,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ } __pyx_L5:; - /* "bincount.pyx":138 + /* "bincount.pyx":143 * weights.dtype is not np.float): * weights = np.array(weights, copy=False, dtype=np.float) * if type(mask) is np.ndarray: # <<<<<<<<<<<<<< @@ -2427,18 +2569,18 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __pyx_t_7 = (__pyx_t_6 != 0); if (__pyx_t_7) { - /* "bincount.pyx":139 + /* "bincount.pyx":144 * weights = np.array(weights, copy=False, dtype=np.float) * if type(mask) is np.ndarray: * if mask.dtype is not np.int8: # <<<<<<<<<<<<<< * if mask.dtype.itemsize == 1: * mask = np.frombuffer(mask, dtype=np.int8) */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_mask, __pyx_n_s_dtype); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_mask, __pyx_n_s_dtype); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_int8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_int8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_7 = (__pyx_t_8 != __pyx_t_2); @@ -2447,51 +2589,51 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __pyx_t_6 = (__pyx_t_7 != 0); if (__pyx_t_6) { - /* "bincount.pyx":140 + /* "bincount.pyx":145 * if type(mask) is np.ndarray: * if mask.dtype is not np.int8: * if mask.dtype.itemsize == 1: # <<<<<<<<<<<<<< * mask = np.frombuffer(mask, dtype=np.int8) * else: */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_mask, __pyx_n_s_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_mask, __pyx_n_s_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_itemsize); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_itemsize); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_RichCompare(__pyx_t_8, __pyx_int_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyObject_RichCompare(__pyx_t_8, __pyx_int_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_6) { - /* "bincount.pyx":141 + /* "bincount.pyx":146 * if mask.dtype is not np.int8: * if mask.dtype.itemsize == 1: * mask = np.frombuffer(mask, dtype=np.int8) # <<<<<<<<<<<<<< * else: * mask = np.array(mask, copy=False, dtype=np.int8) */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_mask); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_mask); __Pyx_GIVEREF(__pyx_v_mask); - __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_int8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_int8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -2502,34 +2644,34 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ } /*else*/ { - /* "bincount.pyx":143 + /* "bincount.pyx":148 * mask = np.frombuffer(mask, dtype=np.int8) * else: * mask = np.array(mask, copy=False, dtype=np.int8) # <<<<<<<<<<<<<< * elif mask is not None: * mask = np.array(mask, copy=False, dtype=np.int8) */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_mask); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_mask); __Pyx_GIVEREF(__pyx_v_mask); - __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_copy, Py_False) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_copy, Py_False) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -2544,7 +2686,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ goto __pyx_L9; } - /* "bincount.pyx":144 + /* "bincount.pyx":149 * else: * mask = np.array(mask, copy=False, dtype=np.int8) * elif mask is not None: # <<<<<<<<<<<<<< @@ -2555,34 +2697,34 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __pyx_t_7 = (__pyx_t_6 != 0); if (__pyx_t_7) { - /* "bincount.pyx":145 + /* "bincount.pyx":150 * mask = np.array(mask, copy=False, dtype=np.int8) * elif mask is not None: * mask = np.array(mask, copy=False, dtype=np.int8) # <<<<<<<<<<<<<< * * try: */ - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_mask); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_mask); __Pyx_GIVEREF(__pyx_v_mask); - __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_copy, Py_False) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_copy, Py_False) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_int8); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_int8); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -2593,7 +2735,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ } __pyx_L9:; - /* "bincount.pyx":147 + /* "bincount.pyx":152 * mask = np.array(mask, copy=False, dtype=np.int8) * * try: # <<<<<<<<<<<<<< @@ -2607,7 +2749,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __Pyx_XGOTREF(__pyx_t_11); /*try:*/ { - /* "bincount.pyx":148 + /* "bincount.pyx":153 * * try: * func = bincount_dict[key] # <<<<<<<<<<<<<< @@ -2616,14 +2758,14 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ */ if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L12_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L12_error;} } - __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_8bincount_bincount_dict, __pyx_v_key); if (unlikely(__pyx_t_8 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L12_error;}; + __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_8bincount_bincount_dict, __pyx_v_key); if (unlikely(__pyx_t_8 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L12_error;}; __Pyx_GOTREF(__pyx_t_8); __pyx_v_func = __pyx_t_8; __pyx_t_8 = 0; - /* "bincount.pyx":149 + /* "bincount.pyx":154 * try: * func = bincount_dict[key] * return func, a, weights, mask # <<<<<<<<<<<<<< @@ -2631,7 +2773,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ * pass */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = PyTuple_New(4); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L12_error;} + __pyx_t_8 = PyTuple_New(4); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_v_func); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_func); @@ -2656,7 +2798,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "bincount.pyx":150 + /* "bincount.pyx":155 * func = bincount_dict[key] * return func, a, weights, mask * except KeyError: # <<<<<<<<<<<<<< @@ -2688,7 +2830,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); } - /* "bincount.pyx":153 + /* "bincount.pyx":158 * pass * * try: # <<<<<<<<<<<<<< @@ -2702,7 +2844,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __Pyx_XGOTREF(__pyx_t_9); /*try:*/ { - /* "bincount.pyx":154 + /* "bincount.pyx":159 * * try: * func = bincount_slow_dict[None] # <<<<<<<<<<<<<< @@ -2711,9 +2853,9 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ */ if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L20_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L20_error;} } - __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_8bincount_bincount_slow_dict, Py_None); if (unlikely(__pyx_t_8 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L20_error;}; + __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_8bincount_bincount_slow_dict, Py_None); if (unlikely(__pyx_t_8 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L20_error;}; __Pyx_GOTREF(__pyx_t_8); __Pyx_XDECREF_SET(__pyx_v_func, __pyx_t_8); __pyx_t_8 = 0; @@ -2729,7 +2871,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "bincount.pyx":155 + /* "bincount.pyx":160 * try: * func = bincount_slow_dict[None] * except KeyError: # <<<<<<<<<<<<<< @@ -2739,39 +2881,39 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __pyx_t_12 = PyErr_ExceptionMatches(__pyx_builtin_KeyError); if (__pyx_t_12) { __Pyx_AddTraceback("bincount.bincount_selector", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_1, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_1, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_3); - /* "bincount.pyx":156 + /* "bincount.pyx":161 * func = bincount_slow_dict[None] * except KeyError: * tup = (str(ndim), str(a.dtype)) # <<<<<<<<<<<<<< * raise TypeError("Unsupported ndim/dtype (%s/%s)." % tup) * return func, a, weights, mask */ - __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v_ndim); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v_ndim); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_13, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_13, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); @@ -2782,26 +2924,26 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __pyx_v_tup = ((PyObject*)__pyx_t_13); __pyx_t_13 = 0; - /* "bincount.pyx":157 + /* "bincount.pyx":162 * except KeyError: * tup = (str(ndim), str(a.dtype)) * raise TypeError("Unsupported ndim/dtype (%s/%s)." % tup) # <<<<<<<<<<<<<< * return func, a, weights, mask * */ - __pyx_t_13 = __Pyx_PyString_Format(__pyx_kp_s_Unsupported_ndim_dtype_s_s, __pyx_v_tup); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + __pyx_t_13 = __Pyx_PyString_Format(__pyx_kp_s_Unsupported_ndim_dtype_s_s, __pyx_v_tup); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_13, 0, 0, 0); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L22_except_error;} } goto __pyx_L22_except_error; __pyx_L22_except_error:; @@ -2813,7 +2955,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __pyx_L27_try_end:; } - /* "bincount.pyx":158 + /* "bincount.pyx":163 * tup = (str(ndim), str(a.dtype)) * raise TypeError("Unsupported ndim/dtype (%s/%s)." % tup) * return func, a, weights, mask # <<<<<<<<<<<<<< @@ -2821,7 +2963,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_func); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_func); @@ -2839,7 +2981,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ __pyx_t_3 = 0; goto __pyx_L0; - /* "bincount.pyx":116 + /* "bincount.pyx":121 * * * def bincount_selector(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -2869,7 +3011,7 @@ static PyObject *__pyx_pf_8bincount_2bincount_selector(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "bincount.pyx":162 +/* "bincount.pyx":167 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -2896,7 +3038,7 @@ static PyObject *__pyx_pw_8bincount_5bincount_1d_int_axisNone(PyObject *__pyx_se static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":164 + /* "bincount.pyx":169 * def bincount_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -2905,7 +3047,7 @@ static PyObject *__pyx_pw_8bincount_5bincount_1d_int_axisNone(PyObject *__pyx_se */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":165 + /* "bincount.pyx":170 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -2932,7 +3074,7 @@ static PyObject *__pyx_pw_8bincount_5bincount_1d_int_axisNone(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_1d_int_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_int_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -2946,7 +3088,7 @@ static PyObject *__pyx_pw_8bincount_5bincount_1d_int_axisNone(PyObject *__pyx_se } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -2959,24 +3101,24 @@ static PyObject *__pyx_pw_8bincount_5bincount_1d_int_axisNone(PyObject *__pyx_se } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_1d_int_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_int_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_4bincount_1d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":162 + /* "bincount.pyx":167 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -3048,21 +3190,21 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":170 + /* "bincount.pyx":175 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3071,7 +3213,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":171 + /* "bincount.pyx":176 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3080,7 +3222,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":172 + /* "bincount.pyx":177 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: # <<<<<<<<<<<<<< @@ -3096,27 +3238,27 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_v_n0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":173 + /* "bincount.pyx":178 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":176 + /* "bincount.pyx":181 * * cdef: * np.npy_intp *dims = [max_val+1] # <<<<<<<<<<<<<< @@ -3126,22 +3268,22 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_t_6[0] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_6; - /* "bincount.pyx":177 + /* "bincount.pyx":182 * cdef: * np.npy_intp *dims = [max_val+1] * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ai * if mask is not None and not mask[0]: */ - __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_7 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3149,7 +3291,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_v_y = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":179 + /* "bincount.pyx":184 * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) * int ai * if mask is not None and not mask[0]: # <<<<<<<<<<<<<< @@ -3171,7 +3313,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_L7_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":180 + /* "bincount.pyx":185 * int ai * if mask is not None and not mask[0]: * return y, 0.0 # <<<<<<<<<<<<<< @@ -3179,7 +3321,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb * for i0 in range(n0): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_y)); @@ -3192,7 +3334,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "bincount.pyx":181 + /* "bincount.pyx":186 * if mask is not None and not mask[0]: * return y, 0.0 * if w is None: # <<<<<<<<<<<<<< @@ -3203,7 +3345,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "bincount.pyx":182 + /* "bincount.pyx":187 * return y, 0.0 * if w is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -3214,7 +3356,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_4; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "bincount.pyx":183 + /* "bincount.pyx":188 * if w is None: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -3224,7 +3366,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_t_10 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":184 + /* "bincount.pyx":189 * for i0 in range(n0): * ai = a[i0] * if ai < 0: # <<<<<<<<<<<<<< @@ -3234,21 +3376,21 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_t_2 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_2) { - /* "bincount.pyx":185 + /* "bincount.pyx":190 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":186 + /* "bincount.pyx":191 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -3258,18 +3400,18 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_t_2 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":188 + /* "bincount.pyx":193 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[ai] += 1 * else: */ - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -3277,31 +3419,31 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_11); __pyx_t_5 = 0; __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - /* "bincount.pyx":187 + /* "bincount.pyx":192 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[ai] += 1 */ - __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_Raise(__pyx_t_11, 0, 0, 0); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":189 + /* "bincount.pyx":194 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[ai] += 1 # <<<<<<<<<<<<<< @@ -3315,7 +3457,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb } /*else*/ { - /* "bincount.pyx":191 + /* "bincount.pyx":196 * y[ai] += 1 * else: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -3326,7 +3468,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_4; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "bincount.pyx":192 + /* "bincount.pyx":197 * else: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -3336,7 +3478,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_t_14 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":193 + /* "bincount.pyx":198 * for i0 in range(n0): * ai = a[i0] * if ai < 0: # <<<<<<<<<<<<<< @@ -3346,21 +3488,21 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_t_2 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_2) { - /* "bincount.pyx":194 + /* "bincount.pyx":199 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_Raise(__pyx_t_11, 0, 0, 0); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":195 + /* "bincount.pyx":200 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -3370,18 +3512,18 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_t_2 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":197 + /* "bincount.pyx":202 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[ai] += w[i0] * return y, 0.0 */ - __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); @@ -3389,31 +3531,31 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_12); __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":196 + /* "bincount.pyx":201 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[ai] += w[i0] */ - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_12, 0, 0, 0); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":198 + /* "bincount.pyx":203 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[ai] += w[i0] # <<<<<<<<<<<<<< @@ -3427,7 +3569,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb } __pyx_L9:; - /* "bincount.pyx":199 + /* "bincount.pyx":204 * % (ai, max_val)) * y[ai] += w[i0] * return y, 0.0 # <<<<<<<<<<<<<< @@ -3435,7 +3577,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_12, 0, ((PyObject *)__pyx_v_y)); @@ -3447,7 +3589,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb __pyx_t_12 = 0; goto __pyx_L0; - /* "bincount.pyx":162 + /* "bincount.pyx":167 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -3482,7 +3624,7 @@ static PyObject *__pyx_pf_8bincount_4bincount_1d_int_axisNone(CYTHON_UNUSED PyOb return __pyx_r; } -/* "bincount.pyx":203 +/* "bincount.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -3509,7 +3651,7 @@ static PyObject *__pyx_pw_8bincount_7bincount_1d_int8_axisNone(PyObject *__pyx_s static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":205 + /* "bincount.pyx":210 * def bincount_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -3518,7 +3660,7 @@ static PyObject *__pyx_pw_8bincount_7bincount_1d_int8_axisNone(PyObject *__pyx_s */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":206 + /* "bincount.pyx":211 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -3545,7 +3687,7 @@ static PyObject *__pyx_pw_8bincount_7bincount_1d_int8_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_1d_int8_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_int8_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -3559,7 +3701,7 @@ static PyObject *__pyx_pw_8bincount_7bincount_1d_int8_axisNone(PyObject *__pyx_s } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -3572,24 +3714,24 @@ static PyObject *__pyx_pw_8bincount_7bincount_1d_int8_axisNone(PyObject *__pyx_s } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_1d_int8_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_int8_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_6bincount_1d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":203 + /* "bincount.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -3661,21 +3803,21 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":211 + /* "bincount.pyx":216 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3684,7 +3826,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":212 + /* "bincount.pyx":217 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3693,7 +3835,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":213 + /* "bincount.pyx":218 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: # <<<<<<<<<<<<<< @@ -3709,27 +3851,27 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_v_n0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":214 + /* "bincount.pyx":219 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":217 + /* "bincount.pyx":222 * * cdef: * np.npy_intp *dims = [max_val+1] # <<<<<<<<<<<<<< @@ -3739,22 +3881,22 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_t_6[0] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_6; - /* "bincount.pyx":218 + /* "bincount.pyx":223 * cdef: * np.npy_intp *dims = [max_val+1] * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ai * if mask is not None and not mask[0]: */ - __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_7 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3762,7 +3904,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_v_y = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":220 + /* "bincount.pyx":225 * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) * int ai * if mask is not None and not mask[0]: # <<<<<<<<<<<<<< @@ -3784,7 +3926,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_L7_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":221 + /* "bincount.pyx":226 * int ai * if mask is not None and not mask[0]: * return y, 0.0 # <<<<<<<<<<<<<< @@ -3792,7 +3934,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO * for i0 in range(n0): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_y)); @@ -3805,7 +3947,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO goto __pyx_L0; } - /* "bincount.pyx":222 + /* "bincount.pyx":227 * if mask is not None and not mask[0]: * return y, 0.0 * if w is None: # <<<<<<<<<<<<<< @@ -3816,7 +3958,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "bincount.pyx":223 + /* "bincount.pyx":228 * return y, 0.0 * if w is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -3827,7 +3969,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_4; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "bincount.pyx":224 + /* "bincount.pyx":229 * if w is None: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -3837,7 +3979,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_t_10 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":225 + /* "bincount.pyx":230 * for i0 in range(n0): * ai = a[i0] * if ai < 0: # <<<<<<<<<<<<<< @@ -3847,21 +3989,21 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_t_2 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_2) { - /* "bincount.pyx":226 + /* "bincount.pyx":231 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":227 + /* "bincount.pyx":232 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -3871,18 +4013,18 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_t_2 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":229 + /* "bincount.pyx":234 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[ai] += 1 * else: */ - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -3890,31 +4032,31 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __Pyx_GIVEREF(__pyx_t_11); __pyx_t_5 = 0; __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - /* "bincount.pyx":228 + /* "bincount.pyx":233 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[ai] += 1 */ - __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_Raise(__pyx_t_11, 0, 0, 0); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":230 + /* "bincount.pyx":235 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[ai] += 1 # <<<<<<<<<<<<<< @@ -3928,7 +4070,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO } /*else*/ { - /* "bincount.pyx":232 + /* "bincount.pyx":237 * y[ai] += 1 * else: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -3939,7 +4081,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_4; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "bincount.pyx":233 + /* "bincount.pyx":238 * else: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -3949,7 +4091,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_t_14 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":234 + /* "bincount.pyx":239 * for i0 in range(n0): * ai = a[i0] * if ai < 0: # <<<<<<<<<<<<<< @@ -3959,21 +4101,21 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_t_2 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_2) { - /* "bincount.pyx":235 + /* "bincount.pyx":240 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_Raise(__pyx_t_11, 0, 0, 0); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":236 + /* "bincount.pyx":241 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -3983,18 +4125,18 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_t_2 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":238 + /* "bincount.pyx":243 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[ai] += w[i0] * return y, 0.0 */ - __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); @@ -4002,31 +4144,31 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __Pyx_GIVEREF(__pyx_t_12); __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":237 + /* "bincount.pyx":242 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[ai] += w[i0] */ - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_12, 0, 0, 0); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":239 + /* "bincount.pyx":244 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[ai] += w[i0] # <<<<<<<<<<<<<< @@ -4040,7 +4182,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO } __pyx_L9:; - /* "bincount.pyx":240 + /* "bincount.pyx":245 * % (ai, max_val)) * y[ai] += w[i0] * return y, 0.0 # <<<<<<<<<<<<<< @@ -4048,7 +4190,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_12, 0, ((PyObject *)__pyx_v_y)); @@ -4060,7 +4202,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO __pyx_t_12 = 0; goto __pyx_L0; - /* "bincount.pyx":203 + /* "bincount.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -4095,7 +4237,7 @@ static PyObject *__pyx_pf_8bincount_6bincount_1d_int8_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "bincount.pyx":244 +/* "bincount.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -4122,7 +4264,7 @@ static PyObject *__pyx_pw_8bincount_9bincount_1d_int32_axisNone(PyObject *__pyx_ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":246 + /* "bincount.pyx":251 * def bincount_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -4131,7 +4273,7 @@ static PyObject *__pyx_pw_8bincount_9bincount_1d_int32_axisNone(PyObject *__pyx_ */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":247 + /* "bincount.pyx":252 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -4158,7 +4300,7 @@ static PyObject *__pyx_pw_8bincount_9bincount_1d_int32_axisNone(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_1d_int32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_int32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -4172,7 +4314,7 @@ static PyObject *__pyx_pw_8bincount_9bincount_1d_int32_axisNone(PyObject *__pyx_ } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -4185,24 +4327,24 @@ static PyObject *__pyx_pw_8bincount_9bincount_1d_int32_axisNone(PyObject *__pyx_ } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_1d_int32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_int32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_8bincount_1d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":244 + /* "bincount.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -4274,21 +4416,21 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":252 + /* "bincount.pyx":257 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4297,7 +4439,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":253 + /* "bincount.pyx":258 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4306,7 +4448,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":254 + /* "bincount.pyx":259 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: # <<<<<<<<<<<<<< @@ -4322,27 +4464,27 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_v_n0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":255 + /* "bincount.pyx":260 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":258 + /* "bincount.pyx":263 * * cdef: * np.npy_intp *dims = [max_val+1] # <<<<<<<<<<<<<< @@ -4352,22 +4494,22 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_t_6[0] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_6; - /* "bincount.pyx":259 + /* "bincount.pyx":264 * cdef: * np.npy_intp *dims = [max_val+1] * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ai * if mask is not None and not mask[0]: */ - __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_7 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4375,7 +4517,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_v_y = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":261 + /* "bincount.pyx":266 * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) * int ai * if mask is not None and not mask[0]: # <<<<<<<<<<<<<< @@ -4397,7 +4539,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_L7_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":262 + /* "bincount.pyx":267 * int ai * if mask is not None and not mask[0]: * return y, 0.0 # <<<<<<<<<<<<<< @@ -4405,7 +4547,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py * for i0 in range(n0): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_y)); @@ -4418,7 +4560,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py goto __pyx_L0; } - /* "bincount.pyx":263 + /* "bincount.pyx":268 * if mask is not None and not mask[0]: * return y, 0.0 * if w is None: # <<<<<<<<<<<<<< @@ -4429,7 +4571,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "bincount.pyx":264 + /* "bincount.pyx":269 * return y, 0.0 * if w is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4440,7 +4582,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_4; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "bincount.pyx":265 + /* "bincount.pyx":270 * if w is None: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -4450,7 +4592,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_t_10 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":266 + /* "bincount.pyx":271 * for i0 in range(n0): * ai = a[i0] * if ai < 0: # <<<<<<<<<<<<<< @@ -4460,21 +4602,21 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_t_2 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_2) { - /* "bincount.pyx":267 + /* "bincount.pyx":272 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":268 + /* "bincount.pyx":273 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -4484,18 +4626,18 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_t_2 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":270 + /* "bincount.pyx":275 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[ai] += 1 * else: */ - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -4503,31 +4645,31 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_11); __pyx_t_5 = 0; __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - /* "bincount.pyx":269 + /* "bincount.pyx":274 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[ai] += 1 */ - __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_Raise(__pyx_t_11, 0, 0, 0); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":271 + /* "bincount.pyx":276 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[ai] += 1 # <<<<<<<<<<<<<< @@ -4541,7 +4683,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py } /*else*/ { - /* "bincount.pyx":273 + /* "bincount.pyx":278 * y[ai] += 1 * else: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4552,7 +4694,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_4; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "bincount.pyx":274 + /* "bincount.pyx":279 * else: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -4562,7 +4704,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_t_14 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":275 + /* "bincount.pyx":280 * for i0 in range(n0): * ai = a[i0] * if ai < 0: # <<<<<<<<<<<<<< @@ -4572,21 +4714,21 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_t_2 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_2) { - /* "bincount.pyx":276 + /* "bincount.pyx":281 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_Raise(__pyx_t_11, 0, 0, 0); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":277 + /* "bincount.pyx":282 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -4596,18 +4738,18 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_t_2 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":279 + /* "bincount.pyx":284 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[ai] += w[i0] * return y, 0.0 */ - __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); @@ -4615,31 +4757,31 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_12); __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":278 + /* "bincount.pyx":283 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[ai] += w[i0] */ - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_12, 0, 0, 0); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":280 + /* "bincount.pyx":285 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[ai] += w[i0] # <<<<<<<<<<<<<< @@ -4653,7 +4795,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py } __pyx_L9:; - /* "bincount.pyx":281 + /* "bincount.pyx":286 * % (ai, max_val)) * y[ai] += w[i0] * return y, 0.0 # <<<<<<<<<<<<<< @@ -4661,7 +4803,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_12, 0, ((PyObject *)__pyx_v_y)); @@ -4673,7 +4815,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py __pyx_t_12 = 0; goto __pyx_L0; - /* "bincount.pyx":244 + /* "bincount.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -4708,7 +4850,7 @@ static PyObject *__pyx_pf_8bincount_8bincount_1d_int32_axisNone(CYTHON_UNUSED Py return __pyx_r; } -/* "bincount.pyx":285 +/* "bincount.pyx":290 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -4735,7 +4877,7 @@ static PyObject *__pyx_pw_8bincount_11bincount_1d_int64_axisNone(PyObject *__pyx static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":287 + /* "bincount.pyx":292 * def bincount_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -4744,7 +4886,7 @@ static PyObject *__pyx_pw_8bincount_11bincount_1d_int64_axisNone(PyObject *__pyx */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":288 + /* "bincount.pyx":293 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -4771,7 +4913,7 @@ static PyObject *__pyx_pw_8bincount_11bincount_1d_int64_axisNone(PyObject *__pyx case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_1d_int64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_int64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -4785,7 +4927,7 @@ static PyObject *__pyx_pw_8bincount_11bincount_1d_int64_axisNone(PyObject *__pyx } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -4798,24 +4940,24 @@ static PyObject *__pyx_pw_8bincount_11bincount_1d_int64_axisNone(PyObject *__pyx } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_1d_int64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_int64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_10bincount_1d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":285 + /* "bincount.pyx":290 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -4887,21 +5029,21 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":293 + /* "bincount.pyx":298 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4910,7 +5052,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":294 + /* "bincount.pyx":299 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4919,7 +5061,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":295 + /* "bincount.pyx":300 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: # <<<<<<<<<<<<<< @@ -4935,27 +5077,27 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_v_n0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":296 + /* "bincount.pyx":301 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":299 + /* "bincount.pyx":304 * * cdef: * np.npy_intp *dims = [max_val+1] # <<<<<<<<<<<<<< @@ -4965,22 +5107,22 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_t_6[0] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_6; - /* "bincount.pyx":300 + /* "bincount.pyx":305 * cdef: * np.npy_intp *dims = [max_val+1] * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ai * if mask is not None and not mask[0]: */ - __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_7 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4988,7 +5130,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_v_y = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":302 + /* "bincount.pyx":307 * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) * int ai * if mask is not None and not mask[0]: # <<<<<<<<<<<<<< @@ -5010,7 +5152,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_L7_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":303 + /* "bincount.pyx":308 * int ai * if mask is not None and not mask[0]: * return y, 0.0 # <<<<<<<<<<<<<< @@ -5018,7 +5160,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P * for i0 in range(n0): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_y)); @@ -5031,7 +5173,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P goto __pyx_L0; } - /* "bincount.pyx":304 + /* "bincount.pyx":309 * if mask is not None and not mask[0]: * return y, 0.0 * if w is None: # <<<<<<<<<<<<<< @@ -5042,7 +5184,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "bincount.pyx":305 + /* "bincount.pyx":310 * return y, 0.0 * if w is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5053,7 +5195,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_4; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "bincount.pyx":306 + /* "bincount.pyx":311 * if w is None: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -5063,7 +5205,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_t_10 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":307 + /* "bincount.pyx":312 * for i0 in range(n0): * ai = a[i0] * if ai < 0: # <<<<<<<<<<<<<< @@ -5073,21 +5215,21 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_t_2 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_2) { - /* "bincount.pyx":308 + /* "bincount.pyx":313 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":309 + /* "bincount.pyx":314 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -5097,18 +5239,18 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_t_2 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":311 + /* "bincount.pyx":316 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[ai] += 1 * else: */ - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -5116,31 +5258,31 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __Pyx_GIVEREF(__pyx_t_11); __pyx_t_5 = 0; __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_12); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - /* "bincount.pyx":310 + /* "bincount.pyx":315 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[ai] += 1 */ - __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_Raise(__pyx_t_11, 0, 0, 0); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":312 + /* "bincount.pyx":317 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[ai] += 1 # <<<<<<<<<<<<<< @@ -5154,7 +5296,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P } /*else*/ { - /* "bincount.pyx":314 + /* "bincount.pyx":319 * y[ai] += 1 * else: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5165,7 +5307,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_4; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "bincount.pyx":315 + /* "bincount.pyx":320 * else: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -5175,7 +5317,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_t_14 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":316 + /* "bincount.pyx":321 * for i0 in range(n0): * ai = a[i0] * if ai < 0: # <<<<<<<<<<<<<< @@ -5185,21 +5327,21 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_t_2 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_2) { - /* "bincount.pyx":317 + /* "bincount.pyx":322 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_Raise(__pyx_t_11, 0, 0, 0); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":318 + /* "bincount.pyx":323 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -5209,18 +5351,18 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_t_2 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":320 + /* "bincount.pyx":325 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[ai] += w[i0] * return y, 0.0 */ - __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); @@ -5228,31 +5370,31 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __Pyx_GIVEREF(__pyx_t_12); __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":319 + /* "bincount.pyx":324 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[ai] += w[i0] */ - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_12, 0, 0, 0); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":321 + /* "bincount.pyx":326 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[ai] += w[i0] # <<<<<<<<<<<<<< @@ -5266,7 +5408,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P } __pyx_L9:; - /* "bincount.pyx":322 + /* "bincount.pyx":327 * % (ai, max_val)) * y[ai] += w[i0] * return y, 0.0 # <<<<<<<<<<<<<< @@ -5274,7 +5416,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_12, 0, ((PyObject *)__pyx_v_y)); @@ -5286,7 +5428,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P __pyx_t_12 = 0; goto __pyx_L0; - /* "bincount.pyx":285 + /* "bincount.pyx":290 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -5321,7 +5463,7 @@ static PyObject *__pyx_pf_8bincount_10bincount_1d_int64_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "bincount.pyx":326 +/* "bincount.pyx":331 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -5348,7 +5490,7 @@ static PyObject *__pyx_pw_8bincount_13bincount_2d_int_axisNone(PyObject *__pyx_s static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":328 + /* "bincount.pyx":333 * def bincount_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -5357,7 +5499,7 @@ static PyObject *__pyx_pw_8bincount_13bincount_2d_int_axisNone(PyObject *__pyx_s */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":329 + /* "bincount.pyx":334 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -5384,7 +5526,7 @@ static PyObject *__pyx_pw_8bincount_13bincount_2d_int_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_2d_int_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_int_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -5398,7 +5540,7 @@ static PyObject *__pyx_pw_8bincount_13bincount_2d_int_axisNone(PyObject *__pyx_s } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -5411,24 +5553,24 @@ static PyObject *__pyx_pw_8bincount_13bincount_2d_int_axisNone(PyObject *__pyx_s } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_2d_int_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_int_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_12bincount_2d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":326 + /* "bincount.pyx":331 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -5526,21 +5668,21 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":334 + /* "bincount.pyx":339 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5549,7 +5691,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":335 + /* "bincount.pyx":340 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5558,7 +5700,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":336 + /* "bincount.pyx":341 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5567,7 +5709,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "bincount.pyx":337 + /* "bincount.pyx":342 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): # <<<<<<<<<<<<<< @@ -5583,28 +5725,28 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_t_5) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":338 + /* "bincount.pyx":343 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":341 + /* "bincount.pyx":346 * * cdef: * np.npy_intp *dims = [n1, max_val+1] # <<<<<<<<<<<<<< @@ -5615,22 +5757,22 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":342 + /* "bincount.pyx":347 * cdef: * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.npy_intp *nandims = [n1] * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) */ - __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -5638,7 +5780,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_v_y = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":343 + /* "bincount.pyx":348 * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] # <<<<<<<<<<<<<< @@ -5648,22 +5790,22 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_9[0] = __pyx_v_n1; __pyx_v_nandims = __pyx_t_9; - /* "bincount.pyx":344 + /* "bincount.pyx":349 * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ai * float wt */ - __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -5671,7 +5813,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_v_nans = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":347 + /* "bincount.pyx":352 * int ai * float wt * if mask is None: # <<<<<<<<<<<<<< @@ -5682,7 +5824,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { - /* "bincount.pyx":348 + /* "bincount.pyx":353 * float wt * if mask is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5693,7 +5835,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i0 = __pyx_t_4; - /* "bincount.pyx":349 + /* "bincount.pyx":354 * if mask is None: * for i0 in range(n0): * wt = 1 if w is None else w[i0] # <<<<<<<<<<<<<< @@ -5709,7 +5851,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO } __pyx_v_wt = __pyx_t_11; - /* "bincount.pyx":350 + /* "bincount.pyx":355 * for i0 in range(n0): * wt = 1 if w is None else w[i0] * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -5720,7 +5862,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_i1 = __pyx_t_14; - /* "bincount.pyx":351 + /* "bincount.pyx":356 * wt = 1 if w is None else w[i0] * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -5731,7 +5873,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_16 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":352 + /* "bincount.pyx":357 * for i1 in range(n1): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -5741,21 +5883,21 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_3 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_3) { - /* "bincount.pyx":353 + /* "bincount.pyx":358 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":354 + /* "bincount.pyx":359 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -5765,18 +5907,18 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_3 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_3) { - /* "bincount.pyx":356 + /* "bincount.pyx":361 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += wt * elif w is None: */ - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); @@ -5784,31 +5926,31 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __Pyx_GIVEREF(__pyx_t_17); __pyx_t_6 = 0; __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - /* "bincount.pyx":355 + /* "bincount.pyx":360 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += wt */ - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":357 + /* "bincount.pyx":362 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += wt # <<<<<<<<<<<<<< @@ -5823,7 +5965,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO goto __pyx_L6; } - /* "bincount.pyx":358 + /* "bincount.pyx":363 * % (ai, max_val)) * y[i1, ai] += wt * elif w is None: # <<<<<<<<<<<<<< @@ -5834,7 +5976,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_1 = (__pyx_t_3 != 0); if (__pyx_t_1) { - /* "bincount.pyx":359 + /* "bincount.pyx":364 * y[i1, ai] += wt * elif w is None: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -5845,7 +5987,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":360 + /* "bincount.pyx":365 * elif w is None: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -5856,7 +5998,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":361 + /* "bincount.pyx":366 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5867,7 +6009,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO for (__pyx_t_21 = 0; __pyx_t_21 < __pyx_t_14; __pyx_t_21+=1) { __pyx_v_i0 = __pyx_t_21; - /* "bincount.pyx":362 + /* "bincount.pyx":367 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -5878,7 +6020,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_23 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":363 + /* "bincount.pyx":368 * for i0 in range(n0): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -5888,21 +6030,21 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_1 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_1) { - /* "bincount.pyx":364 + /* "bincount.pyx":369 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":365 + /* "bincount.pyx":370 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -5912,18 +6054,18 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_1 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":367 + /* "bincount.pyx":372 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += 1 * else: */ - __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); @@ -5931,31 +6073,31 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __Pyx_GIVEREF(__pyx_t_18); __pyx_t_17 = 0; __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_6); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_6); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":366 + /* "bincount.pyx":371 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += 1 */ - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_18, 0, 0, 0); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":368 + /* "bincount.pyx":373 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += 1 # <<<<<<<<<<<<<< @@ -5974,7 +6116,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO } /*else*/ { - /* "bincount.pyx":370 + /* "bincount.pyx":375 * y[i1, ai] += 1 * else: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -5985,7 +6127,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":371 + /* "bincount.pyx":376 * else: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -5996,7 +6138,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":372 + /* "bincount.pyx":377 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -6007,7 +6149,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO for (__pyx_t_26 = 0; __pyx_t_26 < __pyx_t_21; __pyx_t_26+=1) { __pyx_v_i0 = __pyx_t_26; - /* "bincount.pyx":373 + /* "bincount.pyx":378 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -6018,7 +6160,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_28 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":374 + /* "bincount.pyx":379 * for i0 in range(n0): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -6028,21 +6170,21 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_1 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_1) { - /* "bincount.pyx":375 + /* "bincount.pyx":380 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_Raise(__pyx_t_18, 0, 0, 0); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":376 + /* "bincount.pyx":381 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -6052,18 +6194,18 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_1 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":378 + /* "bincount.pyx":383 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += w[i0] * return y, nans */ - __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_18); @@ -6071,31 +6213,31 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __Pyx_GIVEREF(__pyx_t_6); __pyx_t_18 = 0; __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_17); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_17); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - /* "bincount.pyx":377 + /* "bincount.pyx":382 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += w[i0] */ - __pyx_t_17 = PyTuple_New(1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyTuple_New(1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_17, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_17, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":379 + /* "bincount.pyx":384 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += w[i0] # <<<<<<<<<<<<<< @@ -6114,7 +6256,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO } __pyx_L6:; - /* "bincount.pyx":380 + /* "bincount.pyx":385 * % (ai, max_val)) * y[i1, ai] += w[i0] * return y, nans # <<<<<<<<<<<<<< @@ -6122,7 +6264,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_y)); @@ -6134,7 +6276,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_6 = 0; goto __pyx_L0; - /* "bincount.pyx":326 + /* "bincount.pyx":331 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -6172,7 +6314,7 @@ static PyObject *__pyx_pf_8bincount_12bincount_2d_int_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "bincount.pyx":384 +/* "bincount.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -6199,7 +6341,7 @@ static PyObject *__pyx_pw_8bincount_15bincount_2d_int8_axisNone(PyObject *__pyx_ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":386 + /* "bincount.pyx":391 * def bincount_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -6208,7 +6350,7 @@ static PyObject *__pyx_pw_8bincount_15bincount_2d_int8_axisNone(PyObject *__pyx_ */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":387 + /* "bincount.pyx":392 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -6235,7 +6377,7 @@ static PyObject *__pyx_pw_8bincount_15bincount_2d_int8_axisNone(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_2d_int8_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_int8_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -6249,7 +6391,7 @@ static PyObject *__pyx_pw_8bincount_15bincount_2d_int8_axisNone(PyObject *__pyx_ } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -6262,24 +6404,24 @@ static PyObject *__pyx_pw_8bincount_15bincount_2d_int8_axisNone(PyObject *__pyx_ } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_2d_int8_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_int8_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_14bincount_2d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":384 + /* "bincount.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -6377,21 +6519,21 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":392 + /* "bincount.pyx":397 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6400,7 +6542,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":393 + /* "bincount.pyx":398 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -6409,7 +6551,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":394 + /* "bincount.pyx":399 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -6418,7 +6560,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "bincount.pyx":395 + /* "bincount.pyx":400 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): # <<<<<<<<<<<<<< @@ -6434,28 +6576,28 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_t_5) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":396 + /* "bincount.pyx":401 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":399 + /* "bincount.pyx":404 * * cdef: * np.npy_intp *dims = [n1, max_val+1] # <<<<<<<<<<<<<< @@ -6466,22 +6608,22 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":400 + /* "bincount.pyx":405 * cdef: * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.npy_intp *nandims = [n1] * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) */ - __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -6489,7 +6631,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_v_y = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":401 + /* "bincount.pyx":406 * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] # <<<<<<<<<<<<<< @@ -6499,22 +6641,22 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_9[0] = __pyx_v_n1; __pyx_v_nandims = __pyx_t_9; - /* "bincount.pyx":402 + /* "bincount.pyx":407 * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ai * float wt */ - __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -6522,7 +6664,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_v_nans = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":405 + /* "bincount.pyx":410 * int ai * float wt * if mask is None: # <<<<<<<<<<<<<< @@ -6533,7 +6675,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { - /* "bincount.pyx":406 + /* "bincount.pyx":411 * float wt * if mask is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -6544,7 +6686,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i0 = __pyx_t_4; - /* "bincount.pyx":407 + /* "bincount.pyx":412 * if mask is None: * for i0 in range(n0): * wt = 1 if w is None else w[i0] # <<<<<<<<<<<<<< @@ -6560,7 +6702,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py } __pyx_v_wt = __pyx_t_11; - /* "bincount.pyx":408 + /* "bincount.pyx":413 * for i0 in range(n0): * wt = 1 if w is None else w[i0] * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -6571,7 +6713,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_i1 = __pyx_t_14; - /* "bincount.pyx":409 + /* "bincount.pyx":414 * wt = 1 if w is None else w[i0] * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -6582,7 +6724,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_16 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":410 + /* "bincount.pyx":415 * for i1 in range(n1): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -6592,21 +6734,21 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_3 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_3) { - /* "bincount.pyx":411 + /* "bincount.pyx":416 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":412 + /* "bincount.pyx":417 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -6616,18 +6758,18 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_3 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_3) { - /* "bincount.pyx":414 + /* "bincount.pyx":419 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += wt * elif w is None: */ - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); @@ -6635,31 +6777,31 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_17); __pyx_t_6 = 0; __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - /* "bincount.pyx":413 + /* "bincount.pyx":418 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += wt */ - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":415 + /* "bincount.pyx":420 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += wt # <<<<<<<<<<<<<< @@ -6674,7 +6816,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py goto __pyx_L6; } - /* "bincount.pyx":416 + /* "bincount.pyx":421 * % (ai, max_val)) * y[i1, ai] += wt * elif w is None: # <<<<<<<<<<<<<< @@ -6685,7 +6827,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_1 = (__pyx_t_3 != 0); if (__pyx_t_1) { - /* "bincount.pyx":417 + /* "bincount.pyx":422 * y[i1, ai] += wt * elif w is None: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -6696,7 +6838,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":418 + /* "bincount.pyx":423 * elif w is None: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -6707,7 +6849,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":419 + /* "bincount.pyx":424 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -6718,7 +6860,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py for (__pyx_t_21 = 0; __pyx_t_21 < __pyx_t_14; __pyx_t_21+=1) { __pyx_v_i0 = __pyx_t_21; - /* "bincount.pyx":420 + /* "bincount.pyx":425 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -6729,7 +6871,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_23 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":421 + /* "bincount.pyx":426 * for i0 in range(n0): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -6739,21 +6881,21 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_1 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_1) { - /* "bincount.pyx":422 + /* "bincount.pyx":427 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":423 + /* "bincount.pyx":428 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -6763,18 +6905,18 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_1 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":425 + /* "bincount.pyx":430 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += 1 * else: */ - __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); @@ -6782,31 +6924,31 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_18); __pyx_t_17 = 0; __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_6); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_6); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":424 + /* "bincount.pyx":429 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += 1 */ - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_18, 0, 0, 0); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":426 + /* "bincount.pyx":431 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += 1 # <<<<<<<<<<<<<< @@ -6825,7 +6967,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py } /*else*/ { - /* "bincount.pyx":428 + /* "bincount.pyx":433 * y[i1, ai] += 1 * else: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -6836,7 +6978,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":429 + /* "bincount.pyx":434 * else: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -6847,7 +6989,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":430 + /* "bincount.pyx":435 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -6858,7 +7000,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py for (__pyx_t_26 = 0; __pyx_t_26 < __pyx_t_21; __pyx_t_26+=1) { __pyx_v_i0 = __pyx_t_26; - /* "bincount.pyx":431 + /* "bincount.pyx":436 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -6869,7 +7011,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_28 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":432 + /* "bincount.pyx":437 * for i0 in range(n0): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -6879,21 +7021,21 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_1 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_1) { - /* "bincount.pyx":433 + /* "bincount.pyx":438 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__22, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_Raise(__pyx_t_18, 0, 0, 0); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":434 + /* "bincount.pyx":439 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -6903,18 +7045,18 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_1 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":436 + /* "bincount.pyx":441 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += w[i0] * return y, nans */ - __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_18); @@ -6922,31 +7064,31 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_6); __pyx_t_18 = 0; __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_17); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_17); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - /* "bincount.pyx":435 + /* "bincount.pyx":440 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += w[i0] */ - __pyx_t_17 = PyTuple_New(1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyTuple_New(1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_17, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_17, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":437 + /* "bincount.pyx":442 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += w[i0] # <<<<<<<<<<<<<< @@ -6965,7 +7107,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py } __pyx_L6:; - /* "bincount.pyx":438 + /* "bincount.pyx":443 * % (ai, max_val)) * y[i1, ai] += w[i0] * return y, nans # <<<<<<<<<<<<<< @@ -6973,7 +7115,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_y)); @@ -6985,7 +7127,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_6 = 0; goto __pyx_L0; - /* "bincount.pyx":384 + /* "bincount.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -7023,7 +7165,7 @@ static PyObject *__pyx_pf_8bincount_14bincount_2d_int8_axisNone(CYTHON_UNUSED Py return __pyx_r; } -/* "bincount.pyx":442 +/* "bincount.pyx":447 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -7050,7 +7192,7 @@ static PyObject *__pyx_pw_8bincount_17bincount_2d_int32_axisNone(PyObject *__pyx static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":444 + /* "bincount.pyx":449 * def bincount_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -7059,7 +7201,7 @@ static PyObject *__pyx_pw_8bincount_17bincount_2d_int32_axisNone(PyObject *__pyx */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":445 + /* "bincount.pyx":450 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -7086,7 +7228,7 @@ static PyObject *__pyx_pw_8bincount_17bincount_2d_int32_axisNone(PyObject *__pyx case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_2d_int32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_int32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -7100,7 +7242,7 @@ static PyObject *__pyx_pw_8bincount_17bincount_2d_int32_axisNone(PyObject *__pyx } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -7113,24 +7255,24 @@ static PyObject *__pyx_pw_8bincount_17bincount_2d_int32_axisNone(PyObject *__pyx } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_2d_int32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_int32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_16bincount_2d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":442 + /* "bincount.pyx":447 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -7228,21 +7370,21 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":450 + /* "bincount.pyx":455 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7251,7 +7393,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":451 + /* "bincount.pyx":456 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7260,7 +7402,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":452 + /* "bincount.pyx":457 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7269,7 +7411,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "bincount.pyx":453 + /* "bincount.pyx":458 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): # <<<<<<<<<<<<<< @@ -7285,28 +7427,28 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_t_5) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":454 + /* "bincount.pyx":459 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__23, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":457 + /* "bincount.pyx":462 * * cdef: * np.npy_intp *dims = [n1, max_val+1] # <<<<<<<<<<<<<< @@ -7317,22 +7459,22 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":458 + /* "bincount.pyx":463 * cdef: * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.npy_intp *nandims = [n1] * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) */ - __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -7340,7 +7482,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_v_y = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":459 + /* "bincount.pyx":464 * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] # <<<<<<<<<<<<<< @@ -7350,22 +7492,22 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_9[0] = __pyx_v_n1; __pyx_v_nandims = __pyx_t_9; - /* "bincount.pyx":460 + /* "bincount.pyx":465 * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ai * float wt */ - __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -7373,7 +7515,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_v_nans = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":463 + /* "bincount.pyx":468 * int ai * float wt * if mask is None: # <<<<<<<<<<<<<< @@ -7384,7 +7526,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { - /* "bincount.pyx":464 + /* "bincount.pyx":469 * float wt * if mask is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -7395,7 +7537,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i0 = __pyx_t_4; - /* "bincount.pyx":465 + /* "bincount.pyx":470 * if mask is None: * for i0 in range(n0): * wt = 1 if w is None else w[i0] # <<<<<<<<<<<<<< @@ -7411,7 +7553,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P } __pyx_v_wt = __pyx_t_11; - /* "bincount.pyx":466 + /* "bincount.pyx":471 * for i0 in range(n0): * wt = 1 if w is None else w[i0] * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -7422,7 +7564,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_i1 = __pyx_t_14; - /* "bincount.pyx":467 + /* "bincount.pyx":472 * wt = 1 if w is None else w[i0] * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -7433,7 +7575,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_16 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":468 + /* "bincount.pyx":473 * for i1 in range(n1): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -7443,21 +7585,21 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_3) { - /* "bincount.pyx":469 + /* "bincount.pyx":474 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__22, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":470 + /* "bincount.pyx":475 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -7467,18 +7609,18 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_3) { - /* "bincount.pyx":472 + /* "bincount.pyx":477 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += wt * elif w is None: */ - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); @@ -7486,31 +7628,31 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __Pyx_GIVEREF(__pyx_t_17); __pyx_t_6 = 0; __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - /* "bincount.pyx":471 + /* "bincount.pyx":476 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += wt */ - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":473 + /* "bincount.pyx":478 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += wt # <<<<<<<<<<<<<< @@ -7525,7 +7667,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P goto __pyx_L6; } - /* "bincount.pyx":474 + /* "bincount.pyx":479 * % (ai, max_val)) * y[i1, ai] += wt * elif w is None: # <<<<<<<<<<<<<< @@ -7536,7 +7678,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_1 = (__pyx_t_3 != 0); if (__pyx_t_1) { - /* "bincount.pyx":475 + /* "bincount.pyx":480 * y[i1, ai] += wt * elif w is None: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -7547,7 +7689,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":476 + /* "bincount.pyx":481 * elif w is None: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -7558,7 +7700,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":477 + /* "bincount.pyx":482 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -7569,7 +7711,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P for (__pyx_t_21 = 0; __pyx_t_21 < __pyx_t_14; __pyx_t_21+=1) { __pyx_v_i0 = __pyx_t_21; - /* "bincount.pyx":478 + /* "bincount.pyx":483 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -7580,7 +7722,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_23 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":479 + /* "bincount.pyx":484 * for i0 in range(n0): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -7590,21 +7732,21 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_1) { - /* "bincount.pyx":480 + /* "bincount.pyx":485 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__23, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":481 + /* "bincount.pyx":486 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -7614,18 +7756,18 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":483 + /* "bincount.pyx":488 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += 1 * else: */ - __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); @@ -7633,31 +7775,31 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __Pyx_GIVEREF(__pyx_t_18); __pyx_t_17 = 0; __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_6); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_6); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":482 + /* "bincount.pyx":487 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += 1 */ - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_18, 0, 0, 0); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":484 + /* "bincount.pyx":489 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += 1 # <<<<<<<<<<<<<< @@ -7676,7 +7818,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P } /*else*/ { - /* "bincount.pyx":486 + /* "bincount.pyx":491 * y[i1, ai] += 1 * else: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -7687,7 +7829,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":487 + /* "bincount.pyx":492 * else: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -7698,7 +7840,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":488 + /* "bincount.pyx":493 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -7709,7 +7851,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P for (__pyx_t_26 = 0; __pyx_t_26 < __pyx_t_21; __pyx_t_26+=1) { __pyx_v_i0 = __pyx_t_26; - /* "bincount.pyx":489 + /* "bincount.pyx":494 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -7720,7 +7862,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_28 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":490 + /* "bincount.pyx":495 * for i0 in range(n0): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -7730,21 +7872,21 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_1) { - /* "bincount.pyx":491 + /* "bincount.pyx":496 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_Raise(__pyx_t_18, 0, 0, 0); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":492 + /* "bincount.pyx":497 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -7754,18 +7896,18 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":494 + /* "bincount.pyx":499 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += w[i0] * return y, nans */ - __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_18); @@ -7773,31 +7915,31 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __Pyx_GIVEREF(__pyx_t_6); __pyx_t_18 = 0; __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_17); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_17); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - /* "bincount.pyx":493 + /* "bincount.pyx":498 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += w[i0] */ - __pyx_t_17 = PyTuple_New(1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyTuple_New(1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_17, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_17, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":495 + /* "bincount.pyx":500 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += w[i0] # <<<<<<<<<<<<<< @@ -7816,7 +7958,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P } __pyx_L6:; - /* "bincount.pyx":496 + /* "bincount.pyx":501 * % (ai, max_val)) * y[i1, ai] += w[i0] * return y, nans # <<<<<<<<<<<<<< @@ -7824,7 +7966,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_y)); @@ -7836,7 +7978,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P __pyx_t_6 = 0; goto __pyx_L0; - /* "bincount.pyx":442 + /* "bincount.pyx":447 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -7874,7 +8016,7 @@ static PyObject *__pyx_pf_8bincount_16bincount_2d_int32_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "bincount.pyx":500 +/* "bincount.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -7901,7 +8043,7 @@ static PyObject *__pyx_pw_8bincount_19bincount_2d_int64_axisNone(PyObject *__pyx static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":502 + /* "bincount.pyx":507 * def bincount_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -7910,7 +8052,7 @@ static PyObject *__pyx_pw_8bincount_19bincount_2d_int64_axisNone(PyObject *__pyx */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":503 + /* "bincount.pyx":508 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -7937,7 +8079,7 @@ static PyObject *__pyx_pw_8bincount_19bincount_2d_int64_axisNone(PyObject *__pyx case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_2d_int64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_int64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -7951,7 +8093,7 @@ static PyObject *__pyx_pw_8bincount_19bincount_2d_int64_axisNone(PyObject *__pyx } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -7964,24 +8106,24 @@ static PyObject *__pyx_pw_8bincount_19bincount_2d_int64_axisNone(PyObject *__pyx } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_2d_int64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_int64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_18bincount_2d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":500 + /* "bincount.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -8079,21 +8221,21 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":508 + /* "bincount.pyx":513 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8102,7 +8244,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":509 + /* "bincount.pyx":514 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -8111,7 +8253,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":510 + /* "bincount.pyx":515 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -8120,7 +8262,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "bincount.pyx":511 + /* "bincount.pyx":516 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): # <<<<<<<<<<<<<< @@ -8136,28 +8278,28 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_t_5) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":512 + /* "bincount.pyx":517 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__27, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":515 + /* "bincount.pyx":520 * * cdef: * np.npy_intp *dims = [n1, max_val+1] # <<<<<<<<<<<<<< @@ -8168,22 +8310,22 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":516 + /* "bincount.pyx":521 * cdef: * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.npy_intp *nandims = [n1] * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) */ - __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -8191,7 +8333,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_v_y = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":517 + /* "bincount.pyx":522 * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] # <<<<<<<<<<<<<< @@ -8201,22 +8343,22 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_9[0] = __pyx_v_n1; __pyx_v_nandims = __pyx_t_9; - /* "bincount.pyx":518 + /* "bincount.pyx":523 * np.ndarray[np.float_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ai * float wt */ - __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -8224,7 +8366,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_v_nans = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":521 + /* "bincount.pyx":526 * int ai * float wt * if mask is None: # <<<<<<<<<<<<<< @@ -8235,7 +8377,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { - /* "bincount.pyx":522 + /* "bincount.pyx":527 * float wt * if mask is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -8246,7 +8388,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i0 = __pyx_t_4; - /* "bincount.pyx":523 + /* "bincount.pyx":528 * if mask is None: * for i0 in range(n0): * wt = 1 if w is None else w[i0] # <<<<<<<<<<<<<< @@ -8262,7 +8404,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P } __pyx_v_wt = __pyx_t_11; - /* "bincount.pyx":524 + /* "bincount.pyx":529 * for i0 in range(n0): * wt = 1 if w is None else w[i0] * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -8273,7 +8415,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_i1 = __pyx_t_14; - /* "bincount.pyx":525 + /* "bincount.pyx":530 * wt = 1 if w is None else w[i0] * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -8284,7 +8426,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_16 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":526 + /* "bincount.pyx":531 * for i1 in range(n1): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -8294,21 +8436,21 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_3) { - /* "bincount.pyx":527 + /* "bincount.pyx":532 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__28, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":528 + /* "bincount.pyx":533 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -8318,18 +8460,18 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_3) { - /* "bincount.pyx":530 + /* "bincount.pyx":535 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += wt * elif w is None: */ - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); @@ -8337,31 +8479,31 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __Pyx_GIVEREF(__pyx_t_17); __pyx_t_6 = 0; __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_18); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - /* "bincount.pyx":529 + /* "bincount.pyx":534 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += wt */ - __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyTuple_New(1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_18, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":531 + /* "bincount.pyx":536 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += wt # <<<<<<<<<<<<<< @@ -8376,7 +8518,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P goto __pyx_L6; } - /* "bincount.pyx":532 + /* "bincount.pyx":537 * % (ai, max_val)) * y[i1, ai] += wt * elif w is None: # <<<<<<<<<<<<<< @@ -8387,7 +8529,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_1 = (__pyx_t_3 != 0); if (__pyx_t_1) { - /* "bincount.pyx":533 + /* "bincount.pyx":538 * y[i1, ai] += wt * elif w is None: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -8398,7 +8540,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":534 + /* "bincount.pyx":539 * elif w is None: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -8409,7 +8551,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":535 + /* "bincount.pyx":540 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -8420,7 +8562,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P for (__pyx_t_21 = 0; __pyx_t_21 < __pyx_t_14; __pyx_t_21+=1) { __pyx_v_i0 = __pyx_t_21; - /* "bincount.pyx":536 + /* "bincount.pyx":541 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -8431,7 +8573,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_23 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":537 + /* "bincount.pyx":542 * for i0 in range(n0): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -8441,21 +8583,21 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_1) { - /* "bincount.pyx":538 + /* "bincount.pyx":543 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__27, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__29, NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_Raise(__pyx_t_17, 0, 0, 0); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":539 + /* "bincount.pyx":544 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -8465,18 +8607,18 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":541 + /* "bincount.pyx":546 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += 1 * else: */ - __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); @@ -8484,31 +8626,31 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __Pyx_GIVEREF(__pyx_t_18); __pyx_t_17 = 0; __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_6); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_6); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":540 + /* "bincount.pyx":545 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += 1 */ - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_18, 0, 0, 0); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":542 + /* "bincount.pyx":547 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += 1 # <<<<<<<<<<<<<< @@ -8527,7 +8669,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P } /*else*/ { - /* "bincount.pyx":544 + /* "bincount.pyx":549 * y[i1, ai] += 1 * else: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -8538,7 +8680,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":545 + /* "bincount.pyx":550 * else: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -8549,7 +8691,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":546 + /* "bincount.pyx":551 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -8560,7 +8702,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P for (__pyx_t_26 = 0; __pyx_t_26 < __pyx_t_21; __pyx_t_26+=1) { __pyx_v_i0 = __pyx_t_26; - /* "bincount.pyx":547 + /* "bincount.pyx":552 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -8571,7 +8713,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_28 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":548 + /* "bincount.pyx":553 * for i0 in range(n0): * ai = a[i0, i1] * if ai < 0: # <<<<<<<<<<<<<< @@ -8581,21 +8723,21 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai < 0) != 0); if (__pyx_t_1) { - /* "bincount.pyx":549 + /* "bincount.pyx":554 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__28, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__30, NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_Raise(__pyx_t_18, 0, 0, 0); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":550 + /* "bincount.pyx":555 * if ai < 0: * raise ValueError("negative value in bincount") * if ai > max_val: # <<<<<<<<<<<<<< @@ -8605,18 +8747,18 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":552 + /* "bincount.pyx":557 * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) # <<<<<<<<<<<<<< * y[i1, ai] += w[i0] * return y, nans */ - __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_ai); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_18); @@ -8624,31 +8766,31 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __Pyx_GIVEREF(__pyx_t_6); __pyx_t_18 = 0; __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_17); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_17); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - /* "bincount.pyx":551 + /* "bincount.pyx":556 * raise ValueError("negative value in bincount") * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" # <<<<<<<<<<<<<< * % (ai, max_val)) * y[i1, ai] += w[i0] */ - __pyx_t_17 = PyTuple_New(1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_17 = PyTuple_New(1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_17, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_17, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":553 + /* "bincount.pyx":558 * raise ValueError("value %i is greater than max_val (%i)" * % (ai, max_val)) * y[i1, ai] += w[i0] # <<<<<<<<<<<<<< @@ -8667,7 +8809,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P } __pyx_L6:; - /* "bincount.pyx":554 + /* "bincount.pyx":559 * % (ai, max_val)) * y[i1, ai] += w[i0] * return y, nans # <<<<<<<<<<<<<< @@ -8675,7 +8817,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_y)); @@ -8687,7 +8829,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P __pyx_t_6 = 0; goto __pyx_L0; - /* "bincount.pyx":500 + /* "bincount.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -8725,7 +8867,7 @@ static PyObject *__pyx_pf_8bincount_18bincount_2d_int64_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "bincount.pyx":558 +/* "bincount.pyx":563 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int_axisNone(object a, # <<<<<<<<<<<<<< @@ -8752,7 +8894,7 @@ static PyObject *__pyx_pw_8bincount_21bincount_0d_int_axisNone(PyObject *__pyx_s static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":560 + /* "bincount.pyx":565 * def bincount_0d_int_axisNone(object a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -8761,7 +8903,7 @@ static PyObject *__pyx_pw_8bincount_21bincount_0d_int_axisNone(PyObject *__pyx_s */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":561 + /* "bincount.pyx":566 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -8788,7 +8930,7 @@ static PyObject *__pyx_pw_8bincount_21bincount_0d_int_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_0d_int_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_int_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -8802,7 +8944,7 @@ static PyObject *__pyx_pw_8bincount_21bincount_0d_int_axisNone(PyObject *__pyx_s } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -8815,23 +8957,23 @@ static PyObject *__pyx_pw_8bincount_21bincount_0d_int_axisNone(PyObject *__pyx_s } } __pyx_v_a = values[0]; - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_0d_int_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_int_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_0d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_20bincount_0d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":558 + /* "bincount.pyx":563 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int_axisNone(object a, # <<<<<<<<<<<<<< @@ -8936,48 +9078,48 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":566 + /* "bincount.pyx":571 * * cdef: * Py_ssize_t n_rows = a.shape[0] # <<<<<<<<<<<<<< * Py_ssize_t n_cols = a.shape[1] * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_n_rows = __pyx_t_3; - /* "bincount.pyx":567 + /* "bincount.pyx":572 * cdef: * Py_ssize_t n_rows = a.shape[0] * Py_ssize_t n_cols = a.shape[1] # <<<<<<<<<<<<<< * * if w is not None and len(w) != n_rows: */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n_cols = __pyx_t_3; - /* "bincount.pyx":569 + /* "bincount.pyx":574 * Py_ssize_t n_cols = a.shape[1] * * if w is not None and len(w) != n_rows: # <<<<<<<<<<<<<< @@ -8993,27 +9135,27 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = ((__pyx_t_3 != __pyx_v_n_rows) != 0); __pyx_t_4 = __pyx_t_6; __pyx_L4_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":570 + /* "bincount.pyx":575 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__29, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__31, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":573 + /* "bincount.pyx":578 * * cdef: * np.npy_intp *dims = [n_cols, max_val+1] # <<<<<<<<<<<<<< @@ -9024,22 +9166,22 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":574 + /* "bincount.pyx":579 * cdef: * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) * float wt */ - __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -9047,22 +9189,22 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":575 + /* "bincount.pyx":580 * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * float wt * */ - __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_9 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -9070,22 +9212,22 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO __pyx_v_nans = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":578 + /* "bincount.pyx":583 * float wt * * np.ndarray[np.int_t, ndim=1] data = a.data # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_data.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_data = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_data.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_data.diminfo[0].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_data.diminfo[0].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[0]; } } @@ -9093,22 +9235,22 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO __pyx_v_data = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":579 + /* "bincount.pyx":584 * * np.ndarray[np.int_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_11 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indices.diminfo[0].strides = __pyx_pybuffernd_indices.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indices.diminfo[0].shape = __pyx_pybuffernd_indices.rcbuffer->pybuffer.shape[0]; } } @@ -9116,22 +9258,22 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO __pyx_v_indices = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":580 + /* "bincount.pyx":585 * np.ndarray[np.int_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr # <<<<<<<<<<<<<< * int ri, i, ci * for ri in range(a.shape[0]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_12 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indptr.rcbuffer->pybuffer, (PyObject*)__pyx_t_12, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indptr = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indptr.diminfo[0].strides = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indptr.diminfo[0].shape = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.shape[0]; } } @@ -9139,24 +9281,24 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO __pyx_v_indptr = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":582 + /* "bincount.pyx":587 * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci * for ri in range(a.shape[0]): # <<<<<<<<<<<<<< * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_ri = __pyx_t_14; - /* "bincount.pyx":583 + /* "bincount.pyx":588 * int ri, i, ci * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] # <<<<<<<<<<<<<< @@ -9172,7 +9314,7 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO } __pyx_v_wt = __pyx_t_15; - /* "bincount.pyx":584 + /* "bincount.pyx":589 * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): # <<<<<<<<<<<<<< @@ -9185,7 +9327,7 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO for (__pyx_t_20 = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_indptr.diminfo[0].strides)); __pyx_t_20 < __pyx_t_18; __pyx_t_20+=1) { __pyx_v_i = __pyx_t_20; - /* "bincount.pyx":585 + /* "bincount.pyx":590 * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] # <<<<<<<<<<<<<< @@ -9195,7 +9337,7 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_21 = __pyx_v_i; __pyx_v_ci = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_indices.diminfo[0].strides)); - /* "bincount.pyx":586 + /* "bincount.pyx":591 * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] * if mask is None or mask[ci]: # <<<<<<<<<<<<<< @@ -9217,7 +9359,7 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO __pyx_L11_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":587 + /* "bincount.pyx":592 * ci = indices[i] * if mask is None or mask[ci]: * y[ci, data[i]] += wt # <<<<<<<<<<<<<< @@ -9234,7 +9376,7 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO } } - /* "bincount.pyx":588 + /* "bincount.pyx":593 * if mask is None or mask[ci]: * y[ci, data[i]] += wt * return y, nans # <<<<<<<<<<<<<< @@ -9242,7 +9384,7 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_y)); @@ -9254,7 +9396,7 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO __pyx_t_2 = 0; goto __pyx_L0; - /* "bincount.pyx":558 + /* "bincount.pyx":563 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int_axisNone(object a, # <<<<<<<<<<<<<< @@ -9298,7 +9440,7 @@ static PyObject *__pyx_pf_8bincount_20bincount_0d_int_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "bincount.pyx":594 +/* "bincount.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int8_axisNone(object a, # <<<<<<<<<<<<<< @@ -9325,7 +9467,7 @@ static PyObject *__pyx_pw_8bincount_23bincount_0d_int8_axisNone(PyObject *__pyx_ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":596 + /* "bincount.pyx":601 * def bincount_0d_int8_axisNone(object a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -9334,7 +9476,7 @@ static PyObject *__pyx_pw_8bincount_23bincount_0d_int8_axisNone(PyObject *__pyx_ */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":597 + /* "bincount.pyx":602 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -9361,7 +9503,7 @@ static PyObject *__pyx_pw_8bincount_23bincount_0d_int8_axisNone(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_0d_int8_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_int8_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -9375,7 +9517,7 @@ static PyObject *__pyx_pw_8bincount_23bincount_0d_int8_axisNone(PyObject *__pyx_ } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -9388,23 +9530,23 @@ static PyObject *__pyx_pw_8bincount_23bincount_0d_int8_axisNone(PyObject *__pyx_ } } __pyx_v_a = values[0]; - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_0d_int8_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_int8_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_0d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_22bincount_0d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":594 + /* "bincount.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int8_axisNone(object a, # <<<<<<<<<<<<<< @@ -9509,48 +9651,48 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":602 + /* "bincount.pyx":607 * * cdef: * Py_ssize_t n_rows = a.shape[0] # <<<<<<<<<<<<<< * Py_ssize_t n_cols = a.shape[1] * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_n_rows = __pyx_t_3; - /* "bincount.pyx":603 + /* "bincount.pyx":608 * cdef: * Py_ssize_t n_rows = a.shape[0] * Py_ssize_t n_cols = a.shape[1] # <<<<<<<<<<<<<< * * if w is not None and len(w) != n_rows: */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n_cols = __pyx_t_3; - /* "bincount.pyx":605 + /* "bincount.pyx":610 * Py_ssize_t n_cols = a.shape[1] * * if w is not None and len(w) != n_rows: # <<<<<<<<<<<<<< @@ -9566,27 +9708,27 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = ((__pyx_t_3 != __pyx_v_n_rows) != 0); __pyx_t_4 = __pyx_t_6; __pyx_L4_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":606 + /* "bincount.pyx":611 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__30, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__32, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":609 + /* "bincount.pyx":614 * * cdef: * np.npy_intp *dims = [n_cols, max_val+1] # <<<<<<<<<<<<<< @@ -9597,22 +9739,22 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":610 + /* "bincount.pyx":615 * cdef: * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) * float wt */ - __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -9620,22 +9762,22 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":611 + /* "bincount.pyx":616 * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * float wt * */ - __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_9 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -9643,22 +9785,22 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py __pyx_v_nans = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":614 + /* "bincount.pyx":619 * float wt * * np.ndarray[np.int8_t, ndim=1] data = a.data # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_data.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_data = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_data.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_data.diminfo[0].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_data.diminfo[0].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[0]; } } @@ -9666,22 +9808,22 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py __pyx_v_data = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":615 + /* "bincount.pyx":620 * * np.ndarray[np.int8_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_11 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indices.diminfo[0].strides = __pyx_pybuffernd_indices.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indices.diminfo[0].shape = __pyx_pybuffernd_indices.rcbuffer->pybuffer.shape[0]; } } @@ -9689,22 +9831,22 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py __pyx_v_indices = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":616 + /* "bincount.pyx":621 * np.ndarray[np.int8_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr # <<<<<<<<<<<<<< * int ri, i, ci * for ri in range(a.shape[0]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_12 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indptr.rcbuffer->pybuffer, (PyObject*)__pyx_t_12, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indptr = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indptr.diminfo[0].strides = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indptr.diminfo[0].shape = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.shape[0]; } } @@ -9712,24 +9854,24 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py __pyx_v_indptr = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":618 + /* "bincount.pyx":623 * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci * for ri in range(a.shape[0]): # <<<<<<<<<<<<<< * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_ri = __pyx_t_14; - /* "bincount.pyx":619 + /* "bincount.pyx":624 * int ri, i, ci * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] # <<<<<<<<<<<<<< @@ -9745,7 +9887,7 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py } __pyx_v_wt = __pyx_t_15; - /* "bincount.pyx":620 + /* "bincount.pyx":625 * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): # <<<<<<<<<<<<<< @@ -9758,7 +9900,7 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py for (__pyx_t_20 = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_indptr.diminfo[0].strides)); __pyx_t_20 < __pyx_t_18; __pyx_t_20+=1) { __pyx_v_i = __pyx_t_20; - /* "bincount.pyx":621 + /* "bincount.pyx":626 * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] # <<<<<<<<<<<<<< @@ -9768,7 +9910,7 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_21 = __pyx_v_i; __pyx_v_ci = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_indices.diminfo[0].strides)); - /* "bincount.pyx":622 + /* "bincount.pyx":627 * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] * if mask is None or mask[ci]: # <<<<<<<<<<<<<< @@ -9790,7 +9932,7 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py __pyx_L11_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":623 + /* "bincount.pyx":628 * ci = indices[i] * if mask is None or mask[ci]: * y[ci, data[i]] += wt # <<<<<<<<<<<<<< @@ -9807,7 +9949,7 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py } } - /* "bincount.pyx":624 + /* "bincount.pyx":629 * if mask is None or mask[ci]: * y[ci, data[i]] += wt * return y, nans # <<<<<<<<<<<<<< @@ -9815,7 +9957,7 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_y)); @@ -9827,7 +9969,7 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py __pyx_t_2 = 0; goto __pyx_L0; - /* "bincount.pyx":594 + /* "bincount.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int8_axisNone(object a, # <<<<<<<<<<<<<< @@ -9871,7 +10013,7 @@ static PyObject *__pyx_pf_8bincount_22bincount_0d_int8_axisNone(CYTHON_UNUSED Py return __pyx_r; } -/* "bincount.pyx":630 +/* "bincount.pyx":635 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int32_axisNone(object a, # <<<<<<<<<<<<<< @@ -9898,7 +10040,7 @@ static PyObject *__pyx_pw_8bincount_25bincount_0d_int32_axisNone(PyObject *__pyx static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":632 + /* "bincount.pyx":637 * def bincount_0d_int32_axisNone(object a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -9907,7 +10049,7 @@ static PyObject *__pyx_pw_8bincount_25bincount_0d_int32_axisNone(PyObject *__pyx */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":633 + /* "bincount.pyx":638 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -9934,7 +10076,7 @@ static PyObject *__pyx_pw_8bincount_25bincount_0d_int32_axisNone(PyObject *__pyx case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_0d_int32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_int32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -9948,7 +10090,7 @@ static PyObject *__pyx_pw_8bincount_25bincount_0d_int32_axisNone(PyObject *__pyx } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -9961,23 +10103,23 @@ static PyObject *__pyx_pw_8bincount_25bincount_0d_int32_axisNone(PyObject *__pyx } } __pyx_v_a = values[0]; - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_0d_int32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_int32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_0d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_24bincount_0d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":630 + /* "bincount.pyx":635 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int32_axisNone(object a, # <<<<<<<<<<<<<< @@ -10082,48 +10224,48 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":638 + /* "bincount.pyx":643 * * cdef: * Py_ssize_t n_rows = a.shape[0] # <<<<<<<<<<<<<< * Py_ssize_t n_cols = a.shape[1] * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_n_rows = __pyx_t_3; - /* "bincount.pyx":639 + /* "bincount.pyx":644 * cdef: * Py_ssize_t n_rows = a.shape[0] * Py_ssize_t n_cols = a.shape[1] # <<<<<<<<<<<<<< * * if w is not None and len(w) != n_rows: */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n_cols = __pyx_t_3; - /* "bincount.pyx":641 + /* "bincount.pyx":646 * Py_ssize_t n_cols = a.shape[1] * * if w is not None and len(w) != n_rows: # <<<<<<<<<<<<<< @@ -10139,27 +10281,27 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = ((__pyx_t_3 != __pyx_v_n_rows) != 0); __pyx_t_4 = __pyx_t_6; __pyx_L4_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":642 + /* "bincount.pyx":647 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__31, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__33, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":645 + /* "bincount.pyx":650 * * cdef: * np.npy_intp *dims = [n_cols, max_val+1] # <<<<<<<<<<<<<< @@ -10170,22 +10312,22 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":646 + /* "bincount.pyx":651 * cdef: * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) * float wt */ - __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -10193,22 +10335,22 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":647 + /* "bincount.pyx":652 * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * float wt * */ - __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_9 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -10216,22 +10358,22 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P __pyx_v_nans = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":650 + /* "bincount.pyx":655 * float wt * * np.ndarray[np.int32_t, ndim=1] data = a.data # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_data.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_data = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_data.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_data.diminfo[0].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_data.diminfo[0].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[0]; } } @@ -10239,22 +10381,22 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P __pyx_v_data = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":651 + /* "bincount.pyx":656 * * np.ndarray[np.int32_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_11 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indices.diminfo[0].strides = __pyx_pybuffernd_indices.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indices.diminfo[0].shape = __pyx_pybuffernd_indices.rcbuffer->pybuffer.shape[0]; } } @@ -10262,22 +10404,22 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P __pyx_v_indices = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":652 + /* "bincount.pyx":657 * np.ndarray[np.int32_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr # <<<<<<<<<<<<<< * int ri, i, ci * for ri in range(a.shape[0]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_12 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indptr.rcbuffer->pybuffer, (PyObject*)__pyx_t_12, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indptr = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indptr.diminfo[0].strides = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indptr.diminfo[0].shape = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.shape[0]; } } @@ -10285,24 +10427,24 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P __pyx_v_indptr = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":654 + /* "bincount.pyx":659 * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci * for ri in range(a.shape[0]): # <<<<<<<<<<<<<< * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_ri = __pyx_t_14; - /* "bincount.pyx":655 + /* "bincount.pyx":660 * int ri, i, ci * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] # <<<<<<<<<<<<<< @@ -10318,7 +10460,7 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P } __pyx_v_wt = __pyx_t_15; - /* "bincount.pyx":656 + /* "bincount.pyx":661 * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): # <<<<<<<<<<<<<< @@ -10331,7 +10473,7 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P for (__pyx_t_20 = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_indptr.diminfo[0].strides)); __pyx_t_20 < __pyx_t_18; __pyx_t_20+=1) { __pyx_v_i = __pyx_t_20; - /* "bincount.pyx":657 + /* "bincount.pyx":662 * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] # <<<<<<<<<<<<<< @@ -10341,7 +10483,7 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P __pyx_t_21 = __pyx_v_i; __pyx_v_ci = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_indices.diminfo[0].strides)); - /* "bincount.pyx":658 + /* "bincount.pyx":663 * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] * if mask is None or mask[ci]: # <<<<<<<<<<<<<< @@ -10363,7 +10505,7 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P __pyx_L11_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":659 + /* "bincount.pyx":664 * ci = indices[i] * if mask is None or mask[ci]: * y[ci, data[i]] += wt # <<<<<<<<<<<<<< @@ -10380,7 +10522,7 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P } } - /* "bincount.pyx":660 + /* "bincount.pyx":665 * if mask is None or mask[ci]: * y[ci, data[i]] += wt * return y, nans # <<<<<<<<<<<<<< @@ -10388,7 +10530,7 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_y)); @@ -10400,7 +10542,7 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P __pyx_t_2 = 0; goto __pyx_L0; - /* "bincount.pyx":630 + /* "bincount.pyx":635 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int32_axisNone(object a, # <<<<<<<<<<<<<< @@ -10444,7 +10586,7 @@ static PyObject *__pyx_pf_8bincount_24bincount_0d_int32_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "bincount.pyx":666 +/* "bincount.pyx":671 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int64_axisNone(object a, # <<<<<<<<<<<<<< @@ -10471,7 +10613,7 @@ static PyObject *__pyx_pw_8bincount_27bincount_0d_int64_axisNone(PyObject *__pyx static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":668 + /* "bincount.pyx":673 * def bincount_0d_int64_axisNone(object a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -10480,7 +10622,7 @@ static PyObject *__pyx_pw_8bincount_27bincount_0d_int64_axisNone(PyObject *__pyx */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":669 + /* "bincount.pyx":674 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -10507,7 +10649,7 @@ static PyObject *__pyx_pw_8bincount_27bincount_0d_int64_axisNone(PyObject *__pyx case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_0d_int64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_int64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -10521,7 +10663,7 @@ static PyObject *__pyx_pw_8bincount_27bincount_0d_int64_axisNone(PyObject *__pyx } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -10534,23 +10676,23 @@ static PyObject *__pyx_pw_8bincount_27bincount_0d_int64_axisNone(PyObject *__pyx } } __pyx_v_a = values[0]; - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_0d_int64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_int64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_0d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 669; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_26bincount_0d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":666 + /* "bincount.pyx":671 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int64_axisNone(object a, # <<<<<<<<<<<<<< @@ -10655,48 +10797,48 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":674 + /* "bincount.pyx":679 * * cdef: * Py_ssize_t n_rows = a.shape[0] # <<<<<<<<<<<<<< * Py_ssize_t n_cols = a.shape[1] * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_n_rows = __pyx_t_3; - /* "bincount.pyx":675 + /* "bincount.pyx":680 * cdef: * Py_ssize_t n_rows = a.shape[0] * Py_ssize_t n_cols = a.shape[1] # <<<<<<<<<<<<<< * * if w is not None and len(w) != n_rows: */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n_cols = __pyx_t_3; - /* "bincount.pyx":677 + /* "bincount.pyx":682 * Py_ssize_t n_cols = a.shape[1] * * if w is not None and len(w) != n_rows: # <<<<<<<<<<<<<< @@ -10712,27 +10854,27 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = ((__pyx_t_3 != __pyx_v_n_rows) != 0); __pyx_t_4 = __pyx_t_6; __pyx_L4_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":678 + /* "bincount.pyx":683 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__32, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__34, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":681 + /* "bincount.pyx":686 * * cdef: * np.npy_intp *dims = [n_cols, max_val+1] # <<<<<<<<<<<<<< @@ -10743,22 +10885,22 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":682 + /* "bincount.pyx":687 * cdef: * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) * float wt */ - __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -10766,22 +10908,22 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":683 + /* "bincount.pyx":688 * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * float wt * */ - __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_9 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -10789,22 +10931,22 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P __pyx_v_nans = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":686 + /* "bincount.pyx":691 * float wt * * np.ndarray[np.int64_t, ndim=1] data = a.data # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_data.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_data = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_data.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_data.diminfo[0].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_data.diminfo[0].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[0]; } } @@ -10812,22 +10954,22 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P __pyx_v_data = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":687 + /* "bincount.pyx":692 * * np.ndarray[np.int64_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_11 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indices.diminfo[0].strides = __pyx_pybuffernd_indices.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indices.diminfo[0].shape = __pyx_pybuffernd_indices.rcbuffer->pybuffer.shape[0]; } } @@ -10835,22 +10977,22 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P __pyx_v_indices = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":688 + /* "bincount.pyx":693 * np.ndarray[np.int64_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr # <<<<<<<<<<<<<< * int ri, i, ci * for ri in range(a.shape[0]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_12 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indptr.rcbuffer->pybuffer, (PyObject*)__pyx_t_12, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indptr = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indptr.diminfo[0].strides = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indptr.diminfo[0].shape = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.shape[0]; } } @@ -10858,24 +11000,24 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P __pyx_v_indptr = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":690 + /* "bincount.pyx":695 * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci * for ri in range(a.shape[0]): # <<<<<<<<<<<<<< * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_ri = __pyx_t_14; - /* "bincount.pyx":691 + /* "bincount.pyx":696 * int ri, i, ci * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] # <<<<<<<<<<<<<< @@ -10891,7 +11033,7 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P } __pyx_v_wt = __pyx_t_15; - /* "bincount.pyx":692 + /* "bincount.pyx":697 * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): # <<<<<<<<<<<<<< @@ -10904,7 +11046,7 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P for (__pyx_t_20 = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_indptr.diminfo[0].strides)); __pyx_t_20 < __pyx_t_18; __pyx_t_20+=1) { __pyx_v_i = __pyx_t_20; - /* "bincount.pyx":693 + /* "bincount.pyx":698 * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] # <<<<<<<<<<<<<< @@ -10914,7 +11056,7 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P __pyx_t_21 = __pyx_v_i; __pyx_v_ci = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_indices.diminfo[0].strides)); - /* "bincount.pyx":694 + /* "bincount.pyx":699 * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] * if mask is None or mask[ci]: # <<<<<<<<<<<<<< @@ -10936,7 +11078,7 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P __pyx_L11_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":695 + /* "bincount.pyx":700 * ci = indices[i] * if mask is None or mask[ci]: * y[ci, data[i]] += wt # <<<<<<<<<<<<<< @@ -10953,7 +11095,7 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P } } - /* "bincount.pyx":696 + /* "bincount.pyx":701 * if mask is None or mask[ci]: * y[ci, data[i]] += wt * return y, nans # <<<<<<<<<<<<<< @@ -10961,7 +11103,7 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_y)); @@ -10973,7 +11115,7 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P __pyx_t_2 = 0; goto __pyx_L0; - /* "bincount.pyx":666 + /* "bincount.pyx":671 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int64_axisNone(object a, # <<<<<<<<<<<<<< @@ -11017,7 +11159,7 @@ static PyObject *__pyx_pf_8bincount_26bincount_0d_int64_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "bincount.pyx":702 +/* "bincount.pyx":707 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -11044,7 +11186,7 @@ static PyObject *__pyx_pw_8bincount_29bincount_1d_float_axisNone(PyObject *__pyx static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":704 + /* "bincount.pyx":709 * def bincount_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -11053,7 +11195,7 @@ static PyObject *__pyx_pw_8bincount_29bincount_1d_float_axisNone(PyObject *__pyx */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":705 + /* "bincount.pyx":710 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -11080,7 +11222,7 @@ static PyObject *__pyx_pw_8bincount_29bincount_1d_float_axisNone(PyObject *__pyx case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_1d_float_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_float_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -11094,7 +11236,7 @@ static PyObject *__pyx_pw_8bincount_29bincount_1d_float_axisNone(PyObject *__pyx } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -11107,24 +11249,24 @@ static PyObject *__pyx_pw_8bincount_29bincount_1d_float_axisNone(PyObject *__pyx } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_1d_float_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_float_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_28bincount_1d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":702 + /* "bincount.pyx":707 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -11200,21 +11342,21 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":710 + /* "bincount.pyx":715 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -11223,7 +11365,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":711 + /* "bincount.pyx":716 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -11232,7 +11374,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":712 + /* "bincount.pyx":717 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: # <<<<<<<<<<<<<< @@ -11248,27 +11390,27 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_v_n0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":713 + /* "bincount.pyx":718 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__33, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":716 + /* "bincount.pyx":721 * * cdef: * np.npy_intp *dims = [max_val+1] # <<<<<<<<<<<<<< @@ -11278,22 +11420,22 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_6[0] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_6; - /* "bincount.pyx":717 + /* "bincount.pyx":722 * cdef: * np.npy_intp *dims = [max_val+1] * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * float nans = 0 * int ain */ - __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_7 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -11301,7 +11443,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_v_y = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":718 + /* "bincount.pyx":723 * np.npy_intp *dims = [max_val+1] * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) * float nans = 0 # <<<<<<<<<<<<<< @@ -11310,7 +11452,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_nans = 0.0; - /* "bincount.pyx":721 + /* "bincount.pyx":726 * int ain * float ai, wt * if mask is not None and not mask[0]: # <<<<<<<<<<<<<< @@ -11332,7 +11474,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_L7_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":722 + /* "bincount.pyx":727 * float ai, wt * if mask is not None and not mask[0]: * return y, nans # <<<<<<<<<<<<<< @@ -11340,9 +11482,9 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P * for i0 in range(n0): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)__pyx_v_y)); @@ -11355,7 +11497,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P goto __pyx_L0; } - /* "bincount.pyx":723 + /* "bincount.pyx":728 * if mask is not None and not mask[0]: * return y, nans * if w is None: # <<<<<<<<<<<<<< @@ -11366,7 +11508,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "bincount.pyx":724 + /* "bincount.pyx":729 * return y, nans * if w is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -11377,7 +11519,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_4; __pyx_t_10+=1) { __pyx_v_i0 = __pyx_t_10; - /* "bincount.pyx":725 + /* "bincount.pyx":730 * if w is None: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -11387,7 +11529,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_11 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":726 + /* "bincount.pyx":731 * for i0 in range(n0): * ai = a[i0] * if ai != ai: # <<<<<<<<<<<<<< @@ -11397,7 +11539,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_2) { - /* "bincount.pyx":727 + /* "bincount.pyx":732 * ai = a[i0] * if ai != ai: * nans += 1 # <<<<<<<<<<<<<< @@ -11406,7 +11548,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_nans = (__pyx_v_nans + 1.0); - /* "bincount.pyx":728 + /* "bincount.pyx":733 * if ai != ai: * nans += 1 * continue # <<<<<<<<<<<<<< @@ -11416,7 +11558,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P goto __pyx_L10_continue; } - /* "bincount.pyx":729 + /* "bincount.pyx":734 * nans += 1 * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -11426,21 +11568,21 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_2 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_2) { - /* "bincount.pyx":730 + /* "bincount.pyx":735 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__34, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":731 + /* "bincount.pyx":736 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -11449,7 +11591,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":732 + /* "bincount.pyx":737 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -11464,32 +11606,32 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((!(__pyx_t_2 != 0)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":733 + /* "bincount.pyx":738 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":734 + /* "bincount.pyx":739 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -11499,18 +11641,18 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":736 + /* "bincount.pyx":741 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[ain] += 1 * else: */ - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -11519,30 +11661,30 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_5 = 0; __pyx_t_9 = 0; - /* "bincount.pyx":735 + /* "bincount.pyx":740 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[ain] += 1 */ - __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_13); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_13); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_13, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_13, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":737 + /* "bincount.pyx":742 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[ain] += 1 # <<<<<<<<<<<<<< @@ -11557,7 +11699,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P } /*else*/ { - /* "bincount.pyx":739 + /* "bincount.pyx":744 * y[ain] += 1 * else: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -11568,7 +11710,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_4; __pyx_t_10+=1) { __pyx_v_i0 = __pyx_t_10; - /* "bincount.pyx":740 + /* "bincount.pyx":745 * else: * for i0 in range(n0): * wt = w[i0] # <<<<<<<<<<<<<< @@ -11578,7 +11720,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_15 = __pyx_v_i0; __pyx_v_wt = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_w.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_w.diminfo[0].strides)); - /* "bincount.pyx":741 + /* "bincount.pyx":746 * for i0 in range(n0): * wt = w[i0] * ai = a[i0] # <<<<<<<<<<<<<< @@ -11588,7 +11730,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_16 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":742 + /* "bincount.pyx":747 * wt = w[i0] * ai = a[i0] * if ai != ai: # <<<<<<<<<<<<<< @@ -11598,7 +11740,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_1) { - /* "bincount.pyx":743 + /* "bincount.pyx":748 * ai = a[i0] * if ai != ai: * nans += wt # <<<<<<<<<<<<<< @@ -11607,7 +11749,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_nans = (__pyx_v_nans + __pyx_v_wt); - /* "bincount.pyx":744 + /* "bincount.pyx":749 * if ai != ai: * nans += wt * continue # <<<<<<<<<<<<<< @@ -11617,7 +11759,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P goto __pyx_L16_continue; } - /* "bincount.pyx":745 + /* "bincount.pyx":750 * nans += wt * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -11627,21 +11769,21 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_1) { - /* "bincount.pyx":746 + /* "bincount.pyx":751 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__37, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":747 + /* "bincount.pyx":752 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -11650,7 +11792,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":748 + /* "bincount.pyx":753 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -11665,32 +11807,32 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_2) { - /* "bincount.pyx":749 + /* "bincount.pyx":754 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_13 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_Raise(__pyx_t_13, 0, 0, 0); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":750 + /* "bincount.pyx":755 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -11700,18 +11842,18 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_2 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":752 + /* "bincount.pyx":757 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[ain] += wt * return y, nans */ - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -11720,30 +11862,30 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_13 = 0; __pyx_t_9 = 0; - /* "bincount.pyx":751 + /* "bincount.pyx":756 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[ain] += wt */ - __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":753 + /* "bincount.pyx":758 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[ain] += wt # <<<<<<<<<<<<<< @@ -11757,7 +11899,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P } __pyx_L9:; - /* "bincount.pyx":754 + /* "bincount.pyx":759 * (ain, max_val)) * y[ain] += wt * return y, nans # <<<<<<<<<<<<<< @@ -11765,9 +11907,9 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_y)); @@ -11779,7 +11921,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P __pyx_t_5 = 0; goto __pyx_L0; - /* "bincount.pyx":702 + /* "bincount.pyx":707 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -11814,7 +11956,7 @@ static PyObject *__pyx_pf_8bincount_28bincount_1d_float_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "bincount.pyx":758 +/* "bincount.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -11841,7 +11983,7 @@ static PyObject *__pyx_pw_8bincount_31bincount_1d_float32_axisNone(PyObject *__p static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":760 + /* "bincount.pyx":765 * def bincount_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -11850,7 +11992,7 @@ static PyObject *__pyx_pw_8bincount_31bincount_1d_float32_axisNone(PyObject *__p */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":761 + /* "bincount.pyx":766 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -11877,7 +12019,7 @@ static PyObject *__pyx_pw_8bincount_31bincount_1d_float32_axisNone(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_1d_float32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_float32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -11891,7 +12033,7 @@ static PyObject *__pyx_pw_8bincount_31bincount_1d_float32_axisNone(PyObject *__p } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -11904,24 +12046,24 @@ static PyObject *__pyx_pw_8bincount_31bincount_1d_float32_axisNone(PyObject *__p } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_1d_float32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_float32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_30bincount_1d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":758 + /* "bincount.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -11997,21 +12139,21 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":766 + /* "bincount.pyx":771 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -12020,7 +12162,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":767 + /* "bincount.pyx":772 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -12029,7 +12171,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":768 + /* "bincount.pyx":773 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: # <<<<<<<<<<<<<< @@ -12045,27 +12187,27 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_v_n0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":769 + /* "bincount.pyx":774 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__38, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":772 + /* "bincount.pyx":777 * * cdef: * np.npy_intp *dims = [max_val+1] # <<<<<<<<<<<<<< @@ -12075,22 +12217,22 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_6[0] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_6; - /* "bincount.pyx":773 + /* "bincount.pyx":778 * cdef: * np.npy_intp *dims = [max_val+1] * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * float nans = 0 * int ain */ - __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_7 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -12098,7 +12240,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":774 + /* "bincount.pyx":779 * np.npy_intp *dims = [max_val+1] * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) * float nans = 0 # <<<<<<<<<<<<<< @@ -12107,7 +12249,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_nans = 0.0; - /* "bincount.pyx":777 + /* "bincount.pyx":782 * int ain * float ai, wt * if mask is not None and not mask[0]: # <<<<<<<<<<<<<< @@ -12129,7 +12271,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_L7_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":778 + /* "bincount.pyx":783 * float ai, wt * if mask is not None and not mask[0]: * return y, nans # <<<<<<<<<<<<<< @@ -12137,9 +12279,9 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED * for i0 in range(n0): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)__pyx_v_y)); @@ -12152,7 +12294,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED goto __pyx_L0; } - /* "bincount.pyx":779 + /* "bincount.pyx":784 * if mask is not None and not mask[0]: * return y, nans * if w is None: # <<<<<<<<<<<<<< @@ -12163,7 +12305,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "bincount.pyx":780 + /* "bincount.pyx":785 * return y, nans * if w is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -12174,7 +12316,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_4; __pyx_t_10+=1) { __pyx_v_i0 = __pyx_t_10; - /* "bincount.pyx":781 + /* "bincount.pyx":786 * if w is None: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -12184,7 +12326,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_11 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":782 + /* "bincount.pyx":787 * for i0 in range(n0): * ai = a[i0] * if ai != ai: # <<<<<<<<<<<<<< @@ -12194,7 +12336,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_2) { - /* "bincount.pyx":783 + /* "bincount.pyx":788 * ai = a[i0] * if ai != ai: * nans += 1 # <<<<<<<<<<<<<< @@ -12203,7 +12345,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_nans = (__pyx_v_nans + 1.0); - /* "bincount.pyx":784 + /* "bincount.pyx":789 * if ai != ai: * nans += 1 * continue # <<<<<<<<<<<<<< @@ -12213,7 +12355,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED goto __pyx_L10_continue; } - /* "bincount.pyx":785 + /* "bincount.pyx":790 * nans += 1 * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -12223,21 +12365,21 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_2 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_2) { - /* "bincount.pyx":786 + /* "bincount.pyx":791 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__37, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__39, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":787 + /* "bincount.pyx":792 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -12246,7 +12388,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":788 + /* "bincount.pyx":793 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -12261,32 +12403,32 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((!(__pyx_t_2 != 0)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":789 + /* "bincount.pyx":794 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":790 + /* "bincount.pyx":795 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -12296,18 +12438,18 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":792 + /* "bincount.pyx":797 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[ain] += 1 * else: */ - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -12316,30 +12458,30 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_5 = 0; __pyx_t_9 = 0; - /* "bincount.pyx":791 + /* "bincount.pyx":796 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[ain] += 1 */ - __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_13); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_13); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_13, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_13, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":793 + /* "bincount.pyx":798 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[ain] += 1 # <<<<<<<<<<<<<< @@ -12354,7 +12496,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED } /*else*/ { - /* "bincount.pyx":795 + /* "bincount.pyx":800 * y[ain] += 1 * else: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -12365,7 +12507,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_4; __pyx_t_10+=1) { __pyx_v_i0 = __pyx_t_10; - /* "bincount.pyx":796 + /* "bincount.pyx":801 * else: * for i0 in range(n0): * wt = w[i0] # <<<<<<<<<<<<<< @@ -12375,7 +12517,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_15 = __pyx_v_i0; __pyx_v_wt = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_w.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_w.diminfo[0].strides)); - /* "bincount.pyx":797 + /* "bincount.pyx":802 * for i0 in range(n0): * wt = w[i0] * ai = a[i0] # <<<<<<<<<<<<<< @@ -12385,7 +12527,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_16 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":798 + /* "bincount.pyx":803 * wt = w[i0] * ai = a[i0] * if ai != ai: # <<<<<<<<<<<<<< @@ -12395,7 +12537,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_1) { - /* "bincount.pyx":799 + /* "bincount.pyx":804 * ai = a[i0] * if ai != ai: * nans += wt # <<<<<<<<<<<<<< @@ -12404,7 +12546,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_nans = (__pyx_v_nans + __pyx_v_wt); - /* "bincount.pyx":800 + /* "bincount.pyx":805 * if ai != ai: * nans += wt * continue # <<<<<<<<<<<<<< @@ -12414,7 +12556,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED goto __pyx_L16_continue; } - /* "bincount.pyx":801 + /* "bincount.pyx":806 * nans += wt * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -12424,21 +12566,21 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_1) { - /* "bincount.pyx":802 + /* "bincount.pyx":807 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__38, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__40, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":803 + /* "bincount.pyx":808 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -12447,7 +12589,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":804 + /* "bincount.pyx":809 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -12462,32 +12604,32 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_2) { - /* "bincount.pyx":805 + /* "bincount.pyx":810 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_13 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_Raise(__pyx_t_13, 0, 0, 0); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":806 + /* "bincount.pyx":811 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -12497,18 +12639,18 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_2 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":808 + /* "bincount.pyx":813 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[ain] += wt * return y, nans */ - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -12517,30 +12659,30 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_13 = 0; __pyx_t_9 = 0; - /* "bincount.pyx":807 + /* "bincount.pyx":812 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[ain] += wt */ - __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":809 + /* "bincount.pyx":814 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[ain] += wt # <<<<<<<<<<<<<< @@ -12554,7 +12696,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED } __pyx_L9:; - /* "bincount.pyx":810 + /* "bincount.pyx":815 * (ain, max_val)) * y[ain] += wt * return y, nans # <<<<<<<<<<<<<< @@ -12562,9 +12704,9 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_y)); @@ -12576,7 +12718,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED __pyx_t_5 = 0; goto __pyx_L0; - /* "bincount.pyx":758 + /* "bincount.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -12611,7 +12753,7 @@ static PyObject *__pyx_pf_8bincount_30bincount_1d_float32_axisNone(CYTHON_UNUSED return __pyx_r; } -/* "bincount.pyx":814 +/* "bincount.pyx":819 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -12638,7 +12780,7 @@ static PyObject *__pyx_pw_8bincount_33bincount_1d_float64_axisNone(PyObject *__p static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":816 + /* "bincount.pyx":821 * def bincount_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -12647,7 +12789,7 @@ static PyObject *__pyx_pw_8bincount_33bincount_1d_float64_axisNone(PyObject *__p */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":817 + /* "bincount.pyx":822 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -12674,7 +12816,7 @@ static PyObject *__pyx_pw_8bincount_33bincount_1d_float64_axisNone(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_1d_float64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_float64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -12688,7 +12830,7 @@ static PyObject *__pyx_pw_8bincount_33bincount_1d_float64_axisNone(PyObject *__p } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_1d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -12701,24 +12843,24 @@ static PyObject *__pyx_pw_8bincount_33bincount_1d_float64_axisNone(PyObject *__p } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_1d_float64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_1d_float64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_32bincount_1d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":814 + /* "bincount.pyx":819 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -12794,21 +12936,21 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":822 + /* "bincount.pyx":827 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -12817,7 +12959,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":823 + /* "bincount.pyx":828 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -12826,7 +12968,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":824 + /* "bincount.pyx":829 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: # <<<<<<<<<<<<<< @@ -12842,27 +12984,27 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_v_n0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":825 + /* "bincount.pyx":830 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__39, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__41, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":828 + /* "bincount.pyx":833 * * cdef: * np.npy_intp *dims = [max_val+1] # <<<<<<<<<<<<<< @@ -12872,22 +13014,22 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_6[0] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_6; - /* "bincount.pyx":829 + /* "bincount.pyx":834 * cdef: * np.npy_intp *dims = [max_val+1] * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * float nans = 0 * int ain */ - __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_7 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -12895,7 +13037,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; - /* "bincount.pyx":830 + /* "bincount.pyx":835 * np.npy_intp *dims = [max_val+1] * np.ndarray[np.float64_t, ndim=1] y = PyArray_ZEROS(1, dims, NPY_float64, 0) * float nans = 0 # <<<<<<<<<<<<<< @@ -12904,7 +13046,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_nans = 0.0; - /* "bincount.pyx":833 + /* "bincount.pyx":838 * int ain * float ai, wt * if mask is not None and not mask[0]: # <<<<<<<<<<<<<< @@ -12926,7 +13068,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_L7_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":834 + /* "bincount.pyx":839 * float ai, wt * if mask is not None and not mask[0]: * return y, nans # <<<<<<<<<<<<<< @@ -12934,9 +13076,9 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED * for i0 in range(n0): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)__pyx_v_y)); @@ -12949,7 +13091,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED goto __pyx_L0; } - /* "bincount.pyx":835 + /* "bincount.pyx":840 * if mask is not None and not mask[0]: * return y, nans * if w is None: # <<<<<<<<<<<<<< @@ -12960,7 +13102,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "bincount.pyx":836 + /* "bincount.pyx":841 * return y, nans * if w is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -12971,7 +13113,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_4; __pyx_t_10+=1) { __pyx_v_i0 = __pyx_t_10; - /* "bincount.pyx":837 + /* "bincount.pyx":842 * if w is None: * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -12981,7 +13123,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_11 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":838 + /* "bincount.pyx":843 * for i0 in range(n0): * ai = a[i0] * if ai != ai: # <<<<<<<<<<<<<< @@ -12991,7 +13133,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_2) { - /* "bincount.pyx":839 + /* "bincount.pyx":844 * ai = a[i0] * if ai != ai: * nans += 1 # <<<<<<<<<<<<<< @@ -13000,7 +13142,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_nans = (__pyx_v_nans + 1.0); - /* "bincount.pyx":840 + /* "bincount.pyx":845 * if ai != ai: * nans += 1 * continue # <<<<<<<<<<<<<< @@ -13010,7 +13152,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED goto __pyx_L10_continue; } - /* "bincount.pyx":841 + /* "bincount.pyx":846 * nans += 1 * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -13020,21 +13162,21 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_2 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_2) { - /* "bincount.pyx":842 + /* "bincount.pyx":847 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__40, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__42, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":843 + /* "bincount.pyx":848 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -13043,7 +13185,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":844 + /* "bincount.pyx":849 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -13058,32 +13200,32 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((!(__pyx_t_2 != 0)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":845 + /* "bincount.pyx":850 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":846 + /* "bincount.pyx":851 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -13093,18 +13235,18 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":848 + /* "bincount.pyx":853 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[ain] += 1 * else: */ - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -13113,30 +13255,30 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_5 = 0; __pyx_t_9 = 0; - /* "bincount.pyx":847 + /* "bincount.pyx":852 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[ain] += 1 */ - __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_13); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_13); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_13, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_13, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":849 + /* "bincount.pyx":854 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[ain] += 1 # <<<<<<<<<<<<<< @@ -13151,7 +13293,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED } /*else*/ { - /* "bincount.pyx":851 + /* "bincount.pyx":856 * y[ain] += 1 * else: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -13162,7 +13304,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_4; __pyx_t_10+=1) { __pyx_v_i0 = __pyx_t_10; - /* "bincount.pyx":852 + /* "bincount.pyx":857 * else: * for i0 in range(n0): * wt = w[i0] # <<<<<<<<<<<<<< @@ -13172,7 +13314,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_15 = __pyx_v_i0; __pyx_v_wt = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_w.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_w.diminfo[0].strides)); - /* "bincount.pyx":853 + /* "bincount.pyx":858 * for i0 in range(n0): * wt = w[i0] * ai = a[i0] # <<<<<<<<<<<<<< @@ -13182,7 +13324,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_16 = __pyx_v_i0; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "bincount.pyx":854 + /* "bincount.pyx":859 * wt = w[i0] * ai = a[i0] * if ai != ai: # <<<<<<<<<<<<<< @@ -13192,7 +13334,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_1) { - /* "bincount.pyx":855 + /* "bincount.pyx":860 * ai = a[i0] * if ai != ai: * nans += wt # <<<<<<<<<<<<<< @@ -13201,7 +13343,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_nans = (__pyx_v_nans + __pyx_v_wt); - /* "bincount.pyx":856 + /* "bincount.pyx":861 * if ai != ai: * nans += wt * continue # <<<<<<<<<<<<<< @@ -13211,7 +13353,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED goto __pyx_L16_continue; } - /* "bincount.pyx":857 + /* "bincount.pyx":862 * nans += wt * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -13221,21 +13363,21 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_1) { - /* "bincount.pyx":858 + /* "bincount.pyx":863 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__41, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__43, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":859 + /* "bincount.pyx":864 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -13244,7 +13386,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":860 + /* "bincount.pyx":865 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -13259,32 +13401,32 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_2) { - /* "bincount.pyx":861 + /* "bincount.pyx":866 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_13 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_9); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_Raise(__pyx_t_13, 0, 0, 0); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":862 + /* "bincount.pyx":867 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -13294,18 +13436,18 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_2 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_2) { - /* "bincount.pyx":864 + /* "bincount.pyx":869 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[ain] += wt * return y, nans */ - __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); - __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); @@ -13314,30 +13456,30 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_13 = 0; __pyx_t_9 = 0; - /* "bincount.pyx":863 + /* "bincount.pyx":868 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[ain] += wt */ - __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_5); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":865 + /* "bincount.pyx":870 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[ain] += wt # <<<<<<<<<<<<<< @@ -13351,7 +13493,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED } __pyx_L9:; - /* "bincount.pyx":866 + /* "bincount.pyx":871 * (ain, max_val)) * y[ain] += wt * return y, nans # <<<<<<<<<<<<<< @@ -13359,9 +13501,9 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_nans); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_y)); @@ -13373,7 +13515,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED __pyx_t_5 = 0; goto __pyx_L0; - /* "bincount.pyx":814 + /* "bincount.pyx":819 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< @@ -13408,7 +13550,7 @@ static PyObject *__pyx_pf_8bincount_32bincount_1d_float64_axisNone(CYTHON_UNUSED return __pyx_r; } -/* "bincount.pyx":870 +/* "bincount.pyx":875 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -13435,7 +13577,7 @@ static PyObject *__pyx_pw_8bincount_35bincount_2d_float_axisNone(PyObject *__pyx static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":872 + /* "bincount.pyx":877 * def bincount_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -13444,7 +13586,7 @@ static PyObject *__pyx_pw_8bincount_35bincount_2d_float_axisNone(PyObject *__pyx */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":873 + /* "bincount.pyx":878 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -13471,7 +13613,7 @@ static PyObject *__pyx_pw_8bincount_35bincount_2d_float_axisNone(PyObject *__pyx case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_2d_float_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_float_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -13485,7 +13627,7 @@ static PyObject *__pyx_pw_8bincount_35bincount_2d_float_axisNone(PyObject *__pyx } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -13498,24 +13640,24 @@ static PyObject *__pyx_pw_8bincount_35bincount_2d_float_axisNone(PyObject *__pyx } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_2d_float_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_float_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 872; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_34bincount_2d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":870 + /* "bincount.pyx":875 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -13618,21 +13760,21 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":878 + /* "bincount.pyx":883 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -13641,7 +13783,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":879 + /* "bincount.pyx":884 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -13650,7 +13792,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":880 + /* "bincount.pyx":885 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -13659,7 +13801,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "bincount.pyx":881 + /* "bincount.pyx":886 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): # <<<<<<<<<<<<<< @@ -13675,28 +13817,28 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_t_5) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":882 + /* "bincount.pyx":887 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__42, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__44, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":885 + /* "bincount.pyx":890 * * cdef: * np.npy_intp *dims = [n1, max_val+1] # <<<<<<<<<<<<<< @@ -13707,22 +13849,22 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":886 + /* "bincount.pyx":891 * cdef: * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.npy_intp *nandims = [n1] * np.ndarray[np.float_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) */ - __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -13730,7 +13872,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_v_y = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":887 + /* "bincount.pyx":892 * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] # <<<<<<<<<<<<<< @@ -13740,22 +13882,22 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_9[0] = __pyx_v_n1; __pyx_v_nandims = __pyx_t_9; - /* "bincount.pyx":888 + /* "bincount.pyx":893 * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] * np.ndarray[np.float_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ain * float ai, wt */ - __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -13763,7 +13905,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_v_nans = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":891 + /* "bincount.pyx":896 * int ain * float ai, wt * if mask is None: # <<<<<<<<<<<<<< @@ -13774,7 +13916,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { - /* "bincount.pyx":892 + /* "bincount.pyx":897 * float ai, wt * if mask is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -13785,7 +13927,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i0 = __pyx_t_4; - /* "bincount.pyx":893 + /* "bincount.pyx":898 * if mask is None: * for i0 in range(n0): * wt = 1 if w is None else w[i0] # <<<<<<<<<<<<<< @@ -13801,7 +13943,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P } __pyx_v_wt = __pyx_t_11; - /* "bincount.pyx":894 + /* "bincount.pyx":899 * for i0 in range(n0): * wt = 1 if w is None else w[i0] * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -13812,7 +13954,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_i1 = __pyx_t_14; - /* "bincount.pyx":895 + /* "bincount.pyx":900 * wt = 1 if w is None else w[i0] * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -13823,7 +13965,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_16 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":896 + /* "bincount.pyx":901 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -13833,7 +13975,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_3) { - /* "bincount.pyx":897 + /* "bincount.pyx":902 * ai = a[i0, i1] * if ai != ai: * nans[i1] += wt # <<<<<<<<<<<<<< @@ -13843,7 +13985,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_17 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_nans.diminfo[0].strides) += __pyx_v_wt; - /* "bincount.pyx":898 + /* "bincount.pyx":903 * if ai != ai: * nans[i1] += wt * continue # <<<<<<<<<<<<<< @@ -13853,7 +13995,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P goto __pyx_L9_continue; } - /* "bincount.pyx":899 + /* "bincount.pyx":904 * nans[i1] += wt * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -13863,21 +14005,21 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_3) { - /* "bincount.pyx":900 + /* "bincount.pyx":905 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__43, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":901 + /* "bincount.pyx":906 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -13886,7 +14028,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":902 + /* "bincount.pyx":907 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -13901,32 +14043,32 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((!(__pyx_t_3 != 0)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":903 + /* "bincount.pyx":908 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_19, 0, 0, 0); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":904 + /* "bincount.pyx":909 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -13936,18 +14078,18 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":906 + /* "bincount.pyx":911 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[i1, ain] += wt * elif w is None: */ - __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); @@ -13956,30 +14098,30 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_19 = 0; __pyx_t_6 = 0; - /* "bincount.pyx":905 + /* "bincount.pyx":910 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[i1, ain] += wt */ - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":907 + /* "bincount.pyx":912 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[i1, ain] += wt # <<<<<<<<<<<<<< @@ -13995,7 +14137,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P goto __pyx_L6; } - /* "bincount.pyx":908 + /* "bincount.pyx":913 * (ain, max_val)) * y[i1, ain] += wt * elif w is None: # <<<<<<<<<<<<<< @@ -14006,7 +14148,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { - /* "bincount.pyx":909 + /* "bincount.pyx":914 * y[i1, ain] += wt * elif w is None: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -14017,7 +14159,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":910 + /* "bincount.pyx":915 * elif w is None: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -14028,7 +14170,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_3) { - /* "bincount.pyx":911 + /* "bincount.pyx":916 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -14039,7 +14181,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_14; __pyx_t_23+=1) { __pyx_v_i0 = __pyx_t_23; - /* "bincount.pyx":912 + /* "bincount.pyx":917 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -14050,7 +14192,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_25 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":913 + /* "bincount.pyx":918 * for i0 in range(n0): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -14060,7 +14202,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_3) { - /* "bincount.pyx":914 + /* "bincount.pyx":919 * ai = a[i0, i1] * if ai != ai: * nans[i1] += 1 # <<<<<<<<<<<<<< @@ -14070,7 +14212,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_26 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_nans.diminfo[0].strides) += 1.0; - /* "bincount.pyx":915 + /* "bincount.pyx":920 * if ai != ai: * nans[i1] += 1 * continue # <<<<<<<<<<<<<< @@ -14080,7 +14222,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P goto __pyx_L18_continue; } - /* "bincount.pyx":916 + /* "bincount.pyx":921 * nans[i1] += 1 * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -14090,21 +14232,21 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_3) { - /* "bincount.pyx":917 + /* "bincount.pyx":922 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__44, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__46, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":918 + /* "bincount.pyx":923 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -14113,7 +14255,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":919 + /* "bincount.pyx":924 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -14128,32 +14270,32 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((!(__pyx_t_3 != 0)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":920 + /* "bincount.pyx":925 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_20 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_20, 0, 0, 0); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":921 + /* "bincount.pyx":926 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -14163,18 +14305,18 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":923 + /* "bincount.pyx":928 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[i1, ain] += 1 * else: */ - __pyx_t_20 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = PyTuple_New(2); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = PyTuple_New(2); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_20); @@ -14183,30 +14325,30 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_20 = 0; __pyx_t_6 = 0; - /* "bincount.pyx":922 + /* "bincount.pyx":927 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[i1, ain] += 1 */ - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_19); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_19); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = PyTuple_New(1); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = PyTuple_New(1); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_19, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_19, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":924 + /* "bincount.pyx":929 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[i1, ain] += 1 # <<<<<<<<<<<<<< @@ -14226,7 +14368,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P } /*else*/ { - /* "bincount.pyx":926 + /* "bincount.pyx":931 * y[i1, ain] += 1 * else: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -14237,7 +14379,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":927 + /* "bincount.pyx":932 * else: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -14248,7 +14390,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":928 + /* "bincount.pyx":933 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -14259,7 +14401,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_29 = 0; __pyx_t_29 < __pyx_t_23; __pyx_t_29+=1) { __pyx_v_i0 = __pyx_t_29; - /* "bincount.pyx":929 + /* "bincount.pyx":934 * if mask[i1]: * for i0 in range(n0): * wt = w[i0] # <<<<<<<<<<<<<< @@ -14269,7 +14411,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_30 = __pyx_v_i0; __pyx_v_wt = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_w.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_w.diminfo[0].strides)); - /* "bincount.pyx":930 + /* "bincount.pyx":935 * for i0 in range(n0): * wt = w[i0] * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -14280,7 +14422,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_32 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_31, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_32, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":931 + /* "bincount.pyx":936 * wt = w[i0] * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -14290,7 +14432,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_1) { - /* "bincount.pyx":932 + /* "bincount.pyx":937 * ai = a[i0, i1] * if ai != ai: * nans[i1] += wt # <<<<<<<<<<<<<< @@ -14300,7 +14442,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_33 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_33, __pyx_pybuffernd_nans.diminfo[0].strides) += __pyx_v_wt; - /* "bincount.pyx":933 + /* "bincount.pyx":938 * if ai != ai: * nans[i1] += wt * continue # <<<<<<<<<<<<<< @@ -14310,7 +14452,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P goto __pyx_L27_continue; } - /* "bincount.pyx":934 + /* "bincount.pyx":939 * nans[i1] += wt * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -14320,21 +14462,21 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_1) { - /* "bincount.pyx":935 + /* "bincount.pyx":940 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__47, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":936 + /* "bincount.pyx":941 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -14343,7 +14485,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":937 + /* "bincount.pyx":942 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -14358,32 +14500,32 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_3) { - /* "bincount.pyx":938 + /* "bincount.pyx":943 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_19, 0, 0, 0); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":939 + /* "bincount.pyx":944 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -14393,18 +14535,18 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_3 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_3) { - /* "bincount.pyx":941 + /* "bincount.pyx":946 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[i1, ain] += wt * return y, nans */ - __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); @@ -14413,30 +14555,30 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_19 = 0; __pyx_t_6 = 0; - /* "bincount.pyx":940 + /* "bincount.pyx":945 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[i1, ain] += wt */ - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":942 + /* "bincount.pyx":947 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[i1, ain] += wt # <<<<<<<<<<<<<< @@ -14455,7 +14597,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P } __pyx_L6:; - /* "bincount.pyx":943 + /* "bincount.pyx":948 * (ain, max_val)) * y[i1, ain] += wt * return y, nans # <<<<<<<<<<<<<< @@ -14463,7 +14605,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 948; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_y)); @@ -14475,7 +14617,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P __pyx_t_6 = 0; goto __pyx_L0; - /* "bincount.pyx":870 + /* "bincount.pyx":875 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -14513,7 +14655,7 @@ static PyObject *__pyx_pf_8bincount_34bincount_2d_float_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "bincount.pyx":947 +/* "bincount.pyx":952 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -14540,7 +14682,7 @@ static PyObject *__pyx_pw_8bincount_37bincount_2d_float32_axisNone(PyObject *__p static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":949 + /* "bincount.pyx":954 * def bincount_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -14549,7 +14691,7 @@ static PyObject *__pyx_pw_8bincount_37bincount_2d_float32_axisNone(PyObject *__p */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":950 + /* "bincount.pyx":955 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -14576,7 +14718,7 @@ static PyObject *__pyx_pw_8bincount_37bincount_2d_float32_axisNone(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_2d_float32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_float32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -14590,7 +14732,7 @@ static PyObject *__pyx_pw_8bincount_37bincount_2d_float32_axisNone(PyObject *__p } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -14603,24 +14745,24 @@ static PyObject *__pyx_pw_8bincount_37bincount_2d_float32_axisNone(PyObject *__p } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 948; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_2d_float32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_float32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_36bincount_2d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":947 + /* "bincount.pyx":952 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -14723,21 +14865,21 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":955 + /* "bincount.pyx":960 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -14746,7 +14888,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":956 + /* "bincount.pyx":961 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -14755,7 +14897,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":957 + /* "bincount.pyx":962 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -14764,7 +14906,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "bincount.pyx":958 + /* "bincount.pyx":963 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): # <<<<<<<<<<<<<< @@ -14780,28 +14922,28 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_t_5) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":959 + /* "bincount.pyx":964 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__46, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__48, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":962 + /* "bincount.pyx":967 * * cdef: * np.npy_intp *dims = [n1, max_val+1] # <<<<<<<<<<<<<< @@ -14812,22 +14954,22 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":963 + /* "bincount.pyx":968 * cdef: * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.npy_intp *nandims = [n1] * np.ndarray[np.float_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) */ - __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -14835,7 +14977,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":964 + /* "bincount.pyx":969 * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] # <<<<<<<<<<<<<< @@ -14845,22 +14987,22 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_9[0] = __pyx_v_n1; __pyx_v_nandims = __pyx_t_9; - /* "bincount.pyx":965 + /* "bincount.pyx":970 * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] * np.ndarray[np.float_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ain * float ai, wt */ - __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -14868,7 +15010,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_v_nans = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":968 + /* "bincount.pyx":973 * int ain * float ai, wt * if mask is None: # <<<<<<<<<<<<<< @@ -14879,7 +15021,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { - /* "bincount.pyx":969 + /* "bincount.pyx":974 * float ai, wt * if mask is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -14890,7 +15032,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i0 = __pyx_t_4; - /* "bincount.pyx":970 + /* "bincount.pyx":975 * if mask is None: * for i0 in range(n0): * wt = 1 if w is None else w[i0] # <<<<<<<<<<<<<< @@ -14906,7 +15048,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED } __pyx_v_wt = __pyx_t_11; - /* "bincount.pyx":971 + /* "bincount.pyx":976 * for i0 in range(n0): * wt = 1 if w is None else w[i0] * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -14917,7 +15059,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_i1 = __pyx_t_14; - /* "bincount.pyx":972 + /* "bincount.pyx":977 * wt = 1 if w is None else w[i0] * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -14928,7 +15070,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_16 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":973 + /* "bincount.pyx":978 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -14938,7 +15080,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_3 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_3) { - /* "bincount.pyx":974 + /* "bincount.pyx":979 * ai = a[i0, i1] * if ai != ai: * nans[i1] += wt # <<<<<<<<<<<<<< @@ -14948,7 +15090,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_17 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_nans.diminfo[0].strides) += __pyx_v_wt; - /* "bincount.pyx":975 + /* "bincount.pyx":980 * if ai != ai: * nans[i1] += wt * continue # <<<<<<<<<<<<<< @@ -14958,7 +15100,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED goto __pyx_L9_continue; } - /* "bincount.pyx":976 + /* "bincount.pyx":981 * nans[i1] += wt * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -14968,21 +15110,21 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_3 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_3) { - /* "bincount.pyx":977 + /* "bincount.pyx":982 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__47, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__49, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":978 + /* "bincount.pyx":983 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -14991,7 +15133,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":979 + /* "bincount.pyx":984 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -15006,32 +15148,32 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((!(__pyx_t_3 != 0)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":980 + /* "bincount.pyx":985 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_19, 0, 0, 0); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":981 + /* "bincount.pyx":986 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -15041,18 +15183,18 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":983 + /* "bincount.pyx":988 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[i1, ain] += wt * elif w is None: */ - __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 988; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 988; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 988; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); @@ -15061,30 +15203,30 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_19 = 0; __pyx_t_6 = 0; - /* "bincount.pyx":982 + /* "bincount.pyx":987 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[i1, ain] += wt */ - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":984 + /* "bincount.pyx":989 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[i1, ain] += wt # <<<<<<<<<<<<<< @@ -15100,7 +15242,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED goto __pyx_L6; } - /* "bincount.pyx":985 + /* "bincount.pyx":990 * (ain, max_val)) * y[i1, ain] += wt * elif w is None: # <<<<<<<<<<<<<< @@ -15111,7 +15253,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { - /* "bincount.pyx":986 + /* "bincount.pyx":991 * y[i1, ain] += wt * elif w is None: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -15122,7 +15264,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":987 + /* "bincount.pyx":992 * elif w is None: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -15133,7 +15275,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_3 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_3) { - /* "bincount.pyx":988 + /* "bincount.pyx":993 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -15144,7 +15286,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_14; __pyx_t_23+=1) { __pyx_v_i0 = __pyx_t_23; - /* "bincount.pyx":989 + /* "bincount.pyx":994 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -15155,7 +15297,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_25 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":990 + /* "bincount.pyx":995 * for i0 in range(n0): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -15165,7 +15307,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_3 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_3) { - /* "bincount.pyx":991 + /* "bincount.pyx":996 * ai = a[i0, i1] * if ai != ai: * nans[i1] += 1 # <<<<<<<<<<<<<< @@ -15175,7 +15317,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_26 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_nans.diminfo[0].strides) += 1.0; - /* "bincount.pyx":992 + /* "bincount.pyx":997 * if ai != ai: * nans[i1] += 1 * continue # <<<<<<<<<<<<<< @@ -15185,7 +15327,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED goto __pyx_L18_continue; } - /* "bincount.pyx":993 + /* "bincount.pyx":998 * nans[i1] += 1 * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -15195,21 +15337,21 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_3 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_3) { - /* "bincount.pyx":994 + /* "bincount.pyx":999 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__48, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__50, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":995 + /* "bincount.pyx":1000 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -15218,7 +15360,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":996 + /* "bincount.pyx":1001 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -15233,32 +15375,32 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((!(__pyx_t_3 != 0)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":997 + /* "bincount.pyx":1002 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_20 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_20, 0, 0, 0); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":998 + /* "bincount.pyx":1003 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -15268,18 +15410,18 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1000 + /* "bincount.pyx":1005 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[i1, ain] += 1 * else: */ - __pyx_t_20 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1000; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1000; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = PyTuple_New(2); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1000; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = PyTuple_New(2); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_20); @@ -15288,30 +15430,30 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_20 = 0; __pyx_t_6 = 0; - /* "bincount.pyx":999 + /* "bincount.pyx":1004 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[i1, ain] += 1 */ - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_19); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_19); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = PyTuple_New(1); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = PyTuple_New(1); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_19, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_19, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1001 + /* "bincount.pyx":1006 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[i1, ain] += 1 # <<<<<<<<<<<<<< @@ -15331,7 +15473,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED } /*else*/ { - /* "bincount.pyx":1003 + /* "bincount.pyx":1008 * y[i1, ain] += 1 * else: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -15342,7 +15484,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":1004 + /* "bincount.pyx":1009 * else: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -15353,7 +15495,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1005 + /* "bincount.pyx":1010 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -15364,7 +15506,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED for (__pyx_t_29 = 0; __pyx_t_29 < __pyx_t_23; __pyx_t_29+=1) { __pyx_v_i0 = __pyx_t_29; - /* "bincount.pyx":1006 + /* "bincount.pyx":1011 * if mask[i1]: * for i0 in range(n0): * wt = w[i0] # <<<<<<<<<<<<<< @@ -15374,7 +15516,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_30 = __pyx_v_i0; __pyx_v_wt = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_w.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_w.diminfo[0].strides)); - /* "bincount.pyx":1007 + /* "bincount.pyx":1012 * for i0 in range(n0): * wt = w[i0] * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -15385,7 +15527,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_32 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_31, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_32, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":1008 + /* "bincount.pyx":1013 * wt = w[i0] * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -15395,7 +15537,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1009 + /* "bincount.pyx":1014 * ai = a[i0, i1] * if ai != ai: * nans[i1] += wt # <<<<<<<<<<<<<< @@ -15405,7 +15547,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_33 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_33, __pyx_pybuffernd_nans.diminfo[0].strides) += __pyx_v_wt; - /* "bincount.pyx":1010 + /* "bincount.pyx":1015 * if ai != ai: * nans[i1] += wt * continue # <<<<<<<<<<<<<< @@ -15415,7 +15557,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED goto __pyx_L27_continue; } - /* "bincount.pyx":1011 + /* "bincount.pyx":1016 * nans[i1] += wt * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -15425,21 +15567,21 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1012 + /* "bincount.pyx":1017 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__49, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__51, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1013 + /* "bincount.pyx":1018 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -15448,7 +15590,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":1014 + /* "bincount.pyx":1019 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -15463,32 +15605,32 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_3 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_3) { - /* "bincount.pyx":1015 + /* "bincount.pyx":1020 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_19, 0, 0, 0); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1016 + /* "bincount.pyx":1021 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -15498,18 +15640,18 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_3 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_3) { - /* "bincount.pyx":1018 + /* "bincount.pyx":1023 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[i1, ain] += wt * return y, nans */ - __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); @@ -15518,30 +15660,30 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_19 = 0; __pyx_t_6 = 0; - /* "bincount.pyx":1017 + /* "bincount.pyx":1022 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[i1, ain] += wt */ - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1019 + /* "bincount.pyx":1024 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[i1, ain] += wt # <<<<<<<<<<<<<< @@ -15560,7 +15702,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED } __pyx_L6:; - /* "bincount.pyx":1020 + /* "bincount.pyx":1025 * (ain, max_val)) * y[i1, ain] += wt * return y, nans # <<<<<<<<<<<<<< @@ -15568,7 +15710,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_y)); @@ -15580,7 +15722,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED __pyx_t_6 = 0; goto __pyx_L0; - /* "bincount.pyx":947 + /* "bincount.pyx":952 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -15618,7 +15760,7 @@ static PyObject *__pyx_pf_8bincount_36bincount_2d_float32_axisNone(CYTHON_UNUSED return __pyx_r; } -/* "bincount.pyx":1024 +/* "bincount.pyx":1029 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -15645,7 +15787,7 @@ static PyObject *__pyx_pw_8bincount_39bincount_2d_float64_axisNone(PyObject *__p static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":1026 + /* "bincount.pyx":1031 * def bincount_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -15654,7 +15796,7 @@ static PyObject *__pyx_pw_8bincount_39bincount_2d_float64_axisNone(PyObject *__p */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":1027 + /* "bincount.pyx":1032 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -15681,7 +15823,7 @@ static PyObject *__pyx_pw_8bincount_39bincount_2d_float64_axisNone(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_2d_float64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_float64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -15695,7 +15837,7 @@ static PyObject *__pyx_pw_8bincount_39bincount_2d_float64_axisNone(PyObject *__p } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_2d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -15708,24 +15850,24 @@ static PyObject *__pyx_pw_8bincount_39bincount_2d_float64_axisNone(PyObject *__p } } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_2d_float64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_2d_float64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_38bincount_2d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":1024 + /* "bincount.pyx":1029 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -15828,21 +15970,21 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":1032 + /* "bincount.pyx":1037 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -15851,7 +15993,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "bincount.pyx":1033 + /* "bincount.pyx":1038 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -15860,7 +16002,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "bincount.pyx":1034 + /* "bincount.pyx":1039 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -15869,7 +16011,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "bincount.pyx":1035 + /* "bincount.pyx":1040 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): # <<<<<<<<<<<<<< @@ -15885,28 +16027,28 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_a)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((__pyx_t_4 != __pyx_t_5) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { - /* "bincount.pyx":1036 + /* "bincount.pyx":1041 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__50, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__52, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1039 + /* "bincount.pyx":1044 * * cdef: * np.npy_intp *dims = [n1, max_val+1] # <<<<<<<<<<<<<< @@ -15917,22 +16059,22 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":1040 + /* "bincount.pyx":1045 * cdef: * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.npy_intp *nandims = [n1] * np.ndarray[np.float_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) */ - __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -15940,7 +16082,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":1041 + /* "bincount.pyx":1046 * np.npy_intp *dims = [n1, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] # <<<<<<<<<<<<<< @@ -15950,22 +16092,22 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_9[0] = __pyx_v_n1; __pyx_v_nandims = __pyx_t_9; - /* "bincount.pyx":1042 + /* "bincount.pyx":1047 * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.npy_intp *nandims = [n1] * np.ndarray[np.float_t, ndim=1] nans = PyArray_ZEROS(1, nandims, NPY_float64, 0) # <<<<<<<<<<<<<< * int ain * float ai, wt */ - __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyArray_ZEROS(1, __pyx_v_nandims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1047; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1047; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_6); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1047; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -15973,7 +16115,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_v_nans = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0; - /* "bincount.pyx":1045 + /* "bincount.pyx":1050 * int ain * float ai, wt * if mask is None: # <<<<<<<<<<<<<< @@ -15984,7 +16126,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { - /* "bincount.pyx":1046 + /* "bincount.pyx":1051 * float ai, wt * if mask is None: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -15995,7 +16137,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i0 = __pyx_t_4; - /* "bincount.pyx":1047 + /* "bincount.pyx":1052 * if mask is None: * for i0 in range(n0): * wt = 1 if w is None else w[i0] # <<<<<<<<<<<<<< @@ -16011,7 +16153,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED } __pyx_v_wt = __pyx_t_11; - /* "bincount.pyx":1048 + /* "bincount.pyx":1053 * for i0 in range(n0): * wt = 1 if w is None else w[i0] * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -16022,7 +16164,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_i1 = __pyx_t_14; - /* "bincount.pyx":1049 + /* "bincount.pyx":1054 * wt = 1 if w is None else w[i0] * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -16033,7 +16175,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_16 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":1050 + /* "bincount.pyx":1055 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -16043,7 +16185,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_3 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_3) { - /* "bincount.pyx":1051 + /* "bincount.pyx":1056 * ai = a[i0, i1] * if ai != ai: * nans[i1] += wt # <<<<<<<<<<<<<< @@ -16053,7 +16195,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_17 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_nans.diminfo[0].strides) += __pyx_v_wt; - /* "bincount.pyx":1052 + /* "bincount.pyx":1057 * if ai != ai: * nans[i1] += wt * continue # <<<<<<<<<<<<<< @@ -16063,7 +16205,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED goto __pyx_L9_continue; } - /* "bincount.pyx":1053 + /* "bincount.pyx":1058 * nans[i1] += wt * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -16073,21 +16215,21 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_3 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_3) { - /* "bincount.pyx":1054 + /* "bincount.pyx":1059 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__51, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__53, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1055 + /* "bincount.pyx":1060 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -16096,7 +16238,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":1056 + /* "bincount.pyx":1061 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -16111,32 +16253,32 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((!(__pyx_t_3 != 0)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1057 + /* "bincount.pyx":1062 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_19, 0, 0, 0); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1058 + /* "bincount.pyx":1063 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -16146,18 +16288,18 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1060 + /* "bincount.pyx":1065 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[i1, ain] += wt * elif w is None: */ - __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); @@ -16166,30 +16308,30 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_19 = 0; __pyx_t_6 = 0; - /* "bincount.pyx":1059 + /* "bincount.pyx":1064 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[i1, ain] += wt */ - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1061 + /* "bincount.pyx":1066 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[i1, ain] += wt # <<<<<<<<<<<<<< @@ -16205,7 +16347,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED goto __pyx_L6; } - /* "bincount.pyx":1062 + /* "bincount.pyx":1067 * (ain, max_val)) * y[i1, ain] += wt * elif w is None: # <<<<<<<<<<<<<< @@ -16216,7 +16358,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { - /* "bincount.pyx":1063 + /* "bincount.pyx":1068 * y[i1, ain] += wt * elif w is None: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -16227,7 +16369,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":1064 + /* "bincount.pyx":1069 * elif w is None: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -16238,7 +16380,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_3 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_3) { - /* "bincount.pyx":1065 + /* "bincount.pyx":1070 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -16249,7 +16391,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_14; __pyx_t_23+=1) { __pyx_v_i0 = __pyx_t_23; - /* "bincount.pyx":1066 + /* "bincount.pyx":1071 * if mask[i1]: * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -16260,7 +16402,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_25 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":1067 + /* "bincount.pyx":1072 * for i0 in range(n0): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -16270,7 +16412,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_3 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_3) { - /* "bincount.pyx":1068 + /* "bincount.pyx":1073 * ai = a[i0, i1] * if ai != ai: * nans[i1] += 1 # <<<<<<<<<<<<<< @@ -16280,7 +16422,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_26 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_nans.diminfo[0].strides) += 1.0; - /* "bincount.pyx":1069 + /* "bincount.pyx":1074 * if ai != ai: * nans[i1] += 1 * continue # <<<<<<<<<<<<<< @@ -16290,7 +16432,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED goto __pyx_L18_continue; } - /* "bincount.pyx":1070 + /* "bincount.pyx":1075 * nans[i1] += 1 * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -16300,21 +16442,21 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_3 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_3) { - /* "bincount.pyx":1071 + /* "bincount.pyx":1076 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__52, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__54, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1072 + /* "bincount.pyx":1077 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -16323,7 +16465,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":1073 + /* "bincount.pyx":1078 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -16338,32 +16480,32 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((!(__pyx_t_3 != 0)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1074 + /* "bincount.pyx":1079 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_20 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_20, 0, 0, 0); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1075 + /* "bincount.pyx":1080 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -16373,18 +16515,18 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1077 + /* "bincount.pyx":1082 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[i1, ain] += 1 * else: */ - __pyx_t_20 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = PyTuple_New(2); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = PyTuple_New(2); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_20); @@ -16393,30 +16535,30 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_20 = 0; __pyx_t_6 = 0; - /* "bincount.pyx":1076 + /* "bincount.pyx":1081 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[i1, ain] += 1 */ - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_19); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_19); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = PyTuple_New(1); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = PyTuple_New(1); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_19, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_19, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1078 + /* "bincount.pyx":1083 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[i1, ain] += 1 # <<<<<<<<<<<<<< @@ -16436,7 +16578,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED } /*else*/ { - /* "bincount.pyx":1080 + /* "bincount.pyx":1085 * y[i1, ain] += 1 * else: * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -16447,7 +16589,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_5; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "bincount.pyx":1081 + /* "bincount.pyx":1086 * else: * for i1 in range(n1): * if mask[i1]: # <<<<<<<<<<<<<< @@ -16458,7 +16600,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_mask.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_mask.diminfo[0].strides)) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1082 + /* "bincount.pyx":1087 * for i1 in range(n1): * if mask[i1]: * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -16469,7 +16611,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED for (__pyx_t_29 = 0; __pyx_t_29 < __pyx_t_23; __pyx_t_29+=1) { __pyx_v_i0 = __pyx_t_29; - /* "bincount.pyx":1083 + /* "bincount.pyx":1088 * if mask[i1]: * for i0 in range(n0): * wt = w[i0] # <<<<<<<<<<<<<< @@ -16479,7 +16621,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_30 = __pyx_v_i0; __pyx_v_wt = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_w.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_w.diminfo[0].strides)); - /* "bincount.pyx":1084 + /* "bincount.pyx":1089 * for i0 in range(n0): * wt = w[i0] * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -16490,7 +16632,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_32 = __pyx_v_i1; __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_31, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_32, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "bincount.pyx":1085 + /* "bincount.pyx":1090 * wt = w[i0] * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< @@ -16500,7 +16642,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1086 + /* "bincount.pyx":1091 * ai = a[i0, i1] * if ai != ai: * nans[i1] += wt # <<<<<<<<<<<<<< @@ -16510,7 +16652,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_33 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_33, __pyx_pybuffernd_nans.diminfo[0].strides) += __pyx_v_wt; - /* "bincount.pyx":1087 + /* "bincount.pyx":1092 * if ai != ai: * nans[i1] += wt * continue # <<<<<<<<<<<<<< @@ -16520,7 +16662,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED goto __pyx_L27_continue; } - /* "bincount.pyx":1088 + /* "bincount.pyx":1093 * nans[i1] += wt * continue * if ai < -1e-6: # <<<<<<<<<<<<<< @@ -16530,21 +16672,21 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = ((__pyx_v_ai < -1e-6) != 0); if (__pyx_t_1) { - /* "bincount.pyx":1089 + /* "bincount.pyx":1094 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__53, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__55, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1090 + /* "bincount.pyx":1095 * if ai < -1e-6: * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -16553,7 +16695,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":1091 + /* "bincount.pyx":1096 * raise ValueError("negative value in bincount") * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -16568,32 +16710,32 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_3 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_3) { - /* "bincount.pyx":1092 + /* "bincount.pyx":1097 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_6); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_19, 0, 0, 0); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1093 + /* "bincount.pyx":1098 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -16603,18 +16745,18 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_3 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_3) { - /* "bincount.pyx":1095 + /* "bincount.pyx":1100 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[i1, ain] += wt * return y, nans */ - __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); - __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); @@ -16623,30 +16765,30 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_19 = 0; __pyx_t_6 = 0; - /* "bincount.pyx":1094 + /* "bincount.pyx":1099 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[i1, ain] += wt */ - __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_20); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1096 + /* "bincount.pyx":1101 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[i1, ain] += wt # <<<<<<<<<<<<<< @@ -16665,7 +16807,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED } __pyx_L6:; - /* "bincount.pyx":1097 + /* "bincount.pyx":1102 * (ain, max_val)) * y[i1, ain] += wt * return y, nans # <<<<<<<<<<<<<< @@ -16673,7 +16815,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_y)); @@ -16685,7 +16827,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED __pyx_t_6 = 0; goto __pyx_L0; - /* "bincount.pyx":1024 + /* "bincount.pyx":1029 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< @@ -16723,7 +16865,7 @@ static PyObject *__pyx_pf_8bincount_38bincount_2d_float64_axisNone(CYTHON_UNUSED return __pyx_r; } -/* "bincount.pyx":1101 +/* "bincount.pyx":1106 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float_axisNone(object a, # <<<<<<<<<<<<<< @@ -16750,7 +16892,7 @@ static PyObject *__pyx_pw_8bincount_41bincount_0d_float_axisNone(PyObject *__pyx static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":1103 + /* "bincount.pyx":1108 * def bincount_0d_float_axisNone(object a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -16759,7 +16901,7 @@ static PyObject *__pyx_pw_8bincount_41bincount_0d_float_axisNone(PyObject *__pyx */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":1104 + /* "bincount.pyx":1109 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -16786,7 +16928,7 @@ static PyObject *__pyx_pw_8bincount_41bincount_0d_float_axisNone(PyObject *__pyx case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_0d_float_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_float_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -16800,7 +16942,7 @@ static PyObject *__pyx_pw_8bincount_41bincount_0d_float_axisNone(PyObject *__pyx } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -16813,23 +16955,23 @@ static PyObject *__pyx_pw_8bincount_41bincount_0d_float_axisNone(PyObject *__pyx } } __pyx_v_a = values[0]; - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_0d_float_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_float_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_0d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_40bincount_0d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":1101 + /* "bincount.pyx":1106 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float_axisNone(object a, # <<<<<<<<<<<<<< @@ -16939,48 +17081,48 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":1109 + /* "bincount.pyx":1114 * * cdef: * Py_ssize_t n_rows = a.shape[0] # <<<<<<<<<<<<<< * Py_ssize_t n_cols = a.shape[1] * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_n_rows = __pyx_t_3; - /* "bincount.pyx":1110 + /* "bincount.pyx":1115 * cdef: * Py_ssize_t n_rows = a.shape[0] * Py_ssize_t n_cols = a.shape[1] # <<<<<<<<<<<<<< * * if w is not None and len(w) != n_rows: */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n_cols = __pyx_t_3; - /* "bincount.pyx":1112 + /* "bincount.pyx":1117 * Py_ssize_t n_cols = a.shape[1] * * if w is not None and len(w) != n_rows: # <<<<<<<<<<<<<< @@ -16996,27 +17138,27 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = ((__pyx_t_3 != __pyx_v_n_rows) != 0); __pyx_t_4 = __pyx_t_6; __pyx_L4_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":1113 + /* "bincount.pyx":1118 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__54, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__56, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1116 + /* "bincount.pyx":1121 * * cdef: * np.npy_intp *dims = [n_cols, max_val+1] # <<<<<<<<<<<<<< @@ -17027,22 +17169,22 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":1117 + /* "bincount.pyx":1122 * cdef: * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) * float wt */ - __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -17050,22 +17192,22 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1118 + /* "bincount.pyx":1123 * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * float wt * */ - __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_9 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -17073,22 +17215,22 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_v_nans = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1121 + /* "bincount.pyx":1126 * float wt * * np.ndarray[np.float_t, ndim=1] data = a.data # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_data.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_data = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_data.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_data.diminfo[0].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_data.diminfo[0].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[0]; } } @@ -17096,22 +17238,22 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_v_data = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1122 + /* "bincount.pyx":1127 * * np.ndarray[np.float_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_11 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indices.diminfo[0].strides = __pyx_pybuffernd_indices.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indices.diminfo[0].shape = __pyx_pybuffernd_indices.rcbuffer->pybuffer.shape[0]; } } @@ -17119,22 +17261,22 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_v_indices = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1123 + /* "bincount.pyx":1128 * np.ndarray[np.float_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr # <<<<<<<<<<<<<< * int ri, i, ci * np.float_t ai */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_12 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indptr.rcbuffer->pybuffer, (PyObject*)__pyx_t_12, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indptr = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indptr.diminfo[0].strides = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indptr.diminfo[0].shape = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.shape[0]; } } @@ -17142,24 +17284,24 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_v_indptr = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1127 + /* "bincount.pyx":1132 * np.float_t ai * int ain * for ri in range(a.shape[0]): # <<<<<<<<<<<<<< * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_ri = __pyx_t_14; - /* "bincount.pyx":1128 + /* "bincount.pyx":1133 * int ain * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] # <<<<<<<<<<<<<< @@ -17175,7 +17317,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P } __pyx_v_wt = __pyx_t_15; - /* "bincount.pyx":1129 + /* "bincount.pyx":1134 * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): # <<<<<<<<<<<<<< @@ -17188,7 +17330,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_20 = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_indptr.diminfo[0].strides)); __pyx_t_20 < __pyx_t_18; __pyx_t_20+=1) { __pyx_v_i = __pyx_t_20; - /* "bincount.pyx":1130 + /* "bincount.pyx":1135 * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] # <<<<<<<<<<<<<< @@ -17198,7 +17340,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_t_21 = __pyx_v_i; __pyx_v_ci = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_indices.diminfo[0].strides)); - /* "bincount.pyx":1131 + /* "bincount.pyx":1136 * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] * if mask is None or mask[ci]: # <<<<<<<<<<<<<< @@ -17220,7 +17362,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_L11_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":1132 + /* "bincount.pyx":1137 * ci = indices[i] * if mask is None or mask[ci]: * ai = data[i] # <<<<<<<<<<<<<< @@ -17230,7 +17372,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_t_23 = __pyx_v_i; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_data.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_data.diminfo[0].strides)); - /* "bincount.pyx":1133 + /* "bincount.pyx":1138 * if mask is None or mask[ci]: * ai = data[i] * if ai != ai: # <<<<<<<<<<<<<< @@ -17240,7 +17382,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_t_4 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "bincount.pyx":1134 + /* "bincount.pyx":1139 * ai = data[i] * if ai != ai: * nans[indices[i]] += wt # <<<<<<<<<<<<<< @@ -17251,7 +17393,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_t_25 = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_indices.diminfo[0].strides)); *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_nans.diminfo[0].strides) += __pyx_v_wt; - /* "bincount.pyx":1135 + /* "bincount.pyx":1140 * if ai != ai: * nans[indices[i]] += wt * continue # <<<<<<<<<<<<<< @@ -17261,7 +17403,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P goto __pyx_L8_continue; } - /* "bincount.pyx":1136 + /* "bincount.pyx":1141 * nans[indices[i]] += wt * continue * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -17270,7 +17412,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":1137 + /* "bincount.pyx":1142 * continue * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -17285,32 +17427,32 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_t_5 = ((!(__pyx_t_4 != 0)) != 0); if (__pyx_t_5) { - /* "bincount.pyx":1138 + /* "bincount.pyx":1143 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1139 + /* "bincount.pyx":1144 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -17320,18 +17462,18 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_t_5 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_5) { - /* "bincount.pyx":1141 + /* "bincount.pyx":1146 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[ci, ain] += wt * return y, nans */ - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_26 = PyTuple_New(2); if (unlikely(!__pyx_t_26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_26 = PyTuple_New(2); if (unlikely(!__pyx_t_26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); @@ -17340,30 +17482,30 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_t_1 = 0; __pyx_t_2 = 0; - /* "bincount.pyx":1140 + /* "bincount.pyx":1145 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[ci, ain] += wt */ - __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_26); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_26); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; - __pyx_t_26 = PyTuple_New(1); if (unlikely(!__pyx_t_26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_26 = PyTuple_New(1); if (unlikely(!__pyx_t_26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_26, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_26, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1142 + /* "bincount.pyx":1147 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[ci, ain] += wt # <<<<<<<<<<<<<< @@ -17380,7 +17522,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P } } - /* "bincount.pyx":1143 + /* "bincount.pyx":1148 * (ain, max_val)) * y[ci, ain] += wt * return y, nans # <<<<<<<<<<<<<< @@ -17388,7 +17530,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_y)); @@ -17400,7 +17542,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P __pyx_t_2 = 0; goto __pyx_L0; - /* "bincount.pyx":1101 + /* "bincount.pyx":1106 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float_axisNone(object a, # <<<<<<<<<<<<<< @@ -17445,7 +17587,7 @@ static PyObject *__pyx_pf_8bincount_40bincount_0d_float_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "bincount.pyx":1149 +/* "bincount.pyx":1154 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float32_axisNone(object a, # <<<<<<<<<<<<<< @@ -17472,7 +17614,7 @@ static PyObject *__pyx_pw_8bincount_43bincount_0d_float32_axisNone(PyObject *__p static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":1151 + /* "bincount.pyx":1156 * def bincount_0d_float32_axisNone(object a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -17481,7 +17623,7 @@ static PyObject *__pyx_pw_8bincount_43bincount_0d_float32_axisNone(PyObject *__p */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":1152 + /* "bincount.pyx":1157 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -17508,7 +17650,7 @@ static PyObject *__pyx_pw_8bincount_43bincount_0d_float32_axisNone(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_0d_float32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_float32_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -17522,7 +17664,7 @@ static PyObject *__pyx_pw_8bincount_43bincount_0d_float32_axisNone(PyObject *__p } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -17535,23 +17677,23 @@ static PyObject *__pyx_pw_8bincount_43bincount_0d_float32_axisNone(PyObject *__p } } __pyx_v_a = values[0]; - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1155; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_0d_float32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_float32_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_0d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_42bincount_0d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":1149 + /* "bincount.pyx":1154 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float32_axisNone(object a, # <<<<<<<<<<<<<< @@ -17662,48 +17804,48 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":1157 + /* "bincount.pyx":1162 * * cdef: * Py_ssize_t n_rows = a.shape[0] # <<<<<<<<<<<<<< * Py_ssize_t n_cols = a.shape[1] * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_n_rows = __pyx_t_3; - /* "bincount.pyx":1158 + /* "bincount.pyx":1163 * cdef: * Py_ssize_t n_rows = a.shape[0] * Py_ssize_t n_cols = a.shape[1] # <<<<<<<<<<<<<< * * if w is not None and len(w) != n_rows: */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n_cols = __pyx_t_3; - /* "bincount.pyx":1160 + /* "bincount.pyx":1165 * Py_ssize_t n_cols = a.shape[1] * * if w is not None and len(w) != n_rows: # <<<<<<<<<<<<<< @@ -17719,27 +17861,27 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = ((__pyx_t_3 != __pyx_v_n_rows) != 0); __pyx_t_4 = __pyx_t_6; __pyx_L4_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":1161 + /* "bincount.pyx":1166 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__55, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__57, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1164 + /* "bincount.pyx":1169 * * cdef: * np.npy_intp *dims = [n_cols, max_val+1] # <<<<<<<<<<<<<< @@ -17750,22 +17892,22 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":1165 + /* "bincount.pyx":1170 * cdef: * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) * float wt */ - __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -17773,22 +17915,22 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1166 + /* "bincount.pyx":1171 * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * float wt * */ - __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_9 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -17796,22 +17938,22 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_v_nans = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1169 + /* "bincount.pyx":1174 * float wt * * np.ndarray[np.float32_t, ndim=1] data = a.data # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_data.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_data = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_data.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_data.diminfo[0].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_data.diminfo[0].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[0]; } } @@ -17819,22 +17961,22 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_v_data = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1170 + /* "bincount.pyx":1175 * * np.ndarray[np.float32_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_11 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indices.diminfo[0].strides = __pyx_pybuffernd_indices.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indices.diminfo[0].shape = __pyx_pybuffernd_indices.rcbuffer->pybuffer.shape[0]; } } @@ -17842,22 +17984,22 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_v_indices = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1171 + /* "bincount.pyx":1176 * np.ndarray[np.float32_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr # <<<<<<<<<<<<<< * int ri, i, ci * np.float32_t ai */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_12 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indptr.rcbuffer->pybuffer, (PyObject*)__pyx_t_12, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indptr = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indptr.diminfo[0].strides = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indptr.diminfo[0].shape = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.shape[0]; } } @@ -17865,24 +18007,24 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_v_indptr = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1175 + /* "bincount.pyx":1180 * np.float32_t ai * int ain * for ri in range(a.shape[0]): # <<<<<<<<<<<<<< * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1180; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1180; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_ri = __pyx_t_14; - /* "bincount.pyx":1176 + /* "bincount.pyx":1181 * int ain * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] # <<<<<<<<<<<<<< @@ -17898,7 +18040,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED } __pyx_v_wt = __pyx_t_15; - /* "bincount.pyx":1177 + /* "bincount.pyx":1182 * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): # <<<<<<<<<<<<<< @@ -17911,7 +18053,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED for (__pyx_t_20 = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_indptr.diminfo[0].strides)); __pyx_t_20 < __pyx_t_18; __pyx_t_20+=1) { __pyx_v_i = __pyx_t_20; - /* "bincount.pyx":1178 + /* "bincount.pyx":1183 * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] # <<<<<<<<<<<<<< @@ -17921,7 +18063,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_t_21 = __pyx_v_i; __pyx_v_ci = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_indices.diminfo[0].strides)); - /* "bincount.pyx":1179 + /* "bincount.pyx":1184 * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] * if mask is None or mask[ci]: # <<<<<<<<<<<<<< @@ -17943,7 +18085,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_L11_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":1180 + /* "bincount.pyx":1185 * ci = indices[i] * if mask is None or mask[ci]: * ai = data[i] # <<<<<<<<<<<<<< @@ -17953,7 +18095,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_t_23 = __pyx_v_i; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_data.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_data.diminfo[0].strides)); - /* "bincount.pyx":1181 + /* "bincount.pyx":1186 * if mask is None or mask[ci]: * ai = data[i] * if ai != ai: # <<<<<<<<<<<<<< @@ -17963,7 +18105,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_t_4 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "bincount.pyx":1182 + /* "bincount.pyx":1187 * ai = data[i] * if ai != ai: * nans[indices[i]] += wt # <<<<<<<<<<<<<< @@ -17974,7 +18116,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_t_25 = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_indices.diminfo[0].strides)); *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_nans.diminfo[0].strides) += __pyx_v_wt; - /* "bincount.pyx":1183 + /* "bincount.pyx":1188 * if ai != ai: * nans[indices[i]] += wt * continue # <<<<<<<<<<<<<< @@ -17984,7 +18126,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED goto __pyx_L8_continue; } - /* "bincount.pyx":1184 + /* "bincount.pyx":1189 * nans[indices[i]] += wt * continue * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -17993,7 +18135,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":1185 + /* "bincount.pyx":1190 * continue * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -18008,32 +18150,32 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_t_5 = ((!(__pyx_t_4 != 0)) != 0); if (__pyx_t_5) { - /* "bincount.pyx":1186 + /* "bincount.pyx":1191 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1187 + /* "bincount.pyx":1192 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -18043,18 +18185,18 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_t_5 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_5) { - /* "bincount.pyx":1189 + /* "bincount.pyx":1194 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[ci, ain] += wt * return y, nans */ - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1189; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1189; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_27 = PyTuple_New(2); if (unlikely(!__pyx_t_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1189; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_27 = PyTuple_New(2); if (unlikely(!__pyx_t_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); @@ -18063,30 +18205,30 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_t_1 = 0; __pyx_t_2 = 0; - /* "bincount.pyx":1188 + /* "bincount.pyx":1193 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[ci, ain] += wt */ - __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_27); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_27); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; - __pyx_t_27 = PyTuple_New(1); if (unlikely(!__pyx_t_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_27 = PyTuple_New(1); if (unlikely(!__pyx_t_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_27, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_27, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1190 + /* "bincount.pyx":1195 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[ci, ain] += wt # <<<<<<<<<<<<<< @@ -18103,7 +18245,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED } } - /* "bincount.pyx":1191 + /* "bincount.pyx":1196 * (ain, max_val)) * y[ci, ain] += wt * return y, nans # <<<<<<<<<<<<<< @@ -18111,7 +18253,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_y)); @@ -18123,7 +18265,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED __pyx_t_2 = 0; goto __pyx_L0; - /* "bincount.pyx":1149 + /* "bincount.pyx":1154 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float32_axisNone(object a, # <<<<<<<<<<<<<< @@ -18168,7 +18310,7 @@ static PyObject *__pyx_pf_8bincount_42bincount_0d_float32_axisNone(CYTHON_UNUSED return __pyx_r; } -/* "bincount.pyx":1197 +/* "bincount.pyx":1202 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float64_axisNone(object a, # <<<<<<<<<<<<<< @@ -18195,7 +18337,7 @@ static PyObject *__pyx_pw_8bincount_45bincount_0d_float64_axisNone(PyObject *__p static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_max_val,&__pyx_n_s_w,&__pyx_n_s_mask,0}; PyObject* values[4] = {0,0,0,0}; - /* "bincount.pyx":1199 + /* "bincount.pyx":1204 * def bincount_0d_float64_axisNone(object a, * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, # <<<<<<<<<<<<<< @@ -18204,7 +18346,7 @@ static PyObject *__pyx_pw_8bincount_45bincount_0d_float64_axisNone(PyObject *__p */ values[2] = (PyObject *)((PyArrayObject *)Py_None); - /* "bincount.pyx":1200 + /* "bincount.pyx":1205 * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, * np.ndarray[np.int8_t, ndim=1] mask = None): # <<<<<<<<<<<<<< @@ -18231,7 +18373,7 @@ static PyObject *__pyx_pw_8bincount_45bincount_0d_float64_axisNone(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_0d_float64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_float64_axisNone", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { @@ -18245,7 +18387,7 @@ static PyObject *__pyx_pw_8bincount_45bincount_0d_float64_axisNone(PyObject *__p } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_0d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -18258,23 +18400,23 @@ static PyObject *__pyx_pw_8bincount_45bincount_0d_float64_axisNone(PyObject *__p } } __pyx_v_a = values[0]; - __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_max_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_max_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_w = ((PyArrayObject *)values[2]); __pyx_v_mask = ((PyArrayObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_0d_float64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_0d_float64_axisNone", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_0d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_8bincount_44bincount_0d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_max_val, __pyx_v_w, __pyx_v_mask); - /* "bincount.pyx":1197 + /* "bincount.pyx":1202 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float64_axisNone(object a, # <<<<<<<<<<<<<< @@ -18385,48 +18527,48 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_w.rcbuffer->pybuffer, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_w.diminfo[0].strides = __pyx_pybuffernd_w.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_w.diminfo[0].shape = __pyx_pybuffernd_w.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; - /* "bincount.pyx":1205 + /* "bincount.pyx":1210 * * cdef: * Py_ssize_t n_rows = a.shape[0] # <<<<<<<<<<<<<< * Py_ssize_t n_cols = a.shape[1] * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_n_rows = __pyx_t_3; - /* "bincount.pyx":1206 + /* "bincount.pyx":1211 * cdef: * Py_ssize_t n_rows = a.shape[0] * Py_ssize_t n_cols = a.shape[1] # <<<<<<<<<<<<<< * * if w is not None and len(w) != n_rows: */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n_cols = __pyx_t_3; - /* "bincount.pyx":1208 + /* "bincount.pyx":1213 * Py_ssize_t n_cols = a.shape[1] * * if w is not None and len(w) != n_rows: # <<<<<<<<<<<<<< @@ -18442,27 +18584,27 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED goto __pyx_L4_bool_binop_done; } __pyx_L5_next_and:; - __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Length(((PyObject *)__pyx_v_w)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = ((__pyx_t_3 != __pyx_v_n_rows) != 0); __pyx_t_4 = __pyx_t_6; __pyx_L4_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":1209 + /* "bincount.pyx":1214 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__56, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__58, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1212 + /* "bincount.pyx":1217 * * cdef: * np.npy_intp *dims = [n_cols, max_val+1] # <<<<<<<<<<<<<< @@ -18473,22 +18615,22 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_t_7[1] = (__pyx_v_max_val + 1); __pyx_v_dims = __pyx_t_7; - /* "bincount.pyx":1213 + /* "bincount.pyx":1218 * cdef: * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) * float wt */ - __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -18496,22 +18638,22 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1214 + /* "bincount.pyx":1219 * np.npy_intp *dims = [n_cols, max_val+1] * np.ndarray[np.float64_t, ndim=2] y = PyArray_ZEROS(2, dims, NPY_float64, 0) * np.ndarray[np.float64_t, ndim=1] nans = PyArray_ZEROS(1, dims, NPY_float64, 0) # <<<<<<<<<<<<<< * float wt * */ - __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ZEROS(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_9 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nans.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_nans = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_nans.diminfo[0].strides = __pyx_pybuffernd_nans.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nans.diminfo[0].shape = __pyx_pybuffernd_nans.rcbuffer->pybuffer.shape[0]; } } @@ -18519,22 +18661,22 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_v_nans = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1217 + /* "bincount.pyx":1222 * float wt * * np.ndarray[np.float64_t, ndim=1] data = a.data # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_data.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_data = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_data.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_data.diminfo[0].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_data.diminfo[0].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[0]; } } @@ -18542,22 +18684,22 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_v_data = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1218 + /* "bincount.pyx":1223 * * np.ndarray[np.float64_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices # <<<<<<<<<<<<<< * np.ndarray[int, ndim=1] indptr = a.indptr * int ri, i, ci */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_11 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indices.diminfo[0].strides = __pyx_pybuffernd_indices.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indices.diminfo[0].shape = __pyx_pybuffernd_indices.rcbuffer->pybuffer.shape[0]; } } @@ -18565,22 +18707,22 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_v_indices = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1219 + /* "bincount.pyx":1224 * np.ndarray[np.float64_t, ndim=1] data = a.data * np.ndarray[int, ndim=1] indices = a.indices * np.ndarray[int, ndim=1] indptr = a.indptr # <<<<<<<<<<<<<< * int ri, i, ci * np.float64_t ai */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_indptr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_12 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_indptr.rcbuffer->pybuffer, (PyObject*)__pyx_t_12, &__Pyx_TypeInfo_int, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_indptr = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_indptr.diminfo[0].strides = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_indptr.diminfo[0].shape = __pyx_pybuffernd_indptr.rcbuffer->pybuffer.shape[0]; } } @@ -18588,24 +18730,24 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_v_indptr = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "bincount.pyx":1223 + /* "bincount.pyx":1228 * np.float64_t ai * int ain * for ri in range(a.shape[0]): # <<<<<<<<<<<<<< * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_13 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_ri = __pyx_t_14; - /* "bincount.pyx":1224 + /* "bincount.pyx":1229 * int ain * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] # <<<<<<<<<<<<<< @@ -18621,7 +18763,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED } __pyx_v_wt = __pyx_t_15; - /* "bincount.pyx":1225 + /* "bincount.pyx":1230 * for ri in range(a.shape[0]): * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): # <<<<<<<<<<<<<< @@ -18634,7 +18776,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED for (__pyx_t_20 = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indptr.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_indptr.diminfo[0].strides)); __pyx_t_20 < __pyx_t_18; __pyx_t_20+=1) { __pyx_v_i = __pyx_t_20; - /* "bincount.pyx":1226 + /* "bincount.pyx":1231 * wt = 1 if w is None else w[ri] * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] # <<<<<<<<<<<<<< @@ -18644,7 +18786,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_t_21 = __pyx_v_i; __pyx_v_ci = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_indices.diminfo[0].strides)); - /* "bincount.pyx":1227 + /* "bincount.pyx":1232 * for i in range(indptr[ri], indptr[ri + 1]): * ci = indices[i] * if mask is None or mask[ci]: # <<<<<<<<<<<<<< @@ -18666,7 +18808,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_L11_bool_binop_done:; if (__pyx_t_4) { - /* "bincount.pyx":1228 + /* "bincount.pyx":1233 * ci = indices[i] * if mask is None or mask[ci]: * ai = data[i] # <<<<<<<<<<<<<< @@ -18676,7 +18818,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_t_23 = __pyx_v_i; __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_data.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_data.diminfo[0].strides)); - /* "bincount.pyx":1229 + /* "bincount.pyx":1234 * if mask is None or mask[ci]: * ai = data[i] * if ai != ai: # <<<<<<<<<<<<<< @@ -18686,7 +18828,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_t_4 = ((__pyx_v_ai != __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "bincount.pyx":1230 + /* "bincount.pyx":1235 * ai = data[i] * if ai != ai: * nans[indices[i]] += wt # <<<<<<<<<<<<<< @@ -18697,7 +18839,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_t_25 = (*__Pyx_BufPtrStrided1d(int *, __pyx_pybuffernd_indices.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_indices.diminfo[0].strides)); *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_nans.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_nans.diminfo[0].strides) += __pyx_v_wt; - /* "bincount.pyx":1231 + /* "bincount.pyx":1236 * if ai != ai: * nans[indices[i]] += wt * continue # <<<<<<<<<<<<<< @@ -18707,7 +18849,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED goto __pyx_L8_continue; } - /* "bincount.pyx":1232 + /* "bincount.pyx":1237 * nans[indices[i]] += wt * continue * ain = int(ai + 0.1) # <<<<<<<<<<<<<< @@ -18716,7 +18858,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_ain = ((int)(__pyx_v_ai + 0.1)); - /* "bincount.pyx":1233 + /* "bincount.pyx":1238 * continue * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: # <<<<<<<<<<<<<< @@ -18731,32 +18873,32 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_t_5 = ((!(__pyx_t_4 != 0)) != 0); if (__pyx_t_5) { - /* "bincount.pyx":1234 + /* "bincount.pyx":1239 * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) # <<<<<<<<<<<<<< * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_f_is_not_an_integer_value, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1235 + /* "bincount.pyx":1240 * if not -1e-6 < ain - ai < 1e-6: * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: # <<<<<<<<<<<<<< @@ -18766,18 +18908,18 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_t_5 = ((__pyx_v_ain > __pyx_v_max_val) != 0); if (__pyx_t_5) { - /* "bincount.pyx":1237 + /* "bincount.pyx":1242 * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) # <<<<<<<<<<<<<< * y[ci, ain] += wt * return y, nans */ - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ain); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_max_val); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_27 = PyTuple_New(2); if (unlikely(!__pyx_t_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_27 = PyTuple_New(2); if (unlikely(!__pyx_t_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); @@ -18786,30 +18928,30 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_t_1 = 0; __pyx_t_2 = 0; - /* "bincount.pyx":1236 + /* "bincount.pyx":1241 * raise ValueError("%f is not an integer value" % ai) * if ain > max_val: * raise ValueError("value %i is greater than max_val (%i)" % # <<<<<<<<<<<<<< * (ain, max_val)) * y[ci, ain] += wt */ - __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_27); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_value_i_is_greater_than_max_val, __pyx_t_27); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; - __pyx_t_27 = PyTuple_New(1); if (unlikely(!__pyx_t_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_27 = PyTuple_New(1); if (unlikely(!__pyx_t_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_27, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_27, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "bincount.pyx":1238 + /* "bincount.pyx":1243 * raise ValueError("value %i is greater than max_val (%i)" % * (ain, max_val)) * y[ci, ain] += wt # <<<<<<<<<<<<<< @@ -18826,7 +18968,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED } } - /* "bincount.pyx":1239 + /* "bincount.pyx":1244 * (ain, max_val)) * y[ci, ain] += wt * return y, nans # <<<<<<<<<<<<<< @@ -18834,7 +18976,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_y)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_y)); @@ -18846,7 +18988,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED __pyx_t_2 = 0; goto __pyx_L0; - /* "bincount.pyx":1197 + /* "bincount.pyx":1202 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float64_axisNone(object a, # <<<<<<<<<<<<<< @@ -18891,7 +19033,7 @@ static PyObject *__pyx_pf_8bincount_44bincount_0d_float64_axisNone(CYTHON_UNUSED return __pyx_r; } -/* "bincount.pyx":1273 +/* "bincount.pyx":1278 * bincount_dict[(0, NPY_float64, None)] = bincount_0d_float64_axisNone * * def bincount_slow_axis0(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -18936,21 +19078,21 @@ static PyObject *__pyx_pw_8bincount_47bincount_slow_axis0(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis0", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis0", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis0", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis0", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis0", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis0", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -18967,7 +19109,7 @@ static PyObject *__pyx_pw_8bincount_47bincount_slow_axis0(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis0", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis0", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -18992,7 +19134,7 @@ static PyObject *__pyx_pf_8bincount_46bincount_slow_axis0(CYTHON_UNUSED PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis0", 0); - /* "bincount.pyx":1275 + /* "bincount.pyx":1280 * def bincount_slow_axis0(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 0." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -19000,15 +19142,15 @@ static PyObject *__pyx_pf_8bincount_46bincount_slow_axis0(CYTHON_UNUSED PyObject * def bincount_slow_axis1(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -19016,11 +19158,11 @@ static PyObject *__pyx_pf_8bincount_46bincount_slow_axis0(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -19029,7 +19171,7 @@ static PyObject *__pyx_pf_8bincount_46bincount_slow_axis0(CYTHON_UNUSED PyObject __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1273 + /* "bincount.pyx":1278 * bincount_dict[(0, NPY_float64, None)] = bincount_0d_float64_axisNone * * def bincount_slow_axis0(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19051,7 +19193,7 @@ static PyObject *__pyx_pf_8bincount_46bincount_slow_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "bincount.pyx":1277 +/* "bincount.pyx":1282 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis1(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19096,21 +19238,21 @@ static PyObject *__pyx_pw_8bincount_49bincount_slow_axis1(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis1", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis1", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis1", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis1", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis1", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis1", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -19127,7 +19269,7 @@ static PyObject *__pyx_pw_8bincount_49bincount_slow_axis1(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis1", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis1", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -19152,7 +19294,7 @@ static PyObject *__pyx_pf_8bincount_48bincount_slow_axis1(CYTHON_UNUSED PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis1", 0); - /* "bincount.pyx":1279 + /* "bincount.pyx":1284 * def bincount_slow_axis1(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 1." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -19160,15 +19302,15 @@ static PyObject *__pyx_pf_8bincount_48bincount_slow_axis1(CYTHON_UNUSED PyObject * def bincount_slow_axis2(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -19176,11 +19318,11 @@ static PyObject *__pyx_pf_8bincount_48bincount_slow_axis1(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -19189,7 +19331,7 @@ static PyObject *__pyx_pf_8bincount_48bincount_slow_axis1(CYTHON_UNUSED PyObject __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1277 + /* "bincount.pyx":1282 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis1(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19211,7 +19353,7 @@ static PyObject *__pyx_pf_8bincount_48bincount_slow_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "bincount.pyx":1281 +/* "bincount.pyx":1286 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis2(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19256,21 +19398,21 @@ static PyObject *__pyx_pw_8bincount_51bincount_slow_axis2(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis2", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis2", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis2", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis2", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis2", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis2", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -19287,7 +19429,7 @@ static PyObject *__pyx_pw_8bincount_51bincount_slow_axis2(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis2", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis2", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -19312,7 +19454,7 @@ static PyObject *__pyx_pf_8bincount_50bincount_slow_axis2(CYTHON_UNUSED PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis2", 0); - /* "bincount.pyx":1283 + /* "bincount.pyx":1288 * def bincount_slow_axis2(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 2." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -19320,15 +19462,15 @@ static PyObject *__pyx_pf_8bincount_50bincount_slow_axis2(CYTHON_UNUSED PyObject * def bincount_slow_axis3(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -19336,11 +19478,11 @@ static PyObject *__pyx_pf_8bincount_50bincount_slow_axis2(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -19349,7 +19491,7 @@ static PyObject *__pyx_pf_8bincount_50bincount_slow_axis2(CYTHON_UNUSED PyObject __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1281 + /* "bincount.pyx":1286 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis2(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19371,7 +19513,7 @@ static PyObject *__pyx_pf_8bincount_50bincount_slow_axis2(CYTHON_UNUSED PyObject return __pyx_r; } -/* "bincount.pyx":1285 +/* "bincount.pyx":1290 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis3(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19416,21 +19558,21 @@ static PyObject *__pyx_pw_8bincount_53bincount_slow_axis3(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis3", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis3", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis3", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis3", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis3", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis3", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis3") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis3") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -19447,7 +19589,7 @@ static PyObject *__pyx_pw_8bincount_53bincount_slow_axis3(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis3", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis3", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis3", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -19472,7 +19614,7 @@ static PyObject *__pyx_pf_8bincount_52bincount_slow_axis3(CYTHON_UNUSED PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis3", 0); - /* "bincount.pyx":1287 + /* "bincount.pyx":1292 * def bincount_slow_axis3(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 3." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -19480,15 +19622,15 @@ static PyObject *__pyx_pf_8bincount_52bincount_slow_axis3(CYTHON_UNUSED PyObject * def bincount_slow_axis4(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -19496,11 +19638,11 @@ static PyObject *__pyx_pf_8bincount_52bincount_slow_axis3(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -19509,7 +19651,7 @@ static PyObject *__pyx_pf_8bincount_52bincount_slow_axis3(CYTHON_UNUSED PyObject __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1285 + /* "bincount.pyx":1290 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis3(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19531,7 +19673,7 @@ static PyObject *__pyx_pf_8bincount_52bincount_slow_axis3(CYTHON_UNUSED PyObject return __pyx_r; } -/* "bincount.pyx":1289 +/* "bincount.pyx":1294 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis4(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19576,21 +19718,21 @@ static PyObject *__pyx_pw_8bincount_55bincount_slow_axis4(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis4", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis4", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis4", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis4", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis4", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis4", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis4") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis4") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -19607,7 +19749,7 @@ static PyObject *__pyx_pw_8bincount_55bincount_slow_axis4(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis4", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis4", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis4", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -19632,7 +19774,7 @@ static PyObject *__pyx_pf_8bincount_54bincount_slow_axis4(CYTHON_UNUSED PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis4", 0); - /* "bincount.pyx":1291 + /* "bincount.pyx":1296 * def bincount_slow_axis4(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 4." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -19640,15 +19782,15 @@ static PyObject *__pyx_pf_8bincount_54bincount_slow_axis4(CYTHON_UNUSED PyObject * def bincount_slow_axis5(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -19656,11 +19798,11 @@ static PyObject *__pyx_pf_8bincount_54bincount_slow_axis4(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -19669,7 +19811,7 @@ static PyObject *__pyx_pf_8bincount_54bincount_slow_axis4(CYTHON_UNUSED PyObject __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1289 + /* "bincount.pyx":1294 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis4(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19691,7 +19833,7 @@ static PyObject *__pyx_pf_8bincount_54bincount_slow_axis4(CYTHON_UNUSED PyObject return __pyx_r; } -/* "bincount.pyx":1293 +/* "bincount.pyx":1298 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis5(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19736,21 +19878,21 @@ static PyObject *__pyx_pw_8bincount_57bincount_slow_axis5(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis5", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis5", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1298; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis5", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis5", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1298; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis5", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis5", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1298; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis5") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis5") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1298; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -19767,7 +19909,7 @@ static PyObject *__pyx_pw_8bincount_57bincount_slow_axis5(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis5", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis5", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1298; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis5", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -19792,7 +19934,7 @@ static PyObject *__pyx_pf_8bincount_56bincount_slow_axis5(CYTHON_UNUSED PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis5", 0); - /* "bincount.pyx":1295 + /* "bincount.pyx":1300 * def bincount_slow_axis5(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 5." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -19800,15 +19942,15 @@ static PyObject *__pyx_pf_8bincount_56bincount_slow_axis5(CYTHON_UNUSED PyObject * def bincount_slow_axis6(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -19816,11 +19958,11 @@ static PyObject *__pyx_pf_8bincount_56bincount_slow_axis5(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -19829,7 +19971,7 @@ static PyObject *__pyx_pf_8bincount_56bincount_slow_axis5(CYTHON_UNUSED PyObject __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1293 + /* "bincount.pyx":1298 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis5(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19851,7 +19993,7 @@ static PyObject *__pyx_pf_8bincount_56bincount_slow_axis5(CYTHON_UNUSED PyObject return __pyx_r; } -/* "bincount.pyx":1297 +/* "bincount.pyx":1302 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis6(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -19896,21 +20038,21 @@ static PyObject *__pyx_pw_8bincount_59bincount_slow_axis6(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis6", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis6", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis6", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis6", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis6", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis6", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis6") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis6") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -19927,7 +20069,7 @@ static PyObject *__pyx_pw_8bincount_59bincount_slow_axis6(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis6", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis6", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis6", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -19952,7 +20094,7 @@ static PyObject *__pyx_pf_8bincount_58bincount_slow_axis6(CYTHON_UNUSED PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis6", 0); - /* "bincount.pyx":1299 + /* "bincount.pyx":1304 * def bincount_slow_axis6(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 6." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -19960,15 +20102,15 @@ static PyObject *__pyx_pf_8bincount_58bincount_slow_axis6(CYTHON_UNUSED PyObject * def bincount_slow_axis7(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -19976,11 +20118,11 @@ static PyObject *__pyx_pf_8bincount_58bincount_slow_axis6(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -19989,7 +20131,7 @@ static PyObject *__pyx_pf_8bincount_58bincount_slow_axis6(CYTHON_UNUSED PyObject __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1297 + /* "bincount.pyx":1302 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis6(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20011,7 +20153,7 @@ static PyObject *__pyx_pf_8bincount_58bincount_slow_axis6(CYTHON_UNUSED PyObject return __pyx_r; } -/* "bincount.pyx":1301 +/* "bincount.pyx":1306 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis7(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20056,21 +20198,21 @@ static PyObject *__pyx_pw_8bincount_61bincount_slow_axis7(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis7", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis7", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis7", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis7", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis7", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis7", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis7") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis7") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -20087,7 +20229,7 @@ static PyObject *__pyx_pw_8bincount_61bincount_slow_axis7(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis7", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis7", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis7", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -20112,7 +20254,7 @@ static PyObject *__pyx_pf_8bincount_60bincount_slow_axis7(CYTHON_UNUSED PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis7", 0); - /* "bincount.pyx":1303 + /* "bincount.pyx":1308 * def bincount_slow_axis7(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 7." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -20120,15 +20262,15 @@ static PyObject *__pyx_pf_8bincount_60bincount_slow_axis7(CYTHON_UNUSED PyObject * def bincount_slow_axis8(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -20136,11 +20278,11 @@ static PyObject *__pyx_pf_8bincount_60bincount_slow_axis7(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -20149,7 +20291,7 @@ static PyObject *__pyx_pf_8bincount_60bincount_slow_axis7(CYTHON_UNUSED PyObject __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1301 + /* "bincount.pyx":1306 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis7(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20171,7 +20313,7 @@ static PyObject *__pyx_pf_8bincount_60bincount_slow_axis7(CYTHON_UNUSED PyObject return __pyx_r; } -/* "bincount.pyx":1305 +/* "bincount.pyx":1310 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis8(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20216,21 +20358,21 @@ static PyObject *__pyx_pw_8bincount_63bincount_slow_axis8(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis8", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis8", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis8", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis8", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis8", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis8", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis8") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis8") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -20247,7 +20389,7 @@ static PyObject *__pyx_pw_8bincount_63bincount_slow_axis8(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis8", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis8", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis8", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -20272,7 +20414,7 @@ static PyObject *__pyx_pf_8bincount_62bincount_slow_axis8(CYTHON_UNUSED PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis8", 0); - /* "bincount.pyx":1307 + /* "bincount.pyx":1312 * def bincount_slow_axis8(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 8." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -20280,15 +20422,15 @@ static PyObject *__pyx_pf_8bincount_62bincount_slow_axis8(CYTHON_UNUSED PyObject * def bincount_slow_axis9(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -20296,11 +20438,11 @@ static PyObject *__pyx_pf_8bincount_62bincount_slow_axis8(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -20309,7 +20451,7 @@ static PyObject *__pyx_pf_8bincount_62bincount_slow_axis8(CYTHON_UNUSED PyObject __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1305 + /* "bincount.pyx":1310 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis8(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20331,7 +20473,7 @@ static PyObject *__pyx_pf_8bincount_62bincount_slow_axis8(CYTHON_UNUSED PyObject return __pyx_r; } -/* "bincount.pyx":1309 +/* "bincount.pyx":1314 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis9(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20376,21 +20518,21 @@ static PyObject *__pyx_pw_8bincount_65bincount_slow_axis9(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis9", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis9", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis9", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis9", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis9", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis9", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis9") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis9") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -20407,7 +20549,7 @@ static PyObject *__pyx_pw_8bincount_65bincount_slow_axis9(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis9", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis9", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis9", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -20432,7 +20574,7 @@ static PyObject *__pyx_pf_8bincount_64bincount_slow_axis9(CYTHON_UNUSED PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis9", 0); - /* "bincount.pyx":1311 + /* "bincount.pyx":1316 * def bincount_slow_axis9(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 9." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -20440,15 +20582,15 @@ static PyObject *__pyx_pf_8bincount_64bincount_slow_axis9(CYTHON_UNUSED PyObject * def bincount_slow_axis10(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -20456,11 +20598,11 @@ static PyObject *__pyx_pf_8bincount_64bincount_slow_axis9(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -20469,7 +20611,7 @@ static PyObject *__pyx_pf_8bincount_64bincount_slow_axis9(CYTHON_UNUSED PyObject __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1309 + /* "bincount.pyx":1314 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis9(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20491,7 +20633,7 @@ static PyObject *__pyx_pf_8bincount_64bincount_slow_axis9(CYTHON_UNUSED PyObject return __pyx_r; } -/* "bincount.pyx":1313 +/* "bincount.pyx":1318 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis10(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20536,21 +20678,21 @@ static PyObject *__pyx_pw_8bincount_67bincount_slow_axis10(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis10", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis10", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis10", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis10", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis10", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis10", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis10") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis10") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -20567,7 +20709,7 @@ static PyObject *__pyx_pw_8bincount_67bincount_slow_axis10(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis10", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis10", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis10", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -20592,7 +20734,7 @@ static PyObject *__pyx_pf_8bincount_66bincount_slow_axis10(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis10", 0); - /* "bincount.pyx":1315 + /* "bincount.pyx":1320 * def bincount_slow_axis10(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 10." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -20600,15 +20742,15 @@ static PyObject *__pyx_pf_8bincount_66bincount_slow_axis10(CYTHON_UNUSED PyObjec * def bincount_slow_axis11(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -20616,11 +20758,11 @@ static PyObject *__pyx_pf_8bincount_66bincount_slow_axis10(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -20629,7 +20771,7 @@ static PyObject *__pyx_pf_8bincount_66bincount_slow_axis10(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1313 + /* "bincount.pyx":1318 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis10(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20651,7 +20793,7 @@ static PyObject *__pyx_pf_8bincount_66bincount_slow_axis10(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1317 +/* "bincount.pyx":1322 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis11(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20696,21 +20838,21 @@ static PyObject *__pyx_pw_8bincount_69bincount_slow_axis11(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis11", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis11", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis11", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis11", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis11", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis11", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis11") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis11") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -20727,7 +20869,7 @@ static PyObject *__pyx_pw_8bincount_69bincount_slow_axis11(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis11", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis11", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis11", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -20752,7 +20894,7 @@ static PyObject *__pyx_pf_8bincount_68bincount_slow_axis11(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis11", 0); - /* "bincount.pyx":1319 + /* "bincount.pyx":1324 * def bincount_slow_axis11(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 11." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -20760,15 +20902,15 @@ static PyObject *__pyx_pf_8bincount_68bincount_slow_axis11(CYTHON_UNUSED PyObjec * def bincount_slow_axis12(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -20776,11 +20918,11 @@ static PyObject *__pyx_pf_8bincount_68bincount_slow_axis11(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -20789,7 +20931,7 @@ static PyObject *__pyx_pf_8bincount_68bincount_slow_axis11(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1317 + /* "bincount.pyx":1322 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis11(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20811,7 +20953,7 @@ static PyObject *__pyx_pf_8bincount_68bincount_slow_axis11(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1321 +/* "bincount.pyx":1326 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis12(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20856,21 +20998,21 @@ static PyObject *__pyx_pw_8bincount_71bincount_slow_axis12(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis12", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis12", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis12", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis12", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis12", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis12", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis12") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis12") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -20887,7 +21029,7 @@ static PyObject *__pyx_pw_8bincount_71bincount_slow_axis12(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis12", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis12", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis12", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -20912,7 +21054,7 @@ static PyObject *__pyx_pf_8bincount_70bincount_slow_axis12(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis12", 0); - /* "bincount.pyx":1323 + /* "bincount.pyx":1328 * def bincount_slow_axis12(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 12." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -20920,15 +21062,15 @@ static PyObject *__pyx_pf_8bincount_70bincount_slow_axis12(CYTHON_UNUSED PyObjec * def bincount_slow_axis13(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -20936,11 +21078,11 @@ static PyObject *__pyx_pf_8bincount_70bincount_slow_axis12(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -20949,7 +21091,7 @@ static PyObject *__pyx_pf_8bincount_70bincount_slow_axis12(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1321 + /* "bincount.pyx":1326 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis12(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -20971,7 +21113,7 @@ static PyObject *__pyx_pf_8bincount_70bincount_slow_axis12(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1325 +/* "bincount.pyx":1330 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis13(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21016,21 +21158,21 @@ static PyObject *__pyx_pw_8bincount_73bincount_slow_axis13(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis13", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis13", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis13", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis13", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis13", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis13", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis13") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis13") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -21047,7 +21189,7 @@ static PyObject *__pyx_pw_8bincount_73bincount_slow_axis13(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis13", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis13", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis13", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -21072,7 +21214,7 @@ static PyObject *__pyx_pf_8bincount_72bincount_slow_axis13(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis13", 0); - /* "bincount.pyx":1327 + /* "bincount.pyx":1332 * def bincount_slow_axis13(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 13." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -21080,15 +21222,15 @@ static PyObject *__pyx_pf_8bincount_72bincount_slow_axis13(CYTHON_UNUSED PyObjec * def bincount_slow_axis14(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -21096,11 +21238,11 @@ static PyObject *__pyx_pf_8bincount_72bincount_slow_axis13(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -21109,7 +21251,7 @@ static PyObject *__pyx_pf_8bincount_72bincount_slow_axis13(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1325 + /* "bincount.pyx":1330 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis13(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21131,7 +21273,7 @@ static PyObject *__pyx_pf_8bincount_72bincount_slow_axis13(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1329 +/* "bincount.pyx":1334 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis14(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21176,21 +21318,21 @@ static PyObject *__pyx_pw_8bincount_75bincount_slow_axis14(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis14", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis14", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis14", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis14", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis14", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis14", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis14") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis14") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -21207,7 +21349,7 @@ static PyObject *__pyx_pw_8bincount_75bincount_slow_axis14(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis14", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis14", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis14", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -21232,7 +21374,7 @@ static PyObject *__pyx_pf_8bincount_74bincount_slow_axis14(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis14", 0); - /* "bincount.pyx":1331 + /* "bincount.pyx":1336 * def bincount_slow_axis14(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 14." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -21240,15 +21382,15 @@ static PyObject *__pyx_pf_8bincount_74bincount_slow_axis14(CYTHON_UNUSED PyObjec * def bincount_slow_axis15(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -21256,11 +21398,11 @@ static PyObject *__pyx_pf_8bincount_74bincount_slow_axis14(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -21269,7 +21411,7 @@ static PyObject *__pyx_pf_8bincount_74bincount_slow_axis14(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1329 + /* "bincount.pyx":1334 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis14(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21291,7 +21433,7 @@ static PyObject *__pyx_pf_8bincount_74bincount_slow_axis14(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1333 +/* "bincount.pyx":1338 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis15(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21336,21 +21478,21 @@ static PyObject *__pyx_pw_8bincount_77bincount_slow_axis15(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis15", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis15", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis15", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis15", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis15", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis15", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis15") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis15") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -21367,7 +21509,7 @@ static PyObject *__pyx_pw_8bincount_77bincount_slow_axis15(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis15", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis15", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis15", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -21392,7 +21534,7 @@ static PyObject *__pyx_pf_8bincount_76bincount_slow_axis15(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis15", 0); - /* "bincount.pyx":1335 + /* "bincount.pyx":1340 * def bincount_slow_axis15(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 15." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -21400,15 +21542,15 @@ static PyObject *__pyx_pf_8bincount_76bincount_slow_axis15(CYTHON_UNUSED PyObjec * def bincount_slow_axis16(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -21416,11 +21558,11 @@ static PyObject *__pyx_pf_8bincount_76bincount_slow_axis15(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -21429,7 +21571,7 @@ static PyObject *__pyx_pf_8bincount_76bincount_slow_axis15(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1333 + /* "bincount.pyx":1338 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis15(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21451,7 +21593,7 @@ static PyObject *__pyx_pf_8bincount_76bincount_slow_axis15(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1337 +/* "bincount.pyx":1342 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis16(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21496,21 +21638,21 @@ static PyObject *__pyx_pw_8bincount_79bincount_slow_axis16(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis16", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis16", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis16", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis16", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis16", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis16", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis16") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis16") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -21527,7 +21669,7 @@ static PyObject *__pyx_pw_8bincount_79bincount_slow_axis16(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis16", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis16", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis16", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -21552,7 +21694,7 @@ static PyObject *__pyx_pf_8bincount_78bincount_slow_axis16(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis16", 0); - /* "bincount.pyx":1339 + /* "bincount.pyx":1344 * def bincount_slow_axis16(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 16." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -21560,15 +21702,15 @@ static PyObject *__pyx_pf_8bincount_78bincount_slow_axis16(CYTHON_UNUSED PyObjec * def bincount_slow_axis17(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -21576,11 +21718,11 @@ static PyObject *__pyx_pf_8bincount_78bincount_slow_axis16(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -21589,7 +21731,7 @@ static PyObject *__pyx_pf_8bincount_78bincount_slow_axis16(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1337 + /* "bincount.pyx":1342 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis16(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21611,7 +21753,7 @@ static PyObject *__pyx_pf_8bincount_78bincount_slow_axis16(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1341 +/* "bincount.pyx":1346 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis17(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21656,21 +21798,21 @@ static PyObject *__pyx_pw_8bincount_81bincount_slow_axis17(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis17", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis17", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis17", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis17", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis17", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis17", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis17") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis17") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -21687,7 +21829,7 @@ static PyObject *__pyx_pw_8bincount_81bincount_slow_axis17(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis17", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis17", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis17", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -21712,7 +21854,7 @@ static PyObject *__pyx_pf_8bincount_80bincount_slow_axis17(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis17", 0); - /* "bincount.pyx":1343 + /* "bincount.pyx":1348 * def bincount_slow_axis17(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 17." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -21720,15 +21862,15 @@ static PyObject *__pyx_pf_8bincount_80bincount_slow_axis17(CYTHON_UNUSED PyObjec * def bincount_slow_axis18(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -21736,11 +21878,11 @@ static PyObject *__pyx_pf_8bincount_80bincount_slow_axis17(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -21749,7 +21891,7 @@ static PyObject *__pyx_pf_8bincount_80bincount_slow_axis17(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1341 + /* "bincount.pyx":1346 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis17(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21771,7 +21913,7 @@ static PyObject *__pyx_pf_8bincount_80bincount_slow_axis17(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1345 +/* "bincount.pyx":1350 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis18(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21816,21 +21958,21 @@ static PyObject *__pyx_pw_8bincount_83bincount_slow_axis18(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis18", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis18", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis18", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis18", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis18", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis18", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis18") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis18") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -21847,7 +21989,7 @@ static PyObject *__pyx_pw_8bincount_83bincount_slow_axis18(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis18", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis18", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis18", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -21872,7 +22014,7 @@ static PyObject *__pyx_pf_8bincount_82bincount_slow_axis18(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis18", 0); - /* "bincount.pyx":1347 + /* "bincount.pyx":1352 * def bincount_slow_axis18(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 18." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -21880,15 +22022,15 @@ static PyObject *__pyx_pf_8bincount_82bincount_slow_axis18(CYTHON_UNUSED PyObjec * def bincount_slow_axis19(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -21896,11 +22038,11 @@ static PyObject *__pyx_pf_8bincount_82bincount_slow_axis18(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -21909,7 +22051,7 @@ static PyObject *__pyx_pf_8bincount_82bincount_slow_axis18(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1345 + /* "bincount.pyx":1350 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis18(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21931,7 +22073,7 @@ static PyObject *__pyx_pf_8bincount_82bincount_slow_axis18(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1349 +/* "bincount.pyx":1354 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis19(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -21976,21 +22118,21 @@ static PyObject *__pyx_pw_8bincount_85bincount_slow_axis19(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis19", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis19", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis19", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis19", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis19", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis19", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis19") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis19") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -22007,7 +22149,7 @@ static PyObject *__pyx_pw_8bincount_85bincount_slow_axis19(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis19", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis19", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis19", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -22032,7 +22174,7 @@ static PyObject *__pyx_pf_8bincount_84bincount_slow_axis19(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis19", 0); - /* "bincount.pyx":1351 + /* "bincount.pyx":1356 * def bincount_slow_axis19(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 19." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -22040,15 +22182,15 @@ static PyObject *__pyx_pf_8bincount_84bincount_slow_axis19(CYTHON_UNUSED PyObjec * def bincount_slow_axis20(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -22056,11 +22198,11 @@ static PyObject *__pyx_pf_8bincount_84bincount_slow_axis19(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -22069,7 +22211,7 @@ static PyObject *__pyx_pf_8bincount_84bincount_slow_axis19(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1349 + /* "bincount.pyx":1354 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis19(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22091,7 +22233,7 @@ static PyObject *__pyx_pf_8bincount_84bincount_slow_axis19(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1353 +/* "bincount.pyx":1358 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis20(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22136,21 +22278,21 @@ static PyObject *__pyx_pw_8bincount_87bincount_slow_axis20(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis20", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis20", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis20", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis20", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis20", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis20", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis20") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis20") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -22167,7 +22309,7 @@ static PyObject *__pyx_pw_8bincount_87bincount_slow_axis20(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis20", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis20", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis20", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -22192,7 +22334,7 @@ static PyObject *__pyx_pf_8bincount_86bincount_slow_axis20(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis20", 0); - /* "bincount.pyx":1355 + /* "bincount.pyx":1360 * def bincount_slow_axis20(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 20." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -22200,15 +22342,15 @@ static PyObject *__pyx_pf_8bincount_86bincount_slow_axis20(CYTHON_UNUSED PyObjec * def bincount_slow_axis21(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -22216,11 +22358,11 @@ static PyObject *__pyx_pf_8bincount_86bincount_slow_axis20(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -22229,7 +22371,7 @@ static PyObject *__pyx_pf_8bincount_86bincount_slow_axis20(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1353 + /* "bincount.pyx":1358 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis20(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22251,7 +22393,7 @@ static PyObject *__pyx_pf_8bincount_86bincount_slow_axis20(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1357 +/* "bincount.pyx":1362 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis21(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22296,21 +22438,21 @@ static PyObject *__pyx_pw_8bincount_89bincount_slow_axis21(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis21", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis21", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis21", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis21", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis21", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis21", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis21") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis21") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -22327,7 +22469,7 @@ static PyObject *__pyx_pw_8bincount_89bincount_slow_axis21(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis21", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis21", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis21", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -22352,7 +22494,7 @@ static PyObject *__pyx_pf_8bincount_88bincount_slow_axis21(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis21", 0); - /* "bincount.pyx":1359 + /* "bincount.pyx":1364 * def bincount_slow_axis21(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 21." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -22360,15 +22502,15 @@ static PyObject *__pyx_pf_8bincount_88bincount_slow_axis21(CYTHON_UNUSED PyObjec * def bincount_slow_axis22(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -22376,11 +22518,11 @@ static PyObject *__pyx_pf_8bincount_88bincount_slow_axis21(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -22389,7 +22531,7 @@ static PyObject *__pyx_pf_8bincount_88bincount_slow_axis21(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1357 + /* "bincount.pyx":1362 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis21(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22411,7 +22553,7 @@ static PyObject *__pyx_pf_8bincount_88bincount_slow_axis21(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1361 +/* "bincount.pyx":1366 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis22(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22456,21 +22598,21 @@ static PyObject *__pyx_pw_8bincount_91bincount_slow_axis22(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis22", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis22", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis22", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis22", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis22", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis22", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis22") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis22") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -22487,7 +22629,7 @@ static PyObject *__pyx_pw_8bincount_91bincount_slow_axis22(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis22", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis22", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis22", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -22512,7 +22654,7 @@ static PyObject *__pyx_pf_8bincount_90bincount_slow_axis22(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis22", 0); - /* "bincount.pyx":1363 + /* "bincount.pyx":1368 * def bincount_slow_axis22(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 22." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -22520,15 +22662,15 @@ static PyObject *__pyx_pf_8bincount_90bincount_slow_axis22(CYTHON_UNUSED PyObjec * def bincount_slow_axis23(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -22536,11 +22678,11 @@ static PyObject *__pyx_pf_8bincount_90bincount_slow_axis22(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -22549,7 +22691,7 @@ static PyObject *__pyx_pf_8bincount_90bincount_slow_axis22(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1361 + /* "bincount.pyx":1366 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis22(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22571,7 +22713,7 @@ static PyObject *__pyx_pf_8bincount_90bincount_slow_axis22(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1365 +/* "bincount.pyx":1370 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis23(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22616,21 +22758,21 @@ static PyObject *__pyx_pw_8bincount_93bincount_slow_axis23(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis23", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis23", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis23", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis23", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis23", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis23", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis23") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis23") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -22647,7 +22789,7 @@ static PyObject *__pyx_pw_8bincount_93bincount_slow_axis23(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis23", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis23", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis23", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -22672,7 +22814,7 @@ static PyObject *__pyx_pf_8bincount_92bincount_slow_axis23(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis23", 0); - /* "bincount.pyx":1367 + /* "bincount.pyx":1372 * def bincount_slow_axis23(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 23." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -22680,15 +22822,15 @@ static PyObject *__pyx_pf_8bincount_92bincount_slow_axis23(CYTHON_UNUSED PyObjec * def bincount_slow_axis24(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -22696,11 +22838,11 @@ static PyObject *__pyx_pf_8bincount_92bincount_slow_axis23(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -22709,7 +22851,7 @@ static PyObject *__pyx_pf_8bincount_92bincount_slow_axis23(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1365 + /* "bincount.pyx":1370 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis23(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22731,7 +22873,7 @@ static PyObject *__pyx_pf_8bincount_92bincount_slow_axis23(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1369 +/* "bincount.pyx":1374 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis24(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22776,21 +22918,21 @@ static PyObject *__pyx_pw_8bincount_95bincount_slow_axis24(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis24", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis24", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis24", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis24", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis24", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis24", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis24") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis24") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -22807,7 +22949,7 @@ static PyObject *__pyx_pw_8bincount_95bincount_slow_axis24(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis24", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis24", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis24", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -22832,7 +22974,7 @@ static PyObject *__pyx_pf_8bincount_94bincount_slow_axis24(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis24", 0); - /* "bincount.pyx":1371 + /* "bincount.pyx":1376 * def bincount_slow_axis24(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 24." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -22840,15 +22982,15 @@ static PyObject *__pyx_pf_8bincount_94bincount_slow_axis24(CYTHON_UNUSED PyObjec * def bincount_slow_axis25(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -22856,11 +22998,11 @@ static PyObject *__pyx_pf_8bincount_94bincount_slow_axis24(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -22869,7 +23011,7 @@ static PyObject *__pyx_pf_8bincount_94bincount_slow_axis24(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1369 + /* "bincount.pyx":1374 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis24(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22891,7 +23033,7 @@ static PyObject *__pyx_pf_8bincount_94bincount_slow_axis24(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1373 +/* "bincount.pyx":1378 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis25(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -22936,21 +23078,21 @@ static PyObject *__pyx_pw_8bincount_97bincount_slow_axis25(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis25", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis25", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis25", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis25", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis25", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis25", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis25") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis25") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -22967,7 +23109,7 @@ static PyObject *__pyx_pw_8bincount_97bincount_slow_axis25(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis25", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis25", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis25", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -22992,7 +23134,7 @@ static PyObject *__pyx_pf_8bincount_96bincount_slow_axis25(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis25", 0); - /* "bincount.pyx":1375 + /* "bincount.pyx":1380 * def bincount_slow_axis25(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 25." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -23000,15 +23142,15 @@ static PyObject *__pyx_pf_8bincount_96bincount_slow_axis25(CYTHON_UNUSED PyObjec * def bincount_slow_axis26(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -23016,11 +23158,11 @@ static PyObject *__pyx_pf_8bincount_96bincount_slow_axis25(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -23029,7 +23171,7 @@ static PyObject *__pyx_pf_8bincount_96bincount_slow_axis25(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1373 + /* "bincount.pyx":1378 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis25(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23051,7 +23193,7 @@ static PyObject *__pyx_pf_8bincount_96bincount_slow_axis25(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1377 +/* "bincount.pyx":1382 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis26(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23096,21 +23238,21 @@ static PyObject *__pyx_pw_8bincount_99bincount_slow_axis26(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis26", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis26", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis26", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis26", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis26", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis26", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis26") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis26") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -23127,7 +23269,7 @@ static PyObject *__pyx_pw_8bincount_99bincount_slow_axis26(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis26", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis26", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis26", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -23152,7 +23294,7 @@ static PyObject *__pyx_pf_8bincount_98bincount_slow_axis26(CYTHON_UNUSED PyObjec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis26", 0); - /* "bincount.pyx":1379 + /* "bincount.pyx":1384 * def bincount_slow_axis26(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 26." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -23160,15 +23302,15 @@ static PyObject *__pyx_pf_8bincount_98bincount_slow_axis26(CYTHON_UNUSED PyObjec * def bincount_slow_axis27(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -23176,11 +23318,11 @@ static PyObject *__pyx_pf_8bincount_98bincount_slow_axis26(CYTHON_UNUSED PyObjec __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -23189,7 +23331,7 @@ static PyObject *__pyx_pf_8bincount_98bincount_slow_axis26(CYTHON_UNUSED PyObjec __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1377 + /* "bincount.pyx":1382 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis26(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23211,7 +23353,7 @@ static PyObject *__pyx_pf_8bincount_98bincount_slow_axis26(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "bincount.pyx":1381 +/* "bincount.pyx":1386 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis27(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23256,21 +23398,21 @@ static PyObject *__pyx_pw_8bincount_101bincount_slow_axis27(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis27", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1381; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis27", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis27", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1381; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis27", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis27", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1381; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis27", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis27") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1381; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis27") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -23287,7 +23429,7 @@ static PyObject *__pyx_pw_8bincount_101bincount_slow_axis27(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis27", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1381; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis27", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis27", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -23312,7 +23454,7 @@ static PyObject *__pyx_pf_8bincount_100bincount_slow_axis27(CYTHON_UNUSED PyObje int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis27", 0); - /* "bincount.pyx":1383 + /* "bincount.pyx":1388 * def bincount_slow_axis27(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 27." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -23320,15 +23462,15 @@ static PyObject *__pyx_pf_8bincount_100bincount_slow_axis27(CYTHON_UNUSED PyObje * def bincount_slow_axis28(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -23336,11 +23478,11 @@ static PyObject *__pyx_pf_8bincount_100bincount_slow_axis27(CYTHON_UNUSED PyObje __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -23349,7 +23491,7 @@ static PyObject *__pyx_pf_8bincount_100bincount_slow_axis27(CYTHON_UNUSED PyObje __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1381 + /* "bincount.pyx":1386 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis27(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23371,7 +23513,7 @@ static PyObject *__pyx_pf_8bincount_100bincount_slow_axis27(CYTHON_UNUSED PyObje return __pyx_r; } -/* "bincount.pyx":1385 +/* "bincount.pyx":1390 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis28(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23416,21 +23558,21 @@ static PyObject *__pyx_pw_8bincount_103bincount_slow_axis28(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis28", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis28", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis28", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis28", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis28", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis28", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis28") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis28") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -23447,7 +23589,7 @@ static PyObject *__pyx_pw_8bincount_103bincount_slow_axis28(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis28", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis28", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis28", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -23472,7 +23614,7 @@ static PyObject *__pyx_pf_8bincount_102bincount_slow_axis28(CYTHON_UNUSED PyObje int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis28", 0); - /* "bincount.pyx":1387 + /* "bincount.pyx":1392 * def bincount_slow_axis28(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 28." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -23480,15 +23622,15 @@ static PyObject *__pyx_pf_8bincount_102bincount_slow_axis28(CYTHON_UNUSED PyObje * def bincount_slow_axis29(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -23496,11 +23638,11 @@ static PyObject *__pyx_pf_8bincount_102bincount_slow_axis28(CYTHON_UNUSED PyObje __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -23509,7 +23651,7 @@ static PyObject *__pyx_pf_8bincount_102bincount_slow_axis28(CYTHON_UNUSED PyObje __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1385 + /* "bincount.pyx":1390 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis28(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23531,7 +23673,7 @@ static PyObject *__pyx_pf_8bincount_102bincount_slow_axis28(CYTHON_UNUSED PyObje return __pyx_r; } -/* "bincount.pyx":1389 +/* "bincount.pyx":1394 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis29(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23576,21 +23718,21 @@ static PyObject *__pyx_pw_8bincount_105bincount_slow_axis29(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis29", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis29", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis29", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis29", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis29", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis29", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis29") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis29") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -23607,7 +23749,7 @@ static PyObject *__pyx_pw_8bincount_105bincount_slow_axis29(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis29", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis29", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis29", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -23632,7 +23774,7 @@ static PyObject *__pyx_pf_8bincount_104bincount_slow_axis29(CYTHON_UNUSED PyObje int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis29", 0); - /* "bincount.pyx":1391 + /* "bincount.pyx":1396 * def bincount_slow_axis29(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 29." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -23640,15 +23782,15 @@ static PyObject *__pyx_pf_8bincount_104bincount_slow_axis29(CYTHON_UNUSED PyObje * def bincount_slow_axis30(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -23656,11 +23798,11 @@ static PyObject *__pyx_pf_8bincount_104bincount_slow_axis29(CYTHON_UNUSED PyObje __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -23669,7 +23811,7 @@ static PyObject *__pyx_pf_8bincount_104bincount_slow_axis29(CYTHON_UNUSED PyObje __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1389 + /* "bincount.pyx":1394 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis29(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23691,7 +23833,7 @@ static PyObject *__pyx_pf_8bincount_104bincount_slow_axis29(CYTHON_UNUSED PyObje return __pyx_r; } -/* "bincount.pyx":1393 +/* "bincount.pyx":1398 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis30(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23736,21 +23878,21 @@ static PyObject *__pyx_pw_8bincount_107bincount_slow_axis30(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis30", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis30", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis30", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis30", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis30", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis30", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis30") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis30") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -23767,7 +23909,7 @@ static PyObject *__pyx_pw_8bincount_107bincount_slow_axis30(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis30", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis30", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis30", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -23792,7 +23934,7 @@ static PyObject *__pyx_pf_8bincount_106bincount_slow_axis30(CYTHON_UNUSED PyObje int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis30", 0); - /* "bincount.pyx":1395 + /* "bincount.pyx":1400 * def bincount_slow_axis30(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 30." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -23800,15 +23942,15 @@ static PyObject *__pyx_pf_8bincount_106bincount_slow_axis30(CYTHON_UNUSED PyObje * def bincount_slow_axis31(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -23816,11 +23958,11 @@ static PyObject *__pyx_pf_8bincount_106bincount_slow_axis30(CYTHON_UNUSED PyObje __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -23829,7 +23971,7 @@ static PyObject *__pyx_pf_8bincount_106bincount_slow_axis30(CYTHON_UNUSED PyObje __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1393 + /* "bincount.pyx":1398 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis30(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23851,7 +23993,7 @@ static PyObject *__pyx_pf_8bincount_106bincount_slow_axis30(CYTHON_UNUSED PyObje return __pyx_r; } -/* "bincount.pyx":1397 +/* "bincount.pyx":1402 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis31(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -23896,21 +24038,21 @@ static PyObject *__pyx_pw_8bincount_109bincount_slow_axis31(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis31", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis31", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis31", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis31", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis31", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis31", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis31") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis31") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -23927,7 +24069,7 @@ static PyObject *__pyx_pw_8bincount_109bincount_slow_axis31(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis31", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis31", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis31", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -23952,7 +24094,7 @@ static PyObject *__pyx_pf_8bincount_108bincount_slow_axis31(CYTHON_UNUSED PyObje int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis31", 0); - /* "bincount.pyx":1399 + /* "bincount.pyx":1404 * def bincount_slow_axis31(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 31." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -23960,15 +24102,15 @@ static PyObject *__pyx_pf_8bincount_108bincount_slow_axis31(CYTHON_UNUSED PyObje * def bincount_slow_axis32(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -23976,11 +24118,11 @@ static PyObject *__pyx_pf_8bincount_108bincount_slow_axis31(CYTHON_UNUSED PyObje __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -23989,7 +24131,7 @@ static PyObject *__pyx_pf_8bincount_108bincount_slow_axis31(CYTHON_UNUSED PyObje __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1397 + /* "bincount.pyx":1402 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis31(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -24011,7 +24153,7 @@ static PyObject *__pyx_pf_8bincount_108bincount_slow_axis31(CYTHON_UNUSED PyObje return __pyx_r; } -/* "bincount.pyx":1401 +/* "bincount.pyx":1406 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis32(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -24056,21 +24198,21 @@ static PyObject *__pyx_pw_8bincount_111bincount_slow_axis32(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis32", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis32", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis32", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis32", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis32", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis32", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis32") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axis32") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -24087,7 +24229,7 @@ static PyObject *__pyx_pw_8bincount_111bincount_slow_axis32(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axis32", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axis32", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axis32", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -24112,7 +24254,7 @@ static PyObject *__pyx_pf_8bincount_110bincount_slow_axis32(CYTHON_UNUSED PyObje int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axis32", 0); - /* "bincount.pyx":1403 + /* "bincount.pyx":1408 * def bincount_slow_axis32(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis 32." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -24120,15 +24262,15 @@ static PyObject *__pyx_pf_8bincount_110bincount_slow_axis32(CYTHON_UNUSED PyObje * def bincount_slow_axisNone(arr, max_val, weights, mask): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -24136,11 +24278,11 @@ static PyObject *__pyx_pf_8bincount_110bincount_slow_axis32(CYTHON_UNUSED PyObje __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -24149,7 +24291,7 @@ static PyObject *__pyx_pf_8bincount_110bincount_slow_axis32(CYTHON_UNUSED PyObje __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1401 + /* "bincount.pyx":1406 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis32(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -24171,7 +24313,7 @@ static PyObject *__pyx_pf_8bincount_110bincount_slow_axis32(CYTHON_UNUSED PyObje return __pyx_r; } -/* "bincount.pyx":1405 +/* "bincount.pyx":1410 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axisNone(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -24216,21 +24358,21 @@ static PyObject *__pyx_pw_8bincount_113bincount_slow_axisNone(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_max_val)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axisNone", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axisNone", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axisNone", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axisNone", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("bincount_slow_axisNone", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axisNone", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bincount_slow_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -24247,7 +24389,7 @@ static PyObject *__pyx_pw_8bincount_113bincount_slow_axisNone(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("bincount_slow_axisNone", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("bincount_slow_axisNone", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("bincount.bincount_slow_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -24272,7 +24414,7 @@ static PyObject *__pyx_pf_8bincount_112bincount_slow_axisNone(CYTHON_UNUSED PyOb int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bincount_slow_axisNone", 0); - /* "bincount.pyx":1407 + /* "bincount.pyx":1412 * def bincount_slow_axisNone(arr, max_val, weights, mask): * "Unaccelerated (slow) bincount along axis None." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) # <<<<<<<<<<<<<< @@ -24280,15 +24422,15 @@ static PyObject *__pyx_pf_8bincount_112bincount_slow_axisNone(CYTHON_UNUSED PyOb * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_bn); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_slow); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bincount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_arr); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_arr); @@ -24296,11 +24438,11 @@ static PyObject *__pyx_pf_8bincount_112bincount_slow_axisNone(CYTHON_UNUSED PyOb __Pyx_INCREF(__pyx_v_max_val); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_max_val); __Pyx_GIVEREF(__pyx_v_max_val); - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_weights, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mask, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -24309,7 +24451,7 @@ static PyObject *__pyx_pf_8bincount_112bincount_slow_axisNone(CYTHON_UNUSED PyOb __pyx_t_4 = 0; goto __pyx_L0; - /* "bincount.pyx":1405 + /* "bincount.pyx":1410 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axisNone(arr, max_val, weights, mask): # <<<<<<<<<<<<<< @@ -24331,7 +24473,7 @@ static PyObject *__pyx_pf_8bincount_112bincount_slow_axisNone(CYTHON_UNUSED PyOb return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -24381,7 +24523,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -24394,7 +24536,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -24403,7 +24545,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -24412,7 +24554,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -24421,7 +24563,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -24431,7 +24573,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -24443,7 +24585,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -24454,7 +24596,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -24470,7 +24612,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -24482,21 +24624,21 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__57, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__59, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -24512,7 +24654,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -24524,21 +24666,21 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< * * info.buf = PyArray_DATA(self) */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__58, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__60, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -24547,7 +24689,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -24556,7 +24698,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -24566,7 +24708,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -24575,7 +24717,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -24584,7 +24726,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -24595,7 +24737,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -24604,7 +24746,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -24617,7 +24759,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -24626,7 +24768,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -24637,7 +24779,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -24646,7 +24788,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -24655,7 +24797,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -24664,7 +24806,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -24673,7 +24815,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -24685,7 +24827,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -24694,7 +24836,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -24714,7 +24856,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -24730,7 +24872,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -24745,7 +24887,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -24755,7 +24897,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -24765,7 +24907,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -24788,7 +24930,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -24808,21 +24950,21 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__59, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__61, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -24831,7 +24973,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -24842,7 +24984,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -24853,7 +24995,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -24864,7 +25006,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -24875,7 +25017,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -24886,7 +25028,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -24897,7 +25039,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -24908,7 +25050,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -24919,7 +25061,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -24930,7 +25072,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -24941,7 +25083,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -24952,7 +25094,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -24963,7 +25105,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -24974,7 +25116,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -24985,7 +25127,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -24996,7 +25138,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -25007,7 +25149,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -25019,7 +25161,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -25045,7 +25187,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -25054,7 +25196,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -25066,7 +25208,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -25075,7 +25217,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -25084,7 +25226,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -25093,7 +25235,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -25103,7 +25245,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -25113,7 +25255,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -25145,7 +25287,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -25169,7 +25311,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -25179,7 +25321,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -25191,7 +25333,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -25201,7 +25343,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -25213,7 +25355,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -25225,7 +25367,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -25242,7 +25384,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -25256,7 +25398,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -25275,7 +25417,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -25292,7 +25434,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -25306,7 +25448,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -25325,7 +25467,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -25342,7 +25484,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -25356,7 +25498,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -25375,7 +25517,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -25392,7 +25534,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -25406,7 +25548,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -25425,7 +25567,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -25442,7 +25584,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -25456,7 +25598,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -25475,7 +25617,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -25507,7 +25649,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -25516,7 +25658,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -25525,7 +25667,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -25547,7 +25689,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -25560,7 +25702,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -25599,7 +25741,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -25616,21 +25758,21 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< * * if ((child.byteorder == c'>' and little_endian) or */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__60, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__62, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -25653,7 +25795,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -25673,21 +25815,21 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< * # One could encode it in the format string and have Cython * # complain instead, BUT: < and > in format strings also imply */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__61, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__63, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -25703,7 +25845,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -25712,7 +25854,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -25721,7 +25863,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -25732,7 +25874,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -25742,7 +25884,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -25752,7 +25894,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -25764,7 +25906,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -25774,21 +25916,21 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< * * # Until ticket #99 is fixed, use integers to avoid warnings */ - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__62, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__64, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -25806,7 +25948,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -25824,7 +25966,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -25842,7 +25984,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -25860,7 +26002,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -25878,7 +26020,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -25896,7 +26038,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -25914,7 +26056,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -25932,7 +26074,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -25950,7 +26092,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -25968,7 +26110,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -25986,7 +26128,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -26004,7 +26146,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -26022,7 +26164,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -26042,7 +26184,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -26062,7 +26204,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -26082,7 +26224,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -26101,7 +26243,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -26124,7 +26266,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -26136,7 +26278,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -26148,7 +26290,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -26158,7 +26300,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -26168,7 +26310,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -26193,7 +26335,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -26208,7 +26350,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -26219,7 +26361,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -26231,7 +26373,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -26240,7 +26382,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -26251,7 +26393,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -26260,7 +26402,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -26269,7 +26411,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -26281,7 +26423,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -26295,7 +26437,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -26305,7 +26447,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -26319,7 +26461,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -26330,7 +26472,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -26368,7 +26510,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -26380,8 +26521,9 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_s_s, __pyx_k_Unsupported_ndim_dtype_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, - {&__pyx_n_s__63, __pyx_k__63, sizeof(__pyx_k__63), 0, 0, 1, 1}, + {&__pyx_n_s__65, __pyx_k__65, sizeof(__pyx_k__65), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, {&__pyx_n_s_ai, __pyx_k_ai, sizeof(__pyx_k_ai), 0, 0, 1, 1}, {&__pyx_n_s_ain, __pyx_k_ain, sizeof(__pyx_k_ain), 0, 0, 1, 1}, @@ -26475,6 +26617,8 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_issparse, __pyx_k_issparse, sizeof(__pyx_k_issparse), 0, 0, 1, 1}, {&__pyx_n_s_itemsize, __pyx_k_itemsize, sizeof(__pyx_k_itemsize), 0, 0, 1, 1}, {&__pyx_n_s_key, __pyx_k_key, sizeof(__pyx_k_key), 0, 0, 1, 1}, + {&__pyx_kp_s_length_of_mask_does_not_match_th, __pyx_k_length_of_mask_does_not_match_th, sizeof(__pyx_k_length_of_mask_does_not_match_th), 0, 0, 1, 0}, + {&__pyx_kp_s_length_of_weights_does_not_match, __pyx_k_length_of_weights_does_not_match, sizeof(__pyx_k_length_of_weights_does_not_match), 0, 0, 1, 0}, {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, {&__pyx_n_s_mask, __pyx_k_mask, sizeof(__pyx_k_mask), 0, 0, 1, 1}, {&__pyx_n_s_max, __pyx_k_max, sizeof(__pyx_k_max), 0, 0, 1, 1}, @@ -26512,10 +26656,10 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { }; static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; @@ -26525,687 +26669,709 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "bincount.pyx":173 + /* "bincount.pyx":112 + * if mask is not None: + * if arr.ndim == 2 and len(mask) != arr.shape[1] or arr.ndim == 1 and len(mask) != 1: + * raise ValueError('length of mask does not match the matrix size') # <<<<<<<<<<<<<< + * if weights is not None and len(weights) != arr.shape[0]: + * raise ValueError('length of weights does not match the matrix size') + */ + __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_length_of_mask_does_not_match_th); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple_); + __Pyx_GIVEREF(__pyx_tuple_); + + /* "bincount.pyx":114 + * raise ValueError('length of mask does not match the matrix size') + * if weights is not None and len(weights) != arr.shape[0]: + * raise ValueError('length of weights does not match the matrix size') # <<<<<<<<<<<<<< + * func, a, weights, mask = bincount_selector(arr, max_val, weights, mask) + * return func(a, max_val, weights, mask) + */ + __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_length_of_weights_does_not_match); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__2); + __Pyx_GIVEREF(__pyx_tuple__2); + + /* "bincount.pyx":178 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple_); - __Pyx_GIVEREF(__pyx_tuple_); + __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__3); + __Pyx_GIVEREF(__pyx_tuple__3); - /* "bincount.pyx":185 + /* "bincount.pyx":190 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__2); - __Pyx_GIVEREF(__pyx_tuple__2); + __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__4); + __Pyx_GIVEREF(__pyx_tuple__4); - /* "bincount.pyx":194 + /* "bincount.pyx":199 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__3); - __Pyx_GIVEREF(__pyx_tuple__3); + __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__5); + __Pyx_GIVEREF(__pyx_tuple__5); - /* "bincount.pyx":214 + /* "bincount.pyx":219 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__4); - __Pyx_GIVEREF(__pyx_tuple__4); + __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__6); + __Pyx_GIVEREF(__pyx_tuple__6); - /* "bincount.pyx":226 + /* "bincount.pyx":231 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__5); - __Pyx_GIVEREF(__pyx_tuple__5); + __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__7); + __Pyx_GIVEREF(__pyx_tuple__7); - /* "bincount.pyx":235 + /* "bincount.pyx":240 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__6); - __Pyx_GIVEREF(__pyx_tuple__6); + __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__8); + __Pyx_GIVEREF(__pyx_tuple__8); - /* "bincount.pyx":255 + /* "bincount.pyx":260 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__7); - __Pyx_GIVEREF(__pyx_tuple__7); + __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__9); + __Pyx_GIVEREF(__pyx_tuple__9); - /* "bincount.pyx":267 + /* "bincount.pyx":272 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__8); - __Pyx_GIVEREF(__pyx_tuple__8); + __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__10); + __Pyx_GIVEREF(__pyx_tuple__10); - /* "bincount.pyx":276 + /* "bincount.pyx":281 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__9); - __Pyx_GIVEREF(__pyx_tuple__9); + __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__11); + __Pyx_GIVEREF(__pyx_tuple__11); - /* "bincount.pyx":296 + /* "bincount.pyx":301 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__10); - __Pyx_GIVEREF(__pyx_tuple__10); + __pyx_tuple__12 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__12); + __Pyx_GIVEREF(__pyx_tuple__12); - /* "bincount.pyx":308 + /* "bincount.pyx":313 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__11); - __Pyx_GIVEREF(__pyx_tuple__11); + __pyx_tuple__13 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__13); + __Pyx_GIVEREF(__pyx_tuple__13); - /* "bincount.pyx":317 + /* "bincount.pyx":322 * ai = a[i0] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__12 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__12); - __Pyx_GIVEREF(__pyx_tuple__12); + __pyx_tuple__14 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__14); + __Pyx_GIVEREF(__pyx_tuple__14); - /* "bincount.pyx":338 + /* "bincount.pyx":343 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__13 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__13); - __Pyx_GIVEREF(__pyx_tuple__13); + __pyx_tuple__15 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__15); + __Pyx_GIVEREF(__pyx_tuple__15); - /* "bincount.pyx":353 + /* "bincount.pyx":358 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__14 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__14); - __Pyx_GIVEREF(__pyx_tuple__14); + __pyx_tuple__16 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__16); + __Pyx_GIVEREF(__pyx_tuple__16); - /* "bincount.pyx":364 + /* "bincount.pyx":369 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__15 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__15); - __Pyx_GIVEREF(__pyx_tuple__15); + __pyx_tuple__17 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__17); + __Pyx_GIVEREF(__pyx_tuple__17); - /* "bincount.pyx":375 + /* "bincount.pyx":380 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__16 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__16); - __Pyx_GIVEREF(__pyx_tuple__16); + __pyx_tuple__18 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__18); + __Pyx_GIVEREF(__pyx_tuple__18); - /* "bincount.pyx":396 + /* "bincount.pyx":401 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__17 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__17); - __Pyx_GIVEREF(__pyx_tuple__17); + __pyx_tuple__19 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__19); + __Pyx_GIVEREF(__pyx_tuple__19); - /* "bincount.pyx":411 + /* "bincount.pyx":416 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__18 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__18); - __Pyx_GIVEREF(__pyx_tuple__18); + __pyx_tuple__20 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__20); + __Pyx_GIVEREF(__pyx_tuple__20); - /* "bincount.pyx":422 + /* "bincount.pyx":427 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__19 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__19); - __Pyx_GIVEREF(__pyx_tuple__19); + __pyx_tuple__21 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__21); + __Pyx_GIVEREF(__pyx_tuple__21); - /* "bincount.pyx":433 + /* "bincount.pyx":438 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__20 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__20); - __Pyx_GIVEREF(__pyx_tuple__20); + __pyx_tuple__22 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__22); + __Pyx_GIVEREF(__pyx_tuple__22); - /* "bincount.pyx":454 + /* "bincount.pyx":459 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__21 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__21); - __Pyx_GIVEREF(__pyx_tuple__21); + __pyx_tuple__23 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__23); + __Pyx_GIVEREF(__pyx_tuple__23); - /* "bincount.pyx":469 + /* "bincount.pyx":474 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__22 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__22); - __Pyx_GIVEREF(__pyx_tuple__22); + __pyx_tuple__24 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__24); + __Pyx_GIVEREF(__pyx_tuple__24); - /* "bincount.pyx":480 + /* "bincount.pyx":485 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__23 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__23); - __Pyx_GIVEREF(__pyx_tuple__23); + __pyx_tuple__25 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__25); + __Pyx_GIVEREF(__pyx_tuple__25); - /* "bincount.pyx":491 + /* "bincount.pyx":496 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__24 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__24); - __Pyx_GIVEREF(__pyx_tuple__24); + __pyx_tuple__26 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__26); + __Pyx_GIVEREF(__pyx_tuple__26); - /* "bincount.pyx":512 + /* "bincount.pyx":517 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__25 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__25); - __Pyx_GIVEREF(__pyx_tuple__25); + __pyx_tuple__27 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__27); + __Pyx_GIVEREF(__pyx_tuple__27); - /* "bincount.pyx":527 + /* "bincount.pyx":532 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__26 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__26); - __Pyx_GIVEREF(__pyx_tuple__26); + __pyx_tuple__28 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__28); + __Pyx_GIVEREF(__pyx_tuple__28); - /* "bincount.pyx":538 + /* "bincount.pyx":543 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__27 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__27); - __Pyx_GIVEREF(__pyx_tuple__27); + __pyx_tuple__29 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__29); + __Pyx_GIVEREF(__pyx_tuple__29); - /* "bincount.pyx":549 + /* "bincount.pyx":554 * ai = a[i0, i1] * if ai < 0: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * if ai > max_val: * raise ValueError("value %i is greater than max_val (%i)" */ - __pyx_tuple__28 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__28); - __Pyx_GIVEREF(__pyx_tuple__28); + __pyx_tuple__30 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__30); + __Pyx_GIVEREF(__pyx_tuple__30); - /* "bincount.pyx":570 + /* "bincount.pyx":575 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__29 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__29); - __Pyx_GIVEREF(__pyx_tuple__29); + __pyx_tuple__31 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__31); + __Pyx_GIVEREF(__pyx_tuple__31); - /* "bincount.pyx":606 + /* "bincount.pyx":611 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__30 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__30); - __Pyx_GIVEREF(__pyx_tuple__30); + __pyx_tuple__32 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__32); + __Pyx_GIVEREF(__pyx_tuple__32); - /* "bincount.pyx":642 + /* "bincount.pyx":647 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__31 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__31); - __Pyx_GIVEREF(__pyx_tuple__31); + __pyx_tuple__33 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__33); + __Pyx_GIVEREF(__pyx_tuple__33); - /* "bincount.pyx":678 + /* "bincount.pyx":683 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__32 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__32); - __Pyx_GIVEREF(__pyx_tuple__32); + __pyx_tuple__34 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__34); + __Pyx_GIVEREF(__pyx_tuple__34); - /* "bincount.pyx":713 + /* "bincount.pyx":718 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__33 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__33); - __Pyx_GIVEREF(__pyx_tuple__33); + __pyx_tuple__35 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__35); + __Pyx_GIVEREF(__pyx_tuple__35); - /* "bincount.pyx":730 + /* "bincount.pyx":735 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__34 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__34); - __Pyx_GIVEREF(__pyx_tuple__34); + __pyx_tuple__36 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__36); + __Pyx_GIVEREF(__pyx_tuple__36); - /* "bincount.pyx":746 + /* "bincount.pyx":751 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__35 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__35); - __Pyx_GIVEREF(__pyx_tuple__35); + __pyx_tuple__37 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__37); + __Pyx_GIVEREF(__pyx_tuple__37); - /* "bincount.pyx":769 + /* "bincount.pyx":774 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__36 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__36); - __Pyx_GIVEREF(__pyx_tuple__36); + __pyx_tuple__38 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__38); + __Pyx_GIVEREF(__pyx_tuple__38); - /* "bincount.pyx":786 + /* "bincount.pyx":791 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__37 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__37); - __Pyx_GIVEREF(__pyx_tuple__37); + __pyx_tuple__39 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__39); + __Pyx_GIVEREF(__pyx_tuple__39); - /* "bincount.pyx":802 + /* "bincount.pyx":807 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__38 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__38); - __Pyx_GIVEREF(__pyx_tuple__38); + __pyx_tuple__40 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__40); + __Pyx_GIVEREF(__pyx_tuple__40); - /* "bincount.pyx":825 + /* "bincount.pyx":830 * cdef Py_ssize_t n0 = dim[0] * if w is not None and len(w) != n0: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__39 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__39); - __Pyx_GIVEREF(__pyx_tuple__39); + __pyx_tuple__41 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__41); + __Pyx_GIVEREF(__pyx_tuple__41); - /* "bincount.pyx":842 + /* "bincount.pyx":847 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__40 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__40); - __Pyx_GIVEREF(__pyx_tuple__40); + __pyx_tuple__42 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__42); + __Pyx_GIVEREF(__pyx_tuple__42); - /* "bincount.pyx":858 + /* "bincount.pyx":863 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__41 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__41); - __Pyx_GIVEREF(__pyx_tuple__41); + __pyx_tuple__43 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__43); + __Pyx_GIVEREF(__pyx_tuple__43); - /* "bincount.pyx":882 + /* "bincount.pyx":887 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__42 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__42); - __Pyx_GIVEREF(__pyx_tuple__42); + __pyx_tuple__44 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__44); + __Pyx_GIVEREF(__pyx_tuple__44); - /* "bincount.pyx":900 + /* "bincount.pyx":905 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__43 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__43); - __Pyx_GIVEREF(__pyx_tuple__43); + __pyx_tuple__45 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__45); + __Pyx_GIVEREF(__pyx_tuple__45); - /* "bincount.pyx":917 + /* "bincount.pyx":922 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__44 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__44); - __Pyx_GIVEREF(__pyx_tuple__44); + __pyx_tuple__46 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__46); + __Pyx_GIVEREF(__pyx_tuple__46); - /* "bincount.pyx":935 + /* "bincount.pyx":940 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__45 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__45); - __Pyx_GIVEREF(__pyx_tuple__45); + __pyx_tuple__47 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__47); + __Pyx_GIVEREF(__pyx_tuple__47); - /* "bincount.pyx":959 + /* "bincount.pyx":964 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__46 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__46); - __Pyx_GIVEREF(__pyx_tuple__46); + __pyx_tuple__48 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__48); + __Pyx_GIVEREF(__pyx_tuple__48); - /* "bincount.pyx":977 + /* "bincount.pyx":982 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__47 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__47); - __Pyx_GIVEREF(__pyx_tuple__47); + __pyx_tuple__49 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__49); + __Pyx_GIVEREF(__pyx_tuple__49); - /* "bincount.pyx":994 + /* "bincount.pyx":999 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__48 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__48); - __Pyx_GIVEREF(__pyx_tuple__48); + __pyx_tuple__50 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__50); + __Pyx_GIVEREF(__pyx_tuple__50); - /* "bincount.pyx":1012 + /* "bincount.pyx":1017 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__49 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__49); - __Pyx_GIVEREF(__pyx_tuple__49); + __pyx_tuple__51 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__51); + __Pyx_GIVEREF(__pyx_tuple__51); - /* "bincount.pyx":1036 + /* "bincount.pyx":1041 * cdef Py_ssize_t n1 = dim[1] * if w is not None and len(w) != len(a): * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__50 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__50); - __Pyx_GIVEREF(__pyx_tuple__50); + __pyx_tuple__52 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__52); + __Pyx_GIVEREF(__pyx_tuple__52); - /* "bincount.pyx":1054 + /* "bincount.pyx":1059 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__51 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__51); - __Pyx_GIVEREF(__pyx_tuple__51); + __pyx_tuple__53 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__53); + __Pyx_GIVEREF(__pyx_tuple__53); - /* "bincount.pyx":1071 + /* "bincount.pyx":1076 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__52 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__52); - __Pyx_GIVEREF(__pyx_tuple__52); + __pyx_tuple__54 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__54); + __Pyx_GIVEREF(__pyx_tuple__54); - /* "bincount.pyx":1089 + /* "bincount.pyx":1094 * continue * if ai < -1e-6: * raise ValueError("negative value in bincount") # <<<<<<<<<<<<<< * ain = int(ai + 0.1) * if not -1e-6 < ain - ai < 1e-6: */ - __pyx_tuple__53 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__53); - __Pyx_GIVEREF(__pyx_tuple__53); + __pyx_tuple__55 = PyTuple_Pack(1, __pyx_kp_s_negative_value_in_bincount); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__55); + __Pyx_GIVEREF(__pyx_tuple__55); - /* "bincount.pyx":1113 + /* "bincount.pyx":1118 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__54 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__54); - __Pyx_GIVEREF(__pyx_tuple__54); + __pyx_tuple__56 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__56); + __Pyx_GIVEREF(__pyx_tuple__56); - /* "bincount.pyx":1161 + /* "bincount.pyx":1166 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__55 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__55); - __Pyx_GIVEREF(__pyx_tuple__55); + __pyx_tuple__57 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__57); + __Pyx_GIVEREF(__pyx_tuple__57); - /* "bincount.pyx":1209 + /* "bincount.pyx":1214 * * if w is not None and len(w) != n_rows: * raise ValueError("invalid length of the weight vector") # <<<<<<<<<<<<<< * * cdef: */ - __pyx_tuple__56 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__56); - __Pyx_GIVEREF(__pyx_tuple__56); + __pyx_tuple__58 = PyTuple_Pack(1, __pyx_kp_s_invalid_length_of_the_weight_vec); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__58); + __Pyx_GIVEREF(__pyx_tuple__58); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) */ - __pyx_tuple__57 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__57); - __Pyx_GIVEREF(__pyx_tuple__57); + __pyx_tuple__59 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__59); + __Pyx_GIVEREF(__pyx_tuple__59); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< * * info.buf = PyArray_DATA(self) */ - __pyx_tuple__58 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__58); - __Pyx_GIVEREF(__pyx_tuple__58); + __pyx_tuple__60 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__60); + __Pyx_GIVEREF(__pyx_tuple__60); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" */ - __pyx_tuple__59 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__59); - __Pyx_GIVEREF(__pyx_tuple__59); + __pyx_tuple__61 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__61); + __Pyx_GIVEREF(__pyx_tuple__61); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< * * if ((child.byteorder == c'>' and little_endian) or */ - __pyx_tuple__60 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__60); - __Pyx_GIVEREF(__pyx_tuple__60); + __pyx_tuple__62 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__62); + __Pyx_GIVEREF(__pyx_tuple__62); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< * # One could encode it in the format string and have Cython * # complain instead, BUT: < and > in format strings also imply */ - __pyx_tuple__61 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__61); - __Pyx_GIVEREF(__pyx_tuple__61); + __pyx_tuple__63 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__63); + __Pyx_GIVEREF(__pyx_tuple__63); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< * * # Until ticket #99 is fixed, use integers to avoid warnings */ - __pyx_tuple__62 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__62); - __Pyx_GIVEREF(__pyx_tuple__62); + __pyx_tuple__64 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__64); + __Pyx_GIVEREF(__pyx_tuple__64); /* "bincount.pyx":58 * NPY_int_ = NPY_int64 @@ -27214,9 +27380,9 @@ static int __Pyx_InitCachedConstants(void) { * * cdef extern from "math.h": */ - __pyx_tuple__64 = PyTuple_Pack(1, __pyx_kp_s_Expecting_default_NumPy_int_to_b); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__64); - __Pyx_GIVEREF(__pyx_tuple__64); + __pyx_tuple__66 = PyTuple_Pack(1, __pyx_kp_s_Expecting_default_NumPy_int_to_b); if (unlikely(!__pyx_tuple__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__66); + __Pyx_GIVEREF(__pyx_tuple__66); /* "bincount.pyx":68 * "nanequal auto-generated from template" @@ -27225,682 +27391,682 @@ static int __Pyx_InitCachedConstants(void) { * """ * Count number of occurrences of each value in array. */ - __pyx_tuple__65 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask, __pyx_n_s_func, __pyx_n_s_a); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__65); - __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask, __pyx_n_s_func, __pyx_n_s_a); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__67); + __Pyx_GIVEREF(__pyx_tuple__67); + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":116 + /* "bincount.pyx":121 * * * def bincount_selector(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * cdef int dtype * cdef tuple key */ - __pyx_tuple__67 = PyTuple_Pack(10, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__67); - __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_selector, 116, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - - /* "bincount.pyx":162 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def bincount_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, # <<<<<<<<<<<<<< - * int max_val, - * np.ndarray[np.float_t, ndim=1] w = None, - */ - __pyx_tuple__69 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__69 = PyTuple_Pack(10, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_1d_int_axisNone, 162, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_selector, 121, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":203 + /* "bincount.pyx":167 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, # <<<<<<<<<<<<<< + * def bincount_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__71 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__71 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_1d_int8_axisNone, 203, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_1d_int_axisNone, 167, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":244 + /* "bincount.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, # <<<<<<<<<<<<<< + * def bincount_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__73 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__73 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_1d_int32_axisNone, 244, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_1d_int8_axisNone, 208, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":285 + /* "bincount.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, # <<<<<<<<<<<<<< + * def bincount_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__75 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__75 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_1d_int64_axisNone, 285, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_1d_int32_axisNone, 249, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":326 + /* "bincount.pyx":290 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * def bincount_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__77 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__77 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(4, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_2d_int_axisNone, 326, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_1d_int64_axisNone, 290, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":384 + /* "bincount.pyx":331 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * def bincount_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__79 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__79 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(4, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_2d_int8_axisNone, 384, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(4, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_2d_int_axisNone, 331, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":442 + /* "bincount.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def bincount_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__81 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__81 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(4, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_2d_int32_axisNone, 442, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(4, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_2d_int8_axisNone, 389, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":500 + /* "bincount.pyx":447 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def bincount_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__83 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__83 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(4, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_2d_int64_axisNone, 500, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(4, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_2d_int32_axisNone, 447, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":558 + /* "bincount.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_0d_int_axisNone(object a, # <<<<<<<<<<<<<< - * int max_val, - * np.ndarray[np.float_t, ndim=1] w = None, + * def bincount_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * int max_val, + * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__85 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__85 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_0d_int_axisNone, 558, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(4, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_2d_int64_axisNone, 505, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":594 + /* "bincount.pyx":563 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_0d_int8_axisNone(object a, # <<<<<<<<<<<<<< + * def bincount_0d_int_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__87 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__87 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_0d_int8_axisNone, 594, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_0d_int_axisNone, 563, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":630 + /* "bincount.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_0d_int32_axisNone(object a, # <<<<<<<<<<<<<< + * def bincount_0d_int8_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__89 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__89 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_0d_int32_axisNone, 630, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_0d_int8_axisNone, 599, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":666 + /* "bincount.pyx":635 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_0d_int64_axisNone(object a, # <<<<<<<<<<<<<< + * def bincount_0d_int32_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__91 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__91 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_0d_int64_axisNone, 666, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_0d_int32_axisNone, 635, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":702 + /* "bincount.pyx":671 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< - * int max_val, - * np.ndarray[np.float_t, ndim=1] w = None, + * def bincount_0d_int64_axisNone(object a, # <<<<<<<<<<<<<< + * int max_val, + * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__93 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__93 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_1d_float_axisNone, 702, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_0d_int64_axisNone, 671, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":758 + /* "bincount.pyx":707 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< + * def bincount_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__95 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__95 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_1d_float32_axisNone, 758, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_1d_float_axisNone, 707, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":814 + /* "bincount.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< + * def bincount_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__97 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__97 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_1d_float64_axisNone, 814, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_1d_float32_axisNone, 763, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":870 + /* "bincount.pyx":819 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def bincount_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__99 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__99 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_2d_float_axisNone, 870, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_1d_float64_axisNone, 819, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":947 + /* "bincount.pyx":875 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def bincount_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__101 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__101 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_2d_float32_axisNone, 947, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_2d_float_axisNone, 875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1024 + /* "bincount.pyx":952 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def bincount_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__103 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__103 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_2d_float64_axisNone, 1024, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_2d_float32_axisNone, 952, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1101 + /* "bincount.pyx":1029 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_0d_float_axisNone(object a, # <<<<<<<<<<<<<< - * int max_val, - * np.ndarray[np.float_t, ndim=1] w = None, + * def bincount_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * int max_val, + * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__105 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_ain); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__105 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(4, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_0d_float_axisNone, 1101, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(4, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_2d_float64_axisNone, 1029, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1149 + /* "bincount.pyx":1106 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_0d_float32_axisNone(object a, # <<<<<<<<<<<<<< + * def bincount_0d_float_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__107 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_ain); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__107 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_ain); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(4, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_0d_float32_axisNone, 1149, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(4, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_0d_float_axisNone, 1106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1197 + /* "bincount.pyx":1154 * @cython.boundscheck(False) * @cython.wraparound(False) - * def bincount_0d_float64_axisNone(object a, # <<<<<<<<<<<<<< + * def bincount_0d_float32_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_tuple__109 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_ain); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__109 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_ain); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(4, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_0d_float64_axisNone, 1197, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(4, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_0d_float32_axisNone, 1154, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1273 + /* "bincount.pyx":1202 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def bincount_0d_float64_axisNone(object a, # <<<<<<<<<<<<<< + * int max_val, + * np.ndarray[np.float_t, ndim=1] w = None, + */ + __pyx_tuple__111 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_max_val, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_ain); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__111); + __Pyx_GIVEREF(__pyx_tuple__111); + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(4, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_0d_float64_axisNone, 1202, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "bincount.pyx":1278 * bincount_dict[(0, NPY_float64, None)] = bincount_0d_float64_axisNone * * def bincount_slow_axis0(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 0." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__111 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__111); - __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis0, 1273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__113 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__113); + __Pyx_GIVEREF(__pyx_tuple__113); + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis0, 1278, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1277 + /* "bincount.pyx":1282 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis1(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 1." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__113 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__113); - __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis1, 1277, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__115 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__115); + __Pyx_GIVEREF(__pyx_tuple__115); + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis1, 1282, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1281 + /* "bincount.pyx":1286 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis2(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 2." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__115 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__115); - __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis2, 1281, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__117 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__117); + __Pyx_GIVEREF(__pyx_tuple__117); + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis2, 1286, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1285 + /* "bincount.pyx":1290 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis3(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 3." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__117 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__117); - __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis3, 1285, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__119 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__119); + __Pyx_GIVEREF(__pyx_tuple__119); + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis3, 1290, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1289 + /* "bincount.pyx":1294 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis4(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 4." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__119 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__119); - __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis4, 1289, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__121 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__121); + __Pyx_GIVEREF(__pyx_tuple__121); + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis4, 1294, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1293 + /* "bincount.pyx":1298 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis5(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 5." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__121 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__121); - __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis5, 1293, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__123 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1298; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__123); + __Pyx_GIVEREF(__pyx_tuple__123); + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis5, 1298, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1298; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1297 + /* "bincount.pyx":1302 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis6(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 6." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__123 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__123); - __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis6, 1297, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__125 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__125); + __Pyx_GIVEREF(__pyx_tuple__125); + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis6, 1302, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1301 + /* "bincount.pyx":1306 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis7(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 7." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__125 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__125); - __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis7, 1301, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__127 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__127); + __Pyx_GIVEREF(__pyx_tuple__127); + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis7, 1306, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1305 + /* "bincount.pyx":1310 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis8(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 8." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__127 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__127); - __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis8, 1305, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__129 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__129); + __Pyx_GIVEREF(__pyx_tuple__129); + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis8, 1310, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1309 + /* "bincount.pyx":1314 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis9(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 9." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__129 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__129); - __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis9, 1309, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__131 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__131); + __Pyx_GIVEREF(__pyx_tuple__131); + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis9, 1314, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1313 + /* "bincount.pyx":1318 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis10(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 10." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__131 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__131); - __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis10, 1313, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__133 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__133); + __Pyx_GIVEREF(__pyx_tuple__133); + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis10, 1318, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1317 + /* "bincount.pyx":1322 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis11(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 11." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__133 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__133); - __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis11, 1317, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__135 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__135); + __Pyx_GIVEREF(__pyx_tuple__135); + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis11, 1322, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1321 + /* "bincount.pyx":1326 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis12(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 12." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__135 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__135); - __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis12, 1321, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__137 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__137); + __Pyx_GIVEREF(__pyx_tuple__137); + __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis12, 1326, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1325 + /* "bincount.pyx":1330 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis13(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 13." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__137 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__137); - __Pyx_GIVEREF(__pyx_tuple__137); - __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis13, 1325, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__139 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__139); + __Pyx_GIVEREF(__pyx_tuple__139); + __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis13, 1330, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1329 + /* "bincount.pyx":1334 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis14(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 14." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__139 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__139); - __Pyx_GIVEREF(__pyx_tuple__139); - __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis14, 1329, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__141 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__141); + __Pyx_GIVEREF(__pyx_tuple__141); + __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis14, 1334, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1333 + /* "bincount.pyx":1338 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis15(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 15." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__141 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__141); - __Pyx_GIVEREF(__pyx_tuple__141); - __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis15, 1333, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__143 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__143); + __Pyx_GIVEREF(__pyx_tuple__143); + __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis15, 1338, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1337 + /* "bincount.pyx":1342 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis16(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 16." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__143 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__143); - __Pyx_GIVEREF(__pyx_tuple__143); - __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis16, 1337, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__145 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__145); + __Pyx_GIVEREF(__pyx_tuple__145); + __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis16, 1342, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1341 + /* "bincount.pyx":1346 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis17(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 17." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__145 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__145); - __Pyx_GIVEREF(__pyx_tuple__145); - __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis17, 1341, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__147 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__147); + __Pyx_GIVEREF(__pyx_tuple__147); + __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis17, 1346, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1345 + /* "bincount.pyx":1350 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis18(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 18." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__147 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__147); - __Pyx_GIVEREF(__pyx_tuple__147); - __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis18, 1345, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__149 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__149); + __Pyx_GIVEREF(__pyx_tuple__149); + __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis18, 1350, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1349 + /* "bincount.pyx":1354 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis19(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 19." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__149 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__149); - __Pyx_GIVEREF(__pyx_tuple__149); - __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis19, 1349, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__151 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__151); + __Pyx_GIVEREF(__pyx_tuple__151); + __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis19, 1354, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1353 + /* "bincount.pyx":1358 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis20(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 20." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__151 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__151); - __Pyx_GIVEREF(__pyx_tuple__151); - __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis20, 1353, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__153 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__153); + __Pyx_GIVEREF(__pyx_tuple__153); + __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis20, 1358, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1357 + /* "bincount.pyx":1362 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis21(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 21." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__153 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__153); - __Pyx_GIVEREF(__pyx_tuple__153); - __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis21, 1357, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__155 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__155); + __Pyx_GIVEREF(__pyx_tuple__155); + __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis21, 1362, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1361 + /* "bincount.pyx":1366 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis22(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 22." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__155 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__155); - __Pyx_GIVEREF(__pyx_tuple__155); - __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis22, 1361, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__157 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__157); + __Pyx_GIVEREF(__pyx_tuple__157); + __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis22, 1366, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1365 + /* "bincount.pyx":1370 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis23(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 23." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__157 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__157); - __Pyx_GIVEREF(__pyx_tuple__157); - __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis23, 1365, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__159 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__159); + __Pyx_GIVEREF(__pyx_tuple__159); + __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis23, 1370, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1369 + /* "bincount.pyx":1374 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis24(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 24." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__159 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__159); - __Pyx_GIVEREF(__pyx_tuple__159); - __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis24, 1369, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__161 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__161); + __Pyx_GIVEREF(__pyx_tuple__161); + __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis24, 1374, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1373 + /* "bincount.pyx":1378 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis25(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 25." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__161 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__161); - __Pyx_GIVEREF(__pyx_tuple__161); - __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis25, 1373, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__163 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__163); + __Pyx_GIVEREF(__pyx_tuple__163); + __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis25, 1378, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1377 + /* "bincount.pyx":1382 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis26(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 26." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__163 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__163); - __Pyx_GIVEREF(__pyx_tuple__163); - __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis26, 1377, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__165 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__165)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__165); + __Pyx_GIVEREF(__pyx_tuple__165); + __pyx_codeobj__166 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__165, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis26, 1382, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__166)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1381 + /* "bincount.pyx":1386 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis27(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 27." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__165 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__165)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__165); - __Pyx_GIVEREF(__pyx_tuple__165); - __pyx_codeobj__166 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__165, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis27, 1381, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__166)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__167 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__167)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__167); + __Pyx_GIVEREF(__pyx_tuple__167); + __pyx_codeobj__168 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__167, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis27, 1386, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__168)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1385 + /* "bincount.pyx":1390 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis28(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 28." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__167 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__167)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__167); - __Pyx_GIVEREF(__pyx_tuple__167); - __pyx_codeobj__168 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__167, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis28, 1385, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__168)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__169 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__169)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__169); + __Pyx_GIVEREF(__pyx_tuple__169); + __pyx_codeobj__170 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__169, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis28, 1390, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1389 + /* "bincount.pyx":1394 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis29(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 29." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__169 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__169)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__169); - __Pyx_GIVEREF(__pyx_tuple__169); - __pyx_codeobj__170 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__169, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis29, 1389, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__171 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__171)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__171); + __Pyx_GIVEREF(__pyx_tuple__171); + __pyx_codeobj__172 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__171, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis29, 1394, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__172)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1393 + /* "bincount.pyx":1398 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis30(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 30." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__171 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__171)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__171); - __Pyx_GIVEREF(__pyx_tuple__171); - __pyx_codeobj__172 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__171, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis30, 1393, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__172)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__173 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__173)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__173); + __Pyx_GIVEREF(__pyx_tuple__173); + __pyx_codeobj__174 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__173, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis30, 1398, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1397 + /* "bincount.pyx":1402 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis31(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 31." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__173 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__173)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__173); - __Pyx_GIVEREF(__pyx_tuple__173); - __pyx_codeobj__174 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__173, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis31, 1397, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__175 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__175)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__175); + __Pyx_GIVEREF(__pyx_tuple__175); + __pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__175, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis31, 1402, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1401 + /* "bincount.pyx":1406 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis32(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 32." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__175 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__175)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__175); - __Pyx_GIVEREF(__pyx_tuple__175); - __pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__175, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axis32, 1401, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__177 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__177)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__177); + __Pyx_GIVEREF(__pyx_tuple__177); + __pyx_codeobj__178 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axis32, 1406, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__178)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "bincount.pyx":1405 + /* "bincount.pyx":1410 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axisNone(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis None." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_tuple__177 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__177)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_tuple__177); - __Pyx_GIVEREF(__pyx_tuple__177); - __pyx_codeobj__178 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_bincount_slow_axisNone, 1405, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__178)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__179 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_max_val, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__179)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_tuple__179); + __Pyx_GIVEREF(__pyx_tuple__179); + __pyx_codeobj__180 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__179, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_bincount_slow_axisNone, 1410, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__180)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -28082,9 +28248,9 @@ PyMODINIT_FUNC PyInit_bincount(void) */ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 5; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_n_s__63); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s__63); - __Pyx_GIVEREF(__pyx_n_s__63); + __Pyx_INCREF(__pyx_n_s__65); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s__65); + __Pyx_GIVEREF(__pyx_n_s__65); __pyx_t_2 = __Pyx_Import(__pyx_n_s_scipy_sparse, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 5; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -28823,7 +28989,7 @@ PyMODINIT_FUNC PyInit_bincount(void) * * cdef extern from "math.h": */ - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__64, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__66, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -28852,300 +29018,300 @@ PyMODINIT_FUNC PyInit_bincount(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":116 + /* "bincount.pyx":121 * * * def bincount_selector(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * cdef int dtype * cdef tuple key */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_3bincount_selector, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_3bincount_selector, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_selector, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_selector, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":162 + /* "bincount.pyx":167 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_5bincount_1d_int_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_5bincount_1d_int_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":203 + /* "bincount.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_7bincount_1d_int8_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_7bincount_1d_int8_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":244 + /* "bincount.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_9bincount_1d_int32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_9bincount_1d_int32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":285 + /* "bincount.pyx":290 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_11bincount_1d_int64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_11bincount_1d_int64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":326 + /* "bincount.pyx":331 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_13bincount_2d_int_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_13bincount_2d_int_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":384 + /* "bincount.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_15bincount_2d_int8_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_15bincount_2d_int8_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":442 + /* "bincount.pyx":447 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_17bincount_2d_int32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_17bincount_2d_int32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":500 + /* "bincount.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_19bincount_2d_int64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_19bincount_2d_int64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":558 + /* "bincount.pyx":563 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_21bincount_0d_int_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_21bincount_0d_int_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":594 + /* "bincount.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int8_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_23bincount_0d_int8_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_23bincount_0d_int8_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":630 + /* "bincount.pyx":635 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int32_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_25bincount_0d_int32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_25bincount_0d_int32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":666 + /* "bincount.pyx":671 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_int64_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_27bincount_0d_int64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_27bincount_0d_int64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":702 + /* "bincount.pyx":707 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_29bincount_1d_float_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_29bincount_1d_float_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":758 + /* "bincount.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_31bincount_1d_float32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_31bincount_1d_float32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":814 + /* "bincount.pyx":819 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_33bincount_1d_float64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_33bincount_1d_float64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":870 + /* "bincount.pyx":875 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_35bincount_2d_float_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_35bincount_2d_float_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":947 + /* "bincount.pyx":952 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_37bincount_2d_float32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_37bincount_2d_float32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1024 + /* "bincount.pyx":1029 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_39bincount_2d_float64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_39bincount_2d_float64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1101 + /* "bincount.pyx":1106 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_41bincount_0d_float_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_41bincount_0d_float_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1149 + /* "bincount.pyx":1154 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float32_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_43bincount_0d_float32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_43bincount_0d_float32_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1197 + /* "bincount.pyx":1202 * @cython.boundscheck(False) * @cython.wraparound(False) * def bincount_0d_float64_axisNone(object a, # <<<<<<<<<<<<<< * int max_val, * np.ndarray[np.float_t, ndim=1] w = None, */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_45bincount_0d_float64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_45bincount_0d_float64_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_0d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1243 + /* "bincount.pyx":1248 * * * cdef dict bincount_dict = {} # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_int, 0)] = bincount_1d_int_axisNone * bincount_dict[(1, NPY_int, None)] = bincount_1d_int_axisNone */ - __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_v_8bincount_bincount_dict); __Pyx_DECREF_SET(__pyx_v_8bincount_bincount_dict, ((PyObject*)__pyx_t_2)); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1244 + /* "bincount.pyx":1249 * * cdef dict bincount_dict = {} * bincount_dict[(1, NPY_int, 0)] = bincount_1d_int_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_int, None)] = bincount_1d_int_axisNone * bincount_dict[(1, NPY_int8, 0)] = bincount_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); @@ -29156,26 +29322,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1245 + /* "bincount.pyx":1250 * cdef dict bincount_dict = {} * bincount_dict[(1, NPY_int, 0)] = bincount_1d_int_axisNone * bincount_dict[(1, NPY_int, None)] = bincount_1d_int_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_int8, 0)] = bincount_1d_int8_axisNone * bincount_dict[(1, NPY_int8, None)] = bincount_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); @@ -29186,26 +29352,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1246 + /* "bincount.pyx":1251 * bincount_dict[(1, NPY_int, 0)] = bincount_1d_int_axisNone * bincount_dict[(1, NPY_int, None)] = bincount_1d_int_axisNone * bincount_dict[(1, NPY_int8, 0)] = bincount_1d_int8_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_int8, None)] = bincount_1d_int8_axisNone * bincount_dict[(1, NPY_int32, 0)] = bincount_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); @@ -29216,26 +29382,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1247 + /* "bincount.pyx":1252 * bincount_dict[(1, NPY_int, None)] = bincount_1d_int_axisNone * bincount_dict[(1, NPY_int8, 0)] = bincount_1d_int8_axisNone * bincount_dict[(1, NPY_int8, None)] = bincount_1d_int8_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_int32, 0)] = bincount_1d_int32_axisNone * bincount_dict[(1, NPY_int32, None)] = bincount_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); @@ -29246,26 +29412,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1248 + /* "bincount.pyx":1253 * bincount_dict[(1, NPY_int8, 0)] = bincount_1d_int8_axisNone * bincount_dict[(1, NPY_int8, None)] = bincount_1d_int8_axisNone * bincount_dict[(1, NPY_int32, 0)] = bincount_1d_int32_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_int32, None)] = bincount_1d_int32_axisNone * bincount_dict[(1, NPY_int64, 0)] = bincount_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); @@ -29276,26 +29442,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1249 + /* "bincount.pyx":1254 * bincount_dict[(1, NPY_int8, None)] = bincount_1d_int8_axisNone * bincount_dict[(1, NPY_int32, 0)] = bincount_1d_int32_axisNone * bincount_dict[(1, NPY_int32, None)] = bincount_1d_int32_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_int64, 0)] = bincount_1d_int64_axisNone * bincount_dict[(1, NPY_int64, None)] = bincount_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); @@ -29306,26 +29472,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1250 + /* "bincount.pyx":1255 * bincount_dict[(1, NPY_int32, 0)] = bincount_1d_int32_axisNone * bincount_dict[(1, NPY_int32, None)] = bincount_1d_int32_axisNone * bincount_dict[(1, NPY_int64, 0)] = bincount_1d_int64_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_int64, None)] = bincount_1d_int64_axisNone * bincount_dict[(2, NPY_int, None)] = bincount_2d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); @@ -29336,26 +29502,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1251 + /* "bincount.pyx":1256 * bincount_dict[(1, NPY_int32, None)] = bincount_1d_int32_axisNone * bincount_dict[(1, NPY_int64, 0)] = bincount_1d_int64_axisNone * bincount_dict[(1, NPY_int64, None)] = bincount_1d_int64_axisNone # <<<<<<<<<<<<<< * bincount_dict[(2, NPY_int, None)] = bincount_2d_int_axisNone * bincount_dict[(2, NPY_int8, None)] = bincount_2d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); @@ -29366,26 +29532,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1252 + /* "bincount.pyx":1257 * bincount_dict[(1, NPY_int64, 0)] = bincount_1d_int64_axisNone * bincount_dict[(1, NPY_int64, None)] = bincount_1d_int64_axisNone * bincount_dict[(2, NPY_int, None)] = bincount_2d_int_axisNone # <<<<<<<<<<<<<< * bincount_dict[(2, NPY_int8, None)] = bincount_2d_int8_axisNone * bincount_dict[(2, NPY_int32, None)] = bincount_2d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); @@ -29396,26 +29562,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1253 + /* "bincount.pyx":1258 * bincount_dict[(1, NPY_int64, None)] = bincount_1d_int64_axisNone * bincount_dict[(2, NPY_int, None)] = bincount_2d_int_axisNone * bincount_dict[(2, NPY_int8, None)] = bincount_2d_int8_axisNone # <<<<<<<<<<<<<< * bincount_dict[(2, NPY_int32, None)] = bincount_2d_int32_axisNone * bincount_dict[(2, NPY_int64, None)] = bincount_2d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); @@ -29426,26 +29592,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1254 + /* "bincount.pyx":1259 * bincount_dict[(2, NPY_int, None)] = bincount_2d_int_axisNone * bincount_dict[(2, NPY_int8, None)] = bincount_2d_int8_axisNone * bincount_dict[(2, NPY_int32, None)] = bincount_2d_int32_axisNone # <<<<<<<<<<<<<< * bincount_dict[(2, NPY_int64, None)] = bincount_2d_int64_axisNone * bincount_dict[(0, NPY_int, None)] = bincount_0d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); @@ -29456,26 +29622,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1255 + /* "bincount.pyx":1260 * bincount_dict[(2, NPY_int8, None)] = bincount_2d_int8_axisNone * bincount_dict[(2, NPY_int32, None)] = bincount_2d_int32_axisNone * bincount_dict[(2, NPY_int64, None)] = bincount_2d_int64_axisNone # <<<<<<<<<<<<<< * bincount_dict[(0, NPY_int, None)] = bincount_0d_int_axisNone * bincount_dict[(0, NPY_int8, None)] = bincount_0d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); @@ -29486,26 +29652,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1256 + /* "bincount.pyx":1261 * bincount_dict[(2, NPY_int32, None)] = bincount_2d_int32_axisNone * bincount_dict[(2, NPY_int64, None)] = bincount_2d_int64_axisNone * bincount_dict[(0, NPY_int, None)] = bincount_0d_int_axisNone # <<<<<<<<<<<<<< * bincount_dict[(0, NPY_int8, None)] = bincount_0d_int8_axisNone * bincount_dict[(0, NPY_int32, None)] = bincount_0d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_0); @@ -29516,26 +29682,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1257 + /* "bincount.pyx":1262 * bincount_dict[(2, NPY_int64, None)] = bincount_2d_int64_axisNone * bincount_dict[(0, NPY_int, None)] = bincount_0d_int_axisNone * bincount_dict[(0, NPY_int8, None)] = bincount_0d_int8_axisNone # <<<<<<<<<<<<<< * bincount_dict[(0, NPY_int32, None)] = bincount_0d_int32_axisNone * bincount_dict[(0, NPY_int64, None)] = bincount_0d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); @@ -29546,26 +29712,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1258 + /* "bincount.pyx":1263 * bincount_dict[(0, NPY_int, None)] = bincount_0d_int_axisNone * bincount_dict[(0, NPY_int8, None)] = bincount_0d_int8_axisNone * bincount_dict[(0, NPY_int32, None)] = bincount_0d_int32_axisNone # <<<<<<<<<<<<<< * bincount_dict[(0, NPY_int64, None)] = bincount_0d_int64_axisNone * bincount_dict[(1, NPY_float, 0)] = bincount_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_0); @@ -29576,26 +29742,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1259 + /* "bincount.pyx":1264 * bincount_dict[(0, NPY_int8, None)] = bincount_0d_int8_axisNone * bincount_dict[(0, NPY_int32, None)] = bincount_0d_int32_axisNone * bincount_dict[(0, NPY_int64, None)] = bincount_0d_int64_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_float, 0)] = bincount_1d_float_axisNone * bincount_dict[(1, NPY_float, None)] = bincount_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); @@ -29606,26 +29772,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1260 + /* "bincount.pyx":1265 * bincount_dict[(0, NPY_int32, None)] = bincount_0d_int32_axisNone * bincount_dict[(0, NPY_int64, None)] = bincount_0d_int64_axisNone * bincount_dict[(1, NPY_float, 0)] = bincount_1d_float_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_float, None)] = bincount_1d_float_axisNone * bincount_dict[(1, NPY_float32, 0)] = bincount_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); @@ -29636,26 +29802,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1261 + /* "bincount.pyx":1266 * bincount_dict[(0, NPY_int64, None)] = bincount_0d_int64_axisNone * bincount_dict[(1, NPY_float, 0)] = bincount_1d_float_axisNone * bincount_dict[(1, NPY_float, None)] = bincount_1d_float_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_float32, 0)] = bincount_1d_float32_axisNone * bincount_dict[(1, NPY_float32, None)] = bincount_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); @@ -29666,26 +29832,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1262 + /* "bincount.pyx":1267 * bincount_dict[(1, NPY_float, 0)] = bincount_1d_float_axisNone * bincount_dict[(1, NPY_float, None)] = bincount_1d_float_axisNone * bincount_dict[(1, NPY_float32, 0)] = bincount_1d_float32_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_float32, None)] = bincount_1d_float32_axisNone * bincount_dict[(1, NPY_float64, 0)] = bincount_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); @@ -29696,26 +29862,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1263 + /* "bincount.pyx":1268 * bincount_dict[(1, NPY_float, None)] = bincount_1d_float_axisNone * bincount_dict[(1, NPY_float32, 0)] = bincount_1d_float32_axisNone * bincount_dict[(1, NPY_float32, None)] = bincount_1d_float32_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_float64, 0)] = bincount_1d_float64_axisNone * bincount_dict[(1, NPY_float64, None)] = bincount_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); @@ -29726,26 +29892,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1264 + /* "bincount.pyx":1269 * bincount_dict[(1, NPY_float32, 0)] = bincount_1d_float32_axisNone * bincount_dict[(1, NPY_float32, None)] = bincount_1d_float32_axisNone * bincount_dict[(1, NPY_float64, 0)] = bincount_1d_float64_axisNone # <<<<<<<<<<<<<< * bincount_dict[(1, NPY_float64, None)] = bincount_1d_float64_axisNone * bincount_dict[(2, NPY_float, None)] = bincount_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); @@ -29756,26 +29922,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1265 + /* "bincount.pyx":1270 * bincount_dict[(1, NPY_float32, None)] = bincount_1d_float32_axisNone * bincount_dict[(1, NPY_float64, 0)] = bincount_1d_float64_axisNone * bincount_dict[(1, NPY_float64, None)] = bincount_1d_float64_axisNone # <<<<<<<<<<<<<< * bincount_dict[(2, NPY_float, None)] = bincount_2d_float_axisNone * bincount_dict[(2, NPY_float32, None)] = bincount_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); @@ -29786,26 +29952,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1266 + /* "bincount.pyx":1271 * bincount_dict[(1, NPY_float64, 0)] = bincount_1d_float64_axisNone * bincount_dict[(1, NPY_float64, None)] = bincount_1d_float64_axisNone * bincount_dict[(2, NPY_float, None)] = bincount_2d_float_axisNone # <<<<<<<<<<<<<< * bincount_dict[(2, NPY_float32, None)] = bincount_2d_float32_axisNone * bincount_dict[(2, NPY_float64, None)] = bincount_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); @@ -29816,26 +29982,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1267 + /* "bincount.pyx":1272 * bincount_dict[(1, NPY_float64, None)] = bincount_1d_float64_axisNone * bincount_dict[(2, NPY_float, None)] = bincount_2d_float_axisNone * bincount_dict[(2, NPY_float32, None)] = bincount_2d_float32_axisNone # <<<<<<<<<<<<<< * bincount_dict[(2, NPY_float64, None)] = bincount_2d_float64_axisNone * bincount_dict[(0, NPY_float, None)] = bincount_0d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); @@ -29846,26 +30012,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1268 + /* "bincount.pyx":1273 * bincount_dict[(2, NPY_float, None)] = bincount_2d_float_axisNone * bincount_dict[(2, NPY_float32, None)] = bincount_2d_float32_axisNone * bincount_dict[(2, NPY_float64, None)] = bincount_2d_float64_axisNone # <<<<<<<<<<<<<< * bincount_dict[(0, NPY_float, None)] = bincount_0d_float_axisNone * bincount_dict[(0, NPY_float32, None)] = bincount_0d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); @@ -29876,26 +30042,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1269 + /* "bincount.pyx":1274 * bincount_dict[(2, NPY_float32, None)] = bincount_2d_float32_axisNone * bincount_dict[(2, NPY_float64, None)] = bincount_2d_float64_axisNone * bincount_dict[(0, NPY_float, None)] = bincount_0d_float_axisNone # <<<<<<<<<<<<<< * bincount_dict[(0, NPY_float32, None)] = bincount_0d_float32_axisNone * bincount_dict[(0, NPY_float64, None)] = bincount_0d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); @@ -29906,26 +30072,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1270 + /* "bincount.pyx":1275 * bincount_dict[(2, NPY_float64, None)] = bincount_2d_float64_axisNone * bincount_dict[(0, NPY_float, None)] = bincount_0d_float_axisNone * bincount_dict[(0, NPY_float32, None)] = bincount_0d_float32_axisNone # <<<<<<<<<<<<<< * bincount_dict[(0, NPY_float64, None)] = bincount_0d_float64_axisNone * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_0); @@ -29936,26 +30102,26 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1271 + /* "bincount.pyx":1276 * bincount_dict[(0, NPY_float, None)] = bincount_0d_float_axisNone * bincount_dict[(0, NPY_float32, None)] = bincount_0d_float32_axisNone * bincount_dict[(0, NPY_float64, None)] = bincount_0d_float64_axisNone # <<<<<<<<<<<<<< * * def bincount_slow_axis0(arr, max_val, weights, mask): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_0d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); @@ -29966,971 +30132,971 @@ PyMODINIT_FUNC PyInit_bincount(void) PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1273 + /* "bincount.pyx":1278 * bincount_dict[(0, NPY_float64, None)] = bincount_0d_float64_axisNone * * def bincount_slow_axis0(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 0." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_47bincount_slow_axis0, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_47bincount_slow_axis0, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1277 + /* "bincount.pyx":1282 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis1(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 1." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_49bincount_slow_axis1, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_49bincount_slow_axis1, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1281 + /* "bincount.pyx":1286 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis2(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 2." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_51bincount_slow_axis2, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_51bincount_slow_axis2, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1285 + /* "bincount.pyx":1290 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis3(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 3." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_53bincount_slow_axis3, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_53bincount_slow_axis3, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis3, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis3, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1289 + /* "bincount.pyx":1294 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis4(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 4." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_55bincount_slow_axis4, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_55bincount_slow_axis4, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis4, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis4, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1293 + /* "bincount.pyx":1298 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis5(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 5." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_57bincount_slow_axis5, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_57bincount_slow_axis5, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1298; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis5, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis5, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1298; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1297 + /* "bincount.pyx":1302 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis6(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 6." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_59bincount_slow_axis6, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_59bincount_slow_axis6, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis6, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis6, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1301 + /* "bincount.pyx":1306 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis7(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 7." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_61bincount_slow_axis7, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_61bincount_slow_axis7, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis7, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis7, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1305 + /* "bincount.pyx":1310 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis8(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 8." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_63bincount_slow_axis8, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_63bincount_slow_axis8, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis8, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis8, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1309 + /* "bincount.pyx":1314 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis9(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 9." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_65bincount_slow_axis9, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_65bincount_slow_axis9, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis9, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis9, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1313 + /* "bincount.pyx":1318 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis10(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 10." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_67bincount_slow_axis10, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_67bincount_slow_axis10, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis10, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis10, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1317 + /* "bincount.pyx":1322 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis11(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 11." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_69bincount_slow_axis11, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_69bincount_slow_axis11, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis11, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis11, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1321 + /* "bincount.pyx":1326 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis12(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 12." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_71bincount_slow_axis12, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_71bincount_slow_axis12, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis12, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis12, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1325 + /* "bincount.pyx":1330 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis13(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 13." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_73bincount_slow_axis13, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_73bincount_slow_axis13, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis13, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis13, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1329 + /* "bincount.pyx":1334 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis14(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 14." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_75bincount_slow_axis14, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_75bincount_slow_axis14, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis14, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis14, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1333 + /* "bincount.pyx":1338 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis15(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 15." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_77bincount_slow_axis15, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_77bincount_slow_axis15, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis15, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis15, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1337 + /* "bincount.pyx":1342 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis16(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 16." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_79bincount_slow_axis16, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_79bincount_slow_axis16, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis16, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis16, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1341 + /* "bincount.pyx":1346 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis17(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 17." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_81bincount_slow_axis17, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_81bincount_slow_axis17, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis17, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis17, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1345 + /* "bincount.pyx":1350 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis18(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 18." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_83bincount_slow_axis18, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_83bincount_slow_axis18, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis18, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis18, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1349 + /* "bincount.pyx":1354 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis19(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 19." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_85bincount_slow_axis19, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_85bincount_slow_axis19, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis19, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis19, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1353 + /* "bincount.pyx":1358 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis20(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 20." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_87bincount_slow_axis20, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_87bincount_slow_axis20, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis20, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis20, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1357 + /* "bincount.pyx":1362 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis21(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 21." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_89bincount_slow_axis21, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_89bincount_slow_axis21, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis21, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis21, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1361 + /* "bincount.pyx":1366 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis22(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 22." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_91bincount_slow_axis22, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_91bincount_slow_axis22, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis22, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis22, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1365 + /* "bincount.pyx":1370 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis23(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 23." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_93bincount_slow_axis23, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_93bincount_slow_axis23, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis23, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis23, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1369 + /* "bincount.pyx":1374 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis24(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 24." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_95bincount_slow_axis24, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_95bincount_slow_axis24, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis24, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis24, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1373 + /* "bincount.pyx":1378 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis25(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 25." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_97bincount_slow_axis25, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_97bincount_slow_axis25, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis25, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis25, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1377 + /* "bincount.pyx":1382 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis26(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 26." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_99bincount_slow_axis26, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_99bincount_slow_axis26, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis26, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis26, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1381 + /* "bincount.pyx":1386 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis27(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 27." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_101bincount_slow_axis27, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_101bincount_slow_axis27, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis27, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis27, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1385 + /* "bincount.pyx":1390 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis28(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 28." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_103bincount_slow_axis28, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_103bincount_slow_axis28, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis28, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis28, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1389 + /* "bincount.pyx":1394 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis29(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 29." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_105bincount_slow_axis29, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_105bincount_slow_axis29, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis29, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis29, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1393 + /* "bincount.pyx":1398 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis30(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 30." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_107bincount_slow_axis30, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_107bincount_slow_axis30, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis30, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis30, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1397 + /* "bincount.pyx":1402 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis31(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 31." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_109bincount_slow_axis31, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_109bincount_slow_axis31, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis31, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis31, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1401 + /* "bincount.pyx":1406 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axis32(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis 32." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_111bincount_slow_axis32, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_111bincount_slow_axis32, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis32, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axis32, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1405 + /* "bincount.pyx":1410 * return bn.slow.bincount(arr, max_val, weights=None, mask=None) * * def bincount_slow_axisNone(arr, max_val, weights, mask): # <<<<<<<<<<<<<< * "Unaccelerated (slow) bincount along axis None." * return bn.slow.bincount(arr, max_val, weights=None, mask=None) */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_113bincount_slow_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8bincount_113bincount_slow_axisNone, NULL, __pyx_n_s_bincount); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bincount_slow_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1410 + /* "bincount.pyx":1415 * * * cdef dict bincount_slow_dict = {} # <<<<<<<<<<<<<< * bincount_slow_dict[0] = bincount_slow_axis0 * bincount_slow_dict[1] = bincount_slow_axis1 */ - __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_v_8bincount_bincount_slow_dict); __Pyx_DECREF_SET(__pyx_v_8bincount_bincount_slow_dict, ((PyObject*)__pyx_t_2)); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1411 + /* "bincount.pyx":1416 * * cdef dict bincount_slow_dict = {} * bincount_slow_dict[0] = bincount_slow_axis0 # <<<<<<<<<<<<<< * bincount_slow_dict[1] = bincount_slow_axis1 * bincount_slow_dict[2] = bincount_slow_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_0, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_0, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1412 + /* "bincount.pyx":1417 * cdef dict bincount_slow_dict = {} * bincount_slow_dict[0] = bincount_slow_axis0 * bincount_slow_dict[1] = bincount_slow_axis1 # <<<<<<<<<<<<<< * bincount_slow_dict[2] = bincount_slow_axis2 * bincount_slow_dict[3] = bincount_slow_axis3 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1413 + /* "bincount.pyx":1418 * bincount_slow_dict[0] = bincount_slow_axis0 * bincount_slow_dict[1] = bincount_slow_axis1 * bincount_slow_dict[2] = bincount_slow_axis2 # <<<<<<<<<<<<<< * bincount_slow_dict[3] = bincount_slow_axis3 * bincount_slow_dict[4] = bincount_slow_axis4 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_2, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_2, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1414 + /* "bincount.pyx":1419 * bincount_slow_dict[1] = bincount_slow_axis1 * bincount_slow_dict[2] = bincount_slow_axis2 * bincount_slow_dict[3] = bincount_slow_axis3 # <<<<<<<<<<<<<< * bincount_slow_dict[4] = bincount_slow_axis4 * bincount_slow_dict[5] = bincount_slow_axis5 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_3, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_3, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1415 + /* "bincount.pyx":1420 * bincount_slow_dict[2] = bincount_slow_axis2 * bincount_slow_dict[3] = bincount_slow_axis3 * bincount_slow_dict[4] = bincount_slow_axis4 # <<<<<<<<<<<<<< * bincount_slow_dict[5] = bincount_slow_axis5 * bincount_slow_dict[6] = bincount_slow_axis6 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1416 + /* "bincount.pyx":1421 * bincount_slow_dict[3] = bincount_slow_axis3 * bincount_slow_dict[4] = bincount_slow_axis4 * bincount_slow_dict[5] = bincount_slow_axis5 # <<<<<<<<<<<<<< * bincount_slow_dict[6] = bincount_slow_axis6 * bincount_slow_dict[7] = bincount_slow_axis7 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis5); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis5); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_5, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_5, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1417 + /* "bincount.pyx":1422 * bincount_slow_dict[4] = bincount_slow_axis4 * bincount_slow_dict[5] = bincount_slow_axis5 * bincount_slow_dict[6] = bincount_slow_axis6 # <<<<<<<<<<<<<< * bincount_slow_dict[7] = bincount_slow_axis7 * bincount_slow_dict[8] = bincount_slow_axis8 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_6, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_6, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1418 + /* "bincount.pyx":1423 * bincount_slow_dict[5] = bincount_slow_axis5 * bincount_slow_dict[6] = bincount_slow_axis6 * bincount_slow_dict[7] = bincount_slow_axis7 # <<<<<<<<<<<<<< * bincount_slow_dict[8] = bincount_slow_axis8 * bincount_slow_dict[9] = bincount_slow_axis9 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis7); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis7); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_7, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_7, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1419 + /* "bincount.pyx":1424 * bincount_slow_dict[6] = bincount_slow_axis6 * bincount_slow_dict[7] = bincount_slow_axis7 * bincount_slow_dict[8] = bincount_slow_axis8 # <<<<<<<<<<<<<< * bincount_slow_dict[9] = bincount_slow_axis9 * bincount_slow_dict[10] = bincount_slow_axis10 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_8, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_8, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1420 + /* "bincount.pyx":1425 * bincount_slow_dict[7] = bincount_slow_axis7 * bincount_slow_dict[8] = bincount_slow_axis8 * bincount_slow_dict[9] = bincount_slow_axis9 # <<<<<<<<<<<<<< * bincount_slow_dict[10] = bincount_slow_axis10 * bincount_slow_dict[11] = bincount_slow_axis11 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis9); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis9); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_9, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_9, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1421 + /* "bincount.pyx":1426 * bincount_slow_dict[8] = bincount_slow_axis8 * bincount_slow_dict[9] = bincount_slow_axis9 * bincount_slow_dict[10] = bincount_slow_axis10 # <<<<<<<<<<<<<< * bincount_slow_dict[11] = bincount_slow_axis11 * bincount_slow_dict[12] = bincount_slow_axis12 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis10); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis10); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_10, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_10, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1422 + /* "bincount.pyx":1427 * bincount_slow_dict[9] = bincount_slow_axis9 * bincount_slow_dict[10] = bincount_slow_axis10 * bincount_slow_dict[11] = bincount_slow_axis11 # <<<<<<<<<<<<<< * bincount_slow_dict[12] = bincount_slow_axis12 * bincount_slow_dict[13] = bincount_slow_axis13 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis11); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis11); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_11, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_11, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1423 + /* "bincount.pyx":1428 * bincount_slow_dict[10] = bincount_slow_axis10 * bincount_slow_dict[11] = bincount_slow_axis11 * bincount_slow_dict[12] = bincount_slow_axis12 # <<<<<<<<<<<<<< * bincount_slow_dict[13] = bincount_slow_axis13 * bincount_slow_dict[14] = bincount_slow_axis14 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis12); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis12); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_12, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_12, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1424 + /* "bincount.pyx":1429 * bincount_slow_dict[11] = bincount_slow_axis11 * bincount_slow_dict[12] = bincount_slow_axis12 * bincount_slow_dict[13] = bincount_slow_axis13 # <<<<<<<<<<<<<< * bincount_slow_dict[14] = bincount_slow_axis14 * bincount_slow_dict[15] = bincount_slow_axis15 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis13); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis13); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_13, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_13, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1425 + /* "bincount.pyx":1430 * bincount_slow_dict[12] = bincount_slow_axis12 * bincount_slow_dict[13] = bincount_slow_axis13 * bincount_slow_dict[14] = bincount_slow_axis14 # <<<<<<<<<<<<<< * bincount_slow_dict[15] = bincount_slow_axis15 * bincount_slow_dict[16] = bincount_slow_axis16 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis14); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis14); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_14, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_14, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1426 + /* "bincount.pyx":1431 * bincount_slow_dict[13] = bincount_slow_axis13 * bincount_slow_dict[14] = bincount_slow_axis14 * bincount_slow_dict[15] = bincount_slow_axis15 # <<<<<<<<<<<<<< * bincount_slow_dict[16] = bincount_slow_axis16 * bincount_slow_dict[17] = bincount_slow_axis17 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis15); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis15); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_15, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_15, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1427 + /* "bincount.pyx":1432 * bincount_slow_dict[14] = bincount_slow_axis14 * bincount_slow_dict[15] = bincount_slow_axis15 * bincount_slow_dict[16] = bincount_slow_axis16 # <<<<<<<<<<<<<< * bincount_slow_dict[17] = bincount_slow_axis17 * bincount_slow_dict[18] = bincount_slow_axis18 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis16); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis16); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_16, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_16, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1428 + /* "bincount.pyx":1433 * bincount_slow_dict[15] = bincount_slow_axis15 * bincount_slow_dict[16] = bincount_slow_axis16 * bincount_slow_dict[17] = bincount_slow_axis17 # <<<<<<<<<<<<<< * bincount_slow_dict[18] = bincount_slow_axis18 * bincount_slow_dict[19] = bincount_slow_axis19 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis17); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis17); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_17, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_17, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1429 + /* "bincount.pyx":1434 * bincount_slow_dict[16] = bincount_slow_axis16 * bincount_slow_dict[17] = bincount_slow_axis17 * bincount_slow_dict[18] = bincount_slow_axis18 # <<<<<<<<<<<<<< * bincount_slow_dict[19] = bincount_slow_axis19 * bincount_slow_dict[20] = bincount_slow_axis20 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis18); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis18); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_18, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_18, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1430 + /* "bincount.pyx":1435 * bincount_slow_dict[17] = bincount_slow_axis17 * bincount_slow_dict[18] = bincount_slow_axis18 * bincount_slow_dict[19] = bincount_slow_axis19 # <<<<<<<<<<<<<< * bincount_slow_dict[20] = bincount_slow_axis20 * bincount_slow_dict[21] = bincount_slow_axis21 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis19); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis19); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_19, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_19, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1431 + /* "bincount.pyx":1436 * bincount_slow_dict[18] = bincount_slow_axis18 * bincount_slow_dict[19] = bincount_slow_axis19 * bincount_slow_dict[20] = bincount_slow_axis20 # <<<<<<<<<<<<<< * bincount_slow_dict[21] = bincount_slow_axis21 * bincount_slow_dict[22] = bincount_slow_axis22 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis20); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis20); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_20, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_20, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1432 + /* "bincount.pyx":1437 * bincount_slow_dict[19] = bincount_slow_axis19 * bincount_slow_dict[20] = bincount_slow_axis20 * bincount_slow_dict[21] = bincount_slow_axis21 # <<<<<<<<<<<<<< * bincount_slow_dict[22] = bincount_slow_axis22 * bincount_slow_dict[23] = bincount_slow_axis23 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis21); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis21); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_21, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_21, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1433 + /* "bincount.pyx":1438 * bincount_slow_dict[20] = bincount_slow_axis20 * bincount_slow_dict[21] = bincount_slow_axis21 * bincount_slow_dict[22] = bincount_slow_axis22 # <<<<<<<<<<<<<< * bincount_slow_dict[23] = bincount_slow_axis23 * bincount_slow_dict[24] = bincount_slow_axis24 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis22); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis22); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_22, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_22, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1434 + /* "bincount.pyx":1439 * bincount_slow_dict[21] = bincount_slow_axis21 * bincount_slow_dict[22] = bincount_slow_axis22 * bincount_slow_dict[23] = bincount_slow_axis23 # <<<<<<<<<<<<<< * bincount_slow_dict[24] = bincount_slow_axis24 * bincount_slow_dict[25] = bincount_slow_axis25 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis23); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis23); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_23, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_23, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1435 + /* "bincount.pyx":1440 * bincount_slow_dict[22] = bincount_slow_axis22 * bincount_slow_dict[23] = bincount_slow_axis23 * bincount_slow_dict[24] = bincount_slow_axis24 # <<<<<<<<<<<<<< * bincount_slow_dict[25] = bincount_slow_axis25 * bincount_slow_dict[26] = bincount_slow_axis26 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis24); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis24); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_24, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_24, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1436 + /* "bincount.pyx":1441 * bincount_slow_dict[23] = bincount_slow_axis23 * bincount_slow_dict[24] = bincount_slow_axis24 * bincount_slow_dict[25] = bincount_slow_axis25 # <<<<<<<<<<<<<< * bincount_slow_dict[26] = bincount_slow_axis26 * bincount_slow_dict[27] = bincount_slow_axis27 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis25); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis25); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_25, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_25, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1437 + /* "bincount.pyx":1442 * bincount_slow_dict[24] = bincount_slow_axis24 * bincount_slow_dict[25] = bincount_slow_axis25 * bincount_slow_dict[26] = bincount_slow_axis26 # <<<<<<<<<<<<<< * bincount_slow_dict[27] = bincount_slow_axis27 * bincount_slow_dict[28] = bincount_slow_axis28 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis26); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis26); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_26, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_26, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1438 + /* "bincount.pyx":1443 * bincount_slow_dict[25] = bincount_slow_axis25 * bincount_slow_dict[26] = bincount_slow_axis26 * bincount_slow_dict[27] = bincount_slow_axis27 # <<<<<<<<<<<<<< * bincount_slow_dict[28] = bincount_slow_axis28 * bincount_slow_dict[29] = bincount_slow_axis29 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis27); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis27); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_27, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_27, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1439 + /* "bincount.pyx":1444 * bincount_slow_dict[26] = bincount_slow_axis26 * bincount_slow_dict[27] = bincount_slow_axis27 * bincount_slow_dict[28] = bincount_slow_axis28 # <<<<<<<<<<<<<< * bincount_slow_dict[29] = bincount_slow_axis29 * bincount_slow_dict[30] = bincount_slow_axis30 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis28); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis28); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_28, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_28, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1440 + /* "bincount.pyx":1445 * bincount_slow_dict[27] = bincount_slow_axis27 * bincount_slow_dict[28] = bincount_slow_axis28 * bincount_slow_dict[29] = bincount_slow_axis29 # <<<<<<<<<<<<<< * bincount_slow_dict[30] = bincount_slow_axis30 * bincount_slow_dict[31] = bincount_slow_axis31 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis29); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis29); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_29, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_29, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1441 + /* "bincount.pyx":1446 * bincount_slow_dict[28] = bincount_slow_axis28 * bincount_slow_dict[29] = bincount_slow_axis29 * bincount_slow_dict[30] = bincount_slow_axis30 # <<<<<<<<<<<<<< * bincount_slow_dict[31] = bincount_slow_axis31 * bincount_slow_dict[32] = bincount_slow_axis32 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis30); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis30); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_30, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_30, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1442 + /* "bincount.pyx":1447 * bincount_slow_dict[29] = bincount_slow_axis29 * bincount_slow_dict[30] = bincount_slow_axis30 * bincount_slow_dict[31] = bincount_slow_axis31 # <<<<<<<<<<<<<< * bincount_slow_dict[32] = bincount_slow_axis32 * bincount_slow_dict[None] = bincount_slow_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis31); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis31); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_31, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_31, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1443 + /* "bincount.pyx":1448 * bincount_slow_dict[30] = bincount_slow_axis30 * bincount_slow_dict[31] = bincount_slow_axis31 * bincount_slow_dict[32] = bincount_slow_axis32 # <<<<<<<<<<<<<< * bincount_slow_dict[None] = bincount_slow_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axis32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_32, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, __pyx_int_32, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "bincount.pyx":1444 + /* "bincount.pyx":1449 * bincount_slow_dict[31] = bincount_slow_axis31 * bincount_slow_dict[32] = bincount_slow_axis32 * bincount_slow_dict[None] = bincount_slow_axisNone # <<<<<<<<<<<<<< */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_bincount_slow_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8bincount_bincount_slow_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, Py_None, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(PyDict_SetItem(__pyx_v_8bincount_bincount_slow_dict, Py_None, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "bincount.pyx":1 @@ -30943,7 +31109,7 @@ PyMODINIT_FUNC PyInit_bincount(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -31147,21 +31313,82 @@ static int __Pyx_ParseOptionalKeywords( return -1; } -static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) { - PyObject *result; +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { + PyObject *r; + if (!j) return NULL; + r = PyObject_GetItem(o, j); + Py_DECREF(j); + return r; +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck) { #if CYTHON_COMPILING_IN_CPYTHON - result = PyDict_GetItem(__pyx_d, name); - if (likely(result)) { - Py_INCREF(result); - } else { + if (wraparound & unlikely(i < 0)) i += PyList_GET_SIZE(o); + if ((!boundscheck) || likely((0 <= i) & (i < PyList_GET_SIZE(o)))) { + PyObject *r = PyList_GET_ITEM(o, i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); #else - result = PyObject_GetItem(__pyx_d, name); - if (!result) { - PyErr_Clear(); + return PySequence_GetItem(o, i); #endif - result = __Pyx_GetBuiltinName(name); +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck) { +#if CYTHON_COMPILING_IN_CPYTHON + if (wraparound & unlikely(i < 0)) i += PyTuple_GET_SIZE(o); + if ((!boundscheck) || likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, i); + Py_INCREF(r); + return r; } - return result; + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, + int is_list, int wraparound, int boundscheck) { +#if CYTHON_COMPILING_IN_CPYTHON + if (is_list || PyList_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); + if ((!boundscheck) || (likely((n >= 0) & (n < PyList_GET_SIZE(o))))) { + PyObject *r = PyList_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } + else if (PyTuple_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); + if ((!boundscheck) || likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } else { + PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; + if (likely(m && m->sq_item)) { + if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { + Py_ssize_t l = m->sq_length(o); + if (likely(l >= 0)) { + i += l; + } else { + if (PyErr_ExceptionMatches(PyExc_OverflowError)) + PyErr_Clear(); + else + return NULL; + } + } + return m->sq_item(o, i); + } + } +#else + if (is_list || PySequence_Check(o)) { + return PySequence_GetItem(o, i); + } +#endif + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); } #if CYTHON_COMPILING_IN_CPYTHON @@ -31183,28 +31410,225 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg } #endif -static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { - PyErr_Format(PyExc_ValueError, - "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); -} - -static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { - PyErr_Format(PyExc_ValueError, - "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", - index, (index == 1) ? "" : "s"); -} - -static CYTHON_INLINE int __Pyx_IterFinish(void) { +static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { #if CYTHON_COMPILING_IN_CPYTHON + PyObject *tmp_type, *tmp_value, *tmp_tb; PyThreadState *tstate = PyThreadState_GET(); - PyObject* exc_type = tstate->curexc_type; - if (unlikely(exc_type)) { - if (likely(exc_type == PyExc_StopIteration) || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)) { - PyObject *exc_value, *exc_tb; - exc_value = tstate->curexc_value; - exc_tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_Restore(type, value, tb); +#endif +} +static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) { +#if CYTHON_COMPILING_IN_CPYTHON + PyThreadState *tstate = PyThreadState_GET(); + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +#else + PyErr_Fetch(type, value, tb); +#endif +} + +#if PY_MAJOR_VERSION < 3 +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, + CYTHON_UNUSED PyObject *cause) { + Py_XINCREF(type); + if (!value || value == Py_None) + value = NULL; + else + Py_INCREF(value); + if (!tb || tb == Py_None) + tb = NULL; + else { + Py_INCREF(tb); + if (!PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto raise_error; + } + } + if (PyType_Check(type)) { +#if CYTHON_COMPILING_IN_PYPY + if (!value) { + Py_INCREF(Py_None); + value = Py_None; + } +#endif + PyErr_NormalizeException(&type, &value, &tb); + } else { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto raise_error; + } + value = type; + type = (PyObject*) Py_TYPE(type); + Py_INCREF(type); + if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto raise_error; + } + } + __Pyx_ErrRestore(type, value, tb); + return; +raise_error: + Py_XDECREF(value); + Py_XDECREF(type); + Py_XDECREF(tb); + return; +} +#else +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { + PyObject* owned_instance = NULL; + if (tb == Py_None) { + tb = 0; + } else if (tb && !PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto bad; + } + if (value == Py_None) + value = 0; + if (PyExceptionInstance_Check(type)) { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto bad; + } + value = type; + type = (PyObject*) Py_TYPE(value); + } else if (PyExceptionClass_Check(type)) { + PyObject *instance_class = NULL; + if (value && PyExceptionInstance_Check(value)) { + instance_class = (PyObject*) Py_TYPE(value); + if (instance_class != type) { + if (PyObject_IsSubclass(instance_class, type)) { + type = instance_class; + } else { + instance_class = NULL; + } + } + } + if (!instance_class) { + PyObject *args; + if (!value) + args = PyTuple_New(0); + else if (PyTuple_Check(value)) { + Py_INCREF(value); + args = value; + } else + args = PyTuple_Pack(1, value); + if (!args) + goto bad; + owned_instance = PyObject_Call(type, args, NULL); + Py_DECREF(args); + if (!owned_instance) + goto bad; + value = owned_instance; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %R", + type, Py_TYPE(value)); + goto bad; + } + } + } else { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto bad; + } +#if PY_VERSION_HEX >= 0x03030000 + if (cause) { +#else + if (cause && cause != Py_None) { +#endif + PyObject *fixed_cause; + if (cause == Py_None) { + fixed_cause = NULL; + } else if (PyExceptionClass_Check(cause)) { + fixed_cause = PyObject_CallObject(cause, NULL); + if (fixed_cause == NULL) + goto bad; + } else if (PyExceptionInstance_Check(cause)) { + fixed_cause = cause; + Py_INCREF(fixed_cause); + } else { + PyErr_SetString(PyExc_TypeError, + "exception causes must derive from " + "BaseException"); + goto bad; + } + PyException_SetCause(value, fixed_cause); + } + PyErr_SetObject(type, value); + if (tb) { + PyThreadState *tstate = PyThreadState_GET(); + PyObject* tmp_tb = tstate->curexc_traceback; + if (tb != tmp_tb) { + Py_INCREF(tb); + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_tb); + } + } +bad: + Py_XDECREF(owned_instance); + return; +} +#endif + +static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) { + PyObject *result; +#if CYTHON_COMPILING_IN_CPYTHON + result = PyDict_GetItem(__pyx_d, name); + if (likely(result)) { + Py_INCREF(result); + } else { +#else + result = PyObject_GetItem(__pyx_d, name); + if (!result) { + PyErr_Clear(); +#endif + result = __Pyx_GetBuiltinName(name); + } + return result; +} + +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { + PyErr_Format(PyExc_ValueError, + "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); +} + +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { + PyErr_Format(PyExc_ValueError, + "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", + index, (index == 1) ? "" : "s"); +} + +static CYTHON_INLINE int __Pyx_IterFinish(void) { +#if CYTHON_COMPILING_IN_CPYTHON + PyThreadState *tstate = PyThreadState_GET(); + PyObject* exc_type = tstate->curexc_type; + if (unlikely(exc_type)) { + if (likely(exc_type == PyExc_StopIteration) || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)) { + PyObject *exc_value, *exc_tb; + exc_value = tstate->curexc_value; + exc_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; tstate->curexc_traceback = 0; Py_DECREF(exc_type); Py_XDECREF(exc_value); @@ -31323,250 +31747,70 @@ static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) tstate->exc_type = type; tstate->exc_value = value; tstate->exc_traceback = tb; - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#else - PyErr_SetExcInfo(type, value, tb); -#endif -} - -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) { - PyObject *local_type, *local_value, *local_tb; -#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); - local_type = tstate->curexc_type; - local_value = tstate->curexc_value; - local_tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -#else - PyErr_Fetch(&local_type, &local_value, &local_tb); -#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(tstate->curexc_type)) -#else - if (unlikely(PyErr_Occurred())) -#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (local_tb) { - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - } - #endif - Py_XINCREF(local_tb); - Py_XINCREF(local_type); - Py_XINCREF(local_value); - *type = local_type; - *value = local_value; - *tb = local_tb; -#if CYTHON_COMPILING_IN_CPYTHON - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = local_type; - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#else - PyErr_SetExcInfo(local_type, local_value, local_tb); -#endif - return 0; -bad: - *type = 0; - *value = 0; - *tb = 0; - Py_XDECREF(local_type); - Py_XDECREF(local_value); - Py_XDECREF(local_tb); - return -1; -} - -static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { -#if CYTHON_COMPILING_IN_CPYTHON - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; - tstate->curexc_type = type; - tstate->curexc_value = value; - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#else - PyErr_Restore(type, value, tb); -#endif -} -static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) { -#if CYTHON_COMPILING_IN_CPYTHON - PyThreadState *tstate = PyThreadState_GET(); - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -#else - PyErr_Fetch(type, value, tb); -#endif -} - -#if PY_MAJOR_VERSION < 3 -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, - CYTHON_UNUSED PyObject *cause) { - Py_XINCREF(type); - if (!value || value == Py_None) - value = NULL; - else - Py_INCREF(value); - if (!tb || tb == Py_None) - tb = NULL; - else { - Py_INCREF(tb); - if (!PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto raise_error; - } - } - if (PyType_Check(type)) { -#if CYTHON_COMPILING_IN_PYPY - if (!value) { - Py_INCREF(Py_None); - value = Py_None; - } -#endif - PyErr_NormalizeException(&type, &value, &tb); - } else { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto raise_error; - } - value = type; - type = (PyObject*) Py_TYPE(type); - Py_INCREF(type); - if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto raise_error; - } - } - __Pyx_ErrRestore(type, value, tb); - return; -raise_error: - Py_XDECREF(value); - Py_XDECREF(type); - Py_XDECREF(tb); - return; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_SetExcInfo(type, value, tb); +#endif } + +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) { + PyObject *local_type, *local_value, *local_tb; +#if CYTHON_COMPILING_IN_CPYTHON + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyThreadState *tstate = PyThreadState_GET(); + local_type = tstate->curexc_type; + local_value = tstate->curexc_value; + local_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; #else -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { - PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); + PyErr_Fetch(&local_type, &local_value, &local_tb); +#endif + PyErr_NormalizeException(&local_type, &local_value, &local_tb); +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(tstate->curexc_type)) +#else + if (unlikely(PyErr_Occurred())) +#endif goto bad; - } - if (value == Py_None) - value = 0; - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); + #if PY_MAJOR_VERSION >= 3 + if (local_tb) { + if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) goto bad; - } - value = type; - type = (PyObject*) Py_TYPE(value); - } else if (PyExceptionClass_Check(type)) { - PyObject *instance_class = NULL; - if (value && PyExceptionInstance_Check(value)) { - instance_class = (PyObject*) Py_TYPE(value); - if (instance_class != type) { - if (PyObject_IsSubclass(instance_class, type)) { - type = instance_class; - } else { - instance_class = NULL; - } - } - } - if (!instance_class) { - PyObject *args; - if (!value) - args = PyTuple_New(0); - else if (PyTuple_Check(value)) { - Py_INCREF(value); - args = value; - } else - args = PyTuple_Pack(1, value); - if (!args) - goto bad; - owned_instance = PyObject_Call(type, args, NULL); - Py_DECREF(args); - if (!owned_instance) - goto bad; - value = owned_instance; - if (!PyExceptionInstance_Check(value)) { - PyErr_Format(PyExc_TypeError, - "calling %R should have returned an instance of " - "BaseException, not %R", - type, Py_TYPE(value)); - goto bad; - } - } - } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; } -#if PY_VERSION_HEX >= 0x03030000 - if (cause) { + #endif + Py_XINCREF(local_tb); + Py_XINCREF(local_type); + Py_XINCREF(local_value); + *type = local_type; + *value = local_value; + *tb = local_tb; +#if CYTHON_COMPILING_IN_CPYTHON + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = local_type; + tstate->exc_value = local_value; + tstate->exc_traceback = local_tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); #else - if (cause && cause != Py_None) { + PyErr_SetExcInfo(local_type, local_value, local_tb); #endif - PyObject *fixed_cause; - if (cause == Py_None) { - fixed_cause = NULL; - } else if (PyExceptionClass_Check(cause)) { - fixed_cause = PyObject_CallObject(cause, NULL); - if (fixed_cause == NULL) - goto bad; - } else if (PyExceptionInstance_Check(cause)) { - fixed_cause = cause; - Py_INCREF(fixed_cause); - } else { - PyErr_SetString(PyExc_TypeError, - "exception causes must derive from " - "BaseException"); - goto bad; - } - PyException_SetCause(value, fixed_cause); - } - PyErr_SetObject(type, value); - if (tb) { - PyThreadState *tstate = PyThreadState_GET(); - PyObject* tmp_tb = tstate->curexc_traceback; - if (tb != tmp_tb) { - Py_INCREF(tb); - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_tb); - } - } + return 0; bad: - Py_XDECREF(owned_instance); - return; + *type = 0; + *value = 0; + *tb = 0; + Py_XDECREF(local_type); + Py_XDECREF(local_value); + Py_XDECREF(local_tb); + return -1; } -#endif static void __Pyx_RaiseArgumentTypeInvalid(const char* name, PyObject *obj, PyTypeObject *type) { PyErr_Format(PyExc_TypeError, @@ -32143,84 +32387,6 @@ static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) { __Pyx_ReleaseBuffer(info); } -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { - PyObject *r; - if (!j) return NULL; - r = PyObject_GetItem(o, j); - Py_DECREF(j); - return r; -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck) { -#if CYTHON_COMPILING_IN_CPYTHON - if (wraparound & unlikely(i < 0)) i += PyList_GET_SIZE(o); - if ((!boundscheck) || likely((0 <= i) & (i < PyList_GET_SIZE(o)))) { - PyObject *r = PyList_GET_ITEM(o, i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck) { -#if CYTHON_COMPILING_IN_CPYTHON - if (wraparound & unlikely(i < 0)) i += PyTuple_GET_SIZE(o); - if ((!boundscheck) || likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, - int is_list, int wraparound, int boundscheck) { -#if CYTHON_COMPILING_IN_CPYTHON - if (is_list || PyList_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); - if ((!boundscheck) || (likely((n >= 0) & (n < PyList_GET_SIZE(o))))) { - PyObject *r = PyList_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } - else if (PyTuple_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); - if ((!boundscheck) || likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } else { - PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; - if (likely(m && m->sq_item)) { - if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { - Py_ssize_t l = m->sq_length(o); - if (likely(l >= 0)) { - i += l; - } else { - if (PyErr_ExceptionMatches(PyExc_OverflowError)) - PyErr_Clear(); - else - return NULL; - } - } - return m->sq_item(o, i); - } - } -#else - if (is_list || PySequence_Check(o)) { - return PySequence_GetItem(o, i); - } -#endif - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -} - static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); } @@ -32974,54 +33140,54 @@ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { return (int) -1; } -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { - const int neg_one = (int) -1, const_zero = 0; +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { + const long neg_one = (long) -1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (is_unsigned) { - if (sizeof(int) < sizeof(long)) { + if (sizeof(long) < sizeof(long)) { return PyInt_FromLong((long) value); - } else if (sizeof(int) <= sizeof(unsigned long)) { + } else if (sizeof(long) <= sizeof(unsigned long)) { return PyLong_FromUnsignedLong((unsigned long) value); - } else if (sizeof(int) <= sizeof(unsigned long long)) { + } else if (sizeof(long) <= sizeof(unsigned long long)) { return PyLong_FromUnsignedLongLong((unsigned long long) value); } } else { - if (sizeof(int) <= sizeof(long)) { + if (sizeof(long) <= sizeof(long)) { return PyInt_FromLong((long) value); - } else if (sizeof(int) <= sizeof(long long)) { + } else if (sizeof(long) <= sizeof(long long)) { return PyLong_FromLongLong((long long) value); } } { int one = 1; int little = (int)*(unsigned char *)&one; unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(int), + return _PyLong_FromByteArray(bytes, sizeof(long), little, !is_unsigned); } } -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { - const long neg_one = (long) -1, const_zero = 0; +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { + const int neg_one = (int) -1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (is_unsigned) { - if (sizeof(long) < sizeof(long)) { + if (sizeof(int) < sizeof(long)) { return PyInt_FromLong((long) value); - } else if (sizeof(long) <= sizeof(unsigned long)) { + } else if (sizeof(int) <= sizeof(unsigned long)) { return PyLong_FromUnsignedLong((unsigned long) value); - } else if (sizeof(long) <= sizeof(unsigned long long)) { + } else if (sizeof(int) <= sizeof(unsigned long long)) { return PyLong_FromUnsignedLongLong((unsigned long long) value); } } else { - if (sizeof(long) <= sizeof(long)) { + if (sizeof(int) <= sizeof(long)) { return PyInt_FromLong((long) value); - } else if (sizeof(long) <= sizeof(long long)) { + } else if (sizeof(int) <= sizeof(long long)) { return PyLong_FromLongLong((long long) value); } } { int one = 1; int little = (int)*(unsigned char *)&one; unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(long), + return _PyLong_FromByteArray(bytes, sizeof(int), little, !is_unsigned); } } diff --git a/bottlechest/src/func/64bit/contingency.c b/bottlechest/src/func/64bit/contingency.c index ab19dcb7fc..b4f13d5419 100644 --- a/bottlechest/src/func/64bit/contingency.c +++ b/bottlechest/src/func/64bit/contingency.c @@ -476,7 +476,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -485,7 +485,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -494,7 +494,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -503,7 +503,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -512,7 +512,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -521,7 +521,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -530,7 +530,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -539,7 +539,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -548,7 +548,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -557,7 +557,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -566,7 +566,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -575,7 +575,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -584,7 +584,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -593,7 +593,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -602,7 +602,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -611,7 +611,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -620,7 +620,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -629,7 +629,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -638,7 +638,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -647,7 +647,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -656,7 +656,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -687,7 +687,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -696,7 +696,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -705,7 +705,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -714,7 +714,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1344,6 +1344,7 @@ static char __pyx_k_contingency_2d_float_axisNone[] = "contingency_2d_float_axis static char __pyx_k_contingency_2d_int32_axisNone[] = "contingency_2d_int32_axisNone"; static char __pyx_k_contingency_2d_int64_axisNone[] = "contingency_2d_int64_axisNone"; static char __pyx_k_negative_value_in_contingency[] = "negative value in contingency"; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/contingency.pyx"; static char __pyx_k_contingency_0d_float32_axisNone[] = "contingency_0d_float32_axisNone"; static char __pyx_k_contingency_0d_float64_axisNone[] = "contingency_0d_float64_axisNone"; static char __pyx_k_contingency_1d_float32_axisNone[] = "contingency_1d_float32_axisNone"; @@ -1353,7 +1354,6 @@ static char __pyx_k_contingency_2d_float64_axisNone[] = "contingency_2d_float64_ static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; static char __pyx_k_value_i_is_greater_than_max_val[] = "value %i is greater than max_val (%i)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\contingency.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; @@ -1362,7 +1362,6 @@ static char __pyx_k_invalid_length_of_the_weight_vec[] = "invalid length of the static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_value_i_is_greater_than_max_val2[] = "value %i is greater than max_val2 (%i)"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1374,6 +1373,7 @@ static PyObject *__pyx_n_s_PARTSORT_ERR_MSG; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__58; static PyObject *__pyx_n_s_a; @@ -25844,7 +25844,7 @@ static PyObject *__pyx_pf_11contingency_112contingency_slow_axisNone(CYTHON_UNUS return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -25894,7 +25894,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -25907,7 +25907,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -25916,7 +25916,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -25925,7 +25925,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -25934,7 +25934,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -25944,7 +25944,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -25956,7 +25956,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -25967,7 +25967,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -25983,7 +25983,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -25995,7 +25995,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -26009,7 +26009,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -26025,7 +26025,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -26037,7 +26037,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -26051,7 +26051,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -26060,7 +26060,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -26069,7 +26069,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -26079,7 +26079,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -26088,7 +26088,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -26097,7 +26097,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -26108,7 +26108,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -26117,7 +26117,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -26130,7 +26130,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -26139,7 +26139,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -26150,7 +26150,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -26159,7 +26159,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -26168,7 +26168,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -26177,7 +26177,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -26186,7 +26186,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -26198,7 +26198,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -26207,7 +26207,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -26227,7 +26227,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -26243,7 +26243,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -26258,7 +26258,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -26268,7 +26268,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -26278,7 +26278,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -26301,7 +26301,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -26321,7 +26321,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -26335,7 +26335,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -26344,7 +26344,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -26355,7 +26355,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -26366,7 +26366,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -26377,7 +26377,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -26388,7 +26388,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -26399,7 +26399,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -26410,7 +26410,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -26421,7 +26421,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -26432,7 +26432,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -26443,7 +26443,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -26454,7 +26454,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -26465,7 +26465,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -26476,7 +26476,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -26487,7 +26487,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -26498,7 +26498,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -26509,7 +26509,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -26520,7 +26520,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -26532,7 +26532,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -26558,7 +26558,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -26567,7 +26567,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -26579,7 +26579,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -26588,7 +26588,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -26597,7 +26597,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -26606,7 +26606,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -26616,7 +26616,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -26626,7 +26626,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -26658,7 +26658,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -26682,7 +26682,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -26692,7 +26692,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -26704,7 +26704,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -26714,7 +26714,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -26726,7 +26726,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -26738,7 +26738,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -26755,7 +26755,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -26769,7 +26769,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -26788,7 +26788,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -26805,7 +26805,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -26819,7 +26819,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -26838,7 +26838,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -26855,7 +26855,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -26869,7 +26869,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -26888,7 +26888,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -26905,7 +26905,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -26919,7 +26919,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -26938,7 +26938,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -26955,7 +26955,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -26969,7 +26969,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -26988,7 +26988,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -27020,7 +27020,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -27029,7 +27029,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -27038,7 +27038,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -27060,7 +27060,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -27073,7 +27073,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -27112,7 +27112,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -27129,7 +27129,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -27143,7 +27143,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -27166,7 +27166,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -27186,7 +27186,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -27200,7 +27200,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -27216,7 +27216,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -27225,7 +27225,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -27234,7 +27234,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -27245,7 +27245,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -27255,7 +27255,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -27265,7 +27265,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -27277,7 +27277,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -27287,7 +27287,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -27301,7 +27301,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -27319,7 +27319,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -27337,7 +27337,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -27355,7 +27355,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -27373,7 +27373,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -27391,7 +27391,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -27409,7 +27409,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -27427,7 +27427,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -27445,7 +27445,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -27463,7 +27463,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -27481,7 +27481,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -27499,7 +27499,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -27517,7 +27517,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -27535,7 +27535,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -27555,7 +27555,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -27575,7 +27575,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -27595,7 +27595,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -27614,7 +27614,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -27637,7 +27637,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -27649,7 +27649,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -27661,7 +27661,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -27671,7 +27671,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -27681,7 +27681,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -27706,7 +27706,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -27721,7 +27721,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -27732,7 +27732,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -27744,7 +27744,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -27753,7 +27753,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -27764,7 +27764,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -27773,7 +27773,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -27782,7 +27782,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -27794,7 +27794,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -27808,7 +27808,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -27818,7 +27818,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -27832,7 +27832,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -27843,7 +27843,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -27881,7 +27881,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -27893,6 +27892,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_s_s, __pyx_k_Unsupported_ndim_dtype_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__58, __pyx_k__58, sizeof(__pyx_k__58), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -28606,7 +28606,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -28617,7 +28617,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__52); __Pyx_GIVEREF(__pyx_tuple__52); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -28628,7 +28628,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -28639,7 +28639,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__54); __Pyx_GIVEREF(__pyx_tuple__54); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -28650,7 +28650,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -28661,7 +28661,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__56); __Pyx_GIVEREF(__pyx_tuple__56); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -28693,7 +28693,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__60 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask, __pyx_n_s_func, __pyx_n_s_a); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__60); __Pyx_GIVEREF(__pyx_tuple__60); - __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(6, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(6, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":121 * @@ -28705,7 +28705,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__62 = PyTuple_Pack(12, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__62); __Pyx_GIVEREF(__pyx_tuple__62); - __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(6, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_selector, 121, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(6, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_selector, 121, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":176 * @cython.boundscheck(False) @@ -28717,7 +28717,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__64 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_bin); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__64); __Pyx_GIVEREF(__pyx_tuple__64); - __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(6, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_1d_int_axisNone, 176, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(6, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_1d_int_axisNone, 176, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":233 * @cython.boundscheck(False) @@ -28729,7 +28729,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__66 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_bin); if (unlikely(!__pyx_tuple__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__66); __Pyx_GIVEREF(__pyx_tuple__66); - __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(6, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_1d_int8_axisNone, 233, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(6, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_1d_int8_axisNone, 233, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":290 * @cython.boundscheck(False) @@ -28741,7 +28741,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__68 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_bin); if (unlikely(!__pyx_tuple__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__68); __Pyx_GIVEREF(__pyx_tuple__68); - __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(6, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_1d_int32_axisNone, 290, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(6, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_1d_int32_axisNone, 290, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":347 * @cython.boundscheck(False) @@ -28753,7 +28753,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__70 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_bin); if (unlikely(!__pyx_tuple__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__70); __Pyx_GIVEREF(__pyx_tuple__70); - __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(6, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_1d_int64_axisNone, 347, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(6, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_1d_int64_axisNone, 347, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":404 * @cython.boundscheck(False) @@ -28765,7 +28765,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__72 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_bin, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__72); __Pyx_GIVEREF(__pyx_tuple__72); - __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(6, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_2d_int_axisNone, 404, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(6, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_2d_int_axisNone, 404, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":450 * @cython.boundscheck(False) @@ -28777,7 +28777,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__74 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_bin, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__74); __Pyx_GIVEREF(__pyx_tuple__74); - __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(6, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_2d_int8_axisNone, 450, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(6, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_2d_int8_axisNone, 450, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":496 * @cython.boundscheck(False) @@ -28789,7 +28789,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__76 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_bin, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__76); __Pyx_GIVEREF(__pyx_tuple__76); - __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(6, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_2d_int32_axisNone, 496, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(6, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_2d_int32_axisNone, 496, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":542 * @cython.boundscheck(False) @@ -28801,7 +28801,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__78 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ai, __pyx_n_s_bin, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__78); __Pyx_GIVEREF(__pyx_tuple__78); - __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(6, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_2d_int64_axisNone, 542, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(6, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_2d_int64_axisNone, 542, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":584 * @cython.boundscheck(False) @@ -28813,7 +28813,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__80 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_bin, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__80); __Pyx_GIVEREF(__pyx_tuple__80); - __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(6, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_0d_int_axisNone, 584, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(6, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_0d_int_axisNone, 584, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":627 * @cython.boundscheck(False) @@ -28825,7 +28825,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__82 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_bin, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__82); __Pyx_GIVEREF(__pyx_tuple__82); - __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(6, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_0d_int8_axisNone, 627, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(6, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_0d_int8_axisNone, 627, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":670 * @cython.boundscheck(False) @@ -28837,7 +28837,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__84 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_bin, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__84); __Pyx_GIVEREF(__pyx_tuple__84); - __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(6, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_0d_int32_axisNone, 670, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(6, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_0d_int32_axisNone, 670, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":713 * @cython.boundscheck(False) @@ -28849,7 +28849,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__86 = PyTuple_Pack(20, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_bin, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci); if (unlikely(!__pyx_tuple__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__86); __Pyx_GIVEREF(__pyx_tuple__86); - __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(6, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_0d_int64_axisNone, 713, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(6, 0, 20, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_0d_int64_axisNone, 713, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":760 * @cython.boundscheck(False) @@ -28861,7 +28861,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__88 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_bin, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__88); __Pyx_GIVEREF(__pyx_tuple__88); - __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(6, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_1d_float_axisNone, 760, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(6, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_1d_float_axisNone, 760, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":831 * @cython.boundscheck(False) @@ -28873,7 +28873,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__90 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_bin, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__90); __Pyx_GIVEREF(__pyx_tuple__90); - __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(6, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_1d_float32_axisNone, 831, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(6, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_1d_float32_axisNone, 831, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":902 * @cython.boundscheck(False) @@ -28885,7 +28885,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__92 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_bin, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__92); __Pyx_GIVEREF(__pyx_tuple__92); - __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(6, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_1d_float64_axisNone, 902, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(6, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_1d_float64_axisNone, 902, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":973 * @cython.boundscheck(False) @@ -28897,7 +28897,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__94 = PyTuple_Pack(19, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_bin, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__94); __Pyx_GIVEREF(__pyx_tuple__94); - __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(6, 0, 19, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_2d_float_axisNone, 973, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(6, 0, 19, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_2d_float_axisNone, 973, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1027 * @cython.boundscheck(False) @@ -28909,7 +28909,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__96 = PyTuple_Pack(19, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_bin, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__96); __Pyx_GIVEREF(__pyx_tuple__96); - __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(6, 0, 19, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_2d_float32_axisNone, 1027, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(6, 0, 19, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_2d_float32_axisNone, 1027, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1081 * @cython.boundscheck(False) @@ -28921,7 +28921,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__98 = PyTuple_Pack(19, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_ain, __pyx_n_s_bin, __pyx_n_s_ai, __pyx_n_s_wt); if (unlikely(!__pyx_tuple__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__98); __Pyx_GIVEREF(__pyx_tuple__98); - __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(6, 0, 19, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_2d_float64_axisNone, 1081, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(6, 0, 19, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_2d_float64_axisNone, 1081, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1131 * @cython.boundscheck(False) @@ -28933,7 +28933,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__100 = PyTuple_Pack(22, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_ain, __pyx_n_s_bin); if (unlikely(!__pyx_tuple__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__100); __Pyx_GIVEREF(__pyx_tuple__100); - __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(6, 0, 22, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_0d_float_axisNone, 1131, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(6, 0, 22, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_0d_float_axisNone, 1131, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1188 * @cython.boundscheck(False) @@ -28945,7 +28945,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__102 = PyTuple_Pack(22, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_ain, __pyx_n_s_bin); if (unlikely(!__pyx_tuple__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__102); __Pyx_GIVEREF(__pyx_tuple__102); - __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(6, 0, 22, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_0d_float32_axisNone, 1188, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(6, 0, 22, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_0d_float32_axisNone, 1188, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1245 * @cython.boundscheck(False) @@ -28957,7 +28957,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__104 = PyTuple_Pack(22, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_w, __pyx_n_s_mask, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_nandims, __pyx_n_s_nans, __pyx_n_s_wt, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_ri, __pyx_n_s_i, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_ain, __pyx_n_s_bin); if (unlikely(!__pyx_tuple__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__104); __Pyx_GIVEREF(__pyx_tuple__104); - __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(6, 0, 22, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_0d_float64_axisNone, 1245, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(6, 0, 22, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_0d_float64_axisNone, 1245, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1330 * contingency_dict[(0, NPY_float64, None)] = contingency_0d_float64_axisNone @@ -28969,7 +28969,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__106 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__106); __Pyx_GIVEREF(__pyx_tuple__106); - __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis0, 1330, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis0, 1330, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1334 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -28981,7 +28981,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__108 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__108); __Pyx_GIVEREF(__pyx_tuple__108); - __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis1, 1334, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis1, 1334, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1338 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -28993,7 +28993,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__110 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__110); __Pyx_GIVEREF(__pyx_tuple__110); - __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis2, 1338, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis2, 1338, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1342 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29005,7 +29005,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__112 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__112); __Pyx_GIVEREF(__pyx_tuple__112); - __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis3, 1342, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis3, 1342, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1346 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29017,7 +29017,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__114 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__114); __Pyx_GIVEREF(__pyx_tuple__114); - __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis4, 1346, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis4, 1346, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1350 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29029,7 +29029,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__116 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__116); __Pyx_GIVEREF(__pyx_tuple__116); - __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis5, 1350, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis5, 1350, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1354 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29041,7 +29041,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__118 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__118); __Pyx_GIVEREF(__pyx_tuple__118); - __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis6, 1354, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis6, 1354, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1358 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29053,7 +29053,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__120 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__120); __Pyx_GIVEREF(__pyx_tuple__120); - __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis7, 1358, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis7, 1358, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1362 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29065,7 +29065,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__122 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__122); __Pyx_GIVEREF(__pyx_tuple__122); - __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis8, 1362, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis8, 1362, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1366 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29077,7 +29077,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__124 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__124); __Pyx_GIVEREF(__pyx_tuple__124); - __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis9, 1366, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis9, 1366, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1370 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29089,7 +29089,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__126 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__126); __Pyx_GIVEREF(__pyx_tuple__126); - __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis10, 1370, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis10, 1370, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1374 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29101,7 +29101,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__128 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__128); __Pyx_GIVEREF(__pyx_tuple__128); - __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis11, 1374, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis11, 1374, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1378 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29113,7 +29113,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__130 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__130); __Pyx_GIVEREF(__pyx_tuple__130); - __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis12, 1378, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis12, 1378, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1382 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29125,7 +29125,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__132 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__132); __Pyx_GIVEREF(__pyx_tuple__132); - __pyx_codeobj__133 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis13, 1382, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__133 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis13, 1382, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1386 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29137,7 +29137,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__134 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__134); __Pyx_GIVEREF(__pyx_tuple__134); - __pyx_codeobj__135 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__134, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis14, 1386, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__135 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__134, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis14, 1386, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1390 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29149,7 +29149,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__136 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__136); __Pyx_GIVEREF(__pyx_tuple__136); - __pyx_codeobj__137 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__136, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis15, 1390, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__137 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__136, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis15, 1390, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1394 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29161,7 +29161,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__138 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__138); __Pyx_GIVEREF(__pyx_tuple__138); - __pyx_codeobj__139 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis16, 1394, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__139 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis16, 1394, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1398 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29173,7 +29173,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__140 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__140); __Pyx_GIVEREF(__pyx_tuple__140); - __pyx_codeobj__141 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__140, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis17, 1398, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__141 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__140, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis17, 1398, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1398; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1402 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29185,7 +29185,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__142 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__142); __Pyx_GIVEREF(__pyx_tuple__142); - __pyx_codeobj__143 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__142, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis18, 1402, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__143 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__142, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis18, 1402, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1406 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29197,7 +29197,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__144 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__144); __Pyx_GIVEREF(__pyx_tuple__144); - __pyx_codeobj__145 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__144, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis19, 1406, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__145 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__144, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis19, 1406, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1410 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29209,7 +29209,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__146 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__146); __Pyx_GIVEREF(__pyx_tuple__146); - __pyx_codeobj__147 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__146, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis20, 1410, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__147 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__146, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis20, 1410, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1414 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29221,7 +29221,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__148 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__148); __Pyx_GIVEREF(__pyx_tuple__148); - __pyx_codeobj__149 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis21, 1414, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__149 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis21, 1414, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1418 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29233,7 +29233,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__150 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__150); __Pyx_GIVEREF(__pyx_tuple__150); - __pyx_codeobj__151 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__150, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis22, 1418, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__151 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__150, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis22, 1418, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1422 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29245,7 +29245,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__152 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__152); __Pyx_GIVEREF(__pyx_tuple__152); - __pyx_codeobj__153 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__152, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis23, 1422, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__153 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__152, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis23, 1422, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1426 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29257,7 +29257,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__154 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__154); __Pyx_GIVEREF(__pyx_tuple__154); - __pyx_codeobj__155 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis24, 1426, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__155 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis24, 1426, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1430 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29269,7 +29269,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__156 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__156); __Pyx_GIVEREF(__pyx_tuple__156); - __pyx_codeobj__157 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__156, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis25, 1430, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__157 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__156, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis25, 1430, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1434 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29281,7 +29281,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__158 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__158); __Pyx_GIVEREF(__pyx_tuple__158); - __pyx_codeobj__159 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__158, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis26, 1434, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__159 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__158, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis26, 1434, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1438 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29293,7 +29293,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__160 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__160); __Pyx_GIVEREF(__pyx_tuple__160); - __pyx_codeobj__161 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__160, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis27, 1438, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__161 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__160, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis27, 1438, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1442 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29305,7 +29305,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__162 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__162); __Pyx_GIVEREF(__pyx_tuple__162); - __pyx_codeobj__163 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__162, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis28, 1442, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__163 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__162, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis28, 1442, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1446 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29317,7 +29317,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__164 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__164); __Pyx_GIVEREF(__pyx_tuple__164); - __pyx_codeobj__165 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__164, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis29, 1446, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__165)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__165 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__164, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis29, 1446, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__165)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1450 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29329,7 +29329,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__166 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__166)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__166); __Pyx_GIVEREF(__pyx_tuple__166); - __pyx_codeobj__167 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__166, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis30, 1450, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__167)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__167 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__166, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis30, 1450, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__167)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1454 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29341,7 +29341,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__168 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__168)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__168); __Pyx_GIVEREF(__pyx_tuple__168); - __pyx_codeobj__169 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__168, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis31, 1454, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__169)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__169 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__168, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis31, 1454, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__169)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1458 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29353,7 +29353,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__170 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__170)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__170); __Pyx_GIVEREF(__pyx_tuple__170); - __pyx_codeobj__171 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__170, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axis32, 1458, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__171)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__171 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__170, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axis32, 1458, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__171)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "contingency.pyx":1462 * return bn.slow.contingency(arr, b, max_val, max_val2, weights=None, mask=None) @@ -29365,7 +29365,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__172 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_b, __pyx_n_s_max_val, __pyx_n_s_max_val2, __pyx_n_s_weights, __pyx_n_s_mask); if (unlikely(!__pyx_tuple__172)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__172); __Pyx_GIVEREF(__pyx_tuple__172); - __pyx_codeobj__173 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__172, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_contingency_slow_axisNone, 1462, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__173)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__173 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__172, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_contingency_slow_axisNone, 1462, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__173)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -32407,7 +32407,7 @@ PyMODINIT_FUNC PyInit_contingency(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/countnans.c b/bottlechest/src/func/64bit/countnans.c index 57027ff04e..95a8525f89 100644 --- a/bottlechest/src/func/64bit/countnans.c +++ b/bottlechest/src/func/64bit/countnans.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -864,8 +864,8 @@ static CYTHON_INLINE int __Pyx_GetBufferAndValidate(Py_buffer* buf, PyObject* o __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack); static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info); -#define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0) #define __Pyx_BufPtrStrided2d(type, buf, i0, s0, i1, s1) (type)((char*)buf + i0 * s0 + i1 * s1) +#define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0) static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); #if CYTHON_COMPILING_IN_CPYTHON @@ -1112,18 +1112,18 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_9countnans_countnans(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_weights, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_9countnans_2countnans_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_weights, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_9countnans_4countnans_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_6countnans_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_8countnans_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_10countnans_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_12countnans_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_14countnans_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_16countnans_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_18countnans_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_20countnans_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_22countnans_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_24countnans_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ -static PyObject *__pyx_pf_9countnans_26countnans_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_4countnans_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_6countnans_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_8countnans_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_10countnans_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_12countnans_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_14countnans_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_16countnans_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_18countnans_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_20countnans_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_22countnans_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_24countnans_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ +static PyObject *__pyx_pf_9countnans_26countnans_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights); /* proto */ static PyObject *__pyx_pf_9countnans_28countnans_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_weights); /* proto */ static PyObject *__pyx_pf_9countnans_30countnans_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_weights); /* proto */ static PyObject *__pyx_pf_9countnans_32countnans_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_weights); /* proto */ @@ -1282,16 +1282,15 @@ static char __pyx_k_countnans_2d_float32_axisNone[] = "countnans_2d_float32_axis static char __pyx_k_countnans_2d_float64_axisNone[] = "countnans_2d_float64_axisNone"; static char __pyx_k_Count_the_undefined_elements_al[] = "\n Count the undefined elements along given axis.\n\n Parameters\n ----------\n arr : array_like\n Array in which nans are to be counted. If `arr` is not an array, a\n conversion is attempted.\n weights : {array-like, None}\n Array containing the weights along the specified axis.\n Note: weights, if present, must be of type `float64`\n axis : {int, None}, optional\n Axis along which the nans are counted. The default (axis=None) is to\n count them across the entire array.\n\n Returns\n -------\n y : ndarray\n An array with the same shape as `arr`, with the specified axis removed.\n The output array is an array of float64 if data is weighted, or of int,\n if it is not.\n\n Examples\n --------\n >>> bn.countnans(1)\n 0.0\n >>> bn.countnans([1])\n 0.0\n >>> bn.countnans([1, np.nan])\n 1.0\n >>> a = np.array([[1, 4], [1, np.nan]])\n >>> bn.countnans(a)\n 1.0\n >>> bn.countnans(a, axis=0)\n array([ 0, 1])\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/countnans.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_shape_of_weights_does_not_match[] = "shape of weights does not match the data"; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\countnans.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_u_Count_the_undefined_elements_al; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; @@ -1304,6 +1303,7 @@ static PyObject *__pyx_n_s_PARTSORT_ERR_MSG; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__13; static PyObject *__pyx_n_s_a; @@ -2497,16 +2497,16 @@ static PyObject *__pyx_pf_9countnans_2countnans_selector(CYTHON_UNUSED PyObject /* "countnans.pyx":174 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float along axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_5countnans_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_4countnans_1d_float_axisNone[] = "countnans_1d_float_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 1d array with dtype=float along axis=None."; -static PyMethodDef __pyx_mdef_9countnans_5countnans_1d_float_axisNone = {"countnans_1d_float_axisNone", (PyCFunction)__pyx_pw_9countnans_5countnans_1d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_4countnans_1d_float_axisNone}; -static PyObject *__pyx_pw_9countnans_5countnans_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_5countnans_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_4countnans_2d_float_axis0[] = "countnans_2d_float_axis0(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_9countnans_5countnans_2d_float_axis0 = {"countnans_2d_float_axis0", (PyCFunction)__pyx_pw_9countnans_5countnans_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_4countnans_2d_float_axis0}; +static PyObject *__pyx_pw_9countnans_5countnans_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -2514,16 +2514,16 @@ static PyObject *__pyx_pw_9countnans_5countnans_1d_float_axisNone(PyObject *__py int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_1d_float_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_2d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; /* "countnans.pyx":175 * @cython.wraparound(False) - * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, + * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 1d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float along axis=0." * cdef np.float_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); @@ -2548,7 +2548,7 @@ static PyObject *__pyx_pw_9countnans_5countnans_1d_float_axisNone(PyObject *__py } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_1d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -2563,22 +2563,22 @@ static PyObject *__pyx_pw_9countnans_5countnans_1d_float_axisNone(PyObject *__py } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_1d_float_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_2d_float_axis0", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_4countnans_1d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); + __pyx_r = __pyx_pf_9countnans_4countnans_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_weights); /* "countnans.pyx":174 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float along axis=0." */ /* function exit code */ @@ -2590,32 +2590,48 @@ static PyObject *__pyx_pw_9countnans_5countnans_1d_float_axisNone(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9countnans_4countnans_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { +static PyObject *__pyx_pf_9countnans_4countnans_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_fcnt = NULL; - PyObject *__pyx_v_count = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + float __pyx_v_fcnt; + int __pyx_v_count; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - PyObject *__pyx_t_8 = NULL; + Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("countnans_2d_float_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -2626,9 +2642,9 @@ static PyObject *__pyx_pf_9countnans_4countnans_1d_float_axisNone(CYTHON_UNUSED __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -2636,11 +2652,11 @@ static PyObject *__pyx_pf_9countnans_4countnans_1d_float_axisNone(CYTHON_UNUSED __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; /* "countnans.pyx":180 - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); @@ -2648,245 +2664,278 @@ static PyObject *__pyx_pf_9countnans_4countnans_1d_float_axisNone(CYTHON_UNUSED * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * - * if weights is not None: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); + /* "countnans.pyx":182 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + /* "countnans.pyx":183 * cdef Py_ssize_t n0 = dim[0] - * - * if weights is not None: # <<<<<<<<<<<<<< - * if weights.ndim != 1 or weights.shape[0] != n0: - * raise ValueError("shape of weights does not match the data") + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_2 = (__pyx_t_1 != 0); - if (__pyx_t_2) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "countnans.pyx":184 + /* "countnans.pyx":184 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * - * if weights is not None: - * if weights.ndim != 1 or weights.shape[0] != n0: # <<<<<<<<<<<<<< - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 */ - __pyx_t_1 = ((__pyx_v_weights->nd != 1) != 0); - if (!__pyx_t_1) { - goto __pyx_L6_next_or; - } else { - __pyx_t_2 = __pyx_t_1; - goto __pyx_L5_bool_binop_done; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __pyx_L6_next_or:; - __pyx_t_1 = (((__pyx_v_weights->dimensions[0]) != __pyx_v_n0) != 0); - __pyx_t_2 = __pyx_t_1; - __pyx_L5_bool_binop_done:; - if (__pyx_t_2) { + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "countnans.pyx":189 + * cdef float fcnt + * cdef int count + * if weights is not None: # <<<<<<<<<<<<<< + * for i1 in range(n1): + * fcnt = 0 + */ + __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_5 = (__pyx_t_4 != 0); + if (__pyx_t_5) { - /* "countnans.pyx":185 + /* "countnans.pyx":190 + * cdef int count * if weights is not None: - * if weights.ndim != 1 or weights.shape[0] != n0: - * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< - * fcnt = 0 - * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * fcnt = 0 + * for i0 in range(n0): */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "countnans.pyx":186 - * if weights.ndim != 1 or weights.shape[0] != n0: - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "countnans.pyx":191 + * if weights is not None: + * for i1 in range(n1): + * fcnt = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_fcnt = __pyx_int_0; + __pyx_v_fcnt = 0.0; - /* "countnans.pyx":187 - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai != ai: + /* "countnans.pyx":192 + * for i1 in range(n1): + * fcnt = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "countnans.pyx":188 - * fcnt = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai != ai: - * fcnt += weights[i0] + /* "countnans.pyx":193 + * fcnt = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * fcnt += weights[i0] */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":189 - * for i0 in range(n0): - * ai = a[i0] - * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i0] - * return fcnt + /* "countnans.pyx":194 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * fcnt += weights[i0] + * y[i1] = fcnt */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { - /* "countnans.pyx":190 - * ai = a[i0] - * if ai != ai: - * fcnt += weights[i0] # <<<<<<<<<<<<<< - * return fcnt + /* "countnans.pyx":195 + * ai = a[i0, i1] + * if ai != ai: + * fcnt += weights[i0] # <<<<<<<<<<<<<< + * y[i1] = fcnt * else: */ - __pyx_t_7 = __pyx_v_i0; - __pyx_t_3 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_weights.diminfo[0].strides))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_8); - __pyx_t_8 = 0; - goto __pyx_L9; + __pyx_t_12 = __pyx_v_i0; + __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L9:; - } - /* "countnans.pyx":191 - * if ai != ai: - * fcnt += weights[i0] - * return fcnt # <<<<<<<<<<<<<< + /* "countnans.pyx":196 + * if ai != ai: + * fcnt += weights[i0] + * y[i1] = fcnt # <<<<<<<<<<<<<< * else: - * count = 0 + * for i1 in range(n1): */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_fcnt); - __pyx_r = __pyx_v_fcnt; - goto __pyx_L0; + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; + } + goto __pyx_L3; } /*else*/ { - /* "countnans.pyx":193 - * return fcnt + /* "countnans.pyx":198 + * y[i1] = fcnt * else: - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1): # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_count = __pyx_int_0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "countnans.pyx":194 + /* "countnans.pyx":199 * else: - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai != ai: - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + * for i1 in range(n1): + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_count = 0; - /* "countnans.pyx":195 - * count = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai != ai: - * count += 1 + /* "countnans.pyx":200 + * for i1 in range(n1): + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_9 = __pyx_v_n0; + for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { + __pyx_v_i0 = __pyx_t_13; - /* "countnans.pyx":196 - * for i0 in range(n0): - * ai = a[i0] - * if ai != ai: # <<<<<<<<<<<<<< - * count += 1 - * return count + /* "countnans.pyx":201 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * count += 1 */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":197 - * ai = a[i0] - * if ai != ai: - * count += 1 # <<<<<<<<<<<<<< - * return count - * @cython.boundscheck(False) + /* "countnans.pyx":202 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * count += 1 + * y[i1] = count */ - __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_8); - __pyx_t_8 = 0; - goto __pyx_L12; + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { + + /* "countnans.pyx":203 + * ai = a[i0, i1] + * if ai != ai: + * count += 1 # <<<<<<<<<<<<<< + * y[i1] = count + * return y + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L13; + } + __pyx_L13:; } - __pyx_L12:; + + /* "countnans.pyx":204 + * if ai != ai: + * count += 1 + * y[i1] = count # <<<<<<<<<<<<<< + * return y + * @cython.boundscheck(False) + */ + __pyx_t_9 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; } + } + __pyx_L3:; - /* "countnans.pyx":198 - * if ai != ai: - * count += 1 - * return count # <<<<<<<<<<<<<< + /* "countnans.pyx":205 + * count += 1 + * y[i1] = count + * return y # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_count); - __pyx_r = __pyx_v_count; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "countnans.pyx":174 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float along axis=0." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_fcnt); - __Pyx_XDECREF(__pyx_v_count); + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":201 +/* "countnans.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float32 along axis=None." + * "Count of nans in 2d array with dtype=float along axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_7countnans_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_6countnans_1d_float32_axisNone[] = "countnans_1d_float32_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 1d array with dtype=float32 along axis=None."; -static PyMethodDef __pyx_mdef_9countnans_7countnans_1d_float32_axisNone = {"countnans_1d_float32_axisNone", (PyCFunction)__pyx_pw_9countnans_7countnans_1d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_6countnans_1d_float32_axisNone}; -static PyObject *__pyx_pw_9countnans_7countnans_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_7countnans_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_6countnans_2d_float_axis1[] = "countnans_2d_float_axis1(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float along axis=1."; +static PyMethodDef __pyx_mdef_9countnans_7countnans_2d_float_axis1 = {"countnans_2d_float_axis1", (PyCFunction)__pyx_pw_9countnans_7countnans_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_6countnans_2d_float_axis1}; +static PyObject *__pyx_pw_9countnans_7countnans_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -2894,17 +2943,17 @@ static PyObject *__pyx_pw_9countnans_7countnans_1d_float32_axisNone(PyObject *__ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_1d_float32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_2d_float_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":202 + /* "countnans.pyx":209 * @cython.wraparound(False) - * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, + * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 1d array with dtype=float32 along axis=None." - * cdef np.float32_t ai + * "Count of nans in 2d array with dtype=float along axis=1." + * cdef np.float_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); if (unlikely(__pyx_kwds)) { @@ -2928,7 +2977,7 @@ static PyObject *__pyx_pw_9countnans_7countnans_1d_float32_axisNone(PyObject *__ } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_1d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -2943,22 +2992,22 @@ static PyObject *__pyx_pw_9countnans_7countnans_1d_float32_axisNone(PyObject *__ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_1d_float32_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_2d_float_axis1", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_6countnans_1d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_6countnans_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":201 + /* "countnans.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float32 along axis=None." + * "Count of nans in 2d array with dtype=float along axis=1." */ /* function exit code */ @@ -2970,32 +3019,48 @@ static PyObject *__pyx_pw_9countnans_7countnans_1d_float32_axisNone(PyObject *__ return __pyx_r; } -static PyObject *__pyx_pf_9countnans_6countnans_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_9countnans_6countnans_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_fcnt = NULL; - PyObject *__pyx_v_count = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + float __pyx_v_fcnt; + int __pyx_v_count; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - PyObject *__pyx_t_8 = NULL; + Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("countnans_2d_float_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -3006,267 +3071,300 @@ static PyObject *__pyx_pf_9countnans_6countnans_1d_float32_axisNone(CYTHON_UNUSE __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":207 - * cdef Py_ssize_t i0 + /* "countnans.pyx":214 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":208 + /* "countnans.pyx":215 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * - * if weights is not None: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":210 + /* "countnans.pyx":216 + * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * - * if weights is not None: # <<<<<<<<<<<<<< - * if weights.ndim != 1 or weights.shape[0] != n0: - * raise ValueError("shape of weights does not match the data") + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_2 = (__pyx_t_1 != 0); - if (__pyx_t_2) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "countnans.pyx":211 - * - * if weights is not None: - * if weights.ndim != 1 or weights.shape[0] != n0: # <<<<<<<<<<<<<< - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 + /* "countnans.pyx":217 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = ((__pyx_v_weights->nd != 1) != 0); - if (!__pyx_t_1) { - goto __pyx_L6_next_or; - } else { - __pyx_t_2 = __pyx_t_1; - goto __pyx_L5_bool_binop_done; - } - __pyx_L6_next_or:; - __pyx_t_1 = (((__pyx_v_weights->dimensions[0]) != __pyx_v_n0) != 0); - __pyx_t_2 = __pyx_t_1; - __pyx_L5_bool_binop_done:; - if (__pyx_t_2) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "countnans.pyx":212 - * if weights is not None: - * if weights.ndim != 1 or weights.shape[0] != n0: - * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< - * fcnt = 0 - * for i0 in range(n0): + /* "countnans.pyx":218 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "countnans.pyx":213 - * if weights.ndim != 1 or weights.shape[0] != n0: - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 # <<<<<<<<<<<<<< + /* "countnans.pyx":223 + * cdef float fcnt + * cdef int count + * if weights is not None: # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] + * fcnt = 0 */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_fcnt = __pyx_int_0; + __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_5 = (__pyx_t_4 != 0); + if (__pyx_t_5) { - /* "countnans.pyx":214 - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 + /* "countnans.pyx":224 + * cdef int count + * if weights is not None: * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai != ai: + * fcnt = 0 + * for i1 in range(n1): */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "countnans.pyx":215 - * fcnt = 0 + /* "countnans.pyx":225 + * if weights is not None: * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai != ai: - * fcnt += weights[i0] + * fcnt = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_fcnt = 0.0; - /* "countnans.pyx":216 + /* "countnans.pyx":226 * for i0 in range(n0): - * ai = a[i0] - * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i0] - * return fcnt + * fcnt = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "countnans.pyx":217 - * ai = a[i0] - * if ai != ai: - * fcnt += weights[i0] # <<<<<<<<<<<<<< - * return fcnt + /* "countnans.pyx":227 + * fcnt = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * fcnt += weights[i1] + */ + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "countnans.pyx":228 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * fcnt += weights[i1] + * y[i0] = fcnt + */ + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { + + /* "countnans.pyx":229 + * ai = a[i0, i1] + * if ai != ai: + * fcnt += weights[i1] # <<<<<<<<<<<<<< + * y[i0] = fcnt * else: */ - __pyx_t_7 = __pyx_v_i0; - __pyx_t_3 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_weights.diminfo[0].strides))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_8); - __pyx_t_8 = 0; - goto __pyx_L9; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L9:; - } - /* "countnans.pyx":218 - * if ai != ai: - * fcnt += weights[i0] - * return fcnt # <<<<<<<<<<<<<< + /* "countnans.pyx":230 + * if ai != ai: + * fcnt += weights[i1] + * y[i0] = fcnt # <<<<<<<<<<<<<< * else: - * count = 0 + * for i0 in range(n0): */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_fcnt); - __pyx_r = __pyx_v_fcnt; - goto __pyx_L0; + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; + } + goto __pyx_L3; } /*else*/ { - /* "countnans.pyx":220 - * return fcnt + /* "countnans.pyx":232 + * y[i0] = fcnt * else: - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + * for i0 in range(n0): # <<<<<<<<<<<<<< + * count = 0 + * for i1 in range(n1): */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_count = __pyx_int_0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "countnans.pyx":221 + /* "countnans.pyx":233 * else: - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai != ai: + * for i0 in range(n0): + * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_count = 0; - /* "countnans.pyx":222 - * count = 0 + /* "countnans.pyx":234 * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai != ai: - * count += 1 + * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { + __pyx_v_i1 = __pyx_t_13; - /* "countnans.pyx":223 - * for i0 in range(n0): - * ai = a[i0] - * if ai != ai: # <<<<<<<<<<<<<< - * count += 1 - * return count + /* "countnans.pyx":235 + * count = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * count += 1 */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":224 - * ai = a[i0] - * if ai != ai: - * count += 1 # <<<<<<<<<<<<<< - * return count - * @cython.boundscheck(False) + /* "countnans.pyx":236 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * count += 1 + * y[i0] = count */ - __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_8); - __pyx_t_8 = 0; - goto __pyx_L12; + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { + + /* "countnans.pyx":237 + * ai = a[i0, i1] + * if ai != ai: + * count += 1 # <<<<<<<<<<<<<< + * y[i0] = count + * return y + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L13; + } + __pyx_L13:; } - __pyx_L12:; + + /* "countnans.pyx":238 + * if ai != ai: + * count += 1 + * y[i0] = count # <<<<<<<<<<<<<< + * return y + * @cython.boundscheck(False) + */ + __pyx_t_9 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; } + } + __pyx_L3:; - /* "countnans.pyx":225 - * if ai != ai: - * count += 1 - * return count # <<<<<<<<<<<<<< + /* "countnans.pyx":239 + * count += 1 + * y[i0] = count + * return y # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_count); - __pyx_r = __pyx_v_count; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "countnans.pyx":201 + /* "countnans.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float32 along axis=None." + * "Count of nans in 2d array with dtype=float along axis=1." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_fcnt); - __Pyx_XDECREF(__pyx_v_count); + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":228 +/* "countnans.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float32 along axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_9countnans_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_8countnans_1d_float64_axisNone[] = "countnans_1d_float64_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 1d array with dtype=float64 along axis=None."; -static PyMethodDef __pyx_mdef_9countnans_9countnans_1d_float64_axisNone = {"countnans_1d_float64_axisNone", (PyCFunction)__pyx_pw_9countnans_9countnans_1d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_8countnans_1d_float64_axisNone}; -static PyObject *__pyx_pw_9countnans_9countnans_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_9countnans_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_8countnans_2d_float32_axis0[] = "countnans_2d_float32_axis0(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_9countnans_9countnans_2d_float32_axis0 = {"countnans_2d_float32_axis0", (PyCFunction)__pyx_pw_9countnans_9countnans_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_8countnans_2d_float32_axis0}; +static PyObject *__pyx_pw_9countnans_9countnans_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -3274,17 +3372,17 @@ static PyObject *__pyx_pw_9countnans_9countnans_1d_float64_axisNone(PyObject *__ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_1d_float64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_2d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":229 + /* "countnans.pyx":243 * @cython.wraparound(False) - * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, + * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 1d array with dtype=float64 along axis=None." - * cdef np.float64_t ai + * "Count of nans in 2d array with dtype=float32 along axis=0." + * cdef np.float32_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); if (unlikely(__pyx_kwds)) { @@ -3308,7 +3406,7 @@ static PyObject *__pyx_pw_9countnans_9countnans_1d_float64_axisNone(PyObject *__ } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_1d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -3323,22 +3421,22 @@ static PyObject *__pyx_pw_9countnans_9countnans_1d_float64_axisNone(PyObject *__ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_1d_float64_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_2d_float32_axis0", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_8countnans_1d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_8countnans_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":228 + /* "countnans.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float32 along axis=0." */ /* function exit code */ @@ -3350,32 +3448,48 @@ static PyObject *__pyx_pw_9countnans_9countnans_1d_float64_axisNone(PyObject *__ return __pyx_r; } -static PyObject *__pyx_pf_9countnans_8countnans_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_9countnans_8countnans_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_fcnt = NULL; - PyObject *__pyx_v_count = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + float __pyx_v_fcnt; + int __pyx_v_count; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - PyObject *__pyx_t_8 = NULL; + Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_1d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("countnans_2d_float32_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -3386,267 +3500,300 @@ static PyObject *__pyx_pf_9countnans_8countnans_1d_float64_axisNone(CYTHON_UNUSE __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":234 - * cdef Py_ssize_t i0 + /* "countnans.pyx":248 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":235 + /* "countnans.pyx":249 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * - * if weights is not None: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":237 + /* "countnans.pyx":250 + * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * - * if weights is not None: # <<<<<<<<<<<<<< - * if weights.ndim != 1 or weights.shape[0] != n0: - * raise ValueError("shape of weights does not match the data") + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_2 = (__pyx_t_1 != 0); - if (__pyx_t_2) { + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "countnans.pyx":251 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "countnans.pyx":238 + /* "countnans.pyx":252 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * - * if weights is not None: - * if weights.ndim != 1 or weights.shape[0] != n0: # <<<<<<<<<<<<<< - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 */ - __pyx_t_1 = ((__pyx_v_weights->nd != 1) != 0); - if (!__pyx_t_1) { - goto __pyx_L6_next_or; - } else { - __pyx_t_2 = __pyx_t_1; - goto __pyx_L5_bool_binop_done; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __pyx_L6_next_or:; - __pyx_t_1 = (((__pyx_v_weights->dimensions[0]) != __pyx_v_n0) != 0); - __pyx_t_2 = __pyx_t_1; - __pyx_L5_bool_binop_done:; - if (__pyx_t_2) { + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "countnans.pyx":257 + * cdef float fcnt + * cdef int count + * if weights is not None: # <<<<<<<<<<<<<< + * for i1 in range(n1): + * fcnt = 0 + */ + __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_5 = (__pyx_t_4 != 0); + if (__pyx_t_5) { - /* "countnans.pyx":239 + /* "countnans.pyx":258 + * cdef int count * if weights is not None: - * if weights.ndim != 1 or weights.shape[0] != n0: - * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< - * fcnt = 0 - * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * fcnt = 0 + * for i0 in range(n0): */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "countnans.pyx":240 - * if weights.ndim != 1 or weights.shape[0] != n0: - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "countnans.pyx":259 + * if weights is not None: + * for i1 in range(n1): + * fcnt = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_fcnt = __pyx_int_0; + __pyx_v_fcnt = 0.0; - /* "countnans.pyx":241 - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai != ai: + /* "countnans.pyx":260 + * for i1 in range(n1): + * fcnt = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "countnans.pyx":242 - * fcnt = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai != ai: - * fcnt += weights[i0] + /* "countnans.pyx":261 + * fcnt = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * fcnt += weights[i0] */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":243 - * for i0 in range(n0): - * ai = a[i0] - * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i0] - * return fcnt + /* "countnans.pyx":262 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * fcnt += weights[i0] + * y[i1] = fcnt */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { - /* "countnans.pyx":244 - * ai = a[i0] - * if ai != ai: - * fcnt += weights[i0] # <<<<<<<<<<<<<< - * return fcnt + /* "countnans.pyx":263 + * ai = a[i0, i1] + * if ai != ai: + * fcnt += weights[i0] # <<<<<<<<<<<<<< + * y[i1] = fcnt * else: */ - __pyx_t_7 = __pyx_v_i0; - __pyx_t_3 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_weights.diminfo[0].strides))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_8); - __pyx_t_8 = 0; - goto __pyx_L9; + __pyx_t_12 = __pyx_v_i0; + __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L9:; - } - /* "countnans.pyx":245 - * if ai != ai: - * fcnt += weights[i0] - * return fcnt # <<<<<<<<<<<<<< + /* "countnans.pyx":264 + * if ai != ai: + * fcnt += weights[i0] + * y[i1] = fcnt # <<<<<<<<<<<<<< * else: - * count = 0 + * for i1 in range(n1): */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_fcnt); - __pyx_r = __pyx_v_fcnt; - goto __pyx_L0; + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; + } + goto __pyx_L3; } /*else*/ { - /* "countnans.pyx":247 - * return fcnt + /* "countnans.pyx":266 + * y[i1] = fcnt * else: - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1): # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_count = __pyx_int_0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "countnans.pyx":248 + /* "countnans.pyx":267 * else: - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai != ai: + * for i1 in range(n1): + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_count = 0; - /* "countnans.pyx":249 - * count = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai != ai: - * count += 1 + /* "countnans.pyx":268 + * for i1 in range(n1): + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_9 = __pyx_v_n0; + for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { + __pyx_v_i0 = __pyx_t_13; - /* "countnans.pyx":250 - * for i0 in range(n0): - * ai = a[i0] - * if ai != ai: # <<<<<<<<<<<<<< - * count += 1 - * return count + /* "countnans.pyx":269 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai != ai: + * count += 1 */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":251 - * ai = a[i0] - * if ai != ai: - * count += 1 # <<<<<<<<<<<<<< - * return count - * @cython.boundscheck(False) + /* "countnans.pyx":270 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai != ai: # <<<<<<<<<<<<<< + * count += 1 + * y[i1] = count */ - __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_8); - __pyx_t_8 = 0; - goto __pyx_L12; + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { + + /* "countnans.pyx":271 + * ai = a[i0, i1] + * if ai != ai: + * count += 1 # <<<<<<<<<<<<<< + * y[i1] = count + * return y + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L13; + } + __pyx_L13:; } - __pyx_L12:; + + /* "countnans.pyx":272 + * if ai != ai: + * count += 1 + * y[i1] = count # <<<<<<<<<<<<<< + * return y + * @cython.boundscheck(False) + */ + __pyx_t_9 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; } + } + __pyx_L3:; - /* "countnans.pyx":252 - * if ai != ai: - * count += 1 - * return count # <<<<<<<<<<<<<< + /* "countnans.pyx":273 + * count += 1 + * y[i1] = count + * return y # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_count); - __pyx_r = __pyx_v_count; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "countnans.pyx":228 + /* "countnans.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float32 along axis=0." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_fcnt); - __Pyx_XDECREF(__pyx_v_count); + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":255 +/* "countnans.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float32 along axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_11countnans_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_10countnans_2d_float_axisNone[] = "countnans_2d_float_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float along axis=None."; -static PyMethodDef __pyx_mdef_9countnans_11countnans_2d_float_axisNone = {"countnans_2d_float_axisNone", (PyCFunction)__pyx_pw_9countnans_11countnans_2d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_10countnans_2d_float_axisNone}; -static PyObject *__pyx_pw_9countnans_11countnans_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_11countnans_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_10countnans_2d_float32_axis1[] = "countnans_2d_float32_axis1(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float32 along axis=1."; +static PyMethodDef __pyx_mdef_9countnans_11countnans_2d_float32_axis1 = {"countnans_2d_float32_axis1", (PyCFunction)__pyx_pw_9countnans_11countnans_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_10countnans_2d_float32_axis1}; +static PyObject *__pyx_pw_9countnans_11countnans_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -3654,17 +3801,17 @@ static PyObject *__pyx_pw_9countnans_11countnans_2d_float_axisNone(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_2d_float_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_2d_float32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":256 + /* "countnans.pyx":277 * @cython.wraparound(False) - * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, + * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 2d array with dtype=float along axis=None." - * cdef np.float_t ai + * "Count of nans in 2d array with dtype=float32 along axis=1." + * cdef np.float32_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); if (unlikely(__pyx_kwds)) { @@ -3688,7 +3835,7 @@ static PyObject *__pyx_pw_9countnans_11countnans_2d_float_axisNone(PyObject *__p } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -3703,22 +3850,22 @@ static PyObject *__pyx_pw_9countnans_11countnans_2d_float_axisNone(PyObject *__p } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_2d_float_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_2d_float32_axis1", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_10countnans_2d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_10countnans_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":255 + /* "countnans.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float32 along axis=1." */ /* function exit code */ @@ -3730,27 +3877,31 @@ static PyObject *__pyx_pw_9countnans_11countnans_2d_float_axisNone(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_9countnans_10countnans_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_9countnans_10countnans_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_fcnt = NULL; - PyObject *__pyx_v_count = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + float __pyx_v_fcnt; + int __pyx_v_count; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; @@ -3759,10 +3910,15 @@ static PyObject *__pyx_pf_9countnans_10countnans_2d_float_axisNone(CYTHON_UNUSED Py_ssize_t __pyx_t_12; Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_2d_float_axisNone", 0); + __Pyx_RefNannySetupContext("countnans_2d_float32_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -3773,16 +3929,16 @@ static PyObject *__pyx_pf_9countnans_10countnans_2d_float_axisNone(CYTHON_UNUSED __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":261 + /* "countnans.pyx":282 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3791,306 +3947,282 @@ static PyObject *__pyx_pf_9countnans_10countnans_2d_float_axisNone(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":262 + /* "countnans.pyx":283 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":263 + /* "countnans.pyx":284 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * - * if weights is not None: + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "countnans.pyx":265 + /* "countnans.pyx":285 + * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * - * if weights is not None: # <<<<<<<<<<<<<< - * if weights.shape[0] != (n0, n1): - * raise ValueError("shape of weights does not match the data") + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_2 = (__pyx_t_1 != 0); - if (__pyx_t_2) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "countnans.pyx":266 + /* "countnans.pyx":286 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * - * if weights is not None: - * if weights.shape[0] != (n0, n1): # <<<<<<<<<<<<<< - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 */ - __pyx_t_3 = __Pyx_PyInt_From_Py_intptr_t((__pyx_v_weights->dimensions[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_4 = 0; - __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_t_6, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_2) { + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "countnans.pyx":267 - * if weights is not None: - * if weights.shape[0] != (n0, n1): - * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< - * fcnt = 0 + /* "countnans.pyx":291 + * cdef float fcnt + * cdef int count + * if weights is not None: # <<<<<<<<<<<<<< * for i0 in range(n0): + * fcnt = 0 */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } + __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_5 = (__pyx_t_4 != 0); + if (__pyx_t_5) { - /* "countnans.pyx":268 - * if weights.shape[0] != (n0, n1): - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "countnans.pyx":292 + * cdef int count + * if weights is not None: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * fcnt = 0 * for i1 in range(n1): */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_fcnt = __pyx_int_0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "countnans.pyx":269 - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "countnans.pyx":293 + * if weights is not None: + * for i0 in range(n0): + * fcnt = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_fcnt = 0.0; - /* "countnans.pyx":270 - * fcnt = 0 + /* "countnans.pyx":294 * for i0 in range(n0): + * fcnt = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "countnans.pyx":271 - * for i0 in range(n0): + /* "countnans.pyx":295 + * fcnt = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: - * fcnt += weights[i0, i1] + * fcnt += weights[i1] */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":272 + /* "countnans.pyx":296 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i0, i1] - * return fcnt + * fcnt += weights[i1] + * y[i0] = fcnt */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { - /* "countnans.pyx":273 + /* "countnans.pyx":297 * ai = a[i0, i1] * if ai != ai: - * fcnt += weights[i0, i1] # <<<<<<<<<<<<<< - * return fcnt + * fcnt += weights[i1] # <<<<<<<<<<<<<< + * y[i0] = fcnt * else: */ - __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_i0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_i1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_5 = 0; - __pyx_t_6 = 0; - __pyx_t_6 = PyObject_GetItem(((PyObject *)__pyx_v_weights), __pyx_t_3); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_3); - __pyx_t_3 = 0; - goto __pyx_L9; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); + goto __pyx_L8; } - __pyx_L9:; + __pyx_L8:; } - } - /* "countnans.pyx":274 + /* "countnans.pyx":298 * if ai != ai: - * fcnt += weights[i0, i1] - * return fcnt # <<<<<<<<<<<<<< + * fcnt += weights[i1] + * y[i0] = fcnt # <<<<<<<<<<<<<< * else: - * count = 0 + * for i0 in range(n0): */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_fcnt); - __pyx_r = __pyx_v_fcnt; - goto __pyx_L0; + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; + } + goto __pyx_L3; } /*else*/ { - /* "countnans.pyx":276 - * return fcnt + /* "countnans.pyx":300 + * y[i0] = fcnt * else: - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + * for i0 in range(n0): # <<<<<<<<<<<<<< + * count = 0 * for i1 in range(n1): */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_count = __pyx_int_0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "countnans.pyx":277 + /* "countnans.pyx":301 * else: - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i0 in range(n0): + * count = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_count = 0; - /* "countnans.pyx":278 - * count = 0 + /* "countnans.pyx":302 * for i0 in range(n0): + * count = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { + __pyx_v_i1 = __pyx_t_13; - /* "countnans.pyx":279 - * for i0 in range(n0): + /* "countnans.pyx":303 + * count = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: * count += 1 */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":280 + /* "countnans.pyx":304 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< * count += 1 - * return count + * y[i0] = count */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { - /* "countnans.pyx":281 + /* "countnans.pyx":305 * ai = a[i0, i1] * if ai != ai: * count += 1 # <<<<<<<<<<<<<< - * return count - * @cython.boundscheck(False) + * y[i0] = count + * return y */ - __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_3); - __pyx_t_3 = 0; - goto __pyx_L14; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L13; } - __pyx_L14:; + __pyx_L13:; } - } - /* "countnans.pyx":282 + /* "countnans.pyx":306 * if ai != ai: * count += 1 - * return count # <<<<<<<<<<<<<< + * y[i0] = count # <<<<<<<<<<<<<< + * return y * @cython.boundscheck(False) - * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_count); - __pyx_r = __pyx_v_count; - goto __pyx_L0; + __pyx_t_9 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; + } } + __pyx_L3:; - /* "countnans.pyx":255 + /* "countnans.pyx":307 + * count += 1 + * y[i0] = count + * return y # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "countnans.pyx":276 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float32 along axis=1." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_fcnt); - __Pyx_XDECREF(__pyx_v_count); + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":285 +/* "countnans.pyx":310 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_13countnans_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_12countnans_2d_float32_axisNone[] = "countnans_2d_float32_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float32 along axis=None."; -static PyMethodDef __pyx_mdef_9countnans_13countnans_2d_float32_axisNone = {"countnans_2d_float32_axisNone", (PyCFunction)__pyx_pw_9countnans_13countnans_2d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_12countnans_2d_float32_axisNone}; -static PyObject *__pyx_pw_9countnans_13countnans_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_13countnans_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_12countnans_2d_float64_axis0[] = "countnans_2d_float64_axis0(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_9countnans_13countnans_2d_float64_axis0 = {"countnans_2d_float64_axis0", (PyCFunction)__pyx_pw_9countnans_13countnans_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_12countnans_2d_float64_axis0}; +static PyObject *__pyx_pw_9countnans_13countnans_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -4098,17 +4230,17 @@ static PyObject *__pyx_pw_9countnans_13countnans_2d_float32_axisNone(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_2d_float32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_2d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":286 + /* "countnans.pyx":311 * @cython.wraparound(False) - * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, + * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 2d array with dtype=float32 along axis=None." - * cdef np.float32_t ai + * "Count of nans in 2d array with dtype=float64 along axis=0." + * cdef np.float64_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); if (unlikely(__pyx_kwds)) { @@ -4132,7 +4264,7 @@ static PyObject *__pyx_pw_9countnans_13countnans_2d_float32_axisNone(PyObject *_ } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -4147,22 +4279,22 @@ static PyObject *__pyx_pw_9countnans_13countnans_2d_float32_axisNone(PyObject *_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_2d_float32_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_2d_float64_axis0", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_12countnans_2d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_12countnans_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":285 + /* "countnans.pyx":310 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=0." */ /* function exit code */ @@ -4174,27 +4306,31 @@ static PyObject *__pyx_pw_9countnans_13countnans_2d_float32_axisNone(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_9countnans_12countnans_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_9countnans_12countnans_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_fcnt = NULL; - PyObject *__pyx_v_count = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + float __pyx_v_fcnt; + int __pyx_v_count; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; @@ -4203,10 +4339,15 @@ static PyObject *__pyx_pf_9countnans_12countnans_2d_float32_axisNone(CYTHON_UNUS Py_ssize_t __pyx_t_12; Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_2d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("countnans_2d_float64_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -4217,16 +4358,16 @@ static PyObject *__pyx_pf_9countnans_12countnans_2d_float32_axisNone(CYTHON_UNUS __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":291 + /* "countnans.pyx":316 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4235,306 +4376,282 @@ static PyObject *__pyx_pf_9countnans_12countnans_2d_float32_axisNone(CYTHON_UNUS */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":292 + /* "countnans.pyx":317 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":293 + /* "countnans.pyx":318 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * - * if weights is not None: + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "countnans.pyx":295 + /* "countnans.pyx":319 + * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * - * if weights is not None: # <<<<<<<<<<<<<< - * if weights.shape[0] != (n0, n1): - * raise ValueError("shape of weights does not match the data") + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_2 = (__pyx_t_1 != 0); - if (__pyx_t_2) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "countnans.pyx":296 + /* "countnans.pyx":320 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * - * if weights is not None: - * if weights.shape[0] != (n0, n1): # <<<<<<<<<<<<<< - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 - */ - __pyx_t_3 = __Pyx_PyInt_From_Py_intptr_t((__pyx_v_weights->dimensions[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_4 = 0; - __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_t_6, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_2) { - - /* "countnans.pyx":297 - * if weights is not None: - * if weights.shape[0] != (n0, n1): - * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< - * fcnt = 0 - * for i0 in range(n0): */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "countnans.pyx":298 - * if weights.shape[0] != (n0, n1): - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "countnans.pyx":325 + * cdef float fcnt + * cdef int count + * if weights is not None: # <<<<<<<<<<<<<< + * for i1 in range(n1): + * fcnt = 0 */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_fcnt = __pyx_int_0; + __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_5 = (__pyx_t_4 != 0); + if (__pyx_t_5) { - /* "countnans.pyx":299 - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "countnans.pyx":326 + * cdef int count + * if weights is not None: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * fcnt = 0 + * for i0 in range(n0): */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "countnans.pyx":300 - * fcnt = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "countnans.pyx":327 + * if weights is not None: + * for i1 in range(n1): + * fcnt = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * ai = a[i0, i1] - * if ai != ai: */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_v_fcnt = 0.0; - /* "countnans.pyx":301 - * for i0 in range(n0): - * for i1 in range(n1): + /* "countnans.pyx":328 + * for i1 in range(n1): + * fcnt = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai != ai: + */ + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; + + /* "countnans.pyx":329 + * fcnt = 0 + * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: - * fcnt += weights[i0, i1] + * fcnt += weights[i0] */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":302 - * for i1 in range(n1): + /* "countnans.pyx":330 + * for i0 in range(n0): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i0, i1] - * return fcnt + * fcnt += weights[i0] + * y[i1] = fcnt */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { - /* "countnans.pyx":303 + /* "countnans.pyx":331 * ai = a[i0, i1] * if ai != ai: - * fcnt += weights[i0, i1] # <<<<<<<<<<<<<< - * return fcnt + * fcnt += weights[i0] # <<<<<<<<<<<<<< + * y[i1] = fcnt * else: */ - __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_i0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_i1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_5 = 0; - __pyx_t_6 = 0; - __pyx_t_6 = PyObject_GetItem(((PyObject *)__pyx_v_weights), __pyx_t_3); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_3); - __pyx_t_3 = 0; - goto __pyx_L9; + __pyx_t_12 = __pyx_v_i0; + __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); + goto __pyx_L8; } - __pyx_L9:; + __pyx_L8:; } - } - /* "countnans.pyx":304 + /* "countnans.pyx":332 * if ai != ai: - * fcnt += weights[i0, i1] - * return fcnt # <<<<<<<<<<<<<< + * fcnt += weights[i0] + * y[i1] = fcnt # <<<<<<<<<<<<<< * else: - * count = 0 + * for i1 in range(n1): */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_fcnt); - __pyx_r = __pyx_v_fcnt; - goto __pyx_L0; + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; + } + goto __pyx_L3; } /*else*/ { - /* "countnans.pyx":306 - * return fcnt + /* "countnans.pyx":334 + * y[i1] = fcnt * else: - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_count = __pyx_int_0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "countnans.pyx":307 + /* "countnans.pyx":335 * else: - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): + * for i1 in range(n1): + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * ai = a[i0, i1] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_count = 0; - /* "countnans.pyx":308 - * count = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "countnans.pyx":336 + * for i1 in range(n1): + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_9 = __pyx_v_n0; + for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { + __pyx_v_i0 = __pyx_t_13; - /* "countnans.pyx":309 - * for i0 in range(n0): - * for i1 in range(n1): + /* "countnans.pyx":337 + * count = 0 + * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: * count += 1 */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":310 - * for i1 in range(n1): + /* "countnans.pyx":338 + * for i0 in range(n0): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< * count += 1 - * return count + * y[i1] = count */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { - /* "countnans.pyx":311 + /* "countnans.pyx":339 * ai = a[i0, i1] * if ai != ai: * count += 1 # <<<<<<<<<<<<<< - * return count - * @cython.boundscheck(False) + * y[i1] = count + * return y */ - __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_3); - __pyx_t_3 = 0; - goto __pyx_L14; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L13; } - __pyx_L14:; + __pyx_L13:; } - } - /* "countnans.pyx":312 + /* "countnans.pyx":340 * if ai != ai: * count += 1 - * return count # <<<<<<<<<<<<<< + * y[i1] = count # <<<<<<<<<<<<<< + * return y * @cython.boundscheck(False) - * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_count); - __pyx_r = __pyx_v_count; - goto __pyx_L0; + __pyx_t_9 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; + } } + __pyx_L3:; - /* "countnans.pyx":285 + /* "countnans.pyx":341 + * count += 1 + * y[i1] = count + * return y # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "countnans.pyx":310 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=0." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_fcnt); - __Pyx_XDECREF(__pyx_v_count); + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":315 +/* "countnans.pyx":344 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_15countnans_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_14countnans_2d_float64_axisNone[] = "countnans_2d_float64_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float64 along axis=None."; -static PyMethodDef __pyx_mdef_9countnans_15countnans_2d_float64_axisNone = {"countnans_2d_float64_axisNone", (PyCFunction)__pyx_pw_9countnans_15countnans_2d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_14countnans_2d_float64_axisNone}; -static PyObject *__pyx_pw_9countnans_15countnans_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_15countnans_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_14countnans_2d_float64_axis1[] = "countnans_2d_float64_axis1(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float64 along axis=1."; +static PyMethodDef __pyx_mdef_9countnans_15countnans_2d_float64_axis1 = {"countnans_2d_float64_axis1", (PyCFunction)__pyx_pw_9countnans_15countnans_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_14countnans_2d_float64_axis1}; +static PyObject *__pyx_pw_9countnans_15countnans_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -4542,16 +4659,16 @@ static PyObject *__pyx_pw_9countnans_15countnans_2d_float64_axisNone(PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_2d_float64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_2d_float64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":316 + /* "countnans.pyx":345 * @cython.wraparound(False) - * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, + * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 2d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=1." * cdef np.float64_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); @@ -4576,7 +4693,7 @@ static PyObject *__pyx_pw_9countnans_15countnans_2d_float64_axisNone(PyObject *_ } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -4591,22 +4708,22 @@ static PyObject *__pyx_pw_9countnans_15countnans_2d_float64_axisNone(PyObject *_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_2d_float64_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_2d_float64_axis1", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_14countnans_2d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_14countnans_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":315 + /* "countnans.pyx":344 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=1." */ /* function exit code */ @@ -4618,27 +4735,31 @@ static PyObject *__pyx_pw_9countnans_15countnans_2d_float64_axisNone(PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_9countnans_14countnans_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { +static PyObject *__pyx_pf_9countnans_14countnans_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_fcnt = NULL; - PyObject *__pyx_v_count = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + float __pyx_v_fcnt; + int __pyx_v_count; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; @@ -4647,10 +4768,15 @@ static PyObject *__pyx_pf_9countnans_14countnans_2d_float64_axisNone(CYTHON_UNUS Py_ssize_t __pyx_t_12; Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_2d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("countnans_2d_float64_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -4661,16 +4787,16 @@ static PyObject *__pyx_pf_9countnans_14countnans_2d_float64_axisNone(CYTHON_UNUS __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":321 + /* "countnans.pyx":350 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4679,306 +4805,282 @@ static PyObject *__pyx_pf_9countnans_14countnans_2d_float64_axisNone(CYTHON_UNUS */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":322 + /* "countnans.pyx":351 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":323 + /* "countnans.pyx":352 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * - * if weights is not None: + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "countnans.pyx":325 + /* "countnans.pyx":353 + * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * - * if weights is not None: # <<<<<<<<<<<<<< - * if weights.shape[0] != (n0, n1): - * raise ValueError("shape of weights does not match the data") + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_2 = (__pyx_t_1 != 0); - if (__pyx_t_2) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "countnans.pyx":326 + /* "countnans.pyx":354 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * - * if weights is not None: - * if weights.shape[0] != (n0, n1): # <<<<<<<<<<<<<< - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 */ - __pyx_t_3 = __Pyx_PyInt_From_Py_intptr_t((__pyx_v_weights->dimensions[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_4 = 0; - __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_t_6, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_2) { + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "countnans.pyx":327 - * if weights is not None: - * if weights.shape[0] != (n0, n1): - * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< - * fcnt = 0 + /* "countnans.pyx":359 + * cdef float fcnt + * cdef int count + * if weights is not None: # <<<<<<<<<<<<<< * for i0 in range(n0): + * fcnt = 0 */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } + __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_5 = (__pyx_t_4 != 0); + if (__pyx_t_5) { - /* "countnans.pyx":328 - * if weights.shape[0] != (n0, n1): - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "countnans.pyx":360 + * cdef int count + * if weights is not None: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * fcnt = 0 * for i1 in range(n1): */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_fcnt = __pyx_int_0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "countnans.pyx":329 - * raise ValueError("shape of weights does not match the data") - * fcnt = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "countnans.pyx":361 + * if weights is not None: + * for i0 in range(n0): + * fcnt = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_fcnt = 0.0; - /* "countnans.pyx":330 - * fcnt = 0 + /* "countnans.pyx":362 * for i0 in range(n0): + * fcnt = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "countnans.pyx":331 - * for i0 in range(n0): + /* "countnans.pyx":363 + * fcnt = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: - * fcnt += weights[i0, i1] + * fcnt += weights[i1] */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":332 + /* "countnans.pyx":364 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i0, i1] - * return fcnt + * fcnt += weights[i1] + * y[i0] = fcnt */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { - /* "countnans.pyx":333 + /* "countnans.pyx":365 * ai = a[i0, i1] * if ai != ai: - * fcnt += weights[i0, i1] # <<<<<<<<<<<<<< - * return fcnt + * fcnt += weights[i1] # <<<<<<<<<<<<<< + * y[i0] = fcnt * else: */ - __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_i0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_i1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_5 = 0; - __pyx_t_6 = 0; - __pyx_t_6 = PyObject_GetItem(((PyObject *)__pyx_v_weights), __pyx_t_3); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_3); - __pyx_t_3 = 0; - goto __pyx_L9; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); + goto __pyx_L8; } - __pyx_L9:; + __pyx_L8:; } - } - /* "countnans.pyx":334 + /* "countnans.pyx":366 * if ai != ai: - * fcnt += weights[i0, i1] - * return fcnt # <<<<<<<<<<<<<< + * fcnt += weights[i1] + * y[i0] = fcnt # <<<<<<<<<<<<<< * else: - * count = 0 + * for i0 in range(n0): */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_fcnt); - __pyx_r = __pyx_v_fcnt; - goto __pyx_L0; + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; + } + goto __pyx_L3; } /*else*/ { - /* "countnans.pyx":336 - * return fcnt + /* "countnans.pyx":368 + * y[i0] = fcnt * else: - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + * for i0 in range(n0): # <<<<<<<<<<<<<< + * count = 0 * for i1 in range(n1): */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_count = __pyx_int_0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "countnans.pyx":337 + /* "countnans.pyx":369 * else: - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i0 in range(n0): + * count = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_count = 0; - /* "countnans.pyx":338 - * count = 0 + /* "countnans.pyx":370 * for i0 in range(n0): + * count = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { + __pyx_v_i1 = __pyx_t_13; - /* "countnans.pyx":339 - * for i0 in range(n0): + /* "countnans.pyx":371 + * count = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: * count += 1 */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":340 + /* "countnans.pyx":372 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< * count += 1 - * return count + * y[i0] = count */ - __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_2) { + __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_5) { - /* "countnans.pyx":341 + /* "countnans.pyx":373 * ai = a[i0, i1] * if ai != ai: * count += 1 # <<<<<<<<<<<<<< - * return count - * @cython.boundscheck(False) + * y[i0] = count + * return y */ - __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_3); - __pyx_t_3 = 0; - goto __pyx_L14; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L13; } - __pyx_L14:; + __pyx_L13:; } - } - /* "countnans.pyx":342 + /* "countnans.pyx":374 * if ai != ai: * count += 1 - * return count # <<<<<<<<<<<<<< + * y[i0] = count # <<<<<<<<<<<<<< + * return y * @cython.boundscheck(False) - * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_count); - __pyx_r = __pyx_v_count; - goto __pyx_L0; + __pyx_t_9 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; + } } + __pyx_L3:; - /* "countnans.pyx":315 + /* "countnans.pyx":375 + * count += 1 + * y[i0] = count + * return y # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "countnans.pyx":344 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=1." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_fcnt); - __Pyx_XDECREF(__pyx_v_count); + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":345 +/* "countnans.pyx":378 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=0." + * "Count of nans in 1d array with dtype=float along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_17countnans_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_16countnans_2d_float_axis0[] = "countnans_2d_float_axis0(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_9countnans_17countnans_2d_float_axis0 = {"countnans_2d_float_axis0", (PyCFunction)__pyx_pw_9countnans_17countnans_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_16countnans_2d_float_axis0}; -static PyObject *__pyx_pw_9countnans_17countnans_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_17countnans_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_16countnans_1d_float_axisNone[] = "countnans_1d_float_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 1d array with dtype=float along axis=None."; +static PyMethodDef __pyx_mdef_9countnans_17countnans_1d_float_axisNone = {"countnans_1d_float_axisNone", (PyCFunction)__pyx_pw_9countnans_17countnans_1d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_16countnans_1d_float_axisNone}; +static PyObject *__pyx_pw_9countnans_17countnans_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -4986,16 +5088,16 @@ static PyObject *__pyx_pw_9countnans_17countnans_2d_float_axis0(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_2d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_1d_float_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":346 + /* "countnans.pyx":379 * @cython.wraparound(False) - * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, + * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 2d array with dtype=float along axis=0." + * "Count of nans in 1d array with dtype=float along axis=None." * cdef np.float_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); @@ -5020,7 +5122,7 @@ static PyObject *__pyx_pw_9countnans_17countnans_2d_float_axis0(PyObject *__pyx_ } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_1d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -5035,22 +5137,22 @@ static PyObject *__pyx_pw_9countnans_17countnans_2d_float_axis0(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_2d_float_axis0", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_1d_float_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_16countnans_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_16countnans_1d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":345 + /* "countnans.pyx":378 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=0." + * "Count of nans in 1d array with dtype=float along axis=None." */ /* function exit code */ @@ -5062,48 +5164,32 @@ static PyObject *__pyx_pw_9countnans_17countnans_2d_float_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9countnans_16countnans_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { +static PyObject *__pyx_pf_9countnans_16countnans_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - float __pyx_v_fcnt; - int __pyx_v_count; + PyObject *__pyx_v_fcnt = NULL; + PyObject *__pyx_v_count = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_t_5; + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; + PyObject *__pyx_t_8 = NULL; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; - Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_2d_float_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("countnans_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -5114,300 +5200,267 @@ static PyObject *__pyx_pf_9countnans_16countnans_2d_float_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":351 - * cdef Py_ssize_t i0, i1 + /* "countnans.pyx":384 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":352 + /* "countnans.pyx":385 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * + * if weights is not None: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":353 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "countnans.pyx":354 + /* "countnans.pyx":387 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * + * if weights is not None: # <<<<<<<<<<<<<< + * if weights.ndim != 1 or weights.shape[0] != n0: + * raise ValueError("shape of weights does not match the data") */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { - /* "countnans.pyx":355 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) + /* "countnans.pyx":388 * + * if weights is not None: + * if weights.ndim != 1 or weights.shape[0] != n0: # <<<<<<<<<<<<<< + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __pyx_t_1 = ((__pyx_v_weights->nd != 1) != 0); + if (!__pyx_t_1) { + goto __pyx_L6_next_or; + } else { + __pyx_t_2 = __pyx_t_1; + goto __pyx_L5_bool_binop_done; } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "countnans.pyx":360 - * cdef float fcnt - * cdef int count - * if weights is not None: # <<<<<<<<<<<<<< - * for i1 in range(n1): - * fcnt = 0 - */ - __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_5 = (__pyx_t_4 != 0); - if (__pyx_t_5) { + __pyx_L6_next_or:; + __pyx_t_1 = (((__pyx_v_weights->dimensions[0]) != __pyx_v_n0) != 0); + __pyx_t_2 = __pyx_t_1; + __pyx_L5_bool_binop_done:; + if (__pyx_t_2) { - /* "countnans.pyx":361 - * cdef int count + /* "countnans.pyx":389 * if weights is not None: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * fcnt = 0 - * for i0 in range(n0): + * if weights.ndim != 1 or weights.shape[0] != n0: + * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< + * fcnt = 0 + * for i0 in range(n0): */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "countnans.pyx":362 - * if weights is not None: - * for i1 in range(n1): - * fcnt = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "countnans.pyx":390 + * if weights.ndim != 1 or weights.shape[0] != n0: + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_v_fcnt = 0.0; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_fcnt = __pyx_int_0; - /* "countnans.pyx":363 - * for i1 in range(n1): - * fcnt = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: + /* "countnans.pyx":391 + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai != ai: */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "countnans.pyx":364 - * fcnt = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * fcnt += weights[i0] + /* "countnans.pyx":392 + * fcnt = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai != ai: + * fcnt += weights[i0] */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "countnans.pyx":365 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i0] - * y[i1] = fcnt + /* "countnans.pyx":393 + * for i0 in range(n0): + * ai = a[i0] + * if ai != ai: # <<<<<<<<<<<<<< + * fcnt += weights[i0] + * return fcnt */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":366 - * ai = a[i0, i1] - * if ai != ai: - * fcnt += weights[i0] # <<<<<<<<<<<<<< - * y[i1] = fcnt + /* "countnans.pyx":394 + * ai = a[i0] + * if ai != ai: + * fcnt += weights[i0] # <<<<<<<<<<<<<< + * return fcnt * else: */ - __pyx_t_12 = __pyx_v_i0; - __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); - goto __pyx_L8; - } - __pyx_L8:; + __pyx_t_7 = __pyx_v_i0; + __pyx_t_3 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_weights.diminfo[0].strides))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_8); + __pyx_t_8 = 0; + goto __pyx_L9; } + __pyx_L9:; + } - /* "countnans.pyx":367 - * if ai != ai: - * fcnt += weights[i0] - * y[i1] = fcnt # <<<<<<<<<<<<<< + /* "countnans.pyx":395 + * if ai != ai: + * fcnt += weights[i0] + * return fcnt # <<<<<<<<<<<<<< * else: - * for i1 in range(n1): + * count = 0 */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; - } - goto __pyx_L3; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_fcnt); + __pyx_r = __pyx_v_fcnt; + goto __pyx_L0; } /*else*/ { - /* "countnans.pyx":369 - * y[i1] = fcnt + /* "countnans.pyx":397 + * return fcnt * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_count = __pyx_int_0; - /* "countnans.pyx":370 + /* "countnans.pyx":398 * else: - * for i1 in range(n1): - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "countnans.pyx":371 - * for i1 in range(n1): - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: - */ - __pyx_t_9 = __pyx_v_n0; - for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { - __pyx_v_i0 = __pyx_t_13; - - /* "countnans.pyx":372 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * count += 1 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai != ai: */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "countnans.pyx":373 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * count += 1 - * y[i1] = count + /* "countnans.pyx":399 + * count = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai != ai: + * count += 1 */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "countnans.pyx":374 - * ai = a[i0, i1] - * if ai != ai: - * count += 1 # <<<<<<<<<<<<<< - * y[i1] = count - * return y + /* "countnans.pyx":400 + * for i0 in range(n0): + * ai = a[i0] + * if ai != ai: # <<<<<<<<<<<<<< + * count += 1 + * return count */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L13; - } - __pyx_L13:; - } + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":375 - * if ai != ai: - * count += 1 - * y[i1] = count # <<<<<<<<<<<<<< - * return y + /* "countnans.pyx":401 + * ai = a[i0] + * if ai != ai: + * count += 1 # <<<<<<<<<<<<<< + * return count * @cython.boundscheck(False) */ - __pyx_t_9 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; + __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_8); + __pyx_t_8 = 0; + goto __pyx_L12; + } + __pyx_L12:; } - } - __pyx_L3:; - /* "countnans.pyx":376 - * count += 1 - * y[i1] = count - * return y # <<<<<<<<<<<<<< + /* "countnans.pyx":402 + * if ai != ai: + * count += 1 + * return count # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_count); + __pyx_r = __pyx_v_count; + goto __pyx_L0; + } - /* "countnans.pyx":345 + /* "countnans.pyx":378 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=0." + * "Count of nans in 1d array with dtype=float along axis=None." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_8); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_fcnt); + __Pyx_XDECREF(__pyx_v_count); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":379 +/* "countnans.pyx":405 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=1." + * "Count of nans in 1d array with dtype=float32 along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_19countnans_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_18countnans_2d_float_axis1[] = "countnans_2d_float_axis1(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float along axis=1."; -static PyMethodDef __pyx_mdef_9countnans_19countnans_2d_float_axis1 = {"countnans_2d_float_axis1", (PyCFunction)__pyx_pw_9countnans_19countnans_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_18countnans_2d_float_axis1}; -static PyObject *__pyx_pw_9countnans_19countnans_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_19countnans_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_18countnans_1d_float32_axisNone[] = "countnans_1d_float32_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 1d array with dtype=float32 along axis=None."; +static PyMethodDef __pyx_mdef_9countnans_19countnans_1d_float32_axisNone = {"countnans_1d_float32_axisNone", (PyCFunction)__pyx_pw_9countnans_19countnans_1d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_18countnans_1d_float32_axisNone}; +static PyObject *__pyx_pw_9countnans_19countnans_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -5415,17 +5468,17 @@ static PyObject *__pyx_pw_9countnans_19countnans_2d_float_axis1(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_2d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_1d_float32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":380 + /* "countnans.pyx":406 * @cython.wraparound(False) - * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, + * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 2d array with dtype=float along axis=1." - * cdef np.float_t ai + * "Count of nans in 1d array with dtype=float32 along axis=None." + * cdef np.float32_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); if (unlikely(__pyx_kwds)) { @@ -5449,7 +5502,7 @@ static PyObject *__pyx_pw_9countnans_19countnans_2d_float_axis1(PyObject *__pyx_ } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_1d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -5464,22 +5517,22 @@ static PyObject *__pyx_pw_9countnans_19countnans_2d_float_axis1(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_2d_float_axis1", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_1d_float32_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_18countnans_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_18countnans_1d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":379 + /* "countnans.pyx":405 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=1." + * "Count of nans in 1d array with dtype=float32 along axis=None." */ /* function exit code */ @@ -5491,48 +5544,32 @@ static PyObject *__pyx_pw_9countnans_19countnans_2d_float_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9countnans_18countnans_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_9countnans_18countnans_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - float __pyx_v_fcnt; - int __pyx_v_count; + PyObject *__pyx_v_fcnt = NULL; + PyObject *__pyx_v_count = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_t_5; + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; + PyObject *__pyx_t_8 = NULL; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; - Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_2d_float_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("countnans_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -5543,300 +5580,267 @@ static PyObject *__pyx_pf_9countnans_18countnans_2d_float_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":385 - * cdef Py_ssize_t i0, i1 + /* "countnans.pyx":411 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":386 + /* "countnans.pyx":412 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * + * if weights is not None: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":387 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "countnans.pyx":388 + /* "countnans.pyx":414 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "countnans.pyx":389 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) * - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "countnans.pyx":394 - * cdef float fcnt - * cdef int count * if weights is not None: # <<<<<<<<<<<<<< - * for i0 in range(n0): - * fcnt = 0 + * if weights.ndim != 1 or weights.shape[0] != n0: + * raise ValueError("shape of weights does not match the data") */ - __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_5 = (__pyx_t_4 != 0); - if (__pyx_t_5) { + __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { - /* "countnans.pyx":395 - * cdef int count + /* "countnans.pyx":415 + * * if weights is not None: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * fcnt = 0 - * for i1 in range(n1): + * if weights.ndim != 1 or weights.shape[0] != n0: # <<<<<<<<<<<<<< + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_1 = ((__pyx_v_weights->nd != 1) != 0); + if (!__pyx_t_1) { + goto __pyx_L6_next_or; + } else { + __pyx_t_2 = __pyx_t_1; + goto __pyx_L5_bool_binop_done; + } + __pyx_L6_next_or:; + __pyx_t_1 = (((__pyx_v_weights->dimensions[0]) != __pyx_v_n0) != 0); + __pyx_t_2 = __pyx_t_1; + __pyx_L5_bool_binop_done:; + if (__pyx_t_2) { - /* "countnans.pyx":396 + /* "countnans.pyx":416 * if weights is not None: + * if weights.ndim != 1 or weights.shape[0] != n0: + * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< + * fcnt = 0 * for i0 in range(n0): - * fcnt = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] */ - __pyx_v_fcnt = 0.0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "countnans.pyx":397 + /* "countnans.pyx":417 + * if weights.ndim != 1 or weights.shape[0] != n0: + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * fcnt = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: - */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; - - /* "countnans.pyx":398 - * fcnt = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * fcnt += weights[i1] + * ai = a[i0] */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __Pyx_INCREF(__pyx_int_0); + __pyx_v_fcnt = __pyx_int_0; - /* "countnans.pyx":399 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i1] - * y[i0] = fcnt + /* "countnans.pyx":418 + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai != ai: */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "countnans.pyx":400 - * ai = a[i0, i1] - * if ai != ai: - * fcnt += weights[i1] # <<<<<<<<<<<<<< - * y[i0] = fcnt - * else: + /* "countnans.pyx":419 + * fcnt = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai != ai: + * fcnt += weights[i0] */ - __pyx_t_12 = __pyx_v_i1; - __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); - goto __pyx_L8; - } - __pyx_L8:; - } + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "countnans.pyx":401 - * if ai != ai: - * fcnt += weights[i1] - * y[i0] = fcnt # <<<<<<<<<<<<<< - * else: + /* "countnans.pyx":420 * for i0 in range(n0): + * ai = a[i0] + * if ai != ai: # <<<<<<<<<<<<<< + * fcnt += weights[i0] + * return fcnt */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; - } - goto __pyx_L3; - } - /*else*/ { + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":403 - * y[i0] = fcnt + /* "countnans.pyx":421 + * ai = a[i0] + * if ai != ai: + * fcnt += weights[i0] # <<<<<<<<<<<<<< + * return fcnt * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * count = 0 - * for i1 in range(n1): */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_7 = __pyx_v_i0; + __pyx_t_3 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_weights.diminfo[0].strides))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_8); + __pyx_t_8 = 0; + goto __pyx_L9; + } + __pyx_L9:; + } - /* "countnans.pyx":404 + /* "countnans.pyx":422 + * if ai != ai: + * fcnt += weights[i0] + * return fcnt # <<<<<<<<<<<<<< * else: - * for i0 in range(n0): - * count = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * count = 0 */ - __pyx_v_count = 0; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_fcnt); + __pyx_r = __pyx_v_fcnt; + goto __pyx_L0; + } + /*else*/ { - /* "countnans.pyx":405 + /* "countnans.pyx":424 + * return fcnt + * else: + * count = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * count = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: + * ai = a[i0] */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { - __pyx_v_i1 = __pyx_t_13; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_count = __pyx_int_0; - /* "countnans.pyx":406 - * count = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * count += 1 + /* "countnans.pyx":425 + * else: + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai != ai: */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "countnans.pyx":407 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * count += 1 - * y[i0] = count + /* "countnans.pyx":426 + * count = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai != ai: + * count += 1 */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "countnans.pyx":408 - * ai = a[i0, i1] - * if ai != ai: - * count += 1 # <<<<<<<<<<<<<< - * y[i0] = count - * return y + /* "countnans.pyx":427 + * for i0 in range(n0): + * ai = a[i0] + * if ai != ai: # <<<<<<<<<<<<<< + * count += 1 + * return count */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L13; - } - __pyx_L13:; - } + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":409 - * if ai != ai: - * count += 1 - * y[i0] = count # <<<<<<<<<<<<<< - * return y + /* "countnans.pyx":428 + * ai = a[i0] + * if ai != ai: + * count += 1 # <<<<<<<<<<<<<< + * return count * @cython.boundscheck(False) */ - __pyx_t_9 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; + __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_8); + __pyx_t_8 = 0; + goto __pyx_L12; + } + __pyx_L12:; } - } - __pyx_L3:; - /* "countnans.pyx":410 - * count += 1 - * y[i0] = count - * return y # <<<<<<<<<<<<<< + /* "countnans.pyx":429 + * if ai != ai: + * count += 1 + * return count # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_count); + __pyx_r = __pyx_v_count; + goto __pyx_L0; + } - /* "countnans.pyx":379 + /* "countnans.pyx":405 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=1." + * "Count of nans in 1d array with dtype=float32 along axis=None." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_8); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_fcnt); + __Pyx_XDECREF(__pyx_v_count); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":413 +/* "countnans.pyx":432 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=0." + * "Count of nans in 1d array with dtype=float64 along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_21countnans_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_20countnans_2d_float32_axis0[] = "countnans_2d_float32_axis0(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_9countnans_21countnans_2d_float32_axis0 = {"countnans_2d_float32_axis0", (PyCFunction)__pyx_pw_9countnans_21countnans_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_20countnans_2d_float32_axis0}; -static PyObject *__pyx_pw_9countnans_21countnans_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_21countnans_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_20countnans_1d_float64_axisNone[] = "countnans_1d_float64_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 1d array with dtype=float64 along axis=None."; +static PyMethodDef __pyx_mdef_9countnans_21countnans_1d_float64_axisNone = {"countnans_1d_float64_axisNone", (PyCFunction)__pyx_pw_9countnans_21countnans_1d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_20countnans_1d_float64_axisNone}; +static PyObject *__pyx_pw_9countnans_21countnans_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -5844,17 +5848,17 @@ static PyObject *__pyx_pw_9countnans_21countnans_2d_float32_axis0(PyObject *__py int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_2d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_1d_float64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":414 + /* "countnans.pyx":433 * @cython.wraparound(False) - * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, + * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 2d array with dtype=float32 along axis=0." - * cdef np.float32_t ai + * "Count of nans in 1d array with dtype=float64 along axis=None." + * cdef np.float64_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); if (unlikely(__pyx_kwds)) { @@ -5878,7 +5882,7 @@ static PyObject *__pyx_pw_9countnans_21countnans_2d_float32_axis0(PyObject *__py } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_1d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -5893,22 +5897,22 @@ static PyObject *__pyx_pw_9countnans_21countnans_2d_float32_axis0(PyObject *__py } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_2d_float32_axis0", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_1d_float64_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_20countnans_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_20countnans_1d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":413 + /* "countnans.pyx":432 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=0." + * "Count of nans in 1d array with dtype=float64 along axis=None." */ /* function exit code */ @@ -5920,48 +5924,32 @@ static PyObject *__pyx_pw_9countnans_21countnans_2d_float32_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9countnans_20countnans_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_9countnans_20countnans_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - float __pyx_v_fcnt; - int __pyx_v_count; + PyObject *__pyx_v_fcnt = NULL; + PyObject *__pyx_v_count = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_t_5; + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; + PyObject *__pyx_t_8 = NULL; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; - Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_2d_float32_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("countnans_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -5972,300 +5960,267 @@ static PyObject *__pyx_pf_9countnans_20countnans_2d_float32_axis0(CYTHON_UNUSED __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":419 - * cdef Py_ssize_t i0, i1 + /* "countnans.pyx":438 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":420 + /* "countnans.pyx":439 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * + * if weights is not None: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":421 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "countnans.pyx":422 + /* "countnans.pyx":441 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "countnans.pyx":423 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) * - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "countnans.pyx":428 - * cdef float fcnt - * cdef int count * if weights is not None: # <<<<<<<<<<<<<< - * for i1 in range(n1): - * fcnt = 0 + * if weights.ndim != 1 or weights.shape[0] != n0: + * raise ValueError("shape of weights does not match the data") */ - __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_5 = (__pyx_t_4 != 0); - if (__pyx_t_5) { + __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { - /* "countnans.pyx":429 - * cdef int count + /* "countnans.pyx":442 + * * if weights is not None: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * fcnt = 0 - * for i0 in range(n0): + * if weights.ndim != 1 or weights.shape[0] != n0: # <<<<<<<<<<<<<< + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_1 = ((__pyx_v_weights->nd != 1) != 0); + if (!__pyx_t_1) { + goto __pyx_L6_next_or; + } else { + __pyx_t_2 = __pyx_t_1; + goto __pyx_L5_bool_binop_done; + } + __pyx_L6_next_or:; + __pyx_t_1 = (((__pyx_v_weights->dimensions[0]) != __pyx_v_n0) != 0); + __pyx_t_2 = __pyx_t_1; + __pyx_L5_bool_binop_done:; + if (__pyx_t_2) { - /* "countnans.pyx":430 + /* "countnans.pyx":443 * if weights is not None: - * for i1 in range(n1): - * fcnt = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + * if weights.ndim != 1 or weights.shape[0] != n0: + * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< + * fcnt = 0 + * for i0 in range(n0): + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + + /* "countnans.pyx":444 + * if weights.ndim != 1 or weights.shape[0] != n0: + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_v_fcnt = 0.0; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_fcnt = __pyx_int_0; - /* "countnans.pyx":431 - * for i1 in range(n1): - * fcnt = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: + /* "countnans.pyx":445 + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai != ai: */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "countnans.pyx":432 - * fcnt = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * fcnt += weights[i0] + /* "countnans.pyx":446 + * fcnt = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai != ai: + * fcnt += weights[i0] */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "countnans.pyx":433 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i0] - * y[i1] = fcnt + /* "countnans.pyx":447 + * for i0 in range(n0): + * ai = a[i0] + * if ai != ai: # <<<<<<<<<<<<<< + * fcnt += weights[i0] + * return fcnt */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":434 - * ai = a[i0, i1] - * if ai != ai: - * fcnt += weights[i0] # <<<<<<<<<<<<<< - * y[i1] = fcnt + /* "countnans.pyx":448 + * ai = a[i0] + * if ai != ai: + * fcnt += weights[i0] # <<<<<<<<<<<<<< + * return fcnt * else: */ - __pyx_t_12 = __pyx_v_i0; - __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); - goto __pyx_L8; - } - __pyx_L8:; + __pyx_t_7 = __pyx_v_i0; + __pyx_t_3 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_weights.diminfo[0].strides))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_8); + __pyx_t_8 = 0; + goto __pyx_L9; } + __pyx_L9:; + } - /* "countnans.pyx":435 - * if ai != ai: - * fcnt += weights[i0] - * y[i1] = fcnt # <<<<<<<<<<<<<< + /* "countnans.pyx":449 + * if ai != ai: + * fcnt += weights[i0] + * return fcnt # <<<<<<<<<<<<<< * else: - * for i1 in range(n1): + * count = 0 */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; - } - goto __pyx_L3; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_fcnt); + __pyx_r = __pyx_v_fcnt; + goto __pyx_L0; } /*else*/ { - /* "countnans.pyx":437 - * y[i1] = fcnt + /* "countnans.pyx":451 + * return fcnt * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_count = __pyx_int_0; - /* "countnans.pyx":438 + /* "countnans.pyx":452 * else: - * for i1 in range(n1): - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "countnans.pyx":439 - * for i1 in range(n1): - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai != ai: - */ - __pyx_t_9 = __pyx_v_n0; - for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { - __pyx_v_i0 = __pyx_t_13; - - /* "countnans.pyx":440 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai != ai: - * count += 1 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai != ai: */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "countnans.pyx":441 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai != ai: # <<<<<<<<<<<<<< - * count += 1 - * y[i1] = count + /* "countnans.pyx":453 + * count = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai != ai: + * count += 1 */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "countnans.pyx":442 - * ai = a[i0, i1] - * if ai != ai: - * count += 1 # <<<<<<<<<<<<<< - * y[i1] = count - * return y + /* "countnans.pyx":454 + * for i0 in range(n0): + * ai = a[i0] + * if ai != ai: # <<<<<<<<<<<<<< + * count += 1 + * return count */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L13; - } - __pyx_L13:; - } + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":443 - * if ai != ai: - * count += 1 - * y[i1] = count # <<<<<<<<<<<<<< - * return y + /* "countnans.pyx":455 + * ai = a[i0] + * if ai != ai: + * count += 1 # <<<<<<<<<<<<<< + * return count * @cython.boundscheck(False) */ - __pyx_t_9 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; + __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_8); + __pyx_t_8 = 0; + goto __pyx_L12; + } + __pyx_L12:; } - } - __pyx_L3:; - /* "countnans.pyx":444 - * count += 1 - * y[i1] = count - * return y # <<<<<<<<<<<<<< + /* "countnans.pyx":456 + * if ai != ai: + * count += 1 + * return count # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_count); + __pyx_r = __pyx_v_count; + goto __pyx_L0; + } - /* "countnans.pyx":413 + /* "countnans.pyx":432 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=0." + * "Count of nans in 1d array with dtype=float64 along axis=None." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_8); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_fcnt); + __Pyx_XDECREF(__pyx_v_count); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":447 +/* "countnans.pyx":459 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=1." + * "Count of nans in 2d array with dtype=float along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_23countnans_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_22countnans_2d_float32_axis1[] = "countnans_2d_float32_axis1(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float32 along axis=1."; -static PyMethodDef __pyx_mdef_9countnans_23countnans_2d_float32_axis1 = {"countnans_2d_float32_axis1", (PyCFunction)__pyx_pw_9countnans_23countnans_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_22countnans_2d_float32_axis1}; -static PyObject *__pyx_pw_9countnans_23countnans_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_23countnans_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_22countnans_2d_float_axisNone[] = "countnans_2d_float_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float along axis=None."; +static PyMethodDef __pyx_mdef_9countnans_23countnans_2d_float_axisNone = {"countnans_2d_float_axisNone", (PyCFunction)__pyx_pw_9countnans_23countnans_2d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_22countnans_2d_float_axisNone}; +static PyObject *__pyx_pw_9countnans_23countnans_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -6273,17 +6228,17 @@ static PyObject *__pyx_pw_9countnans_23countnans_2d_float32_axis1(PyObject *__py int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_2d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_2d_float_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":448 + /* "countnans.pyx":460 * @cython.wraparound(False) - * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, + * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 2d array with dtype=float32 along axis=1." - * cdef np.float32_t ai + * "Count of nans in 2d array with dtype=float along axis=None." + * cdef np.float_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); if (unlikely(__pyx_kwds)) { @@ -6307,7 +6262,7 @@ static PyObject *__pyx_pw_9countnans_23countnans_2d_float32_axis1(PyObject *__py } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -6322,22 +6277,22 @@ static PyObject *__pyx_pw_9countnans_23countnans_2d_float32_axis1(PyObject *__py } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_2d_float32_axis1", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_2d_float_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_22countnans_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_22countnans_2d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":447 + /* "countnans.pyx":459 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=1." + * "Count of nans in 2d array with dtype=float along axis=None." */ /* function exit code */ @@ -6349,31 +6304,27 @@ static PyObject *__pyx_pw_9countnans_23countnans_2d_float32_axis1(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9countnans_22countnans_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_9countnans_22countnans_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - float __pyx_v_fcnt; - int __pyx_v_count; + PyObject *__pyx_v_fcnt = NULL; + PyObject *__pyx_v_count = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_t_5; - Py_ssize_t __pyx_t_6; + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; @@ -6382,15 +6333,10 @@ static PyObject *__pyx_pf_9countnans_22countnans_2d_float32_axis1(CYTHON_UNUSED Py_ssize_t __pyx_t_12; Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; - Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_2d_float32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("countnans_2d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -6401,16 +6347,16 @@ static PyObject *__pyx_pf_9countnans_22countnans_2d_float32_axis1(CYTHON_UNUSED __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":453 + /* "countnans.pyx":465 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6419,282 +6365,306 @@ static PyObject *__pyx_pf_9countnans_22countnans_2d_float32_axis1(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":454 + /* "countnans.pyx":466 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":455 + /* "countnans.pyx":467 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * + * if weights is not None: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "countnans.pyx":456 - * cdef Py_ssize_t n0 = dim[0] + /* "countnans.pyx":469 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * + * if weights is not None: # <<<<<<<<<<<<<< + * if weights.shape[0] != (n0, n1): + * raise ValueError("shape of weights does not match the data") */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { - /* "countnans.pyx":457 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) + /* "countnans.pyx":470 * + * if weights is not None: + * if weights.shape[0] != (n0, n1): # <<<<<<<<<<<<<< + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyInt_From_Py_intptr_t((__pyx_v_weights->dimensions[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_4 = 0; + __pyx_t_5 = 0; + __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_t_6, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_2) { - /* "countnans.pyx":462 - * cdef float fcnt - * cdef int count - * if weights is not None: # <<<<<<<<<<<<<< + /* "countnans.pyx":471 + * if weights is not None: + * if weights.shape[0] != (n0, n1): + * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< + * fcnt = 0 * for i0 in range(n0): - * fcnt = 0 */ - __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_5 = (__pyx_t_4 != 0); - if (__pyx_t_5) { + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "countnans.pyx":463 - * cdef int count - * if weights is not None: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * fcnt = 0 + /* "countnans.pyx":472 + * if weights.shape[0] != (n0, n1): + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * for i1 in range(n1): */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_fcnt = __pyx_int_0; - /* "countnans.pyx":464 - * if weights is not None: - * for i0 in range(n0): - * fcnt = 0 # <<<<<<<<<<<<<< + /* "countnans.pyx":473 + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_fcnt = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "countnans.pyx":465 + /* "countnans.pyx":474 + * fcnt = 0 * for i0 in range(n0): - * fcnt = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "countnans.pyx":466 - * fcnt = 0 + /* "countnans.pyx":475 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: - * fcnt += weights[i1] + * fcnt += weights[i0, i1] */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":467 + /* "countnans.pyx":476 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i1] - * y[i0] = fcnt + * fcnt += weights[i0, i1] + * return fcnt */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":468 + /* "countnans.pyx":477 * ai = a[i0, i1] * if ai != ai: - * fcnt += weights[i1] # <<<<<<<<<<<<<< - * y[i0] = fcnt + * fcnt += weights[i0, i1] # <<<<<<<<<<<<<< + * return fcnt * else: */ - __pyx_t_12 = __pyx_v_i1; - __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); - goto __pyx_L8; + __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_i0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_i1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_5 = 0; + __pyx_t_6 = 0; + __pyx_t_6 = PyObject_GetItem(((PyObject *)__pyx_v_weights), __pyx_t_3); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_3); + __pyx_t_3 = 0; + goto __pyx_L9; } - __pyx_L8:; + __pyx_L9:; } + } - /* "countnans.pyx":469 + /* "countnans.pyx":478 * if ai != ai: - * fcnt += weights[i1] - * y[i0] = fcnt # <<<<<<<<<<<<<< + * fcnt += weights[i0, i1] + * return fcnt # <<<<<<<<<<<<<< * else: - * for i0 in range(n0): + * count = 0 */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; - } - goto __pyx_L3; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_fcnt); + __pyx_r = __pyx_v_fcnt; + goto __pyx_L0; } /*else*/ { - /* "countnans.pyx":471 - * y[i0] = fcnt + /* "countnans.pyx":480 + * return fcnt * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * count = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * for i1 in range(n1): */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_count = __pyx_int_0; - /* "countnans.pyx":472 + /* "countnans.pyx":481 * else: - * for i0 in range(n0): - * count = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_count = 0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "countnans.pyx":473 + /* "countnans.pyx":482 + * count = 0 * for i0 in range(n0): - * count = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { - __pyx_v_i1 = __pyx_t_13; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "countnans.pyx":474 - * count = 0 + /* "countnans.pyx":483 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: * count += 1 */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":475 + /* "countnans.pyx":484 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< * count += 1 - * y[i0] = count + * return count */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":476 + /* "countnans.pyx":485 * ai = a[i0, i1] * if ai != ai: * count += 1 # <<<<<<<<<<<<<< - * y[i0] = count - * return y + * return count + * @cython.boundscheck(False) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L13; + __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_3); + __pyx_t_3 = 0; + goto __pyx_L14; } - __pyx_L13:; + __pyx_L14:; } - - /* "countnans.pyx":477 - * if ai != ai: - * count += 1 - * y[i0] = count # <<<<<<<<<<<<<< - * return y - * @cython.boundscheck(False) - */ - __pyx_t_9 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; } - } - __pyx_L3:; - /* "countnans.pyx":478 + /* "countnans.pyx":486 + * if ai != ai: * count += 1 - * y[i0] = count - * return y # <<<<<<<<<<<<<< + * return count # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_count); + __pyx_r = __pyx_v_count; + goto __pyx_L0; + } - /* "countnans.pyx":447 + /* "countnans.pyx":459 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=1." + * "Count of nans in 2d array with dtype=float along axis=None." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_fcnt); + __Pyx_XDECREF(__pyx_v_count); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":481 +/* "countnans.pyx":489 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=0." + * "Count of nans in 2d array with dtype=float32 along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_25countnans_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_24countnans_2d_float64_axis0[] = "countnans_2d_float64_axis0(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_9countnans_25countnans_2d_float64_axis0 = {"countnans_2d_float64_axis0", (PyCFunction)__pyx_pw_9countnans_25countnans_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_24countnans_2d_float64_axis0}; -static PyObject *__pyx_pw_9countnans_25countnans_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_25countnans_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_24countnans_2d_float32_axisNone[] = "countnans_2d_float32_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float32 along axis=None."; +static PyMethodDef __pyx_mdef_9countnans_25countnans_2d_float32_axisNone = {"countnans_2d_float32_axisNone", (PyCFunction)__pyx_pw_9countnans_25countnans_2d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_24countnans_2d_float32_axisNone}; +static PyObject *__pyx_pw_9countnans_25countnans_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -6702,17 +6672,17 @@ static PyObject *__pyx_pw_9countnans_25countnans_2d_float64_axis0(PyObject *__py int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_2d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_2d_float32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":482 + /* "countnans.pyx":490 * @cython.wraparound(False) - * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, + * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 2d array with dtype=float64 along axis=0." - * cdef np.float64_t ai + * "Count of nans in 2d array with dtype=float32 along axis=None." + * cdef np.float32_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); if (unlikely(__pyx_kwds)) { @@ -6736,7 +6706,7 @@ static PyObject *__pyx_pw_9countnans_25countnans_2d_float64_axis0(PyObject *__py } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -6751,22 +6721,22 @@ static PyObject *__pyx_pw_9countnans_25countnans_2d_float64_axis0(PyObject *__py } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_2d_float64_axis0", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_2d_float32_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_24countnans_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_24countnans_2d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":481 + /* "countnans.pyx":489 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=0." + * "Count of nans in 2d array with dtype=float32 along axis=None." */ /* function exit code */ @@ -6778,31 +6748,27 @@ static PyObject *__pyx_pw_9countnans_25countnans_2d_float64_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9countnans_24countnans_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_9countnans_24countnans_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - float __pyx_v_fcnt; - int __pyx_v_count; + PyObject *__pyx_v_fcnt = NULL; + PyObject *__pyx_v_count = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_t_5; - Py_ssize_t __pyx_t_6; + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; @@ -6811,15 +6777,10 @@ static PyObject *__pyx_pf_9countnans_24countnans_2d_float64_axis0(CYTHON_UNUSED Py_ssize_t __pyx_t_12; Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; - Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_2d_float64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("countnans_2d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -6830,16 +6791,16 @@ static PyObject *__pyx_pf_9countnans_24countnans_2d_float64_axis0(CYTHON_UNUSED __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":487 + /* "countnans.pyx":495 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6848,282 +6809,306 @@ static PyObject *__pyx_pf_9countnans_24countnans_2d_float64_axis0(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":488 + /* "countnans.pyx":496 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":489 + /* "countnans.pyx":497 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * + * if weights is not None: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "countnans.pyx":490 - * cdef Py_ssize_t n0 = dim[0] + /* "countnans.pyx":499 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * + * if weights is not None: # <<<<<<<<<<<<<< + * if weights.shape[0] != (n0, n1): + * raise ValueError("shape of weights does not match the data") */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { - /* "countnans.pyx":491 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) + /* "countnans.pyx":500 * + * if weights is not None: + * if weights.shape[0] != (n0, n1): # <<<<<<<<<<<<<< + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyInt_From_Py_intptr_t((__pyx_v_weights->dimensions[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_4 = 0; + __pyx_t_5 = 0; + __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_t_6, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_2) { - /* "countnans.pyx":496 - * cdef float fcnt - * cdef int count - * if weights is not None: # <<<<<<<<<<<<<< - * for i1 in range(n1): - * fcnt = 0 + /* "countnans.pyx":501 + * if weights is not None: + * if weights.shape[0] != (n0, n1): + * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< + * fcnt = 0 + * for i0 in range(n0): */ - __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_5 = (__pyx_t_4 != 0); - if (__pyx_t_5) { + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "countnans.pyx":497 - * cdef int count - * if weights is not None: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * fcnt = 0 - * for i0 in range(n0): + /* "countnans.pyx":502 + * if weights.shape[0] != (n0, n1): + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_fcnt = __pyx_int_0; - /* "countnans.pyx":498 - * if weights is not None: - * for i1 in range(n1): - * fcnt = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "countnans.pyx":503 + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_fcnt = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "countnans.pyx":499 - * for i1 in range(n1): - * fcnt = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "countnans.pyx":504 + * fcnt = 0 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "countnans.pyx":500 - * fcnt = 0 - * for i0 in range(n0): + /* "countnans.pyx":505 + * for i0 in range(n0): + * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: - * fcnt += weights[i0] + * fcnt += weights[i0, i1] */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":501 - * for i0 in range(n0): + /* "countnans.pyx":506 + * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i0] - * y[i1] = fcnt + * fcnt += weights[i0, i1] + * return fcnt */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":502 + /* "countnans.pyx":507 * ai = a[i0, i1] * if ai != ai: - * fcnt += weights[i0] # <<<<<<<<<<<<<< - * y[i1] = fcnt + * fcnt += weights[i0, i1] # <<<<<<<<<<<<<< + * return fcnt * else: */ - __pyx_t_12 = __pyx_v_i0; - __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); - goto __pyx_L8; + __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_i0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_i1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_5 = 0; + __pyx_t_6 = 0; + __pyx_t_6 = PyObject_GetItem(((PyObject *)__pyx_v_weights), __pyx_t_3); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_3); + __pyx_t_3 = 0; + goto __pyx_L9; } - __pyx_L8:; + __pyx_L9:; } + } - /* "countnans.pyx":503 + /* "countnans.pyx":508 * if ai != ai: - * fcnt += weights[i0] - * y[i1] = fcnt # <<<<<<<<<<<<<< + * fcnt += weights[i0, i1] + * return fcnt # <<<<<<<<<<<<<< * else: - * for i1 in range(n1): + * count = 0 */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; - } - goto __pyx_L3; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_fcnt); + __pyx_r = __pyx_v_fcnt; + goto __pyx_L0; } /*else*/ { - /* "countnans.pyx":505 - * y[i1] = fcnt + /* "countnans.pyx":510 + * return fcnt * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_count = __pyx_int_0; - /* "countnans.pyx":506 + /* "countnans.pyx":511 * else: - * for i1 in range(n1): - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_count = 0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "countnans.pyx":507 - * for i1 in range(n1): - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "countnans.pyx":512 + * count = 0 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ - __pyx_t_9 = __pyx_v_n0; - for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { - __pyx_v_i0 = __pyx_t_13; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "countnans.pyx":508 - * count = 0 - * for i0 in range(n0): + /* "countnans.pyx":513 + * for i0 in range(n0): + * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: * count += 1 */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":509 - * for i0 in range(n0): + /* "countnans.pyx":514 + * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< * count += 1 - * y[i1] = count + * return count */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":510 + /* "countnans.pyx":515 * ai = a[i0, i1] * if ai != ai: * count += 1 # <<<<<<<<<<<<<< - * y[i1] = count - * return y + * return count + * @cython.boundscheck(False) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L13; + __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_3); + __pyx_t_3 = 0; + goto __pyx_L14; } - __pyx_L13:; + __pyx_L14:; } - - /* "countnans.pyx":511 - * if ai != ai: - * count += 1 - * y[i1] = count # <<<<<<<<<<<<<< - * return y - * @cython.boundscheck(False) - */ - __pyx_t_9 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; } - } - __pyx_L3:; - /* "countnans.pyx":512 + /* "countnans.pyx":516 + * if ai != ai: * count += 1 - * y[i1] = count - * return y # <<<<<<<<<<<<<< + * return count # <<<<<<<<<<<<<< * @cython.boundscheck(False) * @cython.wraparound(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_count); + __pyx_r = __pyx_v_count; + goto __pyx_L0; + } - /* "countnans.pyx":481 + /* "countnans.pyx":489 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=0." + * "Count of nans in 2d array with dtype=float32 along axis=None." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_fcnt); + __Pyx_XDECREF(__pyx_v_count); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "countnans.pyx":515 +/* "countnans.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=1." + * "Count of nans in 2d array with dtype=float64 along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_9countnans_27countnans_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_9countnans_26countnans_2d_float64_axis1[] = "countnans_2d_float64_axis1(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float64 along axis=1."; -static PyMethodDef __pyx_mdef_9countnans_27countnans_2d_float64_axis1 = {"countnans_2d_float64_axis1", (PyCFunction)__pyx_pw_9countnans_27countnans_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_26countnans_2d_float64_axis1}; -static PyObject *__pyx_pw_9countnans_27countnans_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_9countnans_27countnans_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9countnans_26countnans_2d_float64_axisNone[] = "countnans_2d_float64_axisNone(ndarray a, ndarray weights=None)\nCount of nans in 2d array with dtype=float64 along axis=None."; +static PyMethodDef __pyx_mdef_9countnans_27countnans_2d_float64_axisNone = {"countnans_2d_float64_axisNone", (PyCFunction)__pyx_pw_9countnans_27countnans_2d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9countnans_26countnans_2d_float64_axisNone}; +static PyObject *__pyx_pw_9countnans_27countnans_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_weights = 0; int __pyx_lineno = 0; @@ -7131,16 +7116,16 @@ static PyObject *__pyx_pw_9countnans_27countnans_2d_float64_axis1(PyObject *__py int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("countnans_2d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("countnans_2d_float64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_weights,0}; PyObject* values[2] = {0,0}; - /* "countnans.pyx":516 + /* "countnans.pyx":520 * @cython.wraparound(False) - * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, + * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, * np.ndarray[np.float64_t, ndim=1] weights=None): # <<<<<<<<<<<<<< - * "Count of nans in 2d array with dtype=float64 along axis=1." + * "Count of nans in 2d array with dtype=float64 along axis=None." * cdef np.float64_t ai */ values[1] = (PyObject *)((PyArrayObject *)Py_None); @@ -7165,7 +7150,7 @@ static PyObject *__pyx_pw_9countnans_27countnans_2d_float64_axis1(PyObject *__py } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "countnans_2d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -7180,22 +7165,22 @@ static PyObject *__pyx_pw_9countnans_27countnans_2d_float64_axis1(PyObject *__py } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("countnans_2d_float64_axis1", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("countnans_2d_float64_axisNone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("countnans.countnans_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9countnans_26countnans_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_weights); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_weights), __pyx_ptype_5numpy_ndarray, 1, "weights", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9countnans_26countnans_2d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_weights); - /* "countnans.pyx":515 + /* "countnans.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=1." + * "Count of nans in 2d array with dtype=float64 along axis=None." */ /* function exit code */ @@ -7207,31 +7192,27 @@ static PyObject *__pyx_pw_9countnans_27countnans_2d_float64_axis1(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9countnans_26countnans_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { +static PyObject *__pyx_pf_9countnans_26countnans_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_weights) { __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - float __pyx_v_fcnt; - int __pyx_v_count; + PyObject *__pyx_v_fcnt = NULL; + PyObject *__pyx_v_count = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_weights; __Pyx_Buffer __pyx_pybuffer_weights; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_t_5; - Py_ssize_t __pyx_t_6; + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; @@ -7240,15 +7221,10 @@ static PyObject *__pyx_pf_9countnans_26countnans_2d_float64_axis1(CYTHON_UNUSED Py_ssize_t __pyx_t_12; Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; - Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("countnans_2d_float64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("countnans_2d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -7259,16 +7235,16 @@ static PyObject *__pyx_pf_9countnans_26countnans_2d_float64_axis1(CYTHON_UNUSED __pyx_pybuffernd_weights.rcbuffer = &__pyx_pybuffer_weights; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_weights.rcbuffer->pybuffer, (PyObject*)__pyx_v_weights, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_weights.diminfo[0].strides = __pyx_pybuffernd_weights.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_weights.diminfo[0].shape = __pyx_pybuffernd_weights.rcbuffer->pybuffer.shape[0]; - /* "countnans.pyx":521 + /* "countnans.pyx":525 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7277,271 +7253,295 @@ static PyObject *__pyx_pf_9countnans_26countnans_2d_float64_axis1(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "countnans.pyx":522 + /* "countnans.pyx":526 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "countnans.pyx":523 + /* "countnans.pyx":527 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * + * if weights is not None: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "countnans.pyx":524 - * cdef Py_ssize_t n0 = dim[0] + /* "countnans.pyx":529 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * + * if weights is not None: # <<<<<<<<<<<<<< + * if weights.shape[0] != (n0, n1): + * raise ValueError("shape of weights does not match the data") */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((PyObject *)__pyx_v_weights) != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { - /* "countnans.pyx":525 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) + /* "countnans.pyx":530 * + * if weights is not None: + * if weights.shape[0] != (n0, n1): # <<<<<<<<<<<<<< + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyInt_From_Py_intptr_t((__pyx_v_weights->dimensions[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_4 = 0; + __pyx_t_5 = 0; + __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_t_6, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_2) { - /* "countnans.pyx":530 - * cdef float fcnt - * cdef int count - * if weights is not None: # <<<<<<<<<<<<<< + /* "countnans.pyx":531 + * if weights is not None: + * if weights.shape[0] != (n0, n1): + * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< + * fcnt = 0 * for i0 in range(n0): - * fcnt = 0 */ - __pyx_t_4 = (((PyObject *)__pyx_v_weights) != Py_None); - __pyx_t_5 = (__pyx_t_4 != 0); - if (__pyx_t_5) { + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "countnans.pyx":531 - * cdef int count - * if weights is not None: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * fcnt = 0 + /* "countnans.pyx":532 + * if weights.shape[0] != (n0, n1): + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * for i1 in range(n1): */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_fcnt = __pyx_int_0; - /* "countnans.pyx":532 - * if weights is not None: - * for i0 in range(n0): - * fcnt = 0 # <<<<<<<<<<<<<< + /* "countnans.pyx":533 + * raise ValueError("shape of weights does not match the data") + * fcnt = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_fcnt = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "countnans.pyx":533 + /* "countnans.pyx":534 + * fcnt = 0 * for i0 in range(n0): - * fcnt = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "countnans.pyx":534 - * fcnt = 0 + /* "countnans.pyx":535 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: - * fcnt += weights[i1] + * fcnt += weights[i0, i1] */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":535 + /* "countnans.pyx":536 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< - * fcnt += weights[i1] - * y[i0] = fcnt + * fcnt += weights[i0, i1] + * return fcnt */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":536 + /* "countnans.pyx":537 * ai = a[i0, i1] * if ai != ai: - * fcnt += weights[i1] # <<<<<<<<<<<<<< - * y[i0] = fcnt + * fcnt += weights[i0, i1] # <<<<<<<<<<<<<< + * return fcnt * else: */ - __pyx_t_12 = __pyx_v_i1; - __pyx_v_fcnt = (__pyx_v_fcnt + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_weights.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_weights.diminfo[0].strides))); - goto __pyx_L8; + __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_i0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_i1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_5 = 0; + __pyx_t_6 = 0; + __pyx_t_6 = PyObject_GetItem(((PyObject *)__pyx_v_weights), __pyx_t_3); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_fcnt, __pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF_SET(__pyx_v_fcnt, __pyx_t_3); + __pyx_t_3 = 0; + goto __pyx_L9; } - __pyx_L8:; + __pyx_L9:; } + } - /* "countnans.pyx":537 + /* "countnans.pyx":538 * if ai != ai: - * fcnt += weights[i1] - * y[i0] = fcnt # <<<<<<<<<<<<<< + * fcnt += weights[i0, i1] + * return fcnt # <<<<<<<<<<<<<< * else: - * for i0 in range(n0): + * count = 0 */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_fcnt; - } - goto __pyx_L3; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_fcnt); + __pyx_r = __pyx_v_fcnt; + goto __pyx_L0; } /*else*/ { - /* "countnans.pyx":539 - * y[i0] = fcnt + /* "countnans.pyx":540 + * return fcnt * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * count = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * for i1 in range(n1): */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __Pyx_INCREF(__pyx_int_0); + __pyx_v_count = __pyx_int_0; - /* "countnans.pyx":540 + /* "countnans.pyx":541 * else: - * for i0 in range(n0): - * count = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_count = 0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "countnans.pyx":541 + /* "countnans.pyx":542 + * count = 0 * for i0 in range(n0): - * count = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai != ai: */ __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_9; __pyx_t_13+=1) { - __pyx_v_i1 = __pyx_t_13; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "countnans.pyx":542 - * count = 0 + /* "countnans.pyx":543 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai != ai: * count += 1 */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "countnans.pyx":543 + /* "countnans.pyx":544 * for i1 in range(n1): * ai = a[i0, i1] * if ai != ai: # <<<<<<<<<<<<<< * count += 1 - * y[i0] = count + * return count */ - __pyx_t_5 = ((__pyx_v_ai != __pyx_v_ai) != 0); - if (__pyx_t_5) { + __pyx_t_2 = ((__pyx_v_ai != __pyx_v_ai) != 0); + if (__pyx_t_2) { - /* "countnans.pyx":544 + /* "countnans.pyx":545 * ai = a[i0, i1] * if ai != ai: * count += 1 # <<<<<<<<<<<<<< - * y[i0] = count - * return y + * return count + * cdef dict countnans_dict = {} */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L13; + __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_count, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_count, __pyx_t_3); + __pyx_t_3 = 0; + goto __pyx_L14; } - __pyx_L13:; + __pyx_L14:; } + } - /* "countnans.pyx":545 + /* "countnans.pyx":546 * if ai != ai: * count += 1 - * y[i0] = count # <<<<<<<<<<<<<< - * return y + * return count # <<<<<<<<<<<<<< * cdef dict countnans_dict = {} + * countnans_dict[(2, NPY_float, 0)] = countnans_2d_float_axis0 */ - __pyx_t_9 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_count; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_count); + __pyx_r = __pyx_v_count; + goto __pyx_L0; } - __pyx_L3:; - - /* "countnans.pyx":546 - * count += 1 - * y[i0] = count - * return y # <<<<<<<<<<<<<< - * cdef dict countnans_dict = {} - * countnans_dict[(1, NPY_float, 0)] = countnans_1d_float_axisNone - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - /* "countnans.pyx":515 + /* "countnans.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=1." + * "Count of nans in 2d array with dtype=float64 along axis=None." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("countnans.countnans_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("countnans.countnans_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_weights.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_fcnt); + __Pyx_XDECREF(__pyx_v_count); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "countnans.pyx":564 - * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 + * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone * * def countnans_slow_axis0(arr, weights): # <<<<<<<<<<<<<< * "Unaccelerated (slow) countnans along axis 0." @@ -7660,7 +7660,7 @@ static PyObject *__pyx_pf_9countnans_28countnans_slow_axis0(CYTHON_UNUSED PyObje goto __pyx_L0; /* "countnans.pyx":564 - * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 + * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone * * def countnans_slow_axis0(arr, weights): # <<<<<<<<<<<<<< * "Unaccelerated (slow) countnans along axis 0." @@ -12334,7 +12334,7 @@ static PyObject *__pyx_pf_9countnans_94countnans_slow_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -12384,7 +12384,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -12397,7 +12397,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -12406,7 +12406,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -12415,7 +12415,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -12424,7 +12424,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -12434,7 +12434,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -12446,7 +12446,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -12457,7 +12457,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12473,7 +12473,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12485,7 +12485,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -12499,7 +12499,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12515,7 +12515,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12527,7 +12527,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -12541,7 +12541,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -12550,7 +12550,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -12559,7 +12559,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -12569,7 +12569,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -12578,7 +12578,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -12587,7 +12587,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -12598,7 +12598,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -12607,7 +12607,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -12620,7 +12620,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -12629,7 +12629,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -12640,7 +12640,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -12649,7 +12649,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -12658,7 +12658,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -12667,7 +12667,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -12676,7 +12676,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -12688,7 +12688,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -12697,7 +12697,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -12717,7 +12717,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -12733,7 +12733,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -12748,7 +12748,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -12758,7 +12758,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -12768,7 +12768,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -12791,7 +12791,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -12811,7 +12811,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -12825,7 +12825,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -12834,7 +12834,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -12845,7 +12845,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -12856,7 +12856,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -12867,7 +12867,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -12878,7 +12878,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -12889,7 +12889,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -12900,7 +12900,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -12911,7 +12911,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -12922,7 +12922,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -12933,7 +12933,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -12944,7 +12944,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -12955,7 +12955,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -12966,7 +12966,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -12977,7 +12977,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -12988,7 +12988,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -12999,7 +12999,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -13010,7 +13010,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -13022,7 +13022,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -13048,7 +13048,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -13057,7 +13057,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -13069,7 +13069,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -13078,7 +13078,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -13087,7 +13087,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -13096,7 +13096,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -13106,7 +13106,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -13116,7 +13116,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -13148,7 +13148,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -13172,7 +13172,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -13182,7 +13182,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -13194,7 +13194,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -13204,7 +13204,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -13216,7 +13216,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -13228,7 +13228,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -13245,7 +13245,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -13259,7 +13259,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -13278,7 +13278,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -13295,7 +13295,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -13309,7 +13309,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -13328,7 +13328,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13345,7 +13345,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -13359,7 +13359,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13378,7 +13378,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13395,7 +13395,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -13409,7 +13409,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13428,7 +13428,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13445,7 +13445,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -13459,7 +13459,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13478,7 +13478,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -13510,7 +13510,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -13519,7 +13519,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -13528,7 +13528,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -13550,7 +13550,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -13563,7 +13563,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -13602,7 +13602,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -13619,7 +13619,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -13633,7 +13633,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -13656,7 +13656,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -13676,7 +13676,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -13690,7 +13690,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -13706,7 +13706,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -13715,7 +13715,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -13724,7 +13724,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -13735,7 +13735,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -13745,7 +13745,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -13755,7 +13755,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -13767,7 +13767,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -13777,7 +13777,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -13791,7 +13791,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -13809,7 +13809,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -13827,7 +13827,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -13845,7 +13845,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -13863,7 +13863,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -13881,7 +13881,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -13899,7 +13899,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -13917,7 +13917,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -13935,7 +13935,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -13953,7 +13953,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -13971,7 +13971,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -13989,7 +13989,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -14007,7 +14007,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -14025,7 +14025,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -14045,7 +14045,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -14065,7 +14065,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -14085,7 +14085,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -14104,7 +14104,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -14127,7 +14127,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -14139,7 +14139,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -14151,7 +14151,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -14161,7 +14161,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -14171,7 +14171,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -14196,7 +14196,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -14211,7 +14211,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -14222,7 +14222,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -14234,7 +14234,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -14243,7 +14243,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -14254,7 +14254,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -14263,7 +14263,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -14272,7 +14272,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -14284,7 +14284,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14298,7 +14298,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -14308,7 +14308,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -14322,7 +14322,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -14333,7 +14333,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14371,7 +14371,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_u_Count_the_undefined_elements_al, __pyx_k_Count_the_undefined_elements_al, sizeof(__pyx_k_Count_the_undefined_elements_al), 0, 1, 0, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, @@ -14384,6 +14383,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__13, __pyx_k__13, sizeof(__pyx_k__13), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -14492,7 +14492,7 @@ static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; @@ -14502,73 +14502,73 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "countnans.pyx":185 + /* "countnans.pyx":389 * if weights is not None: * if weights.ndim != 1 or weights.shape[0] != n0: * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< * fcnt = 0 * for i0 in range(n0): */ - __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "countnans.pyx":212 + /* "countnans.pyx":416 * if weights is not None: * if weights.ndim != 1 or weights.shape[0] != n0: * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< * fcnt = 0 * for i0 in range(n0): */ - __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "countnans.pyx":239 + /* "countnans.pyx":443 * if weights is not None: * if weights.ndim != 1 or weights.shape[0] != n0: * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< * fcnt = 0 * for i0 in range(n0): */ - __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "countnans.pyx":267 + /* "countnans.pyx":471 * if weights is not None: * if weights.shape[0] != (n0, n1): * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< * fcnt = 0 * for i0 in range(n0): */ - __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "countnans.pyx":297 + /* "countnans.pyx":501 * if weights is not None: * if weights.shape[0] != (n0, n1): * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< * fcnt = 0 * for i0 in range(n0): */ - __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "countnans.pyx":327 + /* "countnans.pyx":531 * if weights is not None: * if weights.shape[0] != (n0, n1): * raise ValueError("shape of weights does not match the data") # <<<<<<<<<<<<<< * fcnt = 0 * for i0 in range(n0): */ - __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_shape_of_weights_does_not_match); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -14579,7 +14579,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -14590,7 +14590,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14601,7 +14601,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -14612,7 +14612,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14623,7 +14623,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -14655,7 +14655,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__15 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":109 * return func(arr, weights) @@ -14667,154 +14667,154 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__17 = PyTuple_Pack(9, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_selector, 109, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_selector, 109, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":174 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float along axis=0." */ - __pyx_tuple__19 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_1d_float_axisNone, 174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_2d_float_axis0, 174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":201 + /* "countnans.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float32 along axis=None." + * "Count of nans in 2d array with dtype=float along axis=1." */ - __pyx_tuple__21 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_1d_float32_axisNone, 201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_2d_float_axis1, 208, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":228 + /* "countnans.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float32 along axis=0." */ - __pyx_tuple__23 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_1d_float64_axisNone, 228, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_2d_float32_axis0, 242, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":255 + /* "countnans.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float32 along axis=1." */ - __pyx_tuple__25 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_2d_float_axisNone, 255, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_2d_float32_axis1, 276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":285 + /* "countnans.pyx":310 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=0." */ - __pyx_tuple__27 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_2d_float32_axisNone, 285, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_2d_float64_axis0, 310, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":315 + /* "countnans.pyx":344 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=1." */ - __pyx_tuple__29 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_2d_float64_axisNone, 315, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_2d_float64_axis1, 344, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":345 + /* "countnans.pyx":378 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=0." + * "Count of nans in 1d array with dtype=float along axis=None." */ - __pyx_tuple__31 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_2d_float_axis0, 345, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_1d_float_axisNone, 378, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":379 + /* "countnans.pyx":405 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=1." + * "Count of nans in 1d array with dtype=float32 along axis=None." */ - __pyx_tuple__33 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_2d_float_axis1, 379, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_1d_float32_axisNone, 405, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":413 + /* "countnans.pyx":432 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=0." + * "Count of nans in 1d array with dtype=float64 along axis=None." */ - __pyx_tuple__35 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_2d_float32_axis0, 413, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_1d_float64_axisNone, 432, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":447 + /* "countnans.pyx":459 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=1." + * "Count of nans in 2d array with dtype=float along axis=None." */ - __pyx_tuple__37 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_2d_float32_axis1, 447, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_2d_float_axisNone, 459, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":481 + /* "countnans.pyx":489 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=0." + * "Count of nans in 2d array with dtype=float32 along axis=None." */ - __pyx_tuple__39 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_2d_float64_axis0, 481, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_2d_float32_axisNone, 489, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "countnans.pyx":515 + /* "countnans.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=1." + * "Count of nans in 2d array with dtype=float64 along axis=None." */ - __pyx_tuple__41 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_weights, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_fcnt, __pyx_n_s_count); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_2d_float64_axis1, 515, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_2d_float64_axisNone, 519, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":564 - * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 + * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone * * def countnans_slow_axis0(arr, weights): # <<<<<<<<<<<<<< * "Unaccelerated (slow) countnans along axis 0." @@ -14823,7 +14823,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__43 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis0, 564, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis0, 564, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":568 * return bn.slow.countnans(arr, weights, axis=0) @@ -14835,7 +14835,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__45 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis1, 568, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis1, 568, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":572 * return bn.slow.countnans(arr, weights, axis=1) @@ -14847,7 +14847,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__47 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis2, 572, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis2, 572, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":576 * return bn.slow.countnans(arr, weights, axis=2) @@ -14859,7 +14859,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__49 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis3, 576, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis3, 576, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":580 * return bn.slow.countnans(arr, weights, axis=3) @@ -14871,7 +14871,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__51 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis4, 580, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis4, 580, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":584 * return bn.slow.countnans(arr, weights, axis=4) @@ -14883,7 +14883,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__53 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis5, 584, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis5, 584, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":588 * return bn.slow.countnans(arr, weights, axis=5) @@ -14895,7 +14895,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__55 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis6, 588, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis6, 588, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":592 * return bn.slow.countnans(arr, weights, axis=6) @@ -14907,7 +14907,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__57 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis7, 592, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis7, 592, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":596 * return bn.slow.countnans(arr, weights, axis=7) @@ -14919,7 +14919,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__59 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis8, 596, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis8, 596, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":600 * return bn.slow.countnans(arr, weights, axis=8) @@ -14931,7 +14931,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__61 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis9, 600, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis9, 600, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":604 * return bn.slow.countnans(arr, weights, axis=9) @@ -14943,7 +14943,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__63 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis10, 604, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis10, 604, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":608 * return bn.slow.countnans(arr, weights, axis=10) @@ -14955,7 +14955,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__65 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis11, 608, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis11, 608, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":612 * return bn.slow.countnans(arr, weights, axis=11) @@ -14967,7 +14967,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__67 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis12, 612, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis12, 612, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":616 * return bn.slow.countnans(arr, weights, axis=12) @@ -14979,7 +14979,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis13, 616, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis13, 616, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":620 * return bn.slow.countnans(arr, weights, axis=13) @@ -14991,7 +14991,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis14, 620, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis14, 620, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":624 * return bn.slow.countnans(arr, weights, axis=14) @@ -15003,7 +15003,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis15, 624, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis15, 624, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":628 * return bn.slow.countnans(arr, weights, axis=15) @@ -15015,7 +15015,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis16, 628, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis16, 628, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":632 * return bn.slow.countnans(arr, weights, axis=16) @@ -15027,7 +15027,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis17, 632, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis17, 632, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":636 * return bn.slow.countnans(arr, weights, axis=17) @@ -15039,7 +15039,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis18, 636, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis18, 636, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":640 * return bn.slow.countnans(arr, weights, axis=18) @@ -15051,7 +15051,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis19, 640, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis19, 640, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":644 * return bn.slow.countnans(arr, weights, axis=19) @@ -15063,7 +15063,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis20, 644, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis20, 644, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":648 * return bn.slow.countnans(arr, weights, axis=20) @@ -15075,7 +15075,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis21, 648, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis21, 648, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":652 * return bn.slow.countnans(arr, weights, axis=21) @@ -15087,7 +15087,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis22, 652, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis22, 652, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":656 * return bn.slow.countnans(arr, weights, axis=22) @@ -15099,7 +15099,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis23, 656, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis23, 656, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":660 * return bn.slow.countnans(arr, weights, axis=23) @@ -15111,7 +15111,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis24, 660, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis24, 660, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":664 * return bn.slow.countnans(arr, weights, axis=24) @@ -15123,7 +15123,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis25, 664, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis25, 664, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":668 * return bn.slow.countnans(arr, weights, axis=25) @@ -15135,7 +15135,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis26, 668, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis26, 668, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":672 * return bn.slow.countnans(arr, weights, axis=26) @@ -15147,7 +15147,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis27, 672, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis27, 672, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":676 * return bn.slow.countnans(arr, weights, axis=27) @@ -15159,7 +15159,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis28, 676, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis28, 676, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":680 * return bn.slow.countnans(arr, weights, axis=28) @@ -15171,7 +15171,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis29, 680, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis29, 680, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":684 * return bn.slow.countnans(arr, weights, axis=29) @@ -15183,7 +15183,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis30, 684, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis30, 684, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":688 * return bn.slow.countnans(arr, weights, axis=30) @@ -15195,7 +15195,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis31, 688, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis31, 688, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":692 * return bn.slow.countnans(arr, weights, axis=31) @@ -15207,7 +15207,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axis32, 692, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axis32, 692, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "countnans.pyx":696 * return bn.slow.countnans(arr, weights, axis=32) @@ -15219,7 +15219,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_weights); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_countnans_slow_axisNone, 696, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_countnans_slow_axisNone, 696, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -16185,153 +16185,153 @@ PyMODINIT_FUNC PyInit_countnans(void) /* "countnans.pyx":174 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float along axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_5countnans_1d_float_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_5countnans_2d_float_axis0, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":201 + /* "countnans.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float32 along axis=None." + * "Count of nans in 2d array with dtype=float along axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_7countnans_1d_float32_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_7countnans_2d_float_axis1, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":228 + /* "countnans.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 1d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float32 along axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_9countnans_1d_float64_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_9countnans_2d_float32_axis0, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":255 + /* "countnans.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=None." + * "Count of nans in 2d array with dtype=float32 along axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_11countnans_2d_float_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_11countnans_2d_float32_axis1, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":285 + /* "countnans.pyx":310 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_13countnans_2d_float32_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_13countnans_2d_float64_axis0, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":315 + /* "countnans.pyx":344 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=None." + * "Count of nans in 2d array with dtype=float64 along axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_15countnans_2d_float64_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_15countnans_2d_float64_axis1, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":345 + /* "countnans.pyx":378 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=0." + * "Count of nans in 1d array with dtype=float along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_17countnans_2d_float_axis0, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_17countnans_1d_float_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":379 + /* "countnans.pyx":405 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float along axis=1." + * "Count of nans in 1d array with dtype=float32 along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_19countnans_2d_float_axis1, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_19countnans_1d_float32_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":413 + /* "countnans.pyx":432 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=0." + * "Count of nans in 1d array with dtype=float64 along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_21countnans_2d_float32_axis0, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_21countnans_1d_float64_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":447 + /* "countnans.pyx":459 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float32 along axis=1." + * "Count of nans in 2d array with dtype=float along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_23countnans_2d_float32_axis1, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_23countnans_2d_float_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":481 + /* "countnans.pyx":489 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=0." + * "Count of nans in 2d array with dtype=float32 along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_25countnans_2d_float64_axis0, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_25countnans_2d_float32_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "countnans.pyx":515 + /* "countnans.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def countnans_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * def countnans_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] weights=None): - * "Count of nans in 2d array with dtype=float64 along axis=1." + * "Count of nans in 2d array with dtype=float64 along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_27countnans_2d_float64_axis1, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9countnans_27countnans_2d_float64_axisNone, NULL, __pyx_n_s_countnans); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_countnans_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":547 - * y[i0] = count - * return y + * count += 1 + * return count * cdef dict countnans_dict = {} # <<<<<<<<<<<<<< - * countnans_dict[(1, NPY_float, 0)] = countnans_1d_float_axisNone - * countnans_dict[(1, NPY_float, None)] = countnans_1d_float_axisNone + * countnans_dict[(2, NPY_float, 0)] = countnans_2d_float_axis0 + * countnans_dict[(2, NPY_float, 1)] = countnans_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -16341,13 +16341,13 @@ PyMODINIT_FUNC PyInit_countnans(void) __pyx_t_2 = 0; /* "countnans.pyx":548 - * return y + * return count * cdef dict countnans_dict = {} - * countnans_dict[(1, NPY_float, 0)] = countnans_1d_float_axisNone # <<<<<<<<<<<<<< - * countnans_dict[(1, NPY_float, None)] = countnans_1d_float_axisNone - * countnans_dict[(1, NPY_float32, 0)] = countnans_1d_float32_axisNone + * countnans_dict[(2, NPY_float, 0)] = countnans_2d_float_axis0 # <<<<<<<<<<<<<< + * countnans_dict[(2, NPY_float, 1)] = countnans_2d_float_axis1 + * countnans_dict[(2, NPY_float32, 0)] = countnans_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -16357,9 +16357,9 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -16369,15 +16369,15 @@ PyMODINIT_FUNC PyInit_countnans(void) if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "countnans.pyx":549 - * cdef dict countnans_dict = {} - * countnans_dict[(1, NPY_float, 0)] = countnans_1d_float_axisNone - * countnans_dict[(1, NPY_float, None)] = countnans_1d_float_axisNone # <<<<<<<<<<<<<< - * countnans_dict[(1, NPY_float32, 0)] = countnans_1d_float32_axisNone - * countnans_dict[(1, NPY_float32, None)] = countnans_1d_float32_axisNone + + /* "countnans.pyx":549 + * cdef dict countnans_dict = {} + * countnans_dict[(2, NPY_float, 0)] = countnans_2d_float_axis0 + * countnans_dict[(2, NPY_float, 1)] = countnans_2d_float_axis1 # <<<<<<<<<<<<<< + * countnans_dict[(2, NPY_float32, 0)] = countnans_2d_float32_axis0 + * countnans_dict[(2, NPY_float32, 1)] = countnans_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -16387,27 +16387,27 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":550 - * countnans_dict[(1, NPY_float, 0)] = countnans_1d_float_axisNone - * countnans_dict[(1, NPY_float, None)] = countnans_1d_float_axisNone - * countnans_dict[(1, NPY_float32, 0)] = countnans_1d_float32_axisNone # <<<<<<<<<<<<<< - * countnans_dict[(1, NPY_float32, None)] = countnans_1d_float32_axisNone - * countnans_dict[(1, NPY_float64, 0)] = countnans_1d_float64_axisNone + * countnans_dict[(2, NPY_float, 0)] = countnans_2d_float_axis0 + * countnans_dict[(2, NPY_float, 1)] = countnans_2d_float_axis1 + * countnans_dict[(2, NPY_float32, 0)] = countnans_2d_float32_axis0 # <<<<<<<<<<<<<< + * countnans_dict[(2, NPY_float32, 1)] = countnans_2d_float32_axis1 + * countnans_dict[(2, NPY_float64, 0)] = countnans_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -16417,9 +16417,9 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -16431,13 +16431,13 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":551 - * countnans_dict[(1, NPY_float, None)] = countnans_1d_float_axisNone - * countnans_dict[(1, NPY_float32, 0)] = countnans_1d_float32_axisNone - * countnans_dict[(1, NPY_float32, None)] = countnans_1d_float32_axisNone # <<<<<<<<<<<<<< - * countnans_dict[(1, NPY_float64, 0)] = countnans_1d_float64_axisNone - * countnans_dict[(1, NPY_float64, None)] = countnans_1d_float64_axisNone + * countnans_dict[(2, NPY_float, 1)] = countnans_2d_float_axis1 + * countnans_dict[(2, NPY_float32, 0)] = countnans_2d_float32_axis0 + * countnans_dict[(2, NPY_float32, 1)] = countnans_2d_float32_axis1 # <<<<<<<<<<<<<< + * countnans_dict[(2, NPY_float64, 0)] = countnans_2d_float64_axis0 + * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -16447,27 +16447,27 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":552 - * countnans_dict[(1, NPY_float32, 0)] = countnans_1d_float32_axisNone - * countnans_dict[(1, NPY_float32, None)] = countnans_1d_float32_axisNone - * countnans_dict[(1, NPY_float64, 0)] = countnans_1d_float64_axisNone # <<<<<<<<<<<<<< - * countnans_dict[(1, NPY_float64, None)] = countnans_1d_float64_axisNone - * countnans_dict[(2, NPY_float, None)] = countnans_2d_float_axisNone + * countnans_dict[(2, NPY_float32, 0)] = countnans_2d_float32_axis0 + * countnans_dict[(2, NPY_float32, 1)] = countnans_2d_float32_axis1 + * countnans_dict[(2, NPY_float64, 0)] = countnans_2d_float64_axis0 # <<<<<<<<<<<<<< + * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 + * countnans_dict[(1, NPY_float, 0)] = countnans_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -16477,9 +16477,9 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -16491,13 +16491,13 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":553 - * countnans_dict[(1, NPY_float32, None)] = countnans_1d_float32_axisNone - * countnans_dict[(1, NPY_float64, 0)] = countnans_1d_float64_axisNone - * countnans_dict[(1, NPY_float64, None)] = countnans_1d_float64_axisNone # <<<<<<<<<<<<<< - * countnans_dict[(2, NPY_float, None)] = countnans_2d_float_axisNone - * countnans_dict[(2, NPY_float32, None)] = countnans_2d_float32_axisNone + * countnans_dict[(2, NPY_float32, 1)] = countnans_2d_float32_axis1 + * countnans_dict[(2, NPY_float64, 0)] = countnans_2d_float64_axis0 + * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 # <<<<<<<<<<<<<< + * countnans_dict[(1, NPY_float, 0)] = countnans_1d_float_axisNone + * countnans_dict[(1, NPY_float, None)] = countnans_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -16507,27 +16507,27 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":554 - * countnans_dict[(1, NPY_float64, 0)] = countnans_1d_float64_axisNone - * countnans_dict[(1, NPY_float64, None)] = countnans_1d_float64_axisNone - * countnans_dict[(2, NPY_float, None)] = countnans_2d_float_axisNone # <<<<<<<<<<<<<< - * countnans_dict[(2, NPY_float32, None)] = countnans_2d_float32_axisNone - * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone + * countnans_dict[(2, NPY_float64, 0)] = countnans_2d_float64_axis0 + * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 + * countnans_dict[(1, NPY_float, 0)] = countnans_1d_float_axisNone # <<<<<<<<<<<<<< + * countnans_dict[(1, NPY_float, None)] = countnans_1d_float_axisNone + * countnans_dict[(1, NPY_float32, 0)] = countnans_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -16537,39 +16537,39 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":555 - * countnans_dict[(1, NPY_float64, None)] = countnans_1d_float64_axisNone - * countnans_dict[(2, NPY_float, None)] = countnans_2d_float_axisNone - * countnans_dict[(2, NPY_float32, None)] = countnans_2d_float32_axisNone # <<<<<<<<<<<<<< - * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone - * countnans_dict[(2, NPY_float, 0)] = countnans_2d_float_axis0 + * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 + * countnans_dict[(1, NPY_float, 0)] = countnans_1d_float_axisNone + * countnans_dict[(1, NPY_float, None)] = countnans_1d_float_axisNone # <<<<<<<<<<<<<< + * countnans_dict[(1, NPY_float32, 0)] = countnans_1d_float32_axisNone + * countnans_dict[(1, NPY_float32, None)] = countnans_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -16581,139 +16581,139 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":556 - * countnans_dict[(2, NPY_float, None)] = countnans_2d_float_axisNone - * countnans_dict[(2, NPY_float32, None)] = countnans_2d_float32_axisNone - * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone # <<<<<<<<<<<<<< - * countnans_dict[(2, NPY_float, 0)] = countnans_2d_float_axis0 - * countnans_dict[(2, NPY_float, 1)] = countnans_2d_float_axis1 + * countnans_dict[(1, NPY_float, 0)] = countnans_1d_float_axisNone + * countnans_dict[(1, NPY_float, None)] = countnans_1d_float_axisNone + * countnans_dict[(1, NPY_float32, 0)] = countnans_1d_float32_axisNone # <<<<<<<<<<<<<< + * countnans_dict[(1, NPY_float32, None)] = countnans_1d_float32_axisNone + * countnans_dict[(1, NPY_float64, 0)] = countnans_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":557 - * countnans_dict[(2, NPY_float32, None)] = countnans_2d_float32_axisNone - * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone - * countnans_dict[(2, NPY_float, 0)] = countnans_2d_float_axis0 # <<<<<<<<<<<<<< - * countnans_dict[(2, NPY_float, 1)] = countnans_2d_float_axis1 - * countnans_dict[(2, NPY_float32, 0)] = countnans_2d_float32_axis0 + * countnans_dict[(1, NPY_float, None)] = countnans_1d_float_axisNone + * countnans_dict[(1, NPY_float32, 0)] = countnans_1d_float32_axisNone + * countnans_dict[(1, NPY_float32, None)] = countnans_1d_float32_axisNone # <<<<<<<<<<<<<< + * countnans_dict[(1, NPY_float64, 0)] = countnans_1d_float64_axisNone + * countnans_dict[(1, NPY_float64, None)] = countnans_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":558 - * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone - * countnans_dict[(2, NPY_float, 0)] = countnans_2d_float_axis0 - * countnans_dict[(2, NPY_float, 1)] = countnans_2d_float_axis1 # <<<<<<<<<<<<<< - * countnans_dict[(2, NPY_float32, 0)] = countnans_2d_float32_axis0 - * countnans_dict[(2, NPY_float32, 1)] = countnans_2d_float32_axis1 + * countnans_dict[(1, NPY_float32, 0)] = countnans_1d_float32_axisNone + * countnans_dict[(1, NPY_float32, None)] = countnans_1d_float32_axisNone + * countnans_dict[(1, NPY_float64, 0)] = countnans_1d_float64_axisNone # <<<<<<<<<<<<<< + * countnans_dict[(1, NPY_float64, None)] = countnans_1d_float64_axisNone + * countnans_dict[(2, NPY_float, None)] = countnans_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":559 - * countnans_dict[(2, NPY_float, 0)] = countnans_2d_float_axis0 - * countnans_dict[(2, NPY_float, 1)] = countnans_2d_float_axis1 - * countnans_dict[(2, NPY_float32, 0)] = countnans_2d_float32_axis0 # <<<<<<<<<<<<<< - * countnans_dict[(2, NPY_float32, 1)] = countnans_2d_float32_axis1 - * countnans_dict[(2, NPY_float64, 0)] = countnans_2d_float64_axis0 + * countnans_dict[(1, NPY_float32, None)] = countnans_1d_float32_axisNone + * countnans_dict[(1, NPY_float64, 0)] = countnans_1d_float64_axisNone + * countnans_dict[(1, NPY_float64, None)] = countnans_1d_float64_axisNone # <<<<<<<<<<<<<< + * countnans_dict[(2, NPY_float, None)] = countnans_2d_float_axisNone + * countnans_dict[(2, NPY_float32, None)] = countnans_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":560 - * countnans_dict[(2, NPY_float, 1)] = countnans_2d_float_axis1 - * countnans_dict[(2, NPY_float32, 0)] = countnans_2d_float32_axis0 - * countnans_dict[(2, NPY_float32, 1)] = countnans_2d_float32_axis1 # <<<<<<<<<<<<<< - * countnans_dict[(2, NPY_float64, 0)] = countnans_2d_float64_axis0 - * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 + * countnans_dict[(1, NPY_float64, 0)] = countnans_1d_float64_axisNone + * countnans_dict[(1, NPY_float64, None)] = countnans_1d_float64_axisNone + * countnans_dict[(2, NPY_float, None)] = countnans_2d_float_axisNone # <<<<<<<<<<<<<< + * countnans_dict[(2, NPY_float32, None)] = countnans_2d_float32_axisNone + * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16722,28 +16722,28 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":561 - * countnans_dict[(2, NPY_float32, 0)] = countnans_2d_float32_axis0 - * countnans_dict[(2, NPY_float32, 1)] = countnans_2d_float32_axis1 - * countnans_dict[(2, NPY_float64, 0)] = countnans_2d_float64_axis0 # <<<<<<<<<<<<<< - * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 + * countnans_dict[(1, NPY_float64, None)] = countnans_1d_float64_axisNone + * countnans_dict[(2, NPY_float, None)] = countnans_2d_float_axisNone + * countnans_dict[(2, NPY_float32, None)] = countnans_2d_float32_axisNone # <<<<<<<<<<<<<< + * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16752,22 +16752,22 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":562 - * countnans_dict[(2, NPY_float32, 1)] = countnans_2d_float32_axis1 - * countnans_dict[(2, NPY_float64, 0)] = countnans_2d_float64_axis0 - * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 # <<<<<<<<<<<<<< + * countnans_dict[(2, NPY_float, None)] = countnans_2d_float_axisNone + * countnans_dict[(2, NPY_float32, None)] = countnans_2d_float32_axisNone + * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone # <<<<<<<<<<<<<< * * def countnans_slow_axis0(arr, weights): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_countnans_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9countnans_countnans_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -16782,16 +16782,16 @@ PyMODINIT_FUNC PyInit_countnans(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9countnans_countnans_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "countnans.pyx":564 - * countnans_dict[(2, NPY_float64, 1)] = countnans_2d_float64_axis1 + * countnans_dict[(2, NPY_float64, None)] = countnans_2d_float64_axisNone * * def countnans_slow_axis0(arr, weights): # <<<<<<<<<<<<<< * "Unaccelerated (slow) countnans along axis 0." @@ -17764,7 +17764,7 @@ PyMODINIT_FUNC PyInit_countnans(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/median.c b/bottlechest/src/func/64bit/median.c index 418ce16e4b..67b8aa6967 100644 --- a/bottlechest/src/func/64bit/median.c +++ b/bottlechest/src/func/64bit/median.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1118,13 +1118,13 @@ static PyObject *__pyx_v_6median_median_dict = 0; static PyObject *__pyx_v_6median_median_slow_dict = 0; static PyObject *__pyx_v_6median_nanmedian_dict = 0; static PyObject *__pyx_v_6median_nanmedian_slow_dict = 0; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "median" int __pyx_module_is_main_median = 0; @@ -1136,27 +1136,27 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_6median_median(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_6median_2median_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_10median_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_22median_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_24median_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_26median_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_30median_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_32median_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_4median_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_6median_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_8median_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_10median_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_12median_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_14median_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_16median_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_18median_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_20median_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_22median_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_24median_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_26median_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_28median_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_30median_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_32median_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_34median_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_36median_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_38median_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_40median_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_42median_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6median_44median_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_6median_46median_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6median_48median_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6median_50median_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1426,16 +1426,15 @@ static char __pyx_k_Median_of_array_elements_along[] = "\n Median of array el static char __pyx_k_Return_median_function_and_arra[] = "\n Return median function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.median() is in checking that `axis` is within range, converting `arr`\n into an array (if it is not already an array), and selecting the function\n to use to calculate the mean.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the median is to be computed.\n \n Returns\n -------\n func : function\n The median function that matches the number of dimensions and dtype\n of the input array and the axis along which you wish to find the\n median.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine the median of `arr` along axis=0:\n\n >>> func, a = bn.func.median_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the median:\n\n >>> func(a)\n 2.0\n\n "; static char __pyx_k_Return_nanmedian_function_and_a[] = "\n Return nanmedian function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.nanmedian() is in checking that `axis` is within range, converting `arr`\n into an array (if it is not already an array), and selecting the function\n to use to calculate the mean.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the median is to be computed.\n \n Returns\n -------\n func : function\n The nanmedian function that matches the number of dimensions and dtype\n of the input array and the axis along which you wish to find the\n median.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine the median of `arr` along axis=0:\n\n >>> func, a = bn.func.nanmedian_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the median:\n\n >>> func(a)\n 2.0\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/median.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\median.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Median_of_array_elements_along_2[] = "\n Median of array elements along given axis ignoring NaNs.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}, optional\n Axis along which the median is computed. The default (axis=None) is to\n compute the median of the flattened array.\n\n Returns\n -------\n y : ndarray\n An array with the same shape as `arr`, except that the specified axis\n has been removed. If `arr` is a 0d array, or if axis is None, a scalar\n is returned. `float64` return values are used for integer inputs. \n \n See also\n --------\n bottlechest.median: Median along specified axis. \n\n Examples\n --------\n >>> a = np.array([[np.nan, 7, 4], [3, 2, 1]])\n >>> a \n array([[ nan, 7., 4.],\n [ 3., 2., 1.]])\n >>> bn.nanmedian(a)\n 3.0\n >> bn.nanmedian(a, axis=0)\n array([ 3. , 4.5, 2.5])\n >> bn.nanmedian(a, axis=1)\n array([ 5.5, 2. ])\n \n "; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1451,6 +1450,7 @@ static PyObject *__pyx_kp_u_Return_nanmedian_function_and_a; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__7; static PyObject *__pyx_n_s_a; @@ -2702,24 +2702,24 @@ static PyObject *__pyx_pf_6median_2median_selector(CYTHON_UNUSED PyObject *__pyx /* "median.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int along axis=0." + * def median_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_5median_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_4median_1d_int_axis0[] = "median_1d_int_axis0(ndarray a)\nMedian of 1d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_6median_5median_1d_int_axis0 = {"median_1d_int_axis0", (PyCFunction)__pyx_pw_6median_5median_1d_int_axis0, METH_O, __pyx_doc_6median_4median_1d_int_axis0}; -static PyObject *__pyx_pw_6median_5median_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_5median_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_4median_1d_float_axis0[] = "median_1d_float_axis0(ndarray a)\nMedian of 1d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_6median_5median_1d_float_axis0 = {"median_1d_float_axis0", (PyCFunction)__pyx_pw_6median_5median_1d_float_axis0, METH_O, __pyx_doc_6median_4median_1d_float_axis0}; +static PyObject *__pyx_pw_6median_5median_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_1d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_1d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_4median_1d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_4median_1d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2730,16 +2730,16 @@ static PyObject *__pyx_pw_6median_5median_1d_int_axis0(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_4median_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; - __pyx_t_5numpy_int_t __pyx_v_amax; - __pyx_t_5numpy_int_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_amax; + __pyx_t_5numpy_float_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -2769,7 +2769,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_1d_int_axis0", 0); + __Pyx_RefNannySetupContext("median_1d_float_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -2780,23 +2780,23 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "median.pyx":210 - * def median_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): - * "Median of 1d array with dtype=int along axis=0." + * def median_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): + * "Median of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp, amax, ai - * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float_t x, tmp, amax, ai + * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":212 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int_t x, tmp, amax, ai - * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float_t x, tmp, amax, ai + * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ @@ -2806,7 +2806,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; @@ -2830,7 +2830,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * if n0 == 0: - * return np.float64(NAN) + * return np.float(NAN) */ __pyx_v_n0 = (__pyx_v_dim[0]); @@ -2838,7 +2838,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) + * return np.float(NAN) * k = n0 >> 1 */ __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); @@ -2847,14 +2847,14 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ /* "median.pyx":218 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * return np.float(NAN) # <<<<<<<<<<<<<< * k = n0 >> 1 * l = 0 */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -2892,7 +2892,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ /* "median.pyx":219 * if n0 == 0: - * return np.float64(NAN) + * return np.float(NAN) * k = n0 >> 1 # <<<<<<<<<<<<<< * l = 0 * r = n0 - 1 @@ -2900,7 +2900,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_v_k = (__pyx_v_n0 >> 1); /* "median.pyx":220 - * return np.float64(NAN) + * return np.float(NAN) * k = n0 >> 1 * l = 0 # <<<<<<<<<<<<<< * r = n0 - 1 @@ -2950,7 +2950,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ * j = r */ __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":225 * while l < r: @@ -2988,7 +2988,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ */ while (1) { __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -3002,7 +3002,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ */ while (1) { __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -3025,7 +3025,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ * b[j] = tmp */ __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":232 * if i <= j: @@ -3036,7 +3036,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ */ __pyx_t_12 = __pyx_v_j; __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":233 * tmp = b[i] @@ -3046,7 +3046,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ * j -= 1 */ __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; /* "median.pyx":234 * b[i] = b[j] @@ -3102,7 +3102,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * if n0 % 2 == 0: - * amax = MINint + * amax = MINfloat */ __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_3) { @@ -3135,7 +3135,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ * if j < k: l = i * if k < i: r = j * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint + * amax = MINfloat * for i in range(k): */ __pyx_t_3 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); @@ -3144,15 +3144,15 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ /* "median.pyx":240 * if k < i: r = j * if n0 % 2 == 0: - * amax = MINint # <<<<<<<<<<<<<< + * amax = MINfloat # <<<<<<<<<<<<<< * for i in range(k): * ai = b[i] */ - __pyx_v_amax = __pyx_v_6median_MINint; + __pyx_v_amax = __pyx_v_6median_MINfloat; /* "median.pyx":241 * if n0 % 2 == 0: - * amax = MINint + * amax = MINfloat * for i in range(k): # <<<<<<<<<<<<<< * ai = b[i] * if ai >= amax: @@ -3162,21 +3162,21 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_v_i = __pyx_t_16; /* "median.pyx":242 - * amax = MINint + * amax = MINfloat * for i in range(k): * ai = b[i] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ __pyx_t_17 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":243 * for i in range(k): * ai = b[i] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * return np.float64(0.5 * (b[k] + amax)) + * return np.float(0.5 * (b[k] + amax)) */ __pyx_t_3 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_3) { @@ -3185,7 +3185,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ * ai = b[i] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * return np.float64(0.5 * (b[k] + amax)) + * return np.float(0.5 * (b[k] + amax)) * else: */ __pyx_v_amax = __pyx_v_ai; @@ -3197,18 +3197,18 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ /* "median.pyx":245 * if ai >= amax: * amax = ai - * return np.float64(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< + * return np.float(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< * else: - * return np.float64(b[k]) + * return np.float(b[k]) */ __Pyx_XDECREF(__pyx_r); __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_15 = __pyx_v_k; - __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { @@ -3243,20 +3243,20 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ /*else*/ { /* "median.pyx":247 - * return np.float64(0.5 * (b[k] + amax)) + * return np.float(0.5 * (b[k] + amax)) * else: - * return np.float64(b[k]) # <<<<<<<<<<<<<< + * return np.float(b[k]) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __Pyx_PyInt_From_npy_long((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { @@ -3292,8 +3292,8 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ /* "median.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int along axis=0." + * def median_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -3309,7 +3309,7 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3325,24 +3325,24 @@ static PyObject *__pyx_pf_6median_4median_1d_int_axis0(CYTHON_UNUSED PyObject *_ /* "median.pyx":251 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int8 along axis=0." + * def median_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_7median_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_6median_1d_int8_axis0[] = "median_1d_int8_axis0(ndarray a)\nMedian of 1d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_6median_7median_1d_int8_axis0 = {"median_1d_int8_axis0", (PyCFunction)__pyx_pw_6median_7median_1d_int8_axis0, METH_O, __pyx_doc_6median_6median_1d_int8_axis0}; -static PyObject *__pyx_pw_6median_7median_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_7median_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_6median_1d_float32_axis0[] = "median_1d_float32_axis0(ndarray a)\nMedian of 1d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_6median_7median_1d_float32_axis0 = {"median_1d_float32_axis0", (PyCFunction)__pyx_pw_6median_7median_1d_float32_axis0, METH_O, __pyx_doc_6median_6median_1d_float32_axis0}; +static PyObject *__pyx_pw_6median_7median_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_1d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_1d_float32_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_6median_1d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_6median_1d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3353,16 +3353,16 @@ static PyObject *__pyx_pw_6median_7median_1d_int8_axis0(PyObject *__pyx_self, Py return __pyx_r; } -static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_6median_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; - __pyx_t_5numpy_int8_t __pyx_v_amax; - __pyx_t_5numpy_int8_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_amax; + __pyx_t_5numpy_float32_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -3392,7 +3392,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_1d_int8_axis0", 0); + __Pyx_RefNannySetupContext("median_1d_float32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -3403,23 +3403,23 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "median.pyx":253 - * def median_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): - * "Median of 1d array with dtype=int8 along axis=0." + * def median_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): + * "Median of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp, amax, ai - * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp, amax, ai + * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":255 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int8_t x, tmp, amax, ai - * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp, amax, ai + * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ @@ -3429,7 +3429,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; @@ -3453,7 +3453,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * if n0 == 0: - * return np.float64(NAN) + * return np.float32(NAN) */ __pyx_v_n0 = (__pyx_v_dim[0]); @@ -3461,7 +3461,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) + * return np.float32(NAN) * k = n0 >> 1 */ __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); @@ -3470,14 +3470,14 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * /* "median.pyx":261 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * return np.float32(NAN) # <<<<<<<<<<<<<< * k = n0 >> 1 * l = 0 */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float32); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -3515,7 +3515,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * /* "median.pyx":262 * if n0 == 0: - * return np.float64(NAN) + * return np.float32(NAN) * k = n0 >> 1 # <<<<<<<<<<<<<< * l = 0 * r = n0 - 1 @@ -3523,7 +3523,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_v_k = (__pyx_v_n0 >> 1); /* "median.pyx":263 - * return np.float64(NAN) + * return np.float32(NAN) * k = n0 >> 1 * l = 0 # <<<<<<<<<<<<<< * r = n0 - 1 @@ -3573,7 +3573,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * * j = r */ __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":268 * while l < r: @@ -3611,7 +3611,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * */ while (1) { __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -3625,7 +3625,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * */ while (1) { __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -3648,7 +3648,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * * b[j] = tmp */ __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":275 * if i <= j: @@ -3659,7 +3659,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_t_12 = __pyx_v_j; __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":276 * tmp = b[i] @@ -3669,7 +3669,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * * j -= 1 */ __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; /* "median.pyx":277 * b[i] = b[j] @@ -3725,7 +3725,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * if n0 % 2 == 0: - * amax = MINint8 + * amax = MINfloat32 */ __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_3) { @@ -3758,7 +3758,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * * if j < k: l = i * if k < i: r = j * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint8 + * amax = MINfloat32 * for i in range(k): */ __pyx_t_3 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); @@ -3767,15 +3767,15 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * /* "median.pyx":283 * if k < i: r = j * if n0 % 2 == 0: - * amax = MINint8 # <<<<<<<<<<<<<< + * amax = MINfloat32 # <<<<<<<<<<<<<< * for i in range(k): * ai = b[i] */ - __pyx_v_amax = __pyx_v_6median_MINint8; + __pyx_v_amax = __pyx_v_6median_MINfloat32; /* "median.pyx":284 * if n0 % 2 == 0: - * amax = MINint8 + * amax = MINfloat32 * for i in range(k): # <<<<<<<<<<<<<< * ai = b[i] * if ai >= amax: @@ -3785,21 +3785,21 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_v_i = __pyx_t_16; /* "median.pyx":285 - * amax = MINint8 + * amax = MINfloat32 * for i in range(k): * ai = b[i] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ __pyx_t_17 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":286 * for i in range(k): * ai = b[i] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * return np.float64(0.5 * (b[k] + amax)) + * return np.float32(0.5 * (b[k] + amax)) */ __pyx_t_3 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_3) { @@ -3808,7 +3808,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * * ai = b[i] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * return np.float64(0.5 * (b[k] + amax)) + * return np.float32(0.5 * (b[k] + amax)) * else: */ __pyx_v_amax = __pyx_v_ai; @@ -3820,18 +3820,18 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * /* "median.pyx":288 * if ai >= amax: * amax = ai - * return np.float64(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< + * return np.float32(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< * else: - * return np.float64(b[k]) + * return np.float32(b[k]) */ __Pyx_XDECREF(__pyx_r); __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_15 = __pyx_v_k; - __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { @@ -3866,20 +3866,20 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * /*else*/ { /* "median.pyx":290 - * return np.float64(0.5 * (b[k] + amax)) + * return np.float32(0.5 * (b[k] + amax)) * else: - * return np.float64(b[k]) # <<<<<<<<<<<<<< + * return np.float32(b[k]) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __Pyx_PyInt_From_npy_int8((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { @@ -3915,8 +3915,8 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * /* "median.pyx":251 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int8 along axis=0." + * def median_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -3932,7 +3932,7 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3948,24 +3948,24 @@ static PyObject *__pyx_pf_6median_6median_1d_int8_axis0(CYTHON_UNUSED PyObject * /* "median.pyx":294 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int32 along axis=0." + * def median_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_9median_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_8median_1d_int32_axis0[] = "median_1d_int32_axis0(ndarray a)\nMedian of 1d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_6median_9median_1d_int32_axis0 = {"median_1d_int32_axis0", (PyCFunction)__pyx_pw_6median_9median_1d_int32_axis0, METH_O, __pyx_doc_6median_8median_1d_int32_axis0}; -static PyObject *__pyx_pw_6median_9median_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_9median_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_8median_1d_float64_axis0[] = "median_1d_float64_axis0(ndarray a)\nMedian of 1d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_6median_9median_1d_float64_axis0 = {"median_1d_float64_axis0", (PyCFunction)__pyx_pw_6median_9median_1d_float64_axis0, METH_O, __pyx_doc_6median_8median_1d_float64_axis0}; +static PyObject *__pyx_pw_6median_9median_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_1d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_1d_float64_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_8median_1d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_8median_1d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3976,16 +3976,16 @@ static PyObject *__pyx_pw_6median_9median_1d_int32_axis0(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_8median_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; - __pyx_t_5numpy_int32_t __pyx_v_amax; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_amax; + __pyx_t_5numpy_float64_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4015,7 +4015,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_1d_int32_axis0", 0); + __Pyx_RefNannySetupContext("median_1d_float64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -4026,23 +4026,23 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "median.pyx":296 - * def median_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): - * "Median of 1d array with dtype=int32 along axis=0." + * def median_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): + * "Median of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp, amax, ai - * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp, amax, ai + * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":298 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int32_t x, tmp, amax, ai - * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp, amax, ai + * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ @@ -4052,7 +4052,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; @@ -4196,7 +4196,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject * j = r */ __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":311 * while l < r: @@ -4234,7 +4234,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject */ while (1) { __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -4248,7 +4248,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject */ while (1) { __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -4271,7 +4271,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject * b[j] = tmp */ __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":318 * if i <= j: @@ -4282,7 +4282,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_t_12 = __pyx_v_j; __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":319 * tmp = b[i] @@ -4292,7 +4292,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject * j -= 1 */ __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; /* "median.pyx":320 * b[i] = b[j] @@ -4348,7 +4348,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * if n0 % 2 == 0: - * amax = MINint32 + * amax = MINfloat64 */ __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_3) { @@ -4381,7 +4381,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject * if j < k: l = i * if k < i: r = j * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint32 + * amax = MINfloat64 * for i in range(k): */ __pyx_t_3 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); @@ -4390,15 +4390,15 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject /* "median.pyx":326 * if k < i: r = j * if n0 % 2 == 0: - * amax = MINint32 # <<<<<<<<<<<<<< + * amax = MINfloat64 # <<<<<<<<<<<<<< * for i in range(k): * ai = b[i] */ - __pyx_v_amax = __pyx_v_6median_MINint32; + __pyx_v_amax = __pyx_v_6median_MINfloat64; /* "median.pyx":327 * if n0 % 2 == 0: - * amax = MINint32 + * amax = MINfloat64 * for i in range(k): # <<<<<<<<<<<<<< * ai = b[i] * if ai >= amax: @@ -4408,14 +4408,14 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject __pyx_v_i = __pyx_t_16; /* "median.pyx":328 - * amax = MINint32 + * amax = MINfloat64 * for i in range(k): * ai = b[i] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ __pyx_t_17 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); /* "median.pyx":329 * for i in range(k): @@ -4454,7 +4454,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_15 = __pyx_v_k; - __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { @@ -4502,7 +4502,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __Pyx_PyInt_From_npy_int32((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { @@ -4538,8 +4538,8 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject /* "median.pyx":294 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int32 along axis=0." + * def median_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -4555,7 +4555,7 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4571,24 +4571,24 @@ static PyObject *__pyx_pf_6median_8median_1d_int32_axis0(CYTHON_UNUSED PyObject /* "median.pyx":337 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int64 along axis=0." + * def median_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_11median_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_10median_1d_int64_axis0[] = "median_1d_int64_axis0(ndarray a)\nMedian of 1d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_6median_11median_1d_int64_axis0 = {"median_1d_int64_axis0", (PyCFunction)__pyx_pw_6median_11median_1d_int64_axis0, METH_O, __pyx_doc_6median_10median_1d_int64_axis0}; -static PyObject *__pyx_pw_6median_11median_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_11median_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_10median_2d_float_axis0[] = "median_2d_float_axis0(ndarray a)\nMedian of 2d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_6median_11median_2d_float_axis0 = {"median_2d_float_axis0", (PyCFunction)__pyx_pw_6median_11median_2d_float_axis0, METH_O, __pyx_doc_6median_10median_2d_float_axis0}; +static PyObject *__pyx_pw_6median_11median_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_1d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_2d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_10median_1d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_10median_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4599,74 +4599,96 @@ static PyObject *__pyx_pw_6median_11median_1d_int64_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6median_10median_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_10median_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; - __pyx_t_5numpy_int64_t __pyx_v_amax; - __pyx_t_5numpy_int64_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_amax; + __pyx_t_5numpy_float_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; __Pyx_Buffer __pyx_pybuffer_b; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; + npy_intp __pyx_t_3[1]; + PyArrayObject *__pyx_t_4 = NULL; + int __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; npy_intp __pyx_t_8; - npy_intp __pyx_t_9; + Py_ssize_t __pyx_t_9; npy_intp __pyx_t_10; - npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_11; npy_intp __pyx_t_12; - npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_13; npy_intp __pyx_t_14; - npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_15; npy_intp __pyx_t_16; - npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + npy_intp __pyx_t_23; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; + Py_ssize_t __pyx_t_26; + Py_ssize_t __pyx_t_27; + Py_ssize_t __pyx_t_28; + Py_ssize_t __pyx_t_29; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_1d_int64_axis0", 0); + __Pyx_RefNannySetupContext("median_2d_float_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "median.pyx":339 - * def median_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): - * "Median of 1d array with dtype=int64 along axis=0." + * def median_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Median of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp, amax, ai - * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float_t x, tmp, amax, ai + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":341 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int64_t x, tmp, amax, ai - * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.float_t x, tmp, amax, ai + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -4675,10 +4697,10 @@ static PyObject *__pyx_pf_6median_10median_1d_int64_axis0(CYTHON_UNUSED PyObject __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; @@ -4686,11 +4708,11 @@ static PyObject *__pyx_pf_6median_10median_1d_int64_axis0(CYTHON_UNUSED PyObject __pyx_t_1 = 0; /* "median.pyx":344 - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); @@ -4698,520 +4720,473 @@ static PyObject *__pyx_pf_6median_10median_1d_int64_axis0(CYTHON_UNUSED PyObject * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * return np.float64(NAN) + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); /* "median.pyx":346 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * k = n0 >> 1 + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_3) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "median.pyx":347 + /* "median.pyx":347 * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) + */ + __pyx_t_3[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_3; + + /* "median.pyx":348 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) * if n0 == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * k = n0 >> 1 - * l = 0 */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - if (!__pyx_t_6) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else { - __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; - PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; } + __pyx_t_4 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; - /* "median.pyx":348 + /* "median.pyx":350 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * return y + */ + __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_5) { + + /* "median.pyx":351 + * NPY_float, 0) * if n0 == 0: - * return np.float64(NAN) - * k = n0 >> 1 # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * return y + * for i1 in range(n1): */ - __pyx_v_k = (__pyx_v_n0 >> 1); + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":349 - * return np.float64(NAN) - * k = n0 >> 1 - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + /* "median.pyx":352 + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) + * return y # <<<<<<<<<<<<<< + * for i1 in range(n1): + * k = n0 >> 1 */ - __pyx_v_l = 0; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + } - /* "median.pyx":350 - * k = n0 >> 1 - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + /* "median.pyx":353 + * PyArray_FillWithScalar(y, NAN) + * return y + * for i1 in range(n1): # <<<<<<<<<<<<<< + * k = n0 >> 1 + * l = 0 + */ + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; + + /* "median.pyx":354 + * return y + * for i1 in range(n1): + * k = n0 >> 1 # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 + */ + __pyx_v_k = (__pyx_v_n0 >> 1); + + /* "median.pyx":355 + * for i1 in range(n1): + * k = n0 >> 1 + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "median.pyx":351 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "median.pyx":356 + * k = n0 >> 1 + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[k, i1] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n0 - 1); - /* "median.pyx":352 - * r = n0 - 1 - * with nogil: + /* "median.pyx":357 + * l = 0 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[k, i1] * i = l */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + while (1) { + __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_5) break; - /* "median.pyx":353 - * with nogil: + /* "median.pyx":358 + * r = n0 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_8 = __pyx_v_k; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":354 + /* "median.pyx":359 * while l < r: - * x = b[k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "median.pyx":355 - * x = b[k] + /* "median.pyx":360 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "median.pyx":356 + /* "median.pyx":361 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ - while (1) { + while (1) { - /* "median.pyx":357 + /* "median.pyx":362 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_10 = __pyx_v_i; + __pyx_t_11 = __pyx_v_i1; + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_5) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "median.pyx":358 + /* "median.pyx":363 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i, i1] */ - while (1) { - __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_5) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "median.pyx":359 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "median.pyx":364 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_5) { - /* "median.pyx":360 - * while x < b[j]: j -= 1 + /* "median.pyx":365 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_14 = __pyx_v_i; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":361 + /* "median.pyx":366 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp * i += 1 */ - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_16 = __pyx_v_j; + __pyx_t_17 = __pyx_v_i1; + __pyx_t_18 = __pyx_v_i; + __pyx_t_19 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":362 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":367 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_j; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "median.pyx":363 - * b[i] = b[j] - * b[j] = tmp + /* "median.pyx":368 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":364 - * b[j] = tmp + /* "median.pyx":369 + * b[j, i1] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L15; - } - __pyx_L15:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L14; + } + __pyx_L14:; - /* "median.pyx":365 + /* "median.pyx":370 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L10_break; - } - } - __pyx_L10_break:; + __pyx_t_5 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_5) { + goto __pyx_L9_break; + } + } + __pyx_L9_break:; - /* "median.pyx":366 + /* "median.pyx":371 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n0 % 2 == 0: + * if n0 % 2 == 0: */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L17; - } - __pyx_L17:; + __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_5) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L16; + } + __pyx_L16:; - /* "median.pyx":367 + /* "median.pyx":372 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< - * if n0 % 2 == 0: - * amax = MINint64 - */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L18; - } - __pyx_L18:; - } - } - - /* "median.pyx":351 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] + * if n0 % 2 == 0: + * amax = MINfloat */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L6; - } - __pyx_L6:; + __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_5) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L17; } - } + __pyx_L17:; + } - /* "median.pyx":368 + /* "median.pyx":373 * if j < k: l = i * if k < i: r = j - * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint64 - * for i in range(k): + * if n0 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINfloat + * for i in range(k): */ - __pyx_t_3 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); - if (__pyx_t_3) { + __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); + if (__pyx_t_5) { - /* "median.pyx":369 + /* "median.pyx":374 * if k < i: r = j - * if n0 % 2 == 0: - * amax = MINint64 # <<<<<<<<<<<<<< - * for i in range(k): - * ai = b[i] + * if n0 % 2 == 0: + * amax = MINfloat # <<<<<<<<<<<<<< + * for i in range(k): + * ai = b[i, i1] */ - __pyx_v_amax = __pyx_v_6median_MINint64; + __pyx_v_amax = __pyx_v_6median_MINfloat; - /* "median.pyx":370 - * if n0 % 2 == 0: - * amax = MINint64 - * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i] - * if ai >= amax: + /* "median.pyx":375 + * if n0 % 2 == 0: + * amax = MINfloat + * for i in range(k): # <<<<<<<<<<<<<< + * ai = b[i, i1] + * if ai >= amax: */ - __pyx_t_15 = __pyx_v_k; - for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) { - __pyx_v_i = __pyx_t_16; + __pyx_t_22 = __pyx_v_k; + for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { + __pyx_v_i = __pyx_t_23; - /* "median.pyx":371 - * amax = MINint64 - * for i in range(k): - * ai = b[i] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "median.pyx":376 + * amax = MINfloat + * for i in range(k): + * ai = b[i, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_17 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":372 - * for i in range(k): - * ai = b[i] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * return np.float64(0.5 * (b[k] + amax)) + /* "median.pyx":377 + * for i in range(k): + * ai = b[i, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * y[i1] = 0.5 * (b[k, i1] + amax) */ - __pyx_t_3 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_3) { + __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_5) { - /* "median.pyx":373 - * ai = b[i] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * return np.float64(0.5 * (b[k] + amax)) - * else: + /* "median.pyx":378 + * ai = b[i, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * y[i1] = 0.5 * (b[k, i1] + amax) + * else: */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L22; + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L21; + } + __pyx_L21:; } - __pyx_L22:; - } - /* "median.pyx":374 - * if ai >= amax: - * amax = ai - * return np.float64(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< - * else: - * return np.float64(b[k]) + /* "median.pyx":379 + * if ai >= amax: + * amax = ai + * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< + * else: + * y[i1] = b[k, i1] */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_15 = __pyx_v_k; - __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } + __pyx_t_22 = __pyx_v_k; + __pyx_t_26 = __pyx_v_i1; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + goto __pyx_L18; } - if (!__pyx_t_4) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + /*else*/ { + + /* "median.pyx":381 + * y[i1] = 0.5 * (b[k, i1] + amax) + * else: + * y[i1] = b[k, i1] # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_23 = __pyx_v_k; + __pyx_t_28 = __pyx_v_i1; + __pyx_t_29 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides)); } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; + __pyx_L18:; } - /*else*/ { - /* "median.pyx":376 - * return np.float64(0.5 * (b[k] + amax)) - * else: - * return np.float64(b[k]) # <<<<<<<<<<<<<< + /* "median.pyx":382 + * else: + * y[i1] = b[k, i1] + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = __Pyx_PyInt_From_npy_int64((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_5) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else { - __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "median.pyx":337 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int64 along axis=0." + * def median_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_b); + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "median.pyx":380 +/* "median.pyx":386 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int along axis=0." + * def median_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_13median_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_12median_2d_int_axis0[] = "median_2d_int_axis0(ndarray a)\nMedian of 2d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_6median_13median_2d_int_axis0 = {"median_2d_int_axis0", (PyCFunction)__pyx_pw_6median_13median_2d_int_axis0, METH_O, __pyx_doc_6median_12median_2d_int_axis0}; -static PyObject *__pyx_pw_6median_13median_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_13median_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_12median_2d_float_axis1[] = "median_2d_float_axis1(ndarray a)\nMedian of 2d array with dtype=float along axis=1."; +static PyMethodDef __pyx_mdef_6median_13median_2d_float_axis1 = {"median_2d_float_axis1", (PyCFunction)__pyx_pw_6median_13median_2d_float_axis1, METH_O, __pyx_doc_6median_12median_2d_float_axis1}; +static PyObject *__pyx_pw_6median_13median_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_int_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_12median_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("median_2d_float_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6median_12median_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5222,18 +5197,18 @@ static PyObject *__pyx_pw_6median_13median_2d_int_axis0(PyObject *__pyx_self, Py return __pyx_r; } -static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_12median_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; - __pyx_t_5numpy_int_t __pyx_v_amax; - __pyx_t_5numpy_int_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_amax; + __pyx_t_5numpy_float_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -5254,24 +5229,24 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * int __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - npy_intp __pyx_t_8; - Py_ssize_t __pyx_t_9; - npy_intp __pyx_t_10; - Py_ssize_t __pyx_t_11; - npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; - npy_intp __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; + Py_ssize_t __pyx_t_8; + npy_intp __pyx_t_9; + Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; npy_intp __pyx_t_22; npy_intp __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; Py_ssize_t __pyx_t_26; Py_ssize_t __pyx_t_27; Py_ssize_t __pyx_t_28; @@ -5279,7 +5254,7 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("median_2d_float_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -5294,35 +5269,35 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "median.pyx":382 - * def median_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Median of 2d array with dtype=int along axis=0." + /* "median.pyx":388 + * def median_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Median of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp, amax, ai - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float_t x, tmp, amax, ai + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; - /* "median.pyx":384 + /* "median.pyx":390 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int_t x, tmp, amax, ai - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float_t x, tmp, amax, ai + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -5330,7 +5305,7 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":387 + /* "median.pyx":393 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5339,50 +5314,50 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "median.pyx":388 + /* "median.pyx":394 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "median.pyx":389 + /* "median.pyx":395 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "median.pyx":390 + /* "median.pyx":396 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ - __pyx_t_3[0] = __pyx_v_n1; + __pyx_t_3[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_3; - /* "median.pyx":391 + /* "median.pyx":397 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) + * if n1 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -5390,34 +5365,34 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":393 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + /* "median.pyx":399 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) + * if n1 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y */ - __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_5) { - /* "median.pyx":394 - * NPY_float64, 0) - * if n0 == 0: + /* "median.pyx":400 + * NPY_float, 0) + * if n1 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y - * for i1 in range(n1): + * for i0 in range(n0): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":395 - * if n0 == 0: + /* "median.pyx":401 + * if n1 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< - * for i1 in range(n1): - * k = n0 >> 1 + * for i0 in range(n0): + * k = n1 >> 1 */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -5425,179 +5400,179 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * goto __pyx_L0; } - /* "median.pyx":396 + /* "median.pyx":402 * PyArray_FillWithScalar(y, NAN) * return y - * for i1 in range(n1): # <<<<<<<<<<<<<< - * k = n0 >> 1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * k = n1 >> 1 * l = 0 */ - __pyx_t_6 = __pyx_v_n1; + __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_v_i0 = __pyx_t_7; - /* "median.pyx":397 + /* "median.pyx":403 * return y - * for i1 in range(n1): - * k = n0 >> 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * k = n1 >> 1 # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_v_k = (__pyx_v_n0 >> 1); + __pyx_v_k = (__pyx_v_n1 >> 1); - /* "median.pyx":398 - * for i1 in range(n1): - * k = n0 >> 1 + /* "median.pyx":404 + * for i0 in range(n0): + * k = n1 >> 1 * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "median.pyx":399 - * k = n0 >> 1 + /* "median.pyx":405 + * k = n1 >> 1 * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "median.pyx":400 + /* "median.pyx":406 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_5) break; - /* "median.pyx":401 - * r = n0 - 1 + /* "median.pyx":407 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":402 + /* "median.pyx":408 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "median.pyx":403 - * x = b[k, i1] + /* "median.pyx":409 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "median.pyx":404 + /* "median.pyx":410 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "median.pyx":405 + /* "median.pyx":411 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_10 = __pyx_v_i; - __pyx_t_11 = __pyx_v_i1; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i; + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "median.pyx":406 + /* "median.pyx":412 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_j; + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "median.pyx":407 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "median.pyx":413 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_5) { - /* "median.pyx":408 - * while x < b[j, i1]: j -= 1 + /* "median.pyx":414 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_14 = __pyx_v_i; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":409 + /* "median.pyx":415 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp * i += 1 */ - __pyx_t_16 = __pyx_v_j; - __pyx_t_17 = __pyx_v_i1; - __pyx_t_18 = __pyx_v_i; - __pyx_t_19 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":410 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":416 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_20 = __pyx_v_j; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "median.pyx":411 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "median.pyx":417 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":412 - * b[j, i1] = tmp + /* "median.pyx":418 + * b[i0, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -5608,7 +5583,7 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * } __pyx_L14:; - /* "median.pyx":413 + /* "median.pyx":419 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -5622,12 +5597,12 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * } __pyx_L9_break:; - /* "median.pyx":414 + /* "median.pyx":420 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n0 % 2 == 0: + * if n1 % 2 == 0: */ __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); if (__pyx_t_5) { @@ -5636,12 +5611,12 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * } __pyx_L16:; - /* "median.pyx":415 + /* "median.pyx":421 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< - * if n0 % 2 == 0: - * amax = MINint + * if n1 % 2 == 0: + * amax = MINfloat */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -5651,62 +5626,62 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * __pyx_L17:; } - /* "median.pyx":416 + /* "median.pyx":422 * if j < k: l = i * if k < i: r = j - * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint + * if n1 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINfloat * for i in range(k): */ - __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); + __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); if (__pyx_t_5) { - /* "median.pyx":417 + /* "median.pyx":423 * if k < i: r = j - * if n0 % 2 == 0: - * amax = MINint # <<<<<<<<<<<<<< + * if n1 % 2 == 0: + * amax = MINfloat # <<<<<<<<<<<<<< * for i in range(k): - * ai = b[i, i1] + * ai = b[i0, i] */ - __pyx_v_amax = __pyx_v_6median_MINint; + __pyx_v_amax = __pyx_v_6median_MINfloat; - /* "median.pyx":418 - * if n0 % 2 == 0: - * amax = MINint + /* "median.pyx":424 + * if n1 % 2 == 0: + * amax = MINfloat * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i, i1] + * ai = b[i0, i] * if ai >= amax: */ __pyx_t_22 = __pyx_v_k; for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { __pyx_v_i = __pyx_t_23; - /* "median.pyx":419 - * amax = MINint + /* "median.pyx":425 + * amax = MINfloat * for i in range(k): - * ai = b[i, i1] # <<<<<<<<<<<<<< + * ai = b[i0, i] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":420 + /* "median.pyx":426 * for i in range(k): - * ai = b[i, i1] + * ai = b[i0, i] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i1] = 0.5 * (b[k, i1] + amax) + * y[i0] = 0.5 * (b[i0, k] + amax) */ __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_5) { - /* "median.pyx":421 - * ai = b[i, i1] + /* "median.pyx":427 + * ai = b[i0, i] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i1] = 0.5 * (b[k, i1] + amax) + * y[i0] = 0.5 * (b[i0, k] + amax) * else: */ __pyx_v_amax = __pyx_v_ai; @@ -5715,39 +5690,39 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * __pyx_L21:; } - /* "median.pyx":422 + /* "median.pyx":428 * if ai >= amax: * amax = ai - * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< + * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< * else: - * y[i1] = b[k, i1] + * y[i0] = b[i0, k] */ + __pyx_t_26 = __pyx_v_i0; __pyx_t_22 = __pyx_v_k; - __pyx_t_26 = __pyx_v_i1; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + __pyx_t_27 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { - /* "median.pyx":424 - * y[i1] = 0.5 * (b[k, i1] + amax) + /* "median.pyx":430 + * y[i0] = 0.5 * (b[i0, k] + amax) * else: - * y[i1] = b[k, i1] # <<<<<<<<<<<<<< + * y[i0] = b[i0, k] # <<<<<<<<<<<<<< * return y * */ + __pyx_t_28 = __pyx_v_i0; __pyx_t_23 = __pyx_v_k; - __pyx_t_28 = __pyx_v_i1; - __pyx_t_29 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides))); + __pyx_t_29 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); } __pyx_L18:; } - /* "median.pyx":425 + /* "median.pyx":431 * else: - * y[i1] = b[k, i1] + * y[i0] = b[i0, k] * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -5757,11 +5732,11 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "median.pyx":380 + /* "median.pyx":386 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int along axis=0." + * def median_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -5774,7 +5749,7 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5789,27 +5764,27 @@ static PyObject *__pyx_pf_6median_12median_2d_int_axis0(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "median.pyx":429 +/* "median.pyx":435 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int along axis=1." + * def median_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_15median_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_14median_2d_int_axis1[] = "median_2d_int_axis1(ndarray a)\nMedian of 2d array with dtype=int along axis=1."; -static PyMethodDef __pyx_mdef_6median_15median_2d_int_axis1 = {"median_2d_int_axis1", (PyCFunction)__pyx_pw_6median_15median_2d_int_axis1, METH_O, __pyx_doc_6median_14median_2d_int_axis1}; -static PyObject *__pyx_pw_6median_15median_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_15median_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_14median_2d_float32_axis0[] = "median_2d_float32_axis0(ndarray a)\nMedian of 2d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_6median_15median_2d_float32_axis0 = {"median_2d_float32_axis0", (PyCFunction)__pyx_pw_6median_15median_2d_float32_axis0, METH_O, __pyx_doc_6median_14median_2d_float32_axis0}; +static PyObject *__pyx_pw_6median_15median_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_int_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_14median_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("median_2d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6median_14median_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5820,18 +5795,18 @@ static PyObject *__pyx_pw_6median_15median_2d_int_axis1(PyObject *__pyx_self, Py return __pyx_r; } -static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_14median_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; - __pyx_t_5numpy_int_t __pyx_v_amax; - __pyx_t_5numpy_int_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_amax; + __pyx_t_5numpy_float32_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -5852,24 +5827,24 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * int __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - npy_intp __pyx_t_9; - Py_ssize_t __pyx_t_10; - npy_intp __pyx_t_11; - Py_ssize_t __pyx_t_12; - npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; - npy_intp __pyx_t_15; - Py_ssize_t __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; + npy_intp __pyx_t_8; + Py_ssize_t __pyx_t_9; + npy_intp __pyx_t_10; + Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_12; + Py_ssize_t __pyx_t_13; + npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_15; + npy_intp __pyx_t_16; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; npy_intp __pyx_t_22; npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; Py_ssize_t __pyx_t_26; Py_ssize_t __pyx_t_27; Py_ssize_t __pyx_t_28; @@ -5877,7 +5852,7 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("median_2d_float32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -5892,35 +5867,35 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "median.pyx":431 - * def median_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Median of 2d array with dtype=int along axis=1." + /* "median.pyx":437 + * def median_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Median of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp, amax, ai - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp, amax, ai + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; - /* "median.pyx":433 + /* "median.pyx":439 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int_t x, tmp, amax, ai - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp, amax, ai + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -5928,7 +5903,7 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":436 + /* "median.pyx":442 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5937,50 +5912,50 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "median.pyx":437 + /* "median.pyx":443 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "median.pyx":438 + /* "median.pyx":444 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "median.pyx":439 + /* "median.pyx":445 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ - __pyx_t_3[0] = __pyx_v_n0; + __pyx_t_3[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "median.pyx":440 + /* "median.pyx":446 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) + * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -5988,34 +5963,34 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":442 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + /* "median.pyx":448 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) + * if n0 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y */ - __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_5) { - /* "median.pyx":443 - * NPY_float64, 0) - * if n1 == 0: + /* "median.pyx":449 + * NPY_float32, 0) + * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y - * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":444 - * if n1 == 0: + /* "median.pyx":450 + * if n0 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< - * for i0 in range(n0): - * k = n1 >> 1 + * for i1 in range(n1): + * k = n0 >> 1 */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -6023,179 +5998,179 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * goto __pyx_L0; } - /* "median.pyx":445 + /* "median.pyx":451 * PyArray_FillWithScalar(y, NAN) * return y - * for i0 in range(n0): # <<<<<<<<<<<<<< - * k = n1 >> 1 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * k = n0 >> 1 * l = 0 */ - __pyx_t_6 = __pyx_v_n0; + __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_v_i1 = __pyx_t_7; - /* "median.pyx":446 + /* "median.pyx":452 * return y - * for i0 in range(n0): - * k = n1 >> 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * k = n0 >> 1 # <<<<<<<<<<<<<< * l = 0 - * r = n1 - 1 + * r = n0 - 1 */ - __pyx_v_k = (__pyx_v_n1 >> 1); + __pyx_v_k = (__pyx_v_n0 >> 1); - /* "median.pyx":447 - * for i0 in range(n0): - * k = n1 >> 1 + /* "median.pyx":453 + * for i1 in range(n1): + * k = n0 >> 1 * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 + * r = n0 - 1 * while l < r: */ __pyx_v_l = 0; - /* "median.pyx":448 - * k = n1 >> 1 + /* "median.pyx":454 + * k = n0 >> 1 * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[i0, k] + * x = b[k, i1] */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_r = (__pyx_v_n0 - 1); - /* "median.pyx":449 + /* "median.pyx":455 * l = 0 - * r = n1 - 1 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] + * x = b[k, i1] * i = l */ while (1) { __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_5) break; - /* "median.pyx":450 - * r = n1 - 1 + /* "median.pyx":456 + * r = n0 - 1 * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_k; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":451 + /* "median.pyx":457 * while l < r: - * x = b[i0, k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "median.pyx":452 - * x = b[i0, k] + /* "median.pyx":458 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i0, i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "median.pyx":453 + /* "median.pyx":459 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ while (1) { - /* "median.pyx":454 + /* "median.pyx":460 * j = r * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_10 = __pyx_v_i; + __pyx_t_11 = __pyx_v_i1; + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "median.pyx":455 + /* "median.pyx":461 * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i0, i] + * tmp = b[i, i1] */ while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_j; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "median.pyx":456 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "median.pyx":462 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_5) { - /* "median.pyx":457 - * while x < b[i0, j]: j -= 1 + /* "median.pyx":463 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_14 = __pyx_v_i; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":458 + /* "median.pyx":464 * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp * i += 1 */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_j; + __pyx_t_17 = __pyx_v_i1; + __pyx_t_18 = __pyx_v_i; + __pyx_t_19 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":459 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":465 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_j; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "median.pyx":460 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "median.pyx":466 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":461 - * b[i0, j] = tmp + /* "median.pyx":467 + * b[j, i1] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -6206,7 +6181,7 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * } __pyx_L14:; - /* "median.pyx":462 + /* "median.pyx":468 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -6220,12 +6195,12 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * } __pyx_L9_break:; - /* "median.pyx":463 + /* "median.pyx":469 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n1 % 2 == 0: + * if n0 % 2 == 0: */ __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); if (__pyx_t_5) { @@ -6234,12 +6209,12 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * } __pyx_L16:; - /* "median.pyx":464 + /* "median.pyx":470 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< - * if n1 % 2 == 0: - * amax = MINint + * if n0 % 2 == 0: + * amax = MINfloat32 */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -6249,62 +6224,62 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * __pyx_L17:; } - /* "median.pyx":465 + /* "median.pyx":471 * if j < k: l = i * if k < i: r = j - * if n1 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint + * if n0 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINfloat32 * for i in range(k): */ - __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); + __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); if (__pyx_t_5) { - /* "median.pyx":466 + /* "median.pyx":472 * if k < i: r = j - * if n1 % 2 == 0: - * amax = MINint # <<<<<<<<<<<<<< + * if n0 % 2 == 0: + * amax = MINfloat32 # <<<<<<<<<<<<<< * for i in range(k): - * ai = b[i0, i] + * ai = b[i, i1] */ - __pyx_v_amax = __pyx_v_6median_MINint; + __pyx_v_amax = __pyx_v_6median_MINfloat32; - /* "median.pyx":467 - * if n1 % 2 == 0: - * amax = MINint + /* "median.pyx":473 + * if n0 % 2 == 0: + * amax = MINfloat32 * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i0, i] + * ai = b[i, i1] * if ai >= amax: */ __pyx_t_22 = __pyx_v_k; for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { __pyx_v_i = __pyx_t_23; - /* "median.pyx":468 - * amax = MINint + /* "median.pyx":474 + * amax = MINfloat32 * for i in range(k): - * ai = b[i0, i] # <<<<<<<<<<<<<< + * ai = b[i, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":469 + /* "median.pyx":475 * for i in range(k): - * ai = b[i0, i] + * ai = b[i, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i0] = 0.5 * (b[i0, k] + amax) + * y[i1] = 0.5 * (b[k, i1] + amax) */ __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_5) { - /* "median.pyx":470 - * ai = b[i0, i] + /* "median.pyx":476 + * ai = b[i, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i0] = 0.5 * (b[i0, k] + amax) + * y[i1] = 0.5 * (b[k, i1] + amax) * else: */ __pyx_v_amax = __pyx_v_ai; @@ -6313,39 +6288,39 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * __pyx_L21:; } - /* "median.pyx":471 + /* "median.pyx":477 * if ai >= amax: * amax = ai - * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< + * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< * else: - * y[i0] = b[i0, k] + * y[i1] = b[k, i1] */ - __pyx_t_26 = __pyx_v_i0; __pyx_t_22 = __pyx_v_k; - __pyx_t_27 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + __pyx_t_26 = __pyx_v_i1; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { - /* "median.pyx":473 - * y[i0] = 0.5 * (b[i0, k] + amax) + /* "median.pyx":479 + * y[i1] = 0.5 * (b[k, i1] + amax) * else: - * y[i0] = b[i0, k] # <<<<<<<<<<<<<< + * y[i1] = b[k, i1] # <<<<<<<<<<<<<< * return y * */ - __pyx_t_28 = __pyx_v_i0; __pyx_t_23 = __pyx_v_k; - __pyx_t_29 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides))); + __pyx_t_28 = __pyx_v_i1; + __pyx_t_29 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides)); } __pyx_L18:; } - /* "median.pyx":474 + /* "median.pyx":480 * else: - * y[i0] = b[i0, k] + * y[i1] = b[k, i1] * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -6355,11 +6330,11 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "median.pyx":429 + /* "median.pyx":435 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int along axis=1." + * def median_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -6372,7 +6347,7 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6387,27 +6362,27 @@ static PyObject *__pyx_pf_6median_14median_2d_int_axis1(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "median.pyx":478 +/* "median.pyx":484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int8 along axis=0." + * def median_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_17median_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_16median_2d_int8_axis0[] = "median_2d_int8_axis0(ndarray a)\nMedian of 2d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_6median_17median_2d_int8_axis0 = {"median_2d_int8_axis0", (PyCFunction)__pyx_pw_6median_17median_2d_int8_axis0, METH_O, __pyx_doc_6median_16median_2d_int8_axis0}; -static PyObject *__pyx_pw_6median_17median_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_17median_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_16median_2d_float32_axis1[] = "median_2d_float32_axis1(ndarray a)\nMedian of 2d array with dtype=float32 along axis=1."; +static PyMethodDef __pyx_mdef_6median_17median_2d_float32_axis1 = {"median_2d_float32_axis1", (PyCFunction)__pyx_pw_6median_17median_2d_float32_axis1, METH_O, __pyx_doc_6median_16median_2d_float32_axis1}; +static PyObject *__pyx_pw_6median_17median_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_16median_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("median_2d_float32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6median_16median_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6418,18 +6393,18 @@ static PyObject *__pyx_pw_6median_17median_2d_int8_axis0(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_16median_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; - __pyx_t_5numpy_int8_t __pyx_v_amax; - __pyx_t_5numpy_int8_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_amax; + __pyx_t_5numpy_float32_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -6450,24 +6425,24 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject int __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - npy_intp __pyx_t_8; - Py_ssize_t __pyx_t_9; - npy_intp __pyx_t_10; - Py_ssize_t __pyx_t_11; - npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; - npy_intp __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; + Py_ssize_t __pyx_t_8; + npy_intp __pyx_t_9; + Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; npy_intp __pyx_t_22; npy_intp __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; Py_ssize_t __pyx_t_26; Py_ssize_t __pyx_t_27; Py_ssize_t __pyx_t_28; @@ -6475,7 +6450,7 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("median_2d_float32_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -6490,35 +6465,35 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "median.pyx":480 - * def median_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Median of 2d array with dtype=int8 along axis=0." + /* "median.pyx":486 + * def median_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Median of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp, amax, ai - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp, amax, ai + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; - /* "median.pyx":482 + /* "median.pyx":488 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int8_t x, tmp, amax, ai - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp, amax, ai + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -6526,7 +6501,7 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":485 + /* "median.pyx":491 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6535,50 +6510,50 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "median.pyx":486 + /* "median.pyx":492 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "median.pyx":487 + /* "median.pyx":493 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "median.pyx":488 + /* "median.pyx":494 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ - __pyx_t_3[0] = __pyx_v_n1; + __pyx_t_3[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_3; - /* "median.pyx":489 + /* "median.pyx":495 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) + * if n1 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -6586,34 +6561,34 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":491 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + /* "median.pyx":497 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) + * if n1 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y */ - __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_5) { - /* "median.pyx":492 - * NPY_float64, 0) - * if n0 == 0: + /* "median.pyx":498 + * NPY_float32, 0) + * if n1 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y - * for i1 in range(n1): + * for i0 in range(n0): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":493 - * if n0 == 0: + /* "median.pyx":499 + * if n1 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< - * for i1 in range(n1): - * k = n0 >> 1 + * for i0 in range(n0): + * k = n1 >> 1 */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -6621,179 +6596,179 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject goto __pyx_L0; } - /* "median.pyx":494 + /* "median.pyx":500 * PyArray_FillWithScalar(y, NAN) * return y - * for i1 in range(n1): # <<<<<<<<<<<<<< - * k = n0 >> 1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * k = n1 >> 1 * l = 0 */ - __pyx_t_6 = __pyx_v_n1; + __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_v_i0 = __pyx_t_7; - /* "median.pyx":495 + /* "median.pyx":501 * return y - * for i1 in range(n1): - * k = n0 >> 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * k = n1 >> 1 # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_v_k = (__pyx_v_n0 >> 1); + __pyx_v_k = (__pyx_v_n1 >> 1); - /* "median.pyx":496 - * for i1 in range(n1): - * k = n0 >> 1 + /* "median.pyx":502 + * for i0 in range(n0): + * k = n1 >> 1 * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "median.pyx":497 - * k = n0 >> 1 + /* "median.pyx":503 + * k = n1 >> 1 * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "median.pyx":498 + /* "median.pyx":504 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_5) break; - /* "median.pyx":499 - * r = n0 - 1 + /* "median.pyx":505 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":500 + /* "median.pyx":506 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "median.pyx":501 - * x = b[k, i1] + /* "median.pyx":507 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "median.pyx":502 + /* "median.pyx":508 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "median.pyx":503 + /* "median.pyx":509 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_10 = __pyx_v_i; - __pyx_t_11 = __pyx_v_i1; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i; + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "median.pyx":504 + /* "median.pyx":510 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_j; + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "median.pyx":505 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "median.pyx":511 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_5) { - /* "median.pyx":506 - * while x < b[j, i1]: j -= 1 + /* "median.pyx":512 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_14 = __pyx_v_i; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":507 + /* "median.pyx":513 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp * i += 1 */ - __pyx_t_16 = __pyx_v_j; - __pyx_t_17 = __pyx_v_i1; - __pyx_t_18 = __pyx_v_i; - __pyx_t_19 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":508 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":514 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_20 = __pyx_v_j; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "median.pyx":509 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "median.pyx":515 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":510 - * b[j, i1] = tmp + /* "median.pyx":516 + * b[i0, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -6804,7 +6779,7 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject } __pyx_L14:; - /* "median.pyx":511 + /* "median.pyx":517 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -6818,12 +6793,12 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject } __pyx_L9_break:; - /* "median.pyx":512 + /* "median.pyx":518 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n0 % 2 == 0: + * if n1 % 2 == 0: */ __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); if (__pyx_t_5) { @@ -6832,12 +6807,12 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject } __pyx_L16:; - /* "median.pyx":513 + /* "median.pyx":519 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< - * if n0 % 2 == 0: - * amax = MINint8 + * if n1 % 2 == 0: + * amax = MINfloat32 */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -6847,62 +6822,62 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject __pyx_L17:; } - /* "median.pyx":514 + /* "median.pyx":520 * if j < k: l = i * if k < i: r = j - * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint8 + * if n1 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINfloat32 * for i in range(k): */ - __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); + __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); if (__pyx_t_5) { - /* "median.pyx":515 + /* "median.pyx":521 * if k < i: r = j - * if n0 % 2 == 0: - * amax = MINint8 # <<<<<<<<<<<<<< + * if n1 % 2 == 0: + * amax = MINfloat32 # <<<<<<<<<<<<<< * for i in range(k): - * ai = b[i, i1] + * ai = b[i0, i] */ - __pyx_v_amax = __pyx_v_6median_MINint8; + __pyx_v_amax = __pyx_v_6median_MINfloat32; - /* "median.pyx":516 - * if n0 % 2 == 0: - * amax = MINint8 + /* "median.pyx":522 + * if n1 % 2 == 0: + * amax = MINfloat32 * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i, i1] + * ai = b[i0, i] * if ai >= amax: */ __pyx_t_22 = __pyx_v_k; for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { __pyx_v_i = __pyx_t_23; - /* "median.pyx":517 - * amax = MINint8 + /* "median.pyx":523 + * amax = MINfloat32 * for i in range(k): - * ai = b[i, i1] # <<<<<<<<<<<<<< + * ai = b[i0, i] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":518 + /* "median.pyx":524 * for i in range(k): - * ai = b[i, i1] + * ai = b[i0, i] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i1] = 0.5 * (b[k, i1] + amax) + * y[i0] = 0.5 * (b[i0, k] + amax) */ __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_5) { - /* "median.pyx":519 - * ai = b[i, i1] + /* "median.pyx":525 + * ai = b[i0, i] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i1] = 0.5 * (b[k, i1] + amax) + * y[i0] = 0.5 * (b[i0, k] + amax) * else: */ __pyx_v_amax = __pyx_v_ai; @@ -6911,39 +6886,39 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject __pyx_L21:; } - /* "median.pyx":520 + /* "median.pyx":526 * if ai >= amax: * amax = ai - * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< + * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< * else: - * y[i1] = b[k, i1] + * y[i0] = b[i0, k] */ + __pyx_t_26 = __pyx_v_i0; __pyx_t_22 = __pyx_v_k; - __pyx_t_26 = __pyx_v_i1; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + __pyx_t_27 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { - /* "median.pyx":522 - * y[i1] = 0.5 * (b[k, i1] + amax) + /* "median.pyx":528 + * y[i0] = 0.5 * (b[i0, k] + amax) * else: - * y[i1] = b[k, i1] # <<<<<<<<<<<<<< + * y[i0] = b[i0, k] # <<<<<<<<<<<<<< * return y * */ + __pyx_t_28 = __pyx_v_i0; __pyx_t_23 = __pyx_v_k; - __pyx_t_28 = __pyx_v_i1; - __pyx_t_29 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides))); + __pyx_t_29 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); } __pyx_L18:; } - /* "median.pyx":523 + /* "median.pyx":529 * else: - * y[i1] = b[k, i1] + * y[i0] = b[i0, k] * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -6953,11 +6928,11 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "median.pyx":478 + /* "median.pyx":484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int8 along axis=0." + * def median_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -6970,7 +6945,7 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6985,27 +6960,27 @@ static PyObject *__pyx_pf_6median_16median_2d_int8_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "median.pyx":527 +/* "median.pyx":533 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int8 along axis=1." + * def median_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_19median_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_18median_2d_int8_axis1[] = "median_2d_int8_axis1(ndarray a)\nMedian of 2d array with dtype=int8 along axis=1."; -static PyMethodDef __pyx_mdef_6median_19median_2d_int8_axis1 = {"median_2d_int8_axis1", (PyCFunction)__pyx_pw_6median_19median_2d_int8_axis1, METH_O, __pyx_doc_6median_18median_2d_int8_axis1}; -static PyObject *__pyx_pw_6median_19median_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_19median_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_18median_2d_float64_axis0[] = "median_2d_float64_axis0(ndarray a)\nMedian of 2d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_6median_19median_2d_float64_axis0 = {"median_2d_float64_axis0", (PyCFunction)__pyx_pw_6median_19median_2d_float64_axis0, METH_O, __pyx_doc_6median_18median_2d_float64_axis0}; +static PyObject *__pyx_pw_6median_19median_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_int8_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_18median_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("median_2d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6median_18median_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7016,18 +6991,18 @@ static PyObject *__pyx_pw_6median_19median_2d_int8_axis1(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_18median_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; - __pyx_t_5numpy_int8_t __pyx_v_amax; - __pyx_t_5numpy_int8_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_amax; + __pyx_t_5numpy_float64_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -7048,24 +7023,24 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject int __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - npy_intp __pyx_t_9; - Py_ssize_t __pyx_t_10; - npy_intp __pyx_t_11; - Py_ssize_t __pyx_t_12; - npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; - npy_intp __pyx_t_15; - Py_ssize_t __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; + npy_intp __pyx_t_8; + Py_ssize_t __pyx_t_9; + npy_intp __pyx_t_10; + Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_12; + Py_ssize_t __pyx_t_13; + npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_15; + npy_intp __pyx_t_16; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; npy_intp __pyx_t_22; npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; Py_ssize_t __pyx_t_26; Py_ssize_t __pyx_t_27; Py_ssize_t __pyx_t_28; @@ -7073,7 +7048,7 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("median_2d_float64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -7088,35 +7063,35 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "median.pyx":529 - * def median_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Median of 2d array with dtype=int8 along axis=1." + /* "median.pyx":535 + * def median_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Median of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp, amax, ai - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp, amax, ai + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; - /* "median.pyx":531 + /* "median.pyx":537 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int8_t x, tmp, amax, ai - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp, amax, ai + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -7124,7 +7099,7 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":534 + /* "median.pyx":540 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7133,50 +7108,50 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "median.pyx":535 + /* "median.pyx":541 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "median.pyx":536 + /* "median.pyx":542 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "median.pyx":537 + /* "median.pyx":543 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) */ - __pyx_t_3[0] = __pyx_v_n0; + __pyx_t_3[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "median.pyx":538 + /* "median.pyx":544 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) - * if n1 == 0: + * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -7184,34 +7159,34 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":540 + /* "median.pyx":546 * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y */ - __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_5) { - /* "median.pyx":541 + /* "median.pyx":547 * NPY_float64, 0) - * if n1 == 0: + * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y - * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":542 - * if n1 == 0: + /* "median.pyx":548 + * if n0 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< - * for i0 in range(n0): - * k = n1 >> 1 + * for i1 in range(n1): + * k = n0 >> 1 */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -7219,179 +7194,179 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject goto __pyx_L0; } - /* "median.pyx":543 + /* "median.pyx":549 * PyArray_FillWithScalar(y, NAN) * return y - * for i0 in range(n0): # <<<<<<<<<<<<<< - * k = n1 >> 1 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * k = n0 >> 1 * l = 0 */ - __pyx_t_6 = __pyx_v_n0; + __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_v_i1 = __pyx_t_7; - /* "median.pyx":544 + /* "median.pyx":550 * return y - * for i0 in range(n0): - * k = n1 >> 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * k = n0 >> 1 # <<<<<<<<<<<<<< * l = 0 - * r = n1 - 1 + * r = n0 - 1 */ - __pyx_v_k = (__pyx_v_n1 >> 1); + __pyx_v_k = (__pyx_v_n0 >> 1); - /* "median.pyx":545 - * for i0 in range(n0): - * k = n1 >> 1 + /* "median.pyx":551 + * for i1 in range(n1): + * k = n0 >> 1 * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 + * r = n0 - 1 * while l < r: */ __pyx_v_l = 0; - /* "median.pyx":546 - * k = n1 >> 1 + /* "median.pyx":552 + * k = n0 >> 1 * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[i0, k] + * x = b[k, i1] */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_r = (__pyx_v_n0 - 1); - /* "median.pyx":547 + /* "median.pyx":553 * l = 0 - * r = n1 - 1 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] + * x = b[k, i1] * i = l */ while (1) { __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_5) break; - /* "median.pyx":548 - * r = n1 - 1 + /* "median.pyx":554 + * r = n0 - 1 * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_k; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":549 + /* "median.pyx":555 * while l < r: - * x = b[i0, k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "median.pyx":550 - * x = b[i0, k] + /* "median.pyx":556 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i0, i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "median.pyx":551 + /* "median.pyx":557 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ while (1) { - /* "median.pyx":552 + /* "median.pyx":558 * j = r * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_10 = __pyx_v_i; + __pyx_t_11 = __pyx_v_i1; + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "median.pyx":553 + /* "median.pyx":559 * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i0, i] + * tmp = b[i, i1] */ while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_j; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "median.pyx":554 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "median.pyx":560 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_5) { - /* "median.pyx":555 - * while x < b[i0, j]: j -= 1 + /* "median.pyx":561 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_14 = __pyx_v_i; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":556 + /* "median.pyx":562 * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp * i += 1 */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_j; + __pyx_t_17 = __pyx_v_i1; + __pyx_t_18 = __pyx_v_i; + __pyx_t_19 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":557 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":563 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_j; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "median.pyx":558 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "median.pyx":564 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":559 - * b[i0, j] = tmp + /* "median.pyx":565 + * b[j, i1] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -7402,7 +7377,7 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject } __pyx_L14:; - /* "median.pyx":560 + /* "median.pyx":566 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -7416,12 +7391,12 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject } __pyx_L9_break:; - /* "median.pyx":561 + /* "median.pyx":567 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n1 % 2 == 0: + * if n0 % 2 == 0: */ __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); if (__pyx_t_5) { @@ -7430,12 +7405,12 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject } __pyx_L16:; - /* "median.pyx":562 + /* "median.pyx":568 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< - * if n1 % 2 == 0: - * amax = MINint8 + * if n0 % 2 == 0: + * amax = MINfloat64 */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -7445,62 +7420,62 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_L17:; } - /* "median.pyx":563 + /* "median.pyx":569 * if j < k: l = i * if k < i: r = j - * if n1 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint8 + * if n0 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINfloat64 * for i in range(k): */ - __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); + __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); if (__pyx_t_5) { - /* "median.pyx":564 + /* "median.pyx":570 * if k < i: r = j - * if n1 % 2 == 0: - * amax = MINint8 # <<<<<<<<<<<<<< + * if n0 % 2 == 0: + * amax = MINfloat64 # <<<<<<<<<<<<<< * for i in range(k): - * ai = b[i0, i] + * ai = b[i, i1] */ - __pyx_v_amax = __pyx_v_6median_MINint8; + __pyx_v_amax = __pyx_v_6median_MINfloat64; - /* "median.pyx":565 - * if n1 % 2 == 0: - * amax = MINint8 + /* "median.pyx":571 + * if n0 % 2 == 0: + * amax = MINfloat64 * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i0, i] + * ai = b[i, i1] * if ai >= amax: */ __pyx_t_22 = __pyx_v_k; for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { __pyx_v_i = __pyx_t_23; - /* "median.pyx":566 - * amax = MINint8 + /* "median.pyx":572 + * amax = MINfloat64 * for i in range(k): - * ai = b[i0, i] # <<<<<<<<<<<<<< + * ai = b[i, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":567 + /* "median.pyx":573 * for i in range(k): - * ai = b[i0, i] + * ai = b[i, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i0] = 0.5 * (b[i0, k] + amax) + * y[i1] = 0.5 * (b[k, i1] + amax) */ __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_5) { - /* "median.pyx":568 - * ai = b[i0, i] + /* "median.pyx":574 + * ai = b[i, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i0] = 0.5 * (b[i0, k] + amax) + * y[i1] = 0.5 * (b[k, i1] + amax) * else: */ __pyx_v_amax = __pyx_v_ai; @@ -7509,39 +7484,39 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_L21:; } - /* "median.pyx":569 + /* "median.pyx":575 * if ai >= amax: * amax = ai - * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< + * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< * else: - * y[i0] = b[i0, k] + * y[i1] = b[k, i1] */ - __pyx_t_26 = __pyx_v_i0; __pyx_t_22 = __pyx_v_k; - __pyx_t_27 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + __pyx_t_26 = __pyx_v_i1; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { - /* "median.pyx":571 - * y[i0] = 0.5 * (b[i0, k] + amax) + /* "median.pyx":577 + * y[i1] = 0.5 * (b[k, i1] + amax) * else: - * y[i0] = b[i0, k] # <<<<<<<<<<<<<< + * y[i1] = b[k, i1] # <<<<<<<<<<<<<< * return y * */ - __pyx_t_28 = __pyx_v_i0; __pyx_t_23 = __pyx_v_k; - __pyx_t_29 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides))); + __pyx_t_28 = __pyx_v_i1; + __pyx_t_29 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides)); } __pyx_L18:; } - /* "median.pyx":572 + /* "median.pyx":578 * else: - * y[i0] = b[i0, k] + * y[i1] = b[k, i1] * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -7551,11 +7526,11 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "median.pyx":527 + /* "median.pyx":533 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int8 along axis=1." + * def median_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -7568,7 +7543,7 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7583,27 +7558,27 @@ static PyObject *__pyx_pf_6median_18median_2d_int8_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "median.pyx":576 +/* "median.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int32 along axis=0." + * def median_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_21median_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_20median_2d_int32_axis0[] = "median_2d_int32_axis0(ndarray a)\nMedian of 2d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_6median_21median_2d_int32_axis0 = {"median_2d_int32_axis0", (PyCFunction)__pyx_pw_6median_21median_2d_int32_axis0, METH_O, __pyx_doc_6median_20median_2d_int32_axis0}; -static PyObject *__pyx_pw_6median_21median_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_21median_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_20median_2d_float64_axis1[] = "median_2d_float64_axis1(ndarray a)\nMedian of 2d array with dtype=float64 along axis=1."; +static PyMethodDef __pyx_mdef_6median_21median_2d_float64_axis1 = {"median_2d_float64_axis1", (PyCFunction)__pyx_pw_6median_21median_2d_float64_axis1, METH_O, __pyx_doc_6median_20median_2d_float64_axis1}; +static PyObject *__pyx_pw_6median_21median_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_20median_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("median_2d_float64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6median_20median_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7614,18 +7589,18 @@ static PyObject *__pyx_pw_6median_21median_2d_int32_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_20median_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; - __pyx_t_5numpy_int32_t __pyx_v_amax; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_amax; + __pyx_t_5numpy_float64_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -7646,24 +7621,24 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject int __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; - npy_intp __pyx_t_8; - Py_ssize_t __pyx_t_9; - npy_intp __pyx_t_10; - Py_ssize_t __pyx_t_11; - npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; - npy_intp __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; + Py_ssize_t __pyx_t_8; + npy_intp __pyx_t_9; + Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; npy_intp __pyx_t_22; npy_intp __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; Py_ssize_t __pyx_t_26; Py_ssize_t __pyx_t_27; Py_ssize_t __pyx_t_28; @@ -7671,7 +7646,7 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("median_2d_float64_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -7686,35 +7661,35 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "median.pyx":578 - * def median_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Median of 2d array with dtype=int32 along axis=0." + /* "median.pyx":584 + * def median_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Median of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp, amax, ai - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp, amax, ai + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; - /* "median.pyx":580 + /* "median.pyx":586 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int32_t x, tmp, amax, ai - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp, amax, ai + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -7722,7 +7697,7 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":583 + /* "median.pyx":589 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7731,50 +7706,50 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "median.pyx":584 + /* "median.pyx":590 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "median.pyx":585 + /* "median.pyx":591 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "median.pyx":586 + /* "median.pyx":592 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) */ - __pyx_t_3[0] = __pyx_v_n1; + __pyx_t_3[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_3; - /* "median.pyx":587 + /* "median.pyx":593 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) - * if n0 == 0: + * if n1 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -7782,34 +7757,34 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":589 + /* "median.pyx":595 * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y */ - __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_5) { - /* "median.pyx":590 + /* "median.pyx":596 * NPY_float64, 0) - * if n0 == 0: + * if n1 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y - * for i1 in range(n1): + * for i0 in range(n0): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":591 - * if n0 == 0: + /* "median.pyx":597 + * if n1 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< - * for i1 in range(n1): - * k = n0 >> 1 + * for i0 in range(n0): + * k = n1 >> 1 */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -7817,179 +7792,179 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject goto __pyx_L0; } - /* "median.pyx":592 + /* "median.pyx":598 * PyArray_FillWithScalar(y, NAN) * return y - * for i1 in range(n1): # <<<<<<<<<<<<<< - * k = n0 >> 1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * k = n1 >> 1 * l = 0 */ - __pyx_t_6 = __pyx_v_n1; + __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_v_i0 = __pyx_t_7; - /* "median.pyx":593 + /* "median.pyx":599 * return y - * for i1 in range(n1): - * k = n0 >> 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * k = n1 >> 1 # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_v_k = (__pyx_v_n0 >> 1); + __pyx_v_k = (__pyx_v_n1 >> 1); - /* "median.pyx":594 - * for i1 in range(n1): - * k = n0 >> 1 + /* "median.pyx":600 + * for i0 in range(n0): + * k = n1 >> 1 * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "median.pyx":595 - * k = n0 >> 1 + /* "median.pyx":601 + * k = n1 >> 1 * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "median.pyx":596 + /* "median.pyx":602 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_5) break; - /* "median.pyx":597 - * r = n0 - 1 + /* "median.pyx":603 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":598 + /* "median.pyx":604 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "median.pyx":599 - * x = b[k, i1] + /* "median.pyx":605 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "median.pyx":600 + /* "median.pyx":606 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "median.pyx":601 + /* "median.pyx":607 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_10 = __pyx_v_i; - __pyx_t_11 = __pyx_v_i1; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i; + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "median.pyx":602 + /* "median.pyx":608 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_j; + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "median.pyx":603 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "median.pyx":609 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_5) { - /* "median.pyx":604 - * while x < b[j, i1]: j -= 1 + /* "median.pyx":610 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_14 = __pyx_v_i; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":605 + /* "median.pyx":611 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp * i += 1 */ - __pyx_t_16 = __pyx_v_j; - __pyx_t_17 = __pyx_v_i1; - __pyx_t_18 = __pyx_v_i; - __pyx_t_19 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":606 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":612 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_20 = __pyx_v_j; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "median.pyx":607 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "median.pyx":613 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":608 - * b[j, i1] = tmp + /* "median.pyx":614 + * b[i0, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -8000,7 +7975,7 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject } __pyx_L14:; - /* "median.pyx":609 + /* "median.pyx":615 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -8014,12 +7989,12 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject } __pyx_L9_break:; - /* "median.pyx":610 + /* "median.pyx":616 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n0 % 2 == 0: + * if n1 % 2 == 0: */ __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); if (__pyx_t_5) { @@ -8028,12 +8003,12 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject } __pyx_L16:; - /* "median.pyx":611 + /* "median.pyx":617 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< - * if n0 % 2 == 0: - * amax = MINint32 + * if n1 % 2 == 0: + * amax = MINfloat64 */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -8043,62 +8018,62 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_L17:; } - /* "median.pyx":612 + /* "median.pyx":618 * if j < k: l = i * if k < i: r = j - * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint32 + * if n1 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINfloat64 * for i in range(k): */ - __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); + __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); if (__pyx_t_5) { - /* "median.pyx":613 + /* "median.pyx":619 * if k < i: r = j - * if n0 % 2 == 0: - * amax = MINint32 # <<<<<<<<<<<<<< + * if n1 % 2 == 0: + * amax = MINfloat64 # <<<<<<<<<<<<<< * for i in range(k): - * ai = b[i, i1] + * ai = b[i0, i] */ - __pyx_v_amax = __pyx_v_6median_MINint32; + __pyx_v_amax = __pyx_v_6median_MINfloat64; - /* "median.pyx":614 - * if n0 % 2 == 0: - * amax = MINint32 + /* "median.pyx":620 + * if n1 % 2 == 0: + * amax = MINfloat64 * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i, i1] + * ai = b[i0, i] * if ai >= amax: */ __pyx_t_22 = __pyx_v_k; for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { __pyx_v_i = __pyx_t_23; - /* "median.pyx":615 - * amax = MINint32 + /* "median.pyx":621 + * amax = MINfloat64 * for i in range(k): - * ai = b[i, i1] # <<<<<<<<<<<<<< + * ai = b[i0, i] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":616 + /* "median.pyx":622 * for i in range(k): - * ai = b[i, i1] + * ai = b[i0, i] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i1] = 0.5 * (b[k, i1] + amax) + * y[i0] = 0.5 * (b[i0, k] + amax) */ __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_5) { - /* "median.pyx":617 - * ai = b[i, i1] + /* "median.pyx":623 + * ai = b[i0, i] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i1] = 0.5 * (b[k, i1] + amax) + * y[i0] = 0.5 * (b[i0, k] + amax) * else: */ __pyx_v_amax = __pyx_v_ai; @@ -8107,39 +8082,39 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_L21:; } - /* "median.pyx":618 + /* "median.pyx":624 * if ai >= amax: * amax = ai - * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< + * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< * else: - * y[i1] = b[k, i1] + * y[i0] = b[i0, k] */ + __pyx_t_26 = __pyx_v_i0; __pyx_t_22 = __pyx_v_k; - __pyx_t_26 = __pyx_v_i1; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + __pyx_t_27 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { - /* "median.pyx":620 - * y[i1] = 0.5 * (b[k, i1] + amax) + /* "median.pyx":626 + * y[i0] = 0.5 * (b[i0, k] + amax) * else: - * y[i1] = b[k, i1] # <<<<<<<<<<<<<< + * y[i0] = b[i0, k] # <<<<<<<<<<<<<< * return y * */ + __pyx_t_28 = __pyx_v_i0; __pyx_t_23 = __pyx_v_k; - __pyx_t_28 = __pyx_v_i1; - __pyx_t_29 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides))); + __pyx_t_29 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); } __pyx_L18:; } - /* "median.pyx":621 + /* "median.pyx":627 * else: - * y[i1] = b[k, i1] + * y[i0] = b[i0, k] * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -8149,11 +8124,11 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "median.pyx":576 + /* "median.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int32 along axis=0." + * def median_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -8166,7 +8141,7 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8181,27 +8156,27 @@ static PyObject *__pyx_pf_6median_20median_2d_int32_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "median.pyx":625 +/* "median.pyx":631 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int32 along axis=1." + * def median_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_23median_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_22median_2d_int32_axis1[] = "median_2d_int32_axis1(ndarray a)\nMedian of 2d array with dtype=int32 along axis=1."; -static PyMethodDef __pyx_mdef_6median_23median_2d_int32_axis1 = {"median_2d_int32_axis1", (PyCFunction)__pyx_pw_6median_23median_2d_int32_axis1, METH_O, __pyx_doc_6median_22median_2d_int32_axis1}; -static PyObject *__pyx_pw_6median_23median_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_23median_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_22median_1d_int_axis0[] = "median_1d_int_axis0(ndarray a)\nMedian of 1d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_6median_23median_1d_int_axis0 = {"median_1d_int_axis0", (PyCFunction)__pyx_pw_6median_23median_1d_int_axis0, METH_O, __pyx_doc_6median_22median_1d_int_axis0}; +static PyObject *__pyx_pw_6median_23median_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_int32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_22median_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("median_1d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6median_22median_1d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8212,568 +8187,593 @@ static PyObject *__pyx_pw_6median_23median_2d_int32_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6median_22median_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_22median_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; - __pyx_t_5numpy_int32_t __pyx_v_amax; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_amax; + __pyx_t_5numpy_int_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; __Pyx_Buffer __pyx_pybuffer_b; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[1]; - PyArrayObject *__pyx_t_4 = NULL; - int __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + npy_intp __pyx_t_8; npy_intp __pyx_t_9; - Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_10; npy_intp __pyx_t_11; - Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_12; npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_14; npy_intp __pyx_t_15; - Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_16; npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - npy_intp __pyx_t_22; - npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; - Py_ssize_t __pyx_t_26; - Py_ssize_t __pyx_t_27; - Py_ssize_t __pyx_t_28; - Py_ssize_t __pyx_t_29; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("median_1d_int_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "median.pyx":627 - * def median_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Median of 2d array with dtype=int32 along axis=1." + /* "median.pyx":633 + * def median_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): + * "Median of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp, amax, ai - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int_t x, tmp, amax, ai + * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; - /* "median.pyx":629 + /* "median.pyx":635 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int32_t x, tmp, amax, ai - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.int_t x, tmp, amax, ai + * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":632 - * cdef Py_ssize_t i0, i1 + /* "median.pyx":638 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "median.pyx":633 + /* "median.pyx":639 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 == 0: + * return np.float64(NAN) */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "median.pyx":634 + /* "median.pyx":640 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * k = n0 >> 1 */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_3) { - /* "median.pyx":635 + /* "median.pyx":641 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - */ - __pyx_t_3[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_3; - - /* "median.pyx":636 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: - */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_4 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "median.pyx":638 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * return y - */ - __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_5) { - - /* "median.pyx":639 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * return y - * for i0 in range(n0): - */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "median.pyx":640 - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) - * return y # <<<<<<<<<<<<<< - * for i0 in range(n0): - * k = n1 >> 1 + * if n0 == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * k = n0 >> 1 + * l = 0 */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_6) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else { + __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; + PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; goto __pyx_L0; } - /* "median.pyx":641 - * PyArray_FillWithScalar(y, NAN) - * return y - * for i0 in range(n0): # <<<<<<<<<<<<<< - * k = n1 >> 1 - * l = 0 + /* "median.pyx":642 + * if n0 == 0: + * return np.float64(NAN) + * k = n0 >> 1 # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_v_k = (__pyx_v_n0 >> 1); - /* "median.pyx":642 - * return y - * for i0 in range(n0): - * k = n1 >> 1 # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + /* "median.pyx":643 + * return np.float64(NAN) + * k = n0 >> 1 + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_v_k = (__pyx_v_n1 >> 1); + __pyx_v_l = 0; - /* "median.pyx":643 - * for i0 in range(n0): - * k = n1 >> 1 - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 + /* "median.pyx":644 + * k = n0 >> 1 + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: * while l < r: */ - __pyx_v_l = 0; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "median.pyx":644 - * k = n1 >> 1 - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< + /* "median.pyx":645 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< * while l < r: - * x = b[i0, k] + * x = b[k] */ - __pyx_v_r = (__pyx_v_n1 - 1); + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { - /* "median.pyx":645 - * l = 0 - * r = n1 - 1 + /* "median.pyx":646 + * r = n0 - 1 + * with nogil: * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] + * x = b[k] * i = l */ - while (1) { - __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_5) break; + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "median.pyx":646 - * r = n1 - 1 + /* "median.pyx":647 + * with nogil: * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< + * x = b[k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":647 + /* "median.pyx":648 * while l < r: - * x = b[i0, k] + * x = b[k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "median.pyx":648 - * x = b[i0, k] + /* "median.pyx":649 + * x = b[k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i0, i] < x: i += 1 + * while b[i] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "median.pyx":649 + /* "median.pyx":650 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ - while (1) { + while (1) { - /* "median.pyx":650 + /* "median.pyx":651 * j = r * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_5) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_9 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "median.pyx":651 + /* "median.pyx":652 * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i0, i] + * tmp = b[i] */ - while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_j; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_5) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_10 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "median.pyx":652 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "median.pyx":653 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * tmp = b[i] + * b[i] = b[j] */ - __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_5) { + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "median.pyx":653 - * while x < b[i0, j]: j -= 1 + /* "median.pyx":654 + * while x < b[j]: j -= 1 * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_11 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":654 + /* "median.pyx":655 * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp * i += 1 */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":655 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":656 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_14 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "median.pyx":656 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "median.pyx":657 + * b[i] = b[j] + * b[j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":657 - * b[i0, j] = tmp + /* "median.pyx":658 + * b[j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L14; - } - __pyx_L14:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L15; + } + __pyx_L15:; - /* "median.pyx":658 + /* "median.pyx":659 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_5 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_5) { - goto __pyx_L9_break; - } - } - __pyx_L9_break:; + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L10_break; + } + } + __pyx_L10_break:; - /* "median.pyx":659 + /* "median.pyx":660 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n1 % 2 == 0: + * if n0 % 2 == 0: */ - __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_5) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L16; - } - __pyx_L16:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L17; + } + __pyx_L17:; - /* "median.pyx":660 + /* "median.pyx":661 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< - * if n1 % 2 == 0: - * amax = MINint32 + * if n0 % 2 == 0: + * amax = MINint */ - __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_5) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L17; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L18; + } + __pyx_L18:; + } } - __pyx_L17:; - } - /* "median.pyx":661 + /* "median.pyx":645 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] + */ + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L6; + } + __pyx_L6:; + } + } + + /* "median.pyx":662 * if j < k: l = i * if k < i: r = j - * if n1 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint32 - * for i in range(k): + * if n0 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINint + * for i in range(k): */ - __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); - if (__pyx_t_5) { + __pyx_t_3 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); + if (__pyx_t_3) { - /* "median.pyx":662 + /* "median.pyx":663 * if k < i: r = j - * if n1 % 2 == 0: - * amax = MINint32 # <<<<<<<<<<<<<< - * for i in range(k): - * ai = b[i0, i] + * if n0 % 2 == 0: + * amax = MINint # <<<<<<<<<<<<<< + * for i in range(k): + * ai = b[i] */ - __pyx_v_amax = __pyx_v_6median_MINint32; + __pyx_v_amax = __pyx_v_6median_MINint; - /* "median.pyx":663 - * if n1 % 2 == 0: - * amax = MINint32 - * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i0, i] - * if ai >= amax: + /* "median.pyx":664 + * if n0 % 2 == 0: + * amax = MINint + * for i in range(k): # <<<<<<<<<<<<<< + * ai = b[i] + * if ai >= amax: */ - __pyx_t_22 = __pyx_v_k; - for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { - __pyx_v_i = __pyx_t_23; + __pyx_t_15 = __pyx_v_k; + for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) { + __pyx_v_i = __pyx_t_16; - /* "median.pyx":664 - * amax = MINint32 - * for i in range(k): - * ai = b[i0, i] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "median.pyx":665 + * amax = MINint + * for i in range(k): + * ai = b[i] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_17 = __pyx_v_i; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":665 - * for i in range(k): - * ai = b[i0, i] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * y[i0] = 0.5 * (b[i0, k] + amax) + /* "median.pyx":666 + * for i in range(k): + * ai = b[i] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * return np.float64(0.5 * (b[k] + amax)) */ - __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_5) { + __pyx_t_3 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_3) { - /* "median.pyx":666 - * ai = b[i0, i] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * y[i0] = 0.5 * (b[i0, k] + amax) - * else: + /* "median.pyx":667 + * ai = b[i] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * return np.float64(0.5 * (b[k] + amax)) + * else: */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L21; - } - __pyx_L21:; + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L22; } - - /* "median.pyx":667 - * if ai >= amax: - * amax = ai - * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< - * else: - * y[i0] = b[i0, k] - */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_22 = __pyx_v_k; - __pyx_t_27 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); - goto __pyx_L18; + __pyx_L22:; } - /*else*/ { - /* "median.pyx":669 - * y[i0] = 0.5 * (b[i0, k] + amax) - * else: - * y[i0] = b[i0, k] # <<<<<<<<<<<<<< - * return y - * + /* "median.pyx":668 + * if ai >= amax: + * amax = ai + * return np.float64(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< + * else: + * return np.float64(b[k]) */ - __pyx_t_28 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_k; - __pyx_t_29 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides))); + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_15 = __pyx_v_k; + __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } } - __pyx_L18:; + if (!__pyx_t_4) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; } + /*else*/ { - /* "median.pyx":670 - * else: - * y[i0] = b[i0, k] - * return y # <<<<<<<<<<<<<< + /* "median.pyx":670 + * return np.float64(0.5 * (b[k] + amax)) + * else: + * return np.float64(b[k]) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_16 = __pyx_v_k; + __pyx_t_7 = __Pyx_PyInt_From_npy_long((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_5) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else { + __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + } - /* "median.pyx":625 + /* "median.pyx":631 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int32 along axis=1." + * def median_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_b); - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -8782,24 +8782,24 @@ static PyObject *__pyx_pf_6median_22median_2d_int32_axis1(CYTHON_UNUSED PyObject /* "median.pyx":674 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int64 along axis=0." + * def median_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_25median_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_24median_2d_int64_axis0[] = "median_2d_int64_axis0(ndarray a)\nMedian of 2d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_6median_25median_2d_int64_axis0 = {"median_2d_int64_axis0", (PyCFunction)__pyx_pw_6median_25median_2d_int64_axis0, METH_O, __pyx_doc_6median_24median_2d_int64_axis0}; -static PyObject *__pyx_pw_6median_25median_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_25median_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_24median_1d_int8_axis0[] = "median_1d_int8_axis0(ndarray a)\nMedian of 1d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_6median_25median_1d_int8_axis0 = {"median_1d_int8_axis0", (PyCFunction)__pyx_pw_6median_25median_1d_int8_axis0, METH_O, __pyx_doc_6median_24median_1d_int8_axis0}; +static PyObject *__pyx_pw_6median_25median_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_1d_int8_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_24median_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_24median_1d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8810,96 +8810,74 @@ static PyObject *__pyx_pw_6median_25median_2d_int64_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6median_24median_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_24median_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; - __pyx_t_5numpy_int64_t __pyx_v_amax; - __pyx_t_5numpy_int64_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_amax; + __pyx_t_5numpy_int8_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; __Pyx_Buffer __pyx_pybuffer_b; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[1]; - PyArrayObject *__pyx_t_4 = NULL; - int __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; npy_intp __pyx_t_8; - Py_ssize_t __pyx_t_9; + npy_intp __pyx_t_9; npy_intp __pyx_t_10; - Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_11; npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; + npy_intp __pyx_t_13; npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; + npy_intp __pyx_t_15; npy_intp __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - npy_intp __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; - Py_ssize_t __pyx_t_26; - Py_ssize_t __pyx_t_27; - Py_ssize_t __pyx_t_28; - Py_ssize_t __pyx_t_29; + npy_intp __pyx_t_17; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_int64_axis0", 0); + __Pyx_RefNannySetupContext("median_1d_int8_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "median.pyx":676 - * def median_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Median of 2d array with dtype=int64 along axis=0." + * def median_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): + * "Median of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp, amax, ai - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp, amax, ai + * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":678 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int64_t x, tmp, amax, ai - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.int8_t x, tmp, amax, ai + * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -8908,10 +8886,10 @@ static PyObject *__pyx_pf_6median_24median_2d_int64_axis0(CYTHON_UNUSED PyObject __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; @@ -8919,11 +8897,11 @@ static PyObject *__pyx_pf_6median_24median_2d_int64_axis0(CYTHON_UNUSED PyObject __pyx_t_1 = 0; /* "median.pyx":681 - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); @@ -8931,473 +8909,520 @@ static PyObject *__pyx_pf_6median_24median_2d_int64_axis0(CYTHON_UNUSED PyObject * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 == 0: + * return np.float64(NAN) */ __pyx_v_n0 = (__pyx_v_dim[0]); /* "median.pyx":683 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "median.pyx":684 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - */ - __pyx_t_3[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_3; - - /* "median.pyx":685 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: - */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_4 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "median.pyx":687 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * return y - */ - __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_5) { - - /* "median.pyx":688 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * return y - * for i1 in range(n1): + * return np.float64(NAN) + * k = n0 >> 1 */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_3) { - /* "median.pyx":689 + /* "median.pyx":684 + * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) - * return y # <<<<<<<<<<<<<< - * for i1 in range(n1): - * k = n0 >> 1 + * return np.float64(NAN) # <<<<<<<<<<<<<< + * k = n0 >> 1 + * l = 0 */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_6) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else { + __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; + PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; goto __pyx_L0; } - /* "median.pyx":690 - * PyArray_FillWithScalar(y, NAN) - * return y - * for i1 in range(n1): # <<<<<<<<<<<<<< - * k = n0 >> 1 - * l = 0 + /* "median.pyx":685 + * if n0 == 0: + * return np.float64(NAN) + * k = n0 >> 1 # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_v_k = (__pyx_v_n0 >> 1); - /* "median.pyx":691 - * return y - * for i1 in range(n1): - * k = n0 >> 1 # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + /* "median.pyx":686 + * return np.float64(NAN) + * k = n0 >> 1 + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_v_k = (__pyx_v_n0 >> 1); + __pyx_v_l = 0; - /* "median.pyx":692 - * for i1 in range(n1): - * k = n0 >> 1 - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + /* "median.pyx":687 + * k = n0 >> 1 + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: * while l < r: */ - __pyx_v_l = 0; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "median.pyx":693 - * k = n0 >> 1 - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + /* "median.pyx":688 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { - /* "median.pyx":694 - * l = 0 - * r = n0 - 1 + /* "median.pyx":689 + * r = n0 - 1 + * with nogil: * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[k] * i = l */ - while (1) { - __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_5) break; + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "median.pyx":695 - * r = n0 - 1 + /* "median.pyx":690 + * with nogil: * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":696 + /* "median.pyx":691 * while l < r: - * x = b[k, i1] + * x = b[k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "median.pyx":697 - * x = b[k, i1] + /* "median.pyx":692 + * x = b[k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "median.pyx":698 + /* "median.pyx":693 * i = l * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while 1: # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ - while (1) { + while (1) { - /* "median.pyx":699 + /* "median.pyx":694 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_10 = __pyx_v_i; - __pyx_t_11 = __pyx_v_i1; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_5) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_9 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "median.pyx":700 + /* "median.pyx":695 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i] */ - while (1) { - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_5) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_10 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "median.pyx":701 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "median.pyx":696 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i] + * b[i] = b[j] */ - __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_5) { + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "median.pyx":702 - * while x < b[j, i1]: j -= 1 + /* "median.pyx":697 + * while x < b[j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_14 = __pyx_v_i; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_11 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":703 + /* "median.pyx":698 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp * i += 1 */ - __pyx_t_16 = __pyx_v_j; - __pyx_t_17 = __pyx_v_i1; - __pyx_t_18 = __pyx_v_i; - __pyx_t_19 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":704 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":699 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_20 = __pyx_v_j; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_14 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "median.pyx":705 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "median.pyx":700 + * b[i] = b[j] + * b[j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":706 - * b[j, i1] = tmp + /* "median.pyx":701 + * b[j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L14; - } - __pyx_L14:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L15; + } + __pyx_L15:; - /* "median.pyx":707 + /* "median.pyx":702 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_5 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_5) { - goto __pyx_L9_break; - } - } - __pyx_L9_break:; + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L10_break; + } + } + __pyx_L10_break:; - /* "median.pyx":708 + /* "median.pyx":703 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n0 % 2 == 0: + * if n0 % 2 == 0: */ - __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_5) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L16; - } - __pyx_L16:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L17; + } + __pyx_L17:; - /* "median.pyx":709 + /* "median.pyx":704 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< - * if n0 % 2 == 0: - * amax = MINint64 + * if n0 % 2 == 0: + * amax = MINint8 */ - __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_5) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L17; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L18; + } + __pyx_L18:; + } } - __pyx_L17:; - } - /* "median.pyx":710 + /* "median.pyx":688 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] + */ + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L6; + } + __pyx_L6:; + } + } + + /* "median.pyx":705 * if j < k: l = i * if k < i: r = j - * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint64 - * for i in range(k): + * if n0 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINint8 + * for i in range(k): */ - __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); - if (__pyx_t_5) { + __pyx_t_3 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); + if (__pyx_t_3) { - /* "median.pyx":711 + /* "median.pyx":706 * if k < i: r = j - * if n0 % 2 == 0: - * amax = MINint64 # <<<<<<<<<<<<<< - * for i in range(k): - * ai = b[i, i1] + * if n0 % 2 == 0: + * amax = MINint8 # <<<<<<<<<<<<<< + * for i in range(k): + * ai = b[i] */ - __pyx_v_amax = __pyx_v_6median_MINint64; + __pyx_v_amax = __pyx_v_6median_MINint8; - /* "median.pyx":712 - * if n0 % 2 == 0: - * amax = MINint64 - * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i, i1] - * if ai >= amax: + /* "median.pyx":707 + * if n0 % 2 == 0: + * amax = MINint8 + * for i in range(k): # <<<<<<<<<<<<<< + * ai = b[i] + * if ai >= amax: */ - __pyx_t_22 = __pyx_v_k; - for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { - __pyx_v_i = __pyx_t_23; + __pyx_t_15 = __pyx_v_k; + for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) { + __pyx_v_i = __pyx_t_16; - /* "median.pyx":713 - * amax = MINint64 - * for i in range(k): - * ai = b[i, i1] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "median.pyx":708 + * amax = MINint8 + * for i in range(k): + * ai = b[i] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_24 = __pyx_v_i; - __pyx_t_25 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_17 = __pyx_v_i; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":714 - * for i in range(k): - * ai = b[i, i1] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * y[i1] = 0.5 * (b[k, i1] + amax) + /* "median.pyx":709 + * for i in range(k): + * ai = b[i] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * return np.float64(0.5 * (b[k] + amax)) */ - __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_5) { + __pyx_t_3 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_3) { - /* "median.pyx":715 - * ai = b[i, i1] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * y[i1] = 0.5 * (b[k, i1] + amax) - * else: + /* "median.pyx":710 + * ai = b[i] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * return np.float64(0.5 * (b[k] + amax)) + * else: */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L21; - } - __pyx_L21:; + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L22; } - - /* "median.pyx":716 - * if ai >= amax: - * amax = ai - * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< - * else: - * y[i1] = b[k, i1] - */ - __pyx_t_22 = __pyx_v_k; - __pyx_t_26 = __pyx_v_i1; - __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); - goto __pyx_L18; + __pyx_L22:; } - /*else*/ { - /* "median.pyx":718 - * y[i1] = 0.5 * (b[k, i1] + amax) - * else: - * y[i1] = b[k, i1] # <<<<<<<<<<<<<< - * return y - * + /* "median.pyx":711 + * if ai >= amax: + * amax = ai + * return np.float64(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< + * else: + * return np.float64(b[k]) */ - __pyx_t_23 = __pyx_v_k; - __pyx_t_28 = __pyx_v_i1; - __pyx_t_29 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides))); + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_15 = __pyx_v_k; + __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } } - __pyx_L18:; + if (!__pyx_t_4) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; } + /*else*/ { - /* "median.pyx":719 - * else: - * y[i1] = b[k, i1] - * return y # <<<<<<<<<<<<<< + /* "median.pyx":713 + * return np.float64(0.5 * (b[k] + amax)) + * else: + * return np.float64(b[k]) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_16 = __pyx_v_k; + __pyx_t_7 = __Pyx_PyInt_From_npy_int8((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_5) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else { + __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + } /* "median.pyx":674 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int64 along axis=0." + * def median_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_b); - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "median.pyx":723 +/* "median.pyx":717 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int64 along axis=1." + * def median_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_27median_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_26median_2d_int64_axis1[] = "median_2d_int64_axis1(ndarray a)\nMedian of 2d array with dtype=int64 along axis=1."; -static PyMethodDef __pyx_mdef_6median_27median_2d_int64_axis1 = {"median_2d_int64_axis1", (PyCFunction)__pyx_pw_6median_27median_2d_int64_axis1, METH_O, __pyx_doc_6median_26median_2d_int64_axis1}; -static PyObject *__pyx_pw_6median_27median_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_27median_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_26median_1d_int32_axis0[] = "median_1d_int32_axis0(ndarray a)\nMedian of 1d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_6median_27median_1d_int32_axis0 = {"median_1d_int32_axis0", (PyCFunction)__pyx_pw_6median_27median_1d_int32_axis0, METH_O, __pyx_doc_6median_26median_1d_int32_axis0}; +static PyObject *__pyx_pw_6median_27median_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_26median_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("median_1d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6median_26median_1d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9408,594 +9433,619 @@ static PyObject *__pyx_pw_6median_27median_2d_int64_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6median_26median_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_26median_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; - __pyx_t_5numpy_int64_t __pyx_v_amax; - __pyx_t_5numpy_int64_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_amax; + __pyx_t_5numpy_int32_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; __Pyx_Buffer __pyx_pybuffer_b; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[1]; - PyArrayObject *__pyx_t_4 = NULL; - int __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + npy_intp __pyx_t_8; npy_intp __pyx_t_9; - Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_10; npy_intp __pyx_t_11; - Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_12; npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_14; npy_intp __pyx_t_15; - Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_16; npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - npy_intp __pyx_t_22; - npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; - Py_ssize_t __pyx_t_26; - Py_ssize_t __pyx_t_27; - Py_ssize_t __pyx_t_28; - Py_ssize_t __pyx_t_29; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_int64_axis1", 0); + __Pyx_RefNannySetupContext("median_1d_int32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "median.pyx":725 - * def median_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Median of 2d array with dtype=int64 along axis=1." + /* "median.pyx":719 + * def median_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): + * "Median of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp, amax, ai - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp, amax, ai + * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; - /* "median.pyx":727 + /* "median.pyx":721 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.int64_t x, tmp, amax, ai - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.int32_t x, tmp, amax, ai + * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":730 - * cdef Py_ssize_t i0, i1 + /* "median.pyx":724 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "median.pyx":731 + /* "median.pyx":725 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "median.pyx":732 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "median.pyx":733 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - */ - __pyx_t_3[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_3; - - /* "median.pyx":734 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: - */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_4 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "median.pyx":736 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * return y - */ - __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_5) { + * if n0 == 0: + * return np.float64(NAN) + */ + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "median.pyx":737 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * return y - * for i0 in range(n0): + /* "median.pyx":726 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * k = n0 >> 1 */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_3) { - /* "median.pyx":738 - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) - * return y # <<<<<<<<<<<<<< - * for i0 in range(n0): - * k = n1 >> 1 + /* "median.pyx":727 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * k = n0 >> 1 + * l = 0 */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_6) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else { + __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; + PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; goto __pyx_L0; } - /* "median.pyx":739 - * PyArray_FillWithScalar(y, NAN) - * return y - * for i0 in range(n0): # <<<<<<<<<<<<<< - * k = n1 >> 1 - * l = 0 + /* "median.pyx":728 + * if n0 == 0: + * return np.float64(NAN) + * k = n0 >> 1 # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_v_k = (__pyx_v_n0 >> 1); - /* "median.pyx":740 - * return y - * for i0 in range(n0): - * k = n1 >> 1 # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + /* "median.pyx":729 + * return np.float64(NAN) + * k = n0 >> 1 + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_v_k = (__pyx_v_n1 >> 1); + __pyx_v_l = 0; - /* "median.pyx":741 - * for i0 in range(n0): - * k = n1 >> 1 - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 + /* "median.pyx":730 + * k = n0 >> 1 + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: * while l < r: */ - __pyx_v_l = 0; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "median.pyx":742 - * k = n1 >> 1 - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< + /* "median.pyx":731 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< * while l < r: - * x = b[i0, k] + * x = b[k] */ - __pyx_v_r = (__pyx_v_n1 - 1); + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { - /* "median.pyx":743 - * l = 0 - * r = n1 - 1 + /* "median.pyx":732 + * r = n0 - 1 + * with nogil: * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] + * x = b[k] * i = l */ - while (1) { - __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_5) break; + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "median.pyx":744 - * r = n1 - 1 + /* "median.pyx":733 + * with nogil: * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< + * x = b[k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":745 + /* "median.pyx":734 * while l < r: - * x = b[i0, k] + * x = b[k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "median.pyx":746 - * x = b[i0, k] + /* "median.pyx":735 + * x = b[k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i0, i] < x: i += 1 + * while b[i] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "median.pyx":747 + /* "median.pyx":736 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ - while (1) { + while (1) { - /* "median.pyx":748 + /* "median.pyx":737 * j = r * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_5) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_9 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "median.pyx":749 + /* "median.pyx":738 * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i0, i] + * tmp = b[i] */ - while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_j; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_5) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_10 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "median.pyx":750 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "median.pyx":739 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * tmp = b[i] + * b[i] = b[j] */ - __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_5) { + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "median.pyx":751 - * while x < b[i0, j]: j -= 1 + /* "median.pyx":740 + * while x < b[j]: j -= 1 * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_11 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":752 + /* "median.pyx":741 * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp * i += 1 */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":753 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":742 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_14 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "median.pyx":754 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "median.pyx":743 + * b[i] = b[j] + * b[j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":755 - * b[i0, j] = tmp + /* "median.pyx":744 + * b[j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L14; - } - __pyx_L14:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L15; + } + __pyx_L15:; - /* "median.pyx":756 + /* "median.pyx":745 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_5 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_5) { - goto __pyx_L9_break; - } - } - __pyx_L9_break:; + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L10_break; + } + } + __pyx_L10_break:; - /* "median.pyx":757 + /* "median.pyx":746 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n1 % 2 == 0: + * if n0 % 2 == 0: */ - __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_5) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L16; - } - __pyx_L16:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L17; + } + __pyx_L17:; - /* "median.pyx":758 + /* "median.pyx":747 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< - * if n1 % 2 == 0: - * amax = MINint64 + * if n0 % 2 == 0: + * amax = MINint32 */ - __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_5) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L17; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L18; + } + __pyx_L18:; + } } - __pyx_L17:; - } - /* "median.pyx":759 + /* "median.pyx":731 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] + */ + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L6; + } + __pyx_L6:; + } + } + + /* "median.pyx":748 * if j < k: l = i * if k < i: r = j - * if n1 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINint64 - * for i in range(k): + * if n0 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINint32 + * for i in range(k): */ - __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); - if (__pyx_t_5) { + __pyx_t_3 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); + if (__pyx_t_3) { - /* "median.pyx":760 + /* "median.pyx":749 * if k < i: r = j - * if n1 % 2 == 0: - * amax = MINint64 # <<<<<<<<<<<<<< - * for i in range(k): - * ai = b[i0, i] + * if n0 % 2 == 0: + * amax = MINint32 # <<<<<<<<<<<<<< + * for i in range(k): + * ai = b[i] */ - __pyx_v_amax = __pyx_v_6median_MINint64; + __pyx_v_amax = __pyx_v_6median_MINint32; - /* "median.pyx":761 - * if n1 % 2 == 0: - * amax = MINint64 - * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i0, i] - * if ai >= amax: + /* "median.pyx":750 + * if n0 % 2 == 0: + * amax = MINint32 + * for i in range(k): # <<<<<<<<<<<<<< + * ai = b[i] + * if ai >= amax: */ - __pyx_t_22 = __pyx_v_k; - for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { - __pyx_v_i = __pyx_t_23; + __pyx_t_15 = __pyx_v_k; + for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) { + __pyx_v_i = __pyx_t_16; - /* "median.pyx":762 - * amax = MINint64 - * for i in range(k): - * ai = b[i0, i] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "median.pyx":751 + * amax = MINint32 + * for i in range(k): + * ai = b[i] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_17 = __pyx_v_i; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":763 - * for i in range(k): - * ai = b[i0, i] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * y[i0] = 0.5 * (b[i0, k] + amax) + /* "median.pyx":752 + * for i in range(k): + * ai = b[i] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * return np.float64(0.5 * (b[k] + amax)) */ - __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_5) { + __pyx_t_3 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_3) { - /* "median.pyx":764 - * ai = b[i0, i] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * y[i0] = 0.5 * (b[i0, k] + amax) - * else: + /* "median.pyx":753 + * ai = b[i] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * return np.float64(0.5 * (b[k] + amax)) + * else: */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L21; - } - __pyx_L21:; + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L22; } - - /* "median.pyx":765 - * if ai >= amax: - * amax = ai - * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< - * else: - * y[i0] = b[i0, k] - */ - __pyx_t_26 = __pyx_v_i0; - __pyx_t_22 = __pyx_v_k; - __pyx_t_27 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); - goto __pyx_L18; + __pyx_L22:; } - /*else*/ { - /* "median.pyx":767 - * y[i0] = 0.5 * (b[i0, k] + amax) - * else: - * y[i0] = b[i0, k] # <<<<<<<<<<<<<< - * return y - * + /* "median.pyx":754 + * if ai >= amax: + * amax = ai + * return np.float64(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< + * else: + * return np.float64(b[k]) */ - __pyx_t_28 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_k; - __pyx_t_29 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides))); + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_15 = __pyx_v_k; + __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } } - __pyx_L18:; + if (!__pyx_t_4) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; } + /*else*/ { - /* "median.pyx":768 - * else: - * y[i0] = b[i0, k] - * return y # <<<<<<<<<<<<<< + /* "median.pyx":756 + * return np.float64(0.5 * (b[k] + amax)) + * else: + * return np.float64(b[k]) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_16 = __pyx_v_k; + __pyx_t_7 = __Pyx_PyInt_From_npy_int32((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_5) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else { + __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + } - /* "median.pyx":723 + /* "median.pyx":717 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int64 along axis=1." + * def median_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_b); - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "median.pyx":772 +/* "median.pyx":760 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float along axis=0." + * def median_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_29median_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_28median_1d_float_axis0[] = "median_1d_float_axis0(ndarray a)\nMedian of 1d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_6median_29median_1d_float_axis0 = {"median_1d_float_axis0", (PyCFunction)__pyx_pw_6median_29median_1d_float_axis0, METH_O, __pyx_doc_6median_28median_1d_float_axis0}; -static PyObject *__pyx_pw_6median_29median_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_29median_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_28median_1d_int64_axis0[] = "median_1d_int64_axis0(ndarray a)\nMedian of 1d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_6median_29median_1d_int64_axis0 = {"median_1d_int64_axis0", (PyCFunction)__pyx_pw_6median_29median_1d_int64_axis0, METH_O, __pyx_doc_6median_28median_1d_int64_axis0}; +static PyObject *__pyx_pw_6median_29median_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_1d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_28median_1d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("median_1d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6median_28median_1d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10006,16 +10056,16 @@ static PyObject *__pyx_pw_6median_29median_1d_float_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_28median_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; - __pyx_t_5numpy_float_t __pyx_v_amax; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_amax; + __pyx_t_5numpy_int64_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -10045,7 +10095,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_1d_float_axis0", 0); + __Pyx_RefNannySetupContext("median_1d_int64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -10056,35 +10106,35 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "median.pyx":774 - * def median_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): - * "Median of 1d array with dtype=float along axis=0." + /* "median.pyx":762 + * def median_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): + * "Median of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp, amax, ai - * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp, amax, ai + * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; - /* "median.pyx":776 + /* "median.pyx":764 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.float_t x, tmp, amax, ai - * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp, amax, ai + * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } @@ -10092,7 +10142,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":779 + /* "median.pyx":767 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10101,39 +10151,39 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "median.pyx":780 + /* "median.pyx":768 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * if n0 == 0: - * return np.float(NAN) + * return np.float64(NAN) */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "median.pyx":781 + /* "median.pyx":769 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< - * return np.float(NAN) + * return np.float64(NAN) * k = n0 >> 1 */ __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "median.pyx":782 + /* "median.pyx":770 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * k = n0 >> 1 * l = 0 */ __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { @@ -10146,17 +10196,17 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject } } if (!__pyx_t_6) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else { - __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } @@ -10166,17 +10216,17 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject goto __pyx_L0; } - /* "median.pyx":783 + /* "median.pyx":771 * if n0 == 0: - * return np.float(NAN) + * return np.float64(NAN) * k = n0 >> 1 # <<<<<<<<<<<<<< * l = 0 * r = n0 - 1 */ __pyx_v_k = (__pyx_v_n0 >> 1); - /* "median.pyx":784 - * return np.float(NAN) + /* "median.pyx":772 + * return np.float64(NAN) * k = n0 >> 1 * l = 0 # <<<<<<<<<<<<<< * r = n0 - 1 @@ -10184,7 +10234,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_v_l = 0; - /* "median.pyx":785 + /* "median.pyx":773 * k = n0 >> 1 * l = 0 * r = n0 - 1 # <<<<<<<<<<<<<< @@ -10193,7 +10243,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_v_r = (__pyx_v_n0 - 1); - /* "median.pyx":786 + /* "median.pyx":774 * l = 0 * r = n0 - 1 * with nogil: # <<<<<<<<<<<<<< @@ -10207,7 +10257,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject #endif /*try:*/ { - /* "median.pyx":787 + /* "median.pyx":775 * r = n0 - 1 * with nogil: * while l < r: # <<<<<<<<<<<<<< @@ -10218,7 +10268,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "median.pyx":788 + /* "median.pyx":776 * with nogil: * while l < r: * x = b[k] # <<<<<<<<<<<<<< @@ -10226,9 +10276,9 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject * j = r */ __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":789 + /* "median.pyx":777 * while l < r: * x = b[k] * i = l # <<<<<<<<<<<<<< @@ -10237,7 +10287,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_v_i = __pyx_v_l; - /* "median.pyx":790 + /* "median.pyx":778 * x = b[k] * i = l * j = r # <<<<<<<<<<<<<< @@ -10246,7 +10296,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_v_j = __pyx_v_r; - /* "median.pyx":791 + /* "median.pyx":779 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -10255,7 +10305,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject */ while (1) { - /* "median.pyx":792 + /* "median.pyx":780 * j = r * while 1: * while b[i] < x: i += 1 # <<<<<<<<<<<<<< @@ -10264,12 +10314,12 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject */ while (1) { __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "median.pyx":793 + /* "median.pyx":781 * while 1: * while b[i] < x: i += 1 * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< @@ -10278,12 +10328,12 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject */ while (1) { __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "median.pyx":794 + /* "median.pyx":782 * while b[i] < x: i += 1 * while x < b[j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -10293,7 +10343,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "median.pyx":795 + /* "median.pyx":783 * while x < b[j]: j -= 1 * if i <= j: * tmp = b[i] # <<<<<<<<<<<<<< @@ -10301,9 +10351,9 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject * b[j] = tmp */ __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":796 + /* "median.pyx":784 * if i <= j: * tmp = b[i] * b[i] = b[j] # <<<<<<<<<<<<<< @@ -10312,9 +10362,9 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_t_12 = __pyx_v_j; __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":797 + /* "median.pyx":785 * tmp = b[i] * b[i] = b[j] * b[j] = tmp # <<<<<<<<<<<<<< @@ -10322,9 +10372,9 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject * j -= 1 */ __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "median.pyx":798 + /* "median.pyx":786 * b[i] = b[j] * b[j] = tmp * i += 1 # <<<<<<<<<<<<<< @@ -10333,7 +10383,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":799 + /* "median.pyx":787 * b[j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -10345,7 +10395,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject } __pyx_L15:; - /* "median.pyx":800 + /* "median.pyx":788 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -10359,7 +10409,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject } __pyx_L10_break:; - /* "median.pyx":801 + /* "median.pyx":789 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -10373,12 +10423,12 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject } __pyx_L17:; - /* "median.pyx":802 + /* "median.pyx":790 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * if n0 % 2 == 0: - * amax = MINfloat + * amax = MINint64 */ __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_3) { @@ -10389,7 +10439,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject } } - /* "median.pyx":786 + /* "median.pyx":774 * l = 0 * r = n0 - 1 * with nogil: # <<<<<<<<<<<<<< @@ -10407,28 +10457,28 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject } } - /* "median.pyx":803 + /* "median.pyx":791 * if j < k: l = i * if k < i: r = j * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINfloat + * amax = MINint64 * for i in range(k): */ __pyx_t_3 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); if (__pyx_t_3) { - /* "median.pyx":804 + /* "median.pyx":792 * if k < i: r = j * if n0 % 2 == 0: - * amax = MINfloat # <<<<<<<<<<<<<< + * amax = MINint64 # <<<<<<<<<<<<<< * for i in range(k): * ai = b[i] */ - __pyx_v_amax = __pyx_v_6median_MINfloat; + __pyx_v_amax = __pyx_v_6median_MINint64; - /* "median.pyx":805 + /* "median.pyx":793 * if n0 % 2 == 0: - * amax = MINfloat + * amax = MINint64 * for i in range(k): # <<<<<<<<<<<<<< * ai = b[i] * if ai >= amax: @@ -10437,31 +10487,31 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) { __pyx_v_i = __pyx_t_16; - /* "median.pyx":806 - * amax = MINfloat + /* "median.pyx":794 + * amax = MINint64 * for i in range(k): * ai = b[i] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ __pyx_t_17 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "median.pyx":807 + /* "median.pyx":795 * for i in range(k): * ai = b[i] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * return np.float(0.5 * (b[k] + amax)) + * return np.float64(0.5 * (b[k] + amax)) */ __pyx_t_3 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_3) { - /* "median.pyx":808 + /* "median.pyx":796 * ai = b[i] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * return np.float(0.5 * (b[k] + amax)) + * return np.float64(0.5 * (b[k] + amax)) * else: */ __pyx_v_amax = __pyx_v_ai; @@ -10470,21 +10520,21 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject __pyx_L22:; } - /* "median.pyx":809 + /* "median.pyx":797 * if ai >= amax: * amax = ai - * return np.float(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< + * return np.float64(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< * else: - * return np.float(b[k]) + * return np.float64(b[k]) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_15 = __pyx_v_k; - __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { @@ -10497,17 +10547,17 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject } } if (!__pyx_t_4) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } @@ -10518,21 +10568,21 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject } /*else*/ { - /* "median.pyx":811 - * return np.float(0.5 * (b[k] + amax)) + /* "median.pyx":799 + * return np.float64(0.5 * (b[k] + amax)) * else: - * return np.float(b[k]) # <<<<<<<<<<<<<< + * return np.float64(b[k]) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyInt_From_npy_int64((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { @@ -10545,17 +10595,17 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject } } if (!__pyx_t_5) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_1); } else { - __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } @@ -10565,11 +10615,11 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject goto __pyx_L0; } - /* "median.pyx":772 + /* "median.pyx":760 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float along axis=0." + * def median_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -10585,7 +10635,7 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -10598,27 +10648,27 @@ static PyObject *__pyx_pf_6median_28median_1d_float_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "median.pyx":815 +/* "median.pyx":803 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float32 along axis=0." + * def median_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_31median_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_30median_1d_float32_axis0[] = "median_1d_float32_axis0(ndarray a)\nMedian of 1d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_6median_31median_1d_float32_axis0 = {"median_1d_float32_axis0", (PyCFunction)__pyx_pw_6median_31median_1d_float32_axis0, METH_O, __pyx_doc_6median_30median_1d_float32_axis0}; -static PyObject *__pyx_pw_6median_31median_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_31median_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_30median_2d_int_axis0[] = "median_2d_int_axis0(ndarray a)\nMedian of 2d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_6median_31median_2d_int_axis0 = {"median_2d_int_axis0", (PyCFunction)__pyx_pw_6median_31median_2d_int_axis0, METH_O, __pyx_doc_6median_30median_2d_int_axis0}; +static PyObject *__pyx_pw_6median_31median_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_1d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_30median_1d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("median_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6median_30median_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10629,619 +10679,594 @@ static PyObject *__pyx_pw_6median_31median_1d_float32_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6median_30median_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_30median_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; - __pyx_t_5numpy_float32_t __pyx_v_amax; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_amax; + __pyx_t_5numpy_int_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; __Pyx_Buffer __pyx_pybuffer_b; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; + npy_intp __pyx_t_3[1]; + PyArrayObject *__pyx_t_4 = NULL; + int __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; npy_intp __pyx_t_8; - npy_intp __pyx_t_9; + Py_ssize_t __pyx_t_9; npy_intp __pyx_t_10; - npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_11; npy_intp __pyx_t_12; - npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_13; npy_intp __pyx_t_14; - npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_15; npy_intp __pyx_t_16; - npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + npy_intp __pyx_t_23; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; + Py_ssize_t __pyx_t_26; + Py_ssize_t __pyx_t_27; + Py_ssize_t __pyx_t_28; + Py_ssize_t __pyx_t_29; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_1d_float32_axis0", 0); + __Pyx_RefNannySetupContext("median_2d_int_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "median.pyx":817 - * def median_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): - * "Median of 1d array with dtype=float32 along axis=0." + /* "median.pyx":805 + * def median_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Median of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp, amax, ai - * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) + * cdef np.int_t x, tmp, amax, ai + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; - /* "median.pyx":819 + /* "median.pyx":807 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.float32_t x, tmp, amax, ai - * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.int_t x, tmp, amax, ai + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":822 - * cdef Py_ssize_t i0 + /* "median.pyx":810 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "median.pyx":823 + /* "median.pyx":811 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * return np.float32(NAN) + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "median.pyx":824 + /* "median.pyx":812 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * return np.float32(NAN) - * k = n0 >> 1 + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_3) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "median.pyx":825 + /* "median.pyx":813 * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + */ + __pyx_t_3[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_3; + + /* "median.pyx":814 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * if n0 == 0: - * return np.float32(NAN) # <<<<<<<<<<<<<< - * k = n0 >> 1 - * l = 0 */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float32); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - if (!__pyx_t_6) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else { - __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; - PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; } + __pyx_t_4 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "median.pyx":816 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * return y + */ + __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_5) { - /* "median.pyx":826 + /* "median.pyx":817 + * NPY_float64, 0) * if n0 == 0: - * return np.float32(NAN) - * k = n0 >> 1 # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * return y + * for i1 in range(n1): */ - __pyx_v_k = (__pyx_v_n0 >> 1); + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":827 - * return np.float32(NAN) - * k = n0 >> 1 - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + /* "median.pyx":818 + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) + * return y # <<<<<<<<<<<<<< + * for i1 in range(n1): + * k = n0 >> 1 */ - __pyx_v_l = 0; + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + } - /* "median.pyx":828 - * k = n0 >> 1 - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + /* "median.pyx":819 + * PyArray_FillWithScalar(y, NAN) + * return y + * for i1 in range(n1): # <<<<<<<<<<<<<< + * k = n0 >> 1 + * l = 0 + */ + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; + + /* "median.pyx":820 + * return y + * for i1 in range(n1): + * k = n0 >> 1 # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 + */ + __pyx_v_k = (__pyx_v_n0 >> 1); + + /* "median.pyx":821 + * for i1 in range(n1): + * k = n0 >> 1 + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "median.pyx":829 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "median.pyx":822 + * k = n0 >> 1 + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[k, i1] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n0 - 1); - /* "median.pyx":830 - * r = n0 - 1 - * with nogil: + /* "median.pyx":823 + * l = 0 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[k, i1] * i = l */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + while (1) { + __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_5) break; - /* "median.pyx":831 - * with nogil: + /* "median.pyx":824 + * r = n0 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_8 = __pyx_v_k; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":832 + /* "median.pyx":825 * while l < r: - * x = b[k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "median.pyx":833 - * x = b[k] + /* "median.pyx":826 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "median.pyx":834 + /* "median.pyx":827 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ - while (1) { + while (1) { - /* "median.pyx":835 + /* "median.pyx":828 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_10 = __pyx_v_i; + __pyx_t_11 = __pyx_v_i1; + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_5) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "median.pyx":836 + /* "median.pyx":829 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i, i1] */ - while (1) { - __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_5) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "median.pyx":837 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "median.pyx":830 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_5) { - /* "median.pyx":838 - * while x < b[j]: j -= 1 + /* "median.pyx":831 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_14 = __pyx_v_i; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":839 + /* "median.pyx":832 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp * i += 1 */ - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_16 = __pyx_v_j; + __pyx_t_17 = __pyx_v_i1; + __pyx_t_18 = __pyx_v_i; + __pyx_t_19 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":840 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":833 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_j; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "median.pyx":841 - * b[i] = b[j] - * b[j] = tmp + /* "median.pyx":834 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":842 - * b[j] = tmp + /* "median.pyx":835 + * b[j, i1] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L15; - } - __pyx_L15:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L14; + } + __pyx_L14:; - /* "median.pyx":843 + /* "median.pyx":836 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L10_break; - } - } - __pyx_L10_break:; + __pyx_t_5 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_5) { + goto __pyx_L9_break; + } + } + __pyx_L9_break:; - /* "median.pyx":844 + /* "median.pyx":837 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n0 % 2 == 0: - */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L17; - } - __pyx_L17:; - - /* "median.pyx":845 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< - * if n0 % 2 == 0: - * amax = MINfloat32 + * if n0 % 2 == 0: */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L18; - } - __pyx_L18:; - } + __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_5) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L16; } + __pyx_L16:; - /* "median.pyx":829 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] + /* "median.pyx":838 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< + * if n0 % 2 == 0: + * amax = MINint */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L6; - } - __pyx_L6:; + __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_5) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L17; } - } + __pyx_L17:; + } - /* "median.pyx":846 + /* "median.pyx":839 * if j < k: l = i * if k < i: r = j - * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINfloat32 - * for i in range(k): + * if n0 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINint + * for i in range(k): */ - __pyx_t_3 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); - if (__pyx_t_3) { + __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); + if (__pyx_t_5) { - /* "median.pyx":847 + /* "median.pyx":840 * if k < i: r = j - * if n0 % 2 == 0: - * amax = MINfloat32 # <<<<<<<<<<<<<< - * for i in range(k): - * ai = b[i] + * if n0 % 2 == 0: + * amax = MINint # <<<<<<<<<<<<<< + * for i in range(k): + * ai = b[i, i1] */ - __pyx_v_amax = __pyx_v_6median_MINfloat32; + __pyx_v_amax = __pyx_v_6median_MINint; - /* "median.pyx":848 - * if n0 % 2 == 0: - * amax = MINfloat32 - * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i] - * if ai >= amax: + /* "median.pyx":841 + * if n0 % 2 == 0: + * amax = MINint + * for i in range(k): # <<<<<<<<<<<<<< + * ai = b[i, i1] + * if ai >= amax: */ - __pyx_t_15 = __pyx_v_k; - for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) { - __pyx_v_i = __pyx_t_16; + __pyx_t_22 = __pyx_v_k; + for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { + __pyx_v_i = __pyx_t_23; - /* "median.pyx":849 - * amax = MINfloat32 - * for i in range(k): - * ai = b[i] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "median.pyx":842 + * amax = MINint + * for i in range(k): + * ai = b[i, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_17 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_24 = __pyx_v_i; + __pyx_t_25 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":850 - * for i in range(k): - * ai = b[i] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * return np.float32(0.5 * (b[k] + amax)) + /* "median.pyx":843 + * for i in range(k): + * ai = b[i, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * y[i1] = 0.5 * (b[k, i1] + amax) */ - __pyx_t_3 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_3) { + __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_5) { - /* "median.pyx":851 - * ai = b[i] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * return np.float32(0.5 * (b[k] + amax)) - * else: + /* "median.pyx":844 + * ai = b[i, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * y[i1] = 0.5 * (b[k, i1] + amax) + * else: */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L22; + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L21; + } + __pyx_L21:; } - __pyx_L22:; - } - /* "median.pyx":852 - * if ai >= amax: - * amax = ai - * return np.float32(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< - * else: - * return np.float32(b[k]) + /* "median.pyx":845 + * if ai >= amax: + * amax = ai + * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< + * else: + * y[i1] = b[k, i1] */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_15 = __pyx_v_k; - __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } + __pyx_t_22 = __pyx_v_k; + __pyx_t_26 = __pyx_v_i1; + __pyx_t_27 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + goto __pyx_L18; } - if (!__pyx_t_4) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + /*else*/ { + + /* "median.pyx":847 + * y[i1] = 0.5 * (b[k, i1] + amax) + * else: + * y[i1] = b[k, i1] # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_23 = __pyx_v_k; + __pyx_t_28 = __pyx_v_i1; + __pyx_t_29 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides))); } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; + __pyx_L18:; } - /*else*/ { - /* "median.pyx":854 - * return np.float32(0.5 * (b[k] + amax)) - * else: - * return np.float32(b[k]) # <<<<<<<<<<<<<< + /* "median.pyx":848 + * else: + * y[i1] = b[k, i1] + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_5) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else { - __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "median.pyx":815 + /* "median.pyx":803 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float32 along axis=0." + * def median_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_b); + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "median.pyx":858 +/* "median.pyx":852 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float64 along axis=0." + * def median_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_33median_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_32median_1d_float64_axis0[] = "median_1d_float64_axis0(ndarray a)\nMedian of 1d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_6median_33median_1d_float64_axis0 = {"median_1d_float64_axis0", (PyCFunction)__pyx_pw_6median_33median_1d_float64_axis0, METH_O, __pyx_doc_6median_32median_1d_float64_axis0}; -static PyObject *__pyx_pw_6median_33median_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_33median_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_32median_2d_int_axis1[] = "median_2d_int_axis1(ndarray a)\nMedian of 2d array with dtype=int along axis=1."; +static PyMethodDef __pyx_mdef_6median_33median_2d_int_axis1 = {"median_2d_int_axis1", (PyCFunction)__pyx_pw_6median_33median_2d_int_axis1, METH_O, __pyx_doc_6median_32median_2d_int_axis1}; +static PyObject *__pyx_pw_6median_33median_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_1d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_32median_1d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("median_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6median_32median_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -11252,593 +11277,568 @@ static PyObject *__pyx_pw_6median_33median_1d_float64_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6median_32median_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_32median_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; - __pyx_t_5numpy_float64_t __pyx_v_amax; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_amax; + __pyx_t_5numpy_int_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; __Pyx_Buffer __pyx_pybuffer_b; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - npy_intp __pyx_t_8; + npy_intp __pyx_t_3[1]; + PyArrayObject *__pyx_t_4 = NULL; + int __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; npy_intp __pyx_t_9; - npy_intp __pyx_t_10; + Py_ssize_t __pyx_t_10; npy_intp __pyx_t_11; - npy_intp __pyx_t_12; + Py_ssize_t __pyx_t_12; npy_intp __pyx_t_13; - npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_14; npy_intp __pyx_t_15; - npy_intp __pyx_t_16; + Py_ssize_t __pyx_t_16; npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + npy_intp __pyx_t_22; + npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; + Py_ssize_t __pyx_t_26; + Py_ssize_t __pyx_t_27; + Py_ssize_t __pyx_t_28; + Py_ssize_t __pyx_t_29; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_1d_float64_axis0", 0); + __Pyx_RefNannySetupContext("median_2d_int_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "median.pyx":860 - * def median_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): - * "Median of 1d array with dtype=float64 along axis=0." + /* "median.pyx":854 + * def median_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Median of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp, amax, ai - * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) + * cdef np.int_t x, tmp, amax, ai + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; - /* "median.pyx":862 + /* "median.pyx":856 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.float64_t x, tmp, amax, ai - * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.int_t x, tmp, amax, ai + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "median.pyx":865 - * cdef Py_ssize_t i0 + /* "median.pyx":859 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "median.pyx":866 + /* "median.pyx":860 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * return np.float64(NAN) + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "median.pyx":867 + /* "median.pyx":861 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * k = n0 >> 1 + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_3) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "median.pyx":868 + /* "median.pyx":862 * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * k = n0 >> 1 - * l = 0 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - if (!__pyx_t_6) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else { - __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; - PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_3[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_3; + + /* "median.pyx":863 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: + */ + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + } + __pyx_t_4 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "median.pyx":865 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * return y + */ + __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_5) { + + /* "median.pyx":866 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * return y + * for i0 in range(n0): + */ + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_6median_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "median.pyx":867 + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) + * return y # <<<<<<<<<<<<<< + * for i0 in range(n0): + * k = n1 >> 1 + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; } - /* "median.pyx":869 - * if n0 == 0: - * return np.float64(NAN) - * k = n0 >> 1 # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + /* "median.pyx":868 + * PyArray_FillWithScalar(y, NAN) + * return y + * for i0 in range(n0): # <<<<<<<<<<<<<< + * k = n1 >> 1 + * l = 0 */ - __pyx_v_k = (__pyx_v_n0 >> 1); + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "median.pyx":870 - * return np.float64(NAN) - * k = n0 >> 1 - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + /* "median.pyx":869 + * return y + * for i0 in range(n0): + * k = n1 >> 1 # <<<<<<<<<<<<<< + * l = 0 + * r = n1 - 1 */ - __pyx_v_l = 0; + __pyx_v_k = (__pyx_v_n1 >> 1); - /* "median.pyx":871 - * k = n0 >> 1 - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + /* "median.pyx":870 + * for i0 in range(n0): + * k = n1 >> 1 + * l = 0 # <<<<<<<<<<<<<< + * r = n1 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "median.pyx":872 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "median.pyx":871 + * k = n1 >> 1 + * l = 0 + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[i0, k] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n1 - 1); - /* "median.pyx":873 - * r = n0 - 1 - * with nogil: + /* "median.pyx":872 + * l = 0 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[i0, k] * i = l */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + while (1) { + __pyx_t_5 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_5) break; - /* "median.pyx":874 - * with nogil: + /* "median.pyx":873 + * r = n1 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":875 + /* "median.pyx":874 * while l < r: - * x = b[k] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "median.pyx":876 - * x = b[k] + /* "median.pyx":875 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i0, i] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "median.pyx":877 + /* "median.pyx":876 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ - while (1) { + while (1) { - /* "median.pyx":878 + /* "median.pyx":877 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i; + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_5) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "median.pyx":879 + /* "median.pyx":878 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i0, i] */ - while (1) { - __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_j; + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_5) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "median.pyx":880 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "median.pyx":879 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_5 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_5) { - /* "median.pyx":881 - * while x < b[j]: j -= 1 + /* "median.pyx":880 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":882 + /* "median.pyx":881 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp * i += 1 */ - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":883 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< + /* "median.pyx":882 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "median.pyx":884 - * b[i] = b[j] - * b[j] = tmp + /* "median.pyx":883 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "median.pyx":885 - * b[j] = tmp + /* "median.pyx":884 + * b[i0, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L15; - } - __pyx_L15:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L14; + } + __pyx_L14:; - /* "median.pyx":886 + /* "median.pyx":885 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L10_break; - } - } - __pyx_L10_break:; + __pyx_t_5 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_5) { + goto __pyx_L9_break; + } + } + __pyx_L9_break:; - /* "median.pyx":887 + /* "median.pyx":886 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j - * if n0 % 2 == 0: + * if n1 % 2 == 0: */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L17; - } - __pyx_L17:; + __pyx_t_5 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_5) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L16; + } + __pyx_L16:; - /* "median.pyx":888 + /* "median.pyx":887 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< - * if n0 % 2 == 0: - * amax = MINfloat64 - */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L18; - } - __pyx_L18:; - } - } - - /* "median.pyx":872 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] + * if n1 % 2 == 0: + * amax = MINint */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L6; - } - __pyx_L6:; + __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_5) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L17; } - } + __pyx_L17:; + } - /* "median.pyx":889 + /* "median.pyx":888 * if j < k: l = i * if k < i: r = j - * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINfloat64 - * for i in range(k): + * if n1 % 2 == 0: # <<<<<<<<<<<<<< + * amax = MINint + * for i in range(k): */ - __pyx_t_3 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); - if (__pyx_t_3) { + __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); + if (__pyx_t_5) { - /* "median.pyx":890 + /* "median.pyx":889 * if k < i: r = j - * if n0 % 2 == 0: - * amax = MINfloat64 # <<<<<<<<<<<<<< - * for i in range(k): - * ai = b[i] + * if n1 % 2 == 0: + * amax = MINint # <<<<<<<<<<<<<< + * for i in range(k): + * ai = b[i0, i] */ - __pyx_v_amax = __pyx_v_6median_MINfloat64; + __pyx_v_amax = __pyx_v_6median_MINint; - /* "median.pyx":891 - * if n0 % 2 == 0: - * amax = MINfloat64 - * for i in range(k): # <<<<<<<<<<<<<< - * ai = b[i] - * if ai >= amax: + /* "median.pyx":890 + * if n1 % 2 == 0: + * amax = MINint + * for i in range(k): # <<<<<<<<<<<<<< + * ai = b[i0, i] + * if ai >= amax: */ - __pyx_t_15 = __pyx_v_k; - for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) { - __pyx_v_i = __pyx_t_16; + __pyx_t_22 = __pyx_v_k; + for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) { + __pyx_v_i = __pyx_t_23; - /* "median.pyx":892 - * amax = MINfloat64 - * for i in range(k): - * ai = b[i] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "median.pyx":891 + * amax = MINint + * for i in range(k): + * ai = b[i0, i] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_17 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "median.pyx":893 - * for i in range(k): - * ai = b[i] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * return np.float64(0.5 * (b[k] + amax)) + /* "median.pyx":892 + * for i in range(k): + * ai = b[i0, i] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * y[i0] = 0.5 * (b[i0, k] + amax) */ - __pyx_t_3 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_3) { + __pyx_t_5 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_5) { - /* "median.pyx":894 - * ai = b[i] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * return np.float64(0.5 * (b[k] + amax)) - * else: + /* "median.pyx":893 + * ai = b[i0, i] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * y[i0] = 0.5 * (b[i0, k] + amax) + * else: */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L22; + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L21; + } + __pyx_L21:; } - __pyx_L22:; - } - /* "median.pyx":895 - * if ai >= amax: - * amax = ai - * return np.float64(0.5 * (b[k] + amax)) # <<<<<<<<<<<<<< - * else: - * return np.float64(b[k]) + /* "median.pyx":894 + * if ai >= amax: + * amax = ai + * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< + * else: + * y[i0] = b[i0, k] */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_15 = __pyx_v_k; - __pyx_t_5 = PyFloat_FromDouble((0.5 * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides)) + __pyx_v_amax))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } + __pyx_t_26 = __pyx_v_i0; + __pyx_t_22 = __pyx_v_k; + __pyx_t_27 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + goto __pyx_L18; } - if (!__pyx_t_4) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + /*else*/ { + + /* "median.pyx":896 + * y[i0] = 0.5 * (b[i0, k] + amax) + * else: + * y[i0] = b[i0, k] # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_28 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_k; + __pyx_t_29 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides))); } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; + __pyx_L18:; } - /*else*/ { - /* "median.pyx":897 - * return np.float64(0.5 * (b[k] + amax)) - * else: - * return np.float64(b[k]) # <<<<<<<<<<<<<< + /* "median.pyx":897 + * else: + * y[i0] = b[i0, k] + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_16 = __pyx_v_k; - __pyx_t_7 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_5) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else { - __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "median.pyx":858 + /* "median.pyx":852 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float64 along axis=0." + * def median_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_b); + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -11847,24 +11847,24 @@ static PyObject *__pyx_pf_6median_32median_1d_float64_axis0(CYTHON_UNUSED PyObje /* "median.pyx":901 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float along axis=0." + * def median_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_35median_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_34median_2d_float_axis0[] = "median_2d_float_axis0(ndarray a)\nMedian of 2d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_6median_35median_2d_float_axis0 = {"median_2d_float_axis0", (PyCFunction)__pyx_pw_6median_35median_2d_float_axis0, METH_O, __pyx_doc_6median_34median_2d_float_axis0}; -static PyObject *__pyx_pw_6median_35median_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_35median_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_34median_2d_int8_axis0[] = "median_2d_int8_axis0(ndarray a)\nMedian of 2d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_6median_35median_2d_int8_axis0 = {"median_2d_int8_axis0", (PyCFunction)__pyx_pw_6median_35median_2d_int8_axis0, METH_O, __pyx_doc_6median_34median_2d_int8_axis0}; +static PyObject *__pyx_pw_6median_35median_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_2d_int8_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_34median_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_34median_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -11875,16 +11875,16 @@ static PyObject *__pyx_pw_6median_35median_2d_float_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_34median_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; - __pyx_t_5numpy_float_t __pyx_v_amax; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_amax; + __pyx_t_5numpy_int8_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -11932,7 +11932,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_float_axis0", 0); + __Pyx_RefNannySetupContext("median_2d_int8_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -11947,23 +11947,23 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "median.pyx":903 - * def median_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Median of 2d array with dtype=float along axis=0." + * def median_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Median of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp, amax, ai - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp, amax, ai + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":905 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.float_t x, tmp, amax, ai - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int8_t x, tmp, amax, ai + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ @@ -11973,7 +11973,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; @@ -12006,7 +12006,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -12014,8 +12014,8 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_3[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; @@ -12023,17 +12023,17 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject /* "median.pyx":912 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -12044,8 +12044,8 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject __pyx_t_1 = 0; /* "median.pyx":914 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y @@ -12054,7 +12054,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject if (__pyx_t_5) { /* "median.pyx":915 - * NPY_float, 0) + * NPY_float64, 0) * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y @@ -12136,7 +12136,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_t_8 = __pyx_v_k; __pyx_t_9 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":923 * while l < r: @@ -12175,7 +12175,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject while (1) { __pyx_t_10 = __pyx_v_i; __pyx_t_11 = __pyx_v_i1; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -12190,7 +12190,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject while (1) { __pyx_t_12 = __pyx_v_j; __pyx_t_13 = __pyx_v_i1; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -12214,7 +12214,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_t_14 = __pyx_v_i; __pyx_t_15 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":930 * if i <= j: @@ -12227,7 +12227,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject __pyx_t_17 = __pyx_v_i1; __pyx_t_18 = __pyx_v_i; __pyx_t_19 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":931 * tmp = b[i, i1] @@ -12238,7 +12238,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_t_20 = __pyx_v_j; __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; /* "median.pyx":932 * b[i, i1] = b[j, i1] @@ -12294,7 +12294,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * if n0 % 2 == 0: - * amax = MINfloat + * amax = MINint8 */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -12308,7 +12308,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject * if j < k: l = i * if k < i: r = j * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINfloat + * amax = MINint8 * for i in range(k): */ __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); @@ -12317,15 +12317,15 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject /* "median.pyx":938 * if k < i: r = j * if n0 % 2 == 0: - * amax = MINfloat # <<<<<<<<<<<<<< + * amax = MINint8 # <<<<<<<<<<<<<< * for i in range(k): * ai = b[i, i1] */ - __pyx_v_amax = __pyx_v_6median_MINfloat; + __pyx_v_amax = __pyx_v_6median_MINint8; /* "median.pyx":939 * if n0 % 2 == 0: - * amax = MINfloat + * amax = MINint8 * for i in range(k): # <<<<<<<<<<<<<< * ai = b[i, i1] * if ai >= amax: @@ -12335,7 +12335,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject __pyx_v_i = __pyx_t_23; /* "median.pyx":940 - * amax = MINfloat + * amax = MINint8 * for i in range(k): * ai = b[i, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -12343,7 +12343,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject */ __pyx_t_24 = __pyx_v_i; __pyx_t_25 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":941 * for i in range(k): @@ -12373,12 +12373,12 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject * amax = ai * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< * else: - * y[i1] = b[k, i1] + * y[i1] = b[k, i1] */ __pyx_t_22 = __pyx_v_k; __pyx_t_26 = __pyx_v_i1; __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { @@ -12386,21 +12386,21 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject /* "median.pyx":945 * y[i1] = 0.5 * (b[k, i1] + amax) * else: - * y[i1] = b[k, i1] # <<<<<<<<<<<<<< + * y[i1] = b[k, i1] # <<<<<<<<<<<<<< * return y * */ __pyx_t_23 = __pyx_v_k; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides))); } __pyx_L18:; } /* "median.pyx":946 * else: - * y[i1] = b[k, i1] + * y[i1] = b[k, i1] * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -12413,8 +12413,8 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject /* "median.pyx":901 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float along axis=0." + * def median_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -12427,7 +12427,7 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -12445,24 +12445,24 @@ static PyObject *__pyx_pf_6median_34median_2d_float_axis0(CYTHON_UNUSED PyObject /* "median.pyx":950 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float along axis=1." + * def median_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_37median_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_36median_2d_float_axis1[] = "median_2d_float_axis1(ndarray a)\nMedian of 2d array with dtype=float along axis=1."; -static PyMethodDef __pyx_mdef_6median_37median_2d_float_axis1 = {"median_2d_float_axis1", (PyCFunction)__pyx_pw_6median_37median_2d_float_axis1, METH_O, __pyx_doc_6median_36median_2d_float_axis1}; -static PyObject *__pyx_pw_6median_37median_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_37median_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_36median_2d_int8_axis1[] = "median_2d_int8_axis1(ndarray a)\nMedian of 2d array with dtype=int8 along axis=1."; +static PyMethodDef __pyx_mdef_6median_37median_2d_int8_axis1 = {"median_2d_int8_axis1", (PyCFunction)__pyx_pw_6median_37median_2d_int8_axis1, METH_O, __pyx_doc_6median_36median_2d_int8_axis1}; +static PyObject *__pyx_pw_6median_37median_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_2d_int8_axis1 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_36median_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_36median_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -12473,16 +12473,16 @@ static PyObject *__pyx_pw_6median_37median_2d_float_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_36median_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; - __pyx_t_5numpy_float_t __pyx_v_amax; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_amax; + __pyx_t_5numpy_int8_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -12530,7 +12530,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_float_axis1", 0); + __Pyx_RefNannySetupContext("median_2d_int8_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -12545,23 +12545,23 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "median.pyx":952 - * def median_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Median of 2d array with dtype=float along axis=1." + * def median_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Median of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp, amax, ai - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp, amax, ai + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":954 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.float_t x, tmp, amax, ai - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int8_t x, tmp, amax, ai + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ @@ -12571,7 +12571,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; @@ -12604,7 +12604,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -12612,8 +12612,8 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_3[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_3; @@ -12621,17 +12621,17 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject /* "median.pyx":961 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * if n1 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -12642,8 +12642,8 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject __pyx_t_1 = 0; /* "median.pyx":963 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * if n1 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y @@ -12652,7 +12652,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject if (__pyx_t_5) { /* "median.pyx":964 - * NPY_float, 0) + * NPY_float64, 0) * if n1 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y @@ -12734,7 +12734,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":972 * while l < r: @@ -12773,7 +12773,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject while (1) { __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -12788,7 +12788,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject while (1) { __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_j; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -12812,7 +12812,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject */ __pyx_t_14 = __pyx_v_i0; __pyx_t_15 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":979 * if i <= j: @@ -12825,7 +12825,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject __pyx_t_17 = __pyx_v_j; __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":980 * tmp = b[i0, i] @@ -12836,7 +12836,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject */ __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; /* "median.pyx":981 * b[i0, i] = b[i0, j] @@ -12892,7 +12892,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * if n1 % 2 == 0: - * amax = MINfloat + * amax = MINint8 */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -12906,7 +12906,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject * if j < k: l = i * if k < i: r = j * if n1 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINfloat + * amax = MINint8 * for i in range(k): */ __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); @@ -12915,15 +12915,15 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject /* "median.pyx":987 * if k < i: r = j * if n1 % 2 == 0: - * amax = MINfloat # <<<<<<<<<<<<<< + * amax = MINint8 # <<<<<<<<<<<<<< * for i in range(k): * ai = b[i0, i] */ - __pyx_v_amax = __pyx_v_6median_MINfloat; + __pyx_v_amax = __pyx_v_6median_MINint8; /* "median.pyx":988 * if n1 % 2 == 0: - * amax = MINfloat + * amax = MINint8 * for i in range(k): # <<<<<<<<<<<<<< * ai = b[i0, i] * if ai >= amax: @@ -12933,7 +12933,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject __pyx_v_i = __pyx_t_23; /* "median.pyx":989 - * amax = MINfloat + * amax = MINint8 * for i in range(k): * ai = b[i0, i] # <<<<<<<<<<<<<< * if ai >= amax: @@ -12941,7 +12941,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject */ __pyx_t_24 = __pyx_v_i0; __pyx_t_25 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":990 * for i in range(k): @@ -12971,12 +12971,12 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject * amax = ai * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< * else: - * y[i0] = b[i0, k] + * y[i0] = b[i0, k] */ __pyx_t_26 = __pyx_v_i0; __pyx_t_22 = __pyx_v_k; __pyx_t_27 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { @@ -12984,21 +12984,21 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject /* "median.pyx":994 * y[i0] = 0.5 * (b[i0, k] + amax) * else: - * y[i0] = b[i0, k] # <<<<<<<<<<<<<< + * y[i0] = b[i0, k] # <<<<<<<<<<<<<< * return y * */ __pyx_t_28 = __pyx_v_i0; __pyx_t_23 = __pyx_v_k; __pyx_t_29 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides))); } __pyx_L18:; } /* "median.pyx":995 * else: - * y[i0] = b[i0, k] + * y[i0] = b[i0, k] * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -13011,8 +13011,8 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject /* "median.pyx":950 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float along axis=1." + * def median_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -13025,7 +13025,7 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -13043,24 +13043,24 @@ static PyObject *__pyx_pf_6median_36median_2d_float_axis1(CYTHON_UNUSED PyObject /* "median.pyx":999 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float32 along axis=0." + * def median_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_39median_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_38median_2d_float32_axis0[] = "median_2d_float32_axis0(ndarray a)\nMedian of 2d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_6median_39median_2d_float32_axis0 = {"median_2d_float32_axis0", (PyCFunction)__pyx_pw_6median_39median_2d_float32_axis0, METH_O, __pyx_doc_6median_38median_2d_float32_axis0}; -static PyObject *__pyx_pw_6median_39median_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_39median_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_38median_2d_int32_axis0[] = "median_2d_int32_axis0(ndarray a)\nMedian of 2d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_6median_39median_2d_int32_axis0 = {"median_2d_int32_axis0", (PyCFunction)__pyx_pw_6median_39median_2d_int32_axis0, METH_O, __pyx_doc_6median_38median_2d_int32_axis0}; +static PyObject *__pyx_pw_6median_39median_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_2d_int32_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_38median_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_38median_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -13071,16 +13071,16 @@ static PyObject *__pyx_pw_6median_39median_2d_float32_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_38median_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; - __pyx_t_5numpy_float32_t __pyx_v_amax; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_amax; + __pyx_t_5numpy_int32_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -13128,7 +13128,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_float32_axis0", 0); + __Pyx_RefNannySetupContext("median_2d_int32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -13143,23 +13143,23 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "median.pyx":1001 - * def median_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Median of 2d array with dtype=float32 along axis=0." + * def median_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Median of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp, amax, ai - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp, amax, ai + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":1003 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.float32_t x, tmp, amax, ai - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int32_t x, tmp, amax, ai + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ @@ -13169,7 +13169,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1003; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; @@ -13202,7 +13202,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -13210,8 +13210,8 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_3[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; @@ -13219,17 +13219,17 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje /* "median.pyx":1010 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -13240,8 +13240,8 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje __pyx_t_1 = 0; /* "median.pyx":1012 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y @@ -13250,7 +13250,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje if (__pyx_t_5) { /* "median.pyx":1013 - * NPY_float32, 0) + * NPY_float64, 0) * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y @@ -13332,7 +13332,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje */ __pyx_t_8 = __pyx_v_k; __pyx_t_9 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1021 * while l < r: @@ -13371,7 +13371,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje while (1) { __pyx_t_10 = __pyx_v_i; __pyx_t_11 = __pyx_v_i1; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -13386,7 +13386,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje while (1) { __pyx_t_12 = __pyx_v_j; __pyx_t_13 = __pyx_v_i1; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -13410,7 +13410,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje */ __pyx_t_14 = __pyx_v_i; __pyx_t_15 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1028 * if i <= j: @@ -13423,7 +13423,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje __pyx_t_17 = __pyx_v_i1; __pyx_t_18 = __pyx_v_i; __pyx_t_19 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1029 * tmp = b[i, i1] @@ -13434,7 +13434,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje */ __pyx_t_20 = __pyx_v_j; __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; /* "median.pyx":1030 * b[i, i1] = b[j, i1] @@ -13490,7 +13490,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * if n0 % 2 == 0: - * amax = MINfloat32 + * amax = MINint32 */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -13504,7 +13504,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje * if j < k: l = i * if k < i: r = j * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINfloat32 + * amax = MINint32 * for i in range(k): */ __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); @@ -13513,15 +13513,15 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje /* "median.pyx":1036 * if k < i: r = j * if n0 % 2 == 0: - * amax = MINfloat32 # <<<<<<<<<<<<<< + * amax = MINint32 # <<<<<<<<<<<<<< * for i in range(k): * ai = b[i, i1] */ - __pyx_v_amax = __pyx_v_6median_MINfloat32; + __pyx_v_amax = __pyx_v_6median_MINint32; /* "median.pyx":1037 * if n0 % 2 == 0: - * amax = MINfloat32 + * amax = MINint32 * for i in range(k): # <<<<<<<<<<<<<< * ai = b[i, i1] * if ai >= amax: @@ -13531,7 +13531,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje __pyx_v_i = __pyx_t_23; /* "median.pyx":1038 - * amax = MINfloat32 + * amax = MINint32 * for i in range(k): * ai = b[i, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -13539,7 +13539,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje */ __pyx_t_24 = __pyx_v_i; __pyx_t_25 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1039 * for i in range(k): @@ -13569,12 +13569,12 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje * amax = ai * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< * else: - * y[i1] = b[k, i1] + * y[i1] = b[k, i1] */ __pyx_t_22 = __pyx_v_k; __pyx_t_26 = __pyx_v_i1; __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { @@ -13582,21 +13582,21 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje /* "median.pyx":1043 * y[i1] = 0.5 * (b[k, i1] + amax) * else: - * y[i1] = b[k, i1] # <<<<<<<<<<<<<< + * y[i1] = b[k, i1] # <<<<<<<<<<<<<< * return y * */ __pyx_t_23 = __pyx_v_k; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides))); } __pyx_L18:; } /* "median.pyx":1044 * else: - * y[i1] = b[k, i1] + * y[i1] = b[k, i1] * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -13609,8 +13609,8 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje /* "median.pyx":999 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float32 along axis=0." + * def median_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -13623,7 +13623,7 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -13641,24 +13641,24 @@ static PyObject *__pyx_pf_6median_38median_2d_float32_axis0(CYTHON_UNUSED PyObje /* "median.pyx":1048 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float32 along axis=1." + * def median_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_41median_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_40median_2d_float32_axis1[] = "median_2d_float32_axis1(ndarray a)\nMedian of 2d array with dtype=float32 along axis=1."; -static PyMethodDef __pyx_mdef_6median_41median_2d_float32_axis1 = {"median_2d_float32_axis1", (PyCFunction)__pyx_pw_6median_41median_2d_float32_axis1, METH_O, __pyx_doc_6median_40median_2d_float32_axis1}; -static PyObject *__pyx_pw_6median_41median_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_41median_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_40median_2d_int32_axis1[] = "median_2d_int32_axis1(ndarray a)\nMedian of 2d array with dtype=int32 along axis=1."; +static PyMethodDef __pyx_mdef_6median_41median_2d_int32_axis1 = {"median_2d_int32_axis1", (PyCFunction)__pyx_pw_6median_41median_2d_int32_axis1, METH_O, __pyx_doc_6median_40median_2d_int32_axis1}; +static PyObject *__pyx_pw_6median_41median_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_2d_int32_axis1 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_40median_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_40median_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -13669,16 +13669,16 @@ static PyObject *__pyx_pw_6median_41median_2d_float32_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_40median_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; - __pyx_t_5numpy_float32_t __pyx_v_amax; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_amax; + __pyx_t_5numpy_int32_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -13726,7 +13726,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_float32_axis1", 0); + __Pyx_RefNannySetupContext("median_2d_int32_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -13741,23 +13741,23 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "median.pyx":1050 - * def median_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Median of 2d array with dtype=float32 along axis=1." + * def median_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Median of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp, amax, ai - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp, amax, ai + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":1052 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.float32_t x, tmp, amax, ai - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int32_t x, tmp, amax, ai + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ @@ -13767,7 +13767,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1052; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; @@ -13800,7 +13800,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -13808,8 +13808,8 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_3[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_3; @@ -13817,17 +13817,17 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje /* "median.pyx":1059 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * if n1 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -13838,8 +13838,8 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje __pyx_t_1 = 0; /* "median.pyx":1061 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * if n1 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y @@ -13848,7 +13848,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje if (__pyx_t_5) { /* "median.pyx":1062 - * NPY_float32, 0) + * NPY_float64, 0) * if n1 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y @@ -13930,7 +13930,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1070 * while l < r: @@ -13969,7 +13969,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje while (1) { __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -13984,7 +13984,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje while (1) { __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_j; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -14008,7 +14008,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_t_14 = __pyx_v_i0; __pyx_t_15 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1077 * if i <= j: @@ -14021,7 +14021,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje __pyx_t_17 = __pyx_v_j; __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1078 * tmp = b[i0, i] @@ -14032,7 +14032,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; /* "median.pyx":1079 * b[i0, i] = b[i0, j] @@ -14088,7 +14088,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * if n1 % 2 == 0: - * amax = MINfloat32 + * amax = MINint32 */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -14102,7 +14102,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje * if j < k: l = i * if k < i: r = j * if n1 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINfloat32 + * amax = MINint32 * for i in range(k): */ __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); @@ -14111,15 +14111,15 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje /* "median.pyx":1085 * if k < i: r = j * if n1 % 2 == 0: - * amax = MINfloat32 # <<<<<<<<<<<<<< + * amax = MINint32 # <<<<<<<<<<<<<< * for i in range(k): * ai = b[i0, i] */ - __pyx_v_amax = __pyx_v_6median_MINfloat32; + __pyx_v_amax = __pyx_v_6median_MINint32; /* "median.pyx":1086 * if n1 % 2 == 0: - * amax = MINfloat32 + * amax = MINint32 * for i in range(k): # <<<<<<<<<<<<<< * ai = b[i0, i] * if ai >= amax: @@ -14129,7 +14129,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje __pyx_v_i = __pyx_t_23; /* "median.pyx":1087 - * amax = MINfloat32 + * amax = MINint32 * for i in range(k): * ai = b[i0, i] # <<<<<<<<<<<<<< * if ai >= amax: @@ -14137,7 +14137,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_t_24 = __pyx_v_i0; __pyx_t_25 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1088 * for i in range(k): @@ -14167,12 +14167,12 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje * amax = ai * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< * else: - * y[i0] = b[i0, k] + * y[i0] = b[i0, k] */ __pyx_t_26 = __pyx_v_i0; __pyx_t_22 = __pyx_v_k; __pyx_t_27 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { @@ -14180,21 +14180,21 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje /* "median.pyx":1092 * y[i0] = 0.5 * (b[i0, k] + amax) * else: - * y[i0] = b[i0, k] # <<<<<<<<<<<<<< + * y[i0] = b[i0, k] # <<<<<<<<<<<<<< * return y * */ __pyx_t_28 = __pyx_v_i0; __pyx_t_23 = __pyx_v_k; __pyx_t_29 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides))); } __pyx_L18:; } /* "median.pyx":1093 * else: - * y[i0] = b[i0, k] + * y[i0] = b[i0, k] * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -14207,8 +14207,8 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje /* "median.pyx":1048 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float32 along axis=1." + * def median_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -14221,7 +14221,7 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -14239,24 +14239,24 @@ static PyObject *__pyx_pf_6median_40median_2d_float32_axis1(CYTHON_UNUSED PyObje /* "median.pyx":1097 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float64 along axis=0." + * def median_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_43median_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_42median_2d_float64_axis0[] = "median_2d_float64_axis0(ndarray a)\nMedian of 2d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_6median_43median_2d_float64_axis0 = {"median_2d_float64_axis0", (PyCFunction)__pyx_pw_6median_43median_2d_float64_axis0, METH_O, __pyx_doc_6median_42median_2d_float64_axis0}; -static PyObject *__pyx_pw_6median_43median_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_43median_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_42median_2d_int64_axis0[] = "median_2d_int64_axis0(ndarray a)\nMedian of 2d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_6median_43median_2d_int64_axis0 = {"median_2d_int64_axis0", (PyCFunction)__pyx_pw_6median_43median_2d_int64_axis0, METH_O, __pyx_doc_6median_42median_2d_int64_axis0}; +static PyObject *__pyx_pw_6median_43median_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_2d_int64_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_42median_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_42median_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -14267,16 +14267,16 @@ static PyObject *__pyx_pw_6median_43median_2d_float64_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_42median_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; - __pyx_t_5numpy_float64_t __pyx_v_amax; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_amax; + __pyx_t_5numpy_int64_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -14324,7 +14324,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_float64_axis0", 0); + __Pyx_RefNannySetupContext("median_2d_int64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -14339,23 +14339,23 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "median.pyx":1099 - * def median_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Median of 2d array with dtype=float64 along axis=0." + * def median_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Median of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp, amax, ai - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp, amax, ai + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":1101 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.float64_t x, tmp, amax, ai - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp, amax, ai + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ @@ -14365,7 +14365,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; @@ -14528,7 +14528,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_t_8 = __pyx_v_k; __pyx_t_9 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1119 * while l < r: @@ -14567,7 +14567,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje while (1) { __pyx_t_10 = __pyx_v_i; __pyx_t_11 = __pyx_v_i1; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -14582,7 +14582,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje while (1) { __pyx_t_12 = __pyx_v_j; __pyx_t_13 = __pyx_v_i1; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -14606,7 +14606,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_t_14 = __pyx_v_i; __pyx_t_15 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1126 * if i <= j: @@ -14619,7 +14619,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje __pyx_t_17 = __pyx_v_i1; __pyx_t_18 = __pyx_v_i; __pyx_t_19 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1127 * tmp = b[i, i1] @@ -14630,7 +14630,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_t_20 = __pyx_v_j; __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; /* "median.pyx":1128 * b[i, i1] = b[j, i1] @@ -14686,7 +14686,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * if n0 % 2 == 0: - * amax = MINfloat64 + * amax = MINint64 */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -14700,7 +14700,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje * if j < k: l = i * if k < i: r = j * if n0 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINfloat64 + * amax = MINint64 * for i in range(k): */ __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n0, 2) == 0) != 0); @@ -14709,15 +14709,15 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje /* "median.pyx":1134 * if k < i: r = j * if n0 % 2 == 0: - * amax = MINfloat64 # <<<<<<<<<<<<<< + * amax = MINint64 # <<<<<<<<<<<<<< * for i in range(k): * ai = b[i, i1] */ - __pyx_v_amax = __pyx_v_6median_MINfloat64; + __pyx_v_amax = __pyx_v_6median_MINint64; /* "median.pyx":1135 * if n0 % 2 == 0: - * amax = MINfloat64 + * amax = MINint64 * for i in range(k): # <<<<<<<<<<<<<< * ai = b[i, i1] * if ai >= amax: @@ -14727,7 +14727,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje __pyx_v_i = __pyx_t_23; /* "median.pyx":1136 - * amax = MINfloat64 + * amax = MINint64 * for i in range(k): * ai = b[i, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -14735,7 +14735,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_t_24 = __pyx_v_i; __pyx_t_25 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1137 * for i in range(k): @@ -14765,12 +14765,12 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje * amax = ai * y[i1] = 0.5 * (b[k, i1] + amax) # <<<<<<<<<<<<<< * else: - * y[i1] = b[k, i1] + * y[i1] = b[k, i1] */ __pyx_t_22 = __pyx_v_k; __pyx_t_26 = __pyx_v_i1; __pyx_t_27 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { @@ -14778,21 +14778,21 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje /* "median.pyx":1141 * y[i1] = 0.5 * (b[k, i1] + amax) * else: - * y[i1] = b[k, i1] # <<<<<<<<<<<<<< + * y[i1] = b[k, i1] # <<<<<<<<<<<<<< * return y * */ __pyx_t_23 = __pyx_v_k; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides))); } __pyx_L18:; } /* "median.pyx":1142 * else: - * y[i1] = b[k, i1] + * y[i1] = b[k, i1] * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -14805,8 +14805,8 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje /* "median.pyx":1097 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float64 along axis=0." + * def median_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -14819,7 +14819,7 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -14837,24 +14837,24 @@ static PyObject *__pyx_pf_6median_42median_2d_float64_axis0(CYTHON_UNUSED PyObje /* "median.pyx":1146 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float64 along axis=1." + * def median_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ /* Python wrapper */ -static PyObject *__pyx_pw_6median_45median_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6median_44median_2d_float64_axis1[] = "median_2d_float64_axis1(ndarray a)\nMedian of 2d array with dtype=float64 along axis=1."; -static PyMethodDef __pyx_mdef_6median_45median_2d_float64_axis1 = {"median_2d_float64_axis1", (PyCFunction)__pyx_pw_6median_45median_2d_float64_axis1, METH_O, __pyx_doc_6median_44median_2d_float64_axis1}; -static PyObject *__pyx_pw_6median_45median_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6median_45median_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6median_44median_2d_int64_axis1[] = "median_2d_int64_axis1(ndarray a)\nMedian of 2d array with dtype=int64 along axis=1."; +static PyMethodDef __pyx_mdef_6median_45median_2d_int64_axis1 = {"median_2d_int64_axis1", (PyCFunction)__pyx_pw_6median_45median_2d_int64_axis1, METH_O, __pyx_doc_6median_44median_2d_int64_axis1}; +static PyObject *__pyx_pw_6median_45median_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("median_2d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("median_2d_int64_axis1 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6median_44median_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6median_44median_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -14865,16 +14865,16 @@ static PyObject *__pyx_pw_6median_45median_2d_float64_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6median_44median_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; - __pyx_t_5numpy_float64_t __pyx_v_amax; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_amax; + __pyx_t_5numpy_int64_t __pyx_v_ai; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -14922,7 +14922,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("median_2d_float64_axis1", 0); + __Pyx_RefNannySetupContext("median_2d_int64_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -14937,23 +14937,23 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "median.pyx":1148 - * def median_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Median of 2d array with dtype=float64 along axis=1." + * def median_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Median of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp, amax, ai - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp, amax, ai + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; /* "median.pyx":1150 * cdef np.npy_intp i, j = 0, l, r, k - * cdef np.float64_t x, tmp, amax, ai - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp, amax, ai + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ @@ -14963,7 +14963,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; @@ -15126,7 +15126,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1168 * while l < r: @@ -15165,7 +15165,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje while (1) { __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i; - __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_5 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_5) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -15180,7 +15180,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje while (1) { __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_j; - __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_5 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_5) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -15204,7 +15204,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_t_14 = __pyx_v_i0; __pyx_t_15 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1175 * if i <= j: @@ -15217,7 +15217,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje __pyx_t_17 = __pyx_v_j; __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1176 * tmp = b[i0, i] @@ -15228,7 +15228,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_t_20 = __pyx_v_i0; __pyx_t_21 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; /* "median.pyx":1177 * b[i0, i] = b[i0, j] @@ -15284,7 +15284,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * if n1 % 2 == 0: - * amax = MINfloat64 + * amax = MINint64 */ __pyx_t_5 = ((__pyx_v_k < __pyx_v_i) != 0); if (__pyx_t_5) { @@ -15298,7 +15298,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje * if j < k: l = i * if k < i: r = j * if n1 % 2 == 0: # <<<<<<<<<<<<<< - * amax = MINfloat64 + * amax = MINint64 * for i in range(k): */ __pyx_t_5 = ((__Pyx_mod_Py_ssize_t(__pyx_v_n1, 2) == 0) != 0); @@ -15307,15 +15307,15 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje /* "median.pyx":1183 * if k < i: r = j * if n1 % 2 == 0: - * amax = MINfloat64 # <<<<<<<<<<<<<< + * amax = MINint64 # <<<<<<<<<<<<<< * for i in range(k): * ai = b[i0, i] */ - __pyx_v_amax = __pyx_v_6median_MINfloat64; + __pyx_v_amax = __pyx_v_6median_MINint64; /* "median.pyx":1184 * if n1 % 2 == 0: - * amax = MINfloat64 + * amax = MINint64 * for i in range(k): # <<<<<<<<<<<<<< * ai = b[i0, i] * if ai >= amax: @@ -15325,7 +15325,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje __pyx_v_i = __pyx_t_23; /* "median.pyx":1185 - * amax = MINfloat64 + * amax = MINint64 * for i in range(k): * ai = b[i0, i] # <<<<<<<<<<<<<< * if ai >= amax: @@ -15333,7 +15333,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_t_24 = __pyx_v_i0; __pyx_t_25 = __pyx_v_i; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides)); /* "median.pyx":1186 * for i in range(k): @@ -15363,12 +15363,12 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje * amax = ai * y[i0] = 0.5 * (b[i0, k] + amax) # <<<<<<<<<<<<<< * else: - * y[i0] = b[i0, k] + * y[i0] = b[i0, k] */ __pyx_t_26 = __pyx_v_i0; __pyx_t_22 = __pyx_v_k; __pyx_t_27 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides) = (0.5 * ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides)) + __pyx_v_amax)); goto __pyx_L18; } /*else*/ { @@ -15376,21 +15376,21 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje /* "median.pyx":1190 * y[i0] = 0.5 * (b[i0, k] + amax) * else: - * y[i0] = b[i0, k] # <<<<<<<<<<<<<< + * y[i0] = b[i0, k] # <<<<<<<<<<<<<< * return y * */ __pyx_t_28 = __pyx_v_i0; __pyx_t_23 = __pyx_v_k; __pyx_t_29 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_y.diminfo[0].strides) = ((__pyx_t_5numpy_float64_t)(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides))); } __pyx_L18:; } /* "median.pyx":1191 * else: - * y[i0] = b[i0, k] + * y[i0] = b[i0, k] * return y # <<<<<<<<<<<<<< * * cdef dict median_dict = {} @@ -15403,8 +15403,8 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje /* "median.pyx":1146 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float64 along axis=1." + * def median_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ @@ -15417,7 +15417,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("median.median_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("median.median_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -15433,7 +15433,7 @@ static PyObject *__pyx_pf_6median_44median_2d_float64_axis1(CYTHON_UNUSED PyObje } /* "median.pyx":1216 - * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 + * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 * * def median_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) median along axis 0." @@ -15501,7 +15501,7 @@ static PyObject *__pyx_pf_6median_46median_slow_axis0(CYTHON_UNUSED PyObject *__ goto __pyx_L0; /* "median.pyx":1216 - * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 + * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 * * def median_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) median along axis 0." @@ -27036,7 +27036,7 @@ static PyObject *__pyx_pf_6median_134nanmedian_2d_float64_axis1(CYTHON_UNUSED Py } /* "median.pyx":2157 - * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 + * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 * * def nanmedian_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmedian along axis 0." @@ -27104,7 +27104,7 @@ static PyObject *__pyx_pf_6median_136nanmedian_slow_axis0(CYTHON_UNUSED PyObject goto __pyx_L0; /* "median.pyx":2157 - * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 + * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 * * def nanmedian_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmedian along axis 0." @@ -30095,7 +30095,7 @@ static PyObject *__pyx_pf_6median_202nanmedian_slow_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -30145,7 +30145,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -30158,7 +30158,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -30167,7 +30167,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -30176,7 +30176,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -30185,7 +30185,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -30195,7 +30195,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -30207,7 +30207,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -30218,7 +30218,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -30234,7 +30234,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -30246,7 +30246,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -30260,7 +30260,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -30276,7 +30276,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -30288,7 +30288,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -30302,7 +30302,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -30311,7 +30311,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -30320,7 +30320,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -30330,7 +30330,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -30339,7 +30339,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -30348,7 +30348,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -30359,7 +30359,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -30368,7 +30368,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -30381,7 +30381,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -30390,7 +30390,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -30401,7 +30401,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -30410,7 +30410,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -30419,7 +30419,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -30428,7 +30428,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -30437,7 +30437,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -30449,7 +30449,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -30458,7 +30458,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -30478,7 +30478,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -30494,7 +30494,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -30509,7 +30509,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -30519,7 +30519,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -30529,7 +30529,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -30552,7 +30552,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -30572,7 +30572,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -30586,7 +30586,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -30595,7 +30595,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -30606,7 +30606,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -30617,7 +30617,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -30628,7 +30628,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -30639,7 +30639,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -30650,7 +30650,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -30661,7 +30661,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -30672,7 +30672,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -30683,7 +30683,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -30694,7 +30694,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -30705,7 +30705,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -30716,7 +30716,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -30727,7 +30727,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -30738,7 +30738,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -30749,7 +30749,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -30760,7 +30760,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -30771,7 +30771,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -30783,7 +30783,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -30809,7 +30809,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -30818,7 +30818,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -30830,7 +30830,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -30839,7 +30839,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -30848,7 +30848,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -30857,7 +30857,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -30867,7 +30867,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -30877,7 +30877,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -30909,7 +30909,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -30933,7 +30933,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -30943,7 +30943,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -30955,7 +30955,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -30965,7 +30965,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -30977,7 +30977,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -30989,7 +30989,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -31006,7 +31006,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -31020,7 +31020,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -31039,7 +31039,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -31056,7 +31056,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -31070,7 +31070,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -31089,7 +31089,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -31106,7 +31106,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -31120,7 +31120,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -31139,7 +31139,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -31156,7 +31156,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -31170,7 +31170,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -31189,7 +31189,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -31206,7 +31206,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -31220,7 +31220,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -31239,7 +31239,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -31271,7 +31271,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -31280,7 +31280,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -31289,7 +31289,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -31311,7 +31311,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -31324,7 +31324,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -31363,7 +31363,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -31380,7 +31380,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -31394,7 +31394,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -31417,7 +31417,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -31437,7 +31437,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -31451,7 +31451,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -31467,7 +31467,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -31476,7 +31476,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -31485,7 +31485,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -31496,7 +31496,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -31506,7 +31506,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -31516,7 +31516,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -31528,7 +31528,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -31538,7 +31538,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -31552,7 +31552,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -31570,7 +31570,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -31588,7 +31588,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -31606,7 +31606,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -31624,7 +31624,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -31642,7 +31642,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -31660,7 +31660,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -31678,7 +31678,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -31696,7 +31696,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -31714,7 +31714,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -31732,7 +31732,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -31750,7 +31750,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -31768,7 +31768,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -31786,7 +31786,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -31806,7 +31806,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -31826,7 +31826,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -31846,7 +31846,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -31865,7 +31865,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -31888,7 +31888,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -31900,7 +31900,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -31912,7 +31912,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -31922,7 +31922,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -31932,7 +31932,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -31957,7 +31957,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -31972,7 +31972,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -31983,7 +31983,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -31995,7 +31995,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -32004,7 +32004,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -32015,7 +32015,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -32024,7 +32024,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -32033,7 +32033,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -32045,7 +32045,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -32059,7 +32059,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -32069,7 +32069,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -32083,7 +32083,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -32094,7 +32094,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -32132,7 +32132,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -32148,6 +32147,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -32332,7 +32332,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -32343,7 +32343,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -32354,7 +32354,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -32365,7 +32365,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -32376,7 +32376,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -32387,7 +32387,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -32419,7 +32419,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median, 84, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median, 84, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":129 * return func(arr) @@ -32431,262 +32431,262 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_key, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_selector, 129, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_selector, 129, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int along axis=0." + * def median_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ __pyx_tuple__13 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_1d_int_axis0, 208, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_1d_float_axis0, 208, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":251 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int8 along axis=0." + * def median_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ __pyx_tuple__15 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_1d_int8_axis0, 251, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_1d_float32_axis0, 251, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":294 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int32 along axis=0." + * def median_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ __pyx_tuple__17 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_1d_int32_axis0, 294, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_1d_float64_axis0, 294, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":337 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int64 along axis=0." + * def median_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__19 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_1d_int64_axis0, 337, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_float_axis0, 337, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "median.pyx":380 + /* "median.pyx":386 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int along axis=0." + * def median_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__21 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_int_axis0, 380, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_float_axis1, 386, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "median.pyx":429 + /* "median.pyx":435 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int along axis=1." + * def median_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__23 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_int_axis1, 429, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_float32_axis0, 435, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "median.pyx":478 + /* "median.pyx":484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int8 along axis=0." + * def median_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__25 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_int8_axis0, 478, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_float32_axis1, 484, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "median.pyx":527 + /* "median.pyx":533 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int8 along axis=1." + * def median_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__27 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_int8_axis1, 527, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_float64_axis0, 533, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "median.pyx":576 + /* "median.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int32 along axis=0." + * def median_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__29 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_int32_axis0, 576, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_float64_axis1, 582, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "median.pyx":625 + /* "median.pyx":631 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int32 along axis=1." + * def median_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__31 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_int32_axis1, 625, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_1d_int_axis0, 631, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":674 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int64 along axis=0." + * def median_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__33 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_int64_axis0, 674, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_1d_int8_axis0, 674, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "median.pyx":723 + /* "median.pyx":717 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int64 along axis=1." + * def median_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__35 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_int64_axis1, 723, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_1d_int32_axis0, 717, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "median.pyx":772 + /* "median.pyx":760 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float along axis=0." + * def median_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__37 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_1d_float_axis0, 772, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_1d_int64_axis0, 760, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "median.pyx":815 + /* "median.pyx":803 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float32 along axis=0." + * def median_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__39 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_1d_float32_axis0, 815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_int_axis0, 803, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "median.pyx":858 + /* "median.pyx":852 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float64 along axis=0." + * def median_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_tuple__41 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_1d_float64_axis0, 858, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_int_axis1, 852, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":901 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float along axis=0." + * def median_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ __pyx_tuple__43 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_float_axis0, 901, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_int8_axis0, 901, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":950 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float along axis=1." + * def median_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ __pyx_tuple__45 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_float_axis1, 950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_int8_axis1, 950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":999 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float32 along axis=0." + * def median_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ __pyx_tuple__47 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_float32_axis0, 999, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_int32_axis0, 999, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1048 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float32 along axis=1." + * def median_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ __pyx_tuple__49 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_float32_axis1, 1048, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_int32_axis1, 1048, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1097 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float64 along axis=0." + * def median_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ __pyx_tuple__51 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_float64_axis0, 1097, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_int64_axis0, 1097, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1146 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float64 along axis=1." + * def median_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ __pyx_tuple__53 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_2d_float64_axis1, 1146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_2d_int64_axis1, 1146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1216 - * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 + * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 * * def median_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) median along axis 0." @@ -32695,7 +32695,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__55 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis0, 1216, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis0, 1216, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1220 * return bn.slow.median(arr, axis=0) @@ -32707,7 +32707,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__57 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis1, 1220, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis1, 1220, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1224 * return bn.slow.median(arr, axis=1) @@ -32719,7 +32719,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__59 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis2, 1224, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis2, 1224, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1228 * return bn.slow.median(arr, axis=2) @@ -32731,7 +32731,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__61 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis3, 1228, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis3, 1228, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1232 * return bn.slow.median(arr, axis=3) @@ -32743,7 +32743,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__63 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis4, 1232, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis4, 1232, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1236 * return bn.slow.median(arr, axis=4) @@ -32755,7 +32755,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__65 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis5, 1236, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis5, 1236, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1240 * return bn.slow.median(arr, axis=5) @@ -32767,7 +32767,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__67 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis6, 1240, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis6, 1240, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1244 * return bn.slow.median(arr, axis=6) @@ -32779,7 +32779,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis7, 1244, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis7, 1244, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1248 * return bn.slow.median(arr, axis=7) @@ -32791,7 +32791,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis8, 1248, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis8, 1248, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1252 * return bn.slow.median(arr, axis=8) @@ -32803,7 +32803,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis9, 1252, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis9, 1252, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1256 * return bn.slow.median(arr, axis=9) @@ -32815,7 +32815,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis10, 1256, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis10, 1256, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1260 * return bn.slow.median(arr, axis=10) @@ -32827,7 +32827,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis11, 1260, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis11, 1260, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1264 * return bn.slow.median(arr, axis=11) @@ -32839,7 +32839,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis12, 1264, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis12, 1264, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1268 * return bn.slow.median(arr, axis=12) @@ -32851,7 +32851,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis13, 1268, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis13, 1268, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1272 * return bn.slow.median(arr, axis=13) @@ -32863,7 +32863,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis14, 1272, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis14, 1272, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1276 * return bn.slow.median(arr, axis=14) @@ -32875,7 +32875,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis15, 1276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis15, 1276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1280 * return bn.slow.median(arr, axis=15) @@ -32887,7 +32887,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis16, 1280, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis16, 1280, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1284 * return bn.slow.median(arr, axis=16) @@ -32899,7 +32899,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis17, 1284, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis17, 1284, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1288 * return bn.slow.median(arr, axis=17) @@ -32911,7 +32911,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis18, 1288, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis18, 1288, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1292 * return bn.slow.median(arr, axis=18) @@ -32923,7 +32923,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis19, 1292, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis19, 1292, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1296 * return bn.slow.median(arr, axis=19) @@ -32935,7 +32935,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis20, 1296, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis20, 1296, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1300 * return bn.slow.median(arr, axis=20) @@ -32947,7 +32947,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis21, 1300, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis21, 1300, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1304 * return bn.slow.median(arr, axis=21) @@ -32959,7 +32959,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis22, 1304, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis22, 1304, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1308 * return bn.slow.median(arr, axis=22) @@ -32971,7 +32971,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis23, 1308, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis23, 1308, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1312 * return bn.slow.median(arr, axis=23) @@ -32983,7 +32983,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis24, 1312, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis24, 1312, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1316 * return bn.slow.median(arr, axis=24) @@ -32995,7 +32995,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis25, 1316, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis25, 1316, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1320 * return bn.slow.median(arr, axis=25) @@ -33007,7 +33007,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis26, 1320, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis26, 1320, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1324 * return bn.slow.median(arr, axis=26) @@ -33019,7 +33019,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis27, 1324, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis27, 1324, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1328 * return bn.slow.median(arr, axis=27) @@ -33031,7 +33031,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis28, 1328, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis28, 1328, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1332 * return bn.slow.median(arr, axis=28) @@ -33043,7 +33043,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis29, 1332, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis29, 1332, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1336 * return bn.slow.median(arr, axis=29) @@ -33055,7 +33055,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis30, 1336, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis30, 1336, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1340 * return bn.slow.median(arr, axis=30) @@ -33067,7 +33067,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis31, 1340, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis31, 1340, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1344 * return bn.slow.median(arr, axis=31) @@ -33079,7 +33079,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axis32, 1344, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axis32, 1344, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1348 * return bn.slow.median(arr, axis=32) @@ -33091,7 +33091,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_median_slow_axisNone, 1348, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_median_slow_axisNone, 1348, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1406 * # (C) 2010 Keith Goodman @@ -33103,7 +33103,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian, 1406, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian, 1406, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1446 * return func(arr) @@ -33115,7 +33115,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_key, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_selector, 1446, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_selector, 1446, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1524 * @cython.boundscheck(False) @@ -33127,7 +33127,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_flag, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_n, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_1d_float_axis0, 1524, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_1d_float_axis0, 1524, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1588 * @cython.boundscheck(False) @@ -33139,7 +33139,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_flag, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_n, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_1d_float32_axis0, 1588, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_1d_float32_axis0, 1588, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1652 * @cython.boundscheck(False) @@ -33151,7 +33151,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_flag, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_n, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_1d_float64_axis0, 1652, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_1d_float64_axis0, 1652, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1716 * @cython.boundscheck(False) @@ -33163,7 +33163,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(21, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_flag, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_n, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_2d_float_axis0, 1716, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_2d_float_axis0, 1716, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1786 * @cython.boundscheck(False) @@ -33175,7 +33175,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(21, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_flag, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_n, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_2d_float_axis1, 1786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_2d_float_axis1, 1786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1856 * @cython.boundscheck(False) @@ -33187,7 +33187,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__137 = PyTuple_Pack(21, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_flag, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_n, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__137); __Pyx_GIVEREF(__pyx_tuple__137); - __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_2d_float32_axis0, 1856, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_2d_float32_axis0, 1856, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1926 * @cython.boundscheck(False) @@ -33199,7 +33199,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__139 = PyTuple_Pack(21, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_flag, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_n, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__139); __Pyx_GIVEREF(__pyx_tuple__139); - __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_2d_float32_axis1, 1926, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_2d_float32_axis1, 1926, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":1996 * @cython.boundscheck(False) @@ -33211,7 +33211,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__141 = PyTuple_Pack(21, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_flag, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_n, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1996; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__141); __Pyx_GIVEREF(__pyx_tuple__141); - __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_2d_float64_axis0, 1996, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1996; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_2d_float64_axis0, 1996, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1996; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2066 * @cython.boundscheck(False) @@ -33223,10 +33223,10 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__143 = PyTuple_Pack(21, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_flag, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_n, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__143); __Pyx_GIVEREF(__pyx_tuple__143); - __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_2d_float64_axis1, 2066, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(1, 0, 21, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_2d_float64_axis1, 2066, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2157 - * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 + * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 * * def nanmedian_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmedian along axis 0." @@ -33235,7 +33235,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__145 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__145); __Pyx_GIVEREF(__pyx_tuple__145); - __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis0, 2157, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis0, 2157, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2161 * return bn.slow.nanmedian(arr, axis=0) @@ -33247,7 +33247,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__147 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__147); __Pyx_GIVEREF(__pyx_tuple__147); - __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis1, 2161, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis1, 2161, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2165 * return bn.slow.nanmedian(arr, axis=1) @@ -33259,7 +33259,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__149 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__149); __Pyx_GIVEREF(__pyx_tuple__149); - __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis2, 2165, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis2, 2165, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2169 * return bn.slow.nanmedian(arr, axis=2) @@ -33271,7 +33271,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__151 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__151); __Pyx_GIVEREF(__pyx_tuple__151); - __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis3, 2169, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis3, 2169, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2173 * return bn.slow.nanmedian(arr, axis=3) @@ -33283,7 +33283,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__153 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__153); __Pyx_GIVEREF(__pyx_tuple__153); - __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis4, 2173, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis4, 2173, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2177 * return bn.slow.nanmedian(arr, axis=4) @@ -33295,7 +33295,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__155 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__155); __Pyx_GIVEREF(__pyx_tuple__155); - __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis5, 2177, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis5, 2177, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2181 * return bn.slow.nanmedian(arr, axis=5) @@ -33307,7 +33307,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__157 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__157); __Pyx_GIVEREF(__pyx_tuple__157); - __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis6, 2181, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis6, 2181, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2185 * return bn.slow.nanmedian(arr, axis=6) @@ -33319,7 +33319,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__159 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__159); __Pyx_GIVEREF(__pyx_tuple__159); - __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis7, 2185, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis7, 2185, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2189 * return bn.slow.nanmedian(arr, axis=7) @@ -33331,7 +33331,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__161 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2189; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__161); __Pyx_GIVEREF(__pyx_tuple__161); - __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis8, 2189, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2189; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis8, 2189, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2189; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2193 * return bn.slow.nanmedian(arr, axis=8) @@ -33343,7 +33343,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__163 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__163); __Pyx_GIVEREF(__pyx_tuple__163); - __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis9, 2193, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis9, 2193, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2197 * return bn.slow.nanmedian(arr, axis=9) @@ -33355,7 +33355,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__165 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__165)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__165); __Pyx_GIVEREF(__pyx_tuple__165); - __pyx_codeobj__166 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__165, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis10, 2197, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__166)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__166 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__165, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis10, 2197, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__166)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2201 * return bn.slow.nanmedian(arr, axis=10) @@ -33367,7 +33367,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__167 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__167)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__167); __Pyx_GIVEREF(__pyx_tuple__167); - __pyx_codeobj__168 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__167, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis11, 2201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__168)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__168 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__167, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis11, 2201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__168)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2205 * return bn.slow.nanmedian(arr, axis=11) @@ -33379,7 +33379,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__169 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__169)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__169); __Pyx_GIVEREF(__pyx_tuple__169); - __pyx_codeobj__170 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__169, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis12, 2205, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__170 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__169, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis12, 2205, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2209 * return bn.slow.nanmedian(arr, axis=12) @@ -33391,7 +33391,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__171 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__171)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__171); __Pyx_GIVEREF(__pyx_tuple__171); - __pyx_codeobj__172 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__171, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis13, 2209, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__172)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__172 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__171, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis13, 2209, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__172)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2213 * return bn.slow.nanmedian(arr, axis=13) @@ -33403,7 +33403,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__173 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__173)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__173); __Pyx_GIVEREF(__pyx_tuple__173); - __pyx_codeobj__174 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__173, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis14, 2213, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__174 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__173, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis14, 2213, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2217 * return bn.slow.nanmedian(arr, axis=14) @@ -33415,7 +33415,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__175 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__175)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__175); __Pyx_GIVEREF(__pyx_tuple__175); - __pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__175, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis15, 2217, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__175, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis15, 2217, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2221 * return bn.slow.nanmedian(arr, axis=15) @@ -33427,7 +33427,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__177 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__177)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__177); __Pyx_GIVEREF(__pyx_tuple__177); - __pyx_codeobj__178 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis16, 2221, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__178)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__178 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis16, 2221, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__178)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2225 * return bn.slow.nanmedian(arr, axis=16) @@ -33439,7 +33439,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__179 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__179)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__179); __Pyx_GIVEREF(__pyx_tuple__179); - __pyx_codeobj__180 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__179, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis17, 2225, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__180)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__180 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__179, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis17, 2225, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__180)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2229 * return bn.slow.nanmedian(arr, axis=17) @@ -33451,7 +33451,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__181 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__181)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__181); __Pyx_GIVEREF(__pyx_tuple__181); - __pyx_codeobj__182 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__181, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis18, 2229, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__182)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__182 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__181, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis18, 2229, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__182)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2233 * return bn.slow.nanmedian(arr, axis=18) @@ -33463,7 +33463,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__183 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__183)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__183); __Pyx_GIVEREF(__pyx_tuple__183); - __pyx_codeobj__184 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__183, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis19, 2233, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__184)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__184 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__183, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis19, 2233, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__184)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2237 * return bn.slow.nanmedian(arr, axis=19) @@ -33475,7 +33475,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__185 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__185)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__185); __Pyx_GIVEREF(__pyx_tuple__185); - __pyx_codeobj__186 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__185, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis20, 2237, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__186)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__186 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__185, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis20, 2237, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__186)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2241 * return bn.slow.nanmedian(arr, axis=20) @@ -33487,7 +33487,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__187 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__187)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__187); __Pyx_GIVEREF(__pyx_tuple__187); - __pyx_codeobj__188 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__187, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis21, 2241, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__188)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__188 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__187, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis21, 2241, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__188)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2245 * return bn.slow.nanmedian(arr, axis=21) @@ -33499,7 +33499,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__189 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__189)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__189); __Pyx_GIVEREF(__pyx_tuple__189); - __pyx_codeobj__190 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__189, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis22, 2245, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__190)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__190 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__189, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis22, 2245, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__190)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2249 * return bn.slow.nanmedian(arr, axis=22) @@ -33511,7 +33511,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__191 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__191)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__191); __Pyx_GIVEREF(__pyx_tuple__191); - __pyx_codeobj__192 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__191, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis23, 2249, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__192)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__192 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__191, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis23, 2249, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__192)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2253 * return bn.slow.nanmedian(arr, axis=23) @@ -33523,7 +33523,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__193 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__193)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__193); __Pyx_GIVEREF(__pyx_tuple__193); - __pyx_codeobj__194 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__193, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis24, 2253, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__194)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__194 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__193, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis24, 2253, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__194)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2257 * return bn.slow.nanmedian(arr, axis=24) @@ -33535,7 +33535,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__195 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__195)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__195); __Pyx_GIVEREF(__pyx_tuple__195); - __pyx_codeobj__196 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__195, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis25, 2257, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__196)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__196 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__195, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis25, 2257, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__196)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2261 * return bn.slow.nanmedian(arr, axis=25) @@ -33547,7 +33547,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__197 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__197)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__197); __Pyx_GIVEREF(__pyx_tuple__197); - __pyx_codeobj__198 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__197, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis26, 2261, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__198)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__198 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__197, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis26, 2261, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__198)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2265 * return bn.slow.nanmedian(arr, axis=26) @@ -33559,7 +33559,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__199 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__199)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__199); __Pyx_GIVEREF(__pyx_tuple__199); - __pyx_codeobj__200 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis27, 2265, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__200)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__200 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis27, 2265, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__200)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2269 * return bn.slow.nanmedian(arr, axis=27) @@ -33571,7 +33571,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__201 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__201)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__201); __Pyx_GIVEREF(__pyx_tuple__201); - __pyx_codeobj__202 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__201, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis28, 2269, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__202)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__202 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__201, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis28, 2269, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__202)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2269; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2273 * return bn.slow.nanmedian(arr, axis=28) @@ -33583,7 +33583,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__203 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__203)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__203); __Pyx_GIVEREF(__pyx_tuple__203); - __pyx_codeobj__204 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__203, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis29, 2273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__204)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__204 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__203, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis29, 2273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__204)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2277 * return bn.slow.nanmedian(arr, axis=29) @@ -33595,7 +33595,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__205 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__205)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__205); __Pyx_GIVEREF(__pyx_tuple__205); - __pyx_codeobj__206 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__205, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis30, 2277, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__206)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__206 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__205, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis30, 2277, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__206)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2281 * return bn.slow.nanmedian(arr, axis=30) @@ -33607,7 +33607,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__207 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__207)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__207); __Pyx_GIVEREF(__pyx_tuple__207); - __pyx_codeobj__208 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__207, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis31, 2281, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__208)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__208 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__207, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis31, 2281, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__208)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2285 * return bn.slow.nanmedian(arr, axis=31) @@ -33619,7 +33619,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__209 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__209)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__209); __Pyx_GIVEREF(__pyx_tuple__209); - __pyx_codeobj__210 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__209, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axis32, 2285, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__210)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__210 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__209, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axis32, 2285, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__210)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "median.pyx":2289 * return bn.slow.nanmedian(arr, axis=32) @@ -33631,7 +33631,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__211 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__211)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__211); __Pyx_GIVEREF(__pyx_tuple__211); - __pyx_codeobj__212 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__211, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmedian_slow_axisNone, 2289, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__212)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__212 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__211, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmedian_slow_axisNone, 2289, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__212)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -34599,261 +34599,261 @@ PyMODINIT_FUNC PyInit_median(void) /* "median.pyx":208 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int along axis=0." + * def median_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_5median_1d_int_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_5median_1d_float_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":251 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int8 along axis=0." + * def median_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_7median_1d_int8_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_7median_1d_float32_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":294 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int32 along axis=0." + * def median_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_9median_1d_int32_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_9median_1d_float64_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":337 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=int64 along axis=0." + * def median_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_11median_1d_int64_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_11median_2d_float_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "median.pyx":380 + /* "median.pyx":386 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int along axis=0." + * def median_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_13median_2d_int_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_13median_2d_float_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "median.pyx":429 + /* "median.pyx":435 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int along axis=1." + * def median_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_15median_2d_int_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_15median_2d_float32_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "median.pyx":478 + /* "median.pyx":484 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int8 along axis=0." + * def median_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_17median_2d_int8_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_17median_2d_float32_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "median.pyx":527 + /* "median.pyx":533 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int8 along axis=1." + * def median_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_19median_2d_int8_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_19median_2d_float64_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "median.pyx":576 + /* "median.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int32 along axis=0." + * def median_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_21median_2d_int32_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_21median_2d_float64_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "median.pyx":625 + /* "median.pyx":631 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int32 along axis=1." + * def median_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_23median_2d_int32_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_23median_1d_int_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":674 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int64 along axis=0." + * def median_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_25median_2d_int64_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_25median_1d_int8_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "median.pyx":723 + /* "median.pyx":717 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=int64 along axis=1." + * def median_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_27median_2d_int64_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_27median_1d_int32_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "median.pyx":772 + /* "median.pyx":760 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float along axis=0." + * def median_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Median of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_29median_1d_float_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_29median_1d_int64_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "median.pyx":815 + /* "median.pyx":803 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float32 along axis=0." + * def median_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_31median_1d_float32_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_31median_2d_int_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "median.pyx":858 + /* "median.pyx":852 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Median of 1d array with dtype=float64 along axis=0." + * def median_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_33median_1d_float64_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_33median_2d_int_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":901 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float along axis=0." + * def median_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_35median_2d_float_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_35median_2d_int8_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":950 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float along axis=1." + * def median_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_37median_2d_float_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_37median_2d_int8_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":999 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float32 along axis=0." + * def median_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_39median_2d_float32_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_39median_2d_int32_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1048 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float32 along axis=1." + * def median_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_41median_2d_float32_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_41median_2d_int32_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1097 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float64 along axis=0." + * def median_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_43median_2d_float64_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_43median_2d_int64_axis0, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1146 * @cython.boundscheck(False) * @cython.wraparound(False) - * def median_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Median of 2d array with dtype=float64 along axis=1." + * def median_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Median of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_45median_2d_float64_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6median_45median_2d_int64_axis1, NULL, __pyx_n_s_median); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_median_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1193 * return y * * cdef dict median_dict = {} # <<<<<<<<<<<<<< - * median_dict[(1, NPY_int, 0)] = median_1d_int_axis0 - * median_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 + * median_dict[(1, NPY_float, 0)] = median_1d_float_axis0 + * median_dict[(1, NPY_float32, 0)] = median_1d_float32_axis0 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -34865,17 +34865,17 @@ PyMODINIT_FUNC PyInit_median(void) /* "median.pyx":1194 * * cdef dict median_dict = {} - * median_dict[(1, NPY_int, 0)] = median_1d_int_axis0 # <<<<<<<<<<<<<< - * median_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 - * median_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 + * median_dict[(1, NPY_float, 0)] = median_1d_float_axis0 # <<<<<<<<<<<<<< + * median_dict[(1, NPY_float32, 0)] = median_1d_float32_axis0 + * median_dict[(1, NPY_float64, 0)] = median_1d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -34894,18 +34894,18 @@ PyMODINIT_FUNC PyInit_median(void) /* "median.pyx":1195 * cdef dict median_dict = {} - * median_dict[(1, NPY_int, 0)] = median_1d_int_axis0 - * median_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 # <<<<<<<<<<<<<< - * median_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 - * median_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 + * median_dict[(1, NPY_float, 0)] = median_1d_float_axis0 + * median_dict[(1, NPY_float32, 0)] = median_1d_float32_axis0 # <<<<<<<<<<<<<< + * median_dict[(1, NPY_float64, 0)] = median_1d_float64_axis0 + * median_dict[(2, NPY_float, 0)] = median_2d_float_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1195; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1195; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1195; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1195; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1195; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1195; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -34923,19 +34923,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1196 - * median_dict[(1, NPY_int, 0)] = median_1d_int_axis0 - * median_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 - * median_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 # <<<<<<<<<<<<<< - * median_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 - * median_dict[(2, NPY_int, 0)] = median_2d_int_axis0 + * median_dict[(1, NPY_float, 0)] = median_1d_float_axis0 + * median_dict[(1, NPY_float32, 0)] = median_1d_float32_axis0 + * median_dict[(1, NPY_float64, 0)] = median_1d_float64_axis0 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_float, 0)] = median_2d_float_axis0 + * median_dict[(2, NPY_float, 1)] = median_2d_float_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -34953,25 +34953,25 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1197 - * median_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 - * median_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 - * median_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_int, 0)] = median_2d_int_axis0 - * median_dict[(2, NPY_int, 1)] = median_2d_int_axis1 + * median_dict[(1, NPY_float32, 0)] = median_1d_float32_axis0 + * median_dict[(1, NPY_float64, 0)] = median_1d_float64_axis0 + * median_dict[(2, NPY_float, 0)] = median_2d_float_axis0 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_float, 1)] = median_2d_float_axis1 + * median_dict[(2, NPY_float32, 0)] = median_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -34983,19 +34983,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1198 - * median_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 - * median_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 - * median_dict[(2, NPY_int, 0)] = median_2d_int_axis0 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_int, 1)] = median_2d_int_axis1 - * median_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 + * median_dict[(1, NPY_float64, 0)] = median_1d_float64_axis0 + * median_dict[(2, NPY_float, 0)] = median_2d_float_axis0 + * median_dict[(2, NPY_float, 1)] = median_2d_float_axis1 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_float32, 0)] = median_2d_float32_axis0 + * median_dict[(2, NPY_float32, 1)] = median_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35004,28 +35004,28 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_median_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1199 - * median_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 - * median_dict[(2, NPY_int, 0)] = median_2d_int_axis0 - * median_dict[(2, NPY_int, 1)] = median_2d_int_axis1 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 - * median_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 + * median_dict[(2, NPY_float, 0)] = median_2d_float_axis0 + * median_dict[(2, NPY_float, 1)] = median_2d_float_axis1 + * median_dict[(2, NPY_float32, 0)] = median_2d_float32_axis0 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_float32, 1)] = median_2d_float32_axis1 + * median_dict[(2, NPY_float64, 0)] = median_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -35034,28 +35034,28 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_median_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1200 - * median_dict[(2, NPY_int, 0)] = median_2d_int_axis0 - * median_dict[(2, NPY_int, 1)] = median_2d_int_axis1 - * median_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 - * median_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 + * median_dict[(2, NPY_float, 1)] = median_2d_float_axis1 + * median_dict[(2, NPY_float32, 0)] = median_2d_float32_axis0 + * median_dict[(2, NPY_float32, 1)] = median_2d_float32_axis1 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_float64, 0)] = median_2d_float64_axis0 + * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35064,28 +35064,28 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_median_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1201 - * median_dict[(2, NPY_int, 1)] = median_2d_int_axis1 - * median_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 - * median_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 - * median_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 + * median_dict[(2, NPY_float32, 0)] = median_2d_float32_axis0 + * median_dict[(2, NPY_float32, 1)] = median_2d_float32_axis1 + * median_dict[(2, NPY_float64, 0)] = median_2d_float64_axis0 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 + * median_dict[(1, NPY_int, 0)] = median_1d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -35094,28 +35094,28 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_median_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1202 - * median_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 - * median_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 - * median_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 - * median_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 + * median_dict[(2, NPY_float32, 1)] = median_2d_float32_axis1 + * median_dict[(2, NPY_float64, 0)] = median_2d_float64_axis0 + * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 # <<<<<<<<<<<<<< + * median_dict[(1, NPY_int, 0)] = median_1d_int_axis0 + * median_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35124,64 +35124,64 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_median_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1203 - * median_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 - * median_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 - * median_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 - * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 + * median_dict[(2, NPY_float64, 0)] = median_2d_float64_axis0 + * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 + * median_dict[(1, NPY_int, 0)] = median_1d_int_axis0 # <<<<<<<<<<<<<< + * median_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 + * median_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_median_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1204 - * median_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 - * median_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 - * median_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 - * median_dict[(1, NPY_float, 0)] = median_1d_float_axis0 + * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 + * median_dict[(1, NPY_int, 0)] = median_1d_int_axis0 + * median_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 # <<<<<<<<<<<<<< + * median_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 + * median_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -35193,49 +35193,49 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1205 - * median_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 - * median_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 - * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 # <<<<<<<<<<<<<< - * median_dict[(1, NPY_float, 0)] = median_1d_float_axis0 - * median_dict[(1, NPY_float32, 0)] = median_1d_float32_axis0 + * median_dict[(1, NPY_int, 0)] = median_1d_int_axis0 + * median_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 + * median_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 # <<<<<<<<<<<<<< + * median_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 + * median_dict[(2, NPY_int, 0)] = median_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_median_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1206 - * median_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 - * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 - * median_dict[(1, NPY_float, 0)] = median_1d_float_axis0 # <<<<<<<<<<<<<< - * median_dict[(1, NPY_float32, 0)] = median_1d_float32_axis0 - * median_dict[(1, NPY_float64, 0)] = median_1d_float64_axis0 + * median_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 + * median_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 + * median_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_int, 0)] = median_2d_int_axis0 + * median_dict[(2, NPY_int, 1)] = median_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35253,25 +35253,25 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1207 - * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 - * median_dict[(1, NPY_float, 0)] = median_1d_float_axis0 - * median_dict[(1, NPY_float32, 0)] = median_1d_float32_axis0 # <<<<<<<<<<<<<< - * median_dict[(1, NPY_float64, 0)] = median_1d_float64_axis0 - * median_dict[(2, NPY_float, 0)] = median_2d_float_axis0 + * median_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 + * median_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 + * median_dict[(2, NPY_int, 0)] = median_2d_int_axis0 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_int, 1)] = median_2d_int_axis1 + * median_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -35283,49 +35283,49 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1208 - * median_dict[(1, NPY_float, 0)] = median_1d_float_axis0 - * median_dict[(1, NPY_float32, 0)] = median_1d_float32_axis0 - * median_dict[(1, NPY_float64, 0)] = median_1d_float64_axis0 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_float, 0)] = median_2d_float_axis0 - * median_dict[(2, NPY_float, 1)] = median_2d_float_axis1 + * median_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 + * median_dict[(2, NPY_int, 0)] = median_2d_int_axis0 + * median_dict[(2, NPY_int, 1)] = median_2d_int_axis1 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 + * median_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_median_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1209 - * median_dict[(1, NPY_float32, 0)] = median_1d_float32_axis0 - * median_dict[(1, NPY_float64, 0)] = median_1d_float64_axis0 - * median_dict[(2, NPY_float, 0)] = median_2d_float_axis0 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_float, 1)] = median_2d_float_axis1 - * median_dict[(2, NPY_float32, 0)] = median_2d_float32_axis0 + * median_dict[(2, NPY_int, 0)] = median_2d_int_axis0 + * median_dict[(2, NPY_int, 1)] = median_2d_int_axis1 + * median_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 + * median_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -35343,19 +35343,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1210 - * median_dict[(1, NPY_float64, 0)] = median_1d_float64_axis0 - * median_dict[(2, NPY_float, 0)] = median_2d_float_axis0 - * median_dict[(2, NPY_float, 1)] = median_2d_float_axis1 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_float32, 0)] = median_2d_float32_axis0 - * median_dict[(2, NPY_float32, 1)] = median_2d_float32_axis1 + * median_dict[(2, NPY_int, 1)] = median_2d_int_axis1 + * median_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 + * median_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 + * median_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35373,19 +35373,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1211 - * median_dict[(2, NPY_float, 0)] = median_2d_float_axis0 - * median_dict[(2, NPY_float, 1)] = median_2d_float_axis1 - * median_dict[(2, NPY_float32, 0)] = median_2d_float32_axis0 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_float32, 1)] = median_2d_float32_axis1 - * median_dict[(2, NPY_float64, 0)] = median_2d_float64_axis0 + * median_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 + * median_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 + * median_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 + * median_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -35403,19 +35403,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1212 - * median_dict[(2, NPY_float, 1)] = median_2d_float_axis1 - * median_dict[(2, NPY_float32, 0)] = median_2d_float32_axis0 - * median_dict[(2, NPY_float32, 1)] = median_2d_float32_axis1 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_float64, 0)] = median_2d_float64_axis0 - * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 + * median_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 + * median_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 + * median_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 + * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35433,19 +35433,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1213 - * median_dict[(2, NPY_float32, 0)] = median_2d_float32_axis0 - * median_dict[(2, NPY_float32, 1)] = median_2d_float32_axis1 - * median_dict[(2, NPY_float64, 0)] = median_2d_float64_axis0 # <<<<<<<<<<<<<< - * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 + * median_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 + * median_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 + * median_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -35463,19 +35463,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1214 - * median_dict[(2, NPY_float32, 1)] = median_2d_float32_axis1 - * median_dict[(2, NPY_float64, 0)] = median_2d_float64_axis0 - * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 # <<<<<<<<<<<<<< + * median_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 + * median_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 + * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 # <<<<<<<<<<<<<< * * def median_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_median_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35493,7 +35493,7 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":1216 - * median_dict[(2, NPY_float64, 1)] = median_2d_float64_axis1 + * median_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 * * def median_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) median along axis 0." @@ -36594,8 +36594,8 @@ PyMODINIT_FUNC PyInit_median(void) * return y * * cdef dict nanmedian_dict = {} # <<<<<<<<<<<<<< - * nanmedian_dict[(1, NPY_int, 0)] = median_1d_int_axis0 - * nanmedian_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 + * nanmedian_dict[(1, NPY_float, 0)] = nanmedian_1d_float_axis0 + * nanmedian_dict[(1, NPY_float32, 0)] = nanmedian_1d_float32_axis0 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -36607,17 +36607,17 @@ PyMODINIT_FUNC PyInit_median(void) /* "median.pyx":2135 * * cdef dict nanmedian_dict = {} - * nanmedian_dict[(1, NPY_int, 0)] = median_1d_int_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 - * nanmedian_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 + * nanmedian_dict[(1, NPY_float, 0)] = nanmedian_1d_float_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(1, NPY_float32, 0)] = nanmedian_1d_float32_axis0 + * nanmedian_dict[(1, NPY_float64, 0)] = nanmedian_1d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36636,18 +36636,18 @@ PyMODINIT_FUNC PyInit_median(void) /* "median.pyx":2136 * cdef dict nanmedian_dict = {} - * nanmedian_dict[(1, NPY_int, 0)] = median_1d_int_axis0 - * nanmedian_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 - * nanmedian_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 + * nanmedian_dict[(1, NPY_float, 0)] = nanmedian_1d_float_axis0 + * nanmedian_dict[(1, NPY_float32, 0)] = nanmedian_1d_float32_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(1, NPY_float64, 0)] = nanmedian_1d_float64_axis0 + * nanmedian_dict[(2, NPY_float, 0)] = nanmedian_2d_float_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -36665,19 +36665,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2137 - * nanmedian_dict[(1, NPY_int, 0)] = median_1d_int_axis0 - * nanmedian_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 - * nanmedian_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 - * nanmedian_dict[(2, NPY_int, 0)] = median_2d_int_axis0 + * nanmedian_dict[(1, NPY_float, 0)] = nanmedian_1d_float_axis0 + * nanmedian_dict[(1, NPY_float32, 0)] = nanmedian_1d_float32_axis0 + * nanmedian_dict[(1, NPY_float64, 0)] = nanmedian_1d_float64_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_float, 0)] = nanmedian_2d_float_axis0 + * nanmedian_dict[(2, NPY_float, 1)] = nanmedian_2d_float_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36695,25 +36695,25 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2138 - * nanmedian_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 - * nanmedian_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 - * nanmedian_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_int, 0)] = median_2d_int_axis0 - * nanmedian_dict[(2, NPY_int, 1)] = median_2d_int_axis1 + * nanmedian_dict[(1, NPY_float32, 0)] = nanmedian_1d_float32_axis0 + * nanmedian_dict[(1, NPY_float64, 0)] = nanmedian_1d_float64_axis0 + * nanmedian_dict[(2, NPY_float, 0)] = nanmedian_2d_float_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_float, 1)] = nanmedian_2d_float_axis1 + * nanmedian_dict[(2, NPY_float32, 0)] = nanmedian_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -36725,19 +36725,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2139 - * nanmedian_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 - * nanmedian_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 - * nanmedian_dict[(2, NPY_int, 0)] = median_2d_int_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_int, 1)] = median_2d_int_axis1 - * nanmedian_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 + * nanmedian_dict[(1, NPY_float64, 0)] = nanmedian_1d_float64_axis0 + * nanmedian_dict[(2, NPY_float, 0)] = nanmedian_2d_float_axis0 + * nanmedian_dict[(2, NPY_float, 1)] = nanmedian_2d_float_axis1 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_float32, 0)] = nanmedian_2d_float32_axis0 + * nanmedian_dict[(2, NPY_float32, 1)] = nanmedian_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36746,28 +36746,28 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_nanmedian_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2140 - * nanmedian_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 - * nanmedian_dict[(2, NPY_int, 0)] = median_2d_int_axis0 - * nanmedian_dict[(2, NPY_int, 1)] = median_2d_int_axis1 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 - * nanmedian_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 + * nanmedian_dict[(2, NPY_float, 0)] = nanmedian_2d_float_axis0 + * nanmedian_dict[(2, NPY_float, 1)] = nanmedian_2d_float_axis1 + * nanmedian_dict[(2, NPY_float32, 0)] = nanmedian_2d_float32_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_float32, 1)] = nanmedian_2d_float32_axis1 + * nanmedian_dict[(2, NPY_float64, 0)] = nanmedian_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -36776,28 +36776,28 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_nanmedian_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2141 - * nanmedian_dict[(2, NPY_int, 0)] = median_2d_int_axis0 - * nanmedian_dict[(2, NPY_int, 1)] = median_2d_int_axis1 - * nanmedian_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 - * nanmedian_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 + * nanmedian_dict[(2, NPY_float, 1)] = nanmedian_2d_float_axis1 + * nanmedian_dict[(2, NPY_float32, 0)] = nanmedian_2d_float32_axis0 + * nanmedian_dict[(2, NPY_float32, 1)] = nanmedian_2d_float32_axis1 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_float64, 0)] = nanmedian_2d_float64_axis0 + * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36806,28 +36806,28 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_nanmedian_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2142 - * nanmedian_dict[(2, NPY_int, 1)] = median_2d_int_axis1 - * nanmedian_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 - * nanmedian_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 - * nanmedian_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 + * nanmedian_dict[(2, NPY_float32, 0)] = nanmedian_2d_float32_axis0 + * nanmedian_dict[(2, NPY_float32, 1)] = nanmedian_2d_float32_axis1 + * nanmedian_dict[(2, NPY_float64, 0)] = nanmedian_2d_float64_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 + * nanmedian_dict[(1, NPY_int, 0)] = median_1d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -36836,28 +36836,28 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_nanmedian_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2143 - * nanmedian_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 - * nanmedian_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 - * nanmedian_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 - * nanmedian_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 + * nanmedian_dict[(2, NPY_float32, 1)] = nanmedian_2d_float32_axis1 + * nanmedian_dict[(2, NPY_float64, 0)] = nanmedian_2d_float64_axis0 + * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanmedian_dict[(1, NPY_int, 0)] = median_1d_int_axis0 + * nanmedian_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36866,64 +36866,64 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_nanmedian_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2144 - * nanmedian_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 - * nanmedian_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 - * nanmedian_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 - * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 + * nanmedian_dict[(2, NPY_float64, 0)] = nanmedian_2d_float64_axis0 + * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 + * nanmedian_dict[(1, NPY_int, 0)] = median_1d_int_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 + * nanmedian_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_nanmedian_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2145 - * nanmedian_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 - * nanmedian_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 - * nanmedian_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 - * nanmedian_dict[(1, NPY_float, 0)] = nanmedian_1d_float_axis0 + * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 + * nanmedian_dict[(1, NPY_int, 0)] = median_1d_int_axis0 + * nanmedian_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 + * nanmedian_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -36935,49 +36935,49 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2146 - * nanmedian_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 - * nanmedian_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 - * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 # <<<<<<<<<<<<<< - * nanmedian_dict[(1, NPY_float, 0)] = nanmedian_1d_float_axis0 - * nanmedian_dict[(1, NPY_float32, 0)] = nanmedian_1d_float32_axis0 + * nanmedian_dict[(1, NPY_int, 0)] = median_1d_int_axis0 + * nanmedian_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 + * nanmedian_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 + * nanmedian_dict[(2, NPY_int, 0)] = median_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_nanmedian_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2147 - * nanmedian_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 - * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 - * nanmedian_dict[(1, NPY_float, 0)] = nanmedian_1d_float_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(1, NPY_float32, 0)] = nanmedian_1d_float32_axis0 - * nanmedian_dict[(1, NPY_float64, 0)] = nanmedian_1d_float64_axis0 + * nanmedian_dict[(1, NPY_int8, 0)] = median_1d_int8_axis0 + * nanmedian_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 + * nanmedian_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_int, 0)] = median_2d_int_axis0 + * nanmedian_dict[(2, NPY_int, 1)] = median_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36995,25 +36995,25 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2148 - * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 - * nanmedian_dict[(1, NPY_float, 0)] = nanmedian_1d_float_axis0 - * nanmedian_dict[(1, NPY_float32, 0)] = nanmedian_1d_float32_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(1, NPY_float64, 0)] = nanmedian_1d_float64_axis0 - * nanmedian_dict[(2, NPY_float, 0)] = nanmedian_2d_float_axis0 + * nanmedian_dict[(1, NPY_int32, 0)] = median_1d_int32_axis0 + * nanmedian_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 + * nanmedian_dict[(2, NPY_int, 0)] = median_2d_int_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_int, 1)] = median_2d_int_axis1 + * nanmedian_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -37025,49 +37025,49 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2149 - * nanmedian_dict[(1, NPY_float, 0)] = nanmedian_1d_float_axis0 - * nanmedian_dict[(1, NPY_float32, 0)] = nanmedian_1d_float32_axis0 - * nanmedian_dict[(1, NPY_float64, 0)] = nanmedian_1d_float64_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_float, 0)] = nanmedian_2d_float_axis0 - * nanmedian_dict[(2, NPY_float, 1)] = nanmedian_2d_float_axis1 + * nanmedian_dict[(1, NPY_int64, 0)] = median_1d_int64_axis0 + * nanmedian_dict[(2, NPY_int, 0)] = median_2d_int_axis0 + * nanmedian_dict[(2, NPY_int, 1)] = median_2d_int_axis1 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 + * nanmedian_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6median_nanmedian_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2150 - * nanmedian_dict[(1, NPY_float32, 0)] = nanmedian_1d_float32_axis0 - * nanmedian_dict[(1, NPY_float64, 0)] = nanmedian_1d_float64_axis0 - * nanmedian_dict[(2, NPY_float, 0)] = nanmedian_2d_float_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_float, 1)] = nanmedian_2d_float_axis1 - * nanmedian_dict[(2, NPY_float32, 0)] = nanmedian_2d_float32_axis0 + * nanmedian_dict[(2, NPY_int, 0)] = median_2d_int_axis0 + * nanmedian_dict[(2, NPY_int, 1)] = median_2d_int_axis1 + * nanmedian_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 + * nanmedian_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -37085,19 +37085,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2151 - * nanmedian_dict[(1, NPY_float64, 0)] = nanmedian_1d_float64_axis0 - * nanmedian_dict[(2, NPY_float, 0)] = nanmedian_2d_float_axis0 - * nanmedian_dict[(2, NPY_float, 1)] = nanmedian_2d_float_axis1 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_float32, 0)] = nanmedian_2d_float32_axis0 - * nanmedian_dict[(2, NPY_float32, 1)] = nanmedian_2d_float32_axis1 + * nanmedian_dict[(2, NPY_int, 1)] = median_2d_int_axis1 + * nanmedian_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 + * nanmedian_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 + * nanmedian_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -37115,19 +37115,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2152 - * nanmedian_dict[(2, NPY_float, 0)] = nanmedian_2d_float_axis0 - * nanmedian_dict[(2, NPY_float, 1)] = nanmedian_2d_float_axis1 - * nanmedian_dict[(2, NPY_float32, 0)] = nanmedian_2d_float32_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_float32, 1)] = nanmedian_2d_float32_axis1 - * nanmedian_dict[(2, NPY_float64, 0)] = nanmedian_2d_float64_axis0 + * nanmedian_dict[(2, NPY_int8, 0)] = median_2d_int8_axis0 + * nanmedian_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 + * nanmedian_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 + * nanmedian_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -37145,19 +37145,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2153 - * nanmedian_dict[(2, NPY_float, 1)] = nanmedian_2d_float_axis1 - * nanmedian_dict[(2, NPY_float32, 0)] = nanmedian_2d_float32_axis0 - * nanmedian_dict[(2, NPY_float32, 1)] = nanmedian_2d_float32_axis1 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_float64, 0)] = nanmedian_2d_float64_axis0 - * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 + * nanmedian_dict[(2, NPY_int8, 1)] = median_2d_int8_axis1 + * nanmedian_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 + * nanmedian_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 + * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -37175,19 +37175,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2154 - * nanmedian_dict[(2, NPY_float32, 0)] = nanmedian_2d_float32_axis0 - * nanmedian_dict[(2, NPY_float32, 1)] = nanmedian_2d_float32_axis1 - * nanmedian_dict[(2, NPY_float64, 0)] = nanmedian_2d_float64_axis0 # <<<<<<<<<<<<<< - * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 + * nanmedian_dict[(2, NPY_int32, 0)] = median_2d_int32_axis0 + * nanmedian_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 + * nanmedian_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -37205,19 +37205,19 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2155 - * nanmedian_dict[(2, NPY_float32, 1)] = nanmedian_2d_float32_axis1 - * nanmedian_dict[(2, NPY_float64, 0)] = nanmedian_2d_float64_axis0 - * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanmedian_dict[(2, NPY_int32, 1)] = median_2d_int32_axis1 + * nanmedian_dict[(2, NPY_int64, 0)] = median_2d_int64_axis0 + * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nanmedian_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmedian_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_median_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6median_nanmedian_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -37235,7 +37235,7 @@ PyMODINIT_FUNC PyInit_median(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "median.pyx":2157 - * nanmedian_dict[(2, NPY_float64, 1)] = nanmedian_2d_float64_axis1 + * nanmedian_dict[(2, NPY_int64, 1)] = median_2d_int64_axis1 * * def nanmedian_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmedian along axis 0." @@ -38211,7 +38211,7 @@ PyMODINIT_FUNC PyInit_median(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/nanargmax.c b/bottlechest/src/func/64bit/nanargmax.c index f5cbc8aa61..8c0599d3fa 100644 --- a/bottlechest/src/func/64bit/nanargmax.c +++ b/bottlechest/src/func/64bit/nanargmax.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1096,14 +1096,14 @@ static __pyx_t_5numpy_float32_t __pyx_v_9nanargmax_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_9nanargmax_MAXfloat64; static PyObject *__pyx_v_9nanargmax_nanargmax_dict = 0; static PyObject *__pyx_v_9nanargmax_nanargmax_slow_dict = 0; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t = { "intp_t", NULL, sizeof(__pyx_t_5numpy_intp_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_intp_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_intp_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t = { "intp_t", NULL, sizeof(__pyx_t_5numpy_intp_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_intp_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_intp_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "nanargmax" int __pyx_module_is_main_nanargmax = 0; @@ -1115,27 +1115,27 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_9nanargmax_nanargmax(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_9nanargmax_2nanargmax_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_10nanargmax_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_18nanargmax_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_22nanargmax_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_24nanargmax_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_26nanargmax_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_30nanargmax_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_32nanargmax_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_10nanargmax_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_18nanargmax_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_22nanargmax_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_24nanargmax_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_26nanargmax_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_30nanargmax_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_32nanargmax_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_9nanargmax_46nanargmax_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_9nanargmax_48nanargmax_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_9nanargmax_50nanargmax_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1308,9 +1308,9 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Indices_of_the_maximum_values_a[] = "\n Indices of the maximum values along an axis, ignoring NaNs.\n<<<<<<< HEAD:bottlechest/src/template/func/nanargmax.py\n \n=======\n\n For all-NaN slices ``ValueError`` is raised. Unlike NumPy, the results\n can be trusted if a slice contains only NaNs and Infs.\n\n>>>>>>> 72f8ae2... ENH nanargmin and nanargmax now match numpy 1.8.0:bottleneck/src/template/func/nanargmax.py\n Parameters\n ----------\n a : array_like\n Input data.\n axis : {int, None}, optional\n Axis along which to operate. By default (axis=None) flattened input\n is used.\n \n See also\n --------\n bottlechest.nanargmin: Indices of the minimum values along an axis.\n bottlechest.nanmax: Maximum values along specified axis, ignoring NaNs.\n\n Returns\n -------\n index_array : ndarray\n An array of indices or a single index value.\n \n Examples\n --------\n >>> a = np.array([[np.nan, 4], [2, 3]])\n >>> bn.nanargmax(a)\n 1\n >>> a.flat[1]\n 4.0\n >>> bn.nanargmax(a, axis=0)\n array([1, 0])\n >>> bn.nanargmax(a, axis=1)\n array([1, 1])\n \n "; static char __pyx_k_Return_nanargmax_function_and_a[] = "\n Return nanargmax function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.nanargmax() is in checking that `axis` is within range, converting\n `arr` into an array (if it is not already an array), and selecting the\n function to use to find the indices of the maximum.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the indices are found.\n \n Returns\n -------\n func : function\n The nanargmax function that matches the number of dimensions and\n dtype of the input array and the axis.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine the nanargmax of `arr` along\n axis=0:\n\n >>> func, a = bn.func.nanargmax_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the maximum:\n \n >>> func(a)\n 2\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/nanargmax.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\nanargmax.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; @@ -1318,7 +1318,6 @@ static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran static char __pyx_k_numpy_nanargmax_raises_on_a_shap[] = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too."; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; static PyObject *__pyx_kp_s_All_NaN_slice_encountered; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1332,6 +1331,7 @@ static PyObject *__pyx_kp_u_Return_nanargmax_function_and_a; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__16; static PyObject *__pyx_n_s_a; @@ -2448,24 +2448,24 @@ static PyObject *__pyx_pf_9nanargmax_2nanargmax_selector(CYTHON_UNUSED PyObject /* "nanargmax.pyx":190 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int array along axis=0 ignoring NaNs." + * def nanargmax_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_5nanargmax_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_4nanargmax_1d_int_axis0[] = "nanargmax_1d_int_axis0(ndarray a)\nIndex of max of 1d, int array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_5nanargmax_1d_int_axis0 = {"nanargmax_1d_int_axis0", (PyCFunction)__pyx_pw_9nanargmax_5nanargmax_1d_int_axis0, METH_O, __pyx_doc_9nanargmax_4nanargmax_1d_int_axis0}; -static PyObject *__pyx_pw_9nanargmax_5nanargmax_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_5nanargmax_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_4nanargmax_1d_float_axis0[] = "nanargmax_1d_float_axis0(ndarray a)\nIndex of max of 1d, float array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_5nanargmax_1d_float_axis0 = {"nanargmax_1d_float_axis0", (PyCFunction)__pyx_pw_9nanargmax_5nanargmax_1d_float_axis0, METH_O, __pyx_doc_9nanargmax_4nanargmax_1d_float_axis0}; +static PyObject *__pyx_pw_9nanargmax_5nanargmax_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_1d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanargmax_1d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_9nanargmax_4nanargmax_1d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2476,10 +2476,10 @@ static PyObject *__pyx_pw_9nanargmax_5nanargmax_1d_int_axis0(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amax; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amax; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -2494,36 +2494,35 @@ static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(CYTHON_UNUSED PyObj PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_1d_int_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_1d_float_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "nanargmax.pyx":192 - * def nanargmax_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): - * "Index of max of 1d, int array along axis=0 ignoring NaNs." + * def nanargmax_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): + * "Index of max of 1d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amax, ai + * cdef np.float_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; /* "nanargmax.pyx":194 * cdef int allnan = 1 - * cdef np.int_t amax, ai + * cdef np.float_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim @@ -2563,7 +2562,7 @@ static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(CYTHON_UNUSED PyObj * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amax = MINint + * amax = MINfloat */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; @@ -2572,8 +2571,8 @@ static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(CYTHON_UNUSED PyObj * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amax = MINint - * for i0 in range(n0): + * amax = MINfloat + * for i0 in range(n0 - 1, -1, -1): */ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -2591,39 +2590,38 @@ static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(CYTHON_UNUSED PyObj /* "nanargmax.pyx":202 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amax = MINint # <<<<<<<<<<<<<< - * for i0 in range(n0): + * amax = MINfloat # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint; + __pyx_v_amax = __pyx_v_9nanargmax_MINfloat; /* "nanargmax.pyx":203 * raise ValueError(msg) - * amax = MINint - * for i0 in range(n0): # <<<<<<<<<<<<<< + * amax = MINfloat + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0] * if ai >= amax: */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { + __pyx_v_i0 = __pyx_t_4; /* "nanargmax.pyx":204 - * amax = MINint - * for i0 in range(n0): + * amax = MINfloat + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); /* "nanargmax.pyx":205 - * for i0 in range(n0): + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * idx = i0 + * allnan = 0 */ __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_1) { @@ -2632,17 +2630,26 @@ static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(CYTHON_UNUSED PyObj * ai = a[i0] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< + * allnan = 0 * idx = i0 - * return np.intp(idx) */ __pyx_v_amax = __pyx_v_ai; /* "nanargmax.pyx":207 * if ai >= amax: * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: + */ + __pyx_v_allnan = 0; + + /* "nanargmax.pyx":208 + * amax = ai + * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * return np.intp(idx) - * + * if allnan == 0: + * return np.intp(idx) */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L6; @@ -2650,56 +2657,82 @@ static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(CYTHON_UNUSED PyObj __pyx_L6:; } - /* "nanargmax.pyx":208 - * amax = ai + /* "nanargmax.pyx":209 + * allnan = 0 * idx = i0 - * return np.intp(idx) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.intp(idx) + * else: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_1) { + + /* "nanargmax.pyx":210 + * idx = i0 + * if allnan == 0: + * return np.intp(idx) # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + /*else*/ { + + /* "nanargmax.pyx":212 + * return np.intp(idx) + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; /* "nanargmax.pyx":190 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int array along axis=0 ignoring NaNs." + * def nanargmax_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -2707,14 +2740,14 @@ static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(CYTHON_UNUSED PyObj __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2726,27 +2759,27 @@ static PyObject *__pyx_pf_9nanargmax_4nanargmax_1d_int_axis0(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanargmax.pyx":212 +/* "nanargmax.pyx":216 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + * def nanargmax_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_7nanargmax_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_6nanargmax_1d_int8_axis0[] = "nanargmax_1d_int8_axis0(ndarray a)\nIndex of max of 1d, int8 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_7nanargmax_1d_int8_axis0 = {"nanargmax_1d_int8_axis0", (PyCFunction)__pyx_pw_9nanargmax_7nanargmax_1d_int8_axis0, METH_O, __pyx_doc_9nanargmax_6nanargmax_1d_int8_axis0}; -static PyObject *__pyx_pw_9nanargmax_7nanargmax_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_7nanargmax_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_6nanargmax_1d_float32_axis0[] = "nanargmax_1d_float32_axis0(ndarray a)\nIndex of max of 1d, float32 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_7nanargmax_1d_float32_axis0 = {"nanargmax_1d_float32_axis0", (PyCFunction)__pyx_pw_9nanargmax_7nanargmax_1d_float32_axis0, METH_O, __pyx_doc_9nanargmax_6nanargmax_1d_float32_axis0}; +static PyObject *__pyx_pw_9nanargmax_7nanargmax_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_1d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_6nanargmax_1d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_1d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_6nanargmax_1d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2757,10 +2790,10 @@ static PyObject *__pyx_pw_9nanargmax_7nanargmax_1d_int8_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amax; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amax; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -2775,43 +2808,42 @@ static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_int8_axis0(CYTHON_UNUSED PyOb PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_1d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_1d_float32_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmax.pyx":214 - * def nanargmax_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): - * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":218 + * def nanargmax_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): + * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amax, ai + * cdef np.float32_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":216 + /* "nanargmax.pyx":220 * cdef int allnan = 1 - * cdef np.int8_t amax, ai + * cdef np.float32_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":219 + /* "nanargmax.pyx":223 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2820,7 +2852,7 @@ static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_int8_axis0(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":220 + /* "nanargmax.pyx":224 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2829,7 +2861,7 @@ static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_int8_axis0(CYTHON_UNUSED PyOb */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":221 + /* "nanargmax.pyx":225 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< @@ -2839,91 +2871,99 @@ static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_int8_axis0(CYTHON_UNUSED PyOb __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanargmax.pyx":222 + /* "nanargmax.pyx":226 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amax = MINint8 + * amax = MINfloat32 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":223 + /* "nanargmax.pyx":227 * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amax = MINint8 - * for i0 in range(n0): + * amax = MINfloat32 + * for i0 in range(n0 - 1, -1, -1): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":224 + /* "nanargmax.pyx":228 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amax = MINint8 # <<<<<<<<<<<<<< - * for i0 in range(n0): + * amax = MINfloat32 # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint8; + __pyx_v_amax = __pyx_v_9nanargmax_MINfloat32; - /* "nanargmax.pyx":225 + /* "nanargmax.pyx":229 * raise ValueError(msg) - * amax = MINint8 - * for i0 in range(n0): # <<<<<<<<<<<<<< + * amax = MINfloat32 + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0] * if ai >= amax: */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { + __pyx_v_i0 = __pyx_t_4; - /* "nanargmax.pyx":226 - * amax = MINint8 - * for i0 in range(n0): + /* "nanargmax.pyx":230 + * amax = MINfloat32 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmax.pyx":227 - * for i0 in range(n0): + /* "nanargmax.pyx":231 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * idx = i0 + * allnan = 0 */ __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_1) { - /* "nanargmax.pyx":228 + /* "nanargmax.pyx":232 * ai = a[i0] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< + * allnan = 0 * idx = i0 - * return np.intp(idx) */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":229 + /* "nanargmax.pyx":233 * if ai >= amax: * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: + */ + __pyx_v_allnan = 0; + + /* "nanargmax.pyx":234 + * amax = ai + * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * return np.intp(idx) - * + * if allnan == 0: + * return np.intp(idx) */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L6; @@ -2931,56 +2971,82 @@ static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_int8_axis0(CYTHON_UNUSED PyOb __pyx_L6:; } - /* "nanargmax.pyx":230 - * amax = ai + /* "nanargmax.pyx":235 + * allnan = 0 * idx = i0 - * return np.intp(idx) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.intp(idx) + * else: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_1) { + + /* "nanargmax.pyx":236 + * idx = i0 + * if allnan == 0: + * return np.intp(idx) # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + /*else*/ { + + /* "nanargmax.pyx":238 + * return np.intp(idx) + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - /* "nanargmax.pyx":212 + /* "nanargmax.pyx":216 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + * def nanargmax_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -2988,14 +3054,14 @@ static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_int8_axis0(CYTHON_UNUSED PyOb __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3007,27 +3073,27 @@ static PyObject *__pyx_pf_9nanargmax_6nanargmax_1d_int8_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "nanargmax.pyx":234 +/* "nanargmax.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." + * def nanargmax_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_9nanargmax_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_8nanargmax_1d_int32_axis0[] = "nanargmax_1d_int32_axis0(ndarray a)\nIndex of max of 1d, int32 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_9nanargmax_1d_int32_axis0 = {"nanargmax_1d_int32_axis0", (PyCFunction)__pyx_pw_9nanargmax_9nanargmax_1d_int32_axis0, METH_O, __pyx_doc_9nanargmax_8nanargmax_1d_int32_axis0}; -static PyObject *__pyx_pw_9nanargmax_9nanargmax_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_9nanargmax_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_8nanargmax_1d_float64_axis0[] = "nanargmax_1d_float64_axis0(ndarray a)\nIndex of max of 1d, float64 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_9nanargmax_1d_float64_axis0 = {"nanargmax_1d_float64_axis0", (PyCFunction)__pyx_pw_9nanargmax_9nanargmax_1d_float64_axis0, METH_O, __pyx_doc_9nanargmax_8nanargmax_1d_float64_axis0}; +static PyObject *__pyx_pw_9nanargmax_9nanargmax_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_1d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_8nanargmax_1d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_1d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_8nanargmax_1d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3038,10 +3104,10 @@ static PyObject *__pyx_pw_9nanargmax_9nanargmax_1d_int32_axis0(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amax; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_amax; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -3056,43 +3122,42 @@ static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_int32_axis0(CYTHON_UNUSED PyO PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_1d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_1d_float64_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmax.pyx":236 - * def nanargmax_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): - * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":244 + * def nanargmax_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): + * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amax, ai + * cdef np.float64_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":238 + /* "nanargmax.pyx":246 * cdef int allnan = 1 - * cdef np.int32_t amax, ai + * cdef np.float64_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":241 + /* "nanargmax.pyx":249 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3101,7 +3166,7 @@ static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_int32_axis0(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":242 + /* "nanargmax.pyx":250 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3110,7 +3175,7 @@ static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_int32_axis0(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":243 + /* "nanargmax.pyx":251 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< @@ -3120,91 +3185,99 @@ static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_int32_axis0(CYTHON_UNUSED PyO __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanargmax.pyx":244 + /* "nanargmax.pyx":252 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amax = MINint32 + * amax = MINfloat64 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":245 + /* "nanargmax.pyx":253 * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amax = MINint32 - * for i0 in range(n0): + * amax = MINfloat64 + * for i0 in range(n0 - 1, -1, -1): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":246 + /* "nanargmax.pyx":254 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amax = MINint32 # <<<<<<<<<<<<<< - * for i0 in range(n0): + * amax = MINfloat64 # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint32; + __pyx_v_amax = __pyx_v_9nanargmax_MINfloat64; - /* "nanargmax.pyx":247 + /* "nanargmax.pyx":255 * raise ValueError(msg) - * amax = MINint32 - * for i0 in range(n0): # <<<<<<<<<<<<<< + * amax = MINfloat64 + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0] * if ai >= amax: */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { + __pyx_v_i0 = __pyx_t_4; - /* "nanargmax.pyx":248 - * amax = MINint32 - * for i0 in range(n0): + /* "nanargmax.pyx":256 + * amax = MINfloat64 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmax.pyx":249 - * for i0 in range(n0): + /* "nanargmax.pyx":257 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * idx = i0 + * allnan = 0 */ __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_1) { - /* "nanargmax.pyx":250 + /* "nanargmax.pyx":258 * ai = a[i0] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< + * allnan = 0 * idx = i0 - * return np.intp(idx) */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":251 + /* "nanargmax.pyx":259 * if ai >= amax: * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: + */ + __pyx_v_allnan = 0; + + /* "nanargmax.pyx":260 + * amax = ai + * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * return np.intp(idx) - * + * if allnan == 0: + * return np.intp(idx) */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L6; @@ -3212,56 +3285,82 @@ static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_int32_axis0(CYTHON_UNUSED PyO __pyx_L6:; } - /* "nanargmax.pyx":252 - * amax = ai + /* "nanargmax.pyx":261 + * allnan = 0 * idx = i0 - * return np.intp(idx) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.intp(idx) + * else: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_1) { + + /* "nanargmax.pyx":262 + * idx = i0 + * if allnan == 0: + * return np.intp(idx) # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + /*else*/ { + + /* "nanargmax.pyx":264 + * return np.intp(idx) + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - /* "nanargmax.pyx":234 + /* "nanargmax.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." + * def nanargmax_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -3269,14 +3368,14 @@ static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_int32_axis0(CYTHON_UNUSED PyO __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3288,27 +3387,27 @@ static PyObject *__pyx_pf_9nanargmax_8nanargmax_1d_int32_axis0(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanargmax.pyx":256 +/* "nanargmax.pyx":268 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_11nanargmax_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_10nanargmax_1d_int64_axis0[] = "nanargmax_1d_int64_axis0(ndarray a)\nIndex of max of 1d, int64 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_11nanargmax_1d_int64_axis0 = {"nanargmax_1d_int64_axis0", (PyCFunction)__pyx_pw_9nanargmax_11nanargmax_1d_int64_axis0, METH_O, __pyx_doc_9nanargmax_10nanargmax_1d_int64_axis0}; -static PyObject *__pyx_pw_9nanargmax_11nanargmax_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_11nanargmax_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_10nanargmax_2d_float_axis0[] = "nanargmax_2d_float_axis0(ndarray a)\nIndex of max of 2d, float array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_11nanargmax_2d_float_axis0 = {"nanargmax_2d_float_axis0", (PyCFunction)__pyx_pw_9nanargmax_11nanargmax_2d_float_axis0, METH_O, __pyx_doc_9nanargmax_10nanargmax_2d_float_axis0}; +static PyObject *__pyx_pw_9nanargmax_11nanargmax_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_1d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_10nanargmax_1d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_float_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_10nanargmax_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3319,277 +3418,363 @@ static PyObject *__pyx_pw_9nanargmax_11nanargmax_1d_int64_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_10nanargmax_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amax; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_10nanargmax_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amax; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_1d_int64_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_float_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":258 - * def nanargmax_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): - * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":270 + * def nanargmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Index of max of 2d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amax, ai + * cdef np.float_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":260 + /* "nanargmax.pyx":272 * cdef int allnan = 1 - * cdef np.int64_t amax, ai + * cdef np.float_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":263 - * cdef Py_ssize_t i0 + /* "nanargmax.pyx":275 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":264 + /* "nanargmax.pyx":276 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":265 + /* "nanargmax.pyx":277 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanargmax.pyx":278 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "nanargmax.pyx":279 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_intp, 0) + * if n0 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanargmax.pyx":281 + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanargmax.pyx":266 - * cdef Py_ssize_t n0 = dim[0] + /* "nanargmax.pyx":282 + * NPY_intp, 0) * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amax = MINint64 + * for i1 in range(n1 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":267 + /* "nanargmax.pyx":283 * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amax = MINint64 - * for i0 in range(n0): + * for i1 in range(n1 - 1, -1, -1): + * amax = MINfloat */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":268 + /* "nanargmax.pyx":284 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amax = MINint64 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + * amax = MINfloat + * allnan = 1 */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint64; + for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanargmax.pyx":269 + /* "nanargmax.pyx":285 * raise ValueError(msg) - * amax = MINint64 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai >= amax: + * for i1 in range(n1 - 1, -1, -1): + * amax = MINfloat # <<<<<<<<<<<<<< + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amax = __pyx_v_9nanargmax_MINfloat; - /* "nanargmax.pyx":270 - * amax = MINint64 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "nanargmax.pyx":286 + * for i1 in range(n1 - 1, -1, -1): + * amax = MINfloat + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_allnan = 1; - /* "nanargmax.pyx":271 - * for i0 in range(n0): - * ai = a[i0] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * idx = i0 + /* "nanargmax.pyx":287 + * amax = MINfloat + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai >= amax: */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanargmax.pyx":272 - * ai = a[i0] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * idx = i0 - * return np.intp(idx) + /* "nanargmax.pyx":288 + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_v_amax = __pyx_v_ai; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":273 - * if ai >= amax: - * amax = ai - * idx = i0 # <<<<<<<<<<<<<< - * return np.intp(idx) - * + /* "nanargmax.pyx":289 + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * allnan = 0 */ - __pyx_v_idx = __pyx_v_i0; - goto __pyx_L6; - } - __pyx_L6:; - } + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { - /* "nanargmax.pyx":274 - * amax = ai - * idx = i0 - * return np.intp(idx) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + /* "nanargmax.pyx":290 + * ai = a[i0, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * allnan = 0 + * idx = i0 */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; + __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":256 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanargmax_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." - * cdef int allnan = 1 + /* "nanargmax.pyx":291 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: */ + __pyx_v_allnan = 0; - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + /* "nanargmax.pyx":292 + * amax = ai + * allnan = 0 + * idx = i0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = idx + */ + __pyx_v_idx = __pyx_v_i0; + goto __pyx_L8; + } + __pyx_L8:; + } + + /* "nanargmax.pyx":293 + * allnan = 0 + * idx = i0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = idx + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanargmax.pyx":294 + * idx = i0 + * if allnan == 0: + * y[i1] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { + + /* "nanargmax.pyx":296 + * y[i1] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; + } + + /* "nanargmax.pyx":297 + * else: + * raise ValueError("All-NaN slice encountered") + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "nanargmax.pyx":268 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanargmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=0 ignoring NaNs." + * cdef int allnan = 1 + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmax.pyx":278 +/* "nanargmax.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=0 ignoring NaNs." + * def nanargmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_13nanargmax_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_12nanargmax_2d_int_axis0[] = "nanargmax_2d_int_axis0(ndarray a)\nIndex of max of 2d, int array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_13nanargmax_2d_int_axis0 = {"nanargmax_2d_int_axis0", (PyCFunction)__pyx_pw_9nanargmax_13nanargmax_2d_int_axis0, METH_O, __pyx_doc_9nanargmax_12nanargmax_2d_int_axis0}; -static PyObject *__pyx_pw_9nanargmax_13nanargmax_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_13nanargmax_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_12nanargmax_2d_float_axis1[] = "nanargmax_2d_float_axis1(ndarray a)\nIndex of max of 2d, float array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_13nanargmax_2d_float_axis1 = {"nanargmax_2d_float_axis1", (PyCFunction)__pyx_pw_9nanargmax_13nanargmax_2d_float_axis1, METH_O, __pyx_doc_9nanargmax_12nanargmax_2d_float_axis1}; +static PyObject *__pyx_pw_9nanargmax_13nanargmax_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_int_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_12nanargmax_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_float_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_12nanargmax_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3600,10 +3785,10 @@ static PyObject *__pyx_pw_9nanargmax_13nanargmax_2d_int_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amax; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amax; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -3631,7 +3816,7 @@ static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_int_axis0(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3642,29 +3827,29 @@ static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_int_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":280 - * def nanargmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Index of max of 2d, int array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":303 + * def nanargmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Index of max of 2d, float array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amax, ai + * cdef np.float_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":282 + /* "nanargmax.pyx":305 * cdef int allnan = 1 - * cdef np.int_t amax, ai + * cdef np.float_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":285 + /* "nanargmax.pyx":308 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3673,50 +3858,50 @@ static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_int_axis0(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":286 + /* "nanargmax.pyx":309 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":287 + /* "nanargmax.pyx":310 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":288 + /* "nanargmax.pyx":311 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ - __pyx_t_1[0] = __pyx_v_n1; + __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":289 + /* "nanargmax.pyx":312 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3724,132 +3909,178 @@ static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_int_axis0(CYTHON_UNUSED PyOb __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":291 + /* "nanargmax.pyx":314 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":292 + /* "nanargmax.pyx":315 * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":293 - * if n0 == 0: + /* "nanargmax.pyx":316 + * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint + * for i0 in range(n0 - 1, -1, -1): + * amax = MINfloat */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":294 + /* "nanargmax.pyx":317 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINint - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * amax = MINfloat + * allnan = 1 */ - for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i1 = __pyx_t_6; + for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanargmax.pyx":295 + /* "nanargmax.pyx":318 * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): + * amax = MINfloat # <<<<<<<<<<<<<< + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): + */ + __pyx_v_amax = __pyx_v_9nanargmax_MINfloat; + + /* "nanargmax.pyx":319 + * for i0 in range(n0 - 1, -1, -1): + * amax = MINfloat + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint; + __pyx_v_allnan = 1; - /* "nanargmax.pyx":296 - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + /* "nanargmax.pyx":320 + * amax = MINfloat + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i0 = __pyx_t_7; + for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanargmax.pyx":297 - * amax = MINint - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmax.pyx":321 + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":298 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmax.pyx":322 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * idx = i0 + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":299 + /* "nanargmax.pyx":323 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * idx = i0 - * y[i1] = idx + * allnan = 0 + * idx = i1 */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":300 + /* "nanargmax.pyx":324 * if ai >= amax: * amax = ai - * idx = i0 # <<<<<<<<<<<<<< - * y[i1] = idx - * return y + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i1 + * if allnan == 0: */ - __pyx_v_idx = __pyx_v_i0; + __pyx_v_allnan = 0; + + /* "nanargmax.pyx":325 + * amax = ai + * allnan = 0 + * idx = i1 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = idx + */ + __pyx_v_idx = __pyx_v_i1; goto __pyx_L8; } __pyx_L8:; } - /* "nanargmax.pyx":301 - * amax = ai - * idx = i0 - * y[i1] = idx # <<<<<<<<<<<<<< + /* "nanargmax.pyx":326 + * allnan = 0 + * idx = i1 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = idx + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanargmax.pyx":327 + * idx = i1 + * if allnan == 0: + * y[i0] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { + + /* "nanargmax.pyx":329 + * y[i0] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; } - /* "nanargmax.pyx":302 - * idx = i0 - * y[i1] = idx + /* "nanargmax.pyx":330 + * else: + * raise ValueError("All-NaN slice encountered") * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3859,11 +4090,11 @@ static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_int_axis0(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmax.pyx":278 + /* "nanargmax.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=0 ignoring NaNs." + * def nanargmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -3876,7 +4107,7 @@ static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_int_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3890,27 +4121,27 @@ static PyObject *__pyx_pf_9nanargmax_12nanargmax_2d_int_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "nanargmax.pyx":306 +/* "nanargmax.pyx":334 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=1 ignoring NaNs." + * def nanargmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_15nanargmax_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_14nanargmax_2d_int_axis1[] = "nanargmax_2d_int_axis1(ndarray a)\nIndex of max of 2d, int array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_15nanargmax_2d_int_axis1 = {"nanargmax_2d_int_axis1", (PyCFunction)__pyx_pw_9nanargmax_15nanargmax_2d_int_axis1, METH_O, __pyx_doc_9nanargmax_14nanargmax_2d_int_axis1}; -static PyObject *__pyx_pw_9nanargmax_15nanargmax_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_15nanargmax_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_14nanargmax_2d_float32_axis0[] = "nanargmax_2d_float32_axis0(ndarray a)\nIndex of max of 2d, float32 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_15nanargmax_2d_float32_axis0 = {"nanargmax_2d_float32_axis0", (PyCFunction)__pyx_pw_9nanargmax_15nanargmax_2d_float32_axis0, METH_O, __pyx_doc_9nanargmax_14nanargmax_2d_float32_axis0}; +static PyObject *__pyx_pw_9nanargmax_15nanargmax_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_int_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_14nanargmax_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_14nanargmax_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3921,10 +4152,10 @@ static PyObject *__pyx_pw_9nanargmax_15nanargmax_2d_int_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amax; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amax; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -3952,7 +4183,7 @@ static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_int_axis1(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3963,29 +4194,29 @@ static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_int_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":308 - * def nanargmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Index of max of 2d, int array along axis=1 ignoring NaNs." + /* "nanargmax.pyx":336 + * def nanargmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amax, ai + * cdef np.float32_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":310 + /* "nanargmax.pyx":338 * cdef int allnan = 1 - * cdef np.int_t amax, ai + * cdef np.float32_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":313 + /* "nanargmax.pyx":341 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3994,50 +4225,50 @@ static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_int_axis1(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":314 + /* "nanargmax.pyx":342 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":315 + /* "nanargmax.pyx":343 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":316 + /* "nanargmax.pyx":344 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ - __pyx_t_1[0] = __pyx_v_n0; + __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":317 + /* "nanargmax.pyx":345 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) - * if n1 == 0: + * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4045,132 +4276,178 @@ static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_int_axis1(CYTHON_UNUSED PyOb __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":319 + /* "nanargmax.pyx":347 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":320 + /* "nanargmax.pyx":348 * NPY_intp, 0) - * if n1 == 0: + * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":321 - * if n1 == 0: + /* "nanargmax.pyx":349 + * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint + * for i1 in range(n1 - 1, -1, -1): + * amax = MINfloat32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":322 + /* "nanargmax.pyx":350 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINint - * for i1 in range(n1 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + * amax = MINfloat32 + * allnan = 1 */ - for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i0 = __pyx_t_6; + for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanargmax.pyx":323 + /* "nanargmax.pyx":351 * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): + * amax = MINfloat32 # <<<<<<<<<<<<<< + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): + */ + __pyx_v_amax = __pyx_v_9nanargmax_MINfloat32; + + /* "nanargmax.pyx":352 + * for i1 in range(n1 - 1, -1, -1): + * amax = MINfloat32 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint; + __pyx_v_allnan = 1; - /* "nanargmax.pyx":324 - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + /* "nanargmax.pyx":353 + * amax = MINfloat32 + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i1 = __pyx_t_7; + for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanargmax.pyx":325 - * amax = MINint - * for i1 in range(n1 - 1, -1, -1): + /* "nanargmax.pyx":354 + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":326 - * for i1 in range(n1 - 1, -1, -1): + /* "nanargmax.pyx":355 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * idx = i1 + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":327 + /* "nanargmax.pyx":356 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * idx = i1 - * y[i0] = idx + * allnan = 0 + * idx = i0 */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":328 + /* "nanargmax.pyx":357 * if ai >= amax: * amax = ai - * idx = i1 # <<<<<<<<<<<<<< - * y[i0] = idx - * return y + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: */ - __pyx_v_idx = __pyx_v_i1; + __pyx_v_allnan = 0; + + /* "nanargmax.pyx":358 + * amax = ai + * allnan = 0 + * idx = i0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = idx + */ + __pyx_v_idx = __pyx_v_i0; goto __pyx_L8; } __pyx_L8:; } - /* "nanargmax.pyx":329 - * amax = ai - * idx = i1 - * y[i0] = idx # <<<<<<<<<<<<<< + /* "nanargmax.pyx":359 + * allnan = 0 + * idx = i0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = idx + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanargmax.pyx":360 + * idx = i0 + * if allnan == 0: + * y[i1] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { + + /* "nanargmax.pyx":362 + * y[i1] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; } - /* "nanargmax.pyx":330 - * idx = i1 - * y[i0] = idx + /* "nanargmax.pyx":363 + * else: + * raise ValueError("All-NaN slice encountered") * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4180,11 +4457,11 @@ static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_int_axis1(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmax.pyx":306 + /* "nanargmax.pyx":334 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=1 ignoring NaNs." + * def nanargmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -4197,7 +4474,7 @@ static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_int_axis1(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4211,27 +4488,27 @@ static PyObject *__pyx_pf_9nanargmax_14nanargmax_2d_int_axis1(CYTHON_UNUSED PyOb return __pyx_r; } -/* "nanargmax.pyx":334 +/* "nanargmax.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_17nanargmax_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_16nanargmax_2d_int8_axis0[] = "nanargmax_2d_int8_axis0(ndarray a)\nIndex of max of 2d, int8 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_17nanargmax_2d_int8_axis0 = {"nanargmax_2d_int8_axis0", (PyCFunction)__pyx_pw_9nanargmax_17nanargmax_2d_int8_axis0, METH_O, __pyx_doc_9nanargmax_16nanargmax_2d_int8_axis0}; -static PyObject *__pyx_pw_9nanargmax_17nanargmax_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_17nanargmax_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_16nanargmax_2d_float32_axis1[] = "nanargmax_2d_float32_axis1(ndarray a)\nIndex of max of 2d, float32 array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_17nanargmax_2d_float32_axis1 = {"nanargmax_2d_float32_axis1", (PyCFunction)__pyx_pw_9nanargmax_17nanargmax_2d_float32_axis1, METH_O, __pyx_doc_9nanargmax_16nanargmax_2d_float32_axis1}; +static PyObject *__pyx_pw_9nanargmax_17nanargmax_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_16nanargmax_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_float32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_16nanargmax_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4242,10 +4519,10 @@ static PyObject *__pyx_pw_9nanargmax_17nanargmax_2d_int8_axis0(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amax; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amax; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -4273,7 +4550,7 @@ static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_int8_axis0(CYTHON_UNUSED PyO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4284,29 +4561,29 @@ static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_int8_axis0(CYTHON_UNUSED PyO __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":336 - * def nanargmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":369 + * def nanargmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amax, ai + * cdef np.float32_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":338 + /* "nanargmax.pyx":371 * cdef int allnan = 1 - * cdef np.int8_t amax, ai + * cdef np.float32_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":341 + /* "nanargmax.pyx":374 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4315,50 +4592,50 @@ static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_int8_axis0(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":342 + /* "nanargmax.pyx":375 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":343 + /* "nanargmax.pyx":376 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":344 + /* "nanargmax.pyx":377 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ - __pyx_t_1[0] = __pyx_v_n1; + __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":345 + /* "nanargmax.pyx":378 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4366,132 +4643,178 @@ static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_int8_axis0(CYTHON_UNUSED PyO __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":347 + /* "nanargmax.pyx":380 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":348 + /* "nanargmax.pyx":381 * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":349 - * if n0 == 0: + /* "nanargmax.pyx":382 + * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint8 + * for i0 in range(n0 - 1, -1, -1): + * amax = MINfloat32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":350 + /* "nanargmax.pyx":383 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINint8 - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * amax = MINfloat32 + * allnan = 1 */ - for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i1 = __pyx_t_6; + for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanargmax.pyx":351 + /* "nanargmax.pyx":384 * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint8 # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): + * amax = MINfloat32 # <<<<<<<<<<<<<< + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): + */ + __pyx_v_amax = __pyx_v_9nanargmax_MINfloat32; + + /* "nanargmax.pyx":385 + * for i0 in range(n0 - 1, -1, -1): + * amax = MINfloat32 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint8; + __pyx_v_allnan = 1; - /* "nanargmax.pyx":352 - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint8 - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + /* "nanargmax.pyx":386 + * amax = MINfloat32 + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i0 = __pyx_t_7; + for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanargmax.pyx":353 - * amax = MINint8 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmax.pyx":387 + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":354 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmax.pyx":388 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * idx = i0 + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":355 + /* "nanargmax.pyx":389 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * idx = i0 - * y[i1] = idx + * allnan = 0 + * idx = i1 */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":356 + /* "nanargmax.pyx":390 * if ai >= amax: * amax = ai - * idx = i0 # <<<<<<<<<<<<<< - * y[i1] = idx - * return y + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i1 + * if allnan == 0: */ - __pyx_v_idx = __pyx_v_i0; + __pyx_v_allnan = 0; + + /* "nanargmax.pyx":391 + * amax = ai + * allnan = 0 + * idx = i1 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = idx + */ + __pyx_v_idx = __pyx_v_i1; goto __pyx_L8; } __pyx_L8:; } - /* "nanargmax.pyx":357 - * amax = ai - * idx = i0 - * y[i1] = idx # <<<<<<<<<<<<<< + /* "nanargmax.pyx":392 + * allnan = 0 + * idx = i1 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = idx + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanargmax.pyx":393 + * idx = i1 + * if allnan == 0: + * y[i0] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { + + /* "nanargmax.pyx":395 + * y[i0] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; } - /* "nanargmax.pyx":358 - * idx = i0 - * y[i1] = idx + /* "nanargmax.pyx":396 + * else: + * raise ValueError("All-NaN slice encountered") * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4501,11 +4824,11 @@ static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_int8_axis0(CYTHON_UNUSED PyO __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmax.pyx":334 + /* "nanargmax.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -4518,7 +4841,7 @@ static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_int8_axis0(CYTHON_UNUSED PyO __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4532,27 +4855,27 @@ static PyObject *__pyx_pf_9nanargmax_16nanargmax_2d_int8_axis0(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanargmax.pyx":362 +/* "nanargmax.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." + * def nanargmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_19nanargmax_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_18nanargmax_2d_int8_axis1[] = "nanargmax_2d_int8_axis1(ndarray a)\nIndex of max of 2d, int8 array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_19nanargmax_2d_int8_axis1 = {"nanargmax_2d_int8_axis1", (PyCFunction)__pyx_pw_9nanargmax_19nanargmax_2d_int8_axis1, METH_O, __pyx_doc_9nanargmax_18nanargmax_2d_int8_axis1}; -static PyObject *__pyx_pw_9nanargmax_19nanargmax_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_19nanargmax_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_18nanargmax_2d_float64_axis0[] = "nanargmax_2d_float64_axis0(ndarray a)\nIndex of max of 2d, float64 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_19nanargmax_2d_float64_axis0 = {"nanargmax_2d_float64_axis0", (PyCFunction)__pyx_pw_9nanargmax_19nanargmax_2d_float64_axis0, METH_O, __pyx_doc_9nanargmax_18nanargmax_2d_float64_axis0}; +static PyObject *__pyx_pw_9nanargmax_19nanargmax_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_int8_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_18nanargmax_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_18nanargmax_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4563,10 +4886,10 @@ static PyObject *__pyx_pw_9nanargmax_19nanargmax_2d_int8_axis1(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_18nanargmax_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amax; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_18nanargmax_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_amax; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -4594,7 +4917,7 @@ static PyObject *__pyx_pf_9nanargmax_18nanargmax_2d_int8_axis1(CYTHON_UNUSED PyO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4605,29 +4928,29 @@ static PyObject *__pyx_pf_9nanargmax_18nanargmax_2d_int8_axis1(CYTHON_UNUSED PyO __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":364 - * def nanargmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." + /* "nanargmax.pyx":402 + * def nanargmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amax, ai + * cdef np.float64_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":366 + /* "nanargmax.pyx":404 * cdef int allnan = 1 - * cdef np.int8_t amax, ai + * cdef np.float64_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":369 + /* "nanargmax.pyx":407 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4636,50 +4959,50 @@ static PyObject *__pyx_pf_9nanargmax_18nanargmax_2d_int8_axis1(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":370 + /* "nanargmax.pyx":408 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":371 + /* "nanargmax.pyx":409 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":372 + /* "nanargmax.pyx":410 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ - __pyx_t_1[0] = __pyx_v_n0; + __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":373 + /* "nanargmax.pyx":411 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) - * if n1 == 0: + * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4687,146 +5010,192 @@ static PyObject *__pyx_pf_9nanargmax_18nanargmax_2d_int8_axis1(CYTHON_UNUSED PyO __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":375 + /* "nanargmax.pyx":413 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":376 + /* "nanargmax.pyx":414 * NPY_intp, 0) - * if n1 == 0: + * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":377 - * if n1 == 0: + /* "nanargmax.pyx":415 + * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint8 + * for i1 in range(n1 - 1, -1, -1): + * amax = MINfloat64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":378 + /* "nanargmax.pyx":416 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINint8 - * for i1 in range(n1 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + * amax = MINfloat64 + * allnan = 1 */ - for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i0 = __pyx_t_6; + for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanargmax.pyx":379 + /* "nanargmax.pyx":417 * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint8 # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): + * amax = MINfloat64 # <<<<<<<<<<<<<< + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): + */ + __pyx_v_amax = __pyx_v_9nanargmax_MINfloat64; + + /* "nanargmax.pyx":418 + * for i1 in range(n1 - 1, -1, -1): + * amax = MINfloat64 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint8; + __pyx_v_allnan = 1; - /* "nanargmax.pyx":380 - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint8 - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + /* "nanargmax.pyx":419 + * amax = MINfloat64 + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i1 = __pyx_t_7; + for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanargmax.pyx":381 - * amax = MINint8 - * for i1 in range(n1 - 1, -1, -1): + /* "nanargmax.pyx":420 + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":382 - * for i1 in range(n1 - 1, -1, -1): + /* "nanargmax.pyx":421 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * idx = i1 + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":383 + /* "nanargmax.pyx":422 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * idx = i1 - * y[i0] = idx + * allnan = 0 + * idx = i0 */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":384 + /* "nanargmax.pyx":423 * if ai >= amax: * amax = ai - * idx = i1 # <<<<<<<<<<<<<< - * y[i0] = idx - * return y + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: */ - __pyx_v_idx = __pyx_v_i1; + __pyx_v_allnan = 0; + + /* "nanargmax.pyx":424 + * amax = ai + * allnan = 0 + * idx = i0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = idx + */ + __pyx_v_idx = __pyx_v_i0; goto __pyx_L8; } __pyx_L8:; } - /* "nanargmax.pyx":385 - * amax = ai - * idx = i1 - * y[i0] = idx # <<<<<<<<<<<<<< - * return y - * + /* "nanargmax.pyx":425 + * allnan = 0 + * idx = i0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = idx + * else: */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - } + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { - /* "nanargmax.pyx":386 - * idx = i1 - * y[i0] = idx - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + /* "nanargmax.pyx":426 + * idx = i0 + * if allnan == 0: + * y[i1] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { - /* "nanargmax.pyx":362 + /* "nanargmax.pyx":428 + * y[i1] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; + } + + /* "nanargmax.pyx":429 + * else: + * raise ValueError("All-NaN slice encountered") + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "nanargmax.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." + * def nanargmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -4839,7 +5208,7 @@ static PyObject *__pyx_pf_9nanargmax_18nanargmax_2d_int8_axis1(CYTHON_UNUSED PyO __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4853,27 +5222,27 @@ static PyObject *__pyx_pf_9nanargmax_18nanargmax_2d_int8_axis1(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanargmax.pyx":390 +/* "nanargmax.pyx":433 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_21nanargmax_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_20nanargmax_2d_int32_axis0[] = "nanargmax_2d_int32_axis0(ndarray a)\nIndex of max of 2d, int32 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_21nanargmax_2d_int32_axis0 = {"nanargmax_2d_int32_axis0", (PyCFunction)__pyx_pw_9nanargmax_21nanargmax_2d_int32_axis0, METH_O, __pyx_doc_9nanargmax_20nanargmax_2d_int32_axis0}; -static PyObject *__pyx_pw_9nanargmax_21nanargmax_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_21nanargmax_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_20nanargmax_2d_float64_axis1[] = "nanargmax_2d_float64_axis1(ndarray a)\nIndex of max of 2d, float64 array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_21nanargmax_2d_float64_axis1 = {"nanargmax_2d_float64_axis1", (PyCFunction)__pyx_pw_9nanargmax_21nanargmax_2d_float64_axis1, METH_O, __pyx_doc_9nanargmax_20nanargmax_2d_float64_axis1}; +static PyObject *__pyx_pw_9nanargmax_21nanargmax_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_20nanargmax_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_float64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_20nanargmax_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4884,10 +5253,10 @@ static PyObject *__pyx_pw_9nanargmax_21nanargmax_2d_int32_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amax; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_amax; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -4915,7 +5284,7 @@ static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_int32_axis0(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4926,29 +5295,29 @@ static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_int32_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":392 - * def nanargmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":435 + * def nanargmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amax, ai + * cdef np.float64_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":394 + /* "nanargmax.pyx":437 * cdef int allnan = 1 - * cdef np.int32_t amax, ai + * cdef np.float64_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":397 + /* "nanargmax.pyx":440 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4957,50 +5326,50 @@ static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_int32_axis0(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":398 + /* "nanargmax.pyx":441 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":399 + /* "nanargmax.pyx":442 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":400 + /* "nanargmax.pyx":443 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ - __pyx_t_1[0] = __pyx_v_n1; + __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":401 + /* "nanargmax.pyx":444 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -5008,132 +5377,178 @@ static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_int32_axis0(CYTHON_UNUSED Py __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":403 + /* "nanargmax.pyx":446 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":404 + /* "nanargmax.pyx":447 * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":405 - * if n0 == 0: + /* "nanargmax.pyx":448 + * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint32 + * for i0 in range(n0 - 1, -1, -1): + * amax = MINfloat64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":406 + /* "nanargmax.pyx":449 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINint32 - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * amax = MINfloat64 + * allnan = 1 */ - for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i1 = __pyx_t_6; + for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanargmax.pyx":407 + /* "nanargmax.pyx":450 * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint32 # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): + * amax = MINfloat64 # <<<<<<<<<<<<<< + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): + */ + __pyx_v_amax = __pyx_v_9nanargmax_MINfloat64; + + /* "nanargmax.pyx":451 + * for i0 in range(n0 - 1, -1, -1): + * amax = MINfloat64 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint32; + __pyx_v_allnan = 1; - /* "nanargmax.pyx":408 - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint32 - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + /* "nanargmax.pyx":452 + * amax = MINfloat64 + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i0 = __pyx_t_7; + for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanargmax.pyx":409 - * amax = MINint32 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmax.pyx":453 + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":410 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmax.pyx":454 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * idx = i0 + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":411 + /* "nanargmax.pyx":455 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * idx = i0 - * y[i1] = idx + * allnan = 0 + * idx = i1 */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":412 + /* "nanargmax.pyx":456 * if ai >= amax: * amax = ai - * idx = i0 # <<<<<<<<<<<<<< - * y[i1] = idx - * return y + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i1 + * if allnan == 0: */ - __pyx_v_idx = __pyx_v_i0; + __pyx_v_allnan = 0; + + /* "nanargmax.pyx":457 + * amax = ai + * allnan = 0 + * idx = i1 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = idx + */ + __pyx_v_idx = __pyx_v_i1; goto __pyx_L8; } __pyx_L8:; } - /* "nanargmax.pyx":413 - * amax = ai - * idx = i0 - * y[i1] = idx # <<<<<<<<<<<<<< + /* "nanargmax.pyx":458 + * allnan = 0 + * idx = i1 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = idx + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanargmax.pyx":459 + * idx = i1 + * if allnan == 0: + * y[i0] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { + + /* "nanargmax.pyx":461 + * y[i0] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; } - /* "nanargmax.pyx":414 - * idx = i0 - * y[i1] = idx + /* "nanargmax.pyx":462 + * else: + * raise ValueError("All-NaN slice encountered") * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -5143,11 +5558,11 @@ static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_int32_axis0(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmax.pyx":390 + /* "nanargmax.pyx":433 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -5160,7 +5575,7 @@ static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_int32_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5174,27 +5589,27 @@ static PyObject *__pyx_pf_9nanargmax_20nanargmax_2d_int32_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "nanargmax.pyx":418 +/* "nanargmax.pyx":466 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." + * def nanargmax_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_23nanargmax_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_22nanargmax_2d_int32_axis1[] = "nanargmax_2d_int32_axis1(ndarray a)\nIndex of max of 2d, int32 array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_23nanargmax_2d_int32_axis1 = {"nanargmax_2d_int32_axis1", (PyCFunction)__pyx_pw_9nanargmax_23nanargmax_2d_int32_axis1, METH_O, __pyx_doc_9nanargmax_22nanargmax_2d_int32_axis1}; -static PyObject *__pyx_pw_9nanargmax_23nanargmax_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_23nanargmax_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_22nanargmax_1d_int_axis0[] = "nanargmax_1d_int_axis0(ndarray a)\nIndex of max of 1d, int array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_23nanargmax_1d_int_axis0 = {"nanargmax_1d_int_axis0", (PyCFunction)__pyx_pw_9nanargmax_23nanargmax_1d_int_axis0, METH_O, __pyx_doc_9nanargmax_22nanargmax_1d_int_axis0}; +static PyObject *__pyx_pw_9nanargmax_23nanargmax_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_int32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_22nanargmax_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_1d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_22nanargmax_1d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5205,317 +5620,277 @@ static PyObject *__pyx_pw_9nanargmax_23nanargmax_2d_int32_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_22nanargmax_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_9nanargmax_22nanargmax_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amax; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_int_t __pyx_v_amax; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_int32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanargmax_1d_int_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmax.pyx":420 - * def nanargmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." + /* "nanargmax.pyx":468 + * def nanargmax_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): + * "Index of max of 1d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amax, ai + * cdef np.int_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":422 + /* "nanargmax.pyx":470 * cdef int allnan = 1 - * cdef np.int32_t amax, ai + * cdef np.int_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":425 - * cdef Py_ssize_t i0, i1 + /* "nanargmax.pyx":473 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":426 + /* "nanargmax.pyx":474 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 == 0: + * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":427 + /* "nanargmax.pyx":475 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanargmax.pyx":428 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nanargmax.pyx":429 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_intp, 0) - * if n1 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanargmax.pyx":431 - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanargmax.pyx":432 - * NPY_intp, 0) - * if n1 == 0: + /* "nanargmax.pyx":476 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): + * amax = MINint */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":433 - * if n1 == 0: + /* "nanargmax.pyx":477 + * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint32 + * amax = MINint + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":434 + /* "nanargmax.pyx":478 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINint32 - * for i1 in range(n1 - 1, -1, -1): + * amax = MINint # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_amax = __pyx_v_9nanargmax_MINint; - /* "nanargmax.pyx":435 + /* "nanargmax.pyx":479 * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint32 # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] - */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint32; - - /* "nanargmax.pyx":436 - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint32 - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai >= amax: - */ - for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanargmax.pyx":437 - * amax = MINint32 - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + * amax = MINint + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai >= amax: */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanargmax.pyx":438 - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * idx = i1 + /* "nanargmax.pyx":480 + * amax = MINint + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmax.pyx":439 - * ai = a[i0, i1] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * idx = i1 - * y[i0] = idx + /* "nanargmax.pyx":481 + * for i0 in range(n0): + * ai = a[i0] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * idx = i0 */ - __pyx_v_amax = __pyx_v_ai; + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanargmax.pyx":440 - * if ai >= amax: - * amax = ai - * idx = i1 # <<<<<<<<<<<<<< - * y[i0] = idx - * return y + /* "nanargmax.pyx":482 + * ai = a[i0] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * idx = i0 + * return np.intp(idx) */ - __pyx_v_idx = __pyx_v_i1; - goto __pyx_L8; - } - __pyx_L8:; - } + __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":441 - * amax = ai - * idx = i1 - * y[i0] = idx # <<<<<<<<<<<<<< - * return y + /* "nanargmax.pyx":483 + * if ai >= amax: + * amax = ai + * idx = i0 # <<<<<<<<<<<<<< + * return np.intp(idx) * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_v_idx = __pyx_v_i0; + goto __pyx_L6; + } + __pyx_L6:; } - /* "nanargmax.pyx":442 - * idx = i1 - * y[i0] = idx - * return y # <<<<<<<<<<<<<< + /* "nanargmax.pyx":484 + * amax = ai + * idx = i0 + * return np.intp(idx) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanargmax.pyx":418 + /* "nanargmax.pyx":466 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." + * def nanargmax_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmax.pyx":446 +/* "nanargmax.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." + * def nanargmax_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_25nanargmax_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_24nanargmax_2d_int64_axis0[] = "nanargmax_2d_int64_axis0(ndarray a)\nIndex of max of 2d, int64 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_25nanargmax_2d_int64_axis0 = {"nanargmax_2d_int64_axis0", (PyCFunction)__pyx_pw_9nanargmax_25nanargmax_2d_int64_axis0, METH_O, __pyx_doc_9nanargmax_24nanargmax_2d_int64_axis0}; -static PyObject *__pyx_pw_9nanargmax_25nanargmax_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_25nanargmax_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_24nanargmax_1d_int8_axis0[] = "nanargmax_1d_int8_axis0(ndarray a)\nIndex of max of 1d, int8 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_25nanargmax_1d_int8_axis0 = {"nanargmax_1d_int8_axis0", (PyCFunction)__pyx_pw_9nanargmax_25nanargmax_1d_int8_axis0, METH_O, __pyx_doc_9nanargmax_24nanargmax_1d_int8_axis0}; +static PyObject *__pyx_pw_9nanargmax_25nanargmax_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_24nanargmax_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_1d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_24nanargmax_1d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5526,317 +5901,277 @@ static PyObject *__pyx_pw_9nanargmax_25nanargmax_2d_int64_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_24nanargmax_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_9nanargmax_24nanargmax_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amax; - __pyx_t_5numpy_int64_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_amax; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanargmax_1d_int8_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmax.pyx":448 - * def nanargmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." - * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amax, ai + /* "nanargmax.pyx":490 + * def nanargmax_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): + * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + * cdef int allnan = 1 # <<<<<<<<<<<<<< + * cdef np.int8_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":450 + /* "nanargmax.pyx":492 * cdef int allnan = 1 - * cdef np.int64_t amax, ai + * cdef np.int8_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":453 - * cdef Py_ssize_t i0, i1 + /* "nanargmax.pyx":495 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":454 + /* "nanargmax.pyx":496 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 == 0: + * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":455 + /* "nanargmax.pyx":497 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanargmax.pyx":456 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "nanargmax.pyx":457 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_intp, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanargmax.pyx":459 - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanargmax.pyx":460 - * NPY_intp, 0) + /* "nanargmax.pyx":498 + * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): + * amax = MINint8 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":461 + /* "nanargmax.pyx":499 * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint64 + * amax = MINint8 + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":462 + /* "nanargmax.pyx":500 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINint64 - * for i0 in range(n0 - 1, -1, -1): + * amax = MINint8 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_amax = __pyx_v_9nanargmax_MINint8; - /* "nanargmax.pyx":463 + /* "nanargmax.pyx":501 * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint64 # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0, i1] - */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint64; - - /* "nanargmax.pyx":464 - * for i1 in range(n1 - 1, -1, -1): - * amax = MINint64 - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai >= amax: - */ - for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanargmax.pyx":465 - * amax = MINint64 - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + * amax = MINint8 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai >= amax: */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanargmax.pyx":466 - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0, i1] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * idx = i0 + /* "nanargmax.pyx":502 + * amax = MINint8 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmax.pyx":467 - * ai = a[i0, i1] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * idx = i0 - * y[i1] = idx + /* "nanargmax.pyx":503 + * for i0 in range(n0): + * ai = a[i0] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * idx = i0 */ - __pyx_v_amax = __pyx_v_ai; + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanargmax.pyx":468 - * if ai >= amax: - * amax = ai - * idx = i0 # <<<<<<<<<<<<<< - * y[i1] = idx - * return y + /* "nanargmax.pyx":504 + * ai = a[i0] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * idx = i0 + * return np.intp(idx) */ - __pyx_v_idx = __pyx_v_i0; - goto __pyx_L8; - } - __pyx_L8:; - } + __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":469 - * amax = ai - * idx = i0 - * y[i1] = idx # <<<<<<<<<<<<<< - * return y + /* "nanargmax.pyx":505 + * if ai >= amax: + * amax = ai + * idx = i0 # <<<<<<<<<<<<<< + * return np.intp(idx) * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_v_idx = __pyx_v_i0; + goto __pyx_L6; + } + __pyx_L6:; } - /* "nanargmax.pyx":470 - * idx = i0 - * y[i1] = idx - * return y # <<<<<<<<<<<<<< + /* "nanargmax.pyx":506 + * amax = ai + * idx = i0 + * return np.intp(idx) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanargmax.pyx":446 + /* "nanargmax.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." + * def nanargmax_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmax.pyx":474 +/* "nanargmax.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." + * def nanargmax_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_27nanargmax_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_26nanargmax_2d_int64_axis1[] = "nanargmax_2d_int64_axis1(ndarray a)\nIndex of max of 2d, int64 array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_27nanargmax_2d_int64_axis1 = {"nanargmax_2d_int64_axis1", (PyCFunction)__pyx_pw_9nanargmax_27nanargmax_2d_int64_axis1, METH_O, __pyx_doc_9nanargmax_26nanargmax_2d_int64_axis1}; -static PyObject *__pyx_pw_9nanargmax_27nanargmax_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_27nanargmax_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_26nanargmax_1d_int32_axis0[] = "nanargmax_1d_int32_axis0(ndarray a)\nIndex of max of 1d, int32 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_27nanargmax_1d_int32_axis0 = {"nanargmax_1d_int32_axis0", (PyCFunction)__pyx_pw_9nanargmax_27nanargmax_1d_int32_axis0, METH_O, __pyx_doc_9nanargmax_26nanargmax_1d_int32_axis0}; +static PyObject *__pyx_pw_9nanargmax_27nanargmax_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_26nanargmax_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_1d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_26nanargmax_1d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5847,317 +6182,277 @@ static PyObject *__pyx_pw_9nanargmax_27nanargmax_2d_int64_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_26nanargmax_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_9nanargmax_26nanargmax_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amax; - __pyx_t_5numpy_int64_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_amax; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanargmax_1d_int32_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmax.pyx":476 - * def nanargmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." + /* "nanargmax.pyx":512 + * def nanargmax_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): + * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amax, ai + * cdef np.int32_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":478 + /* "nanargmax.pyx":514 * cdef int allnan = 1 - * cdef np.int64_t amax, ai + * cdef np.int32_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":481 - * cdef Py_ssize_t i0, i1 + /* "nanargmax.pyx":517 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":482 + /* "nanargmax.pyx":518 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 == 0: + * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":483 + /* "nanargmax.pyx":519 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanargmax.pyx":484 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nanargmax.pyx":485 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_intp, 0) - * if n1 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanargmax.pyx":487 - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanargmax.pyx":488 - * NPY_intp, 0) - * if n1 == 0: + /* "nanargmax.pyx":520 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): + * amax = MINint32 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":489 - * if n1 == 0: + /* "nanargmax.pyx":521 + * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint64 + * amax = MINint32 + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":490 + /* "nanargmax.pyx":522 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINint64 - * for i1 in range(n1 - 1, -1, -1): + * amax = MINint32 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_amax = __pyx_v_9nanargmax_MINint32; - /* "nanargmax.pyx":491 + /* "nanargmax.pyx":523 * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint64 # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] - */ - __pyx_v_amax = __pyx_v_9nanargmax_MINint64; - - /* "nanargmax.pyx":492 - * for i0 in range(n0 - 1, -1, -1): - * amax = MINint64 - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai >= amax: - */ - for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanargmax.pyx":493 - * amax = MINint64 - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + * amax = MINint32 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai >= amax: */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanargmax.pyx":494 - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * idx = i1 + /* "nanargmax.pyx":524 + * amax = MINint32 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmax.pyx":495 - * ai = a[i0, i1] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * idx = i1 - * y[i0] = idx + /* "nanargmax.pyx":525 + * for i0 in range(n0): + * ai = a[i0] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * idx = i0 */ - __pyx_v_amax = __pyx_v_ai; + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanargmax.pyx":496 - * if ai >= amax: - * amax = ai - * idx = i1 # <<<<<<<<<<<<<< - * y[i0] = idx - * return y + /* "nanargmax.pyx":526 + * ai = a[i0] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * idx = i0 + * return np.intp(idx) */ - __pyx_v_idx = __pyx_v_i1; - goto __pyx_L8; - } - __pyx_L8:; - } + __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":497 - * amax = ai - * idx = i1 - * y[i0] = idx # <<<<<<<<<<<<<< - * return y + /* "nanargmax.pyx":527 + * if ai >= amax: + * amax = ai + * idx = i0 # <<<<<<<<<<<<<< + * return np.intp(idx) * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_v_idx = __pyx_v_i0; + goto __pyx_L6; + } + __pyx_L6:; } - /* "nanargmax.pyx":498 - * idx = i1 - * y[i0] = idx - * return y # <<<<<<<<<<<<<< + /* "nanargmax.pyx":528 + * amax = ai + * idx = i0 + * return np.intp(idx) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanargmax.pyx":474 + /* "nanargmax.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." + * def nanargmax_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmax.pyx":502 +/* "nanargmax.pyx":532 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float array along axis=0 ignoring NaNs." + * def nanargmax_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_29nanargmax_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_28nanargmax_1d_float_axis0[] = "nanargmax_1d_float_axis0(ndarray a)\nIndex of max of 1d, float array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_29nanargmax_1d_float_axis0 = {"nanargmax_1d_float_axis0", (PyCFunction)__pyx_pw_9nanargmax_29nanargmax_1d_float_axis0, METH_O, __pyx_doc_9nanargmax_28nanargmax_1d_float_axis0}; -static PyObject *__pyx_pw_9nanargmax_29nanargmax_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_29nanargmax_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_28nanargmax_1d_int64_axis0[] = "nanargmax_1d_int64_axis0(ndarray a)\nIndex of max of 1d, int64 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_29nanargmax_1d_int64_axis0 = {"nanargmax_1d_int64_axis0", (PyCFunction)__pyx_pw_9nanargmax_29nanargmax_1d_int64_axis0, METH_O, __pyx_doc_9nanargmax_28nanargmax_1d_int64_axis0}; +static PyObject *__pyx_pw_9nanargmax_29nanargmax_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_1d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_28nanargmax_1d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_1d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_28nanargmax_1d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6168,10 +6463,10 @@ static PyObject *__pyx_pw_9nanargmax_29nanargmax_1d_float_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amax; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int64_t __pyx_v_amax; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -6186,42 +6481,43 @@ static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_float_axis0(CYTHON_UNUSED Py PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_6; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_1d_float_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_1d_int64_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmax.pyx":504 - * def nanargmax_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): - * "Index of max of 1d, float array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":534 + * def nanargmax_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): + * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amax, ai + * cdef np.int64_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":506 + /* "nanargmax.pyx":536 * cdef int allnan = 1 - * cdef np.float_t amax, ai + * cdef np.int64_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":509 + /* "nanargmax.pyx":539 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6230,7 +6526,7 @@ static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_float_axis0(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":510 + /* "nanargmax.pyx":540 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -6239,7 +6535,7 @@ static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_float_axis0(CYTHON_UNUSED Py */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":511 + /* "nanargmax.pyx":541 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< @@ -6249,99 +6545,91 @@ static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_float_axis0(CYTHON_UNUSED Py __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanargmax.pyx":512 + /* "nanargmax.pyx":542 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amax = MINfloat + * amax = MINint64 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":513 + /* "nanargmax.pyx":543 * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amax = MINfloat - * for i0 in range(n0 - 1, -1, -1): + * amax = MINint64 + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":514 + /* "nanargmax.pyx":544 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amax = MINfloat # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): + * amax = MINint64 # <<<<<<<<<<<<<< + * for i0 in range(n0): * ai = a[i0] */ - __pyx_v_amax = __pyx_v_9nanargmax_MINfloat; + __pyx_v_amax = __pyx_v_9nanargmax_MINint64; - /* "nanargmax.pyx":515 + /* "nanargmax.pyx":545 * raise ValueError(msg) - * amax = MINfloat - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * amax = MINint64 + * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0] * if ai >= amax: */ - for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { - __pyx_v_i0 = __pyx_t_4; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanargmax.pyx":516 - * amax = MINfloat - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmax.pyx":546 + * amax = MINint64 + * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmax.pyx":517 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmax.pyx":547 + * for i0 in range(n0): * ai = a[i0] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * idx = i0 */ __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_1) { - /* "nanargmax.pyx":518 + /* "nanargmax.pyx":548 * ai = a[i0] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i0 + * return np.intp(idx) */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":519 + /* "nanargmax.pyx":549 * if ai >= amax: * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmax.pyx":520 - * amax = ai - * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.intp(idx) + * return np.intp(idx) + * */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L6; @@ -6349,82 +6637,56 @@ static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_float_axis0(CYTHON_UNUSED Py __pyx_L6:; } - /* "nanargmax.pyx":521 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.intp(idx) - * else: - */ - __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_1) { - - /* "nanargmax.pyx":522 + /* "nanargmax.pyx":550 + * amax = ai * idx = i0 - * if allnan == 0: - * return np.intp(idx) # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_7) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - } - /*else*/ { - - /* "nanargmax.pyx":524 - * return np.intp(idx) - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * return np.intp(idx) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; - /* "nanargmax.pyx":502 + /* "nanargmax.pyx":532 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float array along axis=0 ignoring NaNs." + * def nanargmax_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -6432,14 +6694,14 @@ static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_float_axis0(CYTHON_UNUSED Py __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6451,27 +6713,27 @@ static PyObject *__pyx_pf_9nanargmax_28nanargmax_1d_float_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "nanargmax.pyx":528 +/* "nanargmax.pyx":554 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_31nanargmax_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_30nanargmax_1d_float32_axis0[] = "nanargmax_1d_float32_axis0(ndarray a)\nIndex of max of 1d, float32 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_31nanargmax_1d_float32_axis0 = {"nanargmax_1d_float32_axis0", (PyCFunction)__pyx_pw_9nanargmax_31nanargmax_1d_float32_axis0, METH_O, __pyx_doc_9nanargmax_30nanargmax_1d_float32_axis0}; -static PyObject *__pyx_pw_9nanargmax_31nanargmax_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_31nanargmax_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_30nanargmax_2d_int_axis0[] = "nanargmax_2d_int_axis0(ndarray a)\nIndex of max of 2d, int array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_31nanargmax_2d_int_axis0 = {"nanargmax_2d_int_axis0", (PyCFunction)__pyx_pw_9nanargmax_31nanargmax_2d_int_axis0, METH_O, __pyx_doc_9nanargmax_30nanargmax_2d_int_axis0}; +static PyObject *__pyx_pw_9nanargmax_31nanargmax_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_1d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_30nanargmax_1d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_30nanargmax_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6482,310 +6744,317 @@ static PyObject *__pyx_pw_9nanargmax_31nanargmax_1d_float32_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_30nanargmax_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amax; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_30nanargmax_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int_t __pyx_v_amax; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_1d_float32_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":530 - * def nanargmax_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): - * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":556 + * def nanargmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Index of max of 2d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amax, ai + * cdef np.int_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":532 + /* "nanargmax.pyx":558 * cdef int allnan = 1 - * cdef np.float32_t amax, ai + * cdef np.int_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":535 - * cdef Py_ssize_t i0 + /* "nanargmax.pyx":561 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":536 + /* "nanargmax.pyx":562 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":537 + /* "nanargmax.pyx":563 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanargmax.pyx":564 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "nanargmax.pyx":565 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_intp, 0) + * if n0 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanargmax.pyx":567 + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanargmax.pyx":538 - * cdef Py_ssize_t n0 = dim[0] + /* "nanargmax.pyx":568 + * NPY_intp, 0) * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amax = MINfloat32 + * for i1 in range(n1 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":539 + /* "nanargmax.pyx":569 * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amax = MINfloat32 - * for i0 in range(n0 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): + * amax = MINint */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":540 + /* "nanargmax.pyx":570 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amax = MINfloat32 # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + * amax = MINint + * for i0 in range(n0 - 1, -1, -1): */ - __pyx_v_amax = __pyx_v_9nanargmax_MINfloat32; + for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanargmax.pyx":541 + /* "nanargmax.pyx":571 * raise ValueError(msg) - * amax = MINfloat32 - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai >= amax: + * for i1 in range(n1 - 1, -1, -1): + * amax = MINint # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] */ - for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { - __pyx_v_i0 = __pyx_t_4; + __pyx_v_amax = __pyx_v_9nanargmax_MINint; - /* "nanargmax.pyx":542 - * amax = MINfloat32 - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "nanargmax.pyx":572 + * for i1 in range(n1 - 1, -1, -1): + * amax = MINint + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai >= amax: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanargmax.pyx":543 - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * allnan = 0 + /* "nanargmax.pyx":573 + * amax = MINint + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":544 - * ai = a[i0] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * idx = i0 + /* "nanargmax.pyx":574 + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * idx = i0 */ - __pyx_v_amax = __pyx_v_ai; + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { - /* "nanargmax.pyx":545 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: + /* "nanargmax.pyx":575 + * ai = a[i0, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * idx = i0 + * y[i1] = idx */ - __pyx_v_allnan = 0; + __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":546 - * amax = ai - * allnan = 0 - * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.intp(idx) + /* "nanargmax.pyx":576 + * if ai >= amax: + * amax = ai + * idx = i0 # <<<<<<<<<<<<<< + * y[i1] = idx + * return y */ - __pyx_v_idx = __pyx_v_i0; - goto __pyx_L6; + __pyx_v_idx = __pyx_v_i0; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; - } - - /* "nanargmax.pyx":547 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.intp(idx) - * else: - */ - __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_1) { - /* "nanargmax.pyx":548 - * idx = i0 - * if allnan == 0: - * return np.intp(idx) # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmax.pyx":577 + * amax = ai + * idx = i0 + * y[i1] = idx # <<<<<<<<<<<<<< + * return y + * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_7) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /*else*/ { - /* "nanargmax.pyx":550 - * return np.intp(idx) - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + /* "nanargmax.pyx":578 + * idx = i0 + * y[i1] = idx + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "nanargmax.pyx":528 + /* "nanargmax.pyx":554 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmax.pyx":554 +/* "nanargmax.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_33nanargmax_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_32nanargmax_1d_float64_axis0[] = "nanargmax_1d_float64_axis0(ndarray a)\nIndex of max of 1d, float64 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_33nanargmax_1d_float64_axis0 = {"nanargmax_1d_float64_axis0", (PyCFunction)__pyx_pw_9nanargmax_33nanargmax_1d_float64_axis0, METH_O, __pyx_doc_9nanargmax_32nanargmax_1d_float64_axis0}; -static PyObject *__pyx_pw_9nanargmax_33nanargmax_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_33nanargmax_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_32nanargmax_2d_int_axis1[] = "nanargmax_2d_int_axis1(ndarray a)\nIndex of max of 2d, int array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_33nanargmax_2d_int_axis1 = {"nanargmax_2d_int_axis1", (PyCFunction)__pyx_pw_9nanargmax_33nanargmax_2d_int_axis1, METH_O, __pyx_doc_9nanargmax_32nanargmax_2d_int_axis1}; +static PyObject *__pyx_pw_9nanargmax_33nanargmax_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_1d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_32nanargmax_1d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_32nanargmax_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6796,310 +7065,317 @@ static PyObject *__pyx_pw_9nanargmax_33nanargmax_1d_float64_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_32nanargmax_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amax; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_32nanargmax_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int_t __pyx_v_amax; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_1d_float64_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":556 - * def nanargmax_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): - * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":584 + * def nanargmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Index of max of 2d, int array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amax, ai + * cdef np.int_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":558 + /* "nanargmax.pyx":586 * cdef int allnan = 1 - * cdef np.float64_t amax, ai + * cdef np.int_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":561 - * cdef Py_ssize_t i0 + /* "nanargmax.pyx":589 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":562 + /* "nanargmax.pyx":590 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":563 + /* "nanargmax.pyx":591 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanargmax.pyx":592 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "nanargmax.pyx":593 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_intp, 0) + * if n1 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanargmax.pyx":595 + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) + * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { - /* "nanargmax.pyx":564 - * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + /* "nanargmax.pyx":596 + * NPY_intp, 0) + * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amax = MINfloat64 + * for i0 in range(n0 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":565 - * if n0 == 0: + /* "nanargmax.pyx":597 + * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amax = MINfloat64 * for i0 in range(n0 - 1, -1, -1): + * amax = MINint */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":566 + /* "nanargmax.pyx":598 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amax = MINfloat64 # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] - */ - __pyx_v_amax = __pyx_v_9nanargmax_MINfloat64; - - /* "nanargmax.pyx":567 - * raise ValueError(msg) - * amax = MINfloat64 * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai >= amax: + * amax = MINint + * for i1 in range(n1 - 1, -1, -1): */ - for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { - __pyx_v_i0 = __pyx_t_4; + for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanargmax.pyx":568 - * amax = MINfloat64 + /* "nanargmax.pyx":599 + * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + * amax = MINint # <<<<<<<<<<<<<< + * for i1 in range(n1 - 1, -1, -1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_amax = __pyx_v_9nanargmax_MINint; - /* "nanargmax.pyx":569 + /* "nanargmax.pyx":600 * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * allnan = 0 - */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { - - /* "nanargmax.pyx":570 - * ai = a[i0] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * idx = i0 + * amax = MINint + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai >= amax: */ - __pyx_v_amax = __pyx_v_ai; + for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanargmax.pyx":571 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: + /* "nanargmax.pyx":601 + * amax = MINint + * for i1 in range(n1 - 1, -1, -1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_v_allnan = 0; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":572 - * amax = ai - * allnan = 0 - * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.intp(idx) + /* "nanargmax.pyx":602 + * for i1 in range(n1 - 1, -1, -1): + * ai = a[i0, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * idx = i1 */ - __pyx_v_idx = __pyx_v_i0; - goto __pyx_L6; - } - __pyx_L6:; - } + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { - /* "nanargmax.pyx":573 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.intp(idx) - * else: + /* "nanargmax.pyx":603 + * ai = a[i0, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * idx = i1 + * y[i0] = idx */ - __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_1) { + __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":574 - * idx = i0 - * if allnan == 0: - * return np.intp(idx) # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmax.pyx":604 + * if ai >= amax: + * amax = ai + * idx = i1 # <<<<<<<<<<<<<< + * y[i0] = idx + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_idx = __pyx_v_i1; + goto __pyx_L8; } + __pyx_L8:; } - if (!__pyx_t_7) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; + + /* "nanargmax.pyx":605 + * amax = ai + * idx = i1 + * y[i0] = idx # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /*else*/ { - /* "nanargmax.pyx":576 - * return np.intp(idx) - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + /* "nanargmax.pyx":606 + * idx = i1 + * y[i0] = idx + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "nanargmax.pyx":554 + /* "nanargmax.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmax.pyx":580 +/* "nanargmax.pyx":610 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=0 ignoring NaNs." + * def nanargmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_35nanargmax_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_34nanargmax_2d_float_axis0[] = "nanargmax_2d_float_axis0(ndarray a)\nIndex of max of 2d, float array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_35nanargmax_2d_float_axis0 = {"nanargmax_2d_float_axis0", (PyCFunction)__pyx_pw_9nanargmax_35nanargmax_2d_float_axis0, METH_O, __pyx_doc_9nanargmax_34nanargmax_2d_float_axis0}; -static PyObject *__pyx_pw_9nanargmax_35nanargmax_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_35nanargmax_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_34nanargmax_2d_int8_axis0[] = "nanargmax_2d_int8_axis0(ndarray a)\nIndex of max of 2d, int8 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_35nanargmax_2d_int8_axis0 = {"nanargmax_2d_int8_axis0", (PyCFunction)__pyx_pw_9nanargmax_35nanargmax_2d_int8_axis0, METH_O, __pyx_doc_9nanargmax_34nanargmax_2d_int8_axis0}; +static PyObject *__pyx_pw_9nanargmax_35nanargmax_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_34nanargmax_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7110,10 +7386,10 @@ static PyObject *__pyx_pw_9nanargmax_35nanargmax_2d_float_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amax; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int8_t __pyx_v_amax; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -7141,7 +7417,7 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_float_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_int8_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -7152,29 +7428,29 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":582 - * def nanargmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Index of max of 2d, float array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":612 + * def nanargmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amax, ai + * cdef np.int8_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":584 + /* "nanargmax.pyx":614 * cdef int allnan = 1 - * cdef np.float_t amax, ai + * cdef np.int8_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":587 + /* "nanargmax.pyx":617 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7183,7 +7459,7 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":588 + /* "nanargmax.pyx":618 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7192,7 +7468,7 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":589 + /* "nanargmax.pyx":619 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7201,7 +7477,7 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":590 + /* "nanargmax.pyx":620 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -7211,22 +7487,22 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":591 + /* "nanargmax.pyx":621 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -7234,7 +7510,7 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":593 + /* "nanargmax.pyx":623 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< @@ -7244,7 +7520,7 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":594 + /* "nanargmax.pyx":624 * NPY_intp, 0) * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -7254,57 +7530,48 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":595 + /* "nanargmax.pyx":625 * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): - * amax = MINfloat + * amax = MINint8 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":596 + /* "nanargmax.pyx":626 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINfloat - * allnan = 1 + * amax = MINint8 + * for i0 in range(n0 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i1 = __pyx_t_6; - /* "nanargmax.pyx":597 + /* "nanargmax.pyx":627 * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): - * amax = MINfloat # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0 - 1, -1, -1): - */ - __pyx_v_amax = __pyx_v_9nanargmax_MINfloat; - - /* "nanargmax.pyx":598 - * for i1 in range(n1 - 1, -1, -1): - * amax = MINfloat - * allnan = 1 # <<<<<<<<<<<<<< + * amax = MINint8 # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amax = __pyx_v_9nanargmax_MINint8; - /* "nanargmax.pyx":599 - * amax = MINfloat - * allnan = 1 + /* "nanargmax.pyx":628 + * for i1 in range(n1 - 1, -1, -1): + * amax = MINint8 * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -7312,8 +7579,8 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanargmax.pyx":600 - * allnan = 1 + /* "nanargmax.pyx":629 + * amax = MINint8 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -7321,42 +7588,33 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":601 + /* "nanargmax.pyx":630 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * idx = i0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":602 + /* "nanargmax.pyx":631 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i0 + * y[i1] = idx */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":603 + /* "nanargmax.pyx":632 * if ai >= amax: * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmax.pyx":604 - * amax = ai - * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = idx + * y[i1] = idx + * return y */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L8; @@ -7364,48 +7622,20 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py __pyx_L8:; } - /* "nanargmax.pyx":605 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmax.pyx":606 + /* "nanargmax.pyx":633 + * amax = ai * idx = i0 - * if allnan == 0: - * y[i1] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; - } - /*else*/ { - - /* "nanargmax.pyx":608 - * y[i1] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * y[i1] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /* "nanargmax.pyx":609 - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmax.pyx":634 + * idx = i0 + * y[i1] = idx * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -7415,11 +7645,11 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmax.pyx":580 + /* "nanargmax.pyx":610 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=0 ignoring NaNs." + * def nanargmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -7432,7 +7662,7 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7446,27 +7676,27 @@ static PyObject *__pyx_pf_9nanargmax_34nanargmax_2d_float_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "nanargmax.pyx":613 +/* "nanargmax.pyx":638 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=1 ignoring NaNs." + * def nanargmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_37nanargmax_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_36nanargmax_2d_float_axis1[] = "nanargmax_2d_float_axis1(ndarray a)\nIndex of max of 2d, float array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_37nanargmax_2d_float_axis1 = {"nanargmax_2d_float_axis1", (PyCFunction)__pyx_pw_9nanargmax_37nanargmax_2d_float_axis1, METH_O, __pyx_doc_9nanargmax_36nanargmax_2d_float_axis1}; -static PyObject *__pyx_pw_9nanargmax_37nanargmax_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_37nanargmax_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_36nanargmax_2d_int8_axis1[] = "nanargmax_2d_int8_axis1(ndarray a)\nIndex of max of 2d, int8 array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_37nanargmax_2d_int8_axis1 = {"nanargmax_2d_int8_axis1", (PyCFunction)__pyx_pw_9nanargmax_37nanargmax_2d_int8_axis1, METH_O, __pyx_doc_9nanargmax_36nanargmax_2d_int8_axis1}; +static PyObject *__pyx_pw_9nanargmax_37nanargmax_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_float_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_int8_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_36nanargmax_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7477,10 +7707,10 @@ static PyObject *__pyx_pw_9nanargmax_37nanargmax_2d_float_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amax; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int8_t __pyx_v_amax; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -7508,7 +7738,7 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_float_axis1", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_int8_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -7519,29 +7749,29 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":615 - * def nanargmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Index of max of 2d, float array along axis=1 ignoring NaNs." + /* "nanargmax.pyx":640 + * def nanargmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amax, ai + * cdef np.int8_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":617 + /* "nanargmax.pyx":642 * cdef int allnan = 1 - * cdef np.float_t amax, ai + * cdef np.int8_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":620 + /* "nanargmax.pyx":645 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7550,7 +7780,7 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":621 + /* "nanargmax.pyx":646 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7559,7 +7789,7 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":622 + /* "nanargmax.pyx":647 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7568,7 +7798,7 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":623 + /* "nanargmax.pyx":648 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -7578,22 +7808,22 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":624 + /* "nanargmax.pyx":649 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -7601,7 +7831,7 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":626 + /* "nanargmax.pyx":651 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n1 == 0: # <<<<<<<<<<<<<< @@ -7611,7 +7841,7 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":627 + /* "nanargmax.pyx":652 * NPY_intp, 0) * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -7621,57 +7851,48 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":628 + /* "nanargmax.pyx":653 * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): - * amax = MINfloat + * amax = MINint8 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":629 + /* "nanargmax.pyx":654 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINfloat - * allnan = 1 + * amax = MINint8 + * for i1 in range(n1 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i0 = __pyx_t_6; - /* "nanargmax.pyx":630 + /* "nanargmax.pyx":655 * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): - * amax = MINfloat # <<<<<<<<<<<<<< - * allnan = 1 - * for i1 in range(n1 - 1, -1, -1): - */ - __pyx_v_amax = __pyx_v_9nanargmax_MINfloat; - - /* "nanargmax.pyx":631 - * for i0 in range(n0 - 1, -1, -1): - * amax = MINfloat - * allnan = 1 # <<<<<<<<<<<<<< + * amax = MINint8 # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amax = __pyx_v_9nanargmax_MINint8; - /* "nanargmax.pyx":632 - * amax = MINfloat - * allnan = 1 + /* "nanargmax.pyx":656 + * for i0 in range(n0 - 1, -1, -1): + * amax = MINint8 * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -7679,8 +7900,8 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanargmax.pyx":633 - * allnan = 1 + /* "nanargmax.pyx":657 + * amax = MINint8 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -7688,42 +7909,33 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":634 + /* "nanargmax.pyx":658 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * idx = i1 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":635 + /* "nanargmax.pyx":659 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * idx = i1 - */ - __pyx_v_amax = __pyx_v_ai; - - /* "nanargmax.pyx":636 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< * idx = i1 - * if allnan == 0: + * y[i0] = idx */ - __pyx_v_allnan = 0; + __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":637 + /* "nanargmax.pyx":660 + * if ai >= amax: * amax = ai - * allnan = 0 * idx = i1 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = idx + * y[i0] = idx + * return y */ __pyx_v_idx = __pyx_v_i1; goto __pyx_L8; @@ -7731,48 +7943,20 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py __pyx_L8:; } - /* "nanargmax.pyx":638 - * allnan = 0 - * idx = i1 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmax.pyx":639 + /* "nanargmax.pyx":661 + * amax = ai * idx = i1 - * if allnan == 0: - * y[i0] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; - } - /*else*/ { - - /* "nanargmax.pyx":641 - * y[i0] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * y[i0] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /* "nanargmax.pyx":642 - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmax.pyx":662 + * idx = i1 + * y[i0] = idx * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -7782,11 +7966,11 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmax.pyx":613 + /* "nanargmax.pyx":638 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=1 ignoring NaNs." + * def nanargmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -7799,7 +7983,7 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7813,27 +7997,27 @@ static PyObject *__pyx_pf_9nanargmax_36nanargmax_2d_float_axis1(CYTHON_UNUSED Py return __pyx_r; } -/* "nanargmax.pyx":646 +/* "nanargmax.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_39nanargmax_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_38nanargmax_2d_float32_axis0[] = "nanargmax_2d_float32_axis0(ndarray a)\nIndex of max of 2d, float32 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_39nanargmax_2d_float32_axis0 = {"nanargmax_2d_float32_axis0", (PyCFunction)__pyx_pw_9nanargmax_39nanargmax_2d_float32_axis0, METH_O, __pyx_doc_9nanargmax_38nanargmax_2d_float32_axis0}; -static PyObject *__pyx_pw_9nanargmax_39nanargmax_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_39nanargmax_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_38nanargmax_2d_int32_axis0[] = "nanargmax_2d_int32_axis0(ndarray a)\nIndex of max of 2d, int32 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_39nanargmax_2d_int32_axis0 = {"nanargmax_2d_int32_axis0", (PyCFunction)__pyx_pw_9nanargmax_39nanargmax_2d_int32_axis0, METH_O, __pyx_doc_9nanargmax_38nanargmax_2d_int32_axis0}; +static PyObject *__pyx_pw_9nanargmax_39nanargmax_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_38nanargmax_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7844,10 +8028,10 @@ static PyObject *__pyx_pw_9nanargmax_39nanargmax_2d_float32_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amax; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int32_t __pyx_v_amax; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -7875,7 +8059,7 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_float32_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_int32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -7886,29 +8070,29 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":648 - * def nanargmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":668 + * def nanargmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amax, ai + * cdef np.int32_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":650 + /* "nanargmax.pyx":670 * cdef int allnan = 1 - * cdef np.float32_t amax, ai + * cdef np.int32_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":653 + /* "nanargmax.pyx":673 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7917,7 +8101,7 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":654 + /* "nanargmax.pyx":674 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7926,7 +8110,7 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":655 + /* "nanargmax.pyx":675 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7935,7 +8119,7 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":656 + /* "nanargmax.pyx":676 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -7945,22 +8129,22 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":657 + /* "nanargmax.pyx":677 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -7968,7 +8152,7 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":659 + /* "nanargmax.pyx":679 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< @@ -7978,7 +8162,7 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":660 + /* "nanargmax.pyx":680 * NPY_intp, 0) * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -7988,57 +8172,48 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":661 + /* "nanargmax.pyx":681 * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): - * amax = MINfloat32 + * amax = MINint32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":662 + /* "nanargmax.pyx":682 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINfloat32 - * allnan = 1 + * amax = MINint32 + * for i0 in range(n0 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i1 = __pyx_t_6; - /* "nanargmax.pyx":663 + /* "nanargmax.pyx":683 * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): - * amax = MINfloat32 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0 - 1, -1, -1): - */ - __pyx_v_amax = __pyx_v_9nanargmax_MINfloat32; - - /* "nanargmax.pyx":664 - * for i1 in range(n1 - 1, -1, -1): - * amax = MINfloat32 - * allnan = 1 # <<<<<<<<<<<<<< + * amax = MINint32 # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amax = __pyx_v_9nanargmax_MINint32; - /* "nanargmax.pyx":665 - * amax = MINfloat32 - * allnan = 1 + /* "nanargmax.pyx":684 + * for i1 in range(n1 - 1, -1, -1): + * amax = MINint32 * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -8046,8 +8221,8 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanargmax.pyx":666 - * allnan = 1 + /* "nanargmax.pyx":685 + * amax = MINint32 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -8055,42 +8230,33 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":667 + /* "nanargmax.pyx":686 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * idx = i0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":668 + /* "nanargmax.pyx":687 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i0 + * y[i1] = idx */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":669 + /* "nanargmax.pyx":688 * if ai >= amax: * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmax.pyx":670 - * amax = ai - * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = idx + * y[i1] = idx + * return y */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L8; @@ -8098,48 +8264,20 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED __pyx_L8:; } - /* "nanargmax.pyx":671 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmax.pyx":672 + /* "nanargmax.pyx":689 + * amax = ai * idx = i0 - * if allnan == 0: - * y[i1] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; - } - /*else*/ { - - /* "nanargmax.pyx":674 - * y[i1] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * y[i1] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /* "nanargmax.pyx":675 - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmax.pyx":690 + * idx = i0 + * y[i1] = idx * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -8149,11 +8287,11 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmax.pyx":646 + /* "nanargmax.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -8166,7 +8304,7 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8180,27 +8318,27 @@ static PyObject *__pyx_pf_9nanargmax_38nanargmax_2d_float32_axis0(CYTHON_UNUSED return __pyx_r; } -/* "nanargmax.pyx":679 +/* "nanargmax.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." + * def nanargmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_41nanargmax_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_40nanargmax_2d_float32_axis1[] = "nanargmax_2d_float32_axis1(ndarray a)\nIndex of max of 2d, float32 array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_41nanargmax_2d_float32_axis1 = {"nanargmax_2d_float32_axis1", (PyCFunction)__pyx_pw_9nanargmax_41nanargmax_2d_float32_axis1, METH_O, __pyx_doc_9nanargmax_40nanargmax_2d_float32_axis1}; -static PyObject *__pyx_pw_9nanargmax_41nanargmax_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_41nanargmax_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_40nanargmax_2d_int32_axis1[] = "nanargmax_2d_int32_axis1(ndarray a)\nIndex of max of 2d, int32 array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_41nanargmax_2d_int32_axis1 = {"nanargmax_2d_int32_axis1", (PyCFunction)__pyx_pw_9nanargmax_41nanargmax_2d_int32_axis1, METH_O, __pyx_doc_9nanargmax_40nanargmax_2d_int32_axis1}; +static PyObject *__pyx_pw_9nanargmax_41nanargmax_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_float32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_int32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_40nanargmax_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8211,10 +8349,10 @@ static PyObject *__pyx_pw_9nanargmax_41nanargmax_2d_float32_axis1(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amax; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int32_t __pyx_v_amax; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -8242,7 +8380,7 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_float32_axis1", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_int32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -8253,29 +8391,29 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":681 - * def nanargmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." + /* "nanargmax.pyx":696 + * def nanargmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amax, ai + * cdef np.int32_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":683 + /* "nanargmax.pyx":698 * cdef int allnan = 1 - * cdef np.float32_t amax, ai + * cdef np.int32_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":686 + /* "nanargmax.pyx":701 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8284,7 +8422,7 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":687 + /* "nanargmax.pyx":702 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -8293,7 +8431,7 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":688 + /* "nanargmax.pyx":703 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -8302,7 +8440,7 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":689 + /* "nanargmax.pyx":704 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -8312,22 +8450,22 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":690 + /* "nanargmax.pyx":705 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -8335,7 +8473,7 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":692 + /* "nanargmax.pyx":707 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n1 == 0: # <<<<<<<<<<<<<< @@ -8345,7 +8483,7 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":693 + /* "nanargmax.pyx":708 * NPY_intp, 0) * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -8355,57 +8493,48 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":694 + /* "nanargmax.pyx":709 * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): - * amax = MINfloat32 + * amax = MINint32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":695 + /* "nanargmax.pyx":710 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINfloat32 - * allnan = 1 + * amax = MINint32 + * for i1 in range(n1 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i0 = __pyx_t_6; - /* "nanargmax.pyx":696 + /* "nanargmax.pyx":711 * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): - * amax = MINfloat32 # <<<<<<<<<<<<<< - * allnan = 1 - * for i1 in range(n1 - 1, -1, -1): - */ - __pyx_v_amax = __pyx_v_9nanargmax_MINfloat32; - - /* "nanargmax.pyx":697 - * for i0 in range(n0 - 1, -1, -1): - * amax = MINfloat32 - * allnan = 1 # <<<<<<<<<<<<<< + * amax = MINint32 # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amax = __pyx_v_9nanargmax_MINint32; - /* "nanargmax.pyx":698 - * amax = MINfloat32 - * allnan = 1 + /* "nanargmax.pyx":712 + * for i0 in range(n0 - 1, -1, -1): + * amax = MINint32 * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -8413,8 +8542,8 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanargmax.pyx":699 - * allnan = 1 + /* "nanargmax.pyx":713 + * amax = MINint32 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -8422,91 +8551,54 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":700 + /* "nanargmax.pyx":714 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * idx = i1 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":701 + /* "nanargmax.pyx":715 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i1 + * y[i0] = idx */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":702 + /* "nanargmax.pyx":716 * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i1 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmax.pyx":703 - * amax = ai - * allnan = 0 - * idx = i1 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = idx - */ - __pyx_v_idx = __pyx_v_i1; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "nanargmax.pyx":704 - * allnan = 0 - * idx = i1 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmax.pyx":705 - * idx = i1 - * if allnan == 0: - * y[i0] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") + * amax = ai + * idx = i1 # <<<<<<<<<<<<<< + * y[i0] = idx + * return y */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; + __pyx_v_idx = __pyx_v_i1; + goto __pyx_L8; + } + __pyx_L8:; } - /*else*/ { - /* "nanargmax.pyx":707 - * y[i0] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + /* "nanargmax.pyx":717 + * amax = ai + * idx = i1 + * y[i0] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /* "nanargmax.pyx":708 - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmax.pyx":718 + * idx = i1 + * y[i0] = idx * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -8516,11 +8608,11 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmax.pyx":679 + /* "nanargmax.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." + * def nanargmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -8533,7 +8625,7 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8547,27 +8639,27 @@ static PyObject *__pyx_pf_9nanargmax_40nanargmax_2d_float32_axis1(CYTHON_UNUSED return __pyx_r; } -/* "nanargmax.pyx":712 +/* "nanargmax.pyx":722 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_43nanargmax_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_42nanargmax_2d_float64_axis0[] = "nanargmax_2d_float64_axis0(ndarray a)\nIndex of max of 2d, float64 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_43nanargmax_2d_float64_axis0 = {"nanargmax_2d_float64_axis0", (PyCFunction)__pyx_pw_9nanargmax_43nanargmax_2d_float64_axis0, METH_O, __pyx_doc_9nanargmax_42nanargmax_2d_float64_axis0}; -static PyObject *__pyx_pw_9nanargmax_43nanargmax_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_43nanargmax_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_42nanargmax_2d_int64_axis0[] = "nanargmax_2d_int64_axis0(ndarray a)\nIndex of max of 2d, int64 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_43nanargmax_2d_int64_axis0 = {"nanargmax_2d_int64_axis0", (PyCFunction)__pyx_pw_9nanargmax_43nanargmax_2d_int64_axis0, METH_O, __pyx_doc_9nanargmax_42nanargmax_2d_int64_axis0}; +static PyObject *__pyx_pw_9nanargmax_43nanargmax_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_42nanargmax_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8578,10 +8670,10 @@ static PyObject *__pyx_pw_9nanargmax_43nanargmax_2d_float64_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amax; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int64_t __pyx_v_amax; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -8609,7 +8701,7 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_float64_axis0", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_int64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -8620,29 +8712,29 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":714 - * def nanargmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." + /* "nanargmax.pyx":724 + * def nanargmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amax, ai + * cdef np.int64_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":716 + /* "nanargmax.pyx":726 * cdef int allnan = 1 - * cdef np.float64_t amax, ai + * cdef np.int64_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":719 + /* "nanargmax.pyx":729 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8651,7 +8743,7 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":720 + /* "nanargmax.pyx":730 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -8660,7 +8752,7 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":721 + /* "nanargmax.pyx":731 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -8669,7 +8761,7 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":722 + /* "nanargmax.pyx":732 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -8679,22 +8771,22 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":723 + /* "nanargmax.pyx":733 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -8702,7 +8794,7 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":725 + /* "nanargmax.pyx":735 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< @@ -8712,7 +8804,7 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":726 + /* "nanargmax.pyx":736 * NPY_intp, 0) * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -8722,57 +8814,48 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":727 + /* "nanargmax.pyx":737 * if n0 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): - * amax = MINfloat64 + * amax = MINint64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":728 + /* "nanargmax.pyx":738 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINfloat64 - * allnan = 1 + * amax = MINint64 + * for i0 in range(n0 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i1 = __pyx_t_6; - /* "nanargmax.pyx":729 + /* "nanargmax.pyx":739 * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): - * amax = MINfloat64 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0 - 1, -1, -1): - */ - __pyx_v_amax = __pyx_v_9nanargmax_MINfloat64; - - /* "nanargmax.pyx":730 - * for i1 in range(n1 - 1, -1, -1): - * amax = MINfloat64 - * allnan = 1 # <<<<<<<<<<<<<< + * amax = MINint64 # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amax = __pyx_v_9nanargmax_MINint64; - /* "nanargmax.pyx":731 - * amax = MINfloat64 - * allnan = 1 + /* "nanargmax.pyx":740 + * for i1 in range(n1 - 1, -1, -1): + * amax = MINint64 * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -8780,8 +8863,8 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanargmax.pyx":732 - * allnan = 1 + /* "nanargmax.pyx":741 + * amax = MINint64 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -8789,42 +8872,33 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":733 + /* "nanargmax.pyx":742 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * idx = i0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":734 + /* "nanargmax.pyx":743 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i0 + * y[i1] = idx */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":735 + /* "nanargmax.pyx":744 * if ai >= amax: * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmax.pyx":736 - * amax = ai - * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = idx + * y[i1] = idx + * return y */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L8; @@ -8832,48 +8906,20 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED __pyx_L8:; } - /* "nanargmax.pyx":737 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmax.pyx":738 + /* "nanargmax.pyx":745 + * amax = ai * idx = i0 - * if allnan == 0: - * y[i1] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; - } - /*else*/ { - - /* "nanargmax.pyx":740 - * y[i1] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * y[i1] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /* "nanargmax.pyx":741 - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmax.pyx":746 + * idx = i0 + * y[i1] = idx * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -8883,11 +8929,11 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmax.pyx":712 + /* "nanargmax.pyx":722 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -8900,7 +8946,7 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8914,27 +8960,27 @@ static PyObject *__pyx_pf_9nanargmax_42nanargmax_2d_float64_axis0(CYTHON_UNUSED return __pyx_r; } -/* "nanargmax.pyx":745 +/* "nanargmax.pyx":750 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." + * def nanargmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmax_45nanargmax_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmax_44nanargmax_2d_float64_axis1[] = "nanargmax_2d_float64_axis1(ndarray a)\nIndex of max of 2d, float64 array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmax_45nanargmax_2d_float64_axis1 = {"nanargmax_2d_float64_axis1", (PyCFunction)__pyx_pw_9nanargmax_45nanargmax_2d_float64_axis1, METH_O, __pyx_doc_9nanargmax_44nanargmax_2d_float64_axis1}; -static PyObject *__pyx_pw_9nanargmax_45nanargmax_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmax_45nanargmax_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmax_44nanargmax_2d_int64_axis1[] = "nanargmax_2d_int64_axis1(ndarray a)\nIndex of max of 2d, int64 array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmax_45nanargmax_2d_int64_axis1 = {"nanargmax_2d_int64_axis1", (PyCFunction)__pyx_pw_9nanargmax_45nanargmax_2d_int64_axis1, METH_O, __pyx_doc_9nanargmax_44nanargmax_2d_int64_axis1}; +static PyObject *__pyx_pw_9nanargmax_45nanargmax_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmax_2d_float64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmax_2d_int64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmax_44nanargmax_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8945,10 +8991,10 @@ static PyObject *__pyx_pw_9nanargmax_45nanargmax_2d_float64_axis1(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amax; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int64_t __pyx_v_amax; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -8976,7 +9022,7 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmax_2d_float64_axis1", 0); + __Pyx_RefNannySetupContext("nanargmax_2d_int64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -8987,29 +9033,29 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmax.pyx":747 - * def nanargmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." + /* "nanargmax.pyx":752 + * def nanargmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amax, ai + * cdef np.int64_t amax, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmax.pyx":749 + /* "nanargmax.pyx":754 * cdef int allnan = 1 - * cdef np.float64_t amax, ai + * cdef np.int64_t amax, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmax.pyx":752 + /* "nanargmax.pyx":757 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9018,7 +9064,7 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmax.pyx":753 + /* "nanargmax.pyx":758 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -9027,7 +9073,7 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmax.pyx":754 + /* "nanargmax.pyx":759 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -9036,7 +9082,7 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmax.pyx":755 + /* "nanargmax.pyx":760 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -9046,22 +9092,22 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmax.pyx":756 + /* "nanargmax.pyx":761 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -9069,7 +9115,7 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":758 + /* "nanargmax.pyx":763 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n1 == 0: # <<<<<<<<<<<<<< @@ -9079,7 +9125,7 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":759 + /* "nanargmax.pyx":764 * NPY_intp, 0) * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -9089,57 +9135,48 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED __Pyx_INCREF(__pyx_kp_s_numpy_nanargmax_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmax_raises_on_a_shap; - /* "nanargmax.pyx":760 + /* "nanargmax.pyx":765 * if n1 == 0: * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): - * amax = MINfloat64 + * amax = MINint64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmax.pyx":761 + /* "nanargmax.pyx":766 * msg = "numpy.nanargmax raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amax = MINfloat64 - * allnan = 1 + * amax = MINint64 + * for i1 in range(n1 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i0 = __pyx_t_6; - /* "nanargmax.pyx":762 + /* "nanargmax.pyx":767 * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): - * amax = MINfloat64 # <<<<<<<<<<<<<< - * allnan = 1 - * for i1 in range(n1 - 1, -1, -1): - */ - __pyx_v_amax = __pyx_v_9nanargmax_MINfloat64; - - /* "nanargmax.pyx":763 - * for i0 in range(n0 - 1, -1, -1): - * amax = MINfloat64 - * allnan = 1 # <<<<<<<<<<<<<< + * amax = MINint64 # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amax = __pyx_v_9nanargmax_MINint64; - /* "nanargmax.pyx":764 - * amax = MINfloat64 - * allnan = 1 + /* "nanargmax.pyx":768 + * for i0 in range(n0 - 1, -1, -1): + * amax = MINint64 * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -9147,8 +9184,8 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanargmax.pyx":765 - * allnan = 1 + /* "nanargmax.pyx":769 + * amax = MINint64 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -9156,42 +9193,33 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmax.pyx":766 + /* "nanargmax.pyx":770 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * idx = i1 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanargmax.pyx":767 + /* "nanargmax.pyx":771 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i1 + * y[i0] = idx */ __pyx_v_amax = __pyx_v_ai; - /* "nanargmax.pyx":768 + /* "nanargmax.pyx":772 * if ai >= amax: * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i1 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmax.pyx":769 - * amax = ai - * allnan = 0 * idx = i1 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = idx + * y[i0] = idx + * return y */ __pyx_v_idx = __pyx_v_i1; goto __pyx_L8; @@ -9199,48 +9227,20 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED __pyx_L8:; } - /* "nanargmax.pyx":770 - * allnan = 0 - * idx = i1 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmax.pyx":771 + /* "nanargmax.pyx":773 + * amax = ai * idx = i1 - * if allnan == 0: - * y[i0] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; - } - /*else*/ { - - /* "nanargmax.pyx":773 - * y[i0] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * y[i0] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } /* "nanargmax.pyx":774 - * else: - * raise ValueError("All-NaN slice encountered") + * idx = i1 + * y[i0] = idx * return y # <<<<<<<<<<<<<< * * cdef dict nanargmax_dict = {} @@ -9250,11 +9250,11 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmax.pyx":745 + /* "nanargmax.pyx":750 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." + * def nanargmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -9267,7 +9267,7 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmax.nanargmax_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmax.nanargmax_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9282,7 +9282,7 @@ static PyObject *__pyx_pf_9nanargmax_44nanargmax_2d_float64_axis1(CYTHON_UNUSED } /* "nanargmax.pyx":799 - * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 + * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 * * def nanargmax_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanargmax along axis 0." @@ -9350,7 +9350,7 @@ static PyObject *__pyx_pf_9nanargmax_46nanargmax_slow_axis0(CYTHON_UNUSED PyObje goto __pyx_L0; /* "nanargmax.pyx":799 - * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 + * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 * * def nanargmax_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanargmax along axis 0." @@ -12341,7 +12341,7 @@ static PyObject *__pyx_pf_9nanargmax_112nanargmax_slow_axisNone(CYTHON_UNUSED Py return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -12391,7 +12391,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -12404,7 +12404,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -12413,7 +12413,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -12422,7 +12422,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -12431,7 +12431,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -12441,7 +12441,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -12453,7 +12453,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -12464,7 +12464,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12480,7 +12480,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12492,7 +12492,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -12506,7 +12506,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12522,7 +12522,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12534,7 +12534,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -12548,7 +12548,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -12557,7 +12557,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -12566,7 +12566,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -12576,7 +12576,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -12585,7 +12585,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -12594,7 +12594,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -12605,7 +12605,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -12614,7 +12614,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -12627,7 +12627,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -12636,7 +12636,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -12647,7 +12647,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -12656,7 +12656,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -12665,7 +12665,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -12674,7 +12674,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -12683,7 +12683,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -12695,7 +12695,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -12704,7 +12704,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -12724,7 +12724,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -12740,7 +12740,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -12755,7 +12755,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -12765,7 +12765,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -12775,7 +12775,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -12798,7 +12798,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -12818,7 +12818,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -12832,7 +12832,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -12841,7 +12841,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -12852,7 +12852,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -12863,7 +12863,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -12874,7 +12874,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -12885,7 +12885,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -12896,7 +12896,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -12907,7 +12907,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -12918,7 +12918,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -12929,7 +12929,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -12940,7 +12940,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -12951,7 +12951,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -12962,7 +12962,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -12973,7 +12973,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -12984,7 +12984,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -12995,7 +12995,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -13006,7 +13006,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -13017,7 +13017,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -13029,7 +13029,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -13055,7 +13055,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -13064,7 +13064,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -13076,7 +13076,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -13085,7 +13085,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -13094,7 +13094,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -13103,7 +13103,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -13113,7 +13113,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -13123,7 +13123,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -13155,7 +13155,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -13179,7 +13179,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -13189,7 +13189,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -13201,7 +13201,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -13211,7 +13211,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -13223,7 +13223,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -13235,7 +13235,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -13252,7 +13252,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -13266,7 +13266,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -13285,7 +13285,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -13302,7 +13302,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -13316,7 +13316,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -13335,7 +13335,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13352,7 +13352,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -13366,7 +13366,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13385,7 +13385,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13402,7 +13402,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -13416,7 +13416,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13435,7 +13435,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13452,7 +13452,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -13466,7 +13466,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13485,7 +13485,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -13517,7 +13517,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -13526,7 +13526,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -13535,7 +13535,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -13557,7 +13557,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -13570,7 +13570,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -13609,7 +13609,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -13626,7 +13626,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -13640,7 +13640,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -13663,7 +13663,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -13683,7 +13683,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -13697,7 +13697,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -13713,7 +13713,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -13722,7 +13722,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -13731,7 +13731,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -13742,7 +13742,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -13752,7 +13752,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -13762,7 +13762,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -13774,7 +13774,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -13784,7 +13784,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -13798,7 +13798,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -13816,7 +13816,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -13834,7 +13834,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -13852,7 +13852,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -13870,7 +13870,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -13888,7 +13888,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -13906,7 +13906,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -13924,7 +13924,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -13942,7 +13942,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -13960,7 +13960,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -13978,7 +13978,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -13996,7 +13996,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -14014,7 +14014,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -14032,7 +14032,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -14052,7 +14052,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -14072,7 +14072,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -14092,7 +14092,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -14111,7 +14111,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -14134,7 +14134,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -14146,7 +14146,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -14158,7 +14158,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -14168,7 +14168,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -14178,7 +14178,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -14203,7 +14203,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -14218,7 +14218,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -14229,7 +14229,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -14241,7 +14241,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -14250,7 +14250,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -14261,7 +14261,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -14270,7 +14270,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -14279,7 +14279,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -14291,7 +14291,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14305,7 +14305,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -14315,7 +14315,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -14329,7 +14329,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -14340,7 +14340,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14379,7 +14379,6 @@ static struct PyModuleDef __pyx_moduledef = { static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_s_All_NaN_slice_encountered, __pyx_k_All_NaN_slice_encountered, sizeof(__pyx_k_All_NaN_slice_encountered), 0, 0, 1, 0}, - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -14393,6 +14392,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__16, __pyx_k__16, sizeof(__pyx_k__16), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -14523,106 +14523,106 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "nanargmax.pyx":524 + /* "nanargmax.pyx":212 * return np.intp(idx) * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "nanargmax.pyx":550 + /* "nanargmax.pyx":238 * return np.intp(idx) * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "nanargmax.pyx":576 + /* "nanargmax.pyx":264 * return np.intp(idx) * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "nanargmax.pyx":608 + /* "nanargmax.pyx":296 * y[i1] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "nanargmax.pyx":641 + /* "nanargmax.pyx":329 * y[i0] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "nanargmax.pyx":674 + /* "nanargmax.pyx":362 * y[i1] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6); - /* "nanargmax.pyx":707 + /* "nanargmax.pyx":395 * y[i0] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7); - /* "nanargmax.pyx":740 + /* "nanargmax.pyx":428 * y[i1] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8); - /* "nanargmax.pyx":773 + /* "nanargmax.pyx":461 * y[i0] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -14633,7 +14633,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -14644,7 +14644,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14655,7 +14655,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__12); __Pyx_GIVEREF(__pyx_tuple__12); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -14666,7 +14666,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14677,7 +14677,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -14709,7 +14709,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__18 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18); - __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":113 * return func(arr) @@ -14721,262 +14721,262 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__20 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__20); __Pyx_GIVEREF(__pyx_tuple__20); - __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_selector, 113, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_selector, 113, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":190 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int array along axis=0 ignoring NaNs." + * def nanargmax_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ __pyx_tuple__22 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22); - __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_1d_int_axis0, 190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_1d_float_axis0, 190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":212 + /* "nanargmax.pyx":216 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + * def nanargmax_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__24 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__24 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__24); __Pyx_GIVEREF(__pyx_tuple__24); - __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_1d_int8_axis0, 212, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_1d_float32_axis0, 216, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":234 + /* "nanargmax.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." + * def nanargmax_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__26 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__26 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__26); __Pyx_GIVEREF(__pyx_tuple__26); - __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_1d_int32_axis0, 234, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_1d_float64_axis0, 242, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":256 + /* "nanargmax.pyx":268 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__28 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__28 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__28); __Pyx_GIVEREF(__pyx_tuple__28); - __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_1d_int64_axis0, 256, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_float_axis0, 268, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":278 + /* "nanargmax.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=0 ignoring NaNs." + * def nanargmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__30 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__30 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30); - __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_int_axis0, 278, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_float_axis1, 301, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":306 + /* "nanargmax.pyx":334 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=1 ignoring NaNs." + * def nanargmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__32 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__32 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__32); __Pyx_GIVEREF(__pyx_tuple__32); - __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_int_axis1, 306, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_float32_axis0, 334, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":334 + /* "nanargmax.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__34 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__34 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__34); __Pyx_GIVEREF(__pyx_tuple__34); - __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_int8_axis0, 334, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_float32_axis1, 367, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":362 + /* "nanargmax.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." + * def nanargmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__36 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__36 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); - __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_int8_axis1, 362, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_float64_axis0, 400, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":390 + /* "nanargmax.pyx":433 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__38 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__38 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__38); __Pyx_GIVEREF(__pyx_tuple__38); - __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_int32_axis0, 390, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_float64_axis1, 433, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":418 + /* "nanargmax.pyx":466 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." + * def nanargmax_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__40 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__40 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__40); __Pyx_GIVEREF(__pyx_tuple__40); - __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_int32_axis1, 418, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_1d_int_axis0, 466, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":446 + /* "nanargmax.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." + * def nanargmax_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__42 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__42 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__42); __Pyx_GIVEREF(__pyx_tuple__42); - __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_int64_axis0, 446, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_1d_int8_axis0, 488, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":474 + /* "nanargmax.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." + * def nanargmax_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__44 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__44 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__44); __Pyx_GIVEREF(__pyx_tuple__44); - __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_int64_axis1, 474, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_1d_int32_axis0, 510, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":502 + /* "nanargmax.pyx":532 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float array along axis=0 ignoring NaNs." + * def nanargmax_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__46 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__46 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__46); __Pyx_GIVEREF(__pyx_tuple__46); - __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_1d_float_axis0, 502, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_1d_int64_axis0, 532, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":528 + /* "nanargmax.pyx":554 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__48 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__48 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__48); __Pyx_GIVEREF(__pyx_tuple__48); - __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_1d_float32_axis0, 528, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_int_axis0, 554, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":554 + /* "nanargmax.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__50 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__50 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__50); __Pyx_GIVEREF(__pyx_tuple__50); - __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_1d_float64_axis0, 554, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_int_axis1, 582, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":580 + /* "nanargmax.pyx":610 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=0 ignoring NaNs." + * def nanargmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__52 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__52 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__52); __Pyx_GIVEREF(__pyx_tuple__52); - __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_float_axis0, 580, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_int8_axis0, 610, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":613 + /* "nanargmax.pyx":638 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=1 ignoring NaNs." + * def nanargmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__54 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__54 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__54); __Pyx_GIVEREF(__pyx_tuple__54); - __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_float_axis1, 613, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_int8_axis1, 638, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":646 + /* "nanargmax.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__56 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__56 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__56); __Pyx_GIVEREF(__pyx_tuple__56); - __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_float32_axis0, 646, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_int32_axis0, 666, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":679 + /* "nanargmax.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." + * def nanargmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__58 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__58 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__58); __Pyx_GIVEREF(__pyx_tuple__58); - __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_float32_axis1, 679, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_int32_axis1, 694, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":712 + /* "nanargmax.pyx":722 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__60 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__60 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__60); __Pyx_GIVEREF(__pyx_tuple__60); - __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_float64_axis0, 712, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_int64_axis0, 722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmax.pyx":745 + /* "nanargmax.pyx":750 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." + * def nanargmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__62 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__62 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__62); __Pyx_GIVEREF(__pyx_tuple__62); - __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_2d_float64_axis1, 745, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_2d_int64_axis1, 750, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":799 - * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 + * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 * * def nanargmax_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanargmax along axis 0." @@ -14985,7 +14985,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__64 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__64); __Pyx_GIVEREF(__pyx_tuple__64); - __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis0, 799, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis0, 799, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":803 * return bn.slow.nanargmax(arr, axis=0) @@ -14997,7 +14997,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__66 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__66); __Pyx_GIVEREF(__pyx_tuple__66); - __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis1, 803, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis1, 803, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":807 * return bn.slow.nanargmax(arr, axis=1) @@ -15009,7 +15009,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__68 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__68); __Pyx_GIVEREF(__pyx_tuple__68); - __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis2, 807, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis2, 807, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":811 * return bn.slow.nanargmax(arr, axis=2) @@ -15021,7 +15021,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__70 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__70); __Pyx_GIVEREF(__pyx_tuple__70); - __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis3, 811, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis3, 811, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":815 * return bn.slow.nanargmax(arr, axis=3) @@ -15033,7 +15033,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__72 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__72); __Pyx_GIVEREF(__pyx_tuple__72); - __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis4, 815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis4, 815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":819 * return bn.slow.nanargmax(arr, axis=4) @@ -15045,7 +15045,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__74 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__74); __Pyx_GIVEREF(__pyx_tuple__74); - __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis5, 819, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis5, 819, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":823 * return bn.slow.nanargmax(arr, axis=5) @@ -15057,7 +15057,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__76 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__76); __Pyx_GIVEREF(__pyx_tuple__76); - __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis6, 823, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis6, 823, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":827 * return bn.slow.nanargmax(arr, axis=6) @@ -15069,7 +15069,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__78 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__78); __Pyx_GIVEREF(__pyx_tuple__78); - __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis7, 827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis7, 827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":831 * return bn.slow.nanargmax(arr, axis=7) @@ -15081,7 +15081,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__80 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__80); __Pyx_GIVEREF(__pyx_tuple__80); - __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis8, 831, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis8, 831, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":835 * return bn.slow.nanargmax(arr, axis=8) @@ -15093,7 +15093,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__82 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__82); __Pyx_GIVEREF(__pyx_tuple__82); - __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis9, 835, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis9, 835, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":839 * return bn.slow.nanargmax(arr, axis=9) @@ -15105,7 +15105,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__84 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__84); __Pyx_GIVEREF(__pyx_tuple__84); - __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis10, 839, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis10, 839, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":843 * return bn.slow.nanargmax(arr, axis=10) @@ -15117,7 +15117,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__86 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__86); __Pyx_GIVEREF(__pyx_tuple__86); - __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis11, 843, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis11, 843, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":847 * return bn.slow.nanargmax(arr, axis=11) @@ -15129,7 +15129,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__88 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__88); __Pyx_GIVEREF(__pyx_tuple__88); - __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis12, 847, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis12, 847, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":851 * return bn.slow.nanargmax(arr, axis=12) @@ -15141,7 +15141,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__90 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__90); __Pyx_GIVEREF(__pyx_tuple__90); - __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis13, 851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis13, 851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":855 * return bn.slow.nanargmax(arr, axis=13) @@ -15153,7 +15153,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__92 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__92); __Pyx_GIVEREF(__pyx_tuple__92); - __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis14, 855, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis14, 855, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":859 * return bn.slow.nanargmax(arr, axis=14) @@ -15165,7 +15165,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__94 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__94); __Pyx_GIVEREF(__pyx_tuple__94); - __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis15, 859, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis15, 859, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":863 * return bn.slow.nanargmax(arr, axis=15) @@ -15177,7 +15177,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__96 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__96); __Pyx_GIVEREF(__pyx_tuple__96); - __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis16, 863, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis16, 863, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":867 * return bn.slow.nanargmax(arr, axis=16) @@ -15189,7 +15189,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__98 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__98); __Pyx_GIVEREF(__pyx_tuple__98); - __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis17, 867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis17, 867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":871 * return bn.slow.nanargmax(arr, axis=17) @@ -15201,7 +15201,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__100 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__100); __Pyx_GIVEREF(__pyx_tuple__100); - __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis18, 871, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis18, 871, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":875 * return bn.slow.nanargmax(arr, axis=18) @@ -15213,7 +15213,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__102 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__102); __Pyx_GIVEREF(__pyx_tuple__102); - __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis19, 875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis19, 875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":879 * return bn.slow.nanargmax(arr, axis=19) @@ -15225,7 +15225,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__104 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__104); __Pyx_GIVEREF(__pyx_tuple__104); - __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis20, 879, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis20, 879, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":883 * return bn.slow.nanargmax(arr, axis=20) @@ -15237,7 +15237,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__106 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__106); __Pyx_GIVEREF(__pyx_tuple__106); - __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis21, 883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis21, 883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":887 * return bn.slow.nanargmax(arr, axis=21) @@ -15249,7 +15249,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__108 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__108); __Pyx_GIVEREF(__pyx_tuple__108); - __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis22, 887, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis22, 887, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":891 * return bn.slow.nanargmax(arr, axis=22) @@ -15261,7 +15261,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__110 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__110); __Pyx_GIVEREF(__pyx_tuple__110); - __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis23, 891, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis23, 891, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":895 * return bn.slow.nanargmax(arr, axis=23) @@ -15273,7 +15273,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__112 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__112); __Pyx_GIVEREF(__pyx_tuple__112); - __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis24, 895, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis24, 895, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":899 * return bn.slow.nanargmax(arr, axis=24) @@ -15285,7 +15285,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__114 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__114); __Pyx_GIVEREF(__pyx_tuple__114); - __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis25, 899, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis25, 899, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":903 * return bn.slow.nanargmax(arr, axis=25) @@ -15297,7 +15297,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__116 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__116); __Pyx_GIVEREF(__pyx_tuple__116); - __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis26, 903, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis26, 903, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":907 * return bn.slow.nanargmax(arr, axis=26) @@ -15309,7 +15309,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__118 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__118); __Pyx_GIVEREF(__pyx_tuple__118); - __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis27, 907, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis27, 907, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":911 * return bn.slow.nanargmax(arr, axis=27) @@ -15321,7 +15321,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__120 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__120); __Pyx_GIVEREF(__pyx_tuple__120); - __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis28, 911, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis28, 911, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":915 * return bn.slow.nanargmax(arr, axis=28) @@ -15333,7 +15333,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__122 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__122); __Pyx_GIVEREF(__pyx_tuple__122); - __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis29, 915, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis29, 915, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":919 * return bn.slow.nanargmax(arr, axis=29) @@ -15345,7 +15345,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__124 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__124); __Pyx_GIVEREF(__pyx_tuple__124); - __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis30, 919, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis30, 919, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":923 * return bn.slow.nanargmax(arr, axis=30) @@ -15357,7 +15357,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__126 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__126); __Pyx_GIVEREF(__pyx_tuple__126); - __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis31, 923, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis31, 923, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":927 * return bn.slow.nanargmax(arr, axis=31) @@ -15369,7 +15369,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__128 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__128); __Pyx_GIVEREF(__pyx_tuple__128); - __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axis32, 927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axis32, 927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmax.pyx":931 * return bn.slow.nanargmax(arr, axis=32) @@ -15381,7 +15381,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__130 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__130); __Pyx_GIVEREF(__pyx_tuple__130); - __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmax_slow_axisNone, 931, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmax_slow_axisNone, 931, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -16347,261 +16347,261 @@ PyMODINIT_FUNC PyInit_nanargmax(void) /* "nanargmax.pyx":190 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int array along axis=0 ignoring NaNs." + * def nanargmax_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_5nanargmax_1d_int_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_5nanargmax_1d_float_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":212 + /* "nanargmax.pyx":216 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + * def nanargmax_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_7nanargmax_1d_int8_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_7nanargmax_1d_float32_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":234 + /* "nanargmax.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." + * def nanargmax_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_9nanargmax_1d_int32_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_9nanargmax_1d_float64_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":256 + /* "nanargmax.pyx":268 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_11nanargmax_1d_int64_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_11nanargmax_2d_float_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":278 + /* "nanargmax.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=0 ignoring NaNs." + * def nanargmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_13nanargmax_2d_int_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_13nanargmax_2d_float_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":306 + /* "nanargmax.pyx":334 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=1 ignoring NaNs." + * def nanargmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_15nanargmax_2d_int_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_15nanargmax_2d_float32_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":334 + /* "nanargmax.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_17nanargmax_2d_int8_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_17nanargmax_2d_float32_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":362 + /* "nanargmax.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." + * def nanargmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_19nanargmax_2d_int8_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_19nanargmax_2d_float64_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":390 + /* "nanargmax.pyx":433 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_21nanargmax_2d_int32_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_21nanargmax_2d_float64_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":418 + /* "nanargmax.pyx":466 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." + * def nanargmax_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_23nanargmax_2d_int32_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_23nanargmax_1d_int_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":446 + /* "nanargmax.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." + * def nanargmax_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_25nanargmax_2d_int64_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_25nanargmax_1d_int8_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":474 + /* "nanargmax.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." + * def nanargmax_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_27nanargmax_2d_int64_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_27nanargmax_1d_int32_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":502 + /* "nanargmax.pyx":532 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float array along axis=0 ignoring NaNs." + * def nanargmax_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_29nanargmax_1d_float_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_29nanargmax_1d_int64_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":528 + /* "nanargmax.pyx":554 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_31nanargmax_1d_float32_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_31nanargmax_2d_int_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":554 + /* "nanargmax.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_33nanargmax_1d_float64_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_33nanargmax_2d_int_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":580 + /* "nanargmax.pyx":610 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=0 ignoring NaNs." + * def nanargmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_35nanargmax_2d_float_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_35nanargmax_2d_int8_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":613 + /* "nanargmax.pyx":638 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=1 ignoring NaNs." + * def nanargmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_37nanargmax_2d_float_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_37nanargmax_2d_int8_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":646 + /* "nanargmax.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_39nanargmax_2d_float32_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_39nanargmax_2d_int32_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":679 + /* "nanargmax.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." + * def nanargmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_41nanargmax_2d_float32_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_41nanargmax_2d_int32_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":712 + /* "nanargmax.pyx":722 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." + * def nanargmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_43nanargmax_2d_float64_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_43nanargmax_2d_int64_axis0, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmax.pyx":745 + /* "nanargmax.pyx":750 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." + * def nanargmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_45nanargmax_2d_float64_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmax_45nanargmax_2d_int64_axis1, NULL, __pyx_n_s_nanargmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmax_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":776 * return y * * cdef dict nanargmax_dict = {} # <<<<<<<<<<<<<< - * nanargmax_dict[(1, NPY_int, 0)] = nanargmax_1d_int_axis0 - * nanargmax_dict[(1, NPY_int8, 0)] = nanargmax_1d_int8_axis0 + * nanargmax_dict[(1, NPY_float, 0)] = nanargmax_1d_float_axis0 + * nanargmax_dict[(1, NPY_float32, 0)] = nanargmax_1d_float32_axis0 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -16613,17 +16613,17 @@ PyMODINIT_FUNC PyInit_nanargmax(void) /* "nanargmax.pyx":777 * * cdef dict nanargmax_dict = {} - * nanargmax_dict[(1, NPY_int, 0)] = nanargmax_1d_int_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(1, NPY_int8, 0)] = nanargmax_1d_int8_axis0 - * nanargmax_dict[(1, NPY_int32, 0)] = nanargmax_1d_int32_axis0 + * nanargmax_dict[(1, NPY_float, 0)] = nanargmax_1d_float_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(1, NPY_float32, 0)] = nanargmax_1d_float32_axis0 + * nanargmax_dict[(1, NPY_float64, 0)] = nanargmax_1d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16642,18 +16642,18 @@ PyMODINIT_FUNC PyInit_nanargmax(void) /* "nanargmax.pyx":778 * cdef dict nanargmax_dict = {} - * nanargmax_dict[(1, NPY_int, 0)] = nanargmax_1d_int_axis0 - * nanargmax_dict[(1, NPY_int8, 0)] = nanargmax_1d_int8_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(1, NPY_int32, 0)] = nanargmax_1d_int32_axis0 - * nanargmax_dict[(1, NPY_int64, 0)] = nanargmax_1d_int64_axis0 + * nanargmax_dict[(1, NPY_float, 0)] = nanargmax_1d_float_axis0 + * nanargmax_dict[(1, NPY_float32, 0)] = nanargmax_1d_float32_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(1, NPY_float64, 0)] = nanargmax_1d_float64_axis0 + * nanargmax_dict[(2, NPY_float, 0)] = nanargmax_2d_float_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16671,19 +16671,19 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":779 - * nanargmax_dict[(1, NPY_int, 0)] = nanargmax_1d_int_axis0 - * nanargmax_dict[(1, NPY_int8, 0)] = nanargmax_1d_int8_axis0 - * nanargmax_dict[(1, NPY_int32, 0)] = nanargmax_1d_int32_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(1, NPY_int64, 0)] = nanargmax_1d_int64_axis0 - * nanargmax_dict[(2, NPY_int, 0)] = nanargmax_2d_int_axis0 + * nanargmax_dict[(1, NPY_float, 0)] = nanargmax_1d_float_axis0 + * nanargmax_dict[(1, NPY_float32, 0)] = nanargmax_1d_float32_axis0 + * nanargmax_dict[(1, NPY_float64, 0)] = nanargmax_1d_float64_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_float, 0)] = nanargmax_2d_float_axis0 + * nanargmax_dict[(2, NPY_float, 1)] = nanargmax_2d_float_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16701,25 +16701,25 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":780 - * nanargmax_dict[(1, NPY_int8, 0)] = nanargmax_1d_int8_axis0 - * nanargmax_dict[(1, NPY_int32, 0)] = nanargmax_1d_int32_axis0 - * nanargmax_dict[(1, NPY_int64, 0)] = nanargmax_1d_int64_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_int, 0)] = nanargmax_2d_int_axis0 - * nanargmax_dict[(2, NPY_int, 1)] = nanargmax_2d_int_axis1 + * nanargmax_dict[(1, NPY_float32, 0)] = nanargmax_1d_float32_axis0 + * nanargmax_dict[(1, NPY_float64, 0)] = nanargmax_1d_float64_axis0 + * nanargmax_dict[(2, NPY_float, 0)] = nanargmax_2d_float_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_float, 1)] = nanargmax_2d_float_axis1 + * nanargmax_dict[(2, NPY_float32, 0)] = nanargmax_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16731,19 +16731,19 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":781 - * nanargmax_dict[(1, NPY_int32, 0)] = nanargmax_1d_int32_axis0 - * nanargmax_dict[(1, NPY_int64, 0)] = nanargmax_1d_int64_axis0 - * nanargmax_dict[(2, NPY_int, 0)] = nanargmax_2d_int_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_int, 1)] = nanargmax_2d_int_axis1 - * nanargmax_dict[(2, NPY_int8, 0)] = nanargmax_2d_int8_axis0 + * nanargmax_dict[(1, NPY_float64, 0)] = nanargmax_1d_float64_axis0 + * nanargmax_dict[(2, NPY_float, 0)] = nanargmax_2d_float_axis0 + * nanargmax_dict[(2, NPY_float, 1)] = nanargmax_2d_float_axis1 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_float32, 0)] = nanargmax_2d_float32_axis0 + * nanargmax_dict[(2, NPY_float32, 1)] = nanargmax_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16752,28 +16752,28 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmax_nanargmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":782 - * nanargmax_dict[(1, NPY_int64, 0)] = nanargmax_1d_int64_axis0 - * nanargmax_dict[(2, NPY_int, 0)] = nanargmax_2d_int_axis0 - * nanargmax_dict[(2, NPY_int, 1)] = nanargmax_2d_int_axis1 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_int8, 0)] = nanargmax_2d_int8_axis0 - * nanargmax_dict[(2, NPY_int8, 1)] = nanargmax_2d_int8_axis1 + * nanargmax_dict[(2, NPY_float, 0)] = nanargmax_2d_float_axis0 + * nanargmax_dict[(2, NPY_float, 1)] = nanargmax_2d_float_axis1 + * nanargmax_dict[(2, NPY_float32, 0)] = nanargmax_2d_float32_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_float32, 1)] = nanargmax_2d_float32_axis1 + * nanargmax_dict[(2, NPY_float64, 0)] = nanargmax_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16782,28 +16782,28 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmax_nanargmax_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":783 - * nanargmax_dict[(2, NPY_int, 0)] = nanargmax_2d_int_axis0 - * nanargmax_dict[(2, NPY_int, 1)] = nanargmax_2d_int_axis1 - * nanargmax_dict[(2, NPY_int8, 0)] = nanargmax_2d_int8_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_int8, 1)] = nanargmax_2d_int8_axis1 - * nanargmax_dict[(2, NPY_int32, 0)] = nanargmax_2d_int32_axis0 + * nanargmax_dict[(2, NPY_float, 1)] = nanargmax_2d_float_axis1 + * nanargmax_dict[(2, NPY_float32, 0)] = nanargmax_2d_float32_axis0 + * nanargmax_dict[(2, NPY_float32, 1)] = nanargmax_2d_float32_axis1 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_float64, 0)] = nanargmax_2d_float64_axis0 + * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16812,28 +16812,28 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmax_nanargmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":784 - * nanargmax_dict[(2, NPY_int, 1)] = nanargmax_2d_int_axis1 - * nanargmax_dict[(2, NPY_int8, 0)] = nanargmax_2d_int8_axis0 - * nanargmax_dict[(2, NPY_int8, 1)] = nanargmax_2d_int8_axis1 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_int32, 0)] = nanargmax_2d_int32_axis0 - * nanargmax_dict[(2, NPY_int32, 1)] = nanargmax_2d_int32_axis1 + * nanargmax_dict[(2, NPY_float32, 0)] = nanargmax_2d_float32_axis0 + * nanargmax_dict[(2, NPY_float32, 1)] = nanargmax_2d_float32_axis1 + * nanargmax_dict[(2, NPY_float64, 0)] = nanargmax_2d_float64_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 + * nanargmax_dict[(1, NPY_int, 0)] = nanargmax_1d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16842,28 +16842,28 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmax_nanargmax_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":785 - * nanargmax_dict[(2, NPY_int8, 0)] = nanargmax_2d_int8_axis0 - * nanargmax_dict[(2, NPY_int8, 1)] = nanargmax_2d_int8_axis1 - * nanargmax_dict[(2, NPY_int32, 0)] = nanargmax_2d_int32_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_int32, 1)] = nanargmax_2d_int32_axis1 - * nanargmax_dict[(2, NPY_int64, 0)] = nanargmax_2d_int64_axis0 + * nanargmax_dict[(2, NPY_float32, 1)] = nanargmax_2d_float32_axis1 + * nanargmax_dict[(2, NPY_float64, 0)] = nanargmax_2d_float64_axis0 + * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanargmax_dict[(1, NPY_int, 0)] = nanargmax_1d_int_axis0 + * nanargmax_dict[(1, NPY_int8, 0)] = nanargmax_1d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16872,64 +16872,64 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmax_nanargmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":786 - * nanargmax_dict[(2, NPY_int8, 1)] = nanargmax_2d_int8_axis1 - * nanargmax_dict[(2, NPY_int32, 0)] = nanargmax_2d_int32_axis0 - * nanargmax_dict[(2, NPY_int32, 1)] = nanargmax_2d_int32_axis1 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_int64, 0)] = nanargmax_2d_int64_axis0 - * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 + * nanargmax_dict[(2, NPY_float64, 0)] = nanargmax_2d_float64_axis0 + * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 + * nanargmax_dict[(1, NPY_int, 0)] = nanargmax_1d_int_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(1, NPY_int8, 0)] = nanargmax_1d_int8_axis0 + * nanargmax_dict[(1, NPY_int32, 0)] = nanargmax_1d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmax_nanargmax_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":787 - * nanargmax_dict[(2, NPY_int32, 0)] = nanargmax_2d_int32_axis0 - * nanargmax_dict[(2, NPY_int32, 1)] = nanargmax_2d_int32_axis1 - * nanargmax_dict[(2, NPY_int64, 0)] = nanargmax_2d_int64_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 - * nanargmax_dict[(1, NPY_float, 0)] = nanargmax_1d_float_axis0 + * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 + * nanargmax_dict[(1, NPY_int, 0)] = nanargmax_1d_int_axis0 + * nanargmax_dict[(1, NPY_int8, 0)] = nanargmax_1d_int8_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(1, NPY_int32, 0)] = nanargmax_1d_int32_axis0 + * nanargmax_dict[(1, NPY_int64, 0)] = nanargmax_1d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -16941,49 +16941,49 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":788 - * nanargmax_dict[(2, NPY_int32, 1)] = nanargmax_2d_int32_axis1 - * nanargmax_dict[(2, NPY_int64, 0)] = nanargmax_2d_int64_axis0 - * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 # <<<<<<<<<<<<<< - * nanargmax_dict[(1, NPY_float, 0)] = nanargmax_1d_float_axis0 - * nanargmax_dict[(1, NPY_float32, 0)] = nanargmax_1d_float32_axis0 + * nanargmax_dict[(1, NPY_int, 0)] = nanargmax_1d_int_axis0 + * nanargmax_dict[(1, NPY_int8, 0)] = nanargmax_1d_int8_axis0 + * nanargmax_dict[(1, NPY_int32, 0)] = nanargmax_1d_int32_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(1, NPY_int64, 0)] = nanargmax_1d_int64_axis0 + * nanargmax_dict[(2, NPY_int, 0)] = nanargmax_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmax_nanargmax_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":789 - * nanargmax_dict[(2, NPY_int64, 0)] = nanargmax_2d_int64_axis0 - * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 - * nanargmax_dict[(1, NPY_float, 0)] = nanargmax_1d_float_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(1, NPY_float32, 0)] = nanargmax_1d_float32_axis0 - * nanargmax_dict[(1, NPY_float64, 0)] = nanargmax_1d_float64_axis0 + * nanargmax_dict[(1, NPY_int8, 0)] = nanargmax_1d_int8_axis0 + * nanargmax_dict[(1, NPY_int32, 0)] = nanargmax_1d_int32_axis0 + * nanargmax_dict[(1, NPY_int64, 0)] = nanargmax_1d_int64_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_int, 0)] = nanargmax_2d_int_axis0 + * nanargmax_dict[(2, NPY_int, 1)] = nanargmax_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17001,25 +17001,25 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":790 - * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 - * nanargmax_dict[(1, NPY_float, 0)] = nanargmax_1d_float_axis0 - * nanargmax_dict[(1, NPY_float32, 0)] = nanargmax_1d_float32_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(1, NPY_float64, 0)] = nanargmax_1d_float64_axis0 - * nanargmax_dict[(2, NPY_float, 0)] = nanargmax_2d_float_axis0 + * nanargmax_dict[(1, NPY_int32, 0)] = nanargmax_1d_int32_axis0 + * nanargmax_dict[(1, NPY_int64, 0)] = nanargmax_1d_int64_axis0 + * nanargmax_dict[(2, NPY_int, 0)] = nanargmax_2d_int_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_int, 1)] = nanargmax_2d_int_axis1 + * nanargmax_dict[(2, NPY_int8, 0)] = nanargmax_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -17031,49 +17031,49 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":791 - * nanargmax_dict[(1, NPY_float, 0)] = nanargmax_1d_float_axis0 - * nanargmax_dict[(1, NPY_float32, 0)] = nanargmax_1d_float32_axis0 - * nanargmax_dict[(1, NPY_float64, 0)] = nanargmax_1d_float64_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_float, 0)] = nanargmax_2d_float_axis0 - * nanargmax_dict[(2, NPY_float, 1)] = nanargmax_2d_float_axis1 + * nanargmax_dict[(1, NPY_int64, 0)] = nanargmax_1d_int64_axis0 + * nanargmax_dict[(2, NPY_int, 0)] = nanargmax_2d_int_axis0 + * nanargmax_dict[(2, NPY_int, 1)] = nanargmax_2d_int_axis1 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_int8, 0)] = nanargmax_2d_int8_axis0 + * nanargmax_dict[(2, NPY_int8, 1)] = nanargmax_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmax_nanargmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":792 - * nanargmax_dict[(1, NPY_float32, 0)] = nanargmax_1d_float32_axis0 - * nanargmax_dict[(1, NPY_float64, 0)] = nanargmax_1d_float64_axis0 - * nanargmax_dict[(2, NPY_float, 0)] = nanargmax_2d_float_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_float, 1)] = nanargmax_2d_float_axis1 - * nanargmax_dict[(2, NPY_float32, 0)] = nanargmax_2d_float32_axis0 + * nanargmax_dict[(2, NPY_int, 0)] = nanargmax_2d_int_axis0 + * nanargmax_dict[(2, NPY_int, 1)] = nanargmax_2d_int_axis1 + * nanargmax_dict[(2, NPY_int8, 0)] = nanargmax_2d_int8_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_int8, 1)] = nanargmax_2d_int8_axis1 + * nanargmax_dict[(2, NPY_int32, 0)] = nanargmax_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17091,19 +17091,19 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":793 - * nanargmax_dict[(1, NPY_float64, 0)] = nanargmax_1d_float64_axis0 - * nanargmax_dict[(2, NPY_float, 0)] = nanargmax_2d_float_axis0 - * nanargmax_dict[(2, NPY_float, 1)] = nanargmax_2d_float_axis1 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_float32, 0)] = nanargmax_2d_float32_axis0 - * nanargmax_dict[(2, NPY_float32, 1)] = nanargmax_2d_float32_axis1 + * nanargmax_dict[(2, NPY_int, 1)] = nanargmax_2d_int_axis1 + * nanargmax_dict[(2, NPY_int8, 0)] = nanargmax_2d_int8_axis0 + * nanargmax_dict[(2, NPY_int8, 1)] = nanargmax_2d_int8_axis1 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_int32, 0)] = nanargmax_2d_int32_axis0 + * nanargmax_dict[(2, NPY_int32, 1)] = nanargmax_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17121,19 +17121,19 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":794 - * nanargmax_dict[(2, NPY_float, 0)] = nanargmax_2d_float_axis0 - * nanargmax_dict[(2, NPY_float, 1)] = nanargmax_2d_float_axis1 - * nanargmax_dict[(2, NPY_float32, 0)] = nanargmax_2d_float32_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_float32, 1)] = nanargmax_2d_float32_axis1 - * nanargmax_dict[(2, NPY_float64, 0)] = nanargmax_2d_float64_axis0 + * nanargmax_dict[(2, NPY_int8, 0)] = nanargmax_2d_int8_axis0 + * nanargmax_dict[(2, NPY_int8, 1)] = nanargmax_2d_int8_axis1 + * nanargmax_dict[(2, NPY_int32, 0)] = nanargmax_2d_int32_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_int32, 1)] = nanargmax_2d_int32_axis1 + * nanargmax_dict[(2, NPY_int64, 0)] = nanargmax_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17151,19 +17151,19 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":795 - * nanargmax_dict[(2, NPY_float, 1)] = nanargmax_2d_float_axis1 - * nanargmax_dict[(2, NPY_float32, 0)] = nanargmax_2d_float32_axis0 - * nanargmax_dict[(2, NPY_float32, 1)] = nanargmax_2d_float32_axis1 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_float64, 0)] = nanargmax_2d_float64_axis0 - * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 + * nanargmax_dict[(2, NPY_int8, 1)] = nanargmax_2d_int8_axis1 + * nanargmax_dict[(2, NPY_int32, 0)] = nanargmax_2d_int32_axis0 + * nanargmax_dict[(2, NPY_int32, 1)] = nanargmax_2d_int32_axis1 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_int64, 0)] = nanargmax_2d_int64_axis0 + * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17181,19 +17181,19 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":796 - * nanargmax_dict[(2, NPY_float32, 0)] = nanargmax_2d_float32_axis0 - * nanargmax_dict[(2, NPY_float32, 1)] = nanargmax_2d_float32_axis1 - * nanargmax_dict[(2, NPY_float64, 0)] = nanargmax_2d_float64_axis0 # <<<<<<<<<<<<<< - * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 + * nanargmax_dict[(2, NPY_int32, 0)] = nanargmax_2d_int32_axis0 + * nanargmax_dict[(2, NPY_int32, 1)] = nanargmax_2d_int32_axis1 + * nanargmax_dict[(2, NPY_int64, 0)] = nanargmax_2d_int64_axis0 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17211,19 +17211,19 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":797 - * nanargmax_dict[(2, NPY_float32, 1)] = nanargmax_2d_float32_axis1 - * nanargmax_dict[(2, NPY_float64, 0)] = nanargmax_2d_float64_axis0 - * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanargmax_dict[(2, NPY_int32, 1)] = nanargmax_2d_int32_axis1 + * nanargmax_dict[(2, NPY_int64, 0)] = nanargmax_2d_int64_axis0 + * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nanargmax_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmax_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmax_nanargmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17241,7 +17241,7 @@ PyMODINIT_FUNC PyInit_nanargmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmax.pyx":799 - * nanargmax_dict[(2, NPY_float64, 1)] = nanargmax_2d_float64_axis1 + * nanargmax_dict[(2, NPY_int64, 1)] = nanargmax_2d_int64_axis1 * * def nanargmax_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanargmax along axis 0." @@ -18215,7 +18215,7 @@ PyMODINIT_FUNC PyInit_nanargmax(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/nanargmin.c b/bottlechest/src/func/64bit/nanargmin.c index 6e559436eb..52f5b4520c 100644 --- a/bottlechest/src/func/64bit/nanargmin.c +++ b/bottlechest/src/func/64bit/nanargmin.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1096,14 +1096,14 @@ static __pyx_t_5numpy_float32_t __pyx_v_9nanargmin_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_9nanargmin_MAXfloat64; static PyObject *__pyx_v_9nanargmin_nanargmin_dict = 0; static PyObject *__pyx_v_9nanargmin_nanargmin_slow_dict = 0; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t = { "intp_t", NULL, sizeof(__pyx_t_5numpy_intp_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_intp_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_intp_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t = { "intp_t", NULL, sizeof(__pyx_t_5numpy_intp_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_intp_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_intp_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "nanargmin" int __pyx_module_is_main_nanargmin = 0; @@ -1115,27 +1115,27 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_9nanargmin_nanargmin(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_9nanargmin_2nanargmin_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_10nanargmin_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_18nanargmin_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_22nanargmin_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_24nanargmin_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_26nanargmin_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_30nanargmin_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_32nanargmin_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_10nanargmin_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_18nanargmin_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_22nanargmin_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_24nanargmin_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_26nanargmin_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_30nanargmin_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_32nanargmin_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_9nanargmin_46nanargmin_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_9nanargmin_48nanargmin_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_9nanargmin_50nanargmin_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1308,9 +1308,9 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Indices_of_the_minimum_values_a[] = "\n Indices of the minimum values along an axis, ignoring NaNs.\n<<<<<<< HEAD:bottlechest/src/template/func/nanargmin.py\n \n=======\n\n For all-NaN slices ``ValueError`` is raised. Unlike NumPy, the results\n can be trusted if a slice contains only NaNs and Infs.\n\n>>>>>>> 72f8ae2... ENH nanargmin and nanargmax now match numpy 1.8.0:bottleneck/src/template/func/nanargmin.py\n Parameters\n ----------\n a : array_like\n Input data.\n axis : {int, None}, optional\n Axis along which to operate. By default (axis=None) flattened input\n is used.\n \n See also\n --------\n bottlechest.nanargmax: Indices of the maximum values along an axis.\n bottlechest.nanmin: Minimum values along specified axis, ignoring NaNs.\n\n Returns\n -------\n index_array : ndarray\n An array of indices or a single index value.\n \n Examples\n --------\n >>> a = np.array([[np.nan, 4], [2, 3]])\n >>> bn.nanargmin(a)\n 2\n >>> a.flat[1]\n 2.0\n >>> bn.nanargmax(a, axis=0)\n array([1, 1])\n >>> bn.nanargmax(a, axis=1)\n array([1, 0])\n \n "; static char __pyx_k_Return_nanargmin_function_and_a[] = "\n Return nanargmin function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.nanargmin() is in checking that `axis` is within range, converting\n `arr` into an array (if it is not already an array), and selecting the\n function to use to find the indices of the minimum.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the indices are found.\n \n Returns\n -------\n func : function\n The nanargmin function that matches the number of dimensions and\n dtype of the input array and the axis.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine the nanargmin of `arr` along\n axis=0:\n\n >>> func, a = bn.func.nanargmin_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the maximum:\n \n >>> func(a)\n 0\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/nanargmin.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\nanargmin.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; @@ -1318,7 +1318,6 @@ static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran static char __pyx_k_numpy_nanargmin_raises_on_a_shap[] = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too."; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; static PyObject *__pyx_kp_s_All_NaN_slice_encountered; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1332,6 +1331,7 @@ static PyObject *__pyx_kp_u_Return_nanargmin_function_and_a; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__16; static PyObject *__pyx_n_s_a; @@ -2448,24 +2448,24 @@ static PyObject *__pyx_pf_9nanargmin_2nanargmin_selector(CYTHON_UNUSED PyObject /* "nanargmin.pyx":190 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int array along axis=0 ignoring NaNs." + * def nanargmin_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_5nanargmin_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_4nanargmin_1d_int_axis0[] = "nanargmin_1d_int_axis0(ndarray a)\nIndex of max of 1d, int array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_5nanargmin_1d_int_axis0 = {"nanargmin_1d_int_axis0", (PyCFunction)__pyx_pw_9nanargmin_5nanargmin_1d_int_axis0, METH_O, __pyx_doc_9nanargmin_4nanargmin_1d_int_axis0}; -static PyObject *__pyx_pw_9nanargmin_5nanargmin_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_5nanargmin_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_4nanargmin_1d_float_axis0[] = "nanargmin_1d_float_axis0(ndarray a)\nIndex of max of 1d, float array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_5nanargmin_1d_float_axis0 = {"nanargmin_1d_float_axis0", (PyCFunction)__pyx_pw_9nanargmin_5nanargmin_1d_float_axis0, METH_O, __pyx_doc_9nanargmin_4nanargmin_1d_float_axis0}; +static PyObject *__pyx_pw_9nanargmin_5nanargmin_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_1d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanargmin_1d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_9nanargmin_4nanargmin_1d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2476,10 +2476,10 @@ static PyObject *__pyx_pw_9nanargmin_5nanargmin_1d_int_axis0(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amin; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amin; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -2494,36 +2494,35 @@ static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(CYTHON_UNUSED PyObj PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_1d_int_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_1d_float_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "nanargmin.pyx":192 - * def nanargmin_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): - * "Index of max of 1d, int array along axis=0 ignoring NaNs." + * def nanargmin_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): + * "Index of max of 1d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amin, ai + * cdef np.float_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; /* "nanargmin.pyx":194 * cdef int allnan = 1 - * cdef np.int_t amin, ai + * cdef np.float_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim @@ -2563,7 +2562,7 @@ static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(CYTHON_UNUSED PyObj * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amin = MAXint + * amin = MAXfloat */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; @@ -2572,8 +2571,8 @@ static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(CYTHON_UNUSED PyObj * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amin = MAXint - * for i0 in range(n0): + * amin = MAXfloat + * for i0 in range(n0 - 1, -1, -1): */ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -2591,39 +2590,38 @@ static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(CYTHON_UNUSED PyObj /* "nanargmin.pyx":202 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amin = MAXint # <<<<<<<<<<<<<< - * for i0 in range(n0): + * amin = MAXfloat # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint; + __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat; /* "nanargmin.pyx":203 * raise ValueError(msg) - * amin = MAXint - * for i0 in range(n0): # <<<<<<<<<<<<<< + * amin = MAXfloat + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0] * if ai <= amin: */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { + __pyx_v_i0 = __pyx_t_4; /* "nanargmin.pyx":204 - * amin = MAXint - * for i0 in range(n0): + * amin = MAXfloat + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); /* "nanargmin.pyx":205 - * for i0 in range(n0): + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * idx = i0 + * allnan = 0 */ __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_1) { @@ -2632,17 +2630,26 @@ static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(CYTHON_UNUSED PyObj * ai = a[i0] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< + * allnan = 0 * idx = i0 - * return np.intp(idx) */ __pyx_v_amin = __pyx_v_ai; /* "nanargmin.pyx":207 * if ai <= amin: * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: + */ + __pyx_v_allnan = 0; + + /* "nanargmin.pyx":208 + * amin = ai + * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * return np.intp(idx) - * + * if allnan == 0: + * return np.intp(idx) */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L6; @@ -2650,56 +2657,82 @@ static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(CYTHON_UNUSED PyObj __pyx_L6:; } - /* "nanargmin.pyx":208 - * amin = ai + /* "nanargmin.pyx":209 + * allnan = 0 * idx = i0 - * return np.intp(idx) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.intp(idx) + * else: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_1) { + + /* "nanargmin.pyx":210 + * idx = i0 + * if allnan == 0: + * return np.intp(idx) # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + /*else*/ { + + /* "nanargmin.pyx":212 + * return np.intp(idx) + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; /* "nanargmin.pyx":190 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int array along axis=0 ignoring NaNs." + * def nanargmin_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -2707,14 +2740,14 @@ static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(CYTHON_UNUSED PyObj __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2726,27 +2759,27 @@ static PyObject *__pyx_pf_9nanargmin_4nanargmin_1d_int_axis0(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanargmin.pyx":212 +/* "nanargmin.pyx":216 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + * def nanargmin_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_7nanargmin_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_6nanargmin_1d_int8_axis0[] = "nanargmin_1d_int8_axis0(ndarray a)\nIndex of max of 1d, int8 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_7nanargmin_1d_int8_axis0 = {"nanargmin_1d_int8_axis0", (PyCFunction)__pyx_pw_9nanargmin_7nanargmin_1d_int8_axis0, METH_O, __pyx_doc_9nanargmin_6nanargmin_1d_int8_axis0}; -static PyObject *__pyx_pw_9nanargmin_7nanargmin_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_7nanargmin_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_6nanargmin_1d_float32_axis0[] = "nanargmin_1d_float32_axis0(ndarray a)\nIndex of max of 1d, float32 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_7nanargmin_1d_float32_axis0 = {"nanargmin_1d_float32_axis0", (PyCFunction)__pyx_pw_9nanargmin_7nanargmin_1d_float32_axis0, METH_O, __pyx_doc_9nanargmin_6nanargmin_1d_float32_axis0}; +static PyObject *__pyx_pw_9nanargmin_7nanargmin_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_1d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_6nanargmin_1d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_1d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_6nanargmin_1d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2757,10 +2790,10 @@ static PyObject *__pyx_pw_9nanargmin_7nanargmin_1d_int8_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amin; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amin; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -2775,43 +2808,42 @@ static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_int8_axis0(CYTHON_UNUSED PyOb PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_1d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_1d_float32_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmin.pyx":214 - * def nanargmin_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): - * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":218 + * def nanargmin_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): + * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amin, ai + * cdef np.float32_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":216 + /* "nanargmin.pyx":220 * cdef int allnan = 1 - * cdef np.int8_t amin, ai + * cdef np.float32_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":219 + /* "nanargmin.pyx":223 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2820,7 +2852,7 @@ static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_int8_axis0(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":220 + /* "nanargmin.pyx":224 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2829,7 +2861,7 @@ static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_int8_axis0(CYTHON_UNUSED PyOb */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":221 + /* "nanargmin.pyx":225 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< @@ -2839,91 +2871,99 @@ static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_int8_axis0(CYTHON_UNUSED PyOb __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanargmin.pyx":222 + /* "nanargmin.pyx":226 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amin = MAXint8 + * amin = MAXfloat32 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":223 + /* "nanargmin.pyx":227 * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amin = MAXint8 - * for i0 in range(n0): + * amin = MAXfloat32 + * for i0 in range(n0 - 1, -1, -1): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":224 + /* "nanargmin.pyx":228 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amin = MAXint8 # <<<<<<<<<<<<<< - * for i0 in range(n0): + * amin = MAXfloat32 # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint8; + __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat32; - /* "nanargmin.pyx":225 + /* "nanargmin.pyx":229 * raise ValueError(msg) - * amin = MAXint8 - * for i0 in range(n0): # <<<<<<<<<<<<<< + * amin = MAXfloat32 + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0] * if ai <= amin: */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { + __pyx_v_i0 = __pyx_t_4; - /* "nanargmin.pyx":226 - * amin = MAXint8 - * for i0 in range(n0): + /* "nanargmin.pyx":230 + * amin = MAXfloat32 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmin.pyx":227 - * for i0 in range(n0): + /* "nanargmin.pyx":231 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * idx = i0 + * allnan = 0 */ __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_1) { - /* "nanargmin.pyx":228 + /* "nanargmin.pyx":232 * ai = a[i0] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< + * allnan = 0 * idx = i0 - * return np.intp(idx) */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":229 + /* "nanargmin.pyx":233 * if ai <= amin: * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: + */ + __pyx_v_allnan = 0; + + /* "nanargmin.pyx":234 + * amin = ai + * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * return np.intp(idx) - * + * if allnan == 0: + * return np.intp(idx) */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L6; @@ -2931,56 +2971,82 @@ static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_int8_axis0(CYTHON_UNUSED PyOb __pyx_L6:; } - /* "nanargmin.pyx":230 - * amin = ai + /* "nanargmin.pyx":235 + * allnan = 0 * idx = i0 - * return np.intp(idx) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.intp(idx) + * else: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_1) { + + /* "nanargmin.pyx":236 + * idx = i0 + * if allnan == 0: + * return np.intp(idx) # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + /*else*/ { + + /* "nanargmin.pyx":238 + * return np.intp(idx) + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - /* "nanargmin.pyx":212 + /* "nanargmin.pyx":216 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + * def nanargmin_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -2988,14 +3054,14 @@ static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_int8_axis0(CYTHON_UNUSED PyOb __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3007,27 +3073,27 @@ static PyObject *__pyx_pf_9nanargmin_6nanargmin_1d_int8_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "nanargmin.pyx":234 +/* "nanargmin.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." + * def nanargmin_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_9nanargmin_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_8nanargmin_1d_int32_axis0[] = "nanargmin_1d_int32_axis0(ndarray a)\nIndex of max of 1d, int32 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_9nanargmin_1d_int32_axis0 = {"nanargmin_1d_int32_axis0", (PyCFunction)__pyx_pw_9nanargmin_9nanargmin_1d_int32_axis0, METH_O, __pyx_doc_9nanargmin_8nanargmin_1d_int32_axis0}; -static PyObject *__pyx_pw_9nanargmin_9nanargmin_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_9nanargmin_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_8nanargmin_1d_float64_axis0[] = "nanargmin_1d_float64_axis0(ndarray a)\nIndex of max of 1d, float64 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_9nanargmin_1d_float64_axis0 = {"nanargmin_1d_float64_axis0", (PyCFunction)__pyx_pw_9nanargmin_9nanargmin_1d_float64_axis0, METH_O, __pyx_doc_9nanargmin_8nanargmin_1d_float64_axis0}; +static PyObject *__pyx_pw_9nanargmin_9nanargmin_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_1d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_8nanargmin_1d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_1d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_8nanargmin_1d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3038,10 +3104,10 @@ static PyObject *__pyx_pw_9nanargmin_9nanargmin_1d_int32_axis0(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amin; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_amin; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -3056,43 +3122,42 @@ static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_int32_axis0(CYTHON_UNUSED PyO PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_1d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_1d_float64_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmin.pyx":236 - * def nanargmin_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): - * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":244 + * def nanargmin_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): + * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amin, ai + * cdef np.float64_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":238 + /* "nanargmin.pyx":246 * cdef int allnan = 1 - * cdef np.int32_t amin, ai + * cdef np.float64_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":241 + /* "nanargmin.pyx":249 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3101,7 +3166,7 @@ static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_int32_axis0(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":242 + /* "nanargmin.pyx":250 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3110,7 +3175,7 @@ static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_int32_axis0(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":243 + /* "nanargmin.pyx":251 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< @@ -3120,91 +3185,99 @@ static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_int32_axis0(CYTHON_UNUSED PyO __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanargmin.pyx":244 + /* "nanargmin.pyx":252 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amin = MAXint32 + * amin = MAXfloat64 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":245 + /* "nanargmin.pyx":253 * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amin = MAXint32 - * for i0 in range(n0): + * amin = MAXfloat64 + * for i0 in range(n0 - 1, -1, -1): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":246 + /* "nanargmin.pyx":254 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amin = MAXint32 # <<<<<<<<<<<<<< - * for i0 in range(n0): + * amin = MAXfloat64 # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint32; + __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat64; - /* "nanargmin.pyx":247 + /* "nanargmin.pyx":255 * raise ValueError(msg) - * amin = MAXint32 - * for i0 in range(n0): # <<<<<<<<<<<<<< + * amin = MAXfloat64 + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0] * if ai <= amin: */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { + __pyx_v_i0 = __pyx_t_4; - /* "nanargmin.pyx":248 - * amin = MAXint32 - * for i0 in range(n0): + /* "nanargmin.pyx":256 + * amin = MAXfloat64 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmin.pyx":249 - * for i0 in range(n0): + /* "nanargmin.pyx":257 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * idx = i0 + * allnan = 0 */ __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_1) { - /* "nanargmin.pyx":250 + /* "nanargmin.pyx":258 * ai = a[i0] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< + * allnan = 0 * idx = i0 - * return np.intp(idx) */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":251 + /* "nanargmin.pyx":259 * if ai <= amin: * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: + */ + __pyx_v_allnan = 0; + + /* "nanargmin.pyx":260 + * amin = ai + * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * return np.intp(idx) - * + * if allnan == 0: + * return np.intp(idx) */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L6; @@ -3212,56 +3285,82 @@ static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_int32_axis0(CYTHON_UNUSED PyO __pyx_L6:; } - /* "nanargmin.pyx":252 - * amin = ai + /* "nanargmin.pyx":261 + * allnan = 0 * idx = i0 - * return np.intp(idx) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.intp(idx) + * else: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_1) { + + /* "nanargmin.pyx":262 + * idx = i0 + * if allnan == 0: + * return np.intp(idx) # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + /*else*/ { + + /* "nanargmin.pyx":264 + * return np.intp(idx) + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - /* "nanargmin.pyx":234 + /* "nanargmin.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." + * def nanargmin_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -3269,14 +3368,14 @@ static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_int32_axis0(CYTHON_UNUSED PyO __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3288,27 +3387,27 @@ static PyObject *__pyx_pf_9nanargmin_8nanargmin_1d_int32_axis0(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanargmin.pyx":256 +/* "nanargmin.pyx":268 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_11nanargmin_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_10nanargmin_1d_int64_axis0[] = "nanargmin_1d_int64_axis0(ndarray a)\nIndex of max of 1d, int64 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_11nanargmin_1d_int64_axis0 = {"nanargmin_1d_int64_axis0", (PyCFunction)__pyx_pw_9nanargmin_11nanargmin_1d_int64_axis0, METH_O, __pyx_doc_9nanargmin_10nanargmin_1d_int64_axis0}; -static PyObject *__pyx_pw_9nanargmin_11nanargmin_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_11nanargmin_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_10nanargmin_2d_float_axis0[] = "nanargmin_2d_float_axis0(ndarray a)\nIndex of max of 2d, float array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_11nanargmin_2d_float_axis0 = {"nanargmin_2d_float_axis0", (PyCFunction)__pyx_pw_9nanargmin_11nanargmin_2d_float_axis0, METH_O, __pyx_doc_9nanargmin_10nanargmin_2d_float_axis0}; +static PyObject *__pyx_pw_9nanargmin_11nanargmin_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_1d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_10nanargmin_1d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_float_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_10nanargmin_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3319,277 +3418,363 @@ static PyObject *__pyx_pw_9nanargmin_11nanargmin_1d_int64_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_10nanargmin_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amin; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_10nanargmin_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amin; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_1d_int64_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_float_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":258 - * def nanargmin_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): - * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":270 + * def nanargmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Index of max of 2d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amin, ai + * cdef np.float_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":260 + /* "nanargmin.pyx":272 * cdef int allnan = 1 - * cdef np.int64_t amin, ai + * cdef np.float_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":263 - * cdef Py_ssize_t i0 + /* "nanargmin.pyx":275 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":264 + /* "nanargmin.pyx":276 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":265 + /* "nanargmin.pyx":277 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanargmin.pyx":278 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "nanargmin.pyx":279 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_intp, 0) + * if n0 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanargmin.pyx":281 + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanargmin.pyx":266 - * cdef Py_ssize_t n0 = dim[0] + /* "nanargmin.pyx":282 + * NPY_intp, 0) * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amin = MAXint64 + * for i1 in range(n1 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":267 + /* "nanargmin.pyx":283 * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amin = MAXint64 - * for i0 in range(n0): + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXfloat */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":268 + /* "nanargmin.pyx":284 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amin = MAXint64 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + * amin = MAXfloat + * allnan = 1 */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint64; + for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanargmin.pyx":269 + /* "nanargmin.pyx":285 * raise ValueError(msg) - * amin = MAXint64 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai <= amin: + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXfloat # <<<<<<<<<<<<<< + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat; - /* "nanargmin.pyx":270 - * amin = MAXint64 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + /* "nanargmin.pyx":286 + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXfloat + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_allnan = 1; - /* "nanargmin.pyx":271 - * for i0 in range(n0): - * ai = a[i0] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * idx = i0 + /* "nanargmin.pyx":287 + * amin = MAXfloat + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai <= amin: */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanargmin.pyx":272 - * ai = a[i0] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * idx = i0 - * return np.intp(idx) + /* "nanargmin.pyx":288 + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_v_amin = __pyx_v_ai; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":273 - * if ai <= amin: - * amin = ai - * idx = i0 # <<<<<<<<<<<<<< - * return np.intp(idx) - * + /* "nanargmin.pyx":289 + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * allnan = 0 */ - __pyx_v_idx = __pyx_v_i0; - goto __pyx_L6; - } - __pyx_L6:; - } + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { - /* "nanargmin.pyx":274 - * amin = ai - * idx = i0 - * return np.intp(idx) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + /* "nanargmin.pyx":290 + * ai = a[i0, i1] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * allnan = 0 + * idx = i0 */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; + __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":256 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanargmin_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." - * cdef int allnan = 1 + /* "nanargmin.pyx":291 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: */ + __pyx_v_allnan = 0; - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + /* "nanargmin.pyx":292 + * amin = ai + * allnan = 0 + * idx = i0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = idx + */ + __pyx_v_idx = __pyx_v_i0; + goto __pyx_L8; + } + __pyx_L8:; + } + + /* "nanargmin.pyx":293 + * allnan = 0 + * idx = i0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = idx + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanargmin.pyx":294 + * idx = i0 + * if allnan == 0: + * y[i1] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { + + /* "nanargmin.pyx":296 + * y[i1] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; + } + + /* "nanargmin.pyx":297 + * else: + * raise ValueError("All-NaN slice encountered") + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "nanargmin.pyx":268 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanargmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=0 ignoring NaNs." + * cdef int allnan = 1 + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmin.pyx":278 +/* "nanargmin.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=0 ignoring NaNs." + * def nanargmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_13nanargmin_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_12nanargmin_2d_int_axis0[] = "nanargmin_2d_int_axis0(ndarray a)\nIndex of max of 2d, int array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_13nanargmin_2d_int_axis0 = {"nanargmin_2d_int_axis0", (PyCFunction)__pyx_pw_9nanargmin_13nanargmin_2d_int_axis0, METH_O, __pyx_doc_9nanargmin_12nanargmin_2d_int_axis0}; -static PyObject *__pyx_pw_9nanargmin_13nanargmin_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_13nanargmin_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_12nanargmin_2d_float_axis1[] = "nanargmin_2d_float_axis1(ndarray a)\nIndex of max of 2d, float array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_13nanargmin_2d_float_axis1 = {"nanargmin_2d_float_axis1", (PyCFunction)__pyx_pw_9nanargmin_13nanargmin_2d_float_axis1, METH_O, __pyx_doc_9nanargmin_12nanargmin_2d_float_axis1}; +static PyObject *__pyx_pw_9nanargmin_13nanargmin_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_int_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_12nanargmin_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_float_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_12nanargmin_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3600,10 +3785,10 @@ static PyObject *__pyx_pw_9nanargmin_13nanargmin_2d_int_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amin; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amin; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -3631,7 +3816,7 @@ static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_int_axis0(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3642,29 +3827,29 @@ static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_int_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":280 - * def nanargmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Index of max of 2d, int array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":303 + * def nanargmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Index of max of 2d, float array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amin, ai + * cdef np.float_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":282 + /* "nanargmin.pyx":305 * cdef int allnan = 1 - * cdef np.int_t amin, ai + * cdef np.float_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":285 + /* "nanargmin.pyx":308 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3673,50 +3858,50 @@ static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_int_axis0(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":286 + /* "nanargmin.pyx":309 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":287 + /* "nanargmin.pyx":310 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":288 + /* "nanargmin.pyx":311 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ - __pyx_t_1[0] = __pyx_v_n1; + __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":289 + /* "nanargmin.pyx":312 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3724,132 +3909,178 @@ static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_int_axis0(CYTHON_UNUSED PyOb __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":291 + /* "nanargmin.pyx":314 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":292 + /* "nanargmin.pyx":315 * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":293 - * if n0 == 0: + /* "nanargmin.pyx":316 + * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXfloat */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":294 + /* "nanargmin.pyx":317 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXint - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * amin = MAXfloat + * allnan = 1 */ - for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i1 = __pyx_t_6; + for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanargmin.pyx":295 + /* "nanargmin.pyx":318 * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXfloat # <<<<<<<<<<<<<< + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): + */ + __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat; + + /* "nanargmin.pyx":319 + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXfloat + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint; + __pyx_v_allnan = 1; - /* "nanargmin.pyx":296 - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + /* "nanargmin.pyx":320 + * amin = MAXfloat + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i0 = __pyx_t_7; + for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanargmin.pyx":297 - * amin = MAXint - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmin.pyx":321 + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":298 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmin.pyx":322 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * idx = i0 + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":299 + /* "nanargmin.pyx":323 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * idx = i0 - * y[i1] = idx + * allnan = 0 + * idx = i1 */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":300 + /* "nanargmin.pyx":324 * if ai <= amin: * amin = ai - * idx = i0 # <<<<<<<<<<<<<< - * y[i1] = idx - * return y + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i1 + * if allnan == 0: */ - __pyx_v_idx = __pyx_v_i0; + __pyx_v_allnan = 0; + + /* "nanargmin.pyx":325 + * amin = ai + * allnan = 0 + * idx = i1 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = idx + */ + __pyx_v_idx = __pyx_v_i1; goto __pyx_L8; } __pyx_L8:; } - /* "nanargmin.pyx":301 - * amin = ai - * idx = i0 - * y[i1] = idx # <<<<<<<<<<<<<< + /* "nanargmin.pyx":326 + * allnan = 0 + * idx = i1 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = idx + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanargmin.pyx":327 + * idx = i1 + * if allnan == 0: + * y[i0] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { + + /* "nanargmin.pyx":329 + * y[i0] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; } - /* "nanargmin.pyx":302 - * idx = i0 - * y[i1] = idx + /* "nanargmin.pyx":330 + * else: + * raise ValueError("All-NaN slice encountered") * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3859,11 +4090,11 @@ static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_int_axis0(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmin.pyx":278 + /* "nanargmin.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=0 ignoring NaNs." + * def nanargmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -3876,7 +4107,7 @@ static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_int_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3890,27 +4121,27 @@ static PyObject *__pyx_pf_9nanargmin_12nanargmin_2d_int_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "nanargmin.pyx":306 +/* "nanargmin.pyx":334 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=1 ignoring NaNs." + * def nanargmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_15nanargmin_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_14nanargmin_2d_int_axis1[] = "nanargmin_2d_int_axis1(ndarray a)\nIndex of max of 2d, int array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_15nanargmin_2d_int_axis1 = {"nanargmin_2d_int_axis1", (PyCFunction)__pyx_pw_9nanargmin_15nanargmin_2d_int_axis1, METH_O, __pyx_doc_9nanargmin_14nanargmin_2d_int_axis1}; -static PyObject *__pyx_pw_9nanargmin_15nanargmin_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_15nanargmin_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_14nanargmin_2d_float32_axis0[] = "nanargmin_2d_float32_axis0(ndarray a)\nIndex of max of 2d, float32 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_15nanargmin_2d_float32_axis0 = {"nanargmin_2d_float32_axis0", (PyCFunction)__pyx_pw_9nanargmin_15nanargmin_2d_float32_axis0, METH_O, __pyx_doc_9nanargmin_14nanargmin_2d_float32_axis0}; +static PyObject *__pyx_pw_9nanargmin_15nanargmin_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_int_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_14nanargmin_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_14nanargmin_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3921,10 +4152,10 @@ static PyObject *__pyx_pw_9nanargmin_15nanargmin_2d_int_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amin; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amin; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -3952,7 +4183,7 @@ static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_int_axis1(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3963,29 +4194,29 @@ static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_int_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":308 - * def nanargmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Index of max of 2d, int array along axis=1 ignoring NaNs." + /* "nanargmin.pyx":336 + * def nanargmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amin, ai + * cdef np.float32_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":310 + /* "nanargmin.pyx":338 * cdef int allnan = 1 - * cdef np.int_t amin, ai + * cdef np.float32_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":313 + /* "nanargmin.pyx":341 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3994,50 +4225,50 @@ static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_int_axis1(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":314 + /* "nanargmin.pyx":342 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":315 + /* "nanargmin.pyx":343 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":316 + /* "nanargmin.pyx":344 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ - __pyx_t_1[0] = __pyx_v_n0; + __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":317 + /* "nanargmin.pyx":345 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) - * if n1 == 0: + * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4045,132 +4276,178 @@ static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_int_axis1(CYTHON_UNUSED PyOb __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":319 + /* "nanargmin.pyx":347 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":320 + /* "nanargmin.pyx":348 * NPY_intp, 0) - * if n1 == 0: + * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":321 - * if n1 == 0: + /* "nanargmin.pyx":349 + * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXfloat32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":322 + /* "nanargmin.pyx":350 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXint - * for i1 in range(n1 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + * amin = MAXfloat32 + * allnan = 1 */ - for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i0 = __pyx_t_6; + for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanargmin.pyx":323 + /* "nanargmin.pyx":351 * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXfloat32 # <<<<<<<<<<<<<< + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): + */ + __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat32; + + /* "nanargmin.pyx":352 + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXfloat32 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint; + __pyx_v_allnan = 1; - /* "nanargmin.pyx":324 - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + /* "nanargmin.pyx":353 + * amin = MAXfloat32 + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i1 = __pyx_t_7; + for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanargmin.pyx":325 - * amin = MAXint - * for i1 in range(n1 - 1, -1, -1): + /* "nanargmin.pyx":354 + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":326 - * for i1 in range(n1 - 1, -1, -1): + /* "nanargmin.pyx":355 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * idx = i1 + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":327 + /* "nanargmin.pyx":356 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * idx = i1 - * y[i0] = idx + * allnan = 0 + * idx = i0 */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":328 + /* "nanargmin.pyx":357 * if ai <= amin: * amin = ai - * idx = i1 # <<<<<<<<<<<<<< - * y[i0] = idx - * return y + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: */ - __pyx_v_idx = __pyx_v_i1; + __pyx_v_allnan = 0; + + /* "nanargmin.pyx":358 + * amin = ai + * allnan = 0 + * idx = i0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = idx + */ + __pyx_v_idx = __pyx_v_i0; goto __pyx_L8; } __pyx_L8:; } - /* "nanargmin.pyx":329 - * amin = ai - * idx = i1 - * y[i0] = idx # <<<<<<<<<<<<<< + /* "nanargmin.pyx":359 + * allnan = 0 + * idx = i0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = idx + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanargmin.pyx":360 + * idx = i0 + * if allnan == 0: + * y[i1] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { + + /* "nanargmin.pyx":362 + * y[i1] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; } - /* "nanargmin.pyx":330 - * idx = i1 - * y[i0] = idx + /* "nanargmin.pyx":363 + * else: + * raise ValueError("All-NaN slice encountered") * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4180,11 +4457,11 @@ static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_int_axis1(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmin.pyx":306 + /* "nanargmin.pyx":334 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=1 ignoring NaNs." + * def nanargmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -4197,7 +4474,7 @@ static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_int_axis1(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4211,27 +4488,27 @@ static PyObject *__pyx_pf_9nanargmin_14nanargmin_2d_int_axis1(CYTHON_UNUSED PyOb return __pyx_r; } -/* "nanargmin.pyx":334 +/* "nanargmin.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_17nanargmin_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_16nanargmin_2d_int8_axis0[] = "nanargmin_2d_int8_axis0(ndarray a)\nIndex of max of 2d, int8 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_17nanargmin_2d_int8_axis0 = {"nanargmin_2d_int8_axis0", (PyCFunction)__pyx_pw_9nanargmin_17nanargmin_2d_int8_axis0, METH_O, __pyx_doc_9nanargmin_16nanargmin_2d_int8_axis0}; -static PyObject *__pyx_pw_9nanargmin_17nanargmin_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_17nanargmin_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_16nanargmin_2d_float32_axis1[] = "nanargmin_2d_float32_axis1(ndarray a)\nIndex of max of 2d, float32 array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_17nanargmin_2d_float32_axis1 = {"nanargmin_2d_float32_axis1", (PyCFunction)__pyx_pw_9nanargmin_17nanargmin_2d_float32_axis1, METH_O, __pyx_doc_9nanargmin_16nanargmin_2d_float32_axis1}; +static PyObject *__pyx_pw_9nanargmin_17nanargmin_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_16nanargmin_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_float32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_16nanargmin_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4242,10 +4519,10 @@ static PyObject *__pyx_pw_9nanargmin_17nanargmin_2d_int8_axis0(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amin; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amin; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -4273,7 +4550,7 @@ static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_int8_axis0(CYTHON_UNUSED PyO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4284,29 +4561,29 @@ static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_int8_axis0(CYTHON_UNUSED PyO __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":336 - * def nanargmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":369 + * def nanargmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amin, ai + * cdef np.float32_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":338 + /* "nanargmin.pyx":371 * cdef int allnan = 1 - * cdef np.int8_t amin, ai + * cdef np.float32_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":341 + /* "nanargmin.pyx":374 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4315,50 +4592,50 @@ static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_int8_axis0(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":342 + /* "nanargmin.pyx":375 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":343 + /* "nanargmin.pyx":376 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":344 + /* "nanargmin.pyx":377 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ - __pyx_t_1[0] = __pyx_v_n1; + __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":345 + /* "nanargmin.pyx":378 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4366,132 +4643,178 @@ static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_int8_axis0(CYTHON_UNUSED PyO __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":347 + /* "nanargmin.pyx":380 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":348 + /* "nanargmin.pyx":381 * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":349 - * if n0 == 0: + /* "nanargmin.pyx":382 + * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint8 + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXfloat32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":350 + /* "nanargmin.pyx":383 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXint8 - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * amin = MAXfloat32 + * allnan = 1 */ - for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i1 = __pyx_t_6; + for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanargmin.pyx":351 + /* "nanargmin.pyx":384 * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint8 # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXfloat32 # <<<<<<<<<<<<<< + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): + */ + __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat32; + + /* "nanargmin.pyx":385 + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXfloat32 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint8; + __pyx_v_allnan = 1; - /* "nanargmin.pyx":352 - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint8 - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + /* "nanargmin.pyx":386 + * amin = MAXfloat32 + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i0 = __pyx_t_7; + for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanargmin.pyx":353 - * amin = MAXint8 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmin.pyx":387 + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":354 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmin.pyx":388 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * idx = i0 + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":355 + /* "nanargmin.pyx":389 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * idx = i0 - * y[i1] = idx + * allnan = 0 + * idx = i1 */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":356 + /* "nanargmin.pyx":390 * if ai <= amin: * amin = ai - * idx = i0 # <<<<<<<<<<<<<< - * y[i1] = idx - * return y + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i1 + * if allnan == 0: */ - __pyx_v_idx = __pyx_v_i0; + __pyx_v_allnan = 0; + + /* "nanargmin.pyx":391 + * amin = ai + * allnan = 0 + * idx = i1 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = idx + */ + __pyx_v_idx = __pyx_v_i1; goto __pyx_L8; } __pyx_L8:; } - /* "nanargmin.pyx":357 - * amin = ai - * idx = i0 - * y[i1] = idx # <<<<<<<<<<<<<< + /* "nanargmin.pyx":392 + * allnan = 0 + * idx = i1 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = idx + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanargmin.pyx":393 + * idx = i1 + * if allnan == 0: + * y[i0] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { + + /* "nanargmin.pyx":395 + * y[i0] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; } - /* "nanargmin.pyx":358 - * idx = i0 - * y[i1] = idx + /* "nanargmin.pyx":396 + * else: + * raise ValueError("All-NaN slice encountered") * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4501,11 +4824,11 @@ static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_int8_axis0(CYTHON_UNUSED PyO __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmin.pyx":334 + /* "nanargmin.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -4518,7 +4841,7 @@ static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_int8_axis0(CYTHON_UNUSED PyO __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4532,27 +4855,27 @@ static PyObject *__pyx_pf_9nanargmin_16nanargmin_2d_int8_axis0(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanargmin.pyx":362 +/* "nanargmin.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." + * def nanargmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_19nanargmin_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_18nanargmin_2d_int8_axis1[] = "nanargmin_2d_int8_axis1(ndarray a)\nIndex of max of 2d, int8 array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_19nanargmin_2d_int8_axis1 = {"nanargmin_2d_int8_axis1", (PyCFunction)__pyx_pw_9nanargmin_19nanargmin_2d_int8_axis1, METH_O, __pyx_doc_9nanargmin_18nanargmin_2d_int8_axis1}; -static PyObject *__pyx_pw_9nanargmin_19nanargmin_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_19nanargmin_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_18nanargmin_2d_float64_axis0[] = "nanargmin_2d_float64_axis0(ndarray a)\nIndex of max of 2d, float64 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_19nanargmin_2d_float64_axis0 = {"nanargmin_2d_float64_axis0", (PyCFunction)__pyx_pw_9nanargmin_19nanargmin_2d_float64_axis0, METH_O, __pyx_doc_9nanargmin_18nanargmin_2d_float64_axis0}; +static PyObject *__pyx_pw_9nanargmin_19nanargmin_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_int8_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_18nanargmin_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_18nanargmin_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4563,10 +4886,10 @@ static PyObject *__pyx_pw_9nanargmin_19nanargmin_2d_int8_axis1(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_18nanargmin_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amin; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_18nanargmin_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_amin; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -4594,7 +4917,7 @@ static PyObject *__pyx_pf_9nanargmin_18nanargmin_2d_int8_axis1(CYTHON_UNUSED PyO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4605,29 +4928,29 @@ static PyObject *__pyx_pf_9nanargmin_18nanargmin_2d_int8_axis1(CYTHON_UNUSED PyO __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":364 - * def nanargmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." + /* "nanargmin.pyx":402 + * def nanargmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amin, ai + * cdef np.float64_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":366 + /* "nanargmin.pyx":404 * cdef int allnan = 1 - * cdef np.int8_t amin, ai + * cdef np.float64_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":369 + /* "nanargmin.pyx":407 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4636,50 +4959,50 @@ static PyObject *__pyx_pf_9nanargmin_18nanargmin_2d_int8_axis1(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":370 + /* "nanargmin.pyx":408 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":371 + /* "nanargmin.pyx":409 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":372 + /* "nanargmin.pyx":410 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ - __pyx_t_1[0] = __pyx_v_n0; + __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":373 + /* "nanargmin.pyx":411 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) - * if n1 == 0: + * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4687,146 +5010,192 @@ static PyObject *__pyx_pf_9nanargmin_18nanargmin_2d_int8_axis1(CYTHON_UNUSED PyO __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":375 + /* "nanargmin.pyx":413 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":376 + /* "nanargmin.pyx":414 * NPY_intp, 0) - * if n1 == 0: + * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":377 - * if n1 == 0: + /* "nanargmin.pyx":415 + * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint8 + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXfloat64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":378 + /* "nanargmin.pyx":416 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXint8 - * for i1 in range(n1 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + * amin = MAXfloat64 + * allnan = 1 */ - for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i0 = __pyx_t_6; + for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanargmin.pyx":379 + /* "nanargmin.pyx":417 * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint8 # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXfloat64 # <<<<<<<<<<<<<< + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): + */ + __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat64; + + /* "nanargmin.pyx":418 + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXfloat64 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint8; + __pyx_v_allnan = 1; - /* "nanargmin.pyx":380 - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint8 - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + /* "nanargmin.pyx":419 + * amin = MAXfloat64 + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i1 = __pyx_t_7; + for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanargmin.pyx":381 - * amin = MAXint8 - * for i1 in range(n1 - 1, -1, -1): + /* "nanargmin.pyx":420 + * allnan = 1 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":382 - * for i1 in range(n1 - 1, -1, -1): + /* "nanargmin.pyx":421 + * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * idx = i1 + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":383 + /* "nanargmin.pyx":422 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * idx = i1 - * y[i0] = idx + * allnan = 0 + * idx = i0 */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":384 + /* "nanargmin.pyx":423 * if ai <= amin: * amin = ai - * idx = i1 # <<<<<<<<<<<<<< - * y[i0] = idx - * return y + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i0 + * if allnan == 0: */ - __pyx_v_idx = __pyx_v_i1; + __pyx_v_allnan = 0; + + /* "nanargmin.pyx":424 + * amin = ai + * allnan = 0 + * idx = i0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = idx + */ + __pyx_v_idx = __pyx_v_i0; goto __pyx_L8; } __pyx_L8:; } - /* "nanargmin.pyx":385 - * amin = ai - * idx = i1 - * y[i0] = idx # <<<<<<<<<<<<<< - * return y - * + /* "nanargmin.pyx":425 + * allnan = 0 + * idx = i0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = idx + * else: */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - } + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { - /* "nanargmin.pyx":386 - * idx = i1 - * y[i0] = idx - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + /* "nanargmin.pyx":426 + * idx = i0 + * if allnan == 0: + * y[i1] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { - /* "nanargmin.pyx":362 + /* "nanargmin.pyx":428 + * y[i1] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; + } + + /* "nanargmin.pyx":429 + * else: + * raise ValueError("All-NaN slice encountered") + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "nanargmin.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." + * def nanargmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -4839,7 +5208,7 @@ static PyObject *__pyx_pf_9nanargmin_18nanargmin_2d_int8_axis1(CYTHON_UNUSED PyO __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4853,27 +5222,27 @@ static PyObject *__pyx_pf_9nanargmin_18nanargmin_2d_int8_axis1(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanargmin.pyx":390 +/* "nanargmin.pyx":433 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_21nanargmin_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_20nanargmin_2d_int32_axis0[] = "nanargmin_2d_int32_axis0(ndarray a)\nIndex of max of 2d, int32 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_21nanargmin_2d_int32_axis0 = {"nanargmin_2d_int32_axis0", (PyCFunction)__pyx_pw_9nanargmin_21nanargmin_2d_int32_axis0, METH_O, __pyx_doc_9nanargmin_20nanargmin_2d_int32_axis0}; -static PyObject *__pyx_pw_9nanargmin_21nanargmin_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_21nanargmin_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_20nanargmin_2d_float64_axis1[] = "nanargmin_2d_float64_axis1(ndarray a)\nIndex of max of 2d, float64 array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_21nanargmin_2d_float64_axis1 = {"nanargmin_2d_float64_axis1", (PyCFunction)__pyx_pw_9nanargmin_21nanargmin_2d_float64_axis1, METH_O, __pyx_doc_9nanargmin_20nanargmin_2d_float64_axis1}; +static PyObject *__pyx_pw_9nanargmin_21nanargmin_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_20nanargmin_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_float64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_20nanargmin_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4884,10 +5253,10 @@ static PyObject *__pyx_pw_9nanargmin_21nanargmin_2d_int32_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amin; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_amin; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -4915,7 +5284,7 @@ static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_int32_axis0(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4926,29 +5295,29 @@ static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_int32_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":392 - * def nanargmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":435 + * def nanargmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amin, ai + * cdef np.float64_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":394 + /* "nanargmin.pyx":437 * cdef int allnan = 1 - * cdef np.int32_t amin, ai + * cdef np.float64_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":397 + /* "nanargmin.pyx":440 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4957,50 +5326,50 @@ static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_int32_axis0(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":398 + /* "nanargmin.pyx":441 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":399 + /* "nanargmin.pyx":442 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":400 + /* "nanargmin.pyx":443 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) */ - __pyx_t_1[0] = __pyx_v_n1; + __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":401 + /* "nanargmin.pyx":444 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -5008,132 +5377,178 @@ static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_int32_axis0(CYTHON_UNUSED Py __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":403 + /* "nanargmin.pyx":446 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":404 + /* "nanargmin.pyx":447 * NPY_intp, 0) - * if n0 == 0: + * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":405 - * if n0 == 0: + /* "nanargmin.pyx":448 + * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint32 + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXfloat64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":406 + /* "nanargmin.pyx":449 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXint32 - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * amin = MAXfloat64 + * allnan = 1 */ - for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i1 = __pyx_t_6; + for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanargmin.pyx":407 + /* "nanargmin.pyx":450 * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint32 # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXfloat64 # <<<<<<<<<<<<<< + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): + */ + __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat64; + + /* "nanargmin.pyx":451 + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXfloat64 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint32; + __pyx_v_allnan = 1; - /* "nanargmin.pyx":408 - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint32 - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + /* "nanargmin.pyx":452 + * amin = MAXfloat64 + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i0 = __pyx_t_7; + for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanargmin.pyx":409 - * amin = MAXint32 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmin.pyx":453 + * allnan = 1 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":410 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmin.pyx":454 + * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * idx = i0 + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":411 + /* "nanargmin.pyx":455 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * idx = i0 - * y[i1] = idx + * allnan = 0 + * idx = i1 */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":412 + /* "nanargmin.pyx":456 * if ai <= amin: * amin = ai - * idx = i0 # <<<<<<<<<<<<<< - * y[i1] = idx - * return y + * allnan = 0 # <<<<<<<<<<<<<< + * idx = i1 + * if allnan == 0: */ - __pyx_v_idx = __pyx_v_i0; + __pyx_v_allnan = 0; + + /* "nanargmin.pyx":457 + * amin = ai + * allnan = 0 + * idx = i1 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = idx + */ + __pyx_v_idx = __pyx_v_i1; goto __pyx_L8; } __pyx_L8:; } - /* "nanargmin.pyx":413 - * amin = ai - * idx = i0 - * y[i1] = idx # <<<<<<<<<<<<<< + /* "nanargmin.pyx":458 + * allnan = 0 + * idx = i1 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = idx + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanargmin.pyx":459 + * idx = i1 + * if allnan == 0: + * y[i0] = idx # <<<<<<<<<<<<<< + * else: + * raise ValueError("All-NaN slice encountered") + */ + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + goto __pyx_L9; + } + /*else*/ { + + /* "nanargmin.pyx":461 + * y[i0] = idx + * else: + * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_L9:; } - /* "nanargmin.pyx":414 - * idx = i0 - * y[i1] = idx + /* "nanargmin.pyx":462 + * else: + * raise ValueError("All-NaN slice encountered") * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -5143,11 +5558,11 @@ static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_int32_axis0(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmin.pyx":390 + /* "nanargmin.pyx":433 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -5160,7 +5575,7 @@ static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_int32_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5174,27 +5589,27 @@ static PyObject *__pyx_pf_9nanargmin_20nanargmin_2d_int32_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "nanargmin.pyx":418 +/* "nanargmin.pyx":466 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." + * def nanargmin_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_23nanargmin_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_22nanargmin_2d_int32_axis1[] = "nanargmin_2d_int32_axis1(ndarray a)\nIndex of max of 2d, int32 array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_23nanargmin_2d_int32_axis1 = {"nanargmin_2d_int32_axis1", (PyCFunction)__pyx_pw_9nanargmin_23nanargmin_2d_int32_axis1, METH_O, __pyx_doc_9nanargmin_22nanargmin_2d_int32_axis1}; -static PyObject *__pyx_pw_9nanargmin_23nanargmin_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_23nanargmin_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_22nanargmin_1d_int_axis0[] = "nanargmin_1d_int_axis0(ndarray a)\nIndex of max of 1d, int array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_23nanargmin_1d_int_axis0 = {"nanargmin_1d_int_axis0", (PyCFunction)__pyx_pw_9nanargmin_23nanargmin_1d_int_axis0, METH_O, __pyx_doc_9nanargmin_22nanargmin_1d_int_axis0}; +static PyObject *__pyx_pw_9nanargmin_23nanargmin_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_int32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_22nanargmin_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_1d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_22nanargmin_1d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5205,317 +5620,277 @@ static PyObject *__pyx_pw_9nanargmin_23nanargmin_2d_int32_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_22nanargmin_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_9nanargmin_22nanargmin_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amin; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_int_t __pyx_v_amin; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_int32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanargmin_1d_int_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmin.pyx":420 - * def nanargmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." + /* "nanargmin.pyx":468 + * def nanargmin_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): + * "Index of max of 1d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amin, ai + * cdef np.int_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":422 + /* "nanargmin.pyx":470 * cdef int allnan = 1 - * cdef np.int32_t amin, ai + * cdef np.int_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":425 - * cdef Py_ssize_t i0, i1 + /* "nanargmin.pyx":473 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":426 + /* "nanargmin.pyx":474 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 == 0: + * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":427 + /* "nanargmin.pyx":475 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanargmin.pyx":428 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nanargmin.pyx":429 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_intp, 0) - * if n1 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanargmin.pyx":431 - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanargmin.pyx":432 - * NPY_intp, 0) - * if n1 == 0: + /* "nanargmin.pyx":476 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): + * amin = MAXint */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":433 - * if n1 == 0: + /* "nanargmin.pyx":477 + * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint32 + * amin = MAXint + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":434 + /* "nanargmin.pyx":478 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXint32 - * for i1 in range(n1 - 1, -1, -1): + * amin = MAXint # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint; - /* "nanargmin.pyx":435 + /* "nanargmin.pyx":479 * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint32 # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] - */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint32; - - /* "nanargmin.pyx":436 - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint32 - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai <= amin: - */ - for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanargmin.pyx":437 - * amin = MAXint32 - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + * amin = MAXint + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai <= amin: */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanargmin.pyx":438 - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * idx = i1 + /* "nanargmin.pyx":480 + * amin = MAXint + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmin.pyx":439 - * ai = a[i0, i1] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * idx = i1 - * y[i0] = idx + /* "nanargmin.pyx":481 + * for i0 in range(n0): + * ai = a[i0] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * idx = i0 */ - __pyx_v_amin = __pyx_v_ai; + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanargmin.pyx":440 - * if ai <= amin: - * amin = ai - * idx = i1 # <<<<<<<<<<<<<< - * y[i0] = idx - * return y + /* "nanargmin.pyx":482 + * ai = a[i0] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * idx = i0 + * return np.intp(idx) */ - __pyx_v_idx = __pyx_v_i1; - goto __pyx_L8; - } - __pyx_L8:; - } + __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":441 - * amin = ai - * idx = i1 - * y[i0] = idx # <<<<<<<<<<<<<< - * return y + /* "nanargmin.pyx":483 + * if ai <= amin: + * amin = ai + * idx = i0 # <<<<<<<<<<<<<< + * return np.intp(idx) * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_v_idx = __pyx_v_i0; + goto __pyx_L6; + } + __pyx_L6:; } - /* "nanargmin.pyx":442 - * idx = i1 - * y[i0] = idx - * return y # <<<<<<<<<<<<<< + /* "nanargmin.pyx":484 + * amin = ai + * idx = i0 + * return np.intp(idx) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanargmin.pyx":418 + /* "nanargmin.pyx":466 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." + * def nanargmin_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmin.pyx":446 +/* "nanargmin.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." + * def nanargmin_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_25nanargmin_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_24nanargmin_2d_int64_axis0[] = "nanargmin_2d_int64_axis0(ndarray a)\nIndex of max of 2d, int64 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_25nanargmin_2d_int64_axis0 = {"nanargmin_2d_int64_axis0", (PyCFunction)__pyx_pw_9nanargmin_25nanargmin_2d_int64_axis0, METH_O, __pyx_doc_9nanargmin_24nanargmin_2d_int64_axis0}; -static PyObject *__pyx_pw_9nanargmin_25nanargmin_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_25nanargmin_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_24nanargmin_1d_int8_axis0[] = "nanargmin_1d_int8_axis0(ndarray a)\nIndex of max of 1d, int8 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_25nanargmin_1d_int8_axis0 = {"nanargmin_1d_int8_axis0", (PyCFunction)__pyx_pw_9nanargmin_25nanargmin_1d_int8_axis0, METH_O, __pyx_doc_9nanargmin_24nanargmin_1d_int8_axis0}; +static PyObject *__pyx_pw_9nanargmin_25nanargmin_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_24nanargmin_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_1d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_24nanargmin_1d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5526,317 +5901,277 @@ static PyObject *__pyx_pw_9nanargmin_25nanargmin_2d_int64_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_24nanargmin_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_9nanargmin_24nanargmin_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amin; - __pyx_t_5numpy_int64_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_amin; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanargmin_1d_int8_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmin.pyx":448 - * def nanargmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." - * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amin, ai + /* "nanargmin.pyx":490 + * def nanargmin_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): + * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + * cdef int allnan = 1 # <<<<<<<<<<<<<< + * cdef np.int8_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":450 + /* "nanargmin.pyx":492 * cdef int allnan = 1 - * cdef np.int64_t amin, ai + * cdef np.int8_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":453 - * cdef Py_ssize_t i0, i1 + /* "nanargmin.pyx":495 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":454 + /* "nanargmin.pyx":496 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 == 0: + * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":455 + /* "nanargmin.pyx":497 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanargmin.pyx":456 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "nanargmin.pyx":457 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_intp, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanargmin.pyx":459 - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanargmin.pyx":460 - * NPY_intp, 0) + /* "nanargmin.pyx":498 + * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): + * amin = MAXint8 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":461 + /* "nanargmin.pyx":499 * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint64 + * amin = MAXint8 + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":462 + /* "nanargmin.pyx":500 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXint64 - * for i0 in range(n0 - 1, -1, -1): + * amin = MAXint8 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint8; - /* "nanargmin.pyx":463 + /* "nanargmin.pyx":501 * raise ValueError(msg) - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint64 # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0, i1] - */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint64; - - /* "nanargmin.pyx":464 - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXint64 - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai <= amin: - */ - for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanargmin.pyx":465 - * amin = MAXint64 - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + * amin = MAXint8 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai <= amin: */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanargmin.pyx":466 - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0, i1] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * idx = i0 + /* "nanargmin.pyx":502 + * amin = MAXint8 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmin.pyx":467 - * ai = a[i0, i1] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * idx = i0 - * y[i1] = idx + /* "nanargmin.pyx":503 + * for i0 in range(n0): + * ai = a[i0] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * idx = i0 */ - __pyx_v_amin = __pyx_v_ai; + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanargmin.pyx":468 - * if ai <= amin: - * amin = ai - * idx = i0 # <<<<<<<<<<<<<< - * y[i1] = idx - * return y + /* "nanargmin.pyx":504 + * ai = a[i0] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * idx = i0 + * return np.intp(idx) */ - __pyx_v_idx = __pyx_v_i0; - goto __pyx_L8; - } - __pyx_L8:; - } + __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":469 - * amin = ai - * idx = i0 - * y[i1] = idx # <<<<<<<<<<<<<< - * return y + /* "nanargmin.pyx":505 + * if ai <= amin: + * amin = ai + * idx = i0 # <<<<<<<<<<<<<< + * return np.intp(idx) * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_v_idx = __pyx_v_i0; + goto __pyx_L6; + } + __pyx_L6:; } - /* "nanargmin.pyx":470 - * idx = i0 - * y[i1] = idx - * return y # <<<<<<<<<<<<<< + /* "nanargmin.pyx":506 + * amin = ai + * idx = i0 + * return np.intp(idx) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanargmin.pyx":446 + /* "nanargmin.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." + * def nanargmin_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmin.pyx":474 +/* "nanargmin.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." + * def nanargmin_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_27nanargmin_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_26nanargmin_2d_int64_axis1[] = "nanargmin_2d_int64_axis1(ndarray a)\nIndex of max of 2d, int64 array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_27nanargmin_2d_int64_axis1 = {"nanargmin_2d_int64_axis1", (PyCFunction)__pyx_pw_9nanargmin_27nanargmin_2d_int64_axis1, METH_O, __pyx_doc_9nanargmin_26nanargmin_2d_int64_axis1}; -static PyObject *__pyx_pw_9nanargmin_27nanargmin_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_27nanargmin_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_26nanargmin_1d_int32_axis0[] = "nanargmin_1d_int32_axis0(ndarray a)\nIndex of max of 1d, int32 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_27nanargmin_1d_int32_axis0 = {"nanargmin_1d_int32_axis0", (PyCFunction)__pyx_pw_9nanargmin_27nanargmin_1d_int32_axis0, METH_O, __pyx_doc_9nanargmin_26nanargmin_1d_int32_axis0}; +static PyObject *__pyx_pw_9nanargmin_27nanargmin_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_26nanargmin_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_1d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_26nanargmin_1d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5847,317 +6182,277 @@ static PyObject *__pyx_pw_9nanargmin_27nanargmin_2d_int64_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_26nanargmin_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_9nanargmin_26nanargmin_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amin; - __pyx_t_5numpy_int64_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_amin; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanargmin_1d_int32_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmin.pyx":476 - * def nanargmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." + /* "nanargmin.pyx":512 + * def nanargmin_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): + * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amin, ai + * cdef np.int32_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":478 + /* "nanargmin.pyx":514 * cdef int allnan = 1 - * cdef np.int64_t amin, ai + * cdef np.int32_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":481 - * cdef Py_ssize_t i0, i1 + /* "nanargmin.pyx":517 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":482 + /* "nanargmin.pyx":518 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 == 0: + * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":483 + /* "nanargmin.pyx":519 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanargmin.pyx":484 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nanargmin.pyx":485 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_intp, 0) - * if n1 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanargmin.pyx":487 - * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_intp, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanargmin.pyx":488 - * NPY_intp, 0) - * if n1 == 0: + /* "nanargmin.pyx":520 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): + * amin = MAXint32 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":489 - * if n1 == 0: + /* "nanargmin.pyx":521 + * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint64 + * amin = MAXint32 + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":490 + /* "nanargmin.pyx":522 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXint64 - * for i1 in range(n1 - 1, -1, -1): + * amin = MAXint32 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint32; - /* "nanargmin.pyx":491 + /* "nanargmin.pyx":523 * raise ValueError(msg) - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint64 # <<<<<<<<<<<<<< - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] - */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXint64; - - /* "nanargmin.pyx":492 - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXint64 - * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai <= amin: - */ - for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanargmin.pyx":493 - * amin = MAXint64 - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + * amin = MAXint32 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai <= amin: */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanargmin.pyx":494 - * for i1 in range(n1 - 1, -1, -1): - * ai = a[i0, i1] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * idx = i1 + /* "nanargmin.pyx":524 + * amin = MAXint32 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmin.pyx":495 - * ai = a[i0, i1] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * idx = i1 - * y[i0] = idx + /* "nanargmin.pyx":525 + * for i0 in range(n0): + * ai = a[i0] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * idx = i0 */ - __pyx_v_amin = __pyx_v_ai; + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanargmin.pyx":496 - * if ai <= amin: - * amin = ai - * idx = i1 # <<<<<<<<<<<<<< - * y[i0] = idx - * return y + /* "nanargmin.pyx":526 + * ai = a[i0] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * idx = i0 + * return np.intp(idx) */ - __pyx_v_idx = __pyx_v_i1; - goto __pyx_L8; - } - __pyx_L8:; - } + __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":497 - * amin = ai - * idx = i1 - * y[i0] = idx # <<<<<<<<<<<<<< - * return y + /* "nanargmin.pyx":527 + * if ai <= amin: + * amin = ai + * idx = i0 # <<<<<<<<<<<<<< + * return np.intp(idx) * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; + __pyx_v_idx = __pyx_v_i0; + goto __pyx_L6; + } + __pyx_L6:; } - /* "nanargmin.pyx":498 - * idx = i1 - * y[i0] = idx - * return y # <<<<<<<<<<<<<< + /* "nanargmin.pyx":528 + * amin = ai + * idx = i0 + * return np.intp(idx) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanargmin.pyx":474 + /* "nanargmin.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." + * def nanargmin_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmin.pyx":502 +/* "nanargmin.pyx":532 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float array along axis=0 ignoring NaNs." + * def nanargmin_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_29nanargmin_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_28nanargmin_1d_float_axis0[] = "nanargmin_1d_float_axis0(ndarray a)\nIndex of max of 1d, float array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_29nanargmin_1d_float_axis0 = {"nanargmin_1d_float_axis0", (PyCFunction)__pyx_pw_9nanargmin_29nanargmin_1d_float_axis0, METH_O, __pyx_doc_9nanargmin_28nanargmin_1d_float_axis0}; -static PyObject *__pyx_pw_9nanargmin_29nanargmin_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_29nanargmin_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_28nanargmin_1d_int64_axis0[] = "nanargmin_1d_int64_axis0(ndarray a)\nIndex of max of 1d, int64 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_29nanargmin_1d_int64_axis0 = {"nanargmin_1d_int64_axis0", (PyCFunction)__pyx_pw_9nanargmin_29nanargmin_1d_int64_axis0, METH_O, __pyx_doc_9nanargmin_28nanargmin_1d_int64_axis0}; +static PyObject *__pyx_pw_9nanargmin_29nanargmin_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_1d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_28nanargmin_1d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_1d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_28nanargmin_1d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6168,10 +6463,10 @@ static PyObject *__pyx_pw_9nanargmin_29nanargmin_1d_float_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amin; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int64_t __pyx_v_amin; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; @@ -6186,42 +6481,43 @@ static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_float_axis0(CYTHON_UNUSED Py PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_6; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_1d_float_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_1d_int64_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanargmin.pyx":504 - * def nanargmin_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): - * "Index of max of 1d, float array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":534 + * def nanargmin_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): + * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amin, ai + * cdef np.int64_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":506 + /* "nanargmin.pyx":536 * cdef int allnan = 1 - * cdef np.float_t amin, ai + * cdef np.int64_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":509 + /* "nanargmin.pyx":539 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6230,7 +6526,7 @@ static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_float_axis0(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":510 + /* "nanargmin.pyx":540 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -6239,7 +6535,7 @@ static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_float_axis0(CYTHON_UNUSED Py */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":511 + /* "nanargmin.pyx":541 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< @@ -6249,99 +6545,91 @@ static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_float_axis0(CYTHON_UNUSED Py __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanargmin.pyx":512 + /* "nanargmin.pyx":542 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amin = MAXfloat + * amin = MAXint64 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":513 + /* "nanargmin.pyx":543 * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amin = MAXfloat - * for i0 in range(n0 - 1, -1, -1): + * amin = MAXint64 + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":514 + /* "nanargmin.pyx":544 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amin = MAXfloat # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): + * amin = MAXint64 # <<<<<<<<<<<<<< + * for i0 in range(n0): * ai = a[i0] */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint64; - /* "nanargmin.pyx":515 + /* "nanargmin.pyx":545 * raise ValueError(msg) - * amin = MAXfloat - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * amin = MAXint64 + * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0] * if ai <= amin: */ - for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { - __pyx_v_i0 = __pyx_t_4; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanargmin.pyx":516 - * amin = MAXfloat - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmin.pyx":546 + * amin = MAXint64 + * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanargmin.pyx":517 - * for i0 in range(n0 - 1, -1, -1): + /* "nanargmin.pyx":547 + * for i0 in range(n0): * ai = a[i0] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * idx = i0 */ __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_1) { - /* "nanargmin.pyx":518 + /* "nanargmin.pyx":548 * ai = a[i0] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i0 + * return np.intp(idx) */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":519 + /* "nanargmin.pyx":549 * if ai <= amin: * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmin.pyx":520 - * amin = ai - * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.intp(idx) + * return np.intp(idx) + * */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L6; @@ -6349,82 +6637,56 @@ static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_float_axis0(CYTHON_UNUSED Py __pyx_L6:; } - /* "nanargmin.pyx":521 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.intp(idx) - * else: - */ - __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_1) { - - /* "nanargmin.pyx":522 + /* "nanargmin.pyx":550 + * amin = ai * idx = i0 - * if allnan == 0: - * return np.intp(idx) # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_7) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - } - /*else*/ { - - /* "nanargmin.pyx":524 - * return np.intp(idx) - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * return np.intp(idx) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; - /* "nanargmin.pyx":502 + /* "nanargmin.pyx":532 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float array along axis=0 ignoring NaNs." + * def nanargmin_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -6432,14 +6694,14 @@ static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_float_axis0(CYTHON_UNUSED Py __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6451,27 +6713,27 @@ static PyObject *__pyx_pf_9nanargmin_28nanargmin_1d_float_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "nanargmin.pyx":528 +/* "nanargmin.pyx":554 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_31nanargmin_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_30nanargmin_1d_float32_axis0[] = "nanargmin_1d_float32_axis0(ndarray a)\nIndex of max of 1d, float32 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_31nanargmin_1d_float32_axis0 = {"nanargmin_1d_float32_axis0", (PyCFunction)__pyx_pw_9nanargmin_31nanargmin_1d_float32_axis0, METH_O, __pyx_doc_9nanargmin_30nanargmin_1d_float32_axis0}; -static PyObject *__pyx_pw_9nanargmin_31nanargmin_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_31nanargmin_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_30nanargmin_2d_int_axis0[] = "nanargmin_2d_int_axis0(ndarray a)\nIndex of max of 2d, int array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_31nanargmin_2d_int_axis0 = {"nanargmin_2d_int_axis0", (PyCFunction)__pyx_pw_9nanargmin_31nanargmin_2d_int_axis0, METH_O, __pyx_doc_9nanargmin_30nanargmin_2d_int_axis0}; +static PyObject *__pyx_pw_9nanargmin_31nanargmin_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_1d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_30nanargmin_1d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_30nanargmin_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6482,310 +6744,317 @@ static PyObject *__pyx_pw_9nanargmin_31nanargmin_1d_float32_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_30nanargmin_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amin; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_30nanargmin_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int_t __pyx_v_amin; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_1d_float32_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":530 - * def nanargmin_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): - * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":556 + * def nanargmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Index of max of 2d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amin, ai + * cdef np.int_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":532 + /* "nanargmin.pyx":558 * cdef int allnan = 1 - * cdef np.float32_t amin, ai + * cdef np.int_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":535 - * cdef Py_ssize_t i0 + /* "nanargmin.pyx":561 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":536 + /* "nanargmin.pyx":562 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":537 + /* "nanargmin.pyx":563 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanargmin.pyx":564 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "nanargmin.pyx":565 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_intp, 0) + * if n0 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanargmin.pyx":567 + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanargmin.pyx":538 - * cdef Py_ssize_t n0 = dim[0] + /* "nanargmin.pyx":568 + * NPY_intp, 0) * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amin = MAXfloat32 + * for i1 in range(n1 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":539 + /* "nanargmin.pyx":569 * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amin = MAXfloat32 - * for i0 in range(n0 - 1, -1, -1): + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXint */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":540 + /* "nanargmin.pyx":570 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amin = MAXfloat32 # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + * amin = MAXint + * for i0 in range(n0 - 1, -1, -1): */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat32; + for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanargmin.pyx":541 + /* "nanargmin.pyx":571 * raise ValueError(msg) - * amin = MAXfloat32 - * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai <= amin: + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXint # <<<<<<<<<<<<<< + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] */ - for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { - __pyx_v_i0 = __pyx_t_4; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint; - /* "nanargmin.pyx":542 - * amin = MAXfloat32 - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + /* "nanargmin.pyx":572 + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXint + * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai <= amin: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanargmin.pyx":543 - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * allnan = 0 + /* "nanargmin.pyx":573 + * amin = MAXint + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":544 - * ai = a[i0] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * idx = i0 + /* "nanargmin.pyx":574 + * for i0 in range(n0 - 1, -1, -1): + * ai = a[i0, i1] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * idx = i0 */ - __pyx_v_amin = __pyx_v_ai; + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { - /* "nanargmin.pyx":545 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: + /* "nanargmin.pyx":575 + * ai = a[i0, i1] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * idx = i0 + * y[i1] = idx */ - __pyx_v_allnan = 0; + __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":546 - * amin = ai - * allnan = 0 - * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.intp(idx) + /* "nanargmin.pyx":576 + * if ai <= amin: + * amin = ai + * idx = i0 # <<<<<<<<<<<<<< + * y[i1] = idx + * return y */ - __pyx_v_idx = __pyx_v_i0; - goto __pyx_L6; + __pyx_v_idx = __pyx_v_i0; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; - } - - /* "nanargmin.pyx":547 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.intp(idx) - * else: - */ - __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_1) { - /* "nanargmin.pyx":548 - * idx = i0 - * if allnan == 0: - * return np.intp(idx) # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmin.pyx":577 + * amin = ai + * idx = i0 + * y[i1] = idx # <<<<<<<<<<<<<< + * return y + * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_7) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /*else*/ { - /* "nanargmin.pyx":550 - * return np.intp(idx) - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + /* "nanargmin.pyx":578 + * idx = i0 + * y[i1] = idx + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "nanargmin.pyx":528 + /* "nanargmin.pyx":554 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmin.pyx":554 +/* "nanargmin.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_33nanargmin_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_32nanargmin_1d_float64_axis0[] = "nanargmin_1d_float64_axis0(ndarray a)\nIndex of max of 1d, float64 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_33nanargmin_1d_float64_axis0 = {"nanargmin_1d_float64_axis0", (PyCFunction)__pyx_pw_9nanargmin_33nanargmin_1d_float64_axis0, METH_O, __pyx_doc_9nanargmin_32nanargmin_1d_float64_axis0}; -static PyObject *__pyx_pw_9nanargmin_33nanargmin_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_33nanargmin_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_32nanargmin_2d_int_axis1[] = "nanargmin_2d_int_axis1(ndarray a)\nIndex of max of 2d, int array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_33nanargmin_2d_int_axis1 = {"nanargmin_2d_int_axis1", (PyCFunction)__pyx_pw_9nanargmin_33nanargmin_2d_int_axis1, METH_O, __pyx_doc_9nanargmin_32nanargmin_2d_int_axis1}; +static PyObject *__pyx_pw_9nanargmin_33nanargmin_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_1d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_32nanargmin_1d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_32nanargmin_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6796,310 +7065,317 @@ static PyObject *__pyx_pw_9nanargmin_33nanargmin_1d_float64_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_32nanargmin_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amin; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_32nanargmin_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int_t __pyx_v_amin; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_1d_float64_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":556 - * def nanargmin_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): - * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":584 + * def nanargmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Index of max of 2d, int array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amin, ai + * cdef np.int_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":558 + /* "nanargmin.pyx":586 * cdef int allnan = 1 - * cdef np.float64_t amin, ai + * cdef np.int_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":561 - * cdef Py_ssize_t i0 + /* "nanargmin.pyx":589 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":562 + /* "nanargmin.pyx":590 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":563 + /* "nanargmin.pyx":591 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanargmin.pyx":592 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "nanargmin.pyx":593 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_intp, 0) + * if n1 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanargmin.pyx":595 + * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_intp, 0) + * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { - /* "nanargmin.pyx":564 - * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + /* "nanargmin.pyx":596 + * NPY_intp, 0) + * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(msg) - * amin = MAXfloat64 + * for i0 in range(n0 - 1, -1, -1): */ __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":565 - * if n0 == 0: + /* "nanargmin.pyx":597 + * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< - * amin = MAXfloat64 * for i0 in range(n0 - 1, -1, -1): + * amin = MAXint */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":566 + /* "nanargmin.pyx":598 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) - * amin = MAXfloat64 # <<<<<<<<<<<<<< - * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] - */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat64; - - /* "nanargmin.pyx":567 - * raise ValueError(msg) - * amin = MAXfloat64 * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai <= amin: + * amin = MAXint + * for i1 in range(n1 - 1, -1, -1): */ - for (__pyx_t_4 = (__pyx_v_n0 - 1); __pyx_t_4 > -1; __pyx_t_4-=1) { - __pyx_v_i0 = __pyx_t_4; + for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanargmin.pyx":568 - * amin = MAXfloat64 + /* "nanargmin.pyx":599 + * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + * amin = MAXint # <<<<<<<<<<<<<< + * for i1 in range(n1 - 1, -1, -1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_amin = __pyx_v_9nanargmin_MAXint; - /* "nanargmin.pyx":569 + /* "nanargmin.pyx":600 * for i0 in range(n0 - 1, -1, -1): - * ai = a[i0] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * allnan = 0 - */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { - - /* "nanargmin.pyx":570 - * ai = a[i0] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * idx = i0 + * amin = MAXint + * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai <= amin: */ - __pyx_v_amin = __pyx_v_ai; + for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanargmin.pyx":571 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: + /* "nanargmin.pyx":601 + * amin = MAXint + * for i1 in range(n1 - 1, -1, -1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_v_allnan = 0; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":572 - * amin = ai - * allnan = 0 - * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.intp(idx) + /* "nanargmin.pyx":602 + * for i1 in range(n1 - 1, -1, -1): + * ai = a[i0, i1] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * idx = i1 */ - __pyx_v_idx = __pyx_v_i0; - goto __pyx_L6; - } - __pyx_L6:; - } + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { - /* "nanargmin.pyx":573 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.intp(idx) - * else: + /* "nanargmin.pyx":603 + * ai = a[i0, i1] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * idx = i1 + * y[i0] = idx */ - __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_1) { + __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":574 - * idx = i0 - * if allnan == 0: - * return np.intp(idx) # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmin.pyx":604 + * if ai <= amin: + * amin = ai + * idx = i1 # <<<<<<<<<<<<<< + * y[i0] = idx + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_intp); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_idx = __pyx_v_i1; + goto __pyx_L8; } + __pyx_L8:; } - if (!__pyx_t_7) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; + + /* "nanargmin.pyx":605 + * amin = ai + * idx = i1 + * y[i0] = idx # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /*else*/ { - /* "nanargmin.pyx":576 - * return np.intp(idx) - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + /* "nanargmin.pyx":606 + * idx = i1 + * y[i0] = idx + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "nanargmin.pyx":554 + /* "nanargmin.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanargmin.pyx":580 +/* "nanargmin.pyx":610 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=0 ignoring NaNs." + * def nanargmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_35nanargmin_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_34nanargmin_2d_float_axis0[] = "nanargmin_2d_float_axis0(ndarray a)\nIndex of max of 2d, float array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_35nanargmin_2d_float_axis0 = {"nanargmin_2d_float_axis0", (PyCFunction)__pyx_pw_9nanargmin_35nanargmin_2d_float_axis0, METH_O, __pyx_doc_9nanargmin_34nanargmin_2d_float_axis0}; -static PyObject *__pyx_pw_9nanargmin_35nanargmin_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_35nanargmin_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_34nanargmin_2d_int8_axis0[] = "nanargmin_2d_int8_axis0(ndarray a)\nIndex of max of 2d, int8 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_35nanargmin_2d_int8_axis0 = {"nanargmin_2d_int8_axis0", (PyCFunction)__pyx_pw_9nanargmin_35nanargmin_2d_int8_axis0, METH_O, __pyx_doc_9nanargmin_34nanargmin_2d_int8_axis0}; +static PyObject *__pyx_pw_9nanargmin_35nanargmin_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_34nanargmin_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7110,10 +7386,10 @@ static PyObject *__pyx_pw_9nanargmin_35nanargmin_2d_float_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amin; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int8_t __pyx_v_amin; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -7141,7 +7417,7 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_float_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_int8_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -7152,29 +7428,29 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":582 - * def nanargmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Index of max of 2d, float array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":612 + * def nanargmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amin, ai + * cdef np.int8_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":584 + /* "nanargmin.pyx":614 * cdef int allnan = 1 - * cdef np.float_t amin, ai + * cdef np.int8_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":587 + /* "nanargmin.pyx":617 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7183,7 +7459,7 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":588 + /* "nanargmin.pyx":618 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7192,7 +7468,7 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":589 + /* "nanargmin.pyx":619 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7201,7 +7477,7 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":590 + /* "nanargmin.pyx":620 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -7211,22 +7487,22 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":591 + /* "nanargmin.pyx":621 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -7234,7 +7510,7 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":593 + /* "nanargmin.pyx":623 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< @@ -7244,7 +7520,7 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":594 + /* "nanargmin.pyx":624 * NPY_intp, 0) * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -7254,57 +7530,48 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":595 + /* "nanargmin.pyx":625 * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): - * amin = MAXfloat + * amin = MAXint8 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":596 + /* "nanargmin.pyx":626 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXfloat - * allnan = 1 + * amin = MAXint8 + * for i0 in range(n0 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i1 = __pyx_t_6; - /* "nanargmin.pyx":597 + /* "nanargmin.pyx":627 * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): - * amin = MAXfloat # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0 - 1, -1, -1): - */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat; - - /* "nanargmin.pyx":598 - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXfloat - * allnan = 1 # <<<<<<<<<<<<<< + * amin = MAXint8 # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint8; - /* "nanargmin.pyx":599 - * amin = MAXfloat - * allnan = 1 + /* "nanargmin.pyx":628 + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXint8 * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -7312,8 +7579,8 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanargmin.pyx":600 - * allnan = 1 + /* "nanargmin.pyx":629 + * amin = MAXint8 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -7321,42 +7588,33 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":601 + /* "nanargmin.pyx":630 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * idx = i0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":602 + /* "nanargmin.pyx":631 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i0 + * y[i1] = idx */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":603 + /* "nanargmin.pyx":632 * if ai <= amin: * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmin.pyx":604 - * amin = ai - * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = idx + * y[i1] = idx + * return y */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L8; @@ -7364,48 +7622,20 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py __pyx_L8:; } - /* "nanargmin.pyx":605 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmin.pyx":606 + /* "nanargmin.pyx":633 + * amin = ai * idx = i0 - * if allnan == 0: - * y[i1] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; - } - /*else*/ { - - /* "nanargmin.pyx":608 - * y[i1] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * y[i1] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /* "nanargmin.pyx":609 - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmin.pyx":634 + * idx = i0 + * y[i1] = idx * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -7415,11 +7645,11 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmin.pyx":580 + /* "nanargmin.pyx":610 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=0 ignoring NaNs." + * def nanargmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -7432,7 +7662,7 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7446,27 +7676,27 @@ static PyObject *__pyx_pf_9nanargmin_34nanargmin_2d_float_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "nanargmin.pyx":613 +/* "nanargmin.pyx":638 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=1 ignoring NaNs." + * def nanargmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_37nanargmin_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_36nanargmin_2d_float_axis1[] = "nanargmin_2d_float_axis1(ndarray a)\nIndex of max of 2d, float array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_37nanargmin_2d_float_axis1 = {"nanargmin_2d_float_axis1", (PyCFunction)__pyx_pw_9nanargmin_37nanargmin_2d_float_axis1, METH_O, __pyx_doc_9nanargmin_36nanargmin_2d_float_axis1}; -static PyObject *__pyx_pw_9nanargmin_37nanargmin_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_37nanargmin_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_36nanargmin_2d_int8_axis1[] = "nanargmin_2d_int8_axis1(ndarray a)\nIndex of max of 2d, int8 array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_37nanargmin_2d_int8_axis1 = {"nanargmin_2d_int8_axis1", (PyCFunction)__pyx_pw_9nanargmin_37nanargmin_2d_int8_axis1, METH_O, __pyx_doc_9nanargmin_36nanargmin_2d_int8_axis1}; +static PyObject *__pyx_pw_9nanargmin_37nanargmin_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_float_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_int8_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_36nanargmin_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7477,10 +7707,10 @@ static PyObject *__pyx_pw_9nanargmin_37nanargmin_2d_float_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amin; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int8_t __pyx_v_amin; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -7508,7 +7738,7 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_float_axis1", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_int8_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -7519,29 +7749,29 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":615 - * def nanargmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Index of max of 2d, float array along axis=1 ignoring NaNs." + /* "nanargmin.pyx":640 + * def nanargmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amin, ai + * cdef np.int8_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":617 + /* "nanargmin.pyx":642 * cdef int allnan = 1 - * cdef np.float_t amin, ai + * cdef np.int8_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":620 + /* "nanargmin.pyx":645 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7550,7 +7780,7 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":621 + /* "nanargmin.pyx":646 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7559,7 +7789,7 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":622 + /* "nanargmin.pyx":647 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7568,7 +7798,7 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":623 + /* "nanargmin.pyx":648 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -7578,22 +7808,22 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":624 + /* "nanargmin.pyx":649 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -7601,7 +7831,7 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":626 + /* "nanargmin.pyx":651 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n1 == 0: # <<<<<<<<<<<<<< @@ -7611,7 +7841,7 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":627 + /* "nanargmin.pyx":652 * NPY_intp, 0) * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -7621,57 +7851,48 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":628 + /* "nanargmin.pyx":653 * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): - * amin = MAXfloat + * amin = MAXint8 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":629 + /* "nanargmin.pyx":654 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXfloat - * allnan = 1 + * amin = MAXint8 + * for i1 in range(n1 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i0 = __pyx_t_6; - /* "nanargmin.pyx":630 + /* "nanargmin.pyx":655 * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): - * amin = MAXfloat # <<<<<<<<<<<<<< - * allnan = 1 - * for i1 in range(n1 - 1, -1, -1): - */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat; - - /* "nanargmin.pyx":631 - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXfloat - * allnan = 1 # <<<<<<<<<<<<<< + * amin = MAXint8 # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint8; - /* "nanargmin.pyx":632 - * amin = MAXfloat - * allnan = 1 + /* "nanargmin.pyx":656 + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXint8 * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -7679,8 +7900,8 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanargmin.pyx":633 - * allnan = 1 + /* "nanargmin.pyx":657 + * amin = MAXint8 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -7688,42 +7909,33 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":634 + /* "nanargmin.pyx":658 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * idx = i1 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":635 + /* "nanargmin.pyx":659 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * idx = i1 - */ - __pyx_v_amin = __pyx_v_ai; - - /* "nanargmin.pyx":636 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< * idx = i1 - * if allnan == 0: + * y[i0] = idx */ - __pyx_v_allnan = 0; + __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":637 + /* "nanargmin.pyx":660 + * if ai <= amin: * amin = ai - * allnan = 0 * idx = i1 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = idx + * y[i0] = idx + * return y */ __pyx_v_idx = __pyx_v_i1; goto __pyx_L8; @@ -7731,48 +7943,20 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py __pyx_L8:; } - /* "nanargmin.pyx":638 - * allnan = 0 - * idx = i1 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmin.pyx":639 + /* "nanargmin.pyx":661 + * amin = ai * idx = i1 - * if allnan == 0: - * y[i0] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; - } - /*else*/ { - - /* "nanargmin.pyx":641 - * y[i0] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * y[i0] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /* "nanargmin.pyx":642 - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmin.pyx":662 + * idx = i1 + * y[i0] = idx * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -7782,11 +7966,11 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmin.pyx":613 + /* "nanargmin.pyx":638 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=1 ignoring NaNs." + * def nanargmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -7799,7 +7983,7 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7813,27 +7997,27 @@ static PyObject *__pyx_pf_9nanargmin_36nanargmin_2d_float_axis1(CYTHON_UNUSED Py return __pyx_r; } -/* "nanargmin.pyx":646 +/* "nanargmin.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_39nanargmin_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_38nanargmin_2d_float32_axis0[] = "nanargmin_2d_float32_axis0(ndarray a)\nIndex of max of 2d, float32 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_39nanargmin_2d_float32_axis0 = {"nanargmin_2d_float32_axis0", (PyCFunction)__pyx_pw_9nanargmin_39nanargmin_2d_float32_axis0, METH_O, __pyx_doc_9nanargmin_38nanargmin_2d_float32_axis0}; -static PyObject *__pyx_pw_9nanargmin_39nanargmin_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_39nanargmin_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_38nanargmin_2d_int32_axis0[] = "nanargmin_2d_int32_axis0(ndarray a)\nIndex of max of 2d, int32 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_39nanargmin_2d_int32_axis0 = {"nanargmin_2d_int32_axis0", (PyCFunction)__pyx_pw_9nanargmin_39nanargmin_2d_int32_axis0, METH_O, __pyx_doc_9nanargmin_38nanargmin_2d_int32_axis0}; +static PyObject *__pyx_pw_9nanargmin_39nanargmin_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_38nanargmin_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7844,10 +8028,10 @@ static PyObject *__pyx_pw_9nanargmin_39nanargmin_2d_float32_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amin; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int32_t __pyx_v_amin; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -7875,7 +8059,7 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_float32_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_int32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -7886,29 +8070,29 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":648 - * def nanargmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":668 + * def nanargmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amin, ai + * cdef np.int32_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":650 + /* "nanargmin.pyx":670 * cdef int allnan = 1 - * cdef np.float32_t amin, ai + * cdef np.int32_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":653 + /* "nanargmin.pyx":673 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7917,7 +8101,7 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":654 + /* "nanargmin.pyx":674 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7926,7 +8110,7 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":655 + /* "nanargmin.pyx":675 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7935,7 +8119,7 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":656 + /* "nanargmin.pyx":676 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -7945,22 +8129,22 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":657 + /* "nanargmin.pyx":677 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -7968,7 +8152,7 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":659 + /* "nanargmin.pyx":679 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< @@ -7978,7 +8162,7 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":660 + /* "nanargmin.pyx":680 * NPY_intp, 0) * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -7988,57 +8172,48 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":661 + /* "nanargmin.pyx":681 * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): - * amin = MAXfloat32 + * amin = MAXint32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":662 + /* "nanargmin.pyx":682 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXfloat32 - * allnan = 1 + * amin = MAXint32 + * for i0 in range(n0 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i1 = __pyx_t_6; - /* "nanargmin.pyx":663 + /* "nanargmin.pyx":683 * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): - * amin = MAXfloat32 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0 - 1, -1, -1): - */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat32; - - /* "nanargmin.pyx":664 - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXfloat32 - * allnan = 1 # <<<<<<<<<<<<<< + * amin = MAXint32 # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint32; - /* "nanargmin.pyx":665 - * amin = MAXfloat32 - * allnan = 1 + /* "nanargmin.pyx":684 + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXint32 * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -8046,8 +8221,8 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanargmin.pyx":666 - * allnan = 1 + /* "nanargmin.pyx":685 + * amin = MAXint32 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -8055,42 +8230,33 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":667 + /* "nanargmin.pyx":686 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * idx = i0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":668 + /* "nanargmin.pyx":687 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i0 + * y[i1] = idx */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":669 + /* "nanargmin.pyx":688 * if ai <= amin: * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmin.pyx":670 - * amin = ai - * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = idx + * y[i1] = idx + * return y */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L8; @@ -8098,48 +8264,20 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED __pyx_L8:; } - /* "nanargmin.pyx":671 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmin.pyx":672 + /* "nanargmin.pyx":689 + * amin = ai * idx = i0 - * if allnan == 0: - * y[i1] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; - } - /*else*/ { - - /* "nanargmin.pyx":674 - * y[i1] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * y[i1] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /* "nanargmin.pyx":675 - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmin.pyx":690 + * idx = i0 + * y[i1] = idx * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -8149,11 +8287,11 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmin.pyx":646 + /* "nanargmin.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -8166,7 +8304,7 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8180,27 +8318,27 @@ static PyObject *__pyx_pf_9nanargmin_38nanargmin_2d_float32_axis0(CYTHON_UNUSED return __pyx_r; } -/* "nanargmin.pyx":679 +/* "nanargmin.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." + * def nanargmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_41nanargmin_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_40nanargmin_2d_float32_axis1[] = "nanargmin_2d_float32_axis1(ndarray a)\nIndex of max of 2d, float32 array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_41nanargmin_2d_float32_axis1 = {"nanargmin_2d_float32_axis1", (PyCFunction)__pyx_pw_9nanargmin_41nanargmin_2d_float32_axis1, METH_O, __pyx_doc_9nanargmin_40nanargmin_2d_float32_axis1}; -static PyObject *__pyx_pw_9nanargmin_41nanargmin_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_41nanargmin_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_40nanargmin_2d_int32_axis1[] = "nanargmin_2d_int32_axis1(ndarray a)\nIndex of max of 2d, int32 array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_41nanargmin_2d_int32_axis1 = {"nanargmin_2d_int32_axis1", (PyCFunction)__pyx_pw_9nanargmin_41nanargmin_2d_int32_axis1, METH_O, __pyx_doc_9nanargmin_40nanargmin_2d_int32_axis1}; +static PyObject *__pyx_pw_9nanargmin_41nanargmin_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_float32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_int32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_40nanargmin_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8211,10 +8349,10 @@ static PyObject *__pyx_pw_9nanargmin_41nanargmin_2d_float32_axis1(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amin; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int32_t __pyx_v_amin; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -8242,7 +8380,7 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_float32_axis1", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_int32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -8253,29 +8391,29 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":681 - * def nanargmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." + /* "nanargmin.pyx":696 + * def nanargmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amin, ai + * cdef np.int32_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":683 + /* "nanargmin.pyx":698 * cdef int allnan = 1 - * cdef np.float32_t amin, ai + * cdef np.int32_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":686 + /* "nanargmin.pyx":701 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8284,7 +8422,7 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":687 + /* "nanargmin.pyx":702 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -8293,7 +8431,7 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":688 + /* "nanargmin.pyx":703 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -8302,7 +8440,7 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":689 + /* "nanargmin.pyx":704 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -8312,22 +8450,22 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":690 + /* "nanargmin.pyx":705 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -8335,7 +8473,7 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":692 + /* "nanargmin.pyx":707 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n1 == 0: # <<<<<<<<<<<<<< @@ -8345,7 +8483,7 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":693 + /* "nanargmin.pyx":708 * NPY_intp, 0) * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -8355,57 +8493,48 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":694 + /* "nanargmin.pyx":709 * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): - * amin = MAXfloat32 + * amin = MAXint32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":695 + /* "nanargmin.pyx":710 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXfloat32 - * allnan = 1 + * amin = MAXint32 + * for i1 in range(n1 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i0 = __pyx_t_6; - /* "nanargmin.pyx":696 + /* "nanargmin.pyx":711 * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): - * amin = MAXfloat32 # <<<<<<<<<<<<<< - * allnan = 1 - * for i1 in range(n1 - 1, -1, -1): - */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat32; - - /* "nanargmin.pyx":697 - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXfloat32 - * allnan = 1 # <<<<<<<<<<<<<< + * amin = MAXint32 # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint32; - /* "nanargmin.pyx":698 - * amin = MAXfloat32 - * allnan = 1 + /* "nanargmin.pyx":712 + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXint32 * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -8413,8 +8542,8 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanargmin.pyx":699 - * allnan = 1 + /* "nanargmin.pyx":713 + * amin = MAXint32 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -8422,91 +8551,54 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":700 + /* "nanargmin.pyx":714 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * idx = i1 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":701 + /* "nanargmin.pyx":715 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i1 + * y[i0] = idx */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":702 + /* "nanargmin.pyx":716 * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i1 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmin.pyx":703 - * amin = ai - * allnan = 0 - * idx = i1 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = idx - */ - __pyx_v_idx = __pyx_v_i1; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "nanargmin.pyx":704 - * allnan = 0 - * idx = i1 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmin.pyx":705 - * idx = i1 - * if allnan == 0: - * y[i0] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") + * amin = ai + * idx = i1 # <<<<<<<<<<<<<< + * y[i0] = idx + * return y */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; + __pyx_v_idx = __pyx_v_i1; + goto __pyx_L8; + } + __pyx_L8:; } - /*else*/ { - /* "nanargmin.pyx":707 - * y[i0] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + /* "nanargmin.pyx":717 + * amin = ai + * idx = i1 + * y[i0] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /* "nanargmin.pyx":708 - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmin.pyx":718 + * idx = i1 + * y[i0] = idx * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -8516,11 +8608,11 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmin.pyx":679 + /* "nanargmin.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." + * def nanargmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -8533,7 +8625,7 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8547,27 +8639,27 @@ static PyObject *__pyx_pf_9nanargmin_40nanargmin_2d_float32_axis1(CYTHON_UNUSED return __pyx_r; } -/* "nanargmin.pyx":712 +/* "nanargmin.pyx":722 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_43nanargmin_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_42nanargmin_2d_float64_axis0[] = "nanargmin_2d_float64_axis0(ndarray a)\nIndex of max of 2d, float64 array along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_43nanargmin_2d_float64_axis0 = {"nanargmin_2d_float64_axis0", (PyCFunction)__pyx_pw_9nanargmin_43nanargmin_2d_float64_axis0, METH_O, __pyx_doc_9nanargmin_42nanargmin_2d_float64_axis0}; -static PyObject *__pyx_pw_9nanargmin_43nanargmin_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_43nanargmin_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_42nanargmin_2d_int64_axis0[] = "nanargmin_2d_int64_axis0(ndarray a)\nIndex of max of 2d, int64 array along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_43nanargmin_2d_int64_axis0 = {"nanargmin_2d_int64_axis0", (PyCFunction)__pyx_pw_9nanargmin_43nanargmin_2d_int64_axis0, METH_O, __pyx_doc_9nanargmin_42nanargmin_2d_int64_axis0}; +static PyObject *__pyx_pw_9nanargmin_43nanargmin_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_42nanargmin_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8578,10 +8670,10 @@ static PyObject *__pyx_pw_9nanargmin_43nanargmin_2d_float64_axis0(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amin; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int64_t __pyx_v_amin; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -8609,7 +8701,7 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_float64_axis0", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_int64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -8620,29 +8712,29 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":714 - * def nanargmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." + /* "nanargmin.pyx":724 + * def nanargmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amin, ai + * cdef np.int64_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":716 + /* "nanargmin.pyx":726 * cdef int allnan = 1 - * cdef np.float64_t amin, ai + * cdef np.int64_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":719 + /* "nanargmin.pyx":729 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8651,7 +8743,7 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":720 + /* "nanargmin.pyx":730 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -8660,7 +8752,7 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":721 + /* "nanargmin.pyx":731 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -8669,7 +8761,7 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":722 + /* "nanargmin.pyx":732 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -8679,22 +8771,22 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":723 + /* "nanargmin.pyx":733 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -8702,7 +8794,7 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":725 + /* "nanargmin.pyx":735 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n0 == 0: # <<<<<<<<<<<<<< @@ -8712,7 +8804,7 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":726 + /* "nanargmin.pyx":736 * NPY_intp, 0) * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -8722,57 +8814,48 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":727 + /* "nanargmin.pyx":737 * if n0 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): - * amin = MAXfloat64 + * amin = MAXint64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":728 + /* "nanargmin.pyx":738 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXfloat64 - * allnan = 1 + * amin = MAXint64 + * for i0 in range(n0 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n1 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i1 = __pyx_t_6; - /* "nanargmin.pyx":729 + /* "nanargmin.pyx":739 * raise ValueError(msg) * for i1 in range(n1 - 1, -1, -1): - * amin = MAXfloat64 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0 - 1, -1, -1): - */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat64; - - /* "nanargmin.pyx":730 - * for i1 in range(n1 - 1, -1, -1): - * amin = MAXfloat64 - * allnan = 1 # <<<<<<<<<<<<<< + * amin = MAXint64 # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint64; - /* "nanargmin.pyx":731 - * amin = MAXfloat64 - * allnan = 1 + /* "nanargmin.pyx":740 + * for i1 in range(n1 - 1, -1, -1): + * amin = MAXint64 * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -8780,8 +8863,8 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED for (__pyx_t_7 = (__pyx_v_n0 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanargmin.pyx":732 - * allnan = 1 + /* "nanargmin.pyx":741 + * amin = MAXint64 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -8789,42 +8872,33 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":733 + /* "nanargmin.pyx":742 * for i0 in range(n0 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * idx = i0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":734 + /* "nanargmin.pyx":743 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i0 + * y[i1] = idx */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":735 + /* "nanargmin.pyx":744 * if ai <= amin: * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i0 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmin.pyx":736 - * amin = ai - * allnan = 0 * idx = i0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = idx + * y[i1] = idx + * return y */ __pyx_v_idx = __pyx_v_i0; goto __pyx_L8; @@ -8832,48 +8906,20 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED __pyx_L8:; } - /* "nanargmin.pyx":737 - * allnan = 0 - * idx = i0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmin.pyx":738 + /* "nanargmin.pyx":745 + * amin = ai * idx = i0 - * if allnan == 0: - * y[i1] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; - } - /*else*/ { - - /* "nanargmin.pyx":740 - * y[i1] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * y[i1] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } - /* "nanargmin.pyx":741 - * else: - * raise ValueError("All-NaN slice encountered") + /* "nanargmin.pyx":746 + * idx = i0 + * y[i1] = idx * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -8883,11 +8929,11 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmin.pyx":712 + /* "nanargmin.pyx":722 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -8900,7 +8946,7 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8914,27 +8960,27 @@ static PyObject *__pyx_pf_9nanargmin_42nanargmin_2d_float64_axis0(CYTHON_UNUSED return __pyx_r; } -/* "nanargmin.pyx":745 +/* "nanargmin.pyx":750 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." + * def nanargmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_9nanargmin_45nanargmin_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_9nanargmin_44nanargmin_2d_float64_axis1[] = "nanargmin_2d_float64_axis1(ndarray a)\nIndex of max of 2d, float64 array along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_9nanargmin_45nanargmin_2d_float64_axis1 = {"nanargmin_2d_float64_axis1", (PyCFunction)__pyx_pw_9nanargmin_45nanargmin_2d_float64_axis1, METH_O, __pyx_doc_9nanargmin_44nanargmin_2d_float64_axis1}; -static PyObject *__pyx_pw_9nanargmin_45nanargmin_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_9nanargmin_45nanargmin_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_9nanargmin_44nanargmin_2d_int64_axis1[] = "nanargmin_2d_int64_axis1(ndarray a)\nIndex of max of 2d, int64 array along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_9nanargmin_45nanargmin_2d_int64_axis1 = {"nanargmin_2d_int64_axis1", (PyCFunction)__pyx_pw_9nanargmin_45nanargmin_2d_int64_axis1, METH_O, __pyx_doc_9nanargmin_44nanargmin_2d_int64_axis1}; +static PyObject *__pyx_pw_9nanargmin_45nanargmin_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanargmin_2d_float64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanargmin_2d_int64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_9nanargmin_44nanargmin_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8945,10 +8991,10 @@ static PyObject *__pyx_pw_9nanargmin_45nanargmin_2d_float64_axis1(PyObject *__py return __pyx_r; } -static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amin; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int64_t __pyx_v_amin; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_idx; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -8976,7 +9022,7 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanargmin_2d_float64_axis1", 0); + __Pyx_RefNannySetupContext("nanargmin_2d_int64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -8987,29 +9033,29 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanargmin.pyx":747 - * def nanargmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." + /* "nanargmin.pyx":752 + * def nanargmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amin, ai + * cdef np.int64_t amin, ai * cdef Py_ssize_t idx = 0 */ __pyx_v_allnan = 1; - /* "nanargmin.pyx":749 + /* "nanargmin.pyx":754 * cdef int allnan = 1 - * cdef np.float64_t amin, ai + * cdef np.int64_t amin, ai * cdef Py_ssize_t idx = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_idx = 0; - /* "nanargmin.pyx":752 + /* "nanargmin.pyx":757 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9018,7 +9064,7 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanargmin.pyx":753 + /* "nanargmin.pyx":758 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -9027,7 +9073,7 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanargmin.pyx":754 + /* "nanargmin.pyx":759 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -9036,7 +9082,7 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanargmin.pyx":755 + /* "nanargmin.pyx":760 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -9046,22 +9092,22 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanargmin.pyx":756 + /* "nanargmin.pyx":761 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_intp, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INTP, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -9069,7 +9115,7 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":758 + /* "nanargmin.pyx":763 * cdef np.ndarray[np.intp_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_intp, 0) * if n1 == 0: # <<<<<<<<<<<<<< @@ -9079,7 +9125,7 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":759 + /* "nanargmin.pyx":764 * NPY_intp, 0) * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." # <<<<<<<<<<<<<< @@ -9089,57 +9135,48 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED __Pyx_INCREF(__pyx_kp_s_numpy_nanargmin_raises_on_a_shap); __pyx_v_msg = __pyx_kp_s_numpy_nanargmin_raises_on_a_shap; - /* "nanargmin.pyx":760 + /* "nanargmin.pyx":765 * if n1 == 0: * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0 - 1, -1, -1): - * amin = MAXfloat64 + * amin = MAXint64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanargmin.pyx":761 + /* "nanargmin.pyx":766 * msg = "numpy.nanargmin raises on a.shape[axis]==0; Bottleneck too." * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): # <<<<<<<<<<<<<< - * amin = MAXfloat64 - * allnan = 1 + * amin = MAXint64 + * for i1 in range(n1 - 1, -1, -1): */ for (__pyx_t_6 = (__pyx_v_n0 - 1); __pyx_t_6 > -1; __pyx_t_6-=1) { __pyx_v_i0 = __pyx_t_6; - /* "nanargmin.pyx":762 + /* "nanargmin.pyx":767 * raise ValueError(msg) * for i0 in range(n0 - 1, -1, -1): - * amin = MAXfloat64 # <<<<<<<<<<<<<< - * allnan = 1 - * for i1 in range(n1 - 1, -1, -1): - */ - __pyx_v_amin = __pyx_v_9nanargmin_MAXfloat64; - - /* "nanargmin.pyx":763 - * for i0 in range(n0 - 1, -1, -1): - * amin = MAXfloat64 - * allnan = 1 # <<<<<<<<<<<<<< + * amin = MAXint64 # <<<<<<<<<<<<<< * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_v_amin = __pyx_v_9nanargmin_MAXint64; - /* "nanargmin.pyx":764 - * amin = MAXfloat64 - * allnan = 1 + /* "nanargmin.pyx":768 + * for i0 in range(n0 - 1, -1, -1): + * amin = MAXint64 * for i1 in range(n1 - 1, -1, -1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -9147,8 +9184,8 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED for (__pyx_t_7 = (__pyx_v_n1 - 1); __pyx_t_7 > -1; __pyx_t_7-=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanargmin.pyx":765 - * allnan = 1 + /* "nanargmin.pyx":769 + * amin = MAXint64 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -9156,42 +9193,33 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanargmin.pyx":766 + /* "nanargmin.pyx":770 * for i1 in range(n1 - 1, -1, -1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * idx = i1 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanargmin.pyx":767 + /* "nanargmin.pyx":771 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 * idx = i1 + * y[i0] = idx */ __pyx_v_amin = __pyx_v_ai; - /* "nanargmin.pyx":768 + /* "nanargmin.pyx":772 * if ai <= amin: * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * idx = i1 - * if allnan == 0: - */ - __pyx_v_allnan = 0; - - /* "nanargmin.pyx":769 - * amin = ai - * allnan = 0 * idx = i1 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = idx + * y[i0] = idx + * return y */ __pyx_v_idx = __pyx_v_i1; goto __pyx_L8; @@ -9199,48 +9227,20 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED __pyx_L8:; } - /* "nanargmin.pyx":770 - * allnan = 0 - * idx = i1 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = idx - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanargmin.pyx":771 + /* "nanargmin.pyx":773 + * amin = ai * idx = i1 - * if allnan == 0: - * y[i0] = idx # <<<<<<<<<<<<<< - * else: - * raise ValueError("All-NaN slice encountered") - */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; - goto __pyx_L9; - } - /*else*/ { - - /* "nanargmin.pyx":773 - * y[i0] = idx - * else: - * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< + * y[i0] = idx # <<<<<<<<<<<<<< * return y * */ - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_L9:; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_idx; } /* "nanargmin.pyx":774 - * else: - * raise ValueError("All-NaN slice encountered") + * idx = i1 + * y[i0] = idx * return y # <<<<<<<<<<<<<< * * cdef dict nanargmin_dict = {} @@ -9250,11 +9250,11 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanargmin.pyx":745 + /* "nanargmin.pyx":750 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." + * def nanargmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -9267,7 +9267,7 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanargmin.nanargmin_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanargmin.nanargmin_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9282,7 +9282,7 @@ static PyObject *__pyx_pf_9nanargmin_44nanargmin_2d_float64_axis1(CYTHON_UNUSED } /* "nanargmin.pyx":799 - * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 + * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 * * def nanargmin_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanargmin along axis 0." @@ -9350,7 +9350,7 @@ static PyObject *__pyx_pf_9nanargmin_46nanargmin_slow_axis0(CYTHON_UNUSED PyObje goto __pyx_L0; /* "nanargmin.pyx":799 - * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 + * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 * * def nanargmin_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanargmin along axis 0." @@ -12341,7 +12341,7 @@ static PyObject *__pyx_pf_9nanargmin_112nanargmin_slow_axisNone(CYTHON_UNUSED Py return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -12391,7 +12391,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -12404,7 +12404,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -12413,7 +12413,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -12422,7 +12422,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -12431,7 +12431,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -12441,7 +12441,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -12453,7 +12453,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -12464,7 +12464,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12480,7 +12480,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12492,7 +12492,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -12506,7 +12506,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12522,7 +12522,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12534,7 +12534,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -12548,7 +12548,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -12557,7 +12557,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -12566,7 +12566,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -12576,7 +12576,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -12585,7 +12585,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -12594,7 +12594,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -12605,7 +12605,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -12614,7 +12614,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -12627,7 +12627,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -12636,7 +12636,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -12647,7 +12647,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -12656,7 +12656,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -12665,7 +12665,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -12674,7 +12674,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -12683,7 +12683,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -12695,7 +12695,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -12704,7 +12704,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -12724,7 +12724,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -12740,7 +12740,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -12755,7 +12755,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -12765,7 +12765,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -12775,7 +12775,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -12798,7 +12798,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -12818,7 +12818,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -12832,7 +12832,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -12841,7 +12841,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -12852,7 +12852,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -12863,7 +12863,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -12874,7 +12874,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -12885,7 +12885,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -12896,7 +12896,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -12907,7 +12907,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -12918,7 +12918,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -12929,7 +12929,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -12940,7 +12940,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -12951,7 +12951,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -12962,7 +12962,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -12973,7 +12973,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -12984,7 +12984,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -12995,7 +12995,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -13006,7 +13006,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -13017,7 +13017,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -13029,7 +13029,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -13055,7 +13055,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -13064,7 +13064,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -13076,7 +13076,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -13085,7 +13085,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -13094,7 +13094,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -13103,7 +13103,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -13113,7 +13113,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -13123,7 +13123,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -13155,7 +13155,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -13179,7 +13179,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -13189,7 +13189,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -13201,7 +13201,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -13211,7 +13211,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -13223,7 +13223,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -13235,7 +13235,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -13252,7 +13252,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -13266,7 +13266,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -13285,7 +13285,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -13302,7 +13302,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -13316,7 +13316,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -13335,7 +13335,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13352,7 +13352,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -13366,7 +13366,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13385,7 +13385,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13402,7 +13402,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -13416,7 +13416,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13435,7 +13435,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13452,7 +13452,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -13466,7 +13466,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13485,7 +13485,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -13517,7 +13517,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -13526,7 +13526,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -13535,7 +13535,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -13557,7 +13557,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -13570,7 +13570,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -13609,7 +13609,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -13626,7 +13626,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -13640,7 +13640,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -13663,7 +13663,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -13683,7 +13683,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -13697,7 +13697,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -13713,7 +13713,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -13722,7 +13722,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -13731,7 +13731,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -13742,7 +13742,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -13752,7 +13752,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -13762,7 +13762,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -13774,7 +13774,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -13784,7 +13784,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -13798,7 +13798,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -13816,7 +13816,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -13834,7 +13834,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -13852,7 +13852,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -13870,7 +13870,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -13888,7 +13888,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -13906,7 +13906,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -13924,7 +13924,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -13942,7 +13942,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -13960,7 +13960,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -13978,7 +13978,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -13996,7 +13996,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -14014,7 +14014,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -14032,7 +14032,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -14052,7 +14052,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -14072,7 +14072,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -14092,7 +14092,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -14111,7 +14111,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -14134,7 +14134,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -14146,7 +14146,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -14158,7 +14158,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -14168,7 +14168,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -14178,7 +14178,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -14203,7 +14203,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -14218,7 +14218,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -14229,7 +14229,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -14241,7 +14241,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -14250,7 +14250,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -14261,7 +14261,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -14270,7 +14270,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -14279,7 +14279,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -14291,7 +14291,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14305,7 +14305,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -14315,7 +14315,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -14329,7 +14329,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -14340,7 +14340,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14379,7 +14379,6 @@ static struct PyModuleDef __pyx_moduledef = { static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_s_All_NaN_slice_encountered, __pyx_k_All_NaN_slice_encountered, sizeof(__pyx_k_All_NaN_slice_encountered), 0, 0, 1, 0}, - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -14393,6 +14392,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__16, __pyx_k__16, sizeof(__pyx_k__16), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -14523,106 +14523,106 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "nanargmin.pyx":524 + /* "nanargmin.pyx":212 * return np.intp(idx) * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "nanargmin.pyx":550 + /* "nanargmin.pyx":238 * return np.intp(idx) * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "nanargmin.pyx":576 + /* "nanargmin.pyx":264 * return np.intp(idx) * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "nanargmin.pyx":608 + /* "nanargmin.pyx":296 * y[i1] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "nanargmin.pyx":641 + /* "nanargmin.pyx":329 * y[i0] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "nanargmin.pyx":674 + /* "nanargmin.pyx":362 * y[i1] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6); - /* "nanargmin.pyx":707 + /* "nanargmin.pyx":395 * y[i0] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7); - /* "nanargmin.pyx":740 + /* "nanargmin.pyx":428 * y[i1] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8); - /* "nanargmin.pyx":773 + /* "nanargmin.pyx":461 * y[i0] = idx * else: * raise ValueError("All-NaN slice encountered") # <<<<<<<<<<<<<< * return y * */ - __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_All_NaN_slice_encountered); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -14633,7 +14633,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -14644,7 +14644,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14655,7 +14655,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__12); __Pyx_GIVEREF(__pyx_tuple__12); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -14666,7 +14666,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14677,7 +14677,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -14709,7 +14709,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__18 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18); - __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":113 * return func(arr) @@ -14721,262 +14721,262 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__20 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__20); __Pyx_GIVEREF(__pyx_tuple__20); - __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_selector, 113, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_selector, 113, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":190 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int array along axis=0 ignoring NaNs." + * def nanargmin_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ __pyx_tuple__22 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22); - __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_1d_int_axis0, 190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_1d_float_axis0, 190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":212 + /* "nanargmin.pyx":216 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + * def nanargmin_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__24 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__24 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__24); __Pyx_GIVEREF(__pyx_tuple__24); - __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_1d_int8_axis0, 212, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_1d_float32_axis0, 216, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":234 + /* "nanargmin.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." + * def nanargmin_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__26 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__26 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__26); __Pyx_GIVEREF(__pyx_tuple__26); - __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_1d_int32_axis0, 234, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_1d_float64_axis0, 242, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":256 + /* "nanargmin.pyx":268 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__28 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__28 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__28); __Pyx_GIVEREF(__pyx_tuple__28); - __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_1d_int64_axis0, 256, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_float_axis0, 268, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":278 + /* "nanargmin.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=0 ignoring NaNs." + * def nanargmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__30 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__30 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30); - __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_int_axis0, 278, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_float_axis1, 301, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":306 + /* "nanargmin.pyx":334 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=1 ignoring NaNs." + * def nanargmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__32 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__32 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__32); __Pyx_GIVEREF(__pyx_tuple__32); - __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_int_axis1, 306, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_float32_axis0, 334, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":334 + /* "nanargmin.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__34 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__34 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__34); __Pyx_GIVEREF(__pyx_tuple__34); - __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_int8_axis0, 334, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_float32_axis1, 367, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":362 + /* "nanargmin.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." + * def nanargmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__36 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__36 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); - __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_int8_axis1, 362, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_float64_axis0, 400, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":390 + /* "nanargmin.pyx":433 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__38 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__38 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__38); __Pyx_GIVEREF(__pyx_tuple__38); - __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_int32_axis0, 390, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_float64_axis1, 433, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":418 + /* "nanargmin.pyx":466 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." + * def nanargmin_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__40 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__40 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__40); __Pyx_GIVEREF(__pyx_tuple__40); - __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_int32_axis1, 418, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_1d_int_axis0, 466, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":446 + /* "nanargmin.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." + * def nanargmin_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__42 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__42 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__42); __Pyx_GIVEREF(__pyx_tuple__42); - __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_int64_axis0, 446, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_1d_int8_axis0, 488, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":474 + /* "nanargmin.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." + * def nanargmin_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__44 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__44 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__44); __Pyx_GIVEREF(__pyx_tuple__44); - __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_int64_axis1, 474, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_1d_int32_axis0, 510, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":502 + /* "nanargmin.pyx":532 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float array along axis=0 ignoring NaNs." + * def nanargmin_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__46 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__46 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__46); __Pyx_GIVEREF(__pyx_tuple__46); - __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_1d_float_axis0, 502, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_1d_int64_axis0, 532, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":528 + /* "nanargmin.pyx":554 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__48 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__48 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__48); __Pyx_GIVEREF(__pyx_tuple__48); - __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_1d_float32_axis0, 528, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_int_axis0, 554, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":554 + /* "nanargmin.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__50 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__50 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__50); __Pyx_GIVEREF(__pyx_tuple__50); - __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_1d_float64_axis0, 554, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_int_axis1, 582, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":580 + /* "nanargmin.pyx":610 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=0 ignoring NaNs." + * def nanargmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__52 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__52 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__52); __Pyx_GIVEREF(__pyx_tuple__52); - __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_float_axis0, 580, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_int8_axis0, 610, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":613 + /* "nanargmin.pyx":638 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=1 ignoring NaNs." + * def nanargmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__54 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__54 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__54); __Pyx_GIVEREF(__pyx_tuple__54); - __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_float_axis1, 613, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_int8_axis1, 638, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":646 + /* "nanargmin.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__56 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__56 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__56); __Pyx_GIVEREF(__pyx_tuple__56); - __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_float32_axis0, 646, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_int32_axis0, 666, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":679 + /* "nanargmin.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." + * def nanargmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__58 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__58 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__58); __Pyx_GIVEREF(__pyx_tuple__58); - __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_float32_axis1, 679, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_int32_axis1, 694, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":712 + /* "nanargmin.pyx":722 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__60 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__60 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__60); __Pyx_GIVEREF(__pyx_tuple__60); - __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_float64_axis0, 712, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_int64_axis0, 722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanargmin.pyx":745 + /* "nanargmin.pyx":750 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." + * def nanargmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__62 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__62 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_idx, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__62); __Pyx_GIVEREF(__pyx_tuple__62); - __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_2d_float64_axis1, 745, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_2d_int64_axis1, 750, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":799 - * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 + * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 * * def nanargmin_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanargmin along axis 0." @@ -14985,7 +14985,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__64 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__64); __Pyx_GIVEREF(__pyx_tuple__64); - __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis0, 799, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis0, 799, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":803 * return bn.slow.nanargmin(arr, axis=0) @@ -14997,7 +14997,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__66 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__66); __Pyx_GIVEREF(__pyx_tuple__66); - __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis1, 803, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis1, 803, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":807 * return bn.slow.nanargmin(arr, axis=1) @@ -15009,7 +15009,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__68 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__68); __Pyx_GIVEREF(__pyx_tuple__68); - __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis2, 807, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis2, 807, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":811 * return bn.slow.nanargmin(arr, axis=2) @@ -15021,7 +15021,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__70 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__70); __Pyx_GIVEREF(__pyx_tuple__70); - __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis3, 811, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis3, 811, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":815 * return bn.slow.nanargmin(arr, axis=3) @@ -15033,7 +15033,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__72 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__72); __Pyx_GIVEREF(__pyx_tuple__72); - __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis4, 815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis4, 815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":819 * return bn.slow.nanargmin(arr, axis=4) @@ -15045,7 +15045,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__74 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__74); __Pyx_GIVEREF(__pyx_tuple__74); - __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis5, 819, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis5, 819, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":823 * return bn.slow.nanargmin(arr, axis=5) @@ -15057,7 +15057,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__76 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__76); __Pyx_GIVEREF(__pyx_tuple__76); - __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis6, 823, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis6, 823, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":827 * return bn.slow.nanargmin(arr, axis=6) @@ -15069,7 +15069,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__78 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__78); __Pyx_GIVEREF(__pyx_tuple__78); - __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis7, 827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis7, 827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":831 * return bn.slow.nanargmin(arr, axis=7) @@ -15081,7 +15081,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__80 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__80); __Pyx_GIVEREF(__pyx_tuple__80); - __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis8, 831, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis8, 831, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":835 * return bn.slow.nanargmin(arr, axis=8) @@ -15093,7 +15093,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__82 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__82); __Pyx_GIVEREF(__pyx_tuple__82); - __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis9, 835, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis9, 835, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":839 * return bn.slow.nanargmin(arr, axis=9) @@ -15105,7 +15105,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__84 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__84); __Pyx_GIVEREF(__pyx_tuple__84); - __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis10, 839, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis10, 839, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":843 * return bn.slow.nanargmin(arr, axis=10) @@ -15117,7 +15117,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__86 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__86); __Pyx_GIVEREF(__pyx_tuple__86); - __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis11, 843, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis11, 843, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":847 * return bn.slow.nanargmin(arr, axis=11) @@ -15129,7 +15129,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__88 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__88); __Pyx_GIVEREF(__pyx_tuple__88); - __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis12, 847, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis12, 847, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":851 * return bn.slow.nanargmin(arr, axis=12) @@ -15141,7 +15141,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__90 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__90); __Pyx_GIVEREF(__pyx_tuple__90); - __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis13, 851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis13, 851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":855 * return bn.slow.nanargmin(arr, axis=13) @@ -15153,7 +15153,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__92 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__92); __Pyx_GIVEREF(__pyx_tuple__92); - __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis14, 855, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis14, 855, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":859 * return bn.slow.nanargmin(arr, axis=14) @@ -15165,7 +15165,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__94 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__94); __Pyx_GIVEREF(__pyx_tuple__94); - __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis15, 859, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis15, 859, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":863 * return bn.slow.nanargmin(arr, axis=15) @@ -15177,7 +15177,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__96 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__96); __Pyx_GIVEREF(__pyx_tuple__96); - __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis16, 863, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis16, 863, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":867 * return bn.slow.nanargmin(arr, axis=16) @@ -15189,7 +15189,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__98 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__98); __Pyx_GIVEREF(__pyx_tuple__98); - __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis17, 867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis17, 867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":871 * return bn.slow.nanargmin(arr, axis=17) @@ -15201,7 +15201,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__100 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__100); __Pyx_GIVEREF(__pyx_tuple__100); - __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis18, 871, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis18, 871, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":875 * return bn.slow.nanargmin(arr, axis=18) @@ -15213,7 +15213,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__102 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__102); __Pyx_GIVEREF(__pyx_tuple__102); - __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis19, 875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis19, 875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":879 * return bn.slow.nanargmin(arr, axis=19) @@ -15225,7 +15225,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__104 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__104); __Pyx_GIVEREF(__pyx_tuple__104); - __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis20, 879, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis20, 879, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":883 * return bn.slow.nanargmin(arr, axis=20) @@ -15237,7 +15237,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__106 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__106); __Pyx_GIVEREF(__pyx_tuple__106); - __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis21, 883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis21, 883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":887 * return bn.slow.nanargmin(arr, axis=21) @@ -15249,7 +15249,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__108 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__108); __Pyx_GIVEREF(__pyx_tuple__108); - __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis22, 887, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis22, 887, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":891 * return bn.slow.nanargmin(arr, axis=22) @@ -15261,7 +15261,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__110 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__110); __Pyx_GIVEREF(__pyx_tuple__110); - __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis23, 891, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis23, 891, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":895 * return bn.slow.nanargmin(arr, axis=23) @@ -15273,7 +15273,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__112 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__112); __Pyx_GIVEREF(__pyx_tuple__112); - __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis24, 895, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis24, 895, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":899 * return bn.slow.nanargmin(arr, axis=24) @@ -15285,7 +15285,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__114 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__114); __Pyx_GIVEREF(__pyx_tuple__114); - __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis25, 899, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis25, 899, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":903 * return bn.slow.nanargmin(arr, axis=25) @@ -15297,7 +15297,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__116 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__116); __Pyx_GIVEREF(__pyx_tuple__116); - __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis26, 903, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis26, 903, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":907 * return bn.slow.nanargmin(arr, axis=26) @@ -15309,7 +15309,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__118 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__118); __Pyx_GIVEREF(__pyx_tuple__118); - __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis27, 907, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis27, 907, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":911 * return bn.slow.nanargmin(arr, axis=27) @@ -15321,7 +15321,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__120 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__120); __Pyx_GIVEREF(__pyx_tuple__120); - __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis28, 911, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis28, 911, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":915 * return bn.slow.nanargmin(arr, axis=28) @@ -15333,7 +15333,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__122 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__122); __Pyx_GIVEREF(__pyx_tuple__122); - __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis29, 915, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis29, 915, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":919 * return bn.slow.nanargmin(arr, axis=29) @@ -15345,7 +15345,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__124 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__124); __Pyx_GIVEREF(__pyx_tuple__124); - __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis30, 919, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis30, 919, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":923 * return bn.slow.nanargmin(arr, axis=30) @@ -15357,7 +15357,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__126 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__126); __Pyx_GIVEREF(__pyx_tuple__126); - __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis31, 923, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis31, 923, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":927 * return bn.slow.nanargmin(arr, axis=31) @@ -15369,7 +15369,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__128 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__128); __Pyx_GIVEREF(__pyx_tuple__128); - __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axis32, 927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axis32, 927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanargmin.pyx":931 * return bn.slow.nanargmin(arr, axis=32) @@ -15381,7 +15381,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__130 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__130); __Pyx_GIVEREF(__pyx_tuple__130); - __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanargmin_slow_axisNone, 931, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanargmin_slow_axisNone, 931, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -16347,261 +16347,261 @@ PyMODINIT_FUNC PyInit_nanargmin(void) /* "nanargmin.pyx":190 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int array along axis=0 ignoring NaNs." + * def nanargmin_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_5nanargmin_1d_int_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_5nanargmin_1d_float_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":212 + /* "nanargmin.pyx":216 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." + * def nanargmin_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_7nanargmin_1d_int8_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_7nanargmin_1d_float32_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":234 + /* "nanargmin.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." + * def nanargmin_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_9nanargmin_1d_int32_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_9nanargmin_1d_float64_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":256 + /* "nanargmin.pyx":268 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_11nanargmin_1d_int64_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_11nanargmin_2d_float_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":278 + /* "nanargmin.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=0 ignoring NaNs." + * def nanargmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_13nanargmin_2d_int_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_13nanargmin_2d_float_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":306 + /* "nanargmin.pyx":334 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int array along axis=1 ignoring NaNs." + * def nanargmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_15nanargmin_2d_int_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_15nanargmin_2d_float32_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":334 + /* "nanargmin.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_17nanargmin_2d_int8_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_17nanargmin_2d_float32_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":362 + /* "nanargmin.pyx":400 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." + * def nanargmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_19nanargmin_2d_int8_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_19nanargmin_2d_float64_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":390 + /* "nanargmin.pyx":433 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_21nanargmin_2d_int32_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_21nanargmin_2d_float64_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":418 + /* "nanargmin.pyx":466 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." + * def nanargmin_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_23nanargmin_2d_int32_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_23nanargmin_1d_int_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":446 + /* "nanargmin.pyx":488 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." + * def nanargmin_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_25nanargmin_2d_int64_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_25nanargmin_1d_int8_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":474 + /* "nanargmin.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." + * def nanargmin_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_27nanargmin_2d_int64_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_27nanargmin_1d_int32_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":502 + /* "nanargmin.pyx":532 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float array along axis=0 ignoring NaNs." + * def nanargmin_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Index of max of 1d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_29nanargmin_1d_float_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_29nanargmin_1d_int64_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":528 + /* "nanargmin.pyx":554 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_31nanargmin_1d_float32_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_31nanargmin_2d_int_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":554 + /* "nanargmin.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Index of max of 1d, float64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_33nanargmin_1d_float64_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_33nanargmin_2d_int_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":580 + /* "nanargmin.pyx":610 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=0 ignoring NaNs." + * def nanargmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_35nanargmin_2d_float_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_35nanargmin_2d_int8_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":613 + /* "nanargmin.pyx":638 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float array along axis=1 ignoring NaNs." + * def nanargmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int8 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_37nanargmin_2d_float_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_37nanargmin_2d_int8_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":646 + /* "nanargmin.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_39nanargmin_2d_float32_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_39nanargmin_2d_int32_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":679 + /* "nanargmin.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float32 array along axis=1 ignoring NaNs." + * def nanargmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int32 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_41nanargmin_2d_float32_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_41nanargmin_2d_int32_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":712 + /* "nanargmin.pyx":722 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=0 ignoring NaNs." + * def nanargmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_43nanargmin_2d_float64_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_43nanargmin_2d_int64_axis0, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanargmin.pyx":745 + /* "nanargmin.pyx":750 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanargmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Index of max of 2d, float64 array along axis=1 ignoring NaNs." + * def nanargmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Index of max of 2d, int64 array along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_45nanargmin_2d_float64_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9nanargmin_45nanargmin_2d_int64_axis1, NULL, __pyx_n_s_nanargmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanargmin_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":776 * return y * * cdef dict nanargmin_dict = {} # <<<<<<<<<<<<<< - * nanargmin_dict[(1, NPY_int, 0)] = nanargmin_1d_int_axis0 - * nanargmin_dict[(1, NPY_int8, 0)] = nanargmin_1d_int8_axis0 + * nanargmin_dict[(1, NPY_float, 0)] = nanargmin_1d_float_axis0 + * nanargmin_dict[(1, NPY_float32, 0)] = nanargmin_1d_float32_axis0 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -16613,17 +16613,17 @@ PyMODINIT_FUNC PyInit_nanargmin(void) /* "nanargmin.pyx":777 * * cdef dict nanargmin_dict = {} - * nanargmin_dict[(1, NPY_int, 0)] = nanargmin_1d_int_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(1, NPY_int8, 0)] = nanargmin_1d_int8_axis0 - * nanargmin_dict[(1, NPY_int32, 0)] = nanargmin_1d_int32_axis0 + * nanargmin_dict[(1, NPY_float, 0)] = nanargmin_1d_float_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(1, NPY_float32, 0)] = nanargmin_1d_float32_axis0 + * nanargmin_dict[(1, NPY_float64, 0)] = nanargmin_1d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16642,18 +16642,18 @@ PyMODINIT_FUNC PyInit_nanargmin(void) /* "nanargmin.pyx":778 * cdef dict nanargmin_dict = {} - * nanargmin_dict[(1, NPY_int, 0)] = nanargmin_1d_int_axis0 - * nanargmin_dict[(1, NPY_int8, 0)] = nanargmin_1d_int8_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(1, NPY_int32, 0)] = nanargmin_1d_int32_axis0 - * nanargmin_dict[(1, NPY_int64, 0)] = nanargmin_1d_int64_axis0 + * nanargmin_dict[(1, NPY_float, 0)] = nanargmin_1d_float_axis0 + * nanargmin_dict[(1, NPY_float32, 0)] = nanargmin_1d_float32_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(1, NPY_float64, 0)] = nanargmin_1d_float64_axis0 + * nanargmin_dict[(2, NPY_float, 0)] = nanargmin_2d_float_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16671,19 +16671,19 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":779 - * nanargmin_dict[(1, NPY_int, 0)] = nanargmin_1d_int_axis0 - * nanargmin_dict[(1, NPY_int8, 0)] = nanargmin_1d_int8_axis0 - * nanargmin_dict[(1, NPY_int32, 0)] = nanargmin_1d_int32_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(1, NPY_int64, 0)] = nanargmin_1d_int64_axis0 - * nanargmin_dict[(2, NPY_int, 0)] = nanargmin_2d_int_axis0 + * nanargmin_dict[(1, NPY_float, 0)] = nanargmin_1d_float_axis0 + * nanargmin_dict[(1, NPY_float32, 0)] = nanargmin_1d_float32_axis0 + * nanargmin_dict[(1, NPY_float64, 0)] = nanargmin_1d_float64_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_float, 0)] = nanargmin_2d_float_axis0 + * nanargmin_dict[(2, NPY_float, 1)] = nanargmin_2d_float_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16701,25 +16701,25 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":780 - * nanargmin_dict[(1, NPY_int8, 0)] = nanargmin_1d_int8_axis0 - * nanargmin_dict[(1, NPY_int32, 0)] = nanargmin_1d_int32_axis0 - * nanargmin_dict[(1, NPY_int64, 0)] = nanargmin_1d_int64_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_int, 0)] = nanargmin_2d_int_axis0 - * nanargmin_dict[(2, NPY_int, 1)] = nanargmin_2d_int_axis1 + * nanargmin_dict[(1, NPY_float32, 0)] = nanargmin_1d_float32_axis0 + * nanargmin_dict[(1, NPY_float64, 0)] = nanargmin_1d_float64_axis0 + * nanargmin_dict[(2, NPY_float, 0)] = nanargmin_2d_float_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_float, 1)] = nanargmin_2d_float_axis1 + * nanargmin_dict[(2, NPY_float32, 0)] = nanargmin_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16731,19 +16731,19 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":781 - * nanargmin_dict[(1, NPY_int32, 0)] = nanargmin_1d_int32_axis0 - * nanargmin_dict[(1, NPY_int64, 0)] = nanargmin_1d_int64_axis0 - * nanargmin_dict[(2, NPY_int, 0)] = nanargmin_2d_int_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_int, 1)] = nanargmin_2d_int_axis1 - * nanargmin_dict[(2, NPY_int8, 0)] = nanargmin_2d_int8_axis0 + * nanargmin_dict[(1, NPY_float64, 0)] = nanargmin_1d_float64_axis0 + * nanargmin_dict[(2, NPY_float, 0)] = nanargmin_2d_float_axis0 + * nanargmin_dict[(2, NPY_float, 1)] = nanargmin_2d_float_axis1 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_float32, 0)] = nanargmin_2d_float32_axis0 + * nanargmin_dict[(2, NPY_float32, 1)] = nanargmin_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16752,28 +16752,28 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmin_nanargmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":782 - * nanargmin_dict[(1, NPY_int64, 0)] = nanargmin_1d_int64_axis0 - * nanargmin_dict[(2, NPY_int, 0)] = nanargmin_2d_int_axis0 - * nanargmin_dict[(2, NPY_int, 1)] = nanargmin_2d_int_axis1 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_int8, 0)] = nanargmin_2d_int8_axis0 - * nanargmin_dict[(2, NPY_int8, 1)] = nanargmin_2d_int8_axis1 + * nanargmin_dict[(2, NPY_float, 0)] = nanargmin_2d_float_axis0 + * nanargmin_dict[(2, NPY_float, 1)] = nanargmin_2d_float_axis1 + * nanargmin_dict[(2, NPY_float32, 0)] = nanargmin_2d_float32_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_float32, 1)] = nanargmin_2d_float32_axis1 + * nanargmin_dict[(2, NPY_float64, 0)] = nanargmin_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16782,28 +16782,28 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmin_nanargmin_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":783 - * nanargmin_dict[(2, NPY_int, 0)] = nanargmin_2d_int_axis0 - * nanargmin_dict[(2, NPY_int, 1)] = nanargmin_2d_int_axis1 - * nanargmin_dict[(2, NPY_int8, 0)] = nanargmin_2d_int8_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_int8, 1)] = nanargmin_2d_int8_axis1 - * nanargmin_dict[(2, NPY_int32, 0)] = nanargmin_2d_int32_axis0 + * nanargmin_dict[(2, NPY_float, 1)] = nanargmin_2d_float_axis1 + * nanargmin_dict[(2, NPY_float32, 0)] = nanargmin_2d_float32_axis0 + * nanargmin_dict[(2, NPY_float32, 1)] = nanargmin_2d_float32_axis1 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_float64, 0)] = nanargmin_2d_float64_axis0 + * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16812,28 +16812,28 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmin_nanargmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":784 - * nanargmin_dict[(2, NPY_int, 1)] = nanargmin_2d_int_axis1 - * nanargmin_dict[(2, NPY_int8, 0)] = nanargmin_2d_int8_axis0 - * nanargmin_dict[(2, NPY_int8, 1)] = nanargmin_2d_int8_axis1 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_int32, 0)] = nanargmin_2d_int32_axis0 - * nanargmin_dict[(2, NPY_int32, 1)] = nanargmin_2d_int32_axis1 + * nanargmin_dict[(2, NPY_float32, 0)] = nanargmin_2d_float32_axis0 + * nanargmin_dict[(2, NPY_float32, 1)] = nanargmin_2d_float32_axis1 + * nanargmin_dict[(2, NPY_float64, 0)] = nanargmin_2d_float64_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 + * nanargmin_dict[(1, NPY_int, 0)] = nanargmin_1d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16842,28 +16842,28 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmin_nanargmin_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":785 - * nanargmin_dict[(2, NPY_int8, 0)] = nanargmin_2d_int8_axis0 - * nanargmin_dict[(2, NPY_int8, 1)] = nanargmin_2d_int8_axis1 - * nanargmin_dict[(2, NPY_int32, 0)] = nanargmin_2d_int32_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_int32, 1)] = nanargmin_2d_int32_axis1 - * nanargmin_dict[(2, NPY_int64, 0)] = nanargmin_2d_int64_axis0 + * nanargmin_dict[(2, NPY_float32, 1)] = nanargmin_2d_float32_axis1 + * nanargmin_dict[(2, NPY_float64, 0)] = nanargmin_2d_float64_axis0 + * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanargmin_dict[(1, NPY_int, 0)] = nanargmin_1d_int_axis0 + * nanargmin_dict[(1, NPY_int8, 0)] = nanargmin_1d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16872,64 +16872,64 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmin_nanargmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":786 - * nanargmin_dict[(2, NPY_int8, 1)] = nanargmin_2d_int8_axis1 - * nanargmin_dict[(2, NPY_int32, 0)] = nanargmin_2d_int32_axis0 - * nanargmin_dict[(2, NPY_int32, 1)] = nanargmin_2d_int32_axis1 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_int64, 0)] = nanargmin_2d_int64_axis0 - * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 + * nanargmin_dict[(2, NPY_float64, 0)] = nanargmin_2d_float64_axis0 + * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 + * nanargmin_dict[(1, NPY_int, 0)] = nanargmin_1d_int_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(1, NPY_int8, 0)] = nanargmin_1d_int8_axis0 + * nanargmin_dict[(1, NPY_int32, 0)] = nanargmin_1d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmin_nanargmin_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":787 - * nanargmin_dict[(2, NPY_int32, 0)] = nanargmin_2d_int32_axis0 - * nanargmin_dict[(2, NPY_int32, 1)] = nanargmin_2d_int32_axis1 - * nanargmin_dict[(2, NPY_int64, 0)] = nanargmin_2d_int64_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 - * nanargmin_dict[(1, NPY_float, 0)] = nanargmin_1d_float_axis0 + * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 + * nanargmin_dict[(1, NPY_int, 0)] = nanargmin_1d_int_axis0 + * nanargmin_dict[(1, NPY_int8, 0)] = nanargmin_1d_int8_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(1, NPY_int32, 0)] = nanargmin_1d_int32_axis0 + * nanargmin_dict[(1, NPY_int64, 0)] = nanargmin_1d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -16941,49 +16941,49 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":788 - * nanargmin_dict[(2, NPY_int32, 1)] = nanargmin_2d_int32_axis1 - * nanargmin_dict[(2, NPY_int64, 0)] = nanargmin_2d_int64_axis0 - * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 # <<<<<<<<<<<<<< - * nanargmin_dict[(1, NPY_float, 0)] = nanargmin_1d_float_axis0 - * nanargmin_dict[(1, NPY_float32, 0)] = nanargmin_1d_float32_axis0 + * nanargmin_dict[(1, NPY_int, 0)] = nanargmin_1d_int_axis0 + * nanargmin_dict[(1, NPY_int8, 0)] = nanargmin_1d_int8_axis0 + * nanargmin_dict[(1, NPY_int32, 0)] = nanargmin_1d_int32_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(1, NPY_int64, 0)] = nanargmin_1d_int64_axis0 + * nanargmin_dict[(2, NPY_int, 0)] = nanargmin_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmin_nanargmin_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":789 - * nanargmin_dict[(2, NPY_int64, 0)] = nanargmin_2d_int64_axis0 - * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 - * nanargmin_dict[(1, NPY_float, 0)] = nanargmin_1d_float_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(1, NPY_float32, 0)] = nanargmin_1d_float32_axis0 - * nanargmin_dict[(1, NPY_float64, 0)] = nanargmin_1d_float64_axis0 + * nanargmin_dict[(1, NPY_int8, 0)] = nanargmin_1d_int8_axis0 + * nanargmin_dict[(1, NPY_int32, 0)] = nanargmin_1d_int32_axis0 + * nanargmin_dict[(1, NPY_int64, 0)] = nanargmin_1d_int64_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_int, 0)] = nanargmin_2d_int_axis0 + * nanargmin_dict[(2, NPY_int, 1)] = nanargmin_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17001,25 +17001,25 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":790 - * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 - * nanargmin_dict[(1, NPY_float, 0)] = nanargmin_1d_float_axis0 - * nanargmin_dict[(1, NPY_float32, 0)] = nanargmin_1d_float32_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(1, NPY_float64, 0)] = nanargmin_1d_float64_axis0 - * nanargmin_dict[(2, NPY_float, 0)] = nanargmin_2d_float_axis0 + * nanargmin_dict[(1, NPY_int32, 0)] = nanargmin_1d_int32_axis0 + * nanargmin_dict[(1, NPY_int64, 0)] = nanargmin_1d_int64_axis0 + * nanargmin_dict[(2, NPY_int, 0)] = nanargmin_2d_int_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_int, 1)] = nanargmin_2d_int_axis1 + * nanargmin_dict[(2, NPY_int8, 0)] = nanargmin_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -17031,49 +17031,49 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":791 - * nanargmin_dict[(1, NPY_float, 0)] = nanargmin_1d_float_axis0 - * nanargmin_dict[(1, NPY_float32, 0)] = nanargmin_1d_float32_axis0 - * nanargmin_dict[(1, NPY_float64, 0)] = nanargmin_1d_float64_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_float, 0)] = nanargmin_2d_float_axis0 - * nanargmin_dict[(2, NPY_float, 1)] = nanargmin_2d_float_axis1 + * nanargmin_dict[(1, NPY_int64, 0)] = nanargmin_1d_int64_axis0 + * nanargmin_dict[(2, NPY_int, 0)] = nanargmin_2d_int_axis0 + * nanargmin_dict[(2, NPY_int, 1)] = nanargmin_2d_int_axis1 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_int8, 0)] = nanargmin_2d_int8_axis0 + * nanargmin_dict[(2, NPY_int8, 1)] = nanargmin_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_9nanargmin_nanargmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":792 - * nanargmin_dict[(1, NPY_float32, 0)] = nanargmin_1d_float32_axis0 - * nanargmin_dict[(1, NPY_float64, 0)] = nanargmin_1d_float64_axis0 - * nanargmin_dict[(2, NPY_float, 0)] = nanargmin_2d_float_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_float, 1)] = nanargmin_2d_float_axis1 - * nanargmin_dict[(2, NPY_float32, 0)] = nanargmin_2d_float32_axis0 + * nanargmin_dict[(2, NPY_int, 0)] = nanargmin_2d_int_axis0 + * nanargmin_dict[(2, NPY_int, 1)] = nanargmin_2d_int_axis1 + * nanargmin_dict[(2, NPY_int8, 0)] = nanargmin_2d_int8_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_int8, 1)] = nanargmin_2d_int8_axis1 + * nanargmin_dict[(2, NPY_int32, 0)] = nanargmin_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17091,19 +17091,19 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":793 - * nanargmin_dict[(1, NPY_float64, 0)] = nanargmin_1d_float64_axis0 - * nanargmin_dict[(2, NPY_float, 0)] = nanargmin_2d_float_axis0 - * nanargmin_dict[(2, NPY_float, 1)] = nanargmin_2d_float_axis1 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_float32, 0)] = nanargmin_2d_float32_axis0 - * nanargmin_dict[(2, NPY_float32, 1)] = nanargmin_2d_float32_axis1 + * nanargmin_dict[(2, NPY_int, 1)] = nanargmin_2d_int_axis1 + * nanargmin_dict[(2, NPY_int8, 0)] = nanargmin_2d_int8_axis0 + * nanargmin_dict[(2, NPY_int8, 1)] = nanargmin_2d_int8_axis1 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_int32, 0)] = nanargmin_2d_int32_axis0 + * nanargmin_dict[(2, NPY_int32, 1)] = nanargmin_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17121,19 +17121,19 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":794 - * nanargmin_dict[(2, NPY_float, 0)] = nanargmin_2d_float_axis0 - * nanargmin_dict[(2, NPY_float, 1)] = nanargmin_2d_float_axis1 - * nanargmin_dict[(2, NPY_float32, 0)] = nanargmin_2d_float32_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_float32, 1)] = nanargmin_2d_float32_axis1 - * nanargmin_dict[(2, NPY_float64, 0)] = nanargmin_2d_float64_axis0 + * nanargmin_dict[(2, NPY_int8, 0)] = nanargmin_2d_int8_axis0 + * nanargmin_dict[(2, NPY_int8, 1)] = nanargmin_2d_int8_axis1 + * nanargmin_dict[(2, NPY_int32, 0)] = nanargmin_2d_int32_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_int32, 1)] = nanargmin_2d_int32_axis1 + * nanargmin_dict[(2, NPY_int64, 0)] = nanargmin_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17151,19 +17151,19 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":795 - * nanargmin_dict[(2, NPY_float, 1)] = nanargmin_2d_float_axis1 - * nanargmin_dict[(2, NPY_float32, 0)] = nanargmin_2d_float32_axis0 - * nanargmin_dict[(2, NPY_float32, 1)] = nanargmin_2d_float32_axis1 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_float64, 0)] = nanargmin_2d_float64_axis0 - * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 + * nanargmin_dict[(2, NPY_int8, 1)] = nanargmin_2d_int8_axis1 + * nanargmin_dict[(2, NPY_int32, 0)] = nanargmin_2d_int32_axis0 + * nanargmin_dict[(2, NPY_int32, 1)] = nanargmin_2d_int32_axis1 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_int64, 0)] = nanargmin_2d_int64_axis0 + * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17181,19 +17181,19 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":796 - * nanargmin_dict[(2, NPY_float32, 0)] = nanargmin_2d_float32_axis0 - * nanargmin_dict[(2, NPY_float32, 1)] = nanargmin_2d_float32_axis1 - * nanargmin_dict[(2, NPY_float64, 0)] = nanargmin_2d_float64_axis0 # <<<<<<<<<<<<<< - * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 + * nanargmin_dict[(2, NPY_int32, 0)] = nanargmin_2d_int32_axis0 + * nanargmin_dict[(2, NPY_int32, 1)] = nanargmin_2d_int32_axis1 + * nanargmin_dict[(2, NPY_int64, 0)] = nanargmin_2d_int64_axis0 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17211,19 +17211,19 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":797 - * nanargmin_dict[(2, NPY_float32, 1)] = nanargmin_2d_float32_axis1 - * nanargmin_dict[(2, NPY_float64, 0)] = nanargmin_2d_float64_axis0 - * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanargmin_dict[(2, NPY_int32, 1)] = nanargmin_2d_int32_axis1 + * nanargmin_dict[(2, NPY_int64, 0)] = nanargmin_2d_int64_axis0 + * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nanargmin_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanargmin_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_9nanargmin_nanargmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17241,7 +17241,7 @@ PyMODINIT_FUNC PyInit_nanargmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanargmin.pyx":799 - * nanargmin_dict[(2, NPY_float64, 1)] = nanargmin_2d_float64_axis1 + * nanargmin_dict[(2, NPY_int64, 1)] = nanargmin_2d_int64_axis1 * * def nanargmin_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanargmin along axis 0." @@ -18215,7 +18215,7 @@ PyMODINIT_FUNC PyInit_nanargmin(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/nanequal.c b/bottlechest/src/func/64bit/nanequal.c index b0def912a1..b3334b9339 100644 --- a/bottlechest/src/func/64bit/nanequal.c +++ b/bottlechest/src/func/64bit/nanequal.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1104,14 +1104,14 @@ static __pyx_t_5numpy_float32_t __pyx_v_8nanequal_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_8nanequal_MAXfloat64; static PyObject *__pyx_v_8nanequal_nanequal_dict = 0; static PyObject *__pyx_v_8nanequal_nanequal_slow_dict = 0; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t = { "uint8_t", NULL, sizeof(__pyx_t_5numpy_uint8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_uint8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_uint8_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "nanequal" int __pyx_module_is_main_nanequal = 0; @@ -1123,26 +1123,26 @@ static PyObject *__pyx_builtin_KeyError; static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_pf_8nanequal_nanequal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr1, PyObject *__pyx_v_arr2, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_8nanequal_2nanequal_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr1, PyObject *__pyx_v_arr2, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_8nanequal_4nanequal_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_6nanequal_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_8nanequal_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_10nanequal_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_12nanequal_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_14nanequal_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_16nanequal_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_18nanequal_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_22nanequal_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_24nanequal_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_28nanequal_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_30nanequal_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_32nanequal_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_34nanequal_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_36nanequal_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_38nanequal_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_40nanequal_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ -static PyObject *__pyx_pf_8nanequal_42nanequal_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_4nanequal_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_6nanequal_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_8nanequal_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_10nanequal_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_12nanequal_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_14nanequal_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_16nanequal_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_18nanequal_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_22nanequal_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_24nanequal_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_28nanequal_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_30nanequal_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_32nanequal_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_34nanequal_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_36nanequal_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_38nanequal_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_40nanequal_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ +static PyObject *__pyx_pf_8nanequal_42nanequal_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */ static PyObject *__pyx_pf_8nanequal_44nanequal_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr1, PyObject *__pyx_v_arr2); /* proto */ static PyObject *__pyx_pf_8nanequal_46nanequal_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr1, PyObject *__pyx_v_arr2); /* proto */ static PyObject *__pyx_pf_8nanequal_48nanequal_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr1, PyObject *__pyx_v_arr2); /* proto */ @@ -1317,16 +1317,15 @@ static char __pyx_k_nanequal_2d_float64_axisNone[] = "nanequal_2d_float64_axisNo static char __pyx_k_Return_nanequal_function_and_ar[] = "\n Return nanequal function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in bn.nanequal()\n is in checking that `axis` is within range, converting `arr` into an\n array (if it is not already an array), and selecting the function to use.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr1 : array_like\n First input array. If `arr` is not an array, a conversion is attempted.\n arr2 : array_like\n Second input array\n axis : {int, None}, optional\n Axis along which arrays are compared. The default (`axis` = ``None``)\n is to compare flattened arrays. `axis` may be\n negative, in which case it counts from the last to the first axis.\n \n Returns\n -------\n func : function\n The nanequal function that matches the number of dimensions and\n dtype of the input array and the axis.\n a1 : ndarray\n If the input array `arr1` is not a ndarray, then `a1` will contain the\n result of converting `arr1` into a ndarray.\n a2 : ndarray\n Equivalent for arr2.\n\n Examples TODO: PROVIDE EXAMPLES\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine if there are any NaN in `arr`:\n\n >>> func, a = bn.func.nanequal_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine if there are any\n NaNs:\n \n >>> func(a)\n False\n\n "; static char __pyx_k_Test_whether_two_array_are_equa[] = "\n Test whether two array are equal along a given axis, ignoring NaNs.\n\n Returns single boolean unless `axis` is not ``None``.\n\n Parameters\n ----------\n arr1 : array_like\n First input array. If `arr` is not an array, a conversion is attempted.\n arr2 : array_like\n Second input array\n axis : {int, None}, optional\n Axis along which arrays are compared. The default (`axis` = ``None``)\n is to compare flattened arrays. `axis` may be\n negative, in which case it counts from the last to the first axis.\n\n Returns\n -------\n y : bool or ndarray\n A new boolean or `ndarray` is returned.\n\n See also\n --------\n bottlechest.nancmp: Compare two arrays, ignoring NaNs\n\n Examples -- TODO: PROVIDE EXAMPLES!\n --------\n >>> bn.nanequal(1)\n False\n >>> bn.nanequal(np.nan)\n True\n >>> bn.nanequal([1, np.nan])\n True\n >>> a = np.array([[1, 4], [1, np.nan]])\n >>> bn.nanequal(a)\n True\n >>> bn.nanequal(a, axis=0)\n array([False, True], dtype=bool) \n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/nanequal.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\nanequal.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_arrays_have_different_dimensions[] = "arrays have different dimensions, %i != %i"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1340,6 +1339,7 @@ static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_kp_u_Test_whether_two_array_are_equa; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__20; static PyObject *__pyx_n_s_a; @@ -2685,16 +2685,16 @@ static PyObject *__pyx_pf_8nanequal_2nanequal_selector(CYTHON_UNUSED PyObject *_ /* "nanequal.pyx":209 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0." + * def nanequal_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_5nanequal_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_4nanequal_2d_int_axis0[] = "nanequal_2d_int_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_8nanequal_5nanequal_2d_int_axis0 = {"nanequal_2d_int_axis0", (PyCFunction)__pyx_pw_8nanequal_5nanequal_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_4nanequal_2d_int_axis0}; -static PyObject *__pyx_pw_8nanequal_5nanequal_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_5nanequal_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_4nanequal_2d_float_axis0[] = "nanequal_2d_float_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_8nanequal_5nanequal_2d_float_axis0 = {"nanequal_2d_float_axis0", (PyCFunction)__pyx_pw_8nanequal_5nanequal_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_4nanequal_2d_float_axis0}; +static PyObject *__pyx_pw_8nanequal_5nanequal_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -2702,7 +2702,7 @@ static PyObject *__pyx_pw_8nanequal_5nanequal_2d_int_axis0(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -2723,11 +2723,11 @@ static PyObject *__pyx_pw_8nanequal_5nanequal_2d_int_axis0(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -2740,15 +2740,15 @@ static PyObject *__pyx_pw_8nanequal_5nanequal_2d_int_axis0(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_4nanequal_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_4nanequal_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -2759,9 +2759,9 @@ static PyObject *__pyx_pw_8nanequal_5nanequal_2d_int_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_4nanequal_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_4nanequal_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_int_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2789,13 +2789,14 @@ static PyObject *__pyx_pf_8nanequal_4nanequal_2d_int_axis0(CYTHON_UNUSED PyObjec Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - Py_ssize_t __pyx_t_14; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + int __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2810,20 +2811,20 @@ static PyObject *__pyx_pf_8nanequal_4nanequal_2d_int_axis0(CYTHON_UNUSED PyObjec __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":212 - * np.ndarray[np.int_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0." + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int_t ai + * cdef np.float_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -2924,22 +2925,22 @@ static PyObject *__pyx_pf_8nanequal_4nanequal_2d_int_axis0(CYTHON_UNUSED PyObjec * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":226 * for i0 in range(n0): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i1] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = __Pyx_PyInt_From_npy_long((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -2947,30 +2948,50 @@ static PyObject *__pyx_pf_8nanequal_4nanequal_2d_int_axis0(CYTHON_UNUSED PyObjec /* "nanequal.pyx":227 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi: # <<<<<<<<<<<<<< + * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< * y[i1] = 0 * f = 0 */ - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_13) { + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (__pyx_t_14) { + goto __pyx_L9_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L9_next_and:; + __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_14) { + goto __pyx_L10_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L10_next_and:; + __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_12 = __pyx_t_14; + __pyx_L8_bool_binop_done:; + if (__pyx_t_12) { /* "nanequal.pyx":228 * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i1] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_14 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_15 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":229 - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i1] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -2997,8 +3018,8 @@ static PyObject *__pyx_pf_8nanequal_4nanequal_2d_int_axis0(CYTHON_UNUSED PyObjec * y[i1] = 1 * return y */ - __pyx_t_13 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_13) { + __pyx_t_12 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_12) { /* "nanequal.pyx":232 * break @@ -3009,9 +3030,9 @@ static PyObject *__pyx_pf_8nanequal_4nanequal_2d_int_axis0(CYTHON_UNUSED PyObjec */ __pyx_t_6 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; + goto __pyx_L11; } - __pyx_L8:; + __pyx_L11:; } /* "nanequal.pyx":233 @@ -3029,22 +3050,22 @@ static PyObject *__pyx_pf_8nanequal_4nanequal_2d_int_axis0(CYTHON_UNUSED PyObjec /* "nanequal.pyx":209 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0." + * def nanequal_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3062,16 +3083,16 @@ static PyObject *__pyx_pf_8nanequal_4nanequal_2d_int_axis0(CYTHON_UNUSED PyObjec /* "nanequal.pyx":237 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1." + * def nanequal_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_7nanequal_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_6nanequal_2d_int_axis1[] = "nanequal_2d_int_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1."; -static PyMethodDef __pyx_mdef_8nanequal_7nanequal_2d_int_axis1 = {"nanequal_2d_int_axis1", (PyCFunction)__pyx_pw_8nanequal_7nanequal_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_6nanequal_2d_int_axis1}; -static PyObject *__pyx_pw_8nanequal_7nanequal_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_7nanequal_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_6nanequal_2d_float_axis1[] = "nanequal_2d_float_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1."; +static PyMethodDef __pyx_mdef_8nanequal_7nanequal_2d_float_axis1 = {"nanequal_2d_float_axis1", (PyCFunction)__pyx_pw_8nanequal_7nanequal_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_6nanequal_2d_float_axis1}; +static PyObject *__pyx_pw_8nanequal_7nanequal_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -3079,7 +3100,7 @@ static PyObject *__pyx_pw_8nanequal_7nanequal_2d_int_axis1(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_int_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -3100,11 +3121,11 @@ static PyObject *__pyx_pw_8nanequal_7nanequal_2d_int_axis1(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3117,15 +3138,15 @@ static PyObject *__pyx_pw_8nanequal_7nanequal_2d_int_axis1(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_6nanequal_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_6nanequal_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -3136,9 +3157,9 @@ static PyObject *__pyx_pw_8nanequal_7nanequal_2d_int_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_6nanequal_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_6nanequal_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_int_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3166,13 +3187,14 @@ static PyObject *__pyx_pf_8nanequal_6nanequal_2d_int_axis1(CYTHON_UNUSED PyObjec Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - Py_ssize_t __pyx_t_14; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + int __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3187,20 +3209,20 @@ static PyObject *__pyx_pf_8nanequal_6nanequal_2d_int_axis1(CYTHON_UNUSED PyObjec __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":240 - * np.ndarray[np.int_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1." + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int_t ai + * cdef np.float_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -3301,22 +3323,22 @@ static PyObject *__pyx_pf_8nanequal_6nanequal_2d_int_axis1(CYTHON_UNUSED PyObjec * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":254 * for i1 in range(n1): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i0] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = __Pyx_PyInt_From_npy_long((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -3324,30 +3346,50 @@ static PyObject *__pyx_pf_8nanequal_6nanequal_2d_int_axis1(CYTHON_UNUSED PyObjec /* "nanequal.pyx":255 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi: # <<<<<<<<<<<<<< + * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< * y[i0] = 0 * f = 0 */ - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_13) { + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (__pyx_t_14) { + goto __pyx_L9_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L9_next_and:; + __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_14) { + goto __pyx_L10_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L10_next_and:; + __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_12 = __pyx_t_14; + __pyx_L8_bool_binop_done:; + if (__pyx_t_12) { /* "nanequal.pyx":256 * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i0] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_14 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_15 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":257 - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i0] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -3374,8 +3416,8 @@ static PyObject *__pyx_pf_8nanequal_6nanequal_2d_int_axis1(CYTHON_UNUSED PyObjec * y[i0] = 1 * return y */ - __pyx_t_13 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_13) { + __pyx_t_12 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_12) { /* "nanequal.pyx":260 * break @@ -3386,9 +3428,9 @@ static PyObject *__pyx_pf_8nanequal_6nanequal_2d_int_axis1(CYTHON_UNUSED PyObjec */ __pyx_t_6 = __pyx_v_i0; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; + goto __pyx_L11; } - __pyx_L8:; + __pyx_L11:; } /* "nanequal.pyx":261 @@ -3406,22 +3448,22 @@ static PyObject *__pyx_pf_8nanequal_6nanequal_2d_int_axis1(CYTHON_UNUSED PyObjec /* "nanequal.pyx":237 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1." + * def nanequal_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3439,16 +3481,16 @@ static PyObject *__pyx_pf_8nanequal_6nanequal_2d_int_axis1(CYTHON_UNUSED PyObjec /* "nanequal.pyx":265 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0." + * def nanequal_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_9nanequal_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_8nanequal_2d_int8_axis0[] = "nanequal_2d_int8_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_8nanequal_9nanequal_2d_int8_axis0 = {"nanequal_2d_int8_axis0", (PyCFunction)__pyx_pw_8nanequal_9nanequal_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_8nanequal_2d_int8_axis0}; -static PyObject *__pyx_pw_8nanequal_9nanequal_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_9nanequal_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_8nanequal_2d_float32_axis0[] = "nanequal_2d_float32_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_8nanequal_9nanequal_2d_float32_axis0 = {"nanequal_2d_float32_axis0", (PyCFunction)__pyx_pw_8nanequal_9nanequal_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_8nanequal_2d_float32_axis0}; +static PyObject *__pyx_pw_8nanequal_9nanequal_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -3456,7 +3498,7 @@ static PyObject *__pyx_pw_8nanequal_9nanequal_2d_int8_axis0(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -3477,11 +3519,11 @@ static PyObject *__pyx_pw_8nanequal_9nanequal_2d_int8_axis0(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3494,15 +3536,15 @@ static PyObject *__pyx_pw_8nanequal_9nanequal_2d_int8_axis0(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_8nanequal_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_8nanequal_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -3513,9 +3555,9 @@ static PyObject *__pyx_pw_8nanequal_9nanequal_2d_int8_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_8nanequal_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_8nanequal_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_int8_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3543,13 +3585,14 @@ static PyObject *__pyx_pf_8nanequal_8nanequal_2d_int8_axis0(CYTHON_UNUSED PyObje Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - Py_ssize_t __pyx_t_14; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + int __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3564,20 +3607,20 @@ static PyObject *__pyx_pf_8nanequal_8nanequal_2d_int8_axis0(CYTHON_UNUSED PyObje __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":268 - * np.ndarray[np.int8_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0." + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t ai + * cdef np.float32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -3678,22 +3721,22 @@ static PyObject *__pyx_pf_8nanequal_8nanequal_2d_int8_axis0(CYTHON_UNUSED PyObje * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":282 * for i0 in range(n0): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i1] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = __Pyx_PyInt_From_npy_int8((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -3701,30 +3744,50 @@ static PyObject *__pyx_pf_8nanequal_8nanequal_2d_int8_axis0(CYTHON_UNUSED PyObje /* "nanequal.pyx":283 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi: # <<<<<<<<<<<<<< + * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< * y[i1] = 0 * f = 0 */ - __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_13) { + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (__pyx_t_14) { + goto __pyx_L9_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L9_next_and:; + __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_14) { + goto __pyx_L10_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L10_next_and:; + __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_12 = __pyx_t_14; + __pyx_L8_bool_binop_done:; + if (__pyx_t_12) { /* "nanequal.pyx":284 * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i1] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_14 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_15 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":285 - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i1] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -3751,8 +3814,8 @@ static PyObject *__pyx_pf_8nanequal_8nanequal_2d_int8_axis0(CYTHON_UNUSED PyObje * y[i1] = 1 * return y */ - __pyx_t_13 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_13) { + __pyx_t_12 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_12) { /* "nanequal.pyx":288 * break @@ -3763,9 +3826,9 @@ static PyObject *__pyx_pf_8nanequal_8nanequal_2d_int8_axis0(CYTHON_UNUSED PyObje */ __pyx_t_6 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; + goto __pyx_L11; } - __pyx_L8:; + __pyx_L11:; } /* "nanequal.pyx":289 @@ -3783,22 +3846,22 @@ static PyObject *__pyx_pf_8nanequal_8nanequal_2d_int8_axis0(CYTHON_UNUSED PyObje /* "nanequal.pyx":265 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0." + * def nanequal_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3816,16 +3879,16 @@ static PyObject *__pyx_pf_8nanequal_8nanequal_2d_int8_axis0(CYTHON_UNUSED PyObje /* "nanequal.pyx":293 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1." + * def nanequal_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_11nanequal_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_10nanequal_2d_int8_axis1[] = "nanequal_2d_int8_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1."; -static PyMethodDef __pyx_mdef_8nanequal_11nanequal_2d_int8_axis1 = {"nanequal_2d_int8_axis1", (PyCFunction)__pyx_pw_8nanequal_11nanequal_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_10nanequal_2d_int8_axis1}; -static PyObject *__pyx_pw_8nanequal_11nanequal_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_11nanequal_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_10nanequal_2d_float32_axis1[] = "nanequal_2d_float32_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1."; +static PyMethodDef __pyx_mdef_8nanequal_11nanequal_2d_float32_axis1 = {"nanequal_2d_float32_axis1", (PyCFunction)__pyx_pw_8nanequal_11nanequal_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_10nanequal_2d_float32_axis1}; +static PyObject *__pyx_pw_8nanequal_11nanequal_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -3833,7 +3896,7 @@ static PyObject *__pyx_pw_8nanequal_11nanequal_2d_int8_axis1(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_int8_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -3854,11 +3917,11 @@ static PyObject *__pyx_pw_8nanequal_11nanequal_2d_int8_axis1(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3871,15 +3934,15 @@ static PyObject *__pyx_pw_8nanequal_11nanequal_2d_int8_axis1(PyObject *__pyx_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_10nanequal_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_10nanequal_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -3890,9 +3953,9 @@ static PyObject *__pyx_pw_8nanequal_11nanequal_2d_int8_axis1(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_10nanequal_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_10nanequal_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_int8_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3920,13 +3983,14 @@ static PyObject *__pyx_pf_8nanequal_10nanequal_2d_int8_axis1(CYTHON_UNUSED PyObj Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - Py_ssize_t __pyx_t_14; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + int __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3941,20 +4005,20 @@ static PyObject *__pyx_pf_8nanequal_10nanequal_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":296 - * np.ndarray[np.int8_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1." + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t ai + * cdef np.float32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -4055,22 +4119,22 @@ static PyObject *__pyx_pf_8nanequal_10nanequal_2d_int8_axis1(CYTHON_UNUSED PyObj * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":310 * for i1 in range(n1): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i0] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = __Pyx_PyInt_From_npy_int8((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -4078,30 +4142,50 @@ static PyObject *__pyx_pf_8nanequal_10nanequal_2d_int8_axis1(CYTHON_UNUSED PyObj /* "nanequal.pyx":311 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi: # <<<<<<<<<<<<<< + * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< * y[i0] = 0 * f = 0 */ - __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_13) { + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (__pyx_t_14) { + goto __pyx_L9_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L9_next_and:; + __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_14) { + goto __pyx_L10_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L10_next_and:; + __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_12 = __pyx_t_14; + __pyx_L8_bool_binop_done:; + if (__pyx_t_12) { /* "nanequal.pyx":312 * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i0] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_14 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_15 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":313 - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i0] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -4128,8 +4212,8 @@ static PyObject *__pyx_pf_8nanequal_10nanequal_2d_int8_axis1(CYTHON_UNUSED PyObj * y[i0] = 1 * return y */ - __pyx_t_13 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_13) { + __pyx_t_12 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_12) { /* "nanequal.pyx":316 * break @@ -4140,9 +4224,9 @@ static PyObject *__pyx_pf_8nanequal_10nanequal_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_t_6 = __pyx_v_i0; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; + goto __pyx_L11; } - __pyx_L8:; + __pyx_L11:; } /* "nanequal.pyx":317 @@ -4160,22 +4244,22 @@ static PyObject *__pyx_pf_8nanequal_10nanequal_2d_int8_axis1(CYTHON_UNUSED PyObj /* "nanequal.pyx":293 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1." + * def nanequal_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4193,16 +4277,16 @@ static PyObject *__pyx_pf_8nanequal_10nanequal_2d_int8_axis1(CYTHON_UNUSED PyObj /* "nanequal.pyx":321 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0." + * def nanequal_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_13nanequal_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_12nanequal_2d_int32_axis0[] = "nanequal_2d_int32_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_8nanequal_13nanequal_2d_int32_axis0 = {"nanequal_2d_int32_axis0", (PyCFunction)__pyx_pw_8nanequal_13nanequal_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_12nanequal_2d_int32_axis0}; -static PyObject *__pyx_pw_8nanequal_13nanequal_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_13nanequal_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_12nanequal_2d_float64_axis0[] = "nanequal_2d_float64_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_8nanequal_13nanequal_2d_float64_axis0 = {"nanequal_2d_float64_axis0", (PyCFunction)__pyx_pw_8nanequal_13nanequal_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_12nanequal_2d_float64_axis0}; +static PyObject *__pyx_pw_8nanequal_13nanequal_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -4210,7 +4294,7 @@ static PyObject *__pyx_pw_8nanequal_13nanequal_2d_int32_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -4231,11 +4315,11 @@ static PyObject *__pyx_pw_8nanequal_13nanequal_2d_int32_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4248,15 +4332,15 @@ static PyObject *__pyx_pw_8nanequal_13nanequal_2d_int32_axis0(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_12nanequal_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_12nanequal_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -4267,9 +4351,9 @@ static PyObject *__pyx_pw_8nanequal_13nanequal_2d_int32_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_12nanequal_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_12nanequal_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -4297,13 +4381,14 @@ static PyObject *__pyx_pf_8nanequal_12nanequal_2d_int32_axis0(CYTHON_UNUSED PyOb Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - Py_ssize_t __pyx_t_14; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + int __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4318,20 +4403,20 @@ static PyObject *__pyx_pf_8nanequal_12nanequal_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":324 - * np.ndarray[np.int32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0." + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -4432,22 +4517,22 @@ static PyObject *__pyx_pf_8nanequal_12nanequal_2d_int32_axis0(CYTHON_UNUSED PyOb * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":338 * for i0 in range(n0): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i1] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = __Pyx_PyInt_From_npy_int32((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -4455,30 +4540,50 @@ static PyObject *__pyx_pf_8nanequal_12nanequal_2d_int32_axis0(CYTHON_UNUSED PyOb /* "nanequal.pyx":339 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi: # <<<<<<<<<<<<<< + * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< * y[i1] = 0 * f = 0 */ - __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_13) { + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (__pyx_t_14) { + goto __pyx_L9_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L9_next_and:; + __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_14) { + goto __pyx_L10_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L10_next_and:; + __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_12 = __pyx_t_14; + __pyx_L8_bool_binop_done:; + if (__pyx_t_12) { /* "nanequal.pyx":340 * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i1] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_14 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_15 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":341 - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i1] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -4505,8 +4610,8 @@ static PyObject *__pyx_pf_8nanequal_12nanequal_2d_int32_axis0(CYTHON_UNUSED PyOb * y[i1] = 1 * return y */ - __pyx_t_13 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_13) { + __pyx_t_12 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_12) { /* "nanequal.pyx":344 * break @@ -4517,9 +4622,9 @@ static PyObject *__pyx_pf_8nanequal_12nanequal_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_t_6 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; + goto __pyx_L11; } - __pyx_L8:; + __pyx_L11:; } /* "nanequal.pyx":345 @@ -4537,22 +4642,22 @@ static PyObject *__pyx_pf_8nanequal_12nanequal_2d_int32_axis0(CYTHON_UNUSED PyOb /* "nanequal.pyx":321 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0." + * def nanequal_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4570,16 +4675,16 @@ static PyObject *__pyx_pf_8nanequal_12nanequal_2d_int32_axis0(CYTHON_UNUSED PyOb /* "nanequal.pyx":349 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1." + * def nanequal_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_15nanequal_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_14nanequal_2d_int32_axis1[] = "nanequal_2d_int32_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1."; -static PyMethodDef __pyx_mdef_8nanequal_15nanequal_2d_int32_axis1 = {"nanequal_2d_int32_axis1", (PyCFunction)__pyx_pw_8nanequal_15nanequal_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_14nanequal_2d_int32_axis1}; -static PyObject *__pyx_pw_8nanequal_15nanequal_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_15nanequal_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_14nanequal_2d_float64_axis1[] = "nanequal_2d_float64_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1."; +static PyMethodDef __pyx_mdef_8nanequal_15nanequal_2d_float64_axis1 = {"nanequal_2d_float64_axis1", (PyCFunction)__pyx_pw_8nanequal_15nanequal_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_14nanequal_2d_float64_axis1}; +static PyObject *__pyx_pw_8nanequal_15nanequal_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -4587,7 +4692,7 @@ static PyObject *__pyx_pw_8nanequal_15nanequal_2d_int32_axis1(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_int32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -4608,11 +4713,11 @@ static PyObject *__pyx_pw_8nanequal_15nanequal_2d_int32_axis1(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4625,15 +4730,15 @@ static PyObject *__pyx_pw_8nanequal_15nanequal_2d_int32_axis1(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_14nanequal_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_14nanequal_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -4644,9 +4749,9 @@ static PyObject *__pyx_pw_8nanequal_15nanequal_2d_int32_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_14nanequal_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_14nanequal_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -4674,13 +4779,14 @@ static PyObject *__pyx_pf_8nanequal_14nanequal_2d_int32_axis1(CYTHON_UNUSED PyOb Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - Py_ssize_t __pyx_t_14; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + int __pyx_t_14; + Py_ssize_t __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4695,20 +4801,20 @@ static PyObject *__pyx_pf_8nanequal_14nanequal_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":352 - * np.ndarray[np.int32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1." + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -4809,22 +4915,22 @@ static PyObject *__pyx_pf_8nanequal_14nanequal_2d_int32_axis1(CYTHON_UNUSED PyOb * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":366 * for i1 in range(n1): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i0] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = __Pyx_PyInt_From_npy_int32((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -4832,30 +4938,50 @@ static PyObject *__pyx_pf_8nanequal_14nanequal_2d_int32_axis1(CYTHON_UNUSED PyOb /* "nanequal.pyx":367 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi: # <<<<<<<<<<<<<< + * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< * y[i0] = 0 * f = 0 */ - __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_13) { + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (__pyx_t_14) { + goto __pyx_L9_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L9_next_and:; + __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_14) { + goto __pyx_L10_next_and; + } else { + __pyx_t_12 = __pyx_t_14; + goto __pyx_L8_bool_binop_done; + } + __pyx_L10_next_and:; + __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_12 = __pyx_t_14; + __pyx_L8_bool_binop_done:; + if (__pyx_t_12) { /* "nanequal.pyx":368 * bi = b[i0, i1] - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i0] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_14 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_15 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":369 - * if ai != bi: + * if ai != bi and ai == ai and bi == bi: * y[i0] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -4882,8 +5008,8 @@ static PyObject *__pyx_pf_8nanequal_14nanequal_2d_int32_axis1(CYTHON_UNUSED PyOb * y[i0] = 1 * return y */ - __pyx_t_13 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_13) { + __pyx_t_12 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_12) { /* "nanequal.pyx":372 * break @@ -4894,9 +5020,9 @@ static PyObject *__pyx_pf_8nanequal_14nanequal_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_t_6 = __pyx_v_i0; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; + goto __pyx_L11; } - __pyx_L8:; + __pyx_L11:; } /* "nanequal.pyx":373 @@ -4914,22 +5040,22 @@ static PyObject *__pyx_pf_8nanequal_14nanequal_2d_int32_axis1(CYTHON_UNUSED PyOb /* "nanequal.pyx":349 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1." + * def nanequal_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4947,16 +5073,16 @@ static PyObject *__pyx_pf_8nanequal_14nanequal_2d_int32_axis1(CYTHON_UNUSED PyOb /* "nanequal.pyx":377 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0." + * def nanequal_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_17nanequal_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_16nanequal_2d_int64_axis0[] = "nanequal_2d_int64_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_8nanequal_17nanequal_2d_int64_axis0 = {"nanequal_2d_int64_axis0", (PyCFunction)__pyx_pw_8nanequal_17nanequal_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_16nanequal_2d_int64_axis0}; -static PyObject *__pyx_pw_8nanequal_17nanequal_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_17nanequal_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_16nanequal_1d_float_axisNone[] = "nanequal_1d_float_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None."; +static PyMethodDef __pyx_mdef_8nanequal_17nanequal_1d_float_axisNone = {"nanequal_1d_float_axisNone", (PyCFunction)__pyx_pw_8nanequal_17nanequal_1d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_16nanequal_1d_float_axisNone}; +static PyObject *__pyx_pw_8nanequal_17nanequal_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -4964,7 +5090,7 @@ static PyObject *__pyx_pw_8nanequal_17nanequal_2d_int64_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_1d_float_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -4985,11 +5111,11 @@ static PyObject *__pyx_pw_8nanequal_17nanequal_2d_int64_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_1d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_1d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5002,15 +5128,15 @@ static PyObject *__pyx_pw_8nanequal_17nanequal_2d_int64_axis0(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_1d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_16nanequal_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_16nanequal_1d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -5021,47 +5147,31 @@ static PyObject *__pyx_pw_8nanequal_17nanequal_2d_int64_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_16nanequal_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { - int __pyx_v_f; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_8nanequal_16nanequal_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { + CYTHON_UNUSED int __pyx_v_f; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_bi = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; __Pyx_Buffer __pyx_pybuffer_b; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - Py_ssize_t __pyx_t_14; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanequal_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -5072,30 +5182,30 @@ static PyObject *__pyx_pf_8nanequal_16nanequal_2d_int64_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; /* "nanequal.pyx":380 - * np.ndarray[np.int64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0." + * np.ndarray[np.float_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.float_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; /* "nanequal.pyx":384 - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); @@ -5103,237 +5213,165 @@ static PyObject *__pyx_pf_8nanequal_16nanequal_2d_int64_axis0(CYTHON_UNUSED PyOb * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); /* "nanequal.pyx":386 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * bi = b[i0] */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanequal.pyx":387 + /* "nanequal.pyx":387 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * bi = b[i0] + * if ai != bi and ai == ai and bi == bi: */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanequal.pyx":388 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i1 in range(n1): + /* "nanequal.pyx":388 + * for i0 in range(n0): + * ai = a[i0] + * bi = b[i0] # <<<<<<<<<<<<<< + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_4 = __pyx_v_i0; + __pyx_t_5 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_4, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_5); + __pyx_t_5 = 0; - /* "nanequal.pyx":390 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * f = 1 - * for i0 in range(n0): + /* "nanequal.pyx":389 + * ai = a[i0] + * bi = b[i0] + * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< + * return np.bool_(False) + * return np.bool_(True) */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_8) { + goto __pyx_L7_next_and; + } else { + __pyx_t_6 = __pyx_t_8; + goto __pyx_L6_bool_binop_done; + } + __pyx_L7_next_and:; + __pyx_t_8 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_8) { + goto __pyx_L8_next_and; + } else { + __pyx_t_6 = __pyx_t_8; + goto __pyx_L6_bool_binop_done; + } + __pyx_L8_next_and:; + __pyx_t_7 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_6 = __pyx_t_8; + __pyx_L6_bool_binop_done:; + if (__pyx_t_6) { - /* "nanequal.pyx":391 - * NPY_BOOL, 0) - * for i1 in range(n1): - * f = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanequal.pyx":390 + * bi = b[i0] + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) # <<<<<<<<<<<<<< + * return np.bool_(True) + * */ - __pyx_v_f = 1; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L0; + } + } - /* "nanequal.pyx":392 - * for i1 in range(n1): - * f = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * bi = b[i0, i1] + /* "nanequal.pyx":391 + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) + * return np.bool_(True) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L0; - /* "nanequal.pyx":393 - * f = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * bi = b[i0, i1] - * if ai != bi: + /* "nanequal.pyx":377 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanequal_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None." */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanequal.pyx":394 - * for i0 in range(n0): - * ai = a[i0, i1] - * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi: - * y[i1] = 0 - */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = __Pyx_PyInt_From_npy_int64((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); - __pyx_t_2 = 0; + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("nanequal.nanequal_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __pyx_L2:; + __Pyx_XDECREF(__pyx_v_bi); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} - /* "nanequal.pyx":395 - * ai = a[i0, i1] - * bi = b[i0, i1] - * if ai != bi: # <<<<<<<<<<<<<< - * y[i1] = 0 - * f = 0 - */ - __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_13) { - - /* "nanequal.pyx":396 - * bi = b[i0, i1] - * if ai != bi: - * y[i1] = 0 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_14 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - - /* "nanequal.pyx":397 - * if ai != bi: - * y[i1] = 0 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: - */ - __pyx_v_f = 0; - - /* "nanequal.pyx":398 - * y[i1] = 0 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i1] = 1 - */ - goto __pyx_L6_break; - } - } - __pyx_L6_break:; - - /* "nanequal.pyx":399 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i1] = 1 - * return y - */ - __pyx_t_13 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_13) { - - /* "nanequal.pyx":400 - * break - * if f == 1: - * y[i1] = 1 # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "nanequal.pyx":401 - * if f == 1: - * y[i1] = 1 - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "nanequal.pyx":377 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanequal_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0." - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_12); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; - __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - goto __pyx_L2; - __pyx_L0:; - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_bi); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "nanequal.pyx":405 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanequal_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1." +/* "nanequal.pyx":395 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanequal_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_19nanequal_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_18nanequal_2d_int64_axis1[] = "nanequal_2d_int64_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1."; -static PyMethodDef __pyx_mdef_8nanequal_19nanequal_2d_int64_axis1 = {"nanequal_2d_int64_axis1", (PyCFunction)__pyx_pw_8nanequal_19nanequal_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_18nanequal_2d_int64_axis1}; -static PyObject *__pyx_pw_8nanequal_19nanequal_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_19nanequal_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_18nanequal_1d_float32_axisNone[] = "nanequal_1d_float32_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None."; +static PyMethodDef __pyx_mdef_8nanequal_19nanequal_1d_float32_axisNone = {"nanequal_1d_float32_axisNone", (PyCFunction)__pyx_pw_8nanequal_19nanequal_1d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_18nanequal_1d_float32_axisNone}; +static PyObject *__pyx_pw_8nanequal_19nanequal_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -5341,7 +5379,7 @@ static PyObject *__pyx_pw_8nanequal_19nanequal_2d_int64_axis1(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_int64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_1d_float32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -5362,11 +5400,11 @@ static PyObject *__pyx_pw_8nanequal_19nanequal_2d_int64_axis1(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_1d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_1d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5379,15 +5417,15 @@ static PyObject *__pyx_pw_8nanequal_19nanequal_2d_int64_axis1(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_1d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_18nanequal_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8nanequal_18nanequal_1d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -5398,47 +5436,31 @@ static PyObject *__pyx_pw_8nanequal_19nanequal_2d_int64_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_18nanequal_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { - int __pyx_v_f; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_8nanequal_18nanequal_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { + CYTHON_UNUSED int __pyx_v_f; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_bi = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; __Pyx_Buffer __pyx_pybuffer_b; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - Py_ssize_t __pyx_t_14; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanequal_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -5449,268 +5471,196 @@ static PyObject *__pyx_pf_8nanequal_18nanequal_2d_int64_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; - /* "nanequal.pyx":408 - * np.ndarray[np.int64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1." + /* "nanequal.pyx":398 + * np.ndarray[np.float32_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t ai - * cdef Py_ssize_t i0, i1 + * cdef np.float32_t ai + * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "nanequal.pyx":412 - * cdef Py_ssize_t i0, i1 + /* "nanequal.pyx":402 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanequal.pyx":413 + /* "nanequal.pyx":403 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanequal.pyx":414 + /* "nanequal.pyx":404 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanequal.pyx":415 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nanequal.pyx":416 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_BOOL, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanequal.pyx":418 - * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, - * NPY_BOOL, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * f = 1 - * for i1 in range(n1): + * ai = a[i0] + * bi = b[i0] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanequal.pyx":419 - * NPY_BOOL, 0) + /* "nanequal.pyx":405 + * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): - * f = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] # <<<<<<<<<<<<<< + * bi = b[i0] + * if ai != bi and ai == ai and bi == bi: */ - __pyx_v_f = 1; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanequal.pyx":420 + /* "nanequal.pyx":406 * for i0 in range(n0): - * f = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * bi = b[i0, i1] - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanequal.pyx":421 - * f = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * bi = b[i0, i1] - * if ai != bi: - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanequal.pyx":422 - * for i1 in range(n1): - * ai = a[i0, i1] - * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi: - * y[i0] = 0 - */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = __Pyx_PyInt_From_npy_int64((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); - __pyx_t_2 = 0; - - /* "nanequal.pyx":423 - * ai = a[i0, i1] - * bi = b[i0, i1] - * if ai != bi: # <<<<<<<<<<<<<< - * y[i0] = 0 - * f = 0 - */ - __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_13) { - - /* "nanequal.pyx":424 - * bi = b[i0, i1] - * if ai != bi: - * y[i0] = 0 # <<<<<<<<<<<<<< - * f = 0 - * break - */ - __pyx_t_14 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; - - /* "nanequal.pyx":425 - * if ai != bi: - * y[i0] = 0 - * f = 0 # <<<<<<<<<<<<<< - * break - * if f == 1: + * ai = a[i0] + * bi = b[i0] # <<<<<<<<<<<<<< + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) */ - __pyx_v_f = 0; + __pyx_t_4 = __pyx_v_i0; + __pyx_t_5 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_4, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_5); + __pyx_t_5 = 0; - /* "nanequal.pyx":426 - * y[i0] = 0 - * f = 0 - * break # <<<<<<<<<<<<<< - * if f == 1: - * y[i0] = 1 + /* "nanequal.pyx":407 + * ai = a[i0] + * bi = b[i0] + * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< + * return np.bool_(False) + * return np.bool_(True) */ - goto __pyx_L6_break; - } + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_8) { + goto __pyx_L7_next_and; + } else { + __pyx_t_6 = __pyx_t_8; + goto __pyx_L6_bool_binop_done; } - __pyx_L6_break:; - - /* "nanequal.pyx":427 - * f = 0 - * break - * if f == 1: # <<<<<<<<<<<<<< - * y[i0] = 1 - * return y - */ - __pyx_t_13 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_13) { + __pyx_L7_next_and:; + __pyx_t_8 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_8) { + goto __pyx_L8_next_and; + } else { + __pyx_t_6 = __pyx_t_8; + goto __pyx_L6_bool_binop_done; + } + __pyx_L8_next_and:; + __pyx_t_7 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_6 = __pyx_t_8; + __pyx_L6_bool_binop_done:; + if (__pyx_t_6) { - /* "nanequal.pyx":428 - * break - * if f == 1: - * y[i0] = 1 # <<<<<<<<<<<<<< - * return y + /* "nanequal.pyx":408 + * bi = b[i0] + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) # <<<<<<<<<<<<<< + * return np.bool_(True) * */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L8; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L0; } - __pyx_L8:; } - /* "nanequal.pyx":429 - * if f == 1: - * y[i0] = 1 - * return y # <<<<<<<<<<<<<< + /* "nanequal.pyx":409 + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) + * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "nanequal.pyx":405 + /* "nanequal.pyx":395 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1." + * def nanequal_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_bi); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanequal.pyx":433 +/* "nanequal.pyx":413 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None." + * def nanequal_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_21nanequal_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_20nanequal_1d_float_axisNone[] = "nanequal_1d_float_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None."; -static PyMethodDef __pyx_mdef_8nanequal_21nanequal_1d_float_axisNone = {"nanequal_1d_float_axisNone", (PyCFunction)__pyx_pw_8nanequal_21nanequal_1d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_20nanequal_1d_float_axisNone}; -static PyObject *__pyx_pw_8nanequal_21nanequal_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_21nanequal_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_20nanequal_1d_float64_axisNone[] = "nanequal_1d_float64_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None."; +static PyMethodDef __pyx_mdef_8nanequal_21nanequal_1d_float64_axisNone = {"nanequal_1d_float64_axisNone", (PyCFunction)__pyx_pw_8nanequal_21nanequal_1d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_20nanequal_1d_float64_axisNone}; +static PyObject *__pyx_pw_8nanequal_21nanequal_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -5718,7 +5668,7 @@ static PyObject *__pyx_pw_8nanequal_21nanequal_1d_float_axisNone(PyObject *__pyx int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_1d_float_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_1d_float64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -5739,11 +5689,11 @@ static PyObject *__pyx_pw_8nanequal_21nanequal_1d_float_axisNone(PyObject *__pyx case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_1d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_1d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_1d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_1d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5756,15 +5706,15 @@ static PyObject *__pyx_pw_8nanequal_21nanequal_1d_float_axisNone(PyObject *__pyx } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_1d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_1d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_20nanequal_1d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8nanequal_20nanequal_1d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -5775,9 +5725,9 @@ static PyObject *__pyx_pw_8nanequal_21nanequal_1d_float_axisNone(PyObject *__pyx return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -5799,7 +5749,7 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanequal_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -5810,25 +5760,25 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; - /* "nanequal.pyx":436 - * np.ndarray[np.float_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None." + /* "nanequal.pyx":416 + * np.ndarray[np.float64_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0 */ __pyx_v_f = 1; - /* "nanequal.pyx":440 + /* "nanequal.pyx":420 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5837,7 +5787,7 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanequal.pyx":441 + /* "nanequal.pyx":421 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5846,7 +5796,7 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanequal.pyx":442 + /* "nanequal.pyx":422 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5857,7 +5807,7 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanequal.pyx":443 + /* "nanequal.pyx":423 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -5865,9 +5815,9 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P * if ai != bi and ai == ai and bi == bi: */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanequal.pyx":444 + /* "nanequal.pyx":424 * for i0 in range(n0): * ai = a[i0] * bi = b[i0] # <<<<<<<<<<<<<< @@ -5875,23 +5825,23 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P * return np.bool_(False) */ __pyx_t_4 = __pyx_v_i0; - __pyx_t_5 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_4, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_4, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_5); __pyx_t_5 = 0; - /* "nanequal.pyx":445 + /* "nanequal.pyx":425 * ai = a[i0] * bi = b[i0] * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< * return np.bool_(False) * return np.bool_(True) */ - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_8) { goto __pyx_L7_next_and; @@ -5908,14 +5858,14 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P goto __pyx_L6_bool_binop_done; } __pyx_L8_next_and:; - __pyx_t_7 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_6 = __pyx_t_8; __pyx_L6_bool_binop_done:; if (__pyx_t_6) { - /* "nanequal.pyx":446 + /* "nanequal.pyx":426 * bi = b[i0] * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) # <<<<<<<<<<<<<< @@ -5923,12 +5873,12 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_r = __pyx_t_7; @@ -5937,7 +5887,7 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P } } - /* "nanequal.pyx":447 + /* "nanequal.pyx":427 * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< @@ -5945,24 +5895,24 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_r = __pyx_t_7; __pyx_t_7 = 0; goto __pyx_L0; - /* "nanequal.pyx":433 + /* "nanequal.pyx":413 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None." + * def nanequal_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None." */ /* function exit code */ @@ -5974,7 +5924,7 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5987,19 +5937,19 @@ static PyObject *__pyx_pf_8nanequal_20nanequal_1d_float_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "nanequal.pyx":451 +/* "nanequal.pyx":431 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None." + * def nanequal_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_23nanequal_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_22nanequal_1d_float32_axisNone[] = "nanequal_1d_float32_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None."; -static PyMethodDef __pyx_mdef_8nanequal_23nanequal_1d_float32_axisNone = {"nanequal_1d_float32_axisNone", (PyCFunction)__pyx_pw_8nanequal_23nanequal_1d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_22nanequal_1d_float32_axisNone}; -static PyObject *__pyx_pw_8nanequal_23nanequal_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_23nanequal_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_22nanequal_2d_float_axisNone[] = "nanequal_2d_float_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None."; +static PyMethodDef __pyx_mdef_8nanequal_23nanequal_2d_float_axisNone = {"nanequal_2d_float_axisNone", (PyCFunction)__pyx_pw_8nanequal_23nanequal_2d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_22nanequal_2d_float_axisNone}; +static PyObject *__pyx_pw_8nanequal_23nanequal_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -6007,7 +5957,7 @@ static PyObject *__pyx_pw_8nanequal_23nanequal_1d_float32_axisNone(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_1d_float32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -6028,11 +5978,11 @@ static PyObject *__pyx_pw_8nanequal_23nanequal_1d_float32_axisNone(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_1d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_1d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6045,15 +5995,15 @@ static PyObject *__pyx_pw_8nanequal_23nanequal_1d_float32_axisNone(PyObject *__p } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_1d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_22nanequal_1d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8nanequal_22nanequal_2d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -6064,12 +6014,14 @@ static PyObject *__pyx_pw_8nanequal_23nanequal_1d_float32_axisNone(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_22nanequal_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_22nanequal_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; PyObject *__pyx_v_bi = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; @@ -6081,14 +6033,18 @@ static PyObject *__pyx_pf_8nanequal_22nanequal_1d_float32_axisNone(CYTHON_UNUSED Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - int __pyx_t_8; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + PyObject *__pyx_t_9 = NULL; + int __pyx_t_10; + PyObject *__pyx_t_11 = NULL; + int __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -6099,171 +6055,194 @@ static PyObject *__pyx_pf_8nanequal_22nanequal_1d_float32_axisNone(CYTHON_UNUSED __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; - /* "nanequal.pyx":454 - * np.ndarray[np.float32_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None." + /* "nanequal.pyx":434 + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai - * cdef Py_ssize_t i0 + * cdef np.float_t ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "nanequal.pyx":458 - * cdef Py_ssize_t i0 + /* "nanequal.pyx":438 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanequal.pyx":459 + /* "nanequal.pyx":439 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanequal.pyx":460 + /* "nanequal.pyx":440 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanequal.pyx":441 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * bi = b[i0] + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanequal.pyx":461 - * cdef Py_ssize_t n0 = dim[0] + /* "nanequal.pyx":442 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * bi = b[i0] - * if ai != bi and ai == ai and bi == bi: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * bi = b[i0, i1] */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanequal.pyx":462 + /* "nanequal.pyx":443 * for i0 in range(n0): - * ai = a[i0] - * bi = b[i0] # <<<<<<<<<<<<<< - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * bi = b[i0, i1] + * if ai != bi and ai == ai and bi == bi: */ - __pyx_t_4 = __pyx_v_i0; - __pyx_t_5 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_4, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_5); - __pyx_t_5 = 0; + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanequal.pyx":463 - * ai = a[i0] - * bi = b[i0] - * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< - * return np.bool_(False) + /* "nanequal.pyx":444 + * for i1 in range(n1): + * ai = a[i0, i1] + * bi = b[i0, i1] # <<<<<<<<<<<<<< + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) + */ + __pyx_t_7 = __pyx_v_i0; + __pyx_t_8 = __pyx_v_i1; + __pyx_t_9 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_9); + __pyx_t_9 = 0; + + /* "nanequal.pyx":445 + * ai = a[i0, i1] + * bi = b[i0, i1] + * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< + * return np.bool_(False) * return np.bool_(True) */ - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (__pyx_t_8) { - goto __pyx_L7_next_and; - } else { - __pyx_t_6 = __pyx_t_8; - goto __pyx_L6_bool_binop_done; - } - __pyx_L7_next_and:; - __pyx_t_8 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_8) { - goto __pyx_L8_next_and; - } else { - __pyx_t_6 = __pyx_t_8; - goto __pyx_L6_bool_binop_done; - } - __pyx_L8_next_and:; - __pyx_t_7 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_6 = __pyx_t_8; - __pyx_L6_bool_binop_done:; - if (__pyx_t_6) { + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_11 = PyObject_RichCompare(__pyx_t_9, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (__pyx_t_12) { + goto __pyx_L9_next_and; + } else { + __pyx_t_10 = __pyx_t_12; + goto __pyx_L8_bool_binop_done; + } + __pyx_L9_next_and:; + __pyx_t_12 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_12) { + goto __pyx_L10_next_and; + } else { + __pyx_t_10 = __pyx_t_12; + goto __pyx_L8_bool_binop_done; + } + __pyx_L10_next_and:; + __pyx_t_11 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_10 = __pyx_t_12; + __pyx_L8_bool_binop_done:; + if (__pyx_t_10) { - /* "nanequal.pyx":464 - * bi = b[i0] - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) # <<<<<<<<<<<<<< + /* "nanequal.pyx":446 + * bi = b[i0, i1] + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_11; + __pyx_t_11 = 0; + goto __pyx_L0; + } } } - /* "nanequal.pyx":465 - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) + /* "nanequal.pyx":447 + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_11; + __pyx_t_11 = 0; goto __pyx_L0; - /* "nanequal.pyx":451 + /* "nanequal.pyx":431 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None." + * def nanequal_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6276,19 +6255,19 @@ static PyObject *__pyx_pf_8nanequal_22nanequal_1d_float32_axisNone(CYTHON_UNUSED return __pyx_r; } -/* "nanequal.pyx":469 +/* "nanequal.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None." + * def nanequal_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_25nanequal_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_24nanequal_1d_float64_axisNone[] = "nanequal_1d_float64_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None."; -static PyMethodDef __pyx_mdef_8nanequal_25nanequal_1d_float64_axisNone = {"nanequal_1d_float64_axisNone", (PyCFunction)__pyx_pw_8nanequal_25nanequal_1d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_24nanequal_1d_float64_axisNone}; -static PyObject *__pyx_pw_8nanequal_25nanequal_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_25nanequal_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_24nanequal_2d_float32_axisNone[] = "nanequal_2d_float32_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None."; +static PyMethodDef __pyx_mdef_8nanequal_25nanequal_2d_float32_axisNone = {"nanequal_2d_float32_axisNone", (PyCFunction)__pyx_pw_8nanequal_25nanequal_2d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_24nanequal_2d_float32_axisNone}; +static PyObject *__pyx_pw_8nanequal_25nanequal_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -6296,7 +6275,7 @@ static PyObject *__pyx_pw_8nanequal_25nanequal_1d_float64_axisNone(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_1d_float64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -6317,11 +6296,11 @@ static PyObject *__pyx_pw_8nanequal_25nanequal_1d_float64_axisNone(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_1d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_1d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6334,15 +6313,15 @@ static PyObject *__pyx_pw_8nanequal_25nanequal_1d_float64_axisNone(PyObject *__p } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_1d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_24nanequal_1d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8nanequal_24nanequal_2d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -6353,12 +6332,14 @@ static PyObject *__pyx_pw_8nanequal_25nanequal_1d_float64_axisNone(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_24nanequal_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_24nanequal_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; PyObject *__pyx_v_bi = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; @@ -6370,14 +6351,18 @@ static PyObject *__pyx_pf_8nanequal_24nanequal_1d_float64_axisNone(CYTHON_UNUSED Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - int __pyx_t_8; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + PyObject *__pyx_t_9 = NULL; + int __pyx_t_10; + PyObject *__pyx_t_11 = NULL; + int __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_1d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -6388,171 +6373,194 @@ static PyObject *__pyx_pf_8nanequal_24nanequal_1d_float64_axisNone(CYTHON_UNUSED __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; - /* "nanequal.pyx":472 - * np.ndarray[np.float64_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None." + /* "nanequal.pyx":454 + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai - * cdef Py_ssize_t i0 + * cdef np.float32_t ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "nanequal.pyx":476 - * cdef Py_ssize_t i0 + /* "nanequal.pyx":458 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanequal.pyx":477 + /* "nanequal.pyx":459 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanequal.pyx":478 + /* "nanequal.pyx":460 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanequal.pyx":461 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * bi = b[i0] + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanequal.pyx":479 - * cdef Py_ssize_t n0 = dim[0] + /* "nanequal.pyx":462 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * bi = b[i0] - * if ai != bi and ai == ai and bi == bi: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * bi = b[i0, i1] */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanequal.pyx":480 + /* "nanequal.pyx":463 * for i0 in range(n0): - * ai = a[i0] - * bi = b[i0] # <<<<<<<<<<<<<< - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * bi = b[i0, i1] + * if ai != bi and ai == ai and bi == bi: */ - __pyx_t_4 = __pyx_v_i0; - __pyx_t_5 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_4, __pyx_pybuffernd_b.diminfo[0].strides))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_5); - __pyx_t_5 = 0; + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanequal.pyx":481 - * ai = a[i0] - * bi = b[i0] - * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< - * return np.bool_(False) + /* "nanequal.pyx":464 + * for i1 in range(n1): + * ai = a[i0, i1] + * bi = b[i0, i1] # <<<<<<<<<<<<<< + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) + */ + __pyx_t_7 = __pyx_v_i0; + __pyx_t_8 = __pyx_v_i1; + __pyx_t_9 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_9); + __pyx_t_9 = 0; + + /* "nanequal.pyx":465 + * ai = a[i0, i1] + * bi = b[i0, i1] + * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< + * return np.bool_(False) * return np.bool_(True) */ - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (__pyx_t_8) { - goto __pyx_L7_next_and; - } else { - __pyx_t_6 = __pyx_t_8; - goto __pyx_L6_bool_binop_done; - } - __pyx_L7_next_and:; - __pyx_t_8 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_8) { - goto __pyx_L8_next_and; - } else { - __pyx_t_6 = __pyx_t_8; - goto __pyx_L6_bool_binop_done; - } - __pyx_L8_next_and:; - __pyx_t_7 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_6 = __pyx_t_8; - __pyx_L6_bool_binop_done:; - if (__pyx_t_6) { + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_11 = PyObject_RichCompare(__pyx_t_9, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (__pyx_t_12) { + goto __pyx_L9_next_and; + } else { + __pyx_t_10 = __pyx_t_12; + goto __pyx_L8_bool_binop_done; + } + __pyx_L9_next_and:; + __pyx_t_12 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_12) { + goto __pyx_L10_next_and; + } else { + __pyx_t_10 = __pyx_t_12; + goto __pyx_L8_bool_binop_done; + } + __pyx_L10_next_and:; + __pyx_t_11 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_10 = __pyx_t_12; + __pyx_L8_bool_binop_done:; + if (__pyx_t_10) { - /* "nanequal.pyx":482 - * bi = b[i0] - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) # <<<<<<<<<<<<<< + /* "nanequal.pyx":466 + * bi = b[i0, i1] + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_11; + __pyx_t_11 = 0; + goto __pyx_L0; + } } } - /* "nanequal.pyx":483 - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) + /* "nanequal.pyx":467 + * if ai != bi and ai == ai and bi == bi: + * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bool); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_11; + __pyx_t_11 = 0; goto __pyx_L0; - /* "nanequal.pyx":469 + /* "nanequal.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None." + * def nanequal_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6565,19 +6573,19 @@ static PyObject *__pyx_pf_8nanequal_24nanequal_1d_float64_axisNone(CYTHON_UNUSED return __pyx_r; } -/* "nanequal.pyx":487 +/* "nanequal.pyx":471 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None." + * def nanequal_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_27nanequal_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_26nanequal_2d_float_axisNone[] = "nanequal_2d_float_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None."; -static PyMethodDef __pyx_mdef_8nanequal_27nanequal_2d_float_axisNone = {"nanequal_2d_float_axisNone", (PyCFunction)__pyx_pw_8nanequal_27nanequal_2d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_26nanequal_2d_float_axisNone}; -static PyObject *__pyx_pw_8nanequal_27nanequal_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_27nanequal_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_26nanequal_2d_float64_axisNone[] = "nanequal_2d_float64_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None."; +static PyMethodDef __pyx_mdef_8nanequal_27nanequal_2d_float64_axisNone = {"nanequal_2d_float64_axisNone", (PyCFunction)__pyx_pw_8nanequal_27nanequal_2d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_26nanequal_2d_float64_axisNone}; +static PyObject *__pyx_pw_8nanequal_27nanequal_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -6585,7 +6593,7 @@ static PyObject *__pyx_pw_8nanequal_27nanequal_2d_float_axisNone(PyObject *__pyx int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_float_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -6606,11 +6614,11 @@ static PyObject *__pyx_pw_8nanequal_27nanequal_2d_float_axisNone(PyObject *__pyx case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6623,15 +6631,15 @@ static PyObject *__pyx_pw_8nanequal_27nanequal_2d_float_axisNone(PyObject *__pyx } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_26nanequal_2d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8nanequal_26nanequal_2d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -6642,9 +6650,9 @@ static PyObject *__pyx_pw_8nanequal_27nanequal_2d_float_axisNone(PyObject *__pyx return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -6672,7 +6680,7 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanequal_2d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -6683,25 +6691,25 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; - - /* "nanequal.pyx":490 - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None." + + /* "nanequal.pyx":474 + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai + * cdef np.float64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "nanequal.pyx":494 + /* "nanequal.pyx":478 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6710,7 +6718,7 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanequal.pyx":495 + /* "nanequal.pyx":479 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -6719,7 +6727,7 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanequal.pyx":496 + /* "nanequal.pyx":480 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -6728,7 +6736,7 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanequal.pyx":497 + /* "nanequal.pyx":481 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -6739,7 +6747,7 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanequal.pyx":498 + /* "nanequal.pyx":482 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -6750,7 +6758,7 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "nanequal.pyx":499 + /* "nanequal.pyx":483 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -6759,9 +6767,9 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_t_5 = __pyx_v_i0; __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanequal.pyx":500 + /* "nanequal.pyx":484 * for i1 in range(n1): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< @@ -6770,23 +6778,23 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P */ __pyx_t_7 = __pyx_v_i0; __pyx_t_8 = __pyx_v_i1; - __pyx_t_9 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_9); __pyx_t_9 = 0; - /* "nanequal.pyx":501 + /* "nanequal.pyx":485 * ai = a[i0, i1] * bi = b[i0, i1] * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< * return np.bool_(False) * return np.bool_(True) */ - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = PyObject_RichCompare(__pyx_t_9, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyObject_RichCompare(__pyx_t_9, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_12) { goto __pyx_L9_next_and; @@ -6803,14 +6811,14 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P goto __pyx_L8_bool_binop_done; } __pyx_L10_next_and:; - __pyx_t_11 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_10 = __pyx_t_12; __pyx_L8_bool_binop_done:; if (__pyx_t_10) { - /* "nanequal.pyx":502 + /* "nanequal.pyx":486 * bi = b[i0, i1] * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) # <<<<<<<<<<<<<< @@ -6818,12 +6826,12 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_11; @@ -6833,7 +6841,7 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P } } - /* "nanequal.pyx":503 + /* "nanequal.pyx":487 * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< @@ -6841,24 +6849,24 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_r = __pyx_t_11; __pyx_t_11 = 0; goto __pyx_L0; - /* "nanequal.pyx":487 + /* "nanequal.pyx":471 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None." + * def nanequal_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None." */ /* function exit code */ @@ -6870,7 +6878,7 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6883,19 +6891,19 @@ static PyObject *__pyx_pf_8nanequal_26nanequal_2d_float_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "nanequal.pyx":507 +/* "nanequal.pyx":491 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None." + * def nanequal_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_29nanequal_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_28nanequal_2d_float32_axisNone[] = "nanequal_2d_float32_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None."; -static PyMethodDef __pyx_mdef_8nanequal_29nanequal_2d_float32_axisNone = {"nanequal_2d_float32_axisNone", (PyCFunction)__pyx_pw_8nanequal_29nanequal_2d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_28nanequal_2d_float32_axisNone}; -static PyObject *__pyx_pw_8nanequal_29nanequal_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_29nanequal_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_28nanequal_2d_int_axis0[] = "nanequal_2d_int_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_8nanequal_29nanequal_2d_int_axis0 = {"nanequal_2d_int_axis0", (PyCFunction)__pyx_pw_8nanequal_29nanequal_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_28nanequal_2d_int_axis0}; +static PyObject *__pyx_pw_8nanequal_29nanequal_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -6903,7 +6911,7 @@ static PyObject *__pyx_pw_8nanequal_29nanequal_2d_float32_axisNone(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_float32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -6924,11 +6932,11 @@ static PyObject *__pyx_pw_8nanequal_29nanequal_2d_float32_axisNone(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6941,15 +6949,15 @@ static PyObject *__pyx_pw_8nanequal_29nanequal_2d_float32_axisNone(PyObject *__p } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_28nanequal_2d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8nanequal_28nanequal_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -6960,37 +6968,47 @@ static PyObject *__pyx_pw_8nanequal_29nanequal_2d_float32_axisNone(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_28nanequal_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { - CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_8nanequal_28nanequal_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { + int __pyx_v_f; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_bi = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; __Pyx_Buffer __pyx_pybuffer_b; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; - PyObject *__pyx_t_9 = NULL; - int __pyx_t_10; - PyObject *__pyx_t_11 = NULL; - int __pyx_t_12; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -7001,25 +7019,25 @@ static PyObject *__pyx_pf_8nanequal_28nanequal_2d_float32_axisNone(CYTHON_UNUSED __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; - /* "nanequal.pyx":510 - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None." + /* "nanequal.pyx":494 + * np.ndarray[np.int_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai + * cdef np.int_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "nanequal.pyx":514 + /* "nanequal.pyx":498 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7028,192 +7046,241 @@ static PyObject *__pyx_pf_8nanequal_28nanequal_2d_float32_axisNone(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanequal.pyx":515 + /* "nanequal.pyx":499 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanequal.pyx":516 + /* "nanequal.pyx":500 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanequal.pyx":517 + /* "nanequal.pyx":501 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanequal.pyx":518 + /* "nanequal.pyx":502 * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanequal.pyx":504 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * f = 1 + * for i0 in range(n0): + */ + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "nanequal.pyx":505 + * NPY_BOOL, 0) + * for i1 in range(n1): + * f = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_f = 1; + + /* "nanequal.pyx":506 + * for i1 in range(n1): + * f = 1 + * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * bi = b[i0, i1] */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanequal.pyx":519 - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanequal.pyx":507 + * f = 1 + * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanequal.pyx":520 - * for i1 in range(n1): + /* "nanequal.pyx":508 + * for i0 in range(n0): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) + * if ai != bi: + * y[i1] = 0 */ - __pyx_t_7 = __pyx_v_i0; - __pyx_t_8 = __pyx_v_i1; - __pyx_t_9 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_9); - __pyx_t_9 = 0; + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_t_2 = __Pyx_PyInt_From_npy_long((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); + __pyx_t_2 = 0; - /* "nanequal.pyx":521 + /* "nanequal.pyx":509 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< - * return np.bool_(False) - * return np.bool_(True) + * if ai != bi: # <<<<<<<<<<<<<< + * y[i1] = 0 + * f = 0 */ - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = PyObject_RichCompare(__pyx_t_9, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_12) { - goto __pyx_L9_next_and; - } else { - __pyx_t_10 = __pyx_t_12; - goto __pyx_L8_bool_binop_done; - } - __pyx_L9_next_and:; - __pyx_t_12 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_12) { - goto __pyx_L10_next_and; - } else { - __pyx_t_10 = __pyx_t_12; - goto __pyx_L8_bool_binop_done; - } - __pyx_L10_next_and:; - __pyx_t_11 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_10 = __pyx_t_12; - __pyx_L8_bool_binop_done:; - if (__pyx_t_10) { + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_13) { - /* "nanequal.pyx":522 + /* "nanequal.pyx":510 * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) # <<<<<<<<<<<<<< - * return np.bool_(True) - * + * if ai != bi: + * y[i1] = 0 # <<<<<<<<<<<<<< + * f = 0 + * break */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_11; - __pyx_t_11 = 0; - goto __pyx_L0; + __pyx_t_14 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + + /* "nanequal.pyx":511 + * if ai != bi: + * y[i1] = 0 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "nanequal.pyx":512 + * y[i1] = 0 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i1] = 1 + */ + goto __pyx_L6_break; } } + __pyx_L6_break:; + + /* "nanequal.pyx":513 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i1] = 1 + * return y + */ + __pyx_t_13 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_13) { + + /* "nanequal.pyx":514 + * break + * if f == 1: + * y[i1] = 1 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + goto __pyx_L8; + } + __pyx_L8:; } - /* "nanequal.pyx":523 - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) - * return np.bool_(True) # <<<<<<<<<<<<<< + /* "nanequal.pyx":515 + * if f == 1: + * y[i1] = 1 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_11; - __pyx_t_11 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanequal.pyx":507 + /* "nanequal.pyx":491 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None." + * def nanequal_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_bi); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanequal.pyx":527 +/* "nanequal.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None." + * def nanequal_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_31nanequal_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_30nanequal_2d_float64_axisNone[] = "nanequal_2d_float64_axisNone(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None."; -static PyMethodDef __pyx_mdef_8nanequal_31nanequal_2d_float64_axisNone = {"nanequal_2d_float64_axisNone", (PyCFunction)__pyx_pw_8nanequal_31nanequal_2d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_30nanequal_2d_float64_axisNone}; -static PyObject *__pyx_pw_8nanequal_31nanequal_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_31nanequal_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_30nanequal_2d_int_axis1[] = "nanequal_2d_int_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1."; +static PyMethodDef __pyx_mdef_8nanequal_31nanequal_2d_int_axis1 = {"nanequal_2d_int_axis1", (PyCFunction)__pyx_pw_8nanequal_31nanequal_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_30nanequal_2d_int_axis1}; +static PyObject *__pyx_pw_8nanequal_31nanequal_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -7221,7 +7288,7 @@ static PyObject *__pyx_pw_8nanequal_31nanequal_2d_float64_axisNone(PyObject *__p int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_float64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -7242,11 +7309,11 @@ static PyObject *__pyx_pw_8nanequal_31nanequal_2d_float64_axisNone(PyObject *__p case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7259,15 +7326,15 @@ static PyObject *__pyx_pw_8nanequal_31nanequal_2d_float64_axisNone(PyObject *__p } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_30nanequal_2d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_b); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8nanequal_30nanequal_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -7278,37 +7345,47 @@ static PyObject *__pyx_pw_8nanequal_31nanequal_2d_float64_axisNone(PyObject *__p return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_30nanequal_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { - CYTHON_UNUSED int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_8nanequal_30nanequal_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { + int __pyx_v_f; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; PyObject *__pyx_v_bi = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; __Pyx_Buffer __pyx_pybuffer_b; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; - PyObject *__pyx_t_9 = NULL; - int __pyx_t_10; - PyObject *__pyx_t_11 = NULL; - int __pyx_t_12; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -7319,25 +7396,25 @@ static PyObject *__pyx_pf_8nanequal_30nanequal_2d_float64_axisNone(CYTHON_UNUSED __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; - /* "nanequal.pyx":530 - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None." + /* "nanequal.pyx":522 + * np.ndarray[np.int_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai + * cdef np.int_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; - /* "nanequal.pyx":534 + /* "nanequal.pyx":526 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7346,173 +7423,222 @@ static PyObject *__pyx_pf_8nanequal_30nanequal_2d_float64_axisNone(CYTHON_UNUSED */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanequal.pyx":535 + /* "nanequal.pyx":527 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanequal.pyx":536 + /* "nanequal.pyx":528 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanequal.pyx":537 + /* "nanequal.pyx":529 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "nanequal.pyx":530 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_BOOL, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_BOOL, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 1, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanequal.pyx":532 + * cdef np.ndarray[np.uint8_t, ndim=1, cast=True] y = PyArray_EMPTY(1, dims, + * NPY_BOOL, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< + * f = 1 + * for i1 in range(n1): + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; + + /* "nanequal.pyx":533 + * NPY_BOOL, 0) + * for i0 in range(n0): + * f = 1 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_f = 1; - /* "nanequal.pyx":538 - * cdef Py_ssize_t n1 = dim[1] + /* "nanequal.pyx":534 * for i0 in range(n0): + * f = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * bi = b[i0, i1] */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanequal.pyx":539 - * for i0 in range(n0): + /* "nanequal.pyx":535 + * f = 1 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanequal.pyx":540 + /* "nanequal.pyx":536 * for i1 in range(n1): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) + * if ai != bi: + * y[i0] = 0 */ - __pyx_t_7 = __pyx_v_i0; - __pyx_t_8 = __pyx_v_i1; - __pyx_t_9 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_9); - __pyx_t_9 = 0; + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_t_2 = __Pyx_PyInt_From_npy_long((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); + __pyx_t_2 = 0; - /* "nanequal.pyx":541 + /* "nanequal.pyx":537 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< - * return np.bool_(False) - * return np.bool_(True) + * if ai != bi: # <<<<<<<<<<<<<< + * y[i0] = 0 + * f = 0 */ - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = PyObject_RichCompare(__pyx_t_9, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_12) { - goto __pyx_L9_next_and; - } else { - __pyx_t_10 = __pyx_t_12; - goto __pyx_L8_bool_binop_done; - } - __pyx_L9_next_and:; - __pyx_t_12 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_12) { - goto __pyx_L10_next_and; - } else { - __pyx_t_10 = __pyx_t_12; - goto __pyx_L8_bool_binop_done; - } - __pyx_L10_next_and:; - __pyx_t_11 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_10 = __pyx_t_12; - __pyx_L8_bool_binop_done:; - if (__pyx_t_10) { + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_13) { - /* "nanequal.pyx":542 + /* "nanequal.pyx":538 * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) # <<<<<<<<<<<<<< - * return np.bool_(True) - * + * if ai != bi: + * y[i0] = 0 # <<<<<<<<<<<<<< + * f = 0 + * break */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_11; - __pyx_t_11 = 0; - goto __pyx_L0; + __pyx_t_14 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + + /* "nanequal.pyx":539 + * if ai != bi: + * y[i0] = 0 + * f = 0 # <<<<<<<<<<<<<< + * break + * if f == 1: + */ + __pyx_v_f = 0; + + /* "nanequal.pyx":540 + * y[i0] = 0 + * f = 0 + * break # <<<<<<<<<<<<<< + * if f == 1: + * y[i0] = 1 + */ + goto __pyx_L6_break; } } + __pyx_L6_break:; + + /* "nanequal.pyx":541 + * f = 0 + * break + * if f == 1: # <<<<<<<<<<<<<< + * y[i0] = 1 + * return y + */ + __pyx_t_13 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_13) { + + /* "nanequal.pyx":542 + * break + * if f == 1: + * y[i0] = 1 # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; + goto __pyx_L8; + } + __pyx_L8:; } /* "nanequal.pyx":543 - * if ai != bi and ai == ai and bi == bi: - * return np.bool_(False) - * return np.bool_(True) # <<<<<<<<<<<<<< + * if f == 1: + * y[i0] = 1 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_bool); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_11; - __pyx_t_11 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanequal.pyx":527 + /* "nanequal.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None." + * def nanequal_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1." */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XDECREF(__pyx_v_bi); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); @@ -7522,16 +7648,16 @@ static PyObject *__pyx_pf_8nanequal_30nanequal_2d_float64_axisNone(CYTHON_UNUSED /* "nanequal.pyx":547 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0." + * def nanequal_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_33nanequal_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_32nanequal_2d_float_axis0[] = "nanequal_2d_float_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_8nanequal_33nanequal_2d_float_axis0 = {"nanequal_2d_float_axis0", (PyCFunction)__pyx_pw_8nanequal_33nanequal_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_32nanequal_2d_float_axis0}; -static PyObject *__pyx_pw_8nanequal_33nanequal_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_33nanequal_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_32nanequal_2d_int8_axis0[] = "nanequal_2d_int8_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_8nanequal_33nanequal_2d_int8_axis0 = {"nanequal_2d_int8_axis0", (PyCFunction)__pyx_pw_8nanequal_33nanequal_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_32nanequal_2d_int8_axis0}; +static PyObject *__pyx_pw_8nanequal_33nanequal_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -7539,7 +7665,7 @@ static PyObject *__pyx_pw_8nanequal_33nanequal_2d_float_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int8_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -7560,11 +7686,11 @@ static PyObject *__pyx_pw_8nanequal_33nanequal_2d_float_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7577,15 +7703,15 @@ static PyObject *__pyx_pw_8nanequal_33nanequal_2d_float_axis0(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_32nanequal_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_32nanequal_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -7596,9 +7722,9 @@ static PyObject *__pyx_pw_8nanequal_33nanequal_2d_float_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_32nanequal_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_32nanequal_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -7626,14 +7752,13 @@ static PyObject *__pyx_pf_8nanequal_32nanequal_2d_float_axis0(CYTHON_UNUSED PyOb Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - int __pyx_t_14; - Py_ssize_t __pyx_t_15; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_float_axis0", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int8_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -7648,20 +7773,20 @@ static PyObject *__pyx_pf_8nanequal_32nanequal_2d_float_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":550 - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0." + * np.ndarray[np.int8_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai + * cdef np.int8_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -7762,22 +7887,22 @@ static PyObject *__pyx_pf_8nanequal_32nanequal_2d_float_axis0(CYTHON_UNUSED PyOb * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":564 * for i0 in range(n0): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i1] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int8((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -7785,50 +7910,30 @@ static PyObject *__pyx_pf_8nanequal_32nanequal_2d_float_axis0(CYTHON_UNUSED PyOb /* "nanequal.pyx":565 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< + * if ai != bi: # <<<<<<<<<<<<<< * y[i1] = 0 * f = 0 */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__pyx_t_14) { - goto __pyx_L9_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L9_next_and:; - __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_14) { - goto __pyx_L10_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L10_next_and:; - __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_12 = __pyx_t_14; - __pyx_L8_bool_binop_done:; - if (__pyx_t_12) { + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_13) { /* "nanequal.pyx":566 * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i1] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_15 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_14 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":567 - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i1] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -7855,8 +7960,8 @@ static PyObject *__pyx_pf_8nanequal_32nanequal_2d_float_axis0(CYTHON_UNUSED PyOb * y[i1] = 1 * return y */ - __pyx_t_12 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_12) { + __pyx_t_13 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_13) { /* "nanequal.pyx":570 * break @@ -7867,9 +7972,9 @@ static PyObject *__pyx_pf_8nanequal_32nanequal_2d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_t_6 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L11; + goto __pyx_L8; } - __pyx_L11:; + __pyx_L8:; } /* "nanequal.pyx":571 @@ -7887,22 +7992,22 @@ static PyObject *__pyx_pf_8nanequal_32nanequal_2d_float_axis0(CYTHON_UNUSED PyOb /* "nanequal.pyx":547 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0." + * def nanequal_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7920,16 +8025,16 @@ static PyObject *__pyx_pf_8nanequal_32nanequal_2d_float_axis0(CYTHON_UNUSED PyOb /* "nanequal.pyx":575 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1." + * def nanequal_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_35nanequal_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_34nanequal_2d_float_axis1[] = "nanequal_2d_float_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1."; -static PyMethodDef __pyx_mdef_8nanequal_35nanequal_2d_float_axis1 = {"nanequal_2d_float_axis1", (PyCFunction)__pyx_pw_8nanequal_35nanequal_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_34nanequal_2d_float_axis1}; -static PyObject *__pyx_pw_8nanequal_35nanequal_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_35nanequal_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_34nanequal_2d_int8_axis1[] = "nanequal_2d_int8_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1."; +static PyMethodDef __pyx_mdef_8nanequal_35nanequal_2d_int8_axis1 = {"nanequal_2d_int8_axis1", (PyCFunction)__pyx_pw_8nanequal_35nanequal_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_34nanequal_2d_int8_axis1}; +static PyObject *__pyx_pw_8nanequal_35nanequal_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -7937,7 +8042,7 @@ static PyObject *__pyx_pw_8nanequal_35nanequal_2d_float_axis1(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int8_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -7958,11 +8063,11 @@ static PyObject *__pyx_pw_8nanequal_35nanequal_2d_float_axis1(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7975,15 +8080,15 @@ static PyObject *__pyx_pw_8nanequal_35nanequal_2d_float_axis1(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_34nanequal_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_34nanequal_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -7994,9 +8099,9 @@ static PyObject *__pyx_pw_8nanequal_35nanequal_2d_float_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_34nanequal_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_34nanequal_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -8024,14 +8129,13 @@ static PyObject *__pyx_pf_8nanequal_34nanequal_2d_float_axis1(CYTHON_UNUSED PyOb Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - int __pyx_t_14; - Py_ssize_t __pyx_t_15; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_float_axis1", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int8_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -8046,20 +8150,20 @@ static PyObject *__pyx_pf_8nanequal_34nanequal_2d_float_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":578 - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1." + * np.ndarray[np.int8_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float_t ai + * cdef np.int8_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -8160,22 +8264,22 @@ static PyObject *__pyx_pf_8nanequal_34nanequal_2d_float_axis1(CYTHON_UNUSED PyOb * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":592 * for i1 in range(n1): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i0] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int8((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -8183,50 +8287,30 @@ static PyObject *__pyx_pf_8nanequal_34nanequal_2d_float_axis1(CYTHON_UNUSED PyOb /* "nanequal.pyx":593 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< + * if ai != bi: # <<<<<<<<<<<<<< * y[i0] = 0 * f = 0 */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__pyx_t_14) { - goto __pyx_L9_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L9_next_and:; - __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_14) { - goto __pyx_L10_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L10_next_and:; - __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_12 = __pyx_t_14; - __pyx_L8_bool_binop_done:; - if (__pyx_t_12) { + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_13) { /* "nanequal.pyx":594 * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i0] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_15 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_14 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":595 - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i0] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -8253,8 +8337,8 @@ static PyObject *__pyx_pf_8nanequal_34nanequal_2d_float_axis1(CYTHON_UNUSED PyOb * y[i0] = 1 * return y */ - __pyx_t_12 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_12) { + __pyx_t_13 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_13) { /* "nanequal.pyx":598 * break @@ -8265,9 +8349,9 @@ static PyObject *__pyx_pf_8nanequal_34nanequal_2d_float_axis1(CYTHON_UNUSED PyOb */ __pyx_t_6 = __pyx_v_i0; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L11; + goto __pyx_L8; } - __pyx_L11:; + __pyx_L8:; } /* "nanequal.pyx":599 @@ -8285,22 +8369,22 @@ static PyObject *__pyx_pf_8nanequal_34nanequal_2d_float_axis1(CYTHON_UNUSED PyOb /* "nanequal.pyx":575 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1." + * def nanequal_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8318,16 +8402,16 @@ static PyObject *__pyx_pf_8nanequal_34nanequal_2d_float_axis1(CYTHON_UNUSED PyOb /* "nanequal.pyx":603 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0." + * def nanequal_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_37nanequal_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_36nanequal_2d_float32_axis0[] = "nanequal_2d_float32_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_8nanequal_37nanequal_2d_float32_axis0 = {"nanequal_2d_float32_axis0", (PyCFunction)__pyx_pw_8nanequal_37nanequal_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_36nanequal_2d_float32_axis0}; -static PyObject *__pyx_pw_8nanequal_37nanequal_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_37nanequal_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_36nanequal_2d_int32_axis0[] = "nanequal_2d_int32_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_8nanequal_37nanequal_2d_int32_axis0 = {"nanequal_2d_int32_axis0", (PyCFunction)__pyx_pw_8nanequal_37nanequal_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_36nanequal_2d_int32_axis0}; +static PyObject *__pyx_pw_8nanequal_37nanequal_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -8335,7 +8419,7 @@ static PyObject *__pyx_pw_8nanequal_37nanequal_2d_float32_axis0(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -8356,11 +8440,11 @@ static PyObject *__pyx_pw_8nanequal_37nanequal_2d_float32_axis0(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -8373,15 +8457,15 @@ static PyObject *__pyx_pw_8nanequal_37nanequal_2d_float32_axis0(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_36nanequal_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_36nanequal_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -8392,9 +8476,9 @@ static PyObject *__pyx_pw_8nanequal_37nanequal_2d_float32_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_36nanequal_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_36nanequal_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -8422,14 +8506,13 @@ static PyObject *__pyx_pf_8nanequal_36nanequal_2d_float32_axis0(CYTHON_UNUSED Py Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - int __pyx_t_14; - Py_ssize_t __pyx_t_15; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_float32_axis0", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -8444,20 +8527,20 @@ static PyObject *__pyx_pf_8nanequal_36nanequal_2d_float32_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":606 - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0." + * np.ndarray[np.int32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai + * cdef np.int32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -8558,22 +8641,22 @@ static PyObject *__pyx_pf_8nanequal_36nanequal_2d_float32_axis0(CYTHON_UNUSED Py * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":620 * for i0 in range(n0): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i1] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int32((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -8581,50 +8664,30 @@ static PyObject *__pyx_pf_8nanequal_36nanequal_2d_float32_axis0(CYTHON_UNUSED Py /* "nanequal.pyx":621 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< + * if ai != bi: # <<<<<<<<<<<<<< * y[i1] = 0 * f = 0 */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__pyx_t_14) { - goto __pyx_L9_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L9_next_and:; - __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_14) { - goto __pyx_L10_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L10_next_and:; - __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_12 = __pyx_t_14; - __pyx_L8_bool_binop_done:; - if (__pyx_t_12) { + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_13) { /* "nanequal.pyx":622 * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i1] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_15 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_14 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":623 - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i1] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -8651,8 +8714,8 @@ static PyObject *__pyx_pf_8nanequal_36nanequal_2d_float32_axis0(CYTHON_UNUSED Py * y[i1] = 1 * return y */ - __pyx_t_12 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_12) { + __pyx_t_13 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_13) { /* "nanequal.pyx":626 * break @@ -8663,9 +8726,9 @@ static PyObject *__pyx_pf_8nanequal_36nanequal_2d_float32_axis0(CYTHON_UNUSED Py */ __pyx_t_6 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L11; + goto __pyx_L8; } - __pyx_L11:; + __pyx_L8:; } /* "nanequal.pyx":627 @@ -8683,22 +8746,22 @@ static PyObject *__pyx_pf_8nanequal_36nanequal_2d_float32_axis0(CYTHON_UNUSED Py /* "nanequal.pyx":603 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0." + * def nanequal_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8716,16 +8779,16 @@ static PyObject *__pyx_pf_8nanequal_36nanequal_2d_float32_axis0(CYTHON_UNUSED Py /* "nanequal.pyx":631 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1." + * def nanequal_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_39nanequal_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_38nanequal_2d_float32_axis1[] = "nanequal_2d_float32_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1."; -static PyMethodDef __pyx_mdef_8nanequal_39nanequal_2d_float32_axis1 = {"nanequal_2d_float32_axis1", (PyCFunction)__pyx_pw_8nanequal_39nanequal_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_38nanequal_2d_float32_axis1}; -static PyObject *__pyx_pw_8nanequal_39nanequal_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_39nanequal_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_38nanequal_2d_int32_axis1[] = "nanequal_2d_int32_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1."; +static PyMethodDef __pyx_mdef_8nanequal_39nanequal_2d_int32_axis1 = {"nanequal_2d_int32_axis1", (PyCFunction)__pyx_pw_8nanequal_39nanequal_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_38nanequal_2d_int32_axis1}; +static PyObject *__pyx_pw_8nanequal_39nanequal_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -8733,7 +8796,7 @@ static PyObject *__pyx_pw_8nanequal_39nanequal_2d_float32_axis1(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -8754,11 +8817,11 @@ static PyObject *__pyx_pw_8nanequal_39nanequal_2d_float32_axis1(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -8771,15 +8834,15 @@ static PyObject *__pyx_pw_8nanequal_39nanequal_2d_float32_axis1(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_38nanequal_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_38nanequal_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -8790,9 +8853,9 @@ static PyObject *__pyx_pw_8nanequal_39nanequal_2d_float32_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_38nanequal_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_38nanequal_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -8820,14 +8883,13 @@ static PyObject *__pyx_pf_8nanequal_38nanequal_2d_float32_axis1(CYTHON_UNUSED Py Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - int __pyx_t_14; - Py_ssize_t __pyx_t_15; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_float32_axis1", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -8842,20 +8904,20 @@ static PyObject *__pyx_pf_8nanequal_38nanequal_2d_float32_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":634 - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1." + * np.ndarray[np.int32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t ai + * cdef np.int32_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -8956,22 +9018,22 @@ static PyObject *__pyx_pf_8nanequal_38nanequal_2d_float32_axis1(CYTHON_UNUSED Py * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":648 * for i1 in range(n1): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i0] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int32((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -8979,50 +9041,30 @@ static PyObject *__pyx_pf_8nanequal_38nanequal_2d_float32_axis1(CYTHON_UNUSED Py /* "nanequal.pyx":649 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< + * if ai != bi: # <<<<<<<<<<<<<< * y[i0] = 0 * f = 0 */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__pyx_t_14) { - goto __pyx_L9_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L9_next_and:; - __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_14) { - goto __pyx_L10_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L10_next_and:; - __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_12 = __pyx_t_14; - __pyx_L8_bool_binop_done:; - if (__pyx_t_12) { + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_13) { /* "nanequal.pyx":650 * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i0] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_15 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_14 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":651 - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i0] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -9049,8 +9091,8 @@ static PyObject *__pyx_pf_8nanequal_38nanequal_2d_float32_axis1(CYTHON_UNUSED Py * y[i0] = 1 * return y */ - __pyx_t_12 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_12) { + __pyx_t_13 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_13) { /* "nanequal.pyx":654 * break @@ -9061,9 +9103,9 @@ static PyObject *__pyx_pf_8nanequal_38nanequal_2d_float32_axis1(CYTHON_UNUSED Py */ __pyx_t_6 = __pyx_v_i0; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L11; + goto __pyx_L8; } - __pyx_L11:; + __pyx_L8:; } /* "nanequal.pyx":655 @@ -9081,22 +9123,22 @@ static PyObject *__pyx_pf_8nanequal_38nanequal_2d_float32_axis1(CYTHON_UNUSED Py /* "nanequal.pyx":631 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1." + * def nanequal_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9114,16 +9156,16 @@ static PyObject *__pyx_pf_8nanequal_38nanequal_2d_float32_axis1(CYTHON_UNUSED Py /* "nanequal.pyx":659 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0." + * def nanequal_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_41nanequal_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_40nanequal_2d_float64_axis0[] = "nanequal_2d_float64_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_8nanequal_41nanequal_2d_float64_axis0 = {"nanequal_2d_float64_axis0", (PyCFunction)__pyx_pw_8nanequal_41nanequal_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_40nanequal_2d_float64_axis0}; -static PyObject *__pyx_pw_8nanequal_41nanequal_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_41nanequal_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_40nanequal_2d_int64_axis0[] = "nanequal_2d_int64_axis0(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_8nanequal_41nanequal_2d_int64_axis0 = {"nanequal_2d_int64_axis0", (PyCFunction)__pyx_pw_8nanequal_41nanequal_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_40nanequal_2d_int64_axis0}; +static PyObject *__pyx_pw_8nanequal_41nanequal_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -9131,7 +9173,7 @@ static PyObject *__pyx_pw_8nanequal_41nanequal_2d_float64_axis0(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -9152,11 +9194,11 @@ static PyObject *__pyx_pw_8nanequal_41nanequal_2d_float64_axis0(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9169,15 +9211,15 @@ static PyObject *__pyx_pw_8nanequal_41nanequal_2d_float64_axis0(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_40nanequal_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_40nanequal_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -9188,9 +9230,9 @@ static PyObject *__pyx_pw_8nanequal_41nanequal_2d_float64_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_40nanequal_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_40nanequal_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -9218,14 +9260,13 @@ static PyObject *__pyx_pf_8nanequal_40nanequal_2d_float64_axis0(CYTHON_UNUSED Py Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - int __pyx_t_14; - Py_ssize_t __pyx_t_15; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_float64_axis0", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -9240,20 +9281,20 @@ static PyObject *__pyx_pf_8nanequal_40nanequal_2d_float64_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":662 - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0." + * np.ndarray[np.int64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai + * cdef np.int64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -9354,22 +9395,22 @@ static PyObject *__pyx_pf_8nanequal_40nanequal_2d_float64_axis0(CYTHON_UNUSED Py * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":676 * for i0 in range(n0): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i1] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int64((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -9377,50 +9418,30 @@ static PyObject *__pyx_pf_8nanequal_40nanequal_2d_float64_axis0(CYTHON_UNUSED Py /* "nanequal.pyx":677 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< + * if ai != bi: # <<<<<<<<<<<<<< * y[i1] = 0 * f = 0 */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__pyx_t_14) { - goto __pyx_L9_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L9_next_and:; - __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_14) { - goto __pyx_L10_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L10_next_and:; - __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_12 = __pyx_t_14; - __pyx_L8_bool_binop_done:; - if (__pyx_t_12) { + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_13) { /* "nanequal.pyx":678 * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i1] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_15 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_14 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":679 - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i1] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -9447,8 +9468,8 @@ static PyObject *__pyx_pf_8nanequal_40nanequal_2d_float64_axis0(CYTHON_UNUSED Py * y[i1] = 1 * return y */ - __pyx_t_12 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_12) { + __pyx_t_13 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_13) { /* "nanequal.pyx":682 * break @@ -9459,9 +9480,9 @@ static PyObject *__pyx_pf_8nanequal_40nanequal_2d_float64_axis0(CYTHON_UNUSED Py */ __pyx_t_6 = __pyx_v_i1; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L11; + goto __pyx_L8; } - __pyx_L11:; + __pyx_L8:; } /* "nanequal.pyx":683 @@ -9479,22 +9500,22 @@ static PyObject *__pyx_pf_8nanequal_40nanequal_2d_float64_axis0(CYTHON_UNUSED Py /* "nanequal.pyx":659 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0." + * def nanequal_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9512,16 +9533,16 @@ static PyObject *__pyx_pf_8nanequal_40nanequal_2d_float64_axis0(CYTHON_UNUSED Py /* "nanequal.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1." + * def nanequal_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_8nanequal_43nanequal_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8nanequal_42nanequal_2d_float64_axis1[] = "nanequal_2d_float64_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1."; -static PyMethodDef __pyx_mdef_8nanequal_43nanequal_2d_float64_axis1 = {"nanequal_2d_float64_axis1", (PyCFunction)__pyx_pw_8nanequal_43nanequal_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_42nanequal_2d_float64_axis1}; -static PyObject *__pyx_pw_8nanequal_43nanequal_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8nanequal_43nanequal_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8nanequal_42nanequal_2d_int64_axis1[] = "nanequal_2d_int64_axis1(ndarray a, ndarray b)\nCheck whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1."; +static PyMethodDef __pyx_mdef_8nanequal_43nanequal_2d_int64_axis1 = {"nanequal_2d_int64_axis1", (PyCFunction)__pyx_pw_8nanequal_43nanequal_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8nanequal_42nanequal_2d_int64_axis1}; +static PyObject *__pyx_pw_8nanequal_43nanequal_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_b = 0; int __pyx_lineno = 0; @@ -9529,7 +9550,7 @@ static PyObject *__pyx_pw_8nanequal_43nanequal_2d_float64_axis1(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanequal_2d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_b,0}; PyObject* values[2] = {0,0}; @@ -9550,11 +9571,11 @@ static PyObject *__pyx_pw_8nanequal_43nanequal_2d_float64_axis1(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanequal_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9567,15 +9588,15 @@ static PyObject *__pyx_pw_8nanequal_43nanequal_2d_float64_axis1(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanequal_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanequal_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_ptype_5numpy_ndarray, 1, "b", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8nanequal_42nanequal_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); + __pyx_r = __pyx_pf_8nanequal_42nanequal_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_b); /* function exit code */ goto __pyx_L0; @@ -9586,9 +9607,9 @@ static PyObject *__pyx_pw_8nanequal_43nanequal_2d_float64_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8nanequal_42nanequal_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { +static PyObject *__pyx_pf_8nanequal_42nanequal_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) { int __pyx_v_f; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -9616,14 +9637,13 @@ static PyObject *__pyx_pf_8nanequal_42nanequal_2d_float64_axis1(CYTHON_UNUSED Py Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - int __pyx_t_14; - Py_ssize_t __pyx_t_15; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanequal_2d_float64_axis1", 0); + __Pyx_RefNannySetupContext("nanequal_2d_int64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -9638,20 +9658,20 @@ static PyObject *__pyx_pf_8nanequal_42nanequal_2d_float64_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_b.rcbuffer = &__pyx_pybuffer_b; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_v_b, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; /* "nanequal.pyx":690 - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1." + * np.ndarray[np.int64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1." * cdef int f = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t ai + * cdef np.int64_t ai * cdef Py_ssize_t i0, i1 */ __pyx_v_f = 1; @@ -9752,22 +9772,22 @@ static PyObject *__pyx_pf_8nanequal_42nanequal_2d_float64_axis1(CYTHON_UNUSED Py * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "nanequal.pyx":704 * for i1 in range(n1): * ai = a[i0, i1] * bi = b[i0, i1] # <<<<<<<<<<<<<< - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i0] = 0 */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int64((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_bi, __pyx_t_2); __pyx_t_2 = 0; @@ -9775,50 +9795,30 @@ static PyObject *__pyx_pf_8nanequal_42nanequal_2d_float64_axis1(CYTHON_UNUSED Py /* "nanequal.pyx":705 * ai = a[i0, i1] * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: # <<<<<<<<<<<<<< + * if ai != bi: # <<<<<<<<<<<<<< * y[i0] = 0 * f = 0 */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_ai); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyObject_RichCompare(__pyx_t_2, __pyx_v_bi, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__pyx_t_14) { - goto __pyx_L9_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L9_next_and:; - __pyx_t_14 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_14) { - goto __pyx_L10_next_and; - } else { - __pyx_t_12 = __pyx_t_14; - goto __pyx_L8_bool_binop_done; - } - __pyx_L10_next_and:; - __pyx_t_13 = PyObject_RichCompare(__pyx_v_bi, __pyx_v_bi, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_12 = __pyx_t_14; - __pyx_L8_bool_binop_done:; - if (__pyx_t_12) { + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_13) { /* "nanequal.pyx":706 * bi = b[i0, i1] - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i0] = 0 # <<<<<<<<<<<<<< * f = 0 * break */ - __pyx_t_15 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_y.diminfo[0].strides) = 0; + __pyx_t_14 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_y.diminfo[0].strides) = 0; /* "nanequal.pyx":707 - * if ai != bi and ai == ai and bi == bi: + * if ai != bi: * y[i0] = 0 * f = 0 # <<<<<<<<<<<<<< * break @@ -9845,8 +9845,8 @@ static PyObject *__pyx_pf_8nanequal_42nanequal_2d_float64_axis1(CYTHON_UNUSED Py * y[i0] = 1 * return y */ - __pyx_t_12 = ((__pyx_v_f == 1) != 0); - if (__pyx_t_12) { + __pyx_t_13 = ((__pyx_v_f == 1) != 0); + if (__pyx_t_13) { /* "nanequal.pyx":710 * break @@ -9857,9 +9857,9 @@ static PyObject *__pyx_pf_8nanequal_42nanequal_2d_float64_axis1(CYTHON_UNUSED Py */ __pyx_t_6 = __pyx_v_i0; *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = 1; - goto __pyx_L11; + goto __pyx_L8; } - __pyx_L11:; + __pyx_L8:; } /* "nanequal.pyx":711 @@ -9877,22 +9877,22 @@ static PyObject *__pyx_pf_8nanequal_42nanequal_2d_float64_axis1(CYTHON_UNUSED Py /* "nanequal.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1." + * def nanequal_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1." */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanequal.nanequal_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanequal.nanequal_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9908,7 +9908,7 @@ static PyObject *__pyx_pf_8nanequal_42nanequal_2d_float64_axis1(CYTHON_UNUSED Py } /* "nanequal.pyx":738 - * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 + * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 * * def nanequal_slow_axis0(arr1, arr2): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanequal along axis 0." @@ -10027,7 +10027,7 @@ static PyObject *__pyx_pf_8nanequal_44nanequal_slow_axis0(CYTHON_UNUSED PyObject goto __pyx_L0; /* "nanequal.pyx":738 - * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 + * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 * * def nanequal_slow_axis0(arr1, arr2): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanequal along axis 0." @@ -14701,7 +14701,7 @@ static PyObject *__pyx_pf_8nanequal_110nanequal_slow_axisNone(CYTHON_UNUSED PyOb return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -14751,7 +14751,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -14764,7 +14764,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -14773,7 +14773,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -14782,7 +14782,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -14791,7 +14791,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -14801,7 +14801,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -14813,7 +14813,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -14824,7 +14824,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -14840,7 +14840,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -14852,7 +14852,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -14866,7 +14866,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -14882,7 +14882,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -14894,7 +14894,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -14908,7 +14908,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -14917,7 +14917,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -14926,7 +14926,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -14936,7 +14936,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -14945,7 +14945,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -14954,7 +14954,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -14965,7 +14965,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -14974,7 +14974,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -14987,7 +14987,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -14996,7 +14996,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -15007,7 +15007,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -15016,7 +15016,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -15025,7 +15025,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -15034,7 +15034,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -15043,7 +15043,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -15055,7 +15055,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -15064,7 +15064,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -15084,7 +15084,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -15100,7 +15100,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -15115,7 +15115,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -15125,7 +15125,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -15135,7 +15135,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -15158,7 +15158,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -15178,7 +15178,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -15192,7 +15192,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -15201,7 +15201,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -15212,7 +15212,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -15223,7 +15223,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -15234,7 +15234,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -15245,7 +15245,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -15256,7 +15256,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -15267,7 +15267,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -15278,7 +15278,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -15289,7 +15289,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -15300,7 +15300,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -15311,7 +15311,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -15322,7 +15322,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -15333,7 +15333,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -15344,7 +15344,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -15355,7 +15355,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -15366,7 +15366,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -15377,7 +15377,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -15389,7 +15389,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -15415,7 +15415,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -15424,7 +15424,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -15436,7 +15436,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -15445,7 +15445,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -15454,7 +15454,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -15463,7 +15463,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -15473,7 +15473,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -15483,7 +15483,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -15515,7 +15515,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -15539,7 +15539,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -15549,7 +15549,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -15561,7 +15561,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -15571,7 +15571,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -15583,7 +15583,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -15595,7 +15595,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -15612,7 +15612,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -15626,7 +15626,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -15645,7 +15645,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -15662,7 +15662,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -15676,7 +15676,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -15695,7 +15695,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -15712,7 +15712,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -15726,7 +15726,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -15745,7 +15745,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -15762,7 +15762,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -15776,7 +15776,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -15795,7 +15795,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -15812,7 +15812,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -15826,7 +15826,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -15845,7 +15845,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -15877,7 +15877,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -15886,7 +15886,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -15895,7 +15895,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -15917,7 +15917,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -15930,7 +15930,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -15969,7 +15969,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -15986,7 +15986,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -16000,7 +16000,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -16023,7 +16023,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -16043,7 +16043,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -16057,7 +16057,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -16073,7 +16073,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -16082,7 +16082,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -16091,7 +16091,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -16102,7 +16102,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -16112,7 +16112,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -16122,7 +16122,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -16134,7 +16134,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -16144,7 +16144,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -16158,7 +16158,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -16176,7 +16176,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -16194,7 +16194,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -16212,7 +16212,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -16230,7 +16230,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -16248,7 +16248,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -16266,7 +16266,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -16284,7 +16284,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -16302,7 +16302,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -16320,7 +16320,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -16338,7 +16338,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -16356,7 +16356,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -16374,7 +16374,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -16392,7 +16392,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -16412,7 +16412,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -16432,7 +16432,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -16452,7 +16452,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -16471,7 +16471,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -16494,7 +16494,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -16506,7 +16506,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -16518,7 +16518,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -16528,7 +16528,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -16538,7 +16538,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -16563,7 +16563,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -16578,7 +16578,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -16589,7 +16589,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -16601,7 +16601,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -16610,7 +16610,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -16621,7 +16621,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -16630,7 +16630,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -16639,7 +16639,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -16651,7 +16651,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -16665,7 +16665,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -16675,7 +16675,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -16689,7 +16689,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -16700,7 +16700,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -16738,7 +16738,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -16752,6 +16751,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_u_Test_whether_two_array_are_equa, __pyx_k_Test_whether_two_array_are_equa, sizeof(__pyx_k_Test_whether_two_array_are_equa), 0, 1, 0, 0}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__20, __pyx_k__20, sizeof(__pyx_k__20), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -16899,139 +16899,139 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "nanequal.pyx":446 + /* "nanequal.pyx":390 * bi = b[i0] * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__2 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__2 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "nanequal.pyx":447 + /* "nanequal.pyx":391 * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__3 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__3 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "nanequal.pyx":464 + /* "nanequal.pyx":408 * bi = b[i0] * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__4 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__4 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "nanequal.pyx":465 + /* "nanequal.pyx":409 * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__5 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__5 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "nanequal.pyx":482 + /* "nanequal.pyx":426 * bi = b[i0] * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__6 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__6 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6); - /* "nanequal.pyx":483 + /* "nanequal.pyx":427 * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__7 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__7 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7); - /* "nanequal.pyx":502 + /* "nanequal.pyx":446 * bi = b[i0, i1] * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__8 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__8 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8); - /* "nanequal.pyx":503 + /* "nanequal.pyx":447 * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__9 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__9 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - /* "nanequal.pyx":522 + /* "nanequal.pyx":466 * bi = b[i0, i1] * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__10 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__10 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); - /* "nanequal.pyx":523 + /* "nanequal.pyx":467 * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__11 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__11 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - /* "nanequal.pyx":542 + /* "nanequal.pyx":486 * bi = b[i0, i1] * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) # <<<<<<<<<<<<<< * return np.bool_(True) * */ - __pyx_tuple__12 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__12 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__12); __Pyx_GIVEREF(__pyx_tuple__12); - /* "nanequal.pyx":543 + /* "nanequal.pyx":487 * if ai != bi and ai == ai and bi == bi: * return np.bool_(False) * return np.bool_(True) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __pyx_tuple__13 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__13 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -17042,7 +17042,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -17053,7 +17053,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -17064,7 +17064,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__16); __Pyx_GIVEREF(__pyx_tuple__16); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -17075,7 +17075,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -17086,7 +17086,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -17118,7 +17118,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__22 = PyTuple_Pack(4, __pyx_n_s_arr1, __pyx_n_s_arr2, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22); - __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":112 * return func(arr1, arr2) @@ -17130,250 +17130,250 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__24 = PyTuple_Pack(14, __pyx_n_s_arr1, __pyx_n_s_arr2, __pyx_n_s_axis, __pyx_n_s_a1, __pyx_n_s_a2, __pyx_n_s_ndim, __pyx_n_s_ndim2, __pyx_n_s_dtype, __pyx_n_s_dim1, __pyx_n_s_dim2, __pyx_n_s_i, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__24); __Pyx_GIVEREF(__pyx_tuple__24); - __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(3, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_selector, 112, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(3, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_selector, 112, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":209 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0." + * def nanequal_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0." */ __pyx_tuple__26 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__26); __Pyx_GIVEREF(__pyx_tuple__26); - __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_int_axis0, 209, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_float_axis0, 209, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":237 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1." + * def nanequal_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1." */ __pyx_tuple__28 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__28); __Pyx_GIVEREF(__pyx_tuple__28); - __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_int_axis1, 237, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_float_axis1, 237, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":265 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0." + * def nanequal_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0." */ __pyx_tuple__30 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30); - __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_int8_axis0, 265, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_float32_axis0, 265, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":293 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1." + * def nanequal_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1." */ __pyx_tuple__32 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__32); __Pyx_GIVEREF(__pyx_tuple__32); - __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_int8_axis1, 293, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_float32_axis1, 293, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":321 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0." + * def nanequal_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0." */ __pyx_tuple__34 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__34); __Pyx_GIVEREF(__pyx_tuple__34); - __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_int32_axis0, 321, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_float64_axis0, 321, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":349 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1." + * def nanequal_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1." */ __pyx_tuple__36 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); - __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_int32_axis1, 349, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_float64_axis1, 349, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":377 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0." + * def nanequal_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None." */ - __pyx_tuple__38 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__38 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__38); __Pyx_GIVEREF(__pyx_tuple__38); - __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_int64_axis0, 377, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_1d_float_axisNone, 377, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanequal.pyx":405 + /* "nanequal.pyx":395 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1." + * def nanequal_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None." */ - __pyx_tuple__40 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__40 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__40); __Pyx_GIVEREF(__pyx_tuple__40); - __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_int64_axis1, 405, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_1d_float32_axisNone, 395, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanequal.pyx":433 + /* "nanequal.pyx":413 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None." + * def nanequal_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] b): + * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None." */ - __pyx_tuple__42 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__42 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__42); __Pyx_GIVEREF(__pyx_tuple__42); - __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_1d_float_axisNone, 433, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_1d_float64_axisNone, 413, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanequal.pyx":451 + /* "nanequal.pyx":431 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None." + * def nanequal_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None." */ - __pyx_tuple__44 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__44 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__44); __Pyx_GIVEREF(__pyx_tuple__44); - __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_1d_float32_axisNone, 451, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_float_axisNone, 431, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanequal.pyx":469 + /* "nanequal.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] b): - * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None." + * def nanequal_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None." */ - __pyx_tuple__46 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__46 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__46); __Pyx_GIVEREF(__pyx_tuple__46); - __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_1d_float64_axisNone, 469, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_float32_axisNone, 451, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanequal.pyx":487 + /* "nanequal.pyx":471 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None." + * def nanequal_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None." */ - __pyx_tuple__48 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__48 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__48); __Pyx_GIVEREF(__pyx_tuple__48); - __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_float_axisNone, 487, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_float64_axisNone, 471, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanequal.pyx":507 + /* "nanequal.pyx":491 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None." + * def nanequal_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0." */ - __pyx_tuple__50 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__50 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__50); __Pyx_GIVEREF(__pyx_tuple__50); - __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_float32_axisNone, 507, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_int_axis0, 491, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanequal.pyx":527 + /* "nanequal.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None." + * def nanequal_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1." */ - __pyx_tuple__52 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__52 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__52); __Pyx_GIVEREF(__pyx_tuple__52); - __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_float64_axisNone, 527, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_int_axis1, 519, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":547 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0." + * def nanequal_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0." */ __pyx_tuple__54 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__54); __Pyx_GIVEREF(__pyx_tuple__54); - __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_float_axis0, 547, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_int8_axis0, 547, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":575 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1." + * def nanequal_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1." */ __pyx_tuple__56 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__56); __Pyx_GIVEREF(__pyx_tuple__56); - __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_float_axis1, 575, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_int8_axis1, 575, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":603 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0." + * def nanequal_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0." */ __pyx_tuple__58 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__58); __Pyx_GIVEREF(__pyx_tuple__58); - __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_float32_axis0, 603, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_int32_axis0, 603, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":631 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1." + * def nanequal_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1." */ __pyx_tuple__60 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__60); __Pyx_GIVEREF(__pyx_tuple__60); - __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_float32_axis1, 631, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_int32_axis1, 631, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":659 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0." + * def nanequal_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0." */ __pyx_tuple__62 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__62); __Pyx_GIVEREF(__pyx_tuple__62); - __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_float64_axis0, 659, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_int64_axis0, 659, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1." + * def nanequal_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1." */ __pyx_tuple__64 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_b, __pyx_n_s_f, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_bi); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__64); __Pyx_GIVEREF(__pyx_tuple__64); - __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_2d_float64_axis1, 687, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_2d_int64_axis1, 687, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":738 - * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 + * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 * * def nanequal_slow_axis0(arr1, arr2): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanequal along axis 0." @@ -17382,7 +17382,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__66 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__66); __Pyx_GIVEREF(__pyx_tuple__66); - __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis0, 738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis0, 738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":742 * return bn.slow.nanequal(arr1, arr2, axis=0) @@ -17394,7 +17394,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__68 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__68); __Pyx_GIVEREF(__pyx_tuple__68); - __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis1, 742, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis1, 742, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":746 * return bn.slow.nanequal(arr1, arr2, axis=1) @@ -17406,7 +17406,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__70 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__70); __Pyx_GIVEREF(__pyx_tuple__70); - __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis2, 746, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis2, 746, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":750 * return bn.slow.nanequal(arr1, arr2, axis=2) @@ -17418,7 +17418,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__72 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__72); __Pyx_GIVEREF(__pyx_tuple__72); - __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis3, 750, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis3, 750, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":754 * return bn.slow.nanequal(arr1, arr2, axis=3) @@ -17430,7 +17430,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__74 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__74); __Pyx_GIVEREF(__pyx_tuple__74); - __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis4, 754, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis4, 754, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":758 * return bn.slow.nanequal(arr1, arr2, axis=4) @@ -17442,7 +17442,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__76 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__76); __Pyx_GIVEREF(__pyx_tuple__76); - __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis5, 758, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis5, 758, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":762 * return bn.slow.nanequal(arr1, arr2, axis=5) @@ -17454,7 +17454,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__78 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__78); __Pyx_GIVEREF(__pyx_tuple__78); - __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis6, 762, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis6, 762, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":766 * return bn.slow.nanequal(arr1, arr2, axis=6) @@ -17466,7 +17466,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__80 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__80); __Pyx_GIVEREF(__pyx_tuple__80); - __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis7, 766, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis7, 766, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":770 * return bn.slow.nanequal(arr1, arr2, axis=7) @@ -17478,7 +17478,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__82 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__82); __Pyx_GIVEREF(__pyx_tuple__82); - __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis8, 770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis8, 770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":774 * return bn.slow.nanequal(arr1, arr2, axis=8) @@ -17490,7 +17490,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__84 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__84); __Pyx_GIVEREF(__pyx_tuple__84); - __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis9, 774, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis9, 774, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":778 * return bn.slow.nanequal(arr1, arr2, axis=9) @@ -17502,7 +17502,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__86 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__86); __Pyx_GIVEREF(__pyx_tuple__86); - __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis10, 778, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis10, 778, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":782 * return bn.slow.nanequal(arr1, arr2, axis=10) @@ -17514,7 +17514,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__88 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__88); __Pyx_GIVEREF(__pyx_tuple__88); - __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis11, 782, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis11, 782, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":786 * return bn.slow.nanequal(arr1, arr2, axis=11) @@ -17526,7 +17526,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__90 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__90); __Pyx_GIVEREF(__pyx_tuple__90); - __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis12, 786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis12, 786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":790 * return bn.slow.nanequal(arr1, arr2, axis=12) @@ -17538,7 +17538,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__92 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__92); __Pyx_GIVEREF(__pyx_tuple__92); - __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis13, 790, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis13, 790, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":794 * return bn.slow.nanequal(arr1, arr2, axis=13) @@ -17550,7 +17550,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__94 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__94); __Pyx_GIVEREF(__pyx_tuple__94); - __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis14, 794, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis14, 794, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":798 * return bn.slow.nanequal(arr1, arr2, axis=14) @@ -17562,7 +17562,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__96 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__96); __Pyx_GIVEREF(__pyx_tuple__96); - __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis15, 798, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis15, 798, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":802 * return bn.slow.nanequal(arr1, arr2, axis=15) @@ -17574,7 +17574,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__98 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__98); __Pyx_GIVEREF(__pyx_tuple__98); - __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis16, 802, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis16, 802, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":806 * return bn.slow.nanequal(arr1, arr2, axis=16) @@ -17586,7 +17586,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__100 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__100); __Pyx_GIVEREF(__pyx_tuple__100); - __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis17, 806, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis17, 806, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":810 * return bn.slow.nanequal(arr1, arr2, axis=17) @@ -17598,7 +17598,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__102 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__102); __Pyx_GIVEREF(__pyx_tuple__102); - __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis18, 810, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis18, 810, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":814 * return bn.slow.nanequal(arr1, arr2, axis=18) @@ -17610,7 +17610,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__104 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__104); __Pyx_GIVEREF(__pyx_tuple__104); - __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis19, 814, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis19, 814, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":818 * return bn.slow.nanequal(arr1, arr2, axis=19) @@ -17622,7 +17622,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__106 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__106); __Pyx_GIVEREF(__pyx_tuple__106); - __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis20, 818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis20, 818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":822 * return bn.slow.nanequal(arr1, arr2, axis=20) @@ -17634,7 +17634,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__108 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__108); __Pyx_GIVEREF(__pyx_tuple__108); - __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis21, 822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis21, 822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":826 * return bn.slow.nanequal(arr1, arr2, axis=21) @@ -17646,7 +17646,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__110 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__110); __Pyx_GIVEREF(__pyx_tuple__110); - __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis22, 826, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis22, 826, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":830 * return bn.slow.nanequal(arr1, arr2, axis=22) @@ -17658,7 +17658,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__112 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__112); __Pyx_GIVEREF(__pyx_tuple__112); - __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis23, 830, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis23, 830, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":834 * return bn.slow.nanequal(arr1, arr2, axis=23) @@ -17670,7 +17670,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__114 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__114); __Pyx_GIVEREF(__pyx_tuple__114); - __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis24, 834, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis24, 834, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":838 * return bn.slow.nanequal(arr1, arr2, axis=24) @@ -17682,7 +17682,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__116 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__116); __Pyx_GIVEREF(__pyx_tuple__116); - __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis25, 838, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis25, 838, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":842 * return bn.slow.nanequal(arr1, arr2, axis=25) @@ -17694,7 +17694,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__118 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__118); __Pyx_GIVEREF(__pyx_tuple__118); - __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis26, 842, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis26, 842, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":846 * return bn.slow.nanequal(arr1, arr2, axis=26) @@ -17706,7 +17706,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__120 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__120); __Pyx_GIVEREF(__pyx_tuple__120); - __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis27, 846, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis27, 846, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":850 * return bn.slow.nanequal(arr1, arr2, axis=27) @@ -17718,7 +17718,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__122 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__122); __Pyx_GIVEREF(__pyx_tuple__122); - __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis28, 850, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis28, 850, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":854 * return bn.slow.nanequal(arr1, arr2, axis=28) @@ -17730,7 +17730,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__124 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__124); __Pyx_GIVEREF(__pyx_tuple__124); - __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis29, 854, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis29, 854, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":858 * return bn.slow.nanequal(arr1, arr2, axis=29) @@ -17742,7 +17742,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__126 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__126); __Pyx_GIVEREF(__pyx_tuple__126); - __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis30, 858, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis30, 858, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":862 * return bn.slow.nanequal(arr1, arr2, axis=30) @@ -17754,7 +17754,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__128 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__128); __Pyx_GIVEREF(__pyx_tuple__128); - __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis31, 862, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis31, 862, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":866 * return bn.slow.nanequal(arr1, arr2, axis=31) @@ -17766,7 +17766,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__130 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__130); __Pyx_GIVEREF(__pyx_tuple__130); - __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axis32, 866, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axis32, 866, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanequal.pyx":870 * return bn.slow.nanequal(arr1, arr2, axis=32) @@ -17778,7 +17778,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__132 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__132); __Pyx_GIVEREF(__pyx_tuple__132); - __pyx_codeobj__133 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanequal_slow_axisNone, 870, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__133 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanequal_slow_axisNone, 870, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -18744,249 +18744,249 @@ PyMODINIT_FUNC PyInit_nanequal(void) /* "nanequal.pyx":209 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0." + * def nanequal_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_5nanequal_2d_int_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_5nanequal_2d_float_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":237 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1." + * def nanequal_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_7nanequal_2d_int_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_7nanequal_2d_float_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":265 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0." + * def nanequal_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_9nanequal_2d_int8_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_9nanequal_2d_float32_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":293 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1." + * def nanequal_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_11nanequal_2d_int8_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_11nanequal_2d_float32_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":321 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0." + * def nanequal_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_13nanequal_2d_int32_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_13nanequal_2d_float64_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":349 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1." + * def nanequal_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_15nanequal_2d_int32_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_15nanequal_2d_float64_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":377 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0." - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_17nanequal_2d_int64_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "nanequal.pyx":405 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanequal_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1." - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_19nanequal_2d_int64_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "nanequal.pyx":433 - * @cython.boundscheck(False) - * @cython.wraparound(False) * def nanequal_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float_t, ndim=1] b): * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_21nanequal_1d_float_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_17nanequal_1d_float_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanequal.pyx":451 + /* "nanequal.pyx":395 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanequal_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float32_t, ndim=1] b): * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float32 along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_23nanequal_1d_float32_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_19nanequal_1d_float32_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanequal.pyx":469 + /* "nanequal.pyx":413 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanequal_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=1] b): * "Check whether two arrays are equal, ignoring NaNs, in 1d array with dtype=float64 along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_25nanequal_1d_float64_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_21nanequal_1d_float64_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanequal.pyx":487 + /* "nanequal.pyx":431 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanequal_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float_t, ndim=2] b): * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_27nanequal_2d_float_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_23nanequal_2d_float_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanequal.pyx":507 + /* "nanequal.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanequal_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float32_t, ndim=2] b): * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_29nanequal_2d_float32_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_25nanequal_2d_float32_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanequal.pyx":527 + /* "nanequal.pyx":471 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanequal_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< * np.ndarray[np.float64_t, ndim=2] b): * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=None." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_31nanequal_2d_float64_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_27nanequal_2d_float64_axisNone, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "nanequal.pyx":491 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanequal_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=0." + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_29nanequal_2d_int_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "nanequal.pyx":519 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanequal_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int along axis=1." + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_31nanequal_2d_int_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":547 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=0." + * def nanequal_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_33nanequal_2d_float_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_33nanequal_2d_int8_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":575 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float along axis=1." + * def nanequal_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int8 along axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_35nanequal_2d_float_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_35nanequal_2d_int8_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":603 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=0." + * def nanequal_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_37nanequal_2d_float32_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_37nanequal_2d_int32_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":631 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float32 along axis=1." + * def nanequal_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int32 along axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_39nanequal_2d_float32_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_39nanequal_2d_int32_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":659 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=0." + * def nanequal_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_41nanequal_2d_float64_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_41nanequal_2d_int64_axis0, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanequal_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=2] b): - * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=float64 along axis=1." + * def nanequal_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=2] b): + * "Check whether two arrays are equal, ignoring NaNs, in 2d array with dtype=int64 along axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_43nanequal_2d_float64_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8nanequal_43nanequal_2d_int64_axis1, NULL, __pyx_n_s_nanequal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanequal_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":713 * return y * * cdef dict nanequal_dict = {} # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_int, 0)] = nanequal_2d_int_axis0 - * nanequal_dict[(2, NPY_int, 1)] = nanequal_2d_int_axis1 + * nanequal_dict[(2, NPY_float, 0)] = nanequal_2d_float_axis0 + * nanequal_dict[(2, NPY_float, 1)] = nanequal_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -18998,17 +18998,17 @@ PyMODINIT_FUNC PyInit_nanequal(void) /* "nanequal.pyx":714 * * cdef dict nanequal_dict = {} - * nanequal_dict[(2, NPY_int, 0)] = nanequal_2d_int_axis0 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_int, 1)] = nanequal_2d_int_axis1 - * nanequal_dict[(2, NPY_int8, 0)] = nanequal_2d_int8_axis0 + * nanequal_dict[(2, NPY_float, 0)] = nanequal_2d_float_axis0 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float, 1)] = nanequal_2d_float_axis1 + * nanequal_dict[(2, NPY_float32, 0)] = nanequal_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19027,18 +19027,18 @@ PyMODINIT_FUNC PyInit_nanequal(void) /* "nanequal.pyx":715 * cdef dict nanequal_dict = {} - * nanequal_dict[(2, NPY_int, 0)] = nanequal_2d_int_axis0 - * nanequal_dict[(2, NPY_int, 1)] = nanequal_2d_int_axis1 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_int8, 0)] = nanequal_2d_int8_axis0 - * nanequal_dict[(2, NPY_int8, 1)] = nanequal_2d_int8_axis1 + * nanequal_dict[(2, NPY_float, 0)] = nanequal_2d_float_axis0 + * nanequal_dict[(2, NPY_float, 1)] = nanequal_2d_float_axis1 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float32, 0)] = nanequal_2d_float32_axis0 + * nanequal_dict[(2, NPY_float32, 1)] = nanequal_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19056,19 +19056,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":716 - * nanequal_dict[(2, NPY_int, 0)] = nanequal_2d_int_axis0 - * nanequal_dict[(2, NPY_int, 1)] = nanequal_2d_int_axis1 - * nanequal_dict[(2, NPY_int8, 0)] = nanequal_2d_int8_axis0 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_int8, 1)] = nanequal_2d_int8_axis1 - * nanequal_dict[(2, NPY_int32, 0)] = nanequal_2d_int32_axis0 + * nanequal_dict[(2, NPY_float, 0)] = nanequal_2d_float_axis0 + * nanequal_dict[(2, NPY_float, 1)] = nanequal_2d_float_axis1 + * nanequal_dict[(2, NPY_float32, 0)] = nanequal_2d_float32_axis0 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float32, 1)] = nanequal_2d_float32_axis1 + * nanequal_dict[(2, NPY_float64, 0)] = nanequal_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19086,19 +19086,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":717 - * nanequal_dict[(2, NPY_int, 1)] = nanequal_2d_int_axis1 - * nanequal_dict[(2, NPY_int8, 0)] = nanequal_2d_int8_axis0 - * nanequal_dict[(2, NPY_int8, 1)] = nanequal_2d_int8_axis1 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_int32, 0)] = nanequal_2d_int32_axis0 - * nanequal_dict[(2, NPY_int32, 1)] = nanequal_2d_int32_axis1 + * nanequal_dict[(2, NPY_float, 1)] = nanequal_2d_float_axis1 + * nanequal_dict[(2, NPY_float32, 0)] = nanequal_2d_float32_axis0 + * nanequal_dict[(2, NPY_float32, 1)] = nanequal_2d_float32_axis1 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float64, 0)] = nanequal_2d_float64_axis0 + * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19116,19 +19116,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":718 - * nanequal_dict[(2, NPY_int8, 0)] = nanequal_2d_int8_axis0 - * nanequal_dict[(2, NPY_int8, 1)] = nanequal_2d_int8_axis1 - * nanequal_dict[(2, NPY_int32, 0)] = nanequal_2d_int32_axis0 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_int32, 1)] = nanequal_2d_int32_axis1 - * nanequal_dict[(2, NPY_int64, 0)] = nanequal_2d_int64_axis0 + * nanequal_dict[(2, NPY_float32, 0)] = nanequal_2d_float32_axis0 + * nanequal_dict[(2, NPY_float32, 1)] = nanequal_2d_float32_axis1 + * nanequal_dict[(2, NPY_float64, 0)] = nanequal_2d_float64_axis0 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 + * nanequal_dict[(1, NPY_float, 0)] = nanequal_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19146,19 +19146,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":719 - * nanequal_dict[(2, NPY_int8, 1)] = nanequal_2d_int8_axis1 - * nanequal_dict[(2, NPY_int32, 0)] = nanequal_2d_int32_axis0 - * nanequal_dict[(2, NPY_int32, 1)] = nanequal_2d_int32_axis1 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_int64, 0)] = nanequal_2d_int64_axis0 - * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 + * nanequal_dict[(2, NPY_float32, 1)] = nanequal_2d_float32_axis1 + * nanequal_dict[(2, NPY_float64, 0)] = nanequal_2d_float64_axis0 + * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float, 0)] = nanequal_1d_float_axisNone + * nanequal_dict[(1, NPY_float, None)] = nanequal_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19176,25 +19176,25 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":720 - * nanequal_dict[(2, NPY_int32, 0)] = nanequal_2d_int32_axis0 - * nanequal_dict[(2, NPY_int32, 1)] = nanequal_2d_int32_axis1 - * nanequal_dict[(2, NPY_int64, 0)] = nanequal_2d_int64_axis0 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 - * nanequal_dict[(1, NPY_float, 0)] = nanequal_1d_float_axisNone + * nanequal_dict[(2, NPY_float64, 0)] = nanequal_2d_float64_axis0 + * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 + * nanequal_dict[(1, NPY_float, 0)] = nanequal_1d_float_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float, None)] = nanequal_1d_float_axisNone + * nanequal_dict[(1, NPY_float32, 0)] = nanequal_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -19206,49 +19206,49 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":721 - * nanequal_dict[(2, NPY_int32, 1)] = nanequal_2d_int32_axis1 - * nanequal_dict[(2, NPY_int64, 0)] = nanequal_2d_int64_axis0 - * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 * nanequal_dict[(1, NPY_float, 0)] = nanequal_1d_float_axisNone - * nanequal_dict[(1, NPY_float, None)] = nanequal_1d_float_axisNone + * nanequal_dict[(1, NPY_float, None)] = nanequal_1d_float_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float32, 0)] = nanequal_1d_float32_axisNone + * nanequal_dict[(1, NPY_float32, None)] = nanequal_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8nanequal_nanequal_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":722 - * nanequal_dict[(2, NPY_int64, 0)] = nanequal_2d_int64_axis0 - * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 - * nanequal_dict[(1, NPY_float, 0)] = nanequal_1d_float_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float, 0)] = nanequal_1d_float_axisNone * nanequal_dict[(1, NPY_float, None)] = nanequal_1d_float_axisNone - * nanequal_dict[(1, NPY_float32, 0)] = nanequal_1d_float32_axisNone + * nanequal_dict[(1, NPY_float32, 0)] = nanequal_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float32, None)] = nanequal_1d_float32_axisNone + * nanequal_dict[(1, NPY_float64, 0)] = nanequal_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19266,19 +19266,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":723 - * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 - * nanequal_dict[(1, NPY_float, 0)] = nanequal_1d_float_axisNone - * nanequal_dict[(1, NPY_float, None)] = nanequal_1d_float_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float, None)] = nanequal_1d_float_axisNone * nanequal_dict[(1, NPY_float32, 0)] = nanequal_1d_float32_axisNone - * nanequal_dict[(1, NPY_float32, None)] = nanequal_1d_float32_axisNone + * nanequal_dict[(1, NPY_float32, None)] = nanequal_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float64, 0)] = nanequal_1d_float64_axisNone + * nanequal_dict[(1, NPY_float64, None)] = nanequal_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19296,19 +19296,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":724 - * nanequal_dict[(1, NPY_float, 0)] = nanequal_1d_float_axisNone - * nanequal_dict[(1, NPY_float, None)] = nanequal_1d_float_axisNone - * nanequal_dict[(1, NPY_float32, 0)] = nanequal_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float32, 0)] = nanequal_1d_float32_axisNone * nanequal_dict[(1, NPY_float32, None)] = nanequal_1d_float32_axisNone - * nanequal_dict[(1, NPY_float64, 0)] = nanequal_1d_float64_axisNone + * nanequal_dict[(1, NPY_float64, 0)] = nanequal_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float64, None)] = nanequal_1d_float64_axisNone + * nanequal_dict[(2, NPY_float, None)] = nanequal_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19326,19 +19326,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":725 - * nanequal_dict[(1, NPY_float, None)] = nanequal_1d_float_axisNone - * nanequal_dict[(1, NPY_float32, 0)] = nanequal_1d_float32_axisNone - * nanequal_dict[(1, NPY_float32, None)] = nanequal_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float32, None)] = nanequal_1d_float32_axisNone * nanequal_dict[(1, NPY_float64, 0)] = nanequal_1d_float64_axisNone - * nanequal_dict[(1, NPY_float64, None)] = nanequal_1d_float64_axisNone + * nanequal_dict[(1, NPY_float64, None)] = nanequal_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float, None)] = nanequal_2d_float_axisNone + * nanequal_dict[(2, NPY_float32, None)] = nanequal_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19356,55 +19356,55 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":726 - * nanequal_dict[(1, NPY_float32, 0)] = nanequal_1d_float32_axisNone - * nanequal_dict[(1, NPY_float32, None)] = nanequal_1d_float32_axisNone - * nanequal_dict[(1, NPY_float64, 0)] = nanequal_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float64, 0)] = nanequal_1d_float64_axisNone * nanequal_dict[(1, NPY_float64, None)] = nanequal_1d_float64_axisNone - * nanequal_dict[(2, NPY_float, None)] = nanequal_2d_float_axisNone + * nanequal_dict[(2, NPY_float, None)] = nanequal_2d_float_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float32, None)] = nanequal_2d_float32_axisNone + * nanequal_dict[(2, NPY_float64, None)] = nanequal_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8nanequal_nanequal_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":727 - * nanequal_dict[(1, NPY_float32, None)] = nanequal_1d_float32_axisNone - * nanequal_dict[(1, NPY_float64, 0)] = nanequal_1d_float64_axisNone - * nanequal_dict[(1, NPY_float64, None)] = nanequal_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(1, NPY_float64, None)] = nanequal_1d_float64_axisNone * nanequal_dict[(2, NPY_float, None)] = nanequal_2d_float_axisNone - * nanequal_dict[(2, NPY_float32, None)] = nanequal_2d_float32_axisNone + * nanequal_dict[(2, NPY_float32, None)] = nanequal_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float64, None)] = nanequal_2d_float64_axisNone + * nanequal_dict[(2, NPY_int, 0)] = nanequal_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -19416,19 +19416,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":728 - * nanequal_dict[(1, NPY_float64, 0)] = nanequal_1d_float64_axisNone - * nanequal_dict[(1, NPY_float64, None)] = nanequal_1d_float64_axisNone - * nanequal_dict[(2, NPY_float, None)] = nanequal_2d_float_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float, None)] = nanequal_2d_float_axisNone * nanequal_dict[(2, NPY_float32, None)] = nanequal_2d_float32_axisNone - * nanequal_dict[(2, NPY_float64, None)] = nanequal_2d_float64_axisNone + * nanequal_dict[(2, NPY_float64, None)] = nanequal_2d_float64_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_int, 0)] = nanequal_2d_int_axis0 + * nanequal_dict[(2, NPY_int, 1)] = nanequal_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19446,19 +19446,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":729 - * nanequal_dict[(1, NPY_float64, None)] = nanequal_1d_float64_axisNone - * nanequal_dict[(2, NPY_float, None)] = nanequal_2d_float_axisNone - * nanequal_dict[(2, NPY_float32, None)] = nanequal_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_float32, None)] = nanequal_2d_float32_axisNone * nanequal_dict[(2, NPY_float64, None)] = nanequal_2d_float64_axisNone - * nanequal_dict[(2, NPY_float, 0)] = nanequal_2d_float_axis0 + * nanequal_dict[(2, NPY_int, 0)] = nanequal_2d_int_axis0 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_int, 1)] = nanequal_2d_int_axis1 + * nanequal_dict[(2, NPY_int8, 0)] = nanequal_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19467,28 +19467,28 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8nanequal_nanequal_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":730 - * nanequal_dict[(2, NPY_float, None)] = nanequal_2d_float_axisNone - * nanequal_dict[(2, NPY_float32, None)] = nanequal_2d_float32_axisNone - * nanequal_dict[(2, NPY_float64, None)] = nanequal_2d_float64_axisNone # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_float, 0)] = nanequal_2d_float_axis0 - * nanequal_dict[(2, NPY_float, 1)] = nanequal_2d_float_axis1 + * nanequal_dict[(2, NPY_float64, None)] = nanequal_2d_float64_axisNone + * nanequal_dict[(2, NPY_int, 0)] = nanequal_2d_int_axis0 + * nanequal_dict[(2, NPY_int, 1)] = nanequal_2d_int_axis1 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_int8, 0)] = nanequal_2d_int8_axis0 + * nanequal_dict[(2, NPY_int8, 1)] = nanequal_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19497,28 +19497,28 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8nanequal_nanequal_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":731 - * nanequal_dict[(2, NPY_float32, None)] = nanequal_2d_float32_axisNone - * nanequal_dict[(2, NPY_float64, None)] = nanequal_2d_float64_axisNone - * nanequal_dict[(2, NPY_float, 0)] = nanequal_2d_float_axis0 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_float, 1)] = nanequal_2d_float_axis1 - * nanequal_dict[(2, NPY_float32, 0)] = nanequal_2d_float32_axis0 + * nanequal_dict[(2, NPY_int, 0)] = nanequal_2d_int_axis0 + * nanequal_dict[(2, NPY_int, 1)] = nanequal_2d_int_axis1 + * nanequal_dict[(2, NPY_int8, 0)] = nanequal_2d_int8_axis0 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_int8, 1)] = nanequal_2d_int8_axis1 + * nanequal_dict[(2, NPY_int32, 0)] = nanequal_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19536,19 +19536,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":732 - * nanequal_dict[(2, NPY_float64, None)] = nanequal_2d_float64_axisNone - * nanequal_dict[(2, NPY_float, 0)] = nanequal_2d_float_axis0 - * nanequal_dict[(2, NPY_float, 1)] = nanequal_2d_float_axis1 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_float32, 0)] = nanequal_2d_float32_axis0 - * nanequal_dict[(2, NPY_float32, 1)] = nanequal_2d_float32_axis1 + * nanequal_dict[(2, NPY_int, 1)] = nanequal_2d_int_axis1 + * nanequal_dict[(2, NPY_int8, 0)] = nanequal_2d_int8_axis0 + * nanequal_dict[(2, NPY_int8, 1)] = nanequal_2d_int8_axis1 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_int32, 0)] = nanequal_2d_int32_axis0 + * nanequal_dict[(2, NPY_int32, 1)] = nanequal_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19566,19 +19566,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":733 - * nanequal_dict[(2, NPY_float, 0)] = nanequal_2d_float_axis0 - * nanequal_dict[(2, NPY_float, 1)] = nanequal_2d_float_axis1 - * nanequal_dict[(2, NPY_float32, 0)] = nanequal_2d_float32_axis0 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_float32, 1)] = nanequal_2d_float32_axis1 - * nanequal_dict[(2, NPY_float64, 0)] = nanequal_2d_float64_axis0 + * nanequal_dict[(2, NPY_int8, 0)] = nanequal_2d_int8_axis0 + * nanequal_dict[(2, NPY_int8, 1)] = nanequal_2d_int8_axis1 + * nanequal_dict[(2, NPY_int32, 0)] = nanequal_2d_int32_axis0 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_int32, 1)] = nanequal_2d_int32_axis1 + * nanequal_dict[(2, NPY_int64, 0)] = nanequal_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19596,19 +19596,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":734 - * nanequal_dict[(2, NPY_float, 1)] = nanequal_2d_float_axis1 - * nanequal_dict[(2, NPY_float32, 0)] = nanequal_2d_float32_axis0 - * nanequal_dict[(2, NPY_float32, 1)] = nanequal_2d_float32_axis1 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_float64, 0)] = nanequal_2d_float64_axis0 - * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 + * nanequal_dict[(2, NPY_int8, 1)] = nanequal_2d_int8_axis1 + * nanequal_dict[(2, NPY_int32, 0)] = nanequal_2d_int32_axis0 + * nanequal_dict[(2, NPY_int32, 1)] = nanequal_2d_int32_axis1 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_int64, 0)] = nanequal_2d_int64_axis0 + * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19626,19 +19626,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":735 - * nanequal_dict[(2, NPY_float32, 0)] = nanequal_2d_float32_axis0 - * nanequal_dict[(2, NPY_float32, 1)] = nanequal_2d_float32_axis1 - * nanequal_dict[(2, NPY_float64, 0)] = nanequal_2d_float64_axis0 # <<<<<<<<<<<<<< - * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 + * nanequal_dict[(2, NPY_int32, 0)] = nanequal_2d_int32_axis0 + * nanequal_dict[(2, NPY_int32, 1)] = nanequal_2d_int32_axis1 + * nanequal_dict[(2, NPY_int64, 0)] = nanequal_2d_int64_axis0 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19656,19 +19656,19 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":736 - * nanequal_dict[(2, NPY_float32, 1)] = nanequal_2d_float32_axis1 - * nanequal_dict[(2, NPY_float64, 0)] = nanequal_2d_float64_axis0 - * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanequal_dict[(2, NPY_int32, 1)] = nanequal_2d_int32_axis1 + * nanequal_dict[(2, NPY_int64, 0)] = nanequal_2d_int64_axis0 + * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nanequal_slow_axis0(arr1, arr2): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanequal_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8nanequal_nanequal_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19686,7 +19686,7 @@ PyMODINIT_FUNC PyInit_nanequal(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanequal.pyx":738 - * nanequal_dict[(2, NPY_float64, 1)] = nanequal_2d_float64_axis1 + * nanequal_dict[(2, NPY_int64, 1)] = nanequal_2d_int64_axis1 * * def nanequal_slow_axis0(arr1, arr2): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanequal along axis 0." @@ -20660,7 +20660,7 @@ PyMODINIT_FUNC PyInit_nanequal(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/nanmax.c b/bottlechest/src/func/64bit/nanmax.c index 779d24d6e7..3d9ffa1863 100644 --- a/bottlechest/src/func/64bit/nanmax.c +++ b/bottlechest/src/func/64bit/nanmax.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1104,13 +1104,13 @@ static __pyx_t_5numpy_float32_t __pyx_v_6nanmax_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_6nanmax_MAXfloat64; static PyObject *__pyx_v_6nanmax_nanmax_dict = 0; static PyObject *__pyx_v_6nanmax_nanmax_slow_dict = 0; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "nanmax" int __pyx_module_is_main_nanmax = 0; @@ -1122,34 +1122,34 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_6nanmax_nanmax(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_6nanmax_2nanmax_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_16nanmax_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_18nanmax_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_22nanmax_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_24nanmax_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_28nanmax_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_30nanmax_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_32nanmax_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_34nanmax_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_36nanmax_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_38nanmax_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_40nanmax_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_42nanmax_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_44nanmax_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_46nanmax_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_48nanmax_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_50nanmax_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_52nanmax_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_54nanmax_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_56nanmax_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmax_58nanmax_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_4nanmax_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_6nanmax_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_8nanmax_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_10nanmax_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_12nanmax_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_14nanmax_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_16nanmax_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_18nanmax_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_22nanmax_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_24nanmax_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_28nanmax_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_30nanmax_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_32nanmax_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_34nanmax_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_36nanmax_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_38nanmax_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_40nanmax_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_42nanmax_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_44nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_46nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_48nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_50nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_52nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_54nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_56nanmax_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmax_58nanmax_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_6nanmax_60nanmax_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6nanmax_62nanmax_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6nanmax_64nanmax_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1328,17 +1328,16 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Maximum_values_along_specified[] = "\n Maximum values along specified axis, ignoring NaNs.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}, optional\n Axis along which the maximum is computed. The default (axis=None) is\n to compute the maximum of the flattened array.\n\n Returns\n -------\n y : ndarray\n An array with the same shape as `arr`, with the specified axis removed.\n If `arr` is a 0-d array, or if axis is None, a scalar is returned.\n\n See also\n --------\n bottlechest.nanmin: Minimum along specified axis, ignoring NaNs.\n bottlechest.nanargmax: Indices of maximum values along axis, ignoring NaNs. \n \n Examples\n --------\n >>> bn.nanmax(1)\n 1\n >>> bn.nanmax([1])\n 1\n >>> bn.nanmax([1, np.nan])\n 1.0\n >>> a = np.array([[1, 4], [1, np.nan]])\n >>> bn.nanmax(a)\n 4.0\n >>> bn.nanmax(a, axis=0)\n array([ 1., 4.])\n \n "; static char __pyx_k_Return_nanmax_function_and_arra[] = "\n Return nanmax function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in bn.nanmax()\n is in checking that `axis` is within range, converting `arr` into an\n array (if it is not already an array), and selecting the function to use\n to calculate the maximum.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the maximum is to be computed.\n \n Returns\n -------\n func : function\n The nanamx function that matches the number of dimensions and\n dtype of the input array and the axis along which you wish to find\n the maximum.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine the maximum of `arr` along\n axis=0:\n\n >>> func, a = bn.func.nanmax_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the maximum:\n \n >>> func(a)\n 3.0\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/nanmax.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_numpy_nanmax_raises_on_a_size_0[] = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\nanmax.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_numpy_nanmax_raises_on_a_shape_a[] = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does."; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1352,6 +1351,7 @@ static PyObject *__pyx_kp_u_Return_nanmax_function_and_arra; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__7; static PyObject *__pyx_n_s_a; @@ -2459,24 +2459,24 @@ static PyObject *__pyx_pf_6nanmax_2nanmax_selector(CYTHON_UNUSED PyObject *__pyx /* "nanmax.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=0 ignoring NaNs." + * def nanmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_5nanmax_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_4nanmax_2d_int_axis0[] = "nanmax_2d_int_axis0(ndarray a)\nMaximum of 2d array with dtype=int along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_5nanmax_2d_int_axis0 = {"nanmax_2d_int_axis0", (PyCFunction)__pyx_pw_6nanmax_5nanmax_2d_int_axis0, METH_O, __pyx_doc_6nanmax_4nanmax_2d_int_axis0}; -static PyObject *__pyx_pw_6nanmax_5nanmax_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_5nanmax_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_4nanmax_2d_float_axis0[] = "nanmax_2d_float_axis0(ndarray a)\nMaximum of 2d array with dtype=float along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_5nanmax_2d_float_axis0 = {"nanmax_2d_float_axis0", (PyCFunction)__pyx_pw_6nanmax_5nanmax_2d_float_axis0, METH_O, __pyx_doc_6nanmax_4nanmax_2d_float_axis0}; +static PyObject *__pyx_pw_6nanmax_5nanmax_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanmax_2d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_4nanmax_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6nanmax_4nanmax_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2487,10 +2487,10 @@ static PyObject *__pyx_pw_6nanmax_5nanmax_2d_int_axis0(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amax; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_4nanmax_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amax; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2519,7 +2519,7 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("nanmax_2d_float_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2530,15 +2530,15 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanmax.pyx":185 - * def nanmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Maximum of 2d array with dtype=int along axis=0 ignoring NaNs." + * def nanmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Maximum of 2d array with dtype=float along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amax, ai + * cdef np.float_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; @@ -2566,7 +2566,7 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -2574,8 +2574,8 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; @@ -2583,17 +2583,17 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "nanmax.pyx":193 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -2604,8 +2604,8 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_t_2 = 0; /* "nanmax.pyx":195 - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -2614,7 +2614,7 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ if (__pyx_t_4) { /* "nanmax.pyx":196 - * NPY_int, 0) + * NPY_float, 0) * if n0 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -2628,7 +2628,7 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1): - * amax = MINint + * amax = MINfloat */ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -2647,8 +2647,8 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i1 in range(n1): # <<<<<<<<<<<<<< - * amax = MINint - * for i0 in range(n0): + * amax = MINfloat + * allnan = 1 */ __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { @@ -2657,15 +2657,24 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "nanmax.pyx":199 * raise ValueError(msg) * for i1 in range(n1): - * amax = MINint # <<<<<<<<<<<<<< + * amax = MINfloat # <<<<<<<<<<<<<< + * allnan = 1 * for i0 in range(n0): - * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_6nanmax_MINint; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat; /* "nanmax.pyx":200 * for i1 in range(n1): - * amax = MINint + * amax = MINfloat + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmax.pyx":201 + * amax = MINfloat + * allnan = 1 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -2674,8 +2683,8 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "nanmax.pyx":201 - * amax = MINint + /* "nanmax.pyx":202 + * allnan = 1 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -2683,45 +2692,79 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":202 + /* "nanmax.pyx":203 * for i0 in range(n0): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i1] = amax + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":203 + /* "nanmax.pyx":204 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i1] = amax - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amax = __pyx_v_ai; + + /* "nanmax.pyx":205 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = amax + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmax.pyx":204 - * if ai >= amax: + /* "nanmax.pyx":206 * amax = ai - * y[i1] = amax # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = amax + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":207 + * allnan = 0 + * if allnan == 0: + * y[i1] = amax # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmax.pyx":209 + * y[i1] = amax + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + __pyx_t_9 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; + } + __pyx_L9:; } - /* "nanmax.pyx":205 - * amax = ai - * y[i1] = amax + /* "nanmax.pyx":210 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2734,8 +2777,8 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "nanmax.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=0 ignoring NaNs." + * def nanmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -2748,7 +2791,7 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2762,27 +2805,27 @@ static PyObject *__pyx_pf_6nanmax_4nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "nanmax.pyx":209 +/* "nanmax.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=1 ignoring NaNs." + * def nanmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_7nanmax_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_6nanmax_2d_int_axis1[] = "nanmax_2d_int_axis1(ndarray a)\nMaximum of 2d array with dtype=int along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_7nanmax_2d_int_axis1 = {"nanmax_2d_int_axis1", (PyCFunction)__pyx_pw_6nanmax_7nanmax_2d_int_axis1, METH_O, __pyx_doc_6nanmax_6nanmax_2d_int_axis1}; -static PyObject *__pyx_pw_6nanmax_7nanmax_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_7nanmax_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_6nanmax_2d_float_axis1[] = "nanmax_2d_float_axis1(ndarray a)\nMaximum of 2d array with dtype=float along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_7nanmax_2d_float_axis1 = {"nanmax_2d_float_axis1", (PyCFunction)__pyx_pw_6nanmax_7nanmax_2d_float_axis1, METH_O, __pyx_doc_6nanmax_6nanmax_2d_float_axis1}; +static PyObject *__pyx_pw_6nanmax_7nanmax_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_6nanmax_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_float_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_6nanmax_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2793,10 +2836,10 @@ static PyObject *__pyx_pw_6nanmax_7nanmax_2d_int_axis1(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amax; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_6nanmax_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amax; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2825,7 +2868,7 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("nanmax_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2836,20 +2879,20 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":211 - * def nanmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Maximum of 2d array with dtype=int along axis=1 ignoring NaNs." + /* "nanmax.pyx":216 + * def nanmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Maximum of 2d array with dtype=float along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amax, ai + * cdef np.float_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":215 + /* "nanmax.pyx":220 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2858,7 +2901,7 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":216 + /* "nanmax.pyx":221 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2867,41 +2910,41 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":217 + /* "nanmax.pyx":222 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":218 + /* "nanmax.pyx":223 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":219 + /* "nanmax.pyx":224 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2909,9 +2952,9 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":221 - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + /* "nanmax.pyx":226 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -2919,8 +2962,8 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":222 - * NPY_int, 0) + /* "nanmax.pyx":227 + * NPY_float, 0) * if n1 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -2929,49 +2972,58 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; - /* "nanmax.pyx":223 + /* "nanmax.pyx":228 * if n1 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): - * amax = MINint + * amax = MINfloat */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":224 + /* "nanmax.pyx":229 * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i0 in range(n0): # <<<<<<<<<<<<<< - * amax = MINint - * for i1 in range(n1): + * amax = MINfloat + * allnan = 1 */ __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanmax.pyx":225 + /* "nanmax.pyx":230 * raise ValueError(msg) * for i0 in range(n0): - * amax = MINint # <<<<<<<<<<<<<< + * amax = MINfloat # <<<<<<<<<<<<<< + * allnan = 1 * for i1 in range(n1): - * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_6nanmax_MINint; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat; - /* "nanmax.pyx":226 + /* "nanmax.pyx":231 * for i0 in range(n0): - * amax = MINint + * amax = MINfloat + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmax.pyx":232 + * amax = MINfloat + * allnan = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -2980,8 +3032,8 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i1 = __pyx_t_9; - /* "nanmax.pyx":227 - * amax = MINint + /* "nanmax.pyx":233 + * allnan = 1 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -2989,45 +3041,79 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":228 + /* "nanmax.pyx":234 * for i1 in range(n1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i0] = amax + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":229 + /* "nanmax.pyx":235 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i0] = amax - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amax = __pyx_v_ai; + + /* "nanmax.pyx":236 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = amax + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmax.pyx":230 - * if ai >= amax: + /* "nanmax.pyx":237 * amax = ai - * y[i0] = amax # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = amax + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":238 + * allnan = 0 + * if allnan == 0: + * y[i0] = amax # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmax.pyx":240 + * y[i0] = amax + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + __pyx_t_9 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; + } + __pyx_L9:; } - /* "nanmax.pyx":231 - * amax = ai - * y[i0] = amax + /* "nanmax.pyx":241 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3037,11 +3123,11 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":209 + /* "nanmax.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=1 ignoring NaNs." + * def nanmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -3054,7 +3140,7 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3068,27 +3154,27 @@ static PyObject *__pyx_pf_6nanmax_6nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "nanmax.pyx":235 +/* "nanmax.pyx":245 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * def nanmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_9nanmax_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_8nanmax_2d_int8_axis0[] = "nanmax_2d_int8_axis0(ndarray a)\nMaximum of 2d array with dtype=int8 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_9nanmax_2d_int8_axis0 = {"nanmax_2d_int8_axis0", (PyCFunction)__pyx_pw_6nanmax_9nanmax_2d_int8_axis0, METH_O, __pyx_doc_6nanmax_8nanmax_2d_int8_axis0}; -static PyObject *__pyx_pw_6nanmax_9nanmax_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_9nanmax_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_8nanmax_2d_float32_axis0[] = "nanmax_2d_float32_axis0(ndarray a)\nMaximum of 2d array with dtype=float32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_9nanmax_2d_float32_axis0 = {"nanmax_2d_float32_axis0", (PyCFunction)__pyx_pw_6nanmax_9nanmax_2d_float32_axis0, METH_O, __pyx_doc_6nanmax_8nanmax_2d_float32_axis0}; +static PyObject *__pyx_pw_6nanmax_9nanmax_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_8nanmax_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_8nanmax_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3099,10 +3185,10 @@ static PyObject *__pyx_pw_6nanmax_9nanmax_2d_int8_axis0(PyObject *__pyx_self, Py return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amax; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_8nanmax_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amax; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3131,7 +3217,7 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nanmax_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3142,20 +3228,20 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":237 - * def nanmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Maximum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + /* "nanmax.pyx":247 + * def nanmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Maximum of 2d array with dtype=float32 along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amax, ai + * cdef np.float32_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":241 + /* "nanmax.pyx":251 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3164,7 +3250,7 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":242 + /* "nanmax.pyx":252 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3173,41 +3259,41 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":243 + /* "nanmax.pyx":253 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":244 + /* "nanmax.pyx":254 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":245 + /* "nanmax.pyx":255 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3215,9 +3301,9 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":247 - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + /* "nanmax.pyx":257 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -3225,8 +3311,8 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":248 - * NPY_int8, 0) + /* "nanmax.pyx":258 + * NPY_float32, 0) * if n0 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -3235,49 +3321,58 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; - /* "nanmax.pyx":249 + /* "nanmax.pyx":259 * if n0 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1): - * amax = MINint8 + * amax = MINfloat32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":250 + /* "nanmax.pyx":260 * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i1 in range(n1): # <<<<<<<<<<<<<< - * amax = MINint8 - * for i0 in range(n0): + * amax = MINfloat32 + * allnan = 1 */ __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":251 + /* "nanmax.pyx":261 * raise ValueError(msg) * for i1 in range(n1): - * amax = MINint8 # <<<<<<<<<<<<<< + * amax = MINfloat32 # <<<<<<<<<<<<<< + * allnan = 1 * for i0 in range(n0): - * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_6nanmax_MINint8; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat32; - /* "nanmax.pyx":252 + /* "nanmax.pyx":262 * for i1 in range(n1): - * amax = MINint8 + * amax = MINfloat32 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmax.pyx":263 + * amax = MINfloat32 + * allnan = 1 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -3286,8 +3381,8 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "nanmax.pyx":253 - * amax = MINint8 + /* "nanmax.pyx":264 + * allnan = 1 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -3295,45 +3390,79 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":254 + /* "nanmax.pyx":265 * for i0 in range(n0): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i1] = amax + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":255 + /* "nanmax.pyx":266 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i1] = amax - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amax = __pyx_v_ai; + + /* "nanmax.pyx":267 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = amax + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmax.pyx":256 - * if ai >= amax: + /* "nanmax.pyx":268 * amax = ai - * y[i1] = amax # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = amax + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":269 + * allnan = 0 + * if allnan == 0: + * y[i1] = amax # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmax.pyx":271 + * y[i1] = amax + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + __pyx_t_9 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; + } + __pyx_L9:; } - /* "nanmax.pyx":257 - * amax = ai - * y[i1] = amax + /* "nanmax.pyx":272 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3343,11 +3472,11 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":235 + /* "nanmax.pyx":245 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * def nanmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -3360,7 +3489,7 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3374,27 +3503,27 @@ static PyObject *__pyx_pf_6nanmax_8nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "nanmax.pyx":261 +/* "nanmax.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * def nanmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_11nanmax_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_10nanmax_2d_int8_axis1[] = "nanmax_2d_int8_axis1(ndarray a)\nMaximum of 2d array with dtype=int8 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_11nanmax_2d_int8_axis1 = {"nanmax_2d_int8_axis1", (PyCFunction)__pyx_pw_6nanmax_11nanmax_2d_int8_axis1, METH_O, __pyx_doc_6nanmax_10nanmax_2d_int8_axis1}; -static PyObject *__pyx_pw_6nanmax_11nanmax_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_11nanmax_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_10nanmax_2d_float32_axis1[] = "nanmax_2d_float32_axis1(ndarray a)\nMaximum of 2d array with dtype=float32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_11nanmax_2d_float32_axis1 = {"nanmax_2d_float32_axis1", (PyCFunction)__pyx_pw_6nanmax_11nanmax_2d_float32_axis1, METH_O, __pyx_doc_6nanmax_10nanmax_2d_float32_axis1}; +static PyObject *__pyx_pw_6nanmax_11nanmax_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int8_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_10nanmax_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_float32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_10nanmax_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3405,10 +3534,10 @@ static PyObject *__pyx_pw_6nanmax_11nanmax_2d_int8_axis1(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amax; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_10nanmax_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amax; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3437,7 +3566,7 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("nanmax_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3448,20 +3577,20 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":263 - * def nanmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Maximum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + /* "nanmax.pyx":278 + * def nanmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Maximum of 2d array with dtype=float32 along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amax, ai + * cdef np.float32_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":267 + /* "nanmax.pyx":282 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3470,7 +3599,7 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":268 + /* "nanmax.pyx":283 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3479,41 +3608,41 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":269 + /* "nanmax.pyx":284 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":270 + /* "nanmax.pyx":285 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":271 + /* "nanmax.pyx":286 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3521,9 +3650,9 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":273 - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + /* "nanmax.pyx":288 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -3531,8 +3660,8 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":274 - * NPY_int8, 0) + /* "nanmax.pyx":289 + * NPY_float32, 0) * if n1 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -3541,49 +3670,58 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; - /* "nanmax.pyx":275 + /* "nanmax.pyx":290 * if n1 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): - * amax = MINint8 + * amax = MINfloat32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":276 + /* "nanmax.pyx":291 * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i0 in range(n0): # <<<<<<<<<<<<<< - * amax = MINint8 - * for i1 in range(n1): + * amax = MINfloat32 + * allnan = 1 */ __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanmax.pyx":277 + /* "nanmax.pyx":292 * raise ValueError(msg) * for i0 in range(n0): - * amax = MINint8 # <<<<<<<<<<<<<< + * amax = MINfloat32 # <<<<<<<<<<<<<< + * allnan = 1 * for i1 in range(n1): - * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_6nanmax_MINint8; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat32; - /* "nanmax.pyx":278 + /* "nanmax.pyx":293 * for i0 in range(n0): - * amax = MINint8 + * amax = MINfloat32 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmax.pyx":294 + * amax = MINfloat32 + * allnan = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -3592,8 +3730,8 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i1 = __pyx_t_9; - /* "nanmax.pyx":279 - * amax = MINint8 + /* "nanmax.pyx":295 + * allnan = 1 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -3601,45 +3739,79 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":280 + /* "nanmax.pyx":296 * for i1 in range(n1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i0] = amax + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":281 + /* "nanmax.pyx":297 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i0] = amax - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amax = __pyx_v_ai; + + /* "nanmax.pyx":298 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = amax + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmax.pyx":282 - * if ai >= amax: + /* "nanmax.pyx":299 * amax = ai - * y[i0] = amax # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = amax + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":300 + * allnan = 0 + * if allnan == 0: + * y[i0] = amax # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmax.pyx":302 + * y[i0] = amax + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + __pyx_t_9 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; + } + __pyx_L9:; } - /* "nanmax.pyx":283 - * amax = ai - * y[i0] = amax + /* "nanmax.pyx":303 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3649,11 +3821,11 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":261 + /* "nanmax.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * def nanmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -3666,7 +3838,7 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3680,27 +3852,27 @@ static PyObject *__pyx_pf_6nanmax_10nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanmax.pyx":287 +/* "nanmax.pyx":307 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * def nanmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_13nanmax_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_12nanmax_2d_int32_axis0[] = "nanmax_2d_int32_axis0(ndarray a)\nMaximum of 2d array with dtype=int32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_13nanmax_2d_int32_axis0 = {"nanmax_2d_int32_axis0", (PyCFunction)__pyx_pw_6nanmax_13nanmax_2d_int32_axis0, METH_O, __pyx_doc_6nanmax_12nanmax_2d_int32_axis0}; -static PyObject *__pyx_pw_6nanmax_13nanmax_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_13nanmax_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_12nanmax_2d_float64_axis0[] = "nanmax_2d_float64_axis0(ndarray a)\nMaximum of 2d array with dtype=float64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_13nanmax_2d_float64_axis0 = {"nanmax_2d_float64_axis0", (PyCFunction)__pyx_pw_6nanmax_13nanmax_2d_float64_axis0, METH_O, __pyx_doc_6nanmax_12nanmax_2d_float64_axis0}; +static PyObject *__pyx_pw_6nanmax_13nanmax_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_12nanmax_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_12nanmax_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3711,10 +3883,10 @@ static PyObject *__pyx_pw_6nanmax_13nanmax_2d_int32_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amax; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_12nanmax_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_amax; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3743,7 +3915,7 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nanmax_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3754,20 +3926,20 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":289 - * def nanmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Maximum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + /* "nanmax.pyx":309 + * def nanmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Maximum of 2d array with dtype=float64 along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amax, ai + * cdef np.float64_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":293 + /* "nanmax.pyx":313 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3776,7 +3948,7 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":294 + /* "nanmax.pyx":314 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3785,41 +3957,41 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":295 + /* "nanmax.pyx":315 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":296 + /* "nanmax.pyx":316 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":297 + /* "nanmax.pyx":317 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3827,9 +3999,9 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":299 - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + /* "nanmax.pyx":319 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -3837,8 +4009,8 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":300 - * NPY_int32, 0) + /* "nanmax.pyx":320 + * NPY_float64, 0) * if n0 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -3847,49 +4019,58 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; - /* "nanmax.pyx":301 + /* "nanmax.pyx":321 * if n0 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1): - * amax = MINint32 + * amax = MINfloat64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":302 + /* "nanmax.pyx":322 * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i1 in range(n1): # <<<<<<<<<<<<<< - * amax = MINint32 - * for i0 in range(n0): + * amax = MINfloat64 + * allnan = 1 */ __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":303 + /* "nanmax.pyx":323 * raise ValueError(msg) * for i1 in range(n1): - * amax = MINint32 # <<<<<<<<<<<<<< + * amax = MINfloat64 # <<<<<<<<<<<<<< + * allnan = 1 * for i0 in range(n0): - * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_6nanmax_MINint32; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat64; - /* "nanmax.pyx":304 + /* "nanmax.pyx":324 * for i1 in range(n1): - * amax = MINint32 + * amax = MINfloat64 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmax.pyx":325 + * amax = MINfloat64 + * allnan = 1 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -3898,8 +4079,8 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "nanmax.pyx":305 - * amax = MINint32 + /* "nanmax.pyx":326 + * allnan = 1 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -3907,45 +4088,79 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":306 + /* "nanmax.pyx":327 * for i0 in range(n0): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i1] = amax + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":307 + /* "nanmax.pyx":328 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i1] = amax - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amax = __pyx_v_ai; + + /* "nanmax.pyx":329 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = amax + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmax.pyx":308 - * if ai >= amax: + /* "nanmax.pyx":330 * amax = ai - * y[i1] = amax # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = amax + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":331 + * allnan = 0 + * if allnan == 0: + * y[i1] = amax # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmax.pyx":333 + * y[i1] = amax + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + __pyx_t_9 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; + } + __pyx_L9:; } - /* "nanmax.pyx":309 - * amax = ai - * y[i1] = amax + /* "nanmax.pyx":334 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3955,11 +4170,11 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":287 + /* "nanmax.pyx":307 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * def nanmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -3972,7 +4187,7 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3986,27 +4201,27 @@ static PyObject *__pyx_pf_6nanmax_12nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanmax.pyx":313 +/* "nanmax.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * def nanmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_15nanmax_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_14nanmax_2d_int32_axis1[] = "nanmax_2d_int32_axis1(ndarray a)\nMaximum of 2d array with dtype=int32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_15nanmax_2d_int32_axis1 = {"nanmax_2d_int32_axis1", (PyCFunction)__pyx_pw_6nanmax_15nanmax_2d_int32_axis1, METH_O, __pyx_doc_6nanmax_14nanmax_2d_int32_axis1}; -static PyObject *__pyx_pw_6nanmax_15nanmax_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_15nanmax_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_14nanmax_2d_float64_axis1[] = "nanmax_2d_float64_axis1(ndarray a)\nMaximum of 2d array with dtype=float64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_15nanmax_2d_float64_axis1 = {"nanmax_2d_float64_axis1", (PyCFunction)__pyx_pw_6nanmax_15nanmax_2d_float64_axis1, METH_O, __pyx_doc_6nanmax_14nanmax_2d_float64_axis1}; +static PyObject *__pyx_pw_6nanmax_15nanmax_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_14nanmax_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_float64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_14nanmax_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4017,10 +4232,10 @@ static PyObject *__pyx_pw_6nanmax_15nanmax_2d_int32_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amax; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_14nanmax_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_amax; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -4049,7 +4264,7 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("nanmax_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4060,20 +4275,20 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":315 - * def nanmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Maximum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + /* "nanmax.pyx":340 + * def nanmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Maximum of 2d array with dtype=float64 along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amax, ai + * cdef np.float64_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":319 + /* "nanmax.pyx":344 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4082,7 +4297,7 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":320 + /* "nanmax.pyx":345 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4091,41 +4306,41 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":321 + /* "nanmax.pyx":346 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":322 + /* "nanmax.pyx":347 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":323 + /* "nanmax.pyx":348 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4133,9 +4348,9 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":325 - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + /* "nanmax.pyx":350 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -4143,8 +4358,8 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":326 - * NPY_int32, 0) + /* "nanmax.pyx":351 + * NPY_float64, 0) * if n1 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -4153,49 +4368,58 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; - /* "nanmax.pyx":327 + /* "nanmax.pyx":352 * if n1 == 0: * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): - * amax = MINint32 + * amax = MINfloat64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":328 + /* "nanmax.pyx":353 * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i0 in range(n0): # <<<<<<<<<<<<<< - * amax = MINint32 - * for i1 in range(n1): + * amax = MINfloat64 + * allnan = 1 */ __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanmax.pyx":329 + /* "nanmax.pyx":354 * raise ValueError(msg) * for i0 in range(n0): - * amax = MINint32 # <<<<<<<<<<<<<< + * amax = MINfloat64 # <<<<<<<<<<<<<< + * allnan = 1 * for i1 in range(n1): - * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_6nanmax_MINint32; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat64; - /* "nanmax.pyx":330 + /* "nanmax.pyx":355 * for i0 in range(n0): - * amax = MINint32 + * amax = MINfloat64 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmax.pyx":356 + * amax = MINfloat64 + * allnan = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: @@ -4204,8 +4428,8 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i1 = __pyx_t_9; - /* "nanmax.pyx":331 - * amax = MINint32 + /* "nanmax.pyx":357 + * allnan = 1 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: @@ -4213,45 +4437,79 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":332 + /* "nanmax.pyx":358 * for i1 in range(n1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * y[i0] = amax + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_4) { - /* "nanmax.pyx":333 + /* "nanmax.pyx":359 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * y[i0] = amax - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amax = __pyx_v_ai; + + /* "nanmax.pyx":360 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = amax + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmax.pyx":334 - * if ai >= amax: + /* "nanmax.pyx":361 * amax = ai - * y[i0] = amax # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = amax + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":362 + * allnan = 0 + * if allnan == 0: + * y[i0] = amax # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmax.pyx":364 + * y[i0] = amax + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + __pyx_t_9 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; + } + __pyx_L9:; } - /* "nanmax.pyx":335 - * amax = ai - * y[i0] = amax + /* "nanmax.pyx":365 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4261,11 +4519,11 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":313 + /* "nanmax.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * def nanmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -4278,7 +4536,7 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4292,27 +4550,27 @@ static PyObject *__pyx_pf_6nanmax_14nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanmax.pyx":339 +/* "nanmax.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * def nanmax_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_17nanmax_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_16nanmax_2d_int64_axis0[] = "nanmax_2d_int64_axis0(ndarray a)\nMaximum of 2d array with dtype=int64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_17nanmax_2d_int64_axis0 = {"nanmax_2d_int64_axis0", (PyCFunction)__pyx_pw_6nanmax_17nanmax_2d_int64_axis0, METH_O, __pyx_doc_6nanmax_16nanmax_2d_int64_axis0}; -static PyObject *__pyx_pw_6nanmax_17nanmax_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_17nanmax_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_16nanmax_1d_float_axisNone[] = "nanmax_1d_float_axisNone(ndarray a)\nMaximum of 1d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_17nanmax_1d_float_axisNone = {"nanmax_1d_float_axisNone", (PyCFunction)__pyx_pw_6nanmax_17nanmax_1d_float_axisNone, METH_O, __pyx_doc_6nanmax_16nanmax_1d_float_axisNone}; +static PyObject *__pyx_pw_6nanmax_17nanmax_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_16nanmax_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_1d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_16nanmax_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4323,302 +4581,325 @@ static PyObject *__pyx_pw_6nanmax_17nanmax_2d_int64_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_16nanmax_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amax; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_16nanmax_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amax; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmax_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmax.pyx":341 - * def nanmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Maximum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + /* "nanmax.pyx":371 + * def nanmax_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): + * "Maximum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amax, ai - * cdef Py_ssize_t i0, i1 + * cdef np.float_t amax, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":345 - * cdef Py_ssize_t i0, i1 + /* "nanmax.pyx":375 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":346 + /* "nanmax.pyx":376 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":347 + /* "nanmax.pyx":377 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmax.pyx":348 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "nanmax.pyx":349 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int64, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmax.pyx":351 - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) * if n0 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":352 - * NPY_int64, 0) + /* "nanmax.pyx":378 + * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i1 in range(n1): + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amax = MINfloat */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":353 + /* "nanmax.pyx":379 * if n0 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * amax = MINint64 + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amax = MINfloat + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":354 - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * amax = MINint64 - * for i0 in range(n0): + /* "nanmax.pyx":380 + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amax = MINfloat # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat; - /* "nanmax.pyx":355 - * raise ValueError(msg) - * for i1 in range(n1): - * amax = MINint64 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanmax.pyx":381 + * raise ValueError(m) + * amax = MINfloat + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai >= amax: */ - __pyx_v_amax = __pyx_v_6nanmax_MINint64; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":356 - * for i1 in range(n1): - * amax = MINint64 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai >= amax: + /* "nanmax.pyx":382 + * amax = MINfloat + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmax.pyx":357 - * amax = MINint64 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "nanmax.pyx":383 + * for i0 in range(n0): + * ai = a[i0] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * allnan = 0 */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":358 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * y[i1] = amax + /* "nanmax.pyx":384 + * ai = a[i0] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { + __pyx_v_amax = __pyx_v_ai; - /* "nanmax.pyx":359 - * ai = a[i0, i1] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * y[i1] = amax - * return y + /* "nanmax.pyx":385 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * return np.float(amax) */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L8; - } - __pyx_L8:; + __pyx_v_allnan = 0; + goto __pyx_L6; } - - /* "nanmax.pyx":360 - * if ai >= amax: - * amax = ai - * y[i1] = amax # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + __pyx_L6:; } - /* "nanmax.pyx":361 - * amax = ai - * y[i1] = amax - * return y # <<<<<<<<<<<<<< - * + /* "nanmax.pyx":386 + * amax = ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.float(amax) + * else: + */ + __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_1) { + + /* "nanmax.pyx":387 + * allnan = 0 + * if allnan == 0: + * return np.float(amax) # <<<<<<<<<<<<<< + * else: + * return np.float(NAN) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + } + /*else*/ { + + /* "nanmax.pyx":389 + * return np.float(amax) + * else: + * return np.float(NAN) # <<<<<<<<<<<<<< + * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_2 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_2) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + } - /* "nanmax.pyx":339 + /* "nanmax.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * def nanmax_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":365 +/* "nanmax.pyx":393 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=1 ignoring NaNs." + * def nanmax_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_19nanmax_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_18nanmax_2d_int64_axis1[] = "nanmax_2d_int64_axis1(ndarray a)\nMaximum of 2d array with dtype=int64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_19nanmax_2d_int64_axis1 = {"nanmax_2d_int64_axis1", (PyCFunction)__pyx_pw_6nanmax_19nanmax_2d_int64_axis1, METH_O, __pyx_doc_6nanmax_18nanmax_2d_int64_axis1}; -static PyObject *__pyx_pw_6nanmax_19nanmax_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_19nanmax_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_18nanmax_1d_float32_axisNone[] = "nanmax_1d_float32_axisNone(ndarray a)\nMaximum of 1d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_19nanmax_1d_float32_axisNone = {"nanmax_1d_float32_axisNone", (PyCFunction)__pyx_pw_6nanmax_19nanmax_1d_float32_axisNone, METH_O, __pyx_doc_6nanmax_18nanmax_1d_float32_axisNone}; +static PyObject *__pyx_pw_6nanmax_19nanmax_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_18nanmax_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_1d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_18nanmax_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4629,302 +4910,325 @@ static PyObject *__pyx_pw_6nanmax_19nanmax_2d_int64_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_18nanmax_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amax; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_18nanmax_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amax; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmax_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmax.pyx":367 - * def nanmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Maximum of 2d array with dtype=int64 along axis=1 ignoring NaNs." + /* "nanmax.pyx":395 + * def nanmax_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): + * "Maximum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amax, ai - * cdef Py_ssize_t i0, i1 + * cdef np.float32_t amax, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":371 - * cdef Py_ssize_t i0, i1 + /* "nanmax.pyx":399 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":372 + /* "nanmax.pyx":400 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":373 + /* "nanmax.pyx":401 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":374 + /* "nanmax.pyx":402 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) + * if n0 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amax = MINfloat32 */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":375 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int64, 0) - * if n1 == 0: + /* "nanmax.pyx":403 + * if n0 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amax = MINfloat32 + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanmax.pyx":377 - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) + /* "nanmax.pyx":404 + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amax = MINfloat32 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_v_amax = __pyx_v_6nanmax_MINfloat32; - /* "nanmax.pyx":378 - * NPY_int64, 0) - * if n1 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i0 in range(n0): + /* "nanmax.pyx":405 + * raise ValueError(m) + * amax = MINfloat32 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai >= amax: */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":379 - * if n1 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< + /* "nanmax.pyx":406 + * amax = MINfloat32 * for i0 in range(n0): - * amax = MINint64 - */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - - /* "nanmax.pyx":380 - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * amax = MINint64 - * for i1 in range(n1): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmax.pyx":381 - * raise ValueError(msg) + /* "nanmax.pyx":407 * for i0 in range(n0): - * amax = MINint64 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * allnan = 0 */ - __pyx_v_amax = __pyx_v_6nanmax_MINint64; + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":382 - * for i0 in range(n0): - * amax = MINint64 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai >= amax: + /* "nanmax.pyx":408 + * ai = a[i0] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_amax = __pyx_v_ai; - /* "nanmax.pyx":383 - * amax = MINint64 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "nanmax.pyx":409 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * return np.float32(amax) */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_allnan = 0; + goto __pyx_L6; + } + __pyx_L6:; + } - /* "nanmax.pyx":384 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * y[i0] = amax + /* "nanmax.pyx":410 + * amax = ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.float32(amax) + * else: */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":385 - * ai = a[i0, i1] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * y[i0] = amax - * return y + /* "nanmax.pyx":411 + * allnan = 0 + * if allnan == 0: + * return np.float32(amax) # <<<<<<<<<<<<<< + * else: + * return np.float32(NAN) */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L8; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); } - __pyx_L8:; } - - /* "nanmax.pyx":386 - * if ai >= amax: - * amax = ai - * y[i0] = amax # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanmax.pyx":387 - * amax = ai - * y[i0] = amax - * return y # <<<<<<<<<<<<<< + /* "nanmax.pyx":413 + * return np.float32(amax) + * else: + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_2 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_2) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + } - /* "nanmax.pyx":365 + /* "nanmax.pyx":393 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=1 ignoring NaNs." + * def nanmax_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":391 +/* "nanmax.pyx":417 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmax_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_21nanmax_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_20nanmax_1d_float_axisNone[] = "nanmax_1d_float_axisNone(ndarray a)\nMaximum of 1d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_21nanmax_1d_float_axisNone = {"nanmax_1d_float_axisNone", (PyCFunction)__pyx_pw_6nanmax_21nanmax_1d_float_axisNone, METH_O, __pyx_doc_6nanmax_20nanmax_1d_float_axisNone}; -static PyObject *__pyx_pw_6nanmax_21nanmax_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_21nanmax_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_20nanmax_1d_float64_axisNone[] = "nanmax_1d_float64_axisNone(ndarray a)\nMaximum of 1d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_21nanmax_1d_float64_axisNone = {"nanmax_1d_float64_axisNone", (PyCFunction)__pyx_pw_6nanmax_21nanmax_1d_float64_axisNone, METH_O, __pyx_doc_6nanmax_20nanmax_1d_float64_axisNone}; +static PyObject *__pyx_pw_6nanmax_21nanmax_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_1d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_20nanmax_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_1d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_20nanmax_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4935,10 +5239,10 @@ static PyObject *__pyx_pw_6nanmax_21nanmax_1d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amax; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_amax; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4959,27 +5263,27 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmax.pyx":393 - * def nanmax_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): - * "Maximum of 1d array with dtype=float along axis=None ignoring NaNs." + /* "nanmax.pyx":419 + * def nanmax_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): + * "Maximum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amax, ai + * cdef np.float64_t amax, ai * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":397 + /* "nanmax.pyx":423 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4988,7 +5292,7 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":398 + /* "nanmax.pyx":424 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4997,7 +5301,7 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":399 + /* "nanmax.pyx":425 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< @@ -5007,48 +5311,48 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":400 + /* "nanmax.pyx":426 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amax = MINfloat + * amax = MINfloat64 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":401 + /* "nanmax.pyx":427 * if n0 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINfloat + * amax = MINfloat64 * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":402 + /* "nanmax.pyx":428 * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amax = MINfloat # <<<<<<<<<<<<<< + * amax = MINfloat64 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0] */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat64; - /* "nanmax.pyx":403 + /* "nanmax.pyx":429 * raise ValueError(m) - * amax = MINfloat + * amax = MINfloat64 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0] * if ai >= amax: @@ -5057,17 +5361,17 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":404 - * amax = MINfloat + /* "nanmax.pyx":430 + * amax = MINfloat64 * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmax.pyx":405 + /* "nanmax.pyx":431 * for i0 in range(n0): * ai = a[i0] * if ai >= amax: # <<<<<<<<<<<<<< @@ -5077,7 +5381,7 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":406 + /* "nanmax.pyx":432 * ai = a[i0] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< @@ -5086,12 +5390,12 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_amax = __pyx_v_ai; - /* "nanmax.pyx":407 + /* "nanmax.pyx":433 * if ai >= amax: * amax = ai * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float(amax) + * return np.float64(amax) */ __pyx_v_allnan = 0; goto __pyx_L6; @@ -5099,30 +5403,30 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_L6:; } - /* "nanmax.pyx":408 + /* "nanmax.pyx":434 * amax = ai * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float(amax) + * return np.float64(amax) * else: */ __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":409 + /* "nanmax.pyx":435 * allnan = 0 * if allnan == 0: - * return np.float(amax) # <<<<<<<<<<<<<< + * return np.float64(amax) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { @@ -5135,17 +5439,17 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -5156,20 +5460,20 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj } /*else*/ { - /* "nanmax.pyx":411 - * return np.float(amax) + /* "nanmax.pyx":437 + * return np.float64(amax) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { @@ -5182,17 +5486,17 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -5202,11 +5506,11 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "nanmax.pyx":391 + /* "nanmax.pyx":417 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmax_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -5221,7 +5525,7 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5233,27 +5537,27 @@ static PyObject *__pyx_pf_6nanmax_20nanmax_1d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanmax.pyx":415 +/* "nanmax.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float32 along axis=None ignoring NaNs." - * cdef int allnan = 1 + * def nanmax_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=None ignoring NaNs." + * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_23nanmax_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_22nanmax_1d_float32_axisNone[] = "nanmax_1d_float32_axisNone(ndarray a)\nMaximum of 1d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_23nanmax_1d_float32_axisNone = {"nanmax_1d_float32_axisNone", (PyCFunction)__pyx_pw_6nanmax_23nanmax_1d_float32_axisNone, METH_O, __pyx_doc_6nanmax_22nanmax_1d_float32_axisNone}; -static PyObject *__pyx_pw_6nanmax_23nanmax_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_23nanmax_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_22nanmax_2d_float_axisNone[] = "nanmax_2d_float_axisNone(ndarray a)\nMaximum of 2d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_23nanmax_2d_float_axisNone = {"nanmax_2d_float_axisNone", (PyCFunction)__pyx_pw_6nanmax_23nanmax_2d_float_axisNone, METH_O, __pyx_doc_6nanmax_22nanmax_2d_float_axisNone}; +static PyObject *__pyx_pw_6nanmax_23nanmax_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_1d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_22nanmax_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_22nanmax_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5264,13 +5568,15 @@ static PyObject *__pyx_pw_6nanmax_23nanmax_1d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_22nanmax_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_22nanmax_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amax; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_amax; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; @@ -5282,260 +5588,285 @@ static PyObject *__pyx_pf_6nanmax_22nanmax_1d_float32_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":417 - * def nanmax_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): - * "Maximum of 1d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanmax.pyx":443 + * def nanmax_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): + * "Maximum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amax, ai - * cdef Py_ssize_t i0 + * cdef np.float_t amax, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":421 - * cdef Py_ssize_t i0 + /* "nanmax.pyx":447 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":422 + /* "nanmax.pyx":448 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":423 + /* "nanmax.pyx":449 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanmax.pyx":450 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: # <<<<<<<<<<<<<< * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":424 - * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + /* "nanmax.pyx":451 + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amax = MINfloat32 + * amax = MINfloat */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":425 - * if n0 == 0: + /* "nanmax.pyx":452 + * if n0 * n1 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINfloat32 + * amax = MINfloat * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":426 + /* "nanmax.pyx":453 * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amax = MINfloat32 # <<<<<<<<<<<<<< + * amax = MINfloat # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1): */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat32; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat; - /* "nanmax.pyx":427 + /* "nanmax.pyx":454 * raise ValueError(m) - * amax = MINfloat32 + * amax = MINfloat * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai >= amax: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":428 - * amax = MINfloat32 + /* "nanmax.pyx":455 + * amax = MINfloat * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai >= amax: */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":429 + /* "nanmax.pyx":456 * for i0 in range(n0): - * ai = a[i0] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * allnan = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":430 - * ai = a[i0] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 + /* "nanmax.pyx":457 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * allnan = 0 + */ + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { + + /* "nanmax.pyx":458 + * ai = a[i0, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * allnan = 0 * if allnan == 0: */ - __pyx_v_amax = __pyx_v_ai; + __pyx_v_amax = __pyx_v_ai; - /* "nanmax.pyx":431 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< + /* "nanmax.pyx":459 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float32(amax) + * return np.float(amax) */ - __pyx_v_allnan = 0; - goto __pyx_L6; + __pyx_v_allnan = 0; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; } - /* "nanmax.pyx":432 - * amax = ai - * allnan = 0 + /* "nanmax.pyx":460 + * amax = ai + * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float32(amax) + * return np.float(amax) * else: */ __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":433 - * allnan = 0 + /* "nanmax.pyx":461 + * allnan = 0 * if allnan == 0: - * return np.float32(amax) # <<<<<<<<<<<<<< + * return np.float(amax) # <<<<<<<<<<<<<< * else: - * return np.float32(NAN) + * return np.float(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __Pyx_DECREF_SET(__pyx_t_10, function); } } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /*else*/ { - /* "nanmax.pyx":435 - * return np.float32(amax) + /* "nanmax.pyx":463 + * return np.float(amax) * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< + * return np.float(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + __Pyx_DECREF_SET(__pyx_t_12, function); } } if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } - /* "nanmax.pyx":415 + /* "nanmax.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmax_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -5543,14 +5874,14 @@ static PyObject *__pyx_pf_6nanmax_22nanmax_1d_float32_axisNone(CYTHON_UNUSED PyO __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5562,27 +5893,27 @@ static PyObject *__pyx_pf_6nanmax_22nanmax_1d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanmax.pyx":439 +/* "nanmax.pyx":467 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmax_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_25nanmax_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_24nanmax_1d_float64_axisNone[] = "nanmax_1d_float64_axisNone(ndarray a)\nMaximum of 1d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_25nanmax_1d_float64_axisNone = {"nanmax_1d_float64_axisNone", (PyCFunction)__pyx_pw_6nanmax_25nanmax_1d_float64_axisNone, METH_O, __pyx_doc_6nanmax_24nanmax_1d_float64_axisNone}; -static PyObject *__pyx_pw_6nanmax_25nanmax_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_25nanmax_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_24nanmax_2d_float32_axisNone[] = "nanmax_2d_float32_axisNone(ndarray a)\nMaximum of 2d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_25nanmax_2d_float32_axisNone = {"nanmax_2d_float32_axisNone", (PyCFunction)__pyx_pw_6nanmax_25nanmax_2d_float32_axisNone, METH_O, __pyx_doc_6nanmax_24nanmax_2d_float32_axisNone}; +static PyObject *__pyx_pw_6nanmax_25nanmax_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_1d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_24nanmax_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_24nanmax_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5593,13 +5924,15 @@ static PyObject *__pyx_pw_6nanmax_25nanmax_1d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_24nanmax_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_24nanmax_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amax; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_amax; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; @@ -5611,260 +5944,285 @@ static PyObject *__pyx_pf_6nanmax_24nanmax_1d_float64_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_1d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":441 - * def nanmax_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): - * "Maximum of 1d array with dtype=float64 along axis=None ignoring NaNs." + /* "nanmax.pyx":469 + * def nanmax_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): + * "Maximum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amax, ai - * cdef Py_ssize_t i0 + * cdef np.float32_t amax, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":445 - * cdef Py_ssize_t i0 + /* "nanmax.pyx":473 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":446 + /* "nanmax.pyx":474 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":447 + /* "nanmax.pyx":475 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanmax.pyx":476 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: # <<<<<<<<<<<<<< * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":448 - * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + /* "nanmax.pyx":477 + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amax = MINfloat64 + * amax = MINfloat32 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":449 - * if n0 == 0: + /* "nanmax.pyx":478 + * if n0 * n1 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINfloat64 + * amax = MINfloat32 * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":450 + /* "nanmax.pyx":479 * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amax = MINfloat64 # <<<<<<<<<<<<<< + * amax = MINfloat32 # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1): */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat64; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat32; - /* "nanmax.pyx":451 + /* "nanmax.pyx":480 * raise ValueError(m) - * amax = MINfloat64 + * amax = MINfloat32 * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai >= amax: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":452 - * amax = MINfloat64 + /* "nanmax.pyx":481 + * amax = MINfloat32 * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai >= amax: */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":453 + /* "nanmax.pyx":482 * for i0 in range(n0): - * ai = a[i0] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * allnan = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":454 - * ai = a[i0] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 + /* "nanmax.pyx":483 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * allnan = 0 + */ + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { + + /* "nanmax.pyx":484 + * ai = a[i0, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * allnan = 0 * if allnan == 0: */ - __pyx_v_amax = __pyx_v_ai; + __pyx_v_amax = __pyx_v_ai; - /* "nanmax.pyx":455 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< + /* "nanmax.pyx":485 + * if ai >= amax: + * amax = ai + * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float64(amax) + * return np.float32(amax) */ - __pyx_v_allnan = 0; - goto __pyx_L6; + __pyx_v_allnan = 0; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; } - /* "nanmax.pyx":456 - * amax = ai - * allnan = 0 + /* "nanmax.pyx":486 + * amax = ai + * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float64(amax) + * return np.float32(amax) * else: */ __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":457 - * allnan = 0 + /* "nanmax.pyx":487 + * allnan = 0 * if allnan == 0: - * return np.float64(amax) # <<<<<<<<<<<<<< + * return np.float32(amax) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * return np.float32(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __Pyx_DECREF_SET(__pyx_t_10, function); } } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /*else*/ { - /* "nanmax.pyx":459 - * return np.float64(amax) + /* "nanmax.pyx":489 + * return np.float32(amax) * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + __Pyx_DECREF_SET(__pyx_t_12, function); } } if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } - /* "nanmax.pyx":439 + /* "nanmax.pyx":467 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmax_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -5872,14 +6230,14 @@ static PyObject *__pyx_pf_6nanmax_24nanmax_1d_float64_axisNone(CYTHON_UNUSED PyO __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5891,27 +6249,27 @@ static PyObject *__pyx_pf_6nanmax_24nanmax_1d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanmax.pyx":463 +/* "nanmax.pyx":493 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmax_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_27nanmax_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_26nanmax_2d_float_axisNone[] = "nanmax_2d_float_axisNone(ndarray a)\nMaximum of 2d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_27nanmax_2d_float_axisNone = {"nanmax_2d_float_axisNone", (PyCFunction)__pyx_pw_6nanmax_27nanmax_2d_float_axisNone, METH_O, __pyx_doc_6nanmax_26nanmax_2d_float_axisNone}; -static PyObject *__pyx_pw_6nanmax_27nanmax_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_27nanmax_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_26nanmax_2d_float64_axisNone[] = "nanmax_2d_float64_axisNone(ndarray a)\nMaximum of 2d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_27nanmax_2d_float64_axisNone = {"nanmax_2d_float64_axisNone", (PyCFunction)__pyx_pw_6nanmax_27nanmax_2d_float64_axisNone, METH_O, __pyx_doc_6nanmax_26nanmax_2d_float64_axisNone}; +static PyObject *__pyx_pw_6nanmax_27nanmax_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_26nanmax_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_26nanmax_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5922,10 +6280,10 @@ static PyObject *__pyx_pw_6nanmax_27nanmax_2d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amax; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_amax; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -5951,27 +6309,27 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":465 - * def nanmax_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): - * "Maximum of 2d array with dtype=float along axis=None ignoring NaNs." + /* "nanmax.pyx":495 + * def nanmax_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): + * "Maximum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amax, ai + * cdef np.float64_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":469 + /* "nanmax.pyx":499 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5980,7 +6338,7 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":470 + /* "nanmax.pyx":500 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5989,7 +6347,7 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":471 + /* "nanmax.pyx":501 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5998,7 +6356,7 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":472 + /* "nanmax.pyx":502 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * if n0 * n1 == 0: # <<<<<<<<<<<<<< @@ -6008,48 +6366,48 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":473 + /* "nanmax.pyx":503 * cdef Py_ssize_t n1 = dim[1] * if n0 * n1 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amax = MINfloat + * amax = MINfloat64 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":474 + /* "nanmax.pyx":504 * if n0 * n1 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINfloat + * amax = MINfloat64 * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":475 + /* "nanmax.pyx":505 * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amax = MINfloat # <<<<<<<<<<<<<< + * amax = MINfloat64 # <<<<<<<<<<<<<< * for i0 in range(n0): * for i1 in range(n1): */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat; + __pyx_v_amax = __pyx_v_6nanmax_MINfloat64; - /* "nanmax.pyx":476 + /* "nanmax.pyx":506 * raise ValueError(m) - * amax = MINfloat + * amax = MINfloat64 * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] @@ -6058,8 +6416,8 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":477 - * amax = MINfloat + /* "nanmax.pyx":507 + * amax = MINfloat64 * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] @@ -6069,7 +6427,7 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":478 + /* "nanmax.pyx":508 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -6078,9 +6436,9 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":479 + /* "nanmax.pyx":509 * for i1 in range(n1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< @@ -6090,7 +6448,7 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":480 + /* "nanmax.pyx":510 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< @@ -6099,12 +6457,12 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_amax = __pyx_v_ai; - /* "nanmax.pyx":481 + /* "nanmax.pyx":511 * if ai >= amax: * amax = ai * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float(amax) + * return np.float64(amax) */ __pyx_v_allnan = 0; goto __pyx_L8; @@ -6113,30 +6471,30 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "nanmax.pyx":482 + /* "nanmax.pyx":512 * amax = ai * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float(amax) + * return np.float64(amax) * else: */ __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":483 + /* "nanmax.pyx":513 * allnan = 0 * if allnan == 0: - * return np.float(amax) # <<<<<<<<<<<<<< + * return np.float64(amax) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { @@ -6149,17 +6507,17 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } @@ -6170,20 +6528,20 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj } /*else*/ { - /* "nanmax.pyx":485 - * return np.float(amax) + /* "nanmax.pyx":515 + * return np.float64(amax) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { @@ -6196,17 +6554,17 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -6216,11 +6574,11 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "nanmax.pyx":463 + /* "nanmax.pyx":493 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmax_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -6235,7 +6593,7 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6247,27 +6605,27 @@ static PyObject *__pyx_pf_6nanmax_26nanmax_2d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanmax.pyx":489 +/* "nanmax.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmax_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_29nanmax_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_28nanmax_2d_float32_axisNone[] = "nanmax_2d_float32_axisNone(ndarray a)\nMaximum of 2d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_29nanmax_2d_float32_axisNone = {"nanmax_2d_float32_axisNone", (PyCFunction)__pyx_pw_6nanmax_29nanmax_2d_float32_axisNone, METH_O, __pyx_doc_6nanmax_28nanmax_2d_float32_axisNone}; -static PyObject *__pyx_pw_6nanmax_29nanmax_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_29nanmax_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_28nanmax_1d_int_axisNone[] = "nanmax_1d_int_axisNone(ndarray a)\nMaximum of 1d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_29nanmax_1d_int_axisNone = {"nanmax_1d_int_axisNone", (PyCFunction)__pyx_pw_6nanmax_29nanmax_1d_int_axisNone, METH_O, __pyx_doc_6nanmax_28nanmax_1d_int_axisNone}; +static PyObject *__pyx_pw_6nanmax_29nanmax_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_28nanmax_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_1d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_28nanmax_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6278,15 +6636,13 @@ static PyObject *__pyx_pw_6nanmax_29nanmax_2d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_28nanmax_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amax; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_28nanmax_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int_t __pyx_v_amax; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; @@ -6298,300 +6654,208 @@ static PyObject *__pyx_pf_6nanmax_28nanmax_2d_float32_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_1d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmax.pyx":491 - * def nanmax_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): - * "Maximum of 2d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanmax.pyx":521 + * def nanmax_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): + * "Maximum of 1d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amax, ai - * cdef Py_ssize_t i0, i1 + * cdef np.int_t amax, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":495 - * cdef Py_ssize_t i0, i1 + /* "nanmax.pyx":525 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":496 + /* "nanmax.pyx":526 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * if n0 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":497 + /* "nanmax.pyx":527 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmax.pyx":498 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":499 - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + /* "nanmax.pyx":528 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amax = MINfloat32 + * amax = MINint */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":500 - * if n0 * n1 == 0: + /* "nanmax.pyx":529 + * if n0 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINfloat32 + * amax = MINint * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":501 + /* "nanmax.pyx":530 * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amax = MINfloat32 # <<<<<<<<<<<<<< + * amax = MINint # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): + * ai = a[i0] */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat32; + __pyx_v_amax = __pyx_v_6nanmax_MINint; - /* "nanmax.pyx":502 + /* "nanmax.pyx":531 * raise ValueError(m) - * amax = MINfloat32 + * amax = MINint * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * if ai >= amax: */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":503 - * amax = MINfloat32 + /* "nanmax.pyx":532 + * amax = MINint * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai >= amax: + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmax.pyx":504 + /* "nanmax.pyx":533 * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmax.pyx":505 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * allnan = 0 - */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { - - /* "nanmax.pyx":506 - * ai = a[i0, i1] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * ai = a[i0] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * return np.int(amax) */ - __pyx_v_amax = __pyx_v_ai; + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":507 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.float32(amax) + /* "nanmax.pyx":534 + * ai = a[i0] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * return np.int(amax) + * */ - __pyx_v_allnan = 0; - goto __pyx_L8; - } - __pyx_L8:; + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L6; } + __pyx_L6:; } - /* "nanmax.pyx":508 - * amax = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float32(amax) - * else: - */ - __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_1) { - - /* "nanmax.pyx":509 - * allnan = 0 - * if allnan == 0: - * return np.float32(amax) # <<<<<<<<<<<<<< - * else: - * return np.float32(NAN) + /* "nanmax.pyx":535 + * if ai >= amax: + * amax = ai + * return np.int(amax) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; } - /*else*/ { + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; - /* "nanmax.pyx":511 - * return np.float32(amax) - * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< - * + /* "nanmax.pyx":519 * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - } - } - if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - } - - /* "nanmax.pyx":489 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmax_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef int allnan = 1 + * @cython.wraparound(False) + * def nanmax_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6603,27 +6867,27 @@ static PyObject *__pyx_pf_6nanmax_28nanmax_2d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanmax.pyx":515 +/* "nanmax.pyx":539 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmax_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_31nanmax_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_30nanmax_2d_float64_axisNone[] = "nanmax_2d_float64_axisNone(ndarray a)\nMaximum of 2d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_31nanmax_2d_float64_axisNone = {"nanmax_2d_float64_axisNone", (PyCFunction)__pyx_pw_6nanmax_31nanmax_2d_float64_axisNone, METH_O, __pyx_doc_6nanmax_30nanmax_2d_float64_axisNone}; -static PyObject *__pyx_pw_6nanmax_31nanmax_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_31nanmax_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_30nanmax_1d_int8_axisNone[] = "nanmax_1d_int8_axisNone(ndarray a)\nMaximum of 1d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_31nanmax_1d_int8_axisNone = {"nanmax_1d_int8_axisNone", (PyCFunction)__pyx_pw_6nanmax_31nanmax_1d_int8_axisNone, METH_O, __pyx_doc_6nanmax_30nanmax_1d_int8_axisNone}; +static PyObject *__pyx_pw_6nanmax_31nanmax_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_30nanmax_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_1d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_30nanmax_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6634,15 +6898,13 @@ static PyObject *__pyx_pw_6nanmax_31nanmax_2d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_30nanmax_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amax; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_30nanmax_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int8_t __pyx_v_amax; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; @@ -6654,285 +6916,193 @@ static PyObject *__pyx_pf_6nanmax_30nanmax_2d_float64_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_1d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmax.pyx":517 - * def nanmax_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): - * "Maximum of 2d array with dtype=float64 along axis=None ignoring NaNs." + /* "nanmax.pyx":541 + * def nanmax_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): + * "Maximum of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amax, ai - * cdef Py_ssize_t i0, i1 + * cdef np.int8_t amax, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":521 - * cdef Py_ssize_t i0, i1 + /* "nanmax.pyx":545 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":522 + /* "nanmax.pyx":546 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * if n0 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":523 + /* "nanmax.pyx":547 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmax.pyx":524 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanmax.pyx":525 - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + /* "nanmax.pyx":548 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amax = MINfloat64 + * amax = MINint8 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":526 - * if n0 * n1 == 0: + /* "nanmax.pyx":549 + * if n0 == 0: * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINfloat64 + * amax = MINint8 * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":527 + /* "nanmax.pyx":550 * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amax = MINfloat64 # <<<<<<<<<<<<<< + * amax = MINint8 # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): + * ai = a[i0] */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat64; + __pyx_v_amax = __pyx_v_6nanmax_MINint8; - /* "nanmax.pyx":528 + /* "nanmax.pyx":551 * raise ValueError(m) - * amax = MINfloat64 + * amax = MINint8 * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * if ai >= amax: */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":529 - * amax = MINfloat64 + /* "nanmax.pyx":552 + * amax = MINint8 * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai >= amax: + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmax.pyx":530 + /* "nanmax.pyx":553 * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmax.pyx":531 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * allnan = 0 - */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { - - /* "nanmax.pyx":532 - * ai = a[i0, i1] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * ai = a[i0] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * return np.int8(amax) */ - __pyx_v_amax = __pyx_v_ai; + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":533 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.float64(amax) + /* "nanmax.pyx":554 + * ai = a[i0] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * return np.int8(amax) + * */ - __pyx_v_allnan = 0; - goto __pyx_L8; - } - __pyx_L8:; + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L6; } + __pyx_L6:; } - /* "nanmax.pyx":534 - * amax = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float64(amax) - * else: - */ - __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_1) { - - /* "nanmax.pyx":535 - * allnan = 0 - * if allnan == 0: - * return np.float64(amax) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanmax.pyx":555 + * if ai >= amax: + * amax = ai + * return np.int8(amax) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; } - /*else*/ { + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; - /* "nanmax.pyx":537 - * return np.float64(amax) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmax_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - } - } - if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - } - - /* "nanmax.pyx":515 + /* "nanmax.pyx":539 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmax_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -6940,14 +7110,14 @@ static PyObject *__pyx_pf_6nanmax_30nanmax_2d_float64_axisNone(CYTHON_UNUSED PyO __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6959,27 +7129,27 @@ static PyObject *__pyx_pf_6nanmax_30nanmax_2d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanmax.pyx":541 +/* "nanmax.pyx":559 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=0 ignoring NaNs." + * def nanmax_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_33nanmax_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_32nanmax_2d_float_axis0[] = "nanmax_2d_float_axis0(ndarray a)\nMaximum of 2d array with dtype=float along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_33nanmax_2d_float_axis0 = {"nanmax_2d_float_axis0", (PyCFunction)__pyx_pw_6nanmax_33nanmax_2d_float_axis0, METH_O, __pyx_doc_6nanmax_32nanmax_2d_float_axis0}; -static PyObject *__pyx_pw_6nanmax_33nanmax_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_33nanmax_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_32nanmax_1d_int32_axisNone[] = "nanmax_1d_int32_axisNone(ndarray a)\nMaximum of 1d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_33nanmax_1d_int32_axisNone = {"nanmax_1d_int32_axisNone", (PyCFunction)__pyx_pw_6nanmax_33nanmax_1d_int32_axisNone, METH_O, __pyx_doc_6nanmax_32nanmax_1d_int32_axisNone}; +static PyObject *__pyx_pw_6nanmax_33nanmax_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_32nanmax_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_1d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_32nanmax_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6990,345 +7160,258 @@ static PyObject *__pyx_pw_6nanmax_33nanmax_2d_float_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_32nanmax_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amax; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_32nanmax_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int32_t __pyx_v_amax; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_float_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmax_1d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmax.pyx":543 - * def nanmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Maximum of 2d array with dtype=float along axis=0 ignoring NaNs." + /* "nanmax.pyx":561 + * def nanmax_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): + * "Maximum of 1d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amax, ai - * cdef Py_ssize_t i0, i1 + * cdef np.int32_t amax, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":547 - * cdef Py_ssize_t i0, i1 + /* "nanmax.pyx":565 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":548 + /* "nanmax.pyx":566 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":549 + /* "nanmax.pyx":567 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmax.pyx":550 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "nanmax.pyx":551 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmax.pyx":553 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) * if n0 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":554 - * NPY_float, 0) + /* "nanmax.pyx":568 + * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i1 in range(n1): + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amax = MINint32 */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":555 + /* "nanmax.pyx":569 * if n0 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * amax = MINfloat + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amax = MINint32 + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":556 - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * amax = MINfloat - * allnan = 1 + /* "nanmax.pyx":570 + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amax = MINint32 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_v_amax = __pyx_v_6nanmax_MINint32; - /* "nanmax.pyx":557 - * raise ValueError(msg) - * for i1 in range(n1): - * amax = MINfloat # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0): + /* "nanmax.pyx":571 + * raise ValueError(m) + * amax = MINint32 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai >= amax: */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":558 - * for i1 in range(n1): - * amax = MINfloat - * allnan = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanmax.pyx":572 + * amax = MINint32 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_v_allnan = 1; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmax.pyx":559 - * amax = MINfloat - * allnan = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai >= amax: + /* "nanmax.pyx":573 + * for i0 in range(n0): + * ai = a[i0] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * return np.int32(amax) */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":560 - * allnan = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "nanmax.pyx":574 + * ai = a[i0] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * return np.int32(amax) + * */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmax.pyx":561 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * allnan = 0 - */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":562 - * ai = a[i0, i1] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: - */ - __pyx_v_amax = __pyx_v_ai; - - /* "nanmax.pyx":563 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = amax - */ - __pyx_v_allnan = 0; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "nanmax.pyx":564 - * amax = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = amax - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":565 - * allnan = 0 - * if allnan == 0: - * y[i1] = amax # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN - */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; - goto __pyx_L9; - } - /*else*/ { - - /* "nanmax.pyx":567 - * y[i1] = amax - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_9 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L6; } - __pyx_L9:; + __pyx_L6:; } - /* "nanmax.pyx":568 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmax.pyx":575 + * if ai >= amax: + * amax = ai + * return np.int32(amax) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanmax.pyx":541 + /* "nanmax.pyx":559 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=0 ignoring NaNs." + * def nanmax_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":572 +/* "nanmax.pyx":579 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=1 ignoring NaNs." + * def nanmax_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_35nanmax_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_34nanmax_2d_float_axis1[] = "nanmax_2d_float_axis1(ndarray a)\nMaximum of 2d array with dtype=float along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_35nanmax_2d_float_axis1 = {"nanmax_2d_float_axis1", (PyCFunction)__pyx_pw_6nanmax_35nanmax_2d_float_axis1, METH_O, __pyx_doc_6nanmax_34nanmax_2d_float_axis1}; -static PyObject *__pyx_pw_6nanmax_35nanmax_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_35nanmax_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_34nanmax_1d_int64_axisNone[] = "nanmax_1d_int64_axisNone(ndarray a)\nMaximum of 1d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_35nanmax_1d_int64_axisNone = {"nanmax_1d_int64_axisNone", (PyCFunction)__pyx_pw_6nanmax_35nanmax_1d_int64_axisNone, METH_O, __pyx_doc_6nanmax_34nanmax_1d_int64_axisNone}; +static PyObject *__pyx_pw_6nanmax_35nanmax_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_float_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_34nanmax_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_1d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_34nanmax_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7339,345 +7422,258 @@ static PyObject *__pyx_pw_6nanmax_35nanmax_2d_float_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_34nanmax_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amax; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_34nanmax_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int64_t __pyx_v_amax; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_float_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmax_1d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmax.pyx":574 - * def nanmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Maximum of 2d array with dtype=float along axis=1 ignoring NaNs." + /* "nanmax.pyx":581 + * def nanmax_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): + * "Maximum of 1d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amax, ai - * cdef Py_ssize_t i0, i1 + * cdef np.int64_t amax, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":578 - * cdef Py_ssize_t i0, i1 + /* "nanmax.pyx":585 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":579 + /* "nanmax.pyx":586 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":580 + /* "nanmax.pyx":587 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":581 + /* "nanmax.pyx":588 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * if n0 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amax = MINint64 */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":582 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * if n1 == 0: + /* "nanmax.pyx":589 + * if n0 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amax = MINint64 + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmax.pyx":584 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { - /* "nanmax.pyx":585 - * NPY_float, 0) - * if n1 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) + /* "nanmax.pyx":590 + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amax = MINint64 # <<<<<<<<<<<<<< * for i0 in range(n0): + * ai = a[i0] */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + __pyx_v_amax = __pyx_v_6nanmax_MINint64; - /* "nanmax.pyx":586 - * if n1 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * amax = MINfloat - */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - - /* "nanmax.pyx":587 - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) + /* "nanmax.pyx":591 + * raise ValueError(m) + * amax = MINint64 * for i0 in range(n0): # <<<<<<<<<<<<<< - * amax = MINfloat - * allnan = 1 + * ai = a[i0] + * if ai >= amax: */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":588 - * raise ValueError(msg) + /* "nanmax.pyx":592 + * amax = MINint64 * for i0 in range(n0): - * amax = MINfloat # <<<<<<<<<<<<<< - * allnan = 1 - * for i1 in range(n1): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmax.pyx":589 + /* "nanmax.pyx":593 * for i0 in range(n0): - * amax = MINfloat - * allnan = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_allnan = 1; - - /* "nanmax.pyx":590 - * amax = MINfloat - * allnan = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai >= amax: - */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; - - /* "nanmax.pyx":591 - * allnan = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai - */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmax.pyx":592 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * allnan = 0 - */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":593 - * ai = a[i0, i1] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: - */ - __pyx_v_amax = __pyx_v_ai; - - /* "nanmax.pyx":594 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = amax - */ - __pyx_v_allnan = 0; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "nanmax.pyx":595 - * amax = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = amax - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":596 - * allnan = 0 - * if allnan == 0: - * y[i0] = amax # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN + * ai = a[i0] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * return np.int64(amax) */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; - goto __pyx_L9; - } - /*else*/ { + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":598 - * y[i0] = amax - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y + /* "nanmax.pyx":594 + * ai = a[i0] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * return np.int64(amax) * */ - __pyx_t_9 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L6; } - __pyx_L9:; + __pyx_L6:; } - /* "nanmax.pyx":599 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmax.pyx":595 + * if ai >= amax: + * amax = ai + * return np.int64(amax) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanmax.pyx":572 + /* "nanmax.pyx":579 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=1 ignoring NaNs." + * def nanmax_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":603 +/* "nanmax.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * def nanmax_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_37nanmax_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_36nanmax_2d_float32_axis0[] = "nanmax_2d_float32_axis0(ndarray a)\nMaximum of 2d array with dtype=float32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_37nanmax_2d_float32_axis0 = {"nanmax_2d_float32_axis0", (PyCFunction)__pyx_pw_6nanmax_37nanmax_2d_float32_axis0, METH_O, __pyx_doc_6nanmax_36nanmax_2d_float32_axis0}; -static PyObject *__pyx_pw_6nanmax_37nanmax_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_37nanmax_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_36nanmax_2d_int_axisNone[] = "nanmax_2d_int_axisNone(ndarray a)\nMaximum of 2d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_37nanmax_2d_int_axisNone = {"nanmax_2d_int_axisNone", (PyCFunction)__pyx_pw_6nanmax_37nanmax_2d_int_axisNone, METH_O, __pyx_doc_6nanmax_36nanmax_2d_int_axisNone}; +static PyObject *__pyx_pw_6nanmax_37nanmax_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_36nanmax_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_36nanmax_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7688,63 +7684,56 @@ static PyObject *__pyx_pw_6nanmax_37nanmax_2d_float32_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_36nanmax_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amax; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_36nanmax_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int_t __pyx_v_amax; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_float32_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmax_2d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":605 - * def nanmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Maximum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + /* "nanmax.pyx":601 + * def nanmax_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): + * "Maximum of 2d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amax, ai + * cdef np.int_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":609 + /* "nanmax.pyx":605 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7753,280 +7742,227 @@ static PyObject *__pyx_pf_6nanmax_36nanmax_2d_float32_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":610 + /* "nanmax.pyx":606 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":611 + /* "nanmax.pyx":607 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":612 + /* "nanmax.pyx":608 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":613 + /* "nanmax.pyx":609 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmax.pyx":615 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":616 - * NPY_float32, 0) - * if n0 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i1 in range(n1): + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amax = MINint */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":617 - * if n0 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * amax = MINfloat32 + /* "nanmax.pyx":610 + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amax = MINint + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":618 - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * amax = MINfloat32 - * allnan = 1 - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanmax.pyx":619 - * raise ValueError(msg) - * for i1 in range(n1): - * amax = MINfloat32 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0): + /* "nanmax.pyx":611 + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amax = MINint # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat32; + __pyx_v_amax = __pyx_v_6nanmax_MINint; - /* "nanmax.pyx":620 - * for i1 in range(n1): - * amax = MINfloat32 - * allnan = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanmax.pyx":612 + * raise ValueError(m) + * amax = MINint + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":621 - * amax = MINfloat32 - * allnan = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "nanmax.pyx":613 + * amax = MINint + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":622 - * allnan = 1 - * for i0 in range(n0): + /* "nanmax.pyx":614 + * for i0 in range(n0): + * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":623 - * for i0 in range(n0): + /* "nanmax.pyx":615 + * for i1 in range(n1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * return np.int(amax) */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":624 + /* "nanmax.pyx":616 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * return np.int(amax) + * */ __pyx_v_amax = __pyx_v_ai; - - /* "nanmax.pyx":625 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = amax - */ - __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - - /* "nanmax.pyx":626 - * amax = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = amax - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":627 - * allnan = 0 - * if allnan == 0: - * y[i1] = amax # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN - */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; - goto __pyx_L9; - } - /*else*/ { - - /* "nanmax.pyx":629 - * y[i1] = amax - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_9 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; - } - __pyx_L9:; } - /* "nanmax.pyx":630 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmax.pyx":617 + * if ai >= amax: + * amax = ai + * return np.int(amax) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanmax.pyx":603 + /* "nanmax.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * def nanmax_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":634 +/* "nanmax.pyx":621 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * def nanmax_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_39nanmax_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_38nanmax_2d_float32_axis1[] = "nanmax_2d_float32_axis1(ndarray a)\nMaximum of 2d array with dtype=float32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_39nanmax_2d_float32_axis1 = {"nanmax_2d_float32_axis1", (PyCFunction)__pyx_pw_6nanmax_39nanmax_2d_float32_axis1, METH_O, __pyx_doc_6nanmax_38nanmax_2d_float32_axis1}; -static PyObject *__pyx_pw_6nanmax_39nanmax_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_39nanmax_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_38nanmax_2d_int8_axisNone[] = "nanmax_2d_int8_axisNone(ndarray a)\nMaximum of 2d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_39nanmax_2d_int8_axisNone = {"nanmax_2d_int8_axisNone", (PyCFunction)__pyx_pw_6nanmax_39nanmax_2d_int8_axisNone, METH_O, __pyx_doc_6nanmax_38nanmax_2d_int8_axisNone}; +static PyObject *__pyx_pw_6nanmax_39nanmax_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_float32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_38nanmax_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_38nanmax_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8037,63 +7973,56 @@ static PyObject *__pyx_pw_6nanmax_39nanmax_2d_float32_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_38nanmax_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amax; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_38nanmax_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int8_t __pyx_v_amax; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_float32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmax_2d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":636 - * def nanmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Maximum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + /* "nanmax.pyx":623 + * def nanmax_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): + * "Maximum of 2d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amax, ai + * cdef np.int8_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":640 + /* "nanmax.pyx":627 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8102,280 +8031,227 @@ static PyObject *__pyx_pf_6nanmax_38nanmax_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":641 + /* "nanmax.pyx":628 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":642 + /* "nanmax.pyx":629 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":643 + /* "nanmax.pyx":630 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":644 + /* "nanmax.pyx":631 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) - * if n1 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmax.pyx":646 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":647 - * NPY_float32, 0) - * if n1 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i0 in range(n0): + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amax = MINint8 */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":648 - * if n1 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< + /* "nanmax.pyx":632 + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amax = MINint8 * for i0 in range(n0): - * amax = MINfloat32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":649 - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * amax = MINfloat32 - * allnan = 1 - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanmax.pyx":650 - * raise ValueError(msg) + /* "nanmax.pyx":633 + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amax = MINint8 # <<<<<<<<<<<<<< * for i0 in range(n0): - * amax = MINfloat32 # <<<<<<<<<<<<<< - * allnan = 1 * for i1 in range(n1): */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat32; + __pyx_v_amax = __pyx_v_6nanmax_MINint8; - /* "nanmax.pyx":651 - * for i0 in range(n0): - * amax = MINfloat32 - * allnan = 1 # <<<<<<<<<<<<<< + /* "nanmax.pyx":634 + * raise ValueError(m) + * amax = MINint8 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":652 - * amax = MINfloat32 - * allnan = 1 + /* "nanmax.pyx":635 + * amax = MINint8 + * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":653 - * allnan = 1 + /* "nanmax.pyx":636 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":654 + /* "nanmax.pyx":637 * for i1 in range(n1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * return np.int8(amax) */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":655 + /* "nanmax.pyx":638 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * return np.int8(amax) + * */ __pyx_v_amax = __pyx_v_ai; - - /* "nanmax.pyx":656 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = amax - */ - __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - - /* "nanmax.pyx":657 - * amax = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = amax - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":658 - * allnan = 0 - * if allnan == 0: - * y[i0] = amax # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN - */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; - goto __pyx_L9; - } - /*else*/ { - - /* "nanmax.pyx":660 - * y[i0] = amax - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_9 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; - } - __pyx_L9:; } - /* "nanmax.pyx":661 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmax.pyx":639 + * if ai >= amax: + * amax = ai + * return np.int8(amax) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int8); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanmax.pyx":634 + /* "nanmax.pyx":621 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * def nanmax_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":665 +/* "nanmax.pyx":643 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * def nanmax_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_41nanmax_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_40nanmax_2d_float64_axis0[] = "nanmax_2d_float64_axis0(ndarray a)\nMaximum of 2d array with dtype=float64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_41nanmax_2d_float64_axis0 = {"nanmax_2d_float64_axis0", (PyCFunction)__pyx_pw_6nanmax_41nanmax_2d_float64_axis0, METH_O, __pyx_doc_6nanmax_40nanmax_2d_float64_axis0}; -static PyObject *__pyx_pw_6nanmax_41nanmax_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_41nanmax_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_40nanmax_2d_int32_axisNone[] = "nanmax_2d_int32_axisNone(ndarray a)\nMaximum of 2d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_41nanmax_2d_int32_axisNone = {"nanmax_2d_int32_axisNone", (PyCFunction)__pyx_pw_6nanmax_41nanmax_2d_int32_axisNone, METH_O, __pyx_doc_6nanmax_40nanmax_2d_int32_axisNone}; +static PyObject *__pyx_pw_6nanmax_41nanmax_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_40nanmax_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_40nanmax_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8386,63 +8262,56 @@ static PyObject *__pyx_pw_6nanmax_41nanmax_2d_float64_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_40nanmax_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amax; - __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6nanmax_40nanmax_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int32_t __pyx_v_amax; + __pyx_t_5numpy_int32_t __pyx_v_ai; + Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_float64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmax_2d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":667 - * def nanmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Maximum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + /* "nanmax.pyx":645 + * def nanmax_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): + * "Maximum of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amax, ai + * cdef np.int32_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":671 + /* "nanmax.pyx":649 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8451,280 +8320,227 @@ static PyObject *__pyx_pf_6nanmax_40nanmax_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":672 + /* "nanmax.pyx":650 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":673 + /* "nanmax.pyx":651 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":674 + /* "nanmax.pyx":652 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":675 + /* "nanmax.pyx":653 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmax.pyx":677 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":678 - * NPY_float64, 0) - * if n0 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i1 in range(n1): + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amax = MINint32 */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":679 - * if n0 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * amax = MINfloat64 + /* "nanmax.pyx":654 + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amax = MINint32 + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":680 - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * amax = MINfloat64 - * allnan = 1 - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanmax.pyx":681 - * raise ValueError(msg) - * for i1 in range(n1): - * amax = MINfloat64 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0): + /* "nanmax.pyx":655 + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amax = MINint32 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat64; + __pyx_v_amax = __pyx_v_6nanmax_MINint32; - /* "nanmax.pyx":682 - * for i1 in range(n1): - * amax = MINfloat64 - * allnan = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanmax.pyx":656 + * raise ValueError(m) + * amax = MINint32 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":683 - * amax = MINfloat64 - * allnan = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "nanmax.pyx":657 + * amax = MINint32 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":684 - * allnan = 1 - * for i0 in range(n0): + /* "nanmax.pyx":658 + * for i0 in range(n0): + * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":685 - * for i0 in range(n0): + /* "nanmax.pyx":659 + * for i1 in range(n1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * return np.int32(amax) */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":686 + /* "nanmax.pyx":660 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * return np.int32(amax) + * */ __pyx_v_amax = __pyx_v_ai; - - /* "nanmax.pyx":687 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = amax - */ - __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - - /* "nanmax.pyx":688 - * amax = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = amax - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":689 - * allnan = 0 - * if allnan == 0: - * y[i1] = amax # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN - */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; - goto __pyx_L9; - } - /*else*/ { - - /* "nanmax.pyx":691 - * y[i1] = amax - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_9 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; - } - __pyx_L9:; } - /* "nanmax.pyx":692 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmax.pyx":661 + * if ai >= amax: + * amax = ai + * return np.int32(amax) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "nanmax.pyx":665 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef int allnan = 1 - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "nanmax.pyx":643 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanmax_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef int allnan = 1 + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":696 +/* "nanmax.pyx":665 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * def nanmax_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_43nanmax_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_42nanmax_2d_float64_axis1[] = "nanmax_2d_float64_axis1(ndarray a)\nMaximum of 2d array with dtype=float64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_43nanmax_2d_float64_axis1 = {"nanmax_2d_float64_axis1", (PyCFunction)__pyx_pw_6nanmax_43nanmax_2d_float64_axis1, METH_O, __pyx_doc_6nanmax_42nanmax_2d_float64_axis1}; -static PyObject *__pyx_pw_6nanmax_43nanmax_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_43nanmax_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_42nanmax_2d_int64_axisNone[] = "nanmax_2d_int64_axisNone(ndarray a)\nMaximum of 2d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_43nanmax_2d_int64_axisNone = {"nanmax_2d_int64_axisNone", (PyCFunction)__pyx_pw_6nanmax_43nanmax_2d_int64_axisNone, METH_O, __pyx_doc_6nanmax_42nanmax_2d_int64_axisNone}; +static PyObject *__pyx_pw_6nanmax_43nanmax_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_float64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_42nanmax_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_42nanmax_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8735,63 +8551,56 @@ static PyObject *__pyx_pw_6nanmax_43nanmax_2d_float64_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_42nanmax_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amax; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmax_42nanmax_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int64_t __pyx_v_amax; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_float64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmax_2d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":698 - * def nanmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Maximum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + /* "nanmax.pyx":667 + * def nanmax_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): + * "Maximum of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amax, ai + * cdef np.int64_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":702 + /* "nanmax.pyx":671 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8800,280 +8609,227 @@ static PyObject *__pyx_pf_6nanmax_42nanmax_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":703 + /* "nanmax.pyx":672 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":704 + /* "nanmax.pyx":673 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":705 + /* "nanmax.pyx":674 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":706 + /* "nanmax.pyx":675 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmax.pyx":708 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":709 - * NPY_float64, 0) - * if n1 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i0 in range(n0): + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amax = MINint64 */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; - /* "nanmax.pyx":710 - * if n1 == 0: - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< + /* "nanmax.pyx":676 + * if n0 * n1 == 0: + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amax = MINint64 * for i0 in range(n0): - * amax = MINfloat64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":711 - * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * amax = MINfloat64 - * allnan = 1 - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanmax.pyx":712 - * raise ValueError(msg) + /* "nanmax.pyx":677 + * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amax = MINint64 # <<<<<<<<<<<<<< * for i0 in range(n0): - * amax = MINfloat64 # <<<<<<<<<<<<<< - * allnan = 1 * for i1 in range(n1): */ - __pyx_v_amax = __pyx_v_6nanmax_MINfloat64; + __pyx_v_amax = __pyx_v_6nanmax_MINint64; - /* "nanmax.pyx":713 - * for i0 in range(n0): - * amax = MINfloat64 - * allnan = 1 # <<<<<<<<<<<<<< + /* "nanmax.pyx":678 + * raise ValueError(m) + * amax = MINint64 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmax.pyx":714 - * amax = MINfloat64 - * allnan = 1 + /* "nanmax.pyx":679 + * amax = MINint64 + * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":715 - * allnan = 1 + /* "nanmax.pyx":680 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":716 + /* "nanmax.pyx":681 * for i1 in range(n1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * allnan = 0 + * return np.int64(amax) */ - __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_1) { - /* "nanmax.pyx":717 + /* "nanmax.pyx":682 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * return np.int64(amax) + * */ __pyx_v_amax = __pyx_v_ai; - - /* "nanmax.pyx":718 - * if ai >= amax: - * amax = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = amax - */ - __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } + } - /* "nanmax.pyx":719 + /* "nanmax.pyx":683 + * if ai >= amax: * amax = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = amax - * else: + * return np.int64(amax) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmax.pyx":720 - * allnan = 0 - * if allnan == 0: - * y[i0] = amax # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN - */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; - goto __pyx_L9; - } - /*else*/ { - - /* "nanmax.pyx":722 - * y[i0] = amax - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_9 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmax_NAN; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); } - __pyx_L9:; } - - /* "nanmax.pyx":723 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanmax.pyx":696 + /* "nanmax.pyx":665 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * def nanmax_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":727 +/* "nanmax.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_45nanmax_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_44nanmax_1d_int_axisNone[] = "nanmax_1d_int_axisNone(ndarray a)\nMaximum of 1d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_45nanmax_1d_int_axisNone = {"nanmax_1d_int_axisNone", (PyCFunction)__pyx_pw_6nanmax_45nanmax_1d_int_axisNone, METH_O, __pyx_doc_6nanmax_44nanmax_1d_int_axisNone}; -static PyObject *__pyx_pw_6nanmax_45nanmax_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_45nanmax_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_44nanmax_2d_int_axis0[] = "nanmax_2d_int_axis0(ndarray a)\nMaximum of 2d array with dtype=int along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_45nanmax_2d_int_axis0 = {"nanmax_2d_int_axis0", (PyCFunction)__pyx_pw_6nanmax_45nanmax_2d_int_axis0, METH_O, __pyx_doc_6nanmax_44nanmax_2d_int_axis0}; +static PyObject *__pyx_pw_6nanmax_45nanmax_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_1d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_44nanmax_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_44nanmax_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9084,258 +8840,302 @@ static PyObject *__pyx_pw_6nanmax_45nanmax_1d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_44nanmax_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_44nanmax_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; __pyx_t_5numpy_int_t __pyx_v_amax; __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_m = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_1d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":729 - * def nanmax_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): - * "Maximum of 1d array with dtype=int along axis=None ignoring NaNs." + /* "nanmax.pyx":689 + * def nanmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Maximum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< * cdef np.int_t amax, ai - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":733 - * cdef Py_ssize_t i0 + /* "nanmax.pyx":693 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":734 + /* "nanmax.pyx":694 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":735 + /* "nanmax.pyx":695 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":736 + /* "nanmax.pyx":696 * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "nanmax.pyx":697 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int, 0) * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amax = MINint */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanmax.pyx":699 + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanmax.pyx":737 + /* "nanmax.pyx":700 + * NPY_int, 0) * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINint - * for i0 in range(n0): + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i1 in range(n1): + */ + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + + /* "nanmax.pyx":701 + * if n0 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * amax = MINint */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":738 - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amax = MINint # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanmax.pyx":702 + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * amax = MINint + * for i0 in range(n0): */ - __pyx_v_amax = __pyx_v_6nanmax_MINint; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":739 - * raise ValueError(m) - * amax = MINint - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai >= amax: + /* "nanmax.pyx":703 + * raise ValueError(msg) + * for i1 in range(n1): + * amax = MINint # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amax = __pyx_v_6nanmax_MINint; - /* "nanmax.pyx":740 - * amax = MINint - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "nanmax.pyx":704 + * for i1 in range(n1): + * amax = MINint + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai >= amax: */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "nanmax.pyx":741 - * for i0 in range(n0): - * ai = a[i0] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * return np.int(amax) + /* "nanmax.pyx":705 + * amax = MINint + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":742 - * ai = a[i0] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * return np.int(amax) - * + /* "nanmax.pyx":706 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * y[i1] = amax */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L6; + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":707 + * ai = a[i0, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * y[i1] = amax + * return y + */ + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; + + /* "nanmax.pyx":708 + * if ai >= amax: + * amax = ai + * y[i1] = amax # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; } - /* "nanmax.pyx":743 - * if ai >= amax: - * amax = ai - * return np.int(amax) # <<<<<<<<<<<<<< + /* "nanmax.pyx":709 + * amax = ai + * y[i1] = amax + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":727 + /* "nanmax.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":747 +/* "nanmax.pyx":713 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_47nanmax_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_46nanmax_1d_int8_axisNone[] = "nanmax_1d_int8_axisNone(ndarray a)\nMaximum of 1d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_47nanmax_1d_int8_axisNone = {"nanmax_1d_int8_axisNone", (PyCFunction)__pyx_pw_6nanmax_47nanmax_1d_int8_axisNone, METH_O, __pyx_doc_6nanmax_46nanmax_1d_int8_axisNone}; -static PyObject *__pyx_pw_6nanmax_47nanmax_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_47nanmax_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_46nanmax_2d_int_axis1[] = "nanmax_2d_int_axis1(ndarray a)\nMaximum of 2d array with dtype=int along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_47nanmax_2d_int_axis1 = {"nanmax_2d_int_axis1", (PyCFunction)__pyx_pw_6nanmax_47nanmax_2d_int_axis1, METH_O, __pyx_doc_6nanmax_46nanmax_2d_int_axis1}; +static PyObject *__pyx_pw_6nanmax_47nanmax_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_1d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_46nanmax_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_46nanmax_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9346,258 +9146,302 @@ static PyObject *__pyx_pw_6nanmax_47nanmax_1d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_46nanmax_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_46nanmax_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amax; - __pyx_t_5numpy_int8_t __pyx_v_ai; + __pyx_t_5numpy_int_t __pyx_v_amax; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_m = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_1d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":749 - * def nanmax_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): - * "Maximum of 1d array with dtype=int8 along axis=None ignoring NaNs." + /* "nanmax.pyx":715 + * def nanmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Maximum of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amax, ai - * cdef Py_ssize_t i0 + * cdef np.int_t amax, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":753 - * cdef Py_ssize_t i0 + /* "nanmax.pyx":719 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":754 + /* "nanmax.pyx":720 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":755 + /* "nanmax.pyx":721 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":756 + /* "nanmax.pyx":722 * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amax = MINint8 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":757 - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINint8 - * for i0 in range(n0): + /* "nanmax.pyx":723 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int, 0) + * if n1 == 0: */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmax.pyx":758 - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amax = MINint8 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] - */ - __pyx_v_amax = __pyx_v_6nanmax_MINint8; - - /* "nanmax.pyx":759 - * raise ValueError(m) - * amax = MINint8 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai >= amax: + /* "nanmax.pyx":725 + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { - /* "nanmax.pyx":760 - * amax = MINint8 + /* "nanmax.pyx":726 + * NPY_int, 0) + * if n1 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; - /* "nanmax.pyx":761 + /* "nanmax.pyx":727 + * if n1 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * return np.int8(amax) + * amax = MINint */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "nanmax.pyx":762 - * ai = a[i0] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * return np.int8(amax) - * + /* "nanmax.pyx":728 + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * amax = MINint + * for i1 in range(n1): */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L6; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; + + /* "nanmax.pyx":729 + * raise ValueError(msg) + * for i0 in range(n0): + * amax = MINint # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_amax = __pyx_v_6nanmax_MINint; + + /* "nanmax.pyx":730 + * for i0 in range(n0): + * amax = MINint + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai >= amax: + */ + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; + + /* "nanmax.pyx":731 + * amax = MINint + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai + */ + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "nanmax.pyx":732 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * y[i0] = amax + */ + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":733 + * ai = a[i0, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * y[i0] = amax + * return y + */ + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; + + /* "nanmax.pyx":734 + * if ai >= amax: + * amax = ai + * y[i0] = amax # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; } - /* "nanmax.pyx":763 - * if ai >= amax: - * amax = ai - * return np.int8(amax) # <<<<<<<<<<<<<< + /* "nanmax.pyx":735 + * amax = ai + * y[i0] = amax + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":747 + /* "nanmax.pyx":713 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":767 +/* "nanmax.pyx":739 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_49nanmax_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_48nanmax_1d_int32_axisNone[] = "nanmax_1d_int32_axisNone(ndarray a)\nMaximum of 1d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_49nanmax_1d_int32_axisNone = {"nanmax_1d_int32_axisNone", (PyCFunction)__pyx_pw_6nanmax_49nanmax_1d_int32_axisNone, METH_O, __pyx_doc_6nanmax_48nanmax_1d_int32_axisNone}; -static PyObject *__pyx_pw_6nanmax_49nanmax_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_49nanmax_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_48nanmax_2d_int8_axis0[] = "nanmax_2d_int8_axis0(ndarray a)\nMaximum of 2d array with dtype=int8 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_49nanmax_2d_int8_axis0 = {"nanmax_2d_int8_axis0", (PyCFunction)__pyx_pw_6nanmax_49nanmax_2d_int8_axis0, METH_O, __pyx_doc_6nanmax_48nanmax_2d_int8_axis0}; +static PyObject *__pyx_pw_6nanmax_49nanmax_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_1d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_48nanmax_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_48nanmax_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9608,258 +9452,302 @@ static PyObject *__pyx_pw_6nanmax_49nanmax_1d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_48nanmax_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_48nanmax_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amax; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_amax; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_m = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_1d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_int8_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":769 - * def nanmax_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): - * "Maximum of 1d array with dtype=int32 along axis=None ignoring NaNs." + /* "nanmax.pyx":741 + * def nanmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Maximum of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amax, ai - * cdef Py_ssize_t i0 + * cdef np.int8_t amax, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":773 - * cdef Py_ssize_t i0 + /* "nanmax.pyx":745 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":774 + /* "nanmax.pyx":746 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":775 + /* "nanmax.pyx":747 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":776 + /* "nanmax.pyx":748 * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amax = MINint32 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":777 + /* "nanmax.pyx":749 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int8, 0) * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINint32 - * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmax.pyx":778 - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amax = MINint32 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanmax.pyx":751 + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) */ - __pyx_v_amax = __pyx_v_6nanmax_MINint32; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanmax.pyx":779 - * raise ValueError(m) - * amax = MINint32 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai >= amax: + /* "nanmax.pyx":752 + * NPY_int8, 0) + * if n0 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i1 in range(n1): */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; - /* "nanmax.pyx":780 - * amax = MINint32 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + /* "nanmax.pyx":753 + * if n0 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * amax = MINint8 */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "nanmax.pyx":781 - * for i0 in range(n0): - * ai = a[i0] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * return np.int32(amax) + /* "nanmax.pyx":754 + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * amax = MINint8 + * for i0 in range(n0): */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":782 - * ai = a[i0] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * return np.int32(amax) - * + /* "nanmax.pyx":755 + * raise ValueError(msg) + * for i1 in range(n1): + * amax = MINint8 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L6; + __pyx_v_amax = __pyx_v_6nanmax_MINint8; + + /* "nanmax.pyx":756 + * for i1 in range(n1): + * amax = MINint8 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai >= amax: + */ + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; + + /* "nanmax.pyx":757 + * amax = MINint8 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai + */ + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "nanmax.pyx":758 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * y[i1] = amax + */ + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":759 + * ai = a[i0, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * y[i1] = amax + * return y + */ + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; + + /* "nanmax.pyx":760 + * if ai >= amax: + * amax = ai + * y[i1] = amax # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; } - /* "nanmax.pyx":783 - * if ai >= amax: - * amax = ai - * return np.int32(amax) # <<<<<<<<<<<<<< + /* "nanmax.pyx":761 + * amax = ai + * y[i1] = amax + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":767 + /* "nanmax.pyx":739 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":787 +/* "nanmax.pyx":765 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_51nanmax_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_50nanmax_1d_int64_axisNone[] = "nanmax_1d_int64_axisNone(ndarray a)\nMaximum of 1d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_51nanmax_1d_int64_axisNone = {"nanmax_1d_int64_axisNone", (PyCFunction)__pyx_pw_6nanmax_51nanmax_1d_int64_axisNone, METH_O, __pyx_doc_6nanmax_50nanmax_1d_int64_axisNone}; -static PyObject *__pyx_pw_6nanmax_51nanmax_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_51nanmax_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_50nanmax_2d_int8_axis1[] = "nanmax_2d_int8_axis1(ndarray a)\nMaximum of 2d array with dtype=int8 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_51nanmax_2d_int8_axis1 = {"nanmax_2d_int8_axis1", (PyCFunction)__pyx_pw_6nanmax_51nanmax_2d_int8_axis1, METH_O, __pyx_doc_6nanmax_50nanmax_2d_int8_axis1}; +static PyObject *__pyx_pw_6nanmax_51nanmax_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_1d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_50nanmax_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int8_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_50nanmax_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9870,258 +9758,302 @@ static PyObject *__pyx_pw_6nanmax_51nanmax_1d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_50nanmax_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_50nanmax_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amax; - __pyx_t_5numpy_int64_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_amax; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_m = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_1d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_int8_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":789 - * def nanmax_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): - * "Maximum of 1d array with dtype=int64 along axis=None ignoring NaNs." + /* "nanmax.pyx":767 + * def nanmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Maximum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amax, ai - * cdef Py_ssize_t i0 + * cdef np.int8_t amax, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":793 - * cdef Py_ssize_t i0 + /* "nanmax.pyx":771 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":794 + /* "nanmax.pyx":772 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":795 + /* "nanmax.pyx":773 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":796 + /* "nanmax.pyx":774 * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amax = MINint64 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":797 - * if n0 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINint64 - * for i0 in range(n0): + /* "nanmax.pyx":775 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int8, 0) + * if n1 == 0: */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmax.pyx":798 - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amax = MINint64 # <<<<<<<<<<<<<< + /* "nanmax.pyx":777 + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":778 + * NPY_int8, 0) + * if n1 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) * for i0 in range(n0): - * ai = a[i0] */ - __pyx_v_amax = __pyx_v_6nanmax_MINint64; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; - /* "nanmax.pyx":799 - * raise ValueError(m) - * amax = MINint64 + /* "nanmax.pyx":779 + * if n1 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * amax = MINint8 + */ + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + + /* "nanmax.pyx":780 + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai >= amax: + * amax = MINint8 + * for i1 in range(n1): */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanmax.pyx":800 - * amax = MINint64 + /* "nanmax.pyx":781 + * raise ValueError(msg) * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai >= amax: - * amax = ai + * amax = MINint8 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_amax = __pyx_v_6nanmax_MINint8; - /* "nanmax.pyx":801 + /* "nanmax.pyx":782 * for i0 in range(n0): - * ai = a[i0] - * if ai >= amax: # <<<<<<<<<<<<<< - * amax = ai - * return np.int64(amax) + * amax = MINint8 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai >= amax: */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "nanmax.pyx":802 - * ai = a[i0] - * if ai >= amax: - * amax = ai # <<<<<<<<<<<<<< - * return np.int64(amax) - * + /* "nanmax.pyx":783 + * amax = MINint8 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai >= amax: + * amax = ai */ - __pyx_v_amax = __pyx_v_ai; - goto __pyx_L6; + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "nanmax.pyx":784 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai >= amax: # <<<<<<<<<<<<<< + * amax = ai + * y[i0] = amax + */ + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":785 + * ai = a[i0, i1] + * if ai >= amax: + * amax = ai # <<<<<<<<<<<<<< + * y[i0] = amax + * return y + */ + __pyx_v_amax = __pyx_v_ai; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; - } - /* "nanmax.pyx":803 - * if ai >= amax: - * amax = ai - * return np.int64(amax) # <<<<<<<<<<<<<< + /* "nanmax.pyx":786 + * if ai >= amax: + * amax = ai + * y[i0] = amax # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + } /* "nanmax.pyx":787 + * amax = ai + * y[i0] = amax + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "nanmax.pyx":765 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":807 +/* "nanmax.pyx":791 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_53nanmax_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_52nanmax_2d_int_axisNone[] = "nanmax_2d_int_axisNone(ndarray a)\nMaximum of 2d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_53nanmax_2d_int_axisNone = {"nanmax_2d_int_axisNone", (PyCFunction)__pyx_pw_6nanmax_53nanmax_2d_int_axisNone, METH_O, __pyx_doc_6nanmax_52nanmax_2d_int_axisNone}; -static PyObject *__pyx_pw_6nanmax_53nanmax_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_53nanmax_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_52nanmax_2d_int32_axis0[] = "nanmax_2d_int32_axis0(ndarray a)\nMaximum of 2d array with dtype=int32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_53nanmax_2d_int32_axis0 = {"nanmax_2d_int32_axis0", (PyCFunction)__pyx_pw_6nanmax_53nanmax_2d_int32_axis0, METH_O, __pyx_doc_6nanmax_52nanmax_2d_int32_axis0}; +static PyObject *__pyx_pw_6nanmax_53nanmax_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_52nanmax_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_52nanmax_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10132,56 +10064,63 @@ static PyObject *__pyx_pw_6nanmax_53nanmax_2d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_52nanmax_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_52nanmax_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amax; - __pyx_t_5numpy_int_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_amax; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_m = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_int32_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":809 - * def nanmax_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): - * "Maximum of 2d array with dtype=int along axis=None ignoring NaNs." + /* "nanmax.pyx":793 + * def nanmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Maximum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amax, ai + * cdef np.int32_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":813 + /* "nanmax.pyx":797 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10190,227 +10129,237 @@ static PyObject *__pyx_pf_6nanmax_52nanmax_2d_int_axisNone(CYTHON_UNUSED PyObjec */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":814 + /* "nanmax.pyx":798 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":815 + /* "nanmax.pyx":799 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":816 + /* "nanmax.pyx":800 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":817 + /* "nanmax.pyx":801 * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amax = MINint + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int32, 0) + * if n0 == 0: */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmax.pyx":818 - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINint - * for i0 in range(n0): + /* "nanmax.pyx":803 + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":804 + * NPY_int32, 0) + * if n0 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i1 in range(n1): + */ + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + + /* "nanmax.pyx":805 + * if n0 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * amax = MINint32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":819 - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amax = MINint # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanmax.pyx":806 + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * amax = MINint32 + * for i0 in range(n0): */ - __pyx_v_amax = __pyx_v_6nanmax_MINint; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":820 - * raise ValueError(m) - * amax = MINint - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): + /* "nanmax.pyx":807 + * raise ValueError(msg) + * for i1 in range(n1): + * amax = MINint32 # <<<<<<<<<<<<<< + * for i0 in range(n0): * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amax = __pyx_v_6nanmax_MINint32; - /* "nanmax.pyx":821 - * amax = MINint - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "nanmax.pyx":808 + * for i1 in range(n1): + * amax = MINint32 + * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "nanmax.pyx":822 - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanmax.pyx":809 + * amax = MINint32 + * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":823 - * for i1 in range(n1): + /* "nanmax.pyx":810 + * for i0 in range(n0): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * return np.int(amax) + * y[i1] = amax */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { - /* "nanmax.pyx":824 + /* "nanmax.pyx":811 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * return np.int(amax) - * + * y[i1] = amax + * return y */ __pyx_v_amax = __pyx_v_ai; goto __pyx_L8; } __pyx_L8:; } - } - /* "nanmax.pyx":825 + /* "nanmax.pyx":812 * if ai >= amax: * amax = ai - * return np.int(amax) # <<<<<<<<<<<<<< + * y[i1] = amax # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + + /* "nanmax.pyx":813 + * amax = ai + * y[i1] = amax + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":807 + /* "nanmax.pyx":791 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":829 +/* "nanmax.pyx":817 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_55nanmax_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_54nanmax_2d_int8_axisNone[] = "nanmax_2d_int8_axisNone(ndarray a)\nMaximum of 2d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_55nanmax_2d_int8_axisNone = {"nanmax_2d_int8_axisNone", (PyCFunction)__pyx_pw_6nanmax_55nanmax_2d_int8_axisNone, METH_O, __pyx_doc_6nanmax_54nanmax_2d_int8_axisNone}; -static PyObject *__pyx_pw_6nanmax_55nanmax_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_55nanmax_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_54nanmax_2d_int32_axis1[] = "nanmax_2d_int32_axis1(ndarray a)\nMaximum of 2d array with dtype=int32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_55nanmax_2d_int32_axis1 = {"nanmax_2d_int32_axis1", (PyCFunction)__pyx_pw_6nanmax_55nanmax_2d_int32_axis1, METH_O, __pyx_doc_6nanmax_54nanmax_2d_int32_axis1}; +static PyObject *__pyx_pw_6nanmax_55nanmax_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_54nanmax_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_54nanmax_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10421,56 +10370,63 @@ static PyObject *__pyx_pw_6nanmax_55nanmax_2d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_54nanmax_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_54nanmax_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amax; - __pyx_t_5numpy_int8_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_amax; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_m = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_int32_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":831 - * def nanmax_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): - * "Maximum of 2d array with dtype=int8 along axis=None ignoring NaNs." + /* "nanmax.pyx":819 + * def nanmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Maximum of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amax, ai + * cdef np.int32_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":835 + /* "nanmax.pyx":823 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10479,227 +10435,237 @@ static PyObject *__pyx_pf_6nanmax_54nanmax_2d_int8_axisNone(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":836 + /* "nanmax.pyx":824 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":837 + /* "nanmax.pyx":825 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":838 + /* "nanmax.pyx":826 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":839 + /* "nanmax.pyx":827 * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amax = MINint8 + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int32, 0) + * if n1 == 0: */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmax.pyx":840 - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINint8 + /* "nanmax.pyx":829 + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":830 + * NPY_int32, 0) + * if n1 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i0 in range(n0): + */ + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + + /* "nanmax.pyx":831 + * if n1 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): + * amax = MINint32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":841 - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amax = MINint8 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanmax.pyx":832 + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * amax = MINint32 * for i1 in range(n1): */ - __pyx_v_amax = __pyx_v_6nanmax_MINint8; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanmax.pyx":842 - * raise ValueError(m) - * amax = MINint8 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "nanmax.pyx":833 + * raise ValueError(msg) + * for i0 in range(n0): + * amax = MINint32 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amax = __pyx_v_6nanmax_MINint32; - /* "nanmax.pyx":843 - * amax = MINint8 + /* "nanmax.pyx":834 * for i0 in range(n0): + * amax = MINint32 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "nanmax.pyx":844 - * for i0 in range(n0): + /* "nanmax.pyx":835 + * amax = MINint32 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":845 + /* "nanmax.pyx":836 * for i1 in range(n1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * return np.int8(amax) + * y[i0] = amax */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { - /* "nanmax.pyx":846 + /* "nanmax.pyx":837 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * return np.int8(amax) - * + * y[i0] = amax + * return y */ __pyx_v_amax = __pyx_v_ai; goto __pyx_L8; } __pyx_L8:; } - } - /* "nanmax.pyx":847 + /* "nanmax.pyx":838 * if ai >= amax: * amax = ai - * return np.int8(amax) # <<<<<<<<<<<<<< + * y[i0] = amax # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + } + + /* "nanmax.pyx":839 + * amax = ai + * y[i0] = amax + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int8); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":829 + /* "nanmax.pyx":817 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":851 +/* "nanmax.pyx":843 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_57nanmax_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_56nanmax_2d_int32_axisNone[] = "nanmax_2d_int32_axisNone(ndarray a)\nMaximum of 2d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_57nanmax_2d_int32_axisNone = {"nanmax_2d_int32_axisNone", (PyCFunction)__pyx_pw_6nanmax_57nanmax_2d_int32_axisNone, METH_O, __pyx_doc_6nanmax_56nanmax_2d_int32_axisNone}; -static PyObject *__pyx_pw_6nanmax_57nanmax_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_57nanmax_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_56nanmax_2d_int64_axis0[] = "nanmax_2d_int64_axis0(ndarray a)\nMaximum of 2d array with dtype=int64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_57nanmax_2d_int64_axis0 = {"nanmax_2d_int64_axis0", (PyCFunction)__pyx_pw_6nanmax_57nanmax_2d_int64_axis0, METH_O, __pyx_doc_6nanmax_56nanmax_2d_int64_axis0}; +static PyObject *__pyx_pw_6nanmax_57nanmax_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_56nanmax_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_56nanmax_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10710,56 +10676,63 @@ static PyObject *__pyx_pw_6nanmax_57nanmax_2d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_56nanmax_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_56nanmax_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amax; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_int64_t __pyx_v_amax; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_m = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_int64_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":853 - * def nanmax_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): - * "Maximum of 2d array with dtype=int32 along axis=None ignoring NaNs." + /* "nanmax.pyx":845 + * def nanmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Maximum of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amax, ai + * cdef np.int64_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":857 + /* "nanmax.pyx":849 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10768,227 +10741,237 @@ static PyObject *__pyx_pf_6nanmax_56nanmax_2d_int32_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":858 + /* "nanmax.pyx":850 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":859 + /* "nanmax.pyx":851 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":860 + /* "nanmax.pyx":852 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":861 + /* "nanmax.pyx":853 * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amax = MINint32 + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int64, 0) + * if n0 == 0: */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmax.pyx":862 - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINint32 - * for i0 in range(n0): + /* "nanmax.pyx":855 + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":856 + * NPY_int64, 0) + * if n0 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i1 in range(n1): + */ + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + + /* "nanmax.pyx":857 + * if n0 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * amax = MINint64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":863 - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amax = MINint32 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanmax.pyx":858 + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * amax = MINint64 + * for i0 in range(n0): */ - __pyx_v_amax = __pyx_v_6nanmax_MINint32; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmax.pyx":864 - * raise ValueError(m) - * amax = MINint32 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): + /* "nanmax.pyx":859 + * raise ValueError(msg) + * for i1 in range(n1): + * amax = MINint64 # <<<<<<<<<<<<<< + * for i0 in range(n0): * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amax = __pyx_v_6nanmax_MINint64; - /* "nanmax.pyx":865 - * amax = MINint32 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "nanmax.pyx":860 + * for i1 in range(n1): + * amax = MINint64 + * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "nanmax.pyx":866 - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanmax.pyx":861 + * amax = MINint64 + * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":867 - * for i1 in range(n1): + /* "nanmax.pyx":862 + * for i0 in range(n0): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * return np.int32(amax) + * y[i1] = amax */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { - /* "nanmax.pyx":868 + /* "nanmax.pyx":863 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * return np.int32(amax) - * + * y[i1] = amax + * return y */ __pyx_v_amax = __pyx_v_ai; goto __pyx_L8; } __pyx_L8:; } - } - /* "nanmax.pyx":869 + /* "nanmax.pyx":864 * if ai >= amax: * amax = ai - * return np.int32(amax) # <<<<<<<<<<<<<< + * y[i1] = amax # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; + } + + /* "nanmax.pyx":865 + * amax = ai + * y[i1] = amax + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":851 + /* "nanmax.pyx":843 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmax.pyx":873 +/* "nanmax.pyx":869 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmax_59nanmax_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmax_58nanmax_2d_int64_axisNone[] = "nanmax_2d_int64_axisNone(ndarray a)\nMaximum of 2d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmax_59nanmax_2d_int64_axisNone = {"nanmax_2d_int64_axisNone", (PyCFunction)__pyx_pw_6nanmax_59nanmax_2d_int64_axisNone, METH_O, __pyx_doc_6nanmax_58nanmax_2d_int64_axisNone}; -static PyObject *__pyx_pw_6nanmax_59nanmax_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmax_59nanmax_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmax_58nanmax_2d_int64_axis1[] = "nanmax_2d_int64_axis1(ndarray a)\nMaximum of 2d array with dtype=int64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmax_59nanmax_2d_int64_axis1 = {"nanmax_2d_int64_axis1", (PyCFunction)__pyx_pw_6nanmax_59nanmax_2d_int64_axis1, METH_O, __pyx_doc_6nanmax_58nanmax_2d_int64_axis1}; +static PyObject *__pyx_pw_6nanmax_59nanmax_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmax_2d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmax_58nanmax_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmax_2d_int64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmax_58nanmax_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10999,7 +10982,7 @@ static PyObject *__pyx_pw_6nanmax_59nanmax_2d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmax_58nanmax_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmax_58nanmax_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; __pyx_t_5numpy_int64_t __pyx_v_amax; __pyx_t_5numpy_int64_t __pyx_v_ai; @@ -11008,47 +10991,54 @@ static PyObject *__pyx_pf_6nanmax_58nanmax_2d_int64_axisNone(CYTHON_UNUSED PyObj npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_m = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmax_2d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmax_2d_int64_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmax.pyx":875 - * def nanmax_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): - * "Maximum of 2d array with dtype=int64 along axis=None ignoring NaNs." + /* "nanmax.pyx":871 + * def nanmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Maximum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< * cdef np.int64_t amax, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmax.pyx":879 + /* "nanmax.pyx":875 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -11057,208 +11047,218 @@ static PyObject *__pyx_pf_6nanmax_58nanmax_2d_int64_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmax.pyx":880 + /* "nanmax.pyx":876 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmax.pyx":881 + /* "nanmax.pyx":877 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmax.pyx":882 + /* "nanmax.pyx":878 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmax.pyx":883 + /* "nanmax.pyx":879 * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amax = MINint64 + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int64, 0) + * if n1 == 0: */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmax_raises_on_a_size_0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmax.pyx":884 - * if n0 * n1 == 0: - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amax = MINint64 + /* "nanmax.pyx":881 + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmax.pyx":882 + * NPY_int64, 0) + * if n1 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i0 in range(n0): + */ + __Pyx_INCREF(__pyx_kp_s_numpy_nanmax_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmax_raises_on_a_shape_a; + + /* "nanmax.pyx":883 + * if n1 == 0: + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): + * amax = MINint64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmax.pyx":885 - * m = "numpy.nanmax raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amax = MINint64 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanmax.pyx":884 + * msg = "numpy.nanmax raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * amax = MINint64 * for i1 in range(n1): */ - __pyx_v_amax = __pyx_v_6nanmax_MINint64; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanmax.pyx":886 - * raise ValueError(m) - * amax = MINint64 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "nanmax.pyx":885 + * raise ValueError(msg) + * for i0 in range(n0): + * amax = MINint64 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amax = __pyx_v_6nanmax_MINint64; - /* "nanmax.pyx":887 - * amax = MINint64 + /* "nanmax.pyx":886 * for i0 in range(n0): + * amax = MINint64 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai >= amax: */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "nanmax.pyx":888 - * for i0 in range(n0): + /* "nanmax.pyx":887 + * amax = MINint64 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai >= amax: * amax = ai */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmax.pyx":889 + /* "nanmax.pyx":888 * for i1 in range(n1): * ai = a[i0, i1] * if ai >= amax: # <<<<<<<<<<<<<< * amax = ai - * return np.int64(amax) + * y[i0] = amax */ - __pyx_t_1 = ((__pyx_v_ai >= __pyx_v_amax) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_ai >= __pyx_v_amax) != 0); + if (__pyx_t_4) { - /* "nanmax.pyx":890 + /* "nanmax.pyx":889 * ai = a[i0, i1] * if ai >= amax: * amax = ai # <<<<<<<<<<<<<< - * return np.int64(amax) - * + * y[i0] = amax + * return y */ __pyx_v_amax = __pyx_v_ai; goto __pyx_L8; } __pyx_L8:; } + + /* "nanmax.pyx":890 + * if ai >= amax: + * amax = ai + * y[i0] = amax # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amax; } /* "nanmax.pyx":891 - * if ai >= amax: * amax = ai - * return np.int64(amax) # <<<<<<<<<<<<<< + * y[i0] = amax + * return y # <<<<<<<<<<<<<< * * cdef dict nanmax_dict = {} */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_amax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmax.pyx":873 + /* "nanmax.pyx":869 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmax.nanmax_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmax.nanmax_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "nanmax.pyx":930 - * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone + * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 * * def nanmax_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmax along axis 0." @@ -11326,7 +11326,7 @@ static PyObject *__pyx_pf_6nanmax_60nanmax_slow_axis0(CYTHON_UNUSED PyObject *__ goto __pyx_L0; /* "nanmax.pyx":930 - * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone + * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 * * def nanmax_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmax along axis 0." @@ -14317,7 +14317,7 @@ static PyObject *__pyx_pf_6nanmax_126nanmax_slow_axisNone(CYTHON_UNUSED PyObject return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -14367,7 +14367,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -14380,7 +14380,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -14389,7 +14389,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -14398,7 +14398,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -14407,7 +14407,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -14417,7 +14417,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -14429,7 +14429,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -14440,7 +14440,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -14456,7 +14456,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -14468,7 +14468,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -14482,7 +14482,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -14498,7 +14498,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -14510,7 +14510,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -14524,7 +14524,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -14533,7 +14533,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -14542,7 +14542,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -14552,7 +14552,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -14561,7 +14561,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -14570,7 +14570,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -14581,7 +14581,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -14590,7 +14590,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -14603,7 +14603,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -14612,7 +14612,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -14623,7 +14623,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -14632,7 +14632,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -14641,7 +14641,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -14650,7 +14650,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -14659,7 +14659,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -14671,7 +14671,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -14680,7 +14680,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -14700,7 +14700,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -14716,7 +14716,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -14731,7 +14731,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -14741,7 +14741,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -14751,7 +14751,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -14774,7 +14774,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -14794,7 +14794,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14808,7 +14808,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -14817,7 +14817,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -14828,7 +14828,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -14839,7 +14839,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -14850,7 +14850,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -14861,7 +14861,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -14872,7 +14872,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -14883,7 +14883,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -14894,7 +14894,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -14905,7 +14905,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -14916,7 +14916,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -14927,7 +14927,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -14938,7 +14938,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -14949,7 +14949,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -14960,7 +14960,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -14971,7 +14971,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -14982,7 +14982,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -14993,7 +14993,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -15005,7 +15005,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -15031,7 +15031,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -15040,7 +15040,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -15052,7 +15052,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -15061,7 +15061,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -15070,7 +15070,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -15079,7 +15079,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -15089,7 +15089,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -15099,7 +15099,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -15131,7 +15131,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -15155,7 +15155,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -15165,7 +15165,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -15177,7 +15177,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -15187,7 +15187,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -15199,7 +15199,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -15211,7 +15211,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -15228,7 +15228,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -15242,7 +15242,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -15261,7 +15261,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -15278,7 +15278,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -15292,7 +15292,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -15311,7 +15311,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -15328,7 +15328,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -15342,7 +15342,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -15361,7 +15361,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -15378,7 +15378,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -15392,7 +15392,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -15411,7 +15411,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -15428,7 +15428,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -15442,7 +15442,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -15461,7 +15461,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -15493,7 +15493,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -15502,7 +15502,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -15511,7 +15511,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -15533,7 +15533,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -15546,7 +15546,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -15585,7 +15585,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -15602,7 +15602,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -15616,7 +15616,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -15639,7 +15639,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -15659,7 +15659,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -15673,7 +15673,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -15689,7 +15689,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -15698,7 +15698,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -15707,7 +15707,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -15718,7 +15718,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -15728,7 +15728,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -15738,7 +15738,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -15750,7 +15750,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -15760,7 +15760,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -15774,7 +15774,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -15792,7 +15792,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -15810,7 +15810,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -15828,7 +15828,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -15846,7 +15846,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -15864,7 +15864,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -15882,7 +15882,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -15900,7 +15900,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -15918,7 +15918,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -15936,7 +15936,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -15954,7 +15954,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -15972,7 +15972,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -15990,7 +15990,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -16008,7 +16008,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -16028,7 +16028,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -16048,7 +16048,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -16068,7 +16068,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -16087,7 +16087,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -16110,7 +16110,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -16122,7 +16122,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -16134,7 +16134,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -16144,7 +16144,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -16154,7 +16154,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -16179,7 +16179,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -16194,7 +16194,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -16205,7 +16205,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -16217,7 +16217,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -16226,7 +16226,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -16237,7 +16237,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -16246,7 +16246,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -16255,7 +16255,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -16267,7 +16267,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -16281,7 +16281,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -16291,7 +16291,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -16305,7 +16305,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -16316,7 +16316,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -16354,7 +16354,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -16368,6 +16367,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -16506,7 +16506,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -16517,7 +16517,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -16528,7 +16528,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -16539,7 +16539,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -16550,7 +16550,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -16561,7 +16561,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -16593,7 +16593,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":109 * return func(arr) @@ -16605,346 +16605,346 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_selector, 109, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_selector, 109, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=0 ignoring NaNs." + * def nanmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=0 ignoring NaNs." * cdef int allnan = 1 */ __pyx_tuple__13 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int_axis0, 183, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_float_axis0, 183, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":209 + /* "nanmax.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=1 ignoring NaNs." + * def nanmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__15 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__15 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int_axis1, 209, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_float_axis1, 214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":235 + /* "nanmax.pyx":245 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * def nanmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__17 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__17 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int8_axis0, 235, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_float32_axis0, 245, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":261 + /* "nanmax.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * def nanmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__19 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int8_axis1, 261, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_float32_axis1, 276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":287 + /* "nanmax.pyx":307 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * def nanmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__21 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int32_axis0, 287, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_float64_axis0, 307, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":313 + /* "nanmax.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * def nanmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__23 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int32_axis1, 313, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_float64_axis1, 338, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":339 + /* "nanmax.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * def nanmax_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__25 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int64_axis0, 339, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_1d_float_axisNone, 369, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":365 + /* "nanmax.pyx":393 * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=1 ignoring NaNs." + * @cython.wraparound(False) + * def nanmax_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__27 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int64_axis1, 365, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_1d_float32_axisNone, 393, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":391 + /* "nanmax.pyx":417 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmax_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__29 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_1d_float_axisNone, 391, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_1d_float64_axisNone, 417, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":415 + /* "nanmax.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmax_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__31 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_1d_float32_axisNone, 415, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_float_axisNone, 441, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":439 + /* "nanmax.pyx":467 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmax_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__33 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_1d_float64_axisNone, 439, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_float32_axisNone, 467, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":463 + /* "nanmax.pyx":493 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmax_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__35 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_float_axisNone, 463, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_float64_axisNone, 493, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":489 + /* "nanmax.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmax_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__37 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_float32_axisNone, 489, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_1d_int_axisNone, 519, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":515 + /* "nanmax.pyx":539 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmax_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__39 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_float64_axisNone, 515, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_1d_int8_axisNone, 539, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":541 + /* "nanmax.pyx":559 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=0 ignoring NaNs." + * def nanmax_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__41 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_float_axis0, 541, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_1d_int32_axisNone, 559, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":572 + /* "nanmax.pyx":579 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=1 ignoring NaNs." + * def nanmax_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__43 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_float_axis1, 572, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_1d_int64_axisNone, 579, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":603 + /* "nanmax.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * def nanmax_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__45 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_float32_axis0, 603, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int_axisNone, 599, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":634 + /* "nanmax.pyx":621 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * def nanmax_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__47 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_float32_axis1, 634, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int8_axisNone, 621, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":665 + /* "nanmax.pyx":643 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * def nanmax_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__49 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_float64_axis0, 665, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int32_axisNone, 643, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":696 + /* "nanmax.pyx":665 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * def nanmax_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__51 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_float64_axis1, 696, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int64_axisNone, 665, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":727 + /* "nanmax.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__53 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_1d_int_axisNone, 727, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int_axis0, 687, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":747 + /* "nanmax.pyx":713 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__55 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_1d_int8_axisNone, 747, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int_axis1, 713, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":767 + /* "nanmax.pyx":739 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__57 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_1d_int32_axisNone, 767, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int8_axis0, 739, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":787 + /* "nanmax.pyx":765 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__59 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_1d_int64_axisNone, 787, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int8_axis1, 765, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":807 + /* "nanmax.pyx":791 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__61 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int_axisNone, 807, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int32_axis0, 791, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":829 + /* "nanmax.pyx":817 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__63 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int8_axisNone, 829, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int32_axis1, 817, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":851 + /* "nanmax.pyx":843 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__65 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int32_axisNone, 851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int64_axis0, 843, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmax.pyx":873 + /* "nanmax.pyx":869 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__67 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amax, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_2d_int64_axisNone, 873, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_2d_int64_axis1, 869, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":930 - * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone + * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 * * def nanmax_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmax along axis 0." @@ -16953,7 +16953,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis0, 930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis0, 930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":934 * return bn.slow.nanmax(arr, axis=0) @@ -16965,7 +16965,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis1, 934, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis1, 934, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":938 * return bn.slow.nanmax(arr, axis=1) @@ -16977,7 +16977,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis2, 938, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis2, 938, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":942 * return bn.slow.nanmax(arr, axis=2) @@ -16989,7 +16989,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis3, 942, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis3, 942, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":946 * return bn.slow.nanmax(arr, axis=3) @@ -17001,7 +17001,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis4, 946, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis4, 946, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":950 * return bn.slow.nanmax(arr, axis=4) @@ -17013,7 +17013,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis5, 950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis5, 950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":954 * return bn.slow.nanmax(arr, axis=5) @@ -17025,7 +17025,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis6, 954, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis6, 954, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":958 * return bn.slow.nanmax(arr, axis=6) @@ -17037,7 +17037,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis7, 958, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis7, 958, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":962 * return bn.slow.nanmax(arr, axis=7) @@ -17049,7 +17049,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis8, 962, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis8, 962, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":966 * return bn.slow.nanmax(arr, axis=8) @@ -17061,7 +17061,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis9, 966, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis9, 966, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":970 * return bn.slow.nanmax(arr, axis=9) @@ -17073,7 +17073,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis10, 970, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis10, 970, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":974 * return bn.slow.nanmax(arr, axis=10) @@ -17085,7 +17085,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis11, 974, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis11, 974, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":978 * return bn.slow.nanmax(arr, axis=11) @@ -17097,7 +17097,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis12, 978, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis12, 978, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":982 * return bn.slow.nanmax(arr, axis=12) @@ -17109,7 +17109,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis13, 982, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis13, 982, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":986 * return bn.slow.nanmax(arr, axis=13) @@ -17121,7 +17121,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis14, 986, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis14, 986, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":990 * return bn.slow.nanmax(arr, axis=14) @@ -17133,7 +17133,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis15, 990, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis15, 990, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":994 * return bn.slow.nanmax(arr, axis=15) @@ -17145,7 +17145,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis16, 994, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis16, 994, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":998 * return bn.slow.nanmax(arr, axis=16) @@ -17157,7 +17157,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis17, 998, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis17, 998, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1002 * return bn.slow.nanmax(arr, axis=17) @@ -17169,7 +17169,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis18, 1002, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis18, 1002, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1006 * return bn.slow.nanmax(arr, axis=18) @@ -17181,7 +17181,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1006; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis19, 1006, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1006; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis19, 1006, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1006; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1010 * return bn.slow.nanmax(arr, axis=19) @@ -17193,7 +17193,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis20, 1010, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis20, 1010, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1014 * return bn.slow.nanmax(arr, axis=20) @@ -17205,7 +17205,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis21, 1014, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis21, 1014, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1018 * return bn.slow.nanmax(arr, axis=21) @@ -17217,7 +17217,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis22, 1018, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis22, 1018, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1022 * return bn.slow.nanmax(arr, axis=22) @@ -17229,7 +17229,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis23, 1022, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis23, 1022, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1026 * return bn.slow.nanmax(arr, axis=23) @@ -17241,7 +17241,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis24, 1026, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis24, 1026, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1030 * return bn.slow.nanmax(arr, axis=24) @@ -17253,7 +17253,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis25, 1030, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis25, 1030, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1034 * return bn.slow.nanmax(arr, axis=25) @@ -17265,7 +17265,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis26, 1034, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis26, 1034, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1038 * return bn.slow.nanmax(arr, axis=26) @@ -17277,7 +17277,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis27, 1038, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis27, 1038, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1042 * return bn.slow.nanmax(arr, axis=27) @@ -17289,7 +17289,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis28, 1042, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis28, 1042, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1046 * return bn.slow.nanmax(arr, axis=28) @@ -17301,7 +17301,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis29, 1046, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis29, 1046, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1050 * return bn.slow.nanmax(arr, axis=29) @@ -17313,7 +17313,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis30, 1050, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis30, 1050, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1054 * return bn.slow.nanmax(arr, axis=30) @@ -17325,7 +17325,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis31, 1054, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis31, 1054, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1058 * return bn.slow.nanmax(arr, axis=31) @@ -17337,7 +17337,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axis32, 1058, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axis32, 1058, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmax.pyx":1062 * return bn.slow.nanmax(arr, axis=32) @@ -17349,7 +17349,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmax_slow_axisNone, 1062, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmax_slow_axisNone, 1062, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -18315,345 +18315,345 @@ PyMODINIT_FUNC PyInit_nanmax(void) /* "nanmax.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=0 ignoring NaNs." + * def nanmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_5nanmax_2d_int_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_5nanmax_2d_float_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":209 + /* "nanmax.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=1 ignoring NaNs." + * def nanmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_7nanmax_2d_int_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_7nanmax_2d_float_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":235 + /* "nanmax.pyx":245 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * def nanmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_9nanmax_2d_int8_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_9nanmax_2d_float32_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":261 + /* "nanmax.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * def nanmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_11nanmax_2d_int8_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_11nanmax_2d_float32_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":287 + /* "nanmax.pyx":307 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * def nanmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_13nanmax_2d_int32_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_13nanmax_2d_float64_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":313 + /* "nanmax.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * def nanmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_15nanmax_2d_int32_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_15nanmax_2d_float64_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":339 + /* "nanmax.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * def nanmax_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_17nanmax_2d_int64_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_17nanmax_1d_float_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":365 + /* "nanmax.pyx":393 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=1 ignoring NaNs." + * def nanmax_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_19nanmax_2d_int64_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_19nanmax_1d_float32_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":391 + /* "nanmax.pyx":417 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmax_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_21nanmax_1d_float_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_21nanmax_1d_float64_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":415 + /* "nanmax.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmax_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_23nanmax_1d_float32_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_23nanmax_2d_float_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":439 + /* "nanmax.pyx":467 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmax_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_25nanmax_1d_float64_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_25nanmax_2d_float32_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":463 + /* "nanmax.pyx":493 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmax_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_27nanmax_2d_float_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_27nanmax_2d_float64_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":489 + /* "nanmax.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmax_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_29nanmax_2d_float32_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_29nanmax_1d_int_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":515 + /* "nanmax.pyx":539 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmax_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_31nanmax_2d_float64_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_31nanmax_1d_int8_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":541 + /* "nanmax.pyx":559 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=0 ignoring NaNs." + * def nanmax_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_33nanmax_2d_float_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_33nanmax_1d_int32_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":572 + /* "nanmax.pyx":579 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float along axis=1 ignoring NaNs." + * def nanmax_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Maximum of 1d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_35nanmax_2d_float_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_35nanmax_1d_int64_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":603 + /* "nanmax.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * def nanmax_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_37nanmax_2d_float32_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_37nanmax_2d_int_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":634 + /* "nanmax.pyx":621 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * def nanmax_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_39nanmax_2d_float32_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_39nanmax_2d_int8_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":665 + /* "nanmax.pyx":643 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * def nanmax_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_41nanmax_2d_float64_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_41nanmax_2d_int32_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":696 + /* "nanmax.pyx":665 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * def nanmax_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_43nanmax_2d_float64_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_43nanmax_2d_int64_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":727 + /* "nanmax.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmax_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_45nanmax_1d_int_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_45nanmax_2d_int_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":747 + /* "nanmax.pyx":713 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmax_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_47nanmax_1d_int8_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_47nanmax_2d_int_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":767 + /* "nanmax.pyx":739 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmax_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_49nanmax_1d_int32_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_49nanmax_2d_int8_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":787 + /* "nanmax.pyx":765 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Maximum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmax_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_51nanmax_1d_int64_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_51nanmax_2d_int8_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":807 + /* "nanmax.pyx":791 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmax_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_53nanmax_2d_int_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_53nanmax_2d_int32_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":829 + /* "nanmax.pyx":817 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmax_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_55nanmax_2d_int8_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_55nanmax_2d_int32_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":851 + /* "nanmax.pyx":843 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmax_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_57nanmax_2d_int32_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_57nanmax_2d_int64_axis0, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmax.pyx":873 + /* "nanmax.pyx":869 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmax_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Maximum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmax_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Maximum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_59nanmax_2d_int64_axisNone, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmax_59nanmax_2d_int64_axis1, NULL, __pyx_n_s_nanmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmax_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":893 - * return np.int64(amax) + * return y * * cdef dict nanmax_dict = {} # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int, 0)] = nanmax_2d_int_axis0 - * nanmax_dict[(2, NPY_int, 1)] = nanmax_2d_int_axis1 + * nanmax_dict[(2, NPY_float, 0)] = nanmax_2d_float_axis0 + * nanmax_dict[(2, NPY_float, 1)] = nanmax_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -18665,17 +18665,17 @@ PyMODINIT_FUNC PyInit_nanmax(void) /* "nanmax.pyx":894 * * cdef dict nanmax_dict = {} - * nanmax_dict[(2, NPY_int, 0)] = nanmax_2d_int_axis0 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int, 1)] = nanmax_2d_int_axis1 - * nanmax_dict[(2, NPY_int8, 0)] = nanmax_2d_int8_axis0 + * nanmax_dict[(2, NPY_float, 0)] = nanmax_2d_float_axis0 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float, 1)] = nanmax_2d_float_axis1 + * nanmax_dict[(2, NPY_float32, 0)] = nanmax_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18694,18 +18694,18 @@ PyMODINIT_FUNC PyInit_nanmax(void) /* "nanmax.pyx":895 * cdef dict nanmax_dict = {} - * nanmax_dict[(2, NPY_int, 0)] = nanmax_2d_int_axis0 - * nanmax_dict[(2, NPY_int, 1)] = nanmax_2d_int_axis1 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int8, 0)] = nanmax_2d_int8_axis0 - * nanmax_dict[(2, NPY_int8, 1)] = nanmax_2d_int8_axis1 + * nanmax_dict[(2, NPY_float, 0)] = nanmax_2d_float_axis0 + * nanmax_dict[(2, NPY_float, 1)] = nanmax_2d_float_axis1 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float32, 0)] = nanmax_2d_float32_axis0 + * nanmax_dict[(2, NPY_float32, 1)] = nanmax_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18723,19 +18723,19 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":896 - * nanmax_dict[(2, NPY_int, 0)] = nanmax_2d_int_axis0 - * nanmax_dict[(2, NPY_int, 1)] = nanmax_2d_int_axis1 - * nanmax_dict[(2, NPY_int8, 0)] = nanmax_2d_int8_axis0 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int8, 1)] = nanmax_2d_int8_axis1 - * nanmax_dict[(2, NPY_int32, 0)] = nanmax_2d_int32_axis0 + * nanmax_dict[(2, NPY_float, 0)] = nanmax_2d_float_axis0 + * nanmax_dict[(2, NPY_float, 1)] = nanmax_2d_float_axis1 + * nanmax_dict[(2, NPY_float32, 0)] = nanmax_2d_float32_axis0 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float32, 1)] = nanmax_2d_float32_axis1 + * nanmax_dict[(2, NPY_float64, 0)] = nanmax_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18753,19 +18753,19 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":897 - * nanmax_dict[(2, NPY_int, 1)] = nanmax_2d_int_axis1 - * nanmax_dict[(2, NPY_int8, 0)] = nanmax_2d_int8_axis0 - * nanmax_dict[(2, NPY_int8, 1)] = nanmax_2d_int8_axis1 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int32, 0)] = nanmax_2d_int32_axis0 - * nanmax_dict[(2, NPY_int32, 1)] = nanmax_2d_int32_axis1 + * nanmax_dict[(2, NPY_float, 1)] = nanmax_2d_float_axis1 + * nanmax_dict[(2, NPY_float32, 0)] = nanmax_2d_float32_axis0 + * nanmax_dict[(2, NPY_float32, 1)] = nanmax_2d_float32_axis1 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float64, 0)] = nanmax_2d_float64_axis0 + * nanmax_dict[(2, NPY_float64, 1)] = nanmax_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18783,19 +18783,19 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":898 - * nanmax_dict[(2, NPY_int8, 0)] = nanmax_2d_int8_axis0 - * nanmax_dict[(2, NPY_int8, 1)] = nanmax_2d_int8_axis1 - * nanmax_dict[(2, NPY_int32, 0)] = nanmax_2d_int32_axis0 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int32, 1)] = nanmax_2d_int32_axis1 - * nanmax_dict[(2, NPY_int64, 0)] = nanmax_2d_int64_axis0 + * nanmax_dict[(2, NPY_float32, 0)] = nanmax_2d_float32_axis0 + * nanmax_dict[(2, NPY_float32, 1)] = nanmax_2d_float32_axis1 + * nanmax_dict[(2, NPY_float64, 0)] = nanmax_2d_float64_axis0 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float64, 1)] = nanmax_2d_float64_axis1 + * nanmax_dict[(1, NPY_float, 0)] = nanmax_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18813,19 +18813,19 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":899 - * nanmax_dict[(2, NPY_int8, 1)] = nanmax_2d_int8_axis1 - * nanmax_dict[(2, NPY_int32, 0)] = nanmax_2d_int32_axis0 - * nanmax_dict[(2, NPY_int32, 1)] = nanmax_2d_int32_axis1 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int64, 0)] = nanmax_2d_int64_axis0 - * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 + * nanmax_dict[(2, NPY_float32, 1)] = nanmax_2d_float32_axis1 + * nanmax_dict[(2, NPY_float64, 0)] = nanmax_2d_float64_axis0 + * nanmax_dict[(2, NPY_float64, 1)] = nanmax_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float, 0)] = nanmax_1d_float_axisNone + * nanmax_dict[(1, NPY_float, None)] = nanmax_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18843,25 +18843,25 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":900 - * nanmax_dict[(2, NPY_int32, 0)] = nanmax_2d_int32_axis0 - * nanmax_dict[(2, NPY_int32, 1)] = nanmax_2d_int32_axis1 - * nanmax_dict[(2, NPY_int64, 0)] = nanmax_2d_int64_axis0 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 - * nanmax_dict[(1, NPY_float, 0)] = nanmax_1d_float_axisNone + * nanmax_dict[(2, NPY_float64, 0)] = nanmax_2d_float64_axis0 + * nanmax_dict[(2, NPY_float64, 1)] = nanmax_2d_float64_axis1 + * nanmax_dict[(1, NPY_float, 0)] = nanmax_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float, None)] = nanmax_1d_float_axisNone + * nanmax_dict[(1, NPY_float32, 0)] = nanmax_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -18873,49 +18873,49 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":901 - * nanmax_dict[(2, NPY_int32, 1)] = nanmax_2d_int32_axis1 - * nanmax_dict[(2, NPY_int64, 0)] = nanmax_2d_int64_axis0 - * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float64, 1)] = nanmax_2d_float64_axis1 * nanmax_dict[(1, NPY_float, 0)] = nanmax_1d_float_axisNone - * nanmax_dict[(1, NPY_float, None)] = nanmax_1d_float_axisNone + * nanmax_dict[(1, NPY_float, None)] = nanmax_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float32, 0)] = nanmax_1d_float32_axisNone + * nanmax_dict[(1, NPY_float32, None)] = nanmax_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":902 - * nanmax_dict[(2, NPY_int64, 0)] = nanmax_2d_int64_axis0 - * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 - * nanmax_dict[(1, NPY_float, 0)] = nanmax_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float, 0)] = nanmax_1d_float_axisNone * nanmax_dict[(1, NPY_float, None)] = nanmax_1d_float_axisNone - * nanmax_dict[(1, NPY_float32, 0)] = nanmax_1d_float32_axisNone + * nanmax_dict[(1, NPY_float32, 0)] = nanmax_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float32, None)] = nanmax_1d_float32_axisNone + * nanmax_dict[(1, NPY_float64, 0)] = nanmax_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18933,19 +18933,19 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":903 - * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 - * nanmax_dict[(1, NPY_float, 0)] = nanmax_1d_float_axisNone - * nanmax_dict[(1, NPY_float, None)] = nanmax_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float, None)] = nanmax_1d_float_axisNone * nanmax_dict[(1, NPY_float32, 0)] = nanmax_1d_float32_axisNone - * nanmax_dict[(1, NPY_float32, None)] = nanmax_1d_float32_axisNone + * nanmax_dict[(1, NPY_float32, None)] = nanmax_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float64, 0)] = nanmax_1d_float64_axisNone + * nanmax_dict[(1, NPY_float64, None)] = nanmax_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18963,19 +18963,19 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":904 - * nanmax_dict[(1, NPY_float, 0)] = nanmax_1d_float_axisNone - * nanmax_dict[(1, NPY_float, None)] = nanmax_1d_float_axisNone - * nanmax_dict[(1, NPY_float32, 0)] = nanmax_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float32, 0)] = nanmax_1d_float32_axisNone * nanmax_dict[(1, NPY_float32, None)] = nanmax_1d_float32_axisNone - * nanmax_dict[(1, NPY_float64, 0)] = nanmax_1d_float64_axisNone + * nanmax_dict[(1, NPY_float64, 0)] = nanmax_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float64, None)] = nanmax_1d_float64_axisNone + * nanmax_dict[(2, NPY_float, None)] = nanmax_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18993,19 +18993,19 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":905 - * nanmax_dict[(1, NPY_float, None)] = nanmax_1d_float_axisNone - * nanmax_dict[(1, NPY_float32, 0)] = nanmax_1d_float32_axisNone - * nanmax_dict[(1, NPY_float32, None)] = nanmax_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float32, None)] = nanmax_1d_float32_axisNone * nanmax_dict[(1, NPY_float64, 0)] = nanmax_1d_float64_axisNone - * nanmax_dict[(1, NPY_float64, None)] = nanmax_1d_float64_axisNone + * nanmax_dict[(1, NPY_float64, None)] = nanmax_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float, None)] = nanmax_2d_float_axisNone + * nanmax_dict[(2, NPY_float32, None)] = nanmax_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19023,55 +19023,55 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":906 - * nanmax_dict[(1, NPY_float32, 0)] = nanmax_1d_float32_axisNone - * nanmax_dict[(1, NPY_float32, None)] = nanmax_1d_float32_axisNone - * nanmax_dict[(1, NPY_float64, 0)] = nanmax_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float64, 0)] = nanmax_1d_float64_axisNone * nanmax_dict[(1, NPY_float64, None)] = nanmax_1d_float64_axisNone - * nanmax_dict[(2, NPY_float, None)] = nanmax_2d_float_axisNone + * nanmax_dict[(2, NPY_float, None)] = nanmax_2d_float_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float32, None)] = nanmax_2d_float32_axisNone + * nanmax_dict[(2, NPY_float64, None)] = nanmax_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":907 - * nanmax_dict[(1, NPY_float32, None)] = nanmax_1d_float32_axisNone - * nanmax_dict[(1, NPY_float64, 0)] = nanmax_1d_float64_axisNone - * nanmax_dict[(1, NPY_float64, None)] = nanmax_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_float64, None)] = nanmax_1d_float64_axisNone * nanmax_dict[(2, NPY_float, None)] = nanmax_2d_float_axisNone - * nanmax_dict[(2, NPY_float32, None)] = nanmax_2d_float32_axisNone + * nanmax_dict[(2, NPY_float32, None)] = nanmax_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float64, None)] = nanmax_2d_float64_axisNone + * nanmax_dict[(1, NPY_int, 0)] = nanmax_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -19083,19 +19083,19 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":908 - * nanmax_dict[(1, NPY_float64, 0)] = nanmax_1d_float64_axisNone - * nanmax_dict[(1, NPY_float64, None)] = nanmax_1d_float64_axisNone - * nanmax_dict[(2, NPY_float, None)] = nanmax_2d_float_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float, None)] = nanmax_2d_float_axisNone * nanmax_dict[(2, NPY_float32, None)] = nanmax_2d_float32_axisNone - * nanmax_dict[(2, NPY_float64, None)] = nanmax_2d_float64_axisNone + * nanmax_dict[(2, NPY_float64, None)] = nanmax_2d_float64_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_int, 0)] = nanmax_1d_int_axisNone + * nanmax_dict[(1, NPY_int, None)] = nanmax_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19113,55 +19113,55 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":909 - * nanmax_dict[(1, NPY_float64, None)] = nanmax_1d_float64_axisNone - * nanmax_dict[(2, NPY_float, None)] = nanmax_2d_float_axisNone - * nanmax_dict[(2, NPY_float32, None)] = nanmax_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_float32, None)] = nanmax_2d_float32_axisNone * nanmax_dict[(2, NPY_float64, None)] = nanmax_2d_float64_axisNone - * nanmax_dict[(2, NPY_float, 0)] = nanmax_2d_float_axis0 + * nanmax_dict[(1, NPY_int, 0)] = nanmax_1d_int_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_int, None)] = nanmax_1d_int_axisNone + * nanmax_dict[(1, NPY_int8, 0)] = nanmax_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":910 - * nanmax_dict[(2, NPY_float, None)] = nanmax_2d_float_axisNone - * nanmax_dict[(2, NPY_float32, None)] = nanmax_2d_float32_axisNone - * nanmax_dict[(2, NPY_float64, None)] = nanmax_2d_float64_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_float, 0)] = nanmax_2d_float_axis0 - * nanmax_dict[(2, NPY_float, 1)] = nanmax_2d_float_axis1 + * nanmax_dict[(2, NPY_float64, None)] = nanmax_2d_float64_axisNone + * nanmax_dict[(1, NPY_int, 0)] = nanmax_1d_int_axisNone + * nanmax_dict[(1, NPY_int, None)] = nanmax_1d_int_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_int8, 0)] = nanmax_1d_int8_axisNone + * nanmax_dict[(1, NPY_int8, None)] = nanmax_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -19173,25 +19173,25 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":911 - * nanmax_dict[(2, NPY_float32, None)] = nanmax_2d_float32_axisNone - * nanmax_dict[(2, NPY_float64, None)] = nanmax_2d_float64_axisNone - * nanmax_dict[(2, NPY_float, 0)] = nanmax_2d_float_axis0 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_float, 1)] = nanmax_2d_float_axis1 - * nanmax_dict[(2, NPY_float32, 0)] = nanmax_2d_float32_axis0 + * nanmax_dict[(1, NPY_int, 0)] = nanmax_1d_int_axisNone + * nanmax_dict[(1, NPY_int, None)] = nanmax_1d_int_axisNone + * nanmax_dict[(1, NPY_int8, 0)] = nanmax_1d_int8_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_int8, None)] = nanmax_1d_int8_axisNone + * nanmax_dict[(1, NPY_int32, 0)] = nanmax_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -19203,55 +19203,55 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":912 - * nanmax_dict[(2, NPY_float64, None)] = nanmax_2d_float64_axisNone - * nanmax_dict[(2, NPY_float, 0)] = nanmax_2d_float_axis0 - * nanmax_dict[(2, NPY_float, 1)] = nanmax_2d_float_axis1 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_float32, 0)] = nanmax_2d_float32_axis0 - * nanmax_dict[(2, NPY_float32, 1)] = nanmax_2d_float32_axis1 + * nanmax_dict[(1, NPY_int, None)] = nanmax_1d_int_axisNone + * nanmax_dict[(1, NPY_int8, 0)] = nanmax_1d_int8_axisNone + * nanmax_dict[(1, NPY_int8, None)] = nanmax_1d_int8_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_int32, 0)] = nanmax_1d_int32_axisNone + * nanmax_dict[(1, NPY_int32, None)] = nanmax_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":913 - * nanmax_dict[(2, NPY_float, 0)] = nanmax_2d_float_axis0 - * nanmax_dict[(2, NPY_float, 1)] = nanmax_2d_float_axis1 - * nanmax_dict[(2, NPY_float32, 0)] = nanmax_2d_float32_axis0 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_float32, 1)] = nanmax_2d_float32_axis1 - * nanmax_dict[(2, NPY_float64, 0)] = nanmax_2d_float64_axis0 + * nanmax_dict[(1, NPY_int8, 0)] = nanmax_1d_int8_axisNone + * nanmax_dict[(1, NPY_int8, None)] = nanmax_1d_int8_axisNone + * nanmax_dict[(1, NPY_int32, 0)] = nanmax_1d_int32_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_int32, None)] = nanmax_1d_int32_axisNone + * nanmax_dict[(1, NPY_int64, 0)] = nanmax_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -19263,55 +19263,55 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":914 - * nanmax_dict[(2, NPY_float, 1)] = nanmax_2d_float_axis1 - * nanmax_dict[(2, NPY_float32, 0)] = nanmax_2d_float32_axis0 - * nanmax_dict[(2, NPY_float32, 1)] = nanmax_2d_float32_axis1 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_float64, 0)] = nanmax_2d_float64_axis0 - * nanmax_dict[(2, NPY_float64, 1)] = nanmax_2d_float64_axis1 + * nanmax_dict[(1, NPY_int8, None)] = nanmax_1d_int8_axisNone + * nanmax_dict[(1, NPY_int32, 0)] = nanmax_1d_int32_axisNone + * nanmax_dict[(1, NPY_int32, None)] = nanmax_1d_int32_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_int64, 0)] = nanmax_1d_int64_axisNone + * nanmax_dict[(1, NPY_int64, None)] = nanmax_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":915 - * nanmax_dict[(2, NPY_float32, 0)] = nanmax_2d_float32_axis0 - * nanmax_dict[(2, NPY_float32, 1)] = nanmax_2d_float32_axis1 - * nanmax_dict[(2, NPY_float64, 0)] = nanmax_2d_float64_axis0 # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_float64, 1)] = nanmax_2d_float64_axis1 - * nanmax_dict[(1, NPY_int, 0)] = nanmax_1d_int_axisNone + * nanmax_dict[(1, NPY_int32, 0)] = nanmax_1d_int32_axisNone + * nanmax_dict[(1, NPY_int32, None)] = nanmax_1d_int32_axisNone + * nanmax_dict[(1, NPY_int64, 0)] = nanmax_1d_int64_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(1, NPY_int64, None)] = nanmax_1d_int64_axisNone + * nanmax_dict[(2, NPY_int, None)] = nanmax_2d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -19323,43 +19323,43 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":916 - * nanmax_dict[(2, NPY_float32, 1)] = nanmax_2d_float32_axis1 - * nanmax_dict[(2, NPY_float64, 0)] = nanmax_2d_float64_axis0 - * nanmax_dict[(2, NPY_float64, 1)] = nanmax_2d_float64_axis1 # <<<<<<<<<<<<<< - * nanmax_dict[(1, NPY_int, 0)] = nanmax_1d_int_axisNone - * nanmax_dict[(1, NPY_int, None)] = nanmax_1d_int_axisNone + * nanmax_dict[(1, NPY_int32, None)] = nanmax_1d_int32_axisNone + * nanmax_dict[(1, NPY_int64, 0)] = nanmax_1d_int64_axisNone + * nanmax_dict[(1, NPY_int64, None)] = nanmax_1d_int64_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int, None)] = nanmax_2d_int_axisNone + * nanmax_dict[(2, NPY_int8, None)] = nanmax_2d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":917 - * nanmax_dict[(2, NPY_float64, 0)] = nanmax_2d_float64_axis0 - * nanmax_dict[(2, NPY_float64, 1)] = nanmax_2d_float64_axis1 - * nanmax_dict[(1, NPY_int, 0)] = nanmax_1d_int_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(1, NPY_int, None)] = nanmax_1d_int_axisNone - * nanmax_dict[(1, NPY_int8, 0)] = nanmax_1d_int8_axisNone + * nanmax_dict[(1, NPY_int64, 0)] = nanmax_1d_int64_axisNone + * nanmax_dict[(1, NPY_int64, None)] = nanmax_1d_int64_axisNone + * nanmax_dict[(2, NPY_int, None)] = nanmax_2d_int_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int8, None)] = nanmax_2d_int8_axisNone + * nanmax_dict[(2, NPY_int32, None)] = nanmax_2d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -19369,39 +19369,39 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":918 - * nanmax_dict[(2, NPY_float64, 1)] = nanmax_2d_float64_axis1 - * nanmax_dict[(1, NPY_int, 0)] = nanmax_1d_int_axisNone - * nanmax_dict[(1, NPY_int, None)] = nanmax_1d_int_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(1, NPY_int8, 0)] = nanmax_1d_int8_axisNone - * nanmax_dict[(1, NPY_int8, None)] = nanmax_1d_int8_axisNone + * nanmax_dict[(1, NPY_int64, None)] = nanmax_1d_int64_axisNone + * nanmax_dict[(2, NPY_int, None)] = nanmax_2d_int_axisNone + * nanmax_dict[(2, NPY_int8, None)] = nanmax_2d_int8_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int32, None)] = nanmax_2d_int32_axisNone + * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -19413,55 +19413,55 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":919 - * nanmax_dict[(1, NPY_int, 0)] = nanmax_1d_int_axisNone - * nanmax_dict[(1, NPY_int, None)] = nanmax_1d_int_axisNone - * nanmax_dict[(1, NPY_int8, 0)] = nanmax_1d_int8_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(1, NPY_int8, None)] = nanmax_1d_int8_axisNone - * nanmax_dict[(1, NPY_int32, 0)] = nanmax_1d_int32_axisNone + * nanmax_dict[(2, NPY_int, None)] = nanmax_2d_int_axisNone + * nanmax_dict[(2, NPY_int8, None)] = nanmax_2d_int8_axisNone + * nanmax_dict[(2, NPY_int32, None)] = nanmax_2d_int32_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone + * nanmax_dict[(2, NPY_int, 0)] = nanmax_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":920 - * nanmax_dict[(1, NPY_int, None)] = nanmax_1d_int_axisNone - * nanmax_dict[(1, NPY_int8, 0)] = nanmax_1d_int8_axisNone - * nanmax_dict[(1, NPY_int8, None)] = nanmax_1d_int8_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(1, NPY_int32, 0)] = nanmax_1d_int32_axisNone - * nanmax_dict[(1, NPY_int32, None)] = nanmax_1d_int32_axisNone + * nanmax_dict[(2, NPY_int8, None)] = nanmax_2d_int8_axisNone + * nanmax_dict[(2, NPY_int32, None)] = nanmax_2d_int32_axisNone + * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int, 0)] = nanmax_2d_int_axis0 + * nanmax_dict[(2, NPY_int, 1)] = nanmax_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -19473,25 +19473,25 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":921 - * nanmax_dict[(1, NPY_int8, 0)] = nanmax_1d_int8_axisNone - * nanmax_dict[(1, NPY_int8, None)] = nanmax_1d_int8_axisNone - * nanmax_dict[(1, NPY_int32, 0)] = nanmax_1d_int32_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(1, NPY_int32, None)] = nanmax_1d_int32_axisNone - * nanmax_dict[(1, NPY_int64, 0)] = nanmax_1d_int64_axisNone + * nanmax_dict[(2, NPY_int32, None)] = nanmax_2d_int32_axisNone + * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone + * nanmax_dict[(2, NPY_int, 0)] = nanmax_2d_int_axis0 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int, 1)] = nanmax_2d_int_axis1 + * nanmax_dict[(2, NPY_int8, 0)] = nanmax_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -19503,55 +19503,55 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":922 - * nanmax_dict[(1, NPY_int8, None)] = nanmax_1d_int8_axisNone - * nanmax_dict[(1, NPY_int32, 0)] = nanmax_1d_int32_axisNone - * nanmax_dict[(1, NPY_int32, None)] = nanmax_1d_int32_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(1, NPY_int64, 0)] = nanmax_1d_int64_axisNone - * nanmax_dict[(1, NPY_int64, None)] = nanmax_1d_int64_axisNone + * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone + * nanmax_dict[(2, NPY_int, 0)] = nanmax_2d_int_axis0 + * nanmax_dict[(2, NPY_int, 1)] = nanmax_2d_int_axis1 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int8, 0)] = nanmax_2d_int8_axis0 + * nanmax_dict[(2, NPY_int8, 1)] = nanmax_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":923 - * nanmax_dict[(1, NPY_int32, 0)] = nanmax_1d_int32_axisNone - * nanmax_dict[(1, NPY_int32, None)] = nanmax_1d_int32_axisNone - * nanmax_dict[(1, NPY_int64, 0)] = nanmax_1d_int64_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(1, NPY_int64, None)] = nanmax_1d_int64_axisNone - * nanmax_dict[(2, NPY_int, None)] = nanmax_2d_int_axisNone + * nanmax_dict[(2, NPY_int, 0)] = nanmax_2d_int_axis0 + * nanmax_dict[(2, NPY_int, 1)] = nanmax_2d_int_axis1 + * nanmax_dict[(2, NPY_int8, 0)] = nanmax_2d_int8_axis0 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int8, 1)] = nanmax_2d_int8_axis1 + * nanmax_dict[(2, NPY_int32, 0)] = nanmax_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -19563,49 +19563,49 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":924 - * nanmax_dict[(1, NPY_int32, None)] = nanmax_1d_int32_axisNone - * nanmax_dict[(1, NPY_int64, 0)] = nanmax_1d_int64_axisNone - * nanmax_dict[(1, NPY_int64, None)] = nanmax_1d_int64_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int, None)] = nanmax_2d_int_axisNone - * nanmax_dict[(2, NPY_int8, None)] = nanmax_2d_int8_axisNone + * nanmax_dict[(2, NPY_int, 1)] = nanmax_2d_int_axis1 + * nanmax_dict[(2, NPY_int8, 0)] = nanmax_2d_int8_axis0 + * nanmax_dict[(2, NPY_int8, 1)] = nanmax_2d_int8_axis1 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int32, 0)] = nanmax_2d_int32_axis0 + * nanmax_dict[(2, NPY_int32, 1)] = nanmax_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":925 - * nanmax_dict[(1, NPY_int64, 0)] = nanmax_1d_int64_axisNone - * nanmax_dict[(1, NPY_int64, None)] = nanmax_1d_int64_axisNone - * nanmax_dict[(2, NPY_int, None)] = nanmax_2d_int_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int8, None)] = nanmax_2d_int8_axisNone - * nanmax_dict[(2, NPY_int32, None)] = nanmax_2d_int32_axisNone + * nanmax_dict[(2, NPY_int8, 0)] = nanmax_2d_int8_axis0 + * nanmax_dict[(2, NPY_int8, 1)] = nanmax_2d_int8_axis1 + * nanmax_dict[(2, NPY_int32, 0)] = nanmax_2d_int32_axis0 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int32, 1)] = nanmax_2d_int32_axis1 + * nanmax_dict[(2, NPY_int64, 0)] = nanmax_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19614,28 +19614,28 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":926 - * nanmax_dict[(1, NPY_int64, None)] = nanmax_1d_int64_axisNone - * nanmax_dict[(2, NPY_int, None)] = nanmax_2d_int_axisNone - * nanmax_dict[(2, NPY_int8, None)] = nanmax_2d_int8_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int32, None)] = nanmax_2d_int32_axisNone - * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone + * nanmax_dict[(2, NPY_int8, 1)] = nanmax_2d_int8_axis1 + * nanmax_dict[(2, NPY_int32, 0)] = nanmax_2d_int32_axis0 + * nanmax_dict[(2, NPY_int32, 1)] = nanmax_2d_int32_axis1 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int64, 0)] = nanmax_2d_int64_axis0 + * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19644,28 +19644,28 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":927 - * nanmax_dict[(2, NPY_int, None)] = nanmax_2d_int_axisNone - * nanmax_dict[(2, NPY_int8, None)] = nanmax_2d_int8_axisNone - * nanmax_dict[(2, NPY_int32, None)] = nanmax_2d_int32_axisNone # <<<<<<<<<<<<<< - * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone + * nanmax_dict[(2, NPY_int32, 0)] = nanmax_2d_int32_axis0 + * nanmax_dict[(2, NPY_int32, 1)] = nanmax_2d_int32_axis1 + * nanmax_dict[(2, NPY_int64, 0)] = nanmax_2d_int64_axis0 # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19674,22 +19674,22 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":928 - * nanmax_dict[(2, NPY_int8, None)] = nanmax_2d_int8_axisNone - * nanmax_dict[(2, NPY_int32, None)] = nanmax_2d_int32_axisNone - * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone # <<<<<<<<<<<<<< + * nanmax_dict[(2, NPY_int32, 1)] = nanmax_2d_int32_axis1 + * nanmax_dict[(2, NPY_int64, 0)] = nanmax_2d_int64_axis0 + * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nanmax_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmax_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmax_nanmax_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -19704,16 +19704,16 @@ PyMODINIT_FUNC PyInit_nanmax(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmax_nanmax_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmax.pyx":930 - * nanmax_dict[(2, NPY_int64, None)] = nanmax_2d_int64_axisNone + * nanmax_dict[(2, NPY_int64, 1)] = nanmax_2d_int64_axis1 * * def nanmax_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmax along axis 0." @@ -20687,7 +20687,7 @@ PyMODINIT_FUNC PyInit_nanmax(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/nanmean.c b/bottlechest/src/func/64bit/nanmean.c index 9869b1d129..1cfc807007 100644 --- a/bottlechest/src/func/64bit/nanmean.c +++ b/bottlechest/src/func/64bit/nanmean.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1100,13 +1100,13 @@ static __pyx_t_5numpy_float32_t __pyx_v_7nanmean_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_7nanmean_MAXfloat64; static PyObject *__pyx_v_7nanmean_nanmean_dict = 0; static PyObject *__pyx_v_7nanmean_nanmean_slow_dict = 0; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "nanmean" int __pyx_module_is_main_nanmean = 0; @@ -1118,34 +1118,34 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_7nanmean_nanmean(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_7nanmean_2nanmean_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_16nanmean_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_18nanmean_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_24nanmean_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_30nanmean_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_32nanmean_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_34nanmean_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_36nanmean_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_38nanmean_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_40nanmean_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_42nanmean_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_44nanmean_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_46nanmean_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_48nanmean_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_50nanmean_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_52nanmean_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_54nanmean_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_56nanmean_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_7nanmean_58nanmean_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_4nanmean_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_6nanmean_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_8nanmean_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_10nanmean_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_12nanmean_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_14nanmean_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_16nanmean_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_18nanmean_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_22nanmean_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_24nanmean_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_28nanmean_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_30nanmean_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_32nanmean_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_34nanmean_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_36nanmean_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_38nanmean_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_40nanmean_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_42nanmean_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_44nanmean_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_46nanmean_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_48nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_50nanmean_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_52nanmean_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_54nanmean_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_56nanmean_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_7nanmean_58nanmean_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_7nanmean_60nanmean_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_7nanmean_62nanmean_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_7nanmean_64nanmean_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1323,15 +1323,14 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Mean_of_array_elements_along_gi[] = "\n Mean of array elements along given axis ignoring NaNs.\n\n `float64` intermediate and return values are used for integer inputs.\n\n Parameters\n ----------\n arr : array_like\n Array containing numbers whose mean is desired. If `arr` is not an\n array, a conversion is attempted.\n axis : {int, None}, optional\n Axis along which the mean is computed. The default (axis=None) is to\n compute the mean of the flattened array.\n\n Returns\n -------\n y : ndarray\n An array with the same shape as `arr`, with the specified axis removed.\n If `arr` is a 0-d array, or if axis is None, a scalar is returned.\n `float64` intermediate and return values are used for integer inputs. \n\n See also\n --------\n bottlechest.nanmedian: Median along specified axis, ignoring NaNs.\n \n Notes\n -----\n No error is raised on overflow. (The sum is computed and then the result\n is divided by the number of non-NaN elements.)\n\n If positive or negative infinity are present the result is positive or\n negative infinity. But if both positive and negative infinity are present,\n the result is Not A Number (NaN).\n\n Examples\n --------\n >>> bn.nanmean(1)\n 1.0\n >>> bn.nanmean([1])\n 1.0\n >>> bn.nanmean([1, np.nan])\n 1.0\n >>> a = np.array([[1, 4], [1, np.nan]])\n >>> bn.nanmean(a)\n 2.0\n >>> bn.nanmean(a, axis=0)\n array([ 1., 4.])\n\n When positive infinity and negative infinity are present:\n\n >>> bn.nanmean([1, np.nan, np.inf])\n inf\n >>> bn.nanmean([1, np.nan, np.NINF])\n -inf\n >>> bn.nanmean([1, np.nan, np.inf, np.NINF])\n nan\n \n "; static char __pyx_k_Return_nanmean_function_and_arr[] = "\n Return nanmean function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.nanmean() is in checking that `axis` is within range, converting `arr`\n into an array (if it is not already an array), and selecting the function\n to use to calculate the mean.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the mean is to be computed.\n \n Returns\n -------\n func : function\n The nanmean function that matches the number of dimensions and dtype\n of the input array and the axis along which you wish to find the mean.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine the nanmean of `arr` along axis=0:\n\n >>> func, a = bn.func.nanmean_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the mean:\n\n >>> func(a)\n 2.0\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/nanmean.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\nanmean.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1345,6 +1344,7 @@ static PyObject *__pyx_kp_u_Return_nanmean_function_and_arr; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__7; static PyObject *__pyx_n_s_a; @@ -2449,24 +2449,24 @@ static PyObject *__pyx_pf_7nanmean_2nanmean_selector(CYTHON_UNUSED PyObject *__p /* "nanmean.pyx":202 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_5nanmean_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_4nanmean_2d_int_axis0[] = "nanmean_2d_int_axis0(ndarray a)\nMean of 2d array with dtype=int along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_5nanmean_2d_int_axis0 = {"nanmean_2d_int_axis0", (PyCFunction)__pyx_pw_7nanmean_5nanmean_2d_int_axis0, METH_O, __pyx_doc_7nanmean_4nanmean_2d_int_axis0}; -static PyObject *__pyx_pw_7nanmean_5nanmean_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_5nanmean_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_4nanmean_2d_float_axis0[] = "nanmean_2d_float_axis0(ndarray a)\nMean of 2d array with dtype=float along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_5nanmean_2d_float_axis0 = {"nanmean_2d_float_axis0", (PyCFunction)__pyx_pw_7nanmean_5nanmean_2d_float_axis0, METH_O, __pyx_doc_7nanmean_4nanmean_2d_float_axis0}; +static PyObject *__pyx_pw_7nanmean_5nanmean_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanmean_2d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_4nanmean_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_7nanmean_4nanmean_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2477,8 +2477,10 @@ static PyObject *__pyx_pw_7nanmean_5nanmean_2d_int_axis0(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float64_t __pyx_v_asum; +static PyObject *__pyx_pf_7nanmean_4nanmean_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2495,17 +2497,17 @@ static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("nanmean_2d_float_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2516,20 +2518,29 @@ static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanmean.pyx":204 - * def nanmean_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Mean of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + * def nanmean_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanmean.pyx":205 + * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":207 + /* "nanmean.pyx":208 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2538,7 +2549,7 @@ static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":208 + /* "nanmean.pyx":209 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2547,41 +2558,41 @@ static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":209 + /* "nanmean.pyx":210 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":210 + /* "nanmean.pyx":211 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":211 + /* "nanmean.pyx":212 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2589,82 +2600,107 @@ static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":213 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanmean.pyx":214 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "nanmean.pyx":214 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + /* "nanmean.pyx":215 + * NPY_float, 0) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; /* "nanmean.pyx":216 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + * for i1 in range(n1): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanmean.pyx":217 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] + /* "nanmean.pyx":217 + * asum = 0 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; /* "nanmean.pyx":218 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i1] = asum / n0 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmean.pyx":219 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i1] = asum / n0 - * return y + /* "nanmean.pyx":219 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":220 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanmean.pyx":221 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * y[i1] = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanmean.pyx":220 - * for i0 in range(n0): - * asum += a[i0, i1] - * y[i1] = asum / n0 # <<<<<<<<<<<<<< - * return y - * + /* "nanmean.pyx":222 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * y[i1] = asum / count + * else: */ - if (unlikely(__pyx_v_n0 == 0)) { + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":223 + * count += 1 + * if count > 0: + * y[i1] = asum / count # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -2672,17 +2708,30 @@ static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); + goto __pyx_L8; + } + /*else*/ { + + /* "nanmean.pyx":225 + * y[i1] = asum / count + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< + * return y + * + */ __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n0); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanmean.pyx":221 - * asum += a[i0, i1] - * y[i1] = asum / n0 + /* "nanmean.pyx":226 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2695,9 +2744,9 @@ static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject /* "nanmean.pyx":202 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -2708,7 +2757,7 @@ static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2721,27 +2770,27 @@ static PyObject *__pyx_pf_7nanmean_4nanmean_2d_int_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanmean.pyx":225 +/* "nanmean.pyx":230 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_7nanmean_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_6nanmean_2d_int_axis1[] = "nanmean_2d_int_axis1(ndarray a)\nMean of 2d array with dtype=int along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_7nanmean_2d_int_axis1 = {"nanmean_2d_int_axis1", (PyCFunction)__pyx_pw_7nanmean_7nanmean_2d_int_axis1, METH_O, __pyx_doc_7nanmean_6nanmean_2d_int_axis1}; -static PyObject *__pyx_pw_7nanmean_7nanmean_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_7nanmean_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_6nanmean_2d_float_axis1[] = "nanmean_2d_float_axis1(ndarray a)\nMean of 2d array with dtype=float along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_7nanmean_2d_float_axis1 = {"nanmean_2d_float_axis1", (PyCFunction)__pyx_pw_7nanmean_7nanmean_2d_float_axis1, METH_O, __pyx_doc_7nanmean_6nanmean_2d_float_axis1}; +static PyObject *__pyx_pw_7nanmean_7nanmean_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_6nanmean_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_float_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_6nanmean_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2752,8 +2801,10 @@ static PyObject *__pyx_pw_7nanmean_7nanmean_2d_int_axis1(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float64_t __pyx_v_asum; +static PyObject *__pyx_pf_7nanmean_6nanmean_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2770,17 +2821,17 @@ static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("nanmean_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2791,20 +2842,29 @@ static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":227 - * def nanmean_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Mean of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nanmean.pyx":232 + * def nanmean_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanmean.pyx":233 + * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":230 + /* "nanmean.pyx":236 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2813,7 +2873,7 @@ static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":231 + /* "nanmean.pyx":237 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2822,41 +2882,41 @@ static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":232 + /* "nanmean.pyx":238 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":233 + /* "nanmean.pyx":239 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":234 + /* "nanmean.pyx":240 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2864,82 +2924,107 @@ static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":236 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanmean.pyx":242 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmean.pyx":237 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + /* "nanmean.pyx":243 + * NPY_float, 0) + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i1 in range(n1): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanmean.pyx":239 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanmean.pyx":244 + * for i0 in range(n0): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanmean.pyx":240 - * else: - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanmean.pyx":245 + * asum = 0 + * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmean.pyx":241 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i0] = asum / n1 + /* "nanmean.pyx":246 + * count = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmean.pyx":242 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i0] = asum / n1 - * return y + /* "nanmean.pyx":247 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":248 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanmean.pyx":249 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * y[i0] = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanmean.pyx":243 - * for i1 in range(n1): - * asum += a[i0, i1] - * y[i0] = asum / n1 # <<<<<<<<<<<<<< - * return y - * + /* "nanmean.pyx":250 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * y[i0] = asum / count + * else: */ - if (unlikely(__pyx_v_n1 == 0)) { + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":251 + * count += 1 + * if count > 0: + * y[i0] = asum / count # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -2947,17 +3032,30 @@ static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); + goto __pyx_L8; + } + /*else*/ { + + /* "nanmean.pyx":253 + * y[i0] = asum / count + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< + * return y + * + */ __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n1); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanmean.pyx":244 - * asum += a[i0, i1] - * y[i0] = asum / n1 + /* "nanmean.pyx":254 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2967,12 +3065,12 @@ static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmean.pyx":225 + /* "nanmean.pyx":230 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -2983,7 +3081,7 @@ static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2996,27 +3094,27 @@ static PyObject *__pyx_pf_7nanmean_6nanmean_2d_int_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanmean.pyx":248 +/* "nanmean.pyx":258 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_9nanmean_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_8nanmean_2d_int8_axis0[] = "nanmean_2d_int8_axis0(ndarray a)\nMean of 2d array with dtype=int8 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_9nanmean_2d_int8_axis0 = {"nanmean_2d_int8_axis0", (PyCFunction)__pyx_pw_7nanmean_9nanmean_2d_int8_axis0, METH_O, __pyx_doc_7nanmean_8nanmean_2d_int8_axis0}; -static PyObject *__pyx_pw_7nanmean_9nanmean_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_9nanmean_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_8nanmean_2d_float32_axis0[] = "nanmean_2d_float32_axis0(ndarray a)\nMean of 2d array with dtype=float32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_9nanmean_2d_float32_axis0 = {"nanmean_2d_float32_axis0", (PyCFunction)__pyx_pw_7nanmean_9nanmean_2d_float32_axis0, METH_O, __pyx_doc_7nanmean_8nanmean_2d_float32_axis0}; +static PyObject *__pyx_pw_7nanmean_9nanmean_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_8nanmean_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_8nanmean_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3027,8 +3125,10 @@ static PyObject *__pyx_pw_7nanmean_9nanmean_2d_int8_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float64_t __pyx_v_asum; +static PyObject *__pyx_pf_7nanmean_8nanmean_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3045,17 +3145,17 @@ static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nanmean_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3066,20 +3166,29 @@ static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":250 - * def nanmean_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Mean of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nanmean.pyx":260 + * def nanmean_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanmean.pyx":261 + * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":253 + /* "nanmean.pyx":264 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3088,7 +3197,7 @@ static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":254 + /* "nanmean.pyx":265 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3097,41 +3206,41 @@ static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":255 + /* "nanmean.pyx":266 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":256 + /* "nanmean.pyx":267 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":257 + /* "nanmean.pyx":268 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3139,82 +3248,107 @@ static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":259 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanmean.pyx":270 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "nanmean.pyx":260 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + /* "nanmean.pyx":271 + * NPY_float32, 0) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanmean.pyx":262 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanmean.pyx":272 + * for i1 in range(n1): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanmean.pyx":263 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] + /* "nanmean.pyx":273 + * asum = 0 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanmean.pyx":264 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i1] = asum / n0 + /* "nanmean.pyx":274 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmean.pyx":265 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i1] = asum / n0 - * return y + /* "nanmean.pyx":275 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":276 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanmean.pyx":277 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * y[i1] = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanmean.pyx":266 - * for i0 in range(n0): - * asum += a[i0, i1] - * y[i1] = asum / n0 # <<<<<<<<<<<<<< - * return y - * + /* "nanmean.pyx":278 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * y[i1] = asum / count + * else: */ - if (unlikely(__pyx_v_n0 == 0)) { + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":279 + * count += 1 + * if count > 0: + * y[i1] = asum / count # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3222,17 +3356,30 @@ static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); + goto __pyx_L8; + } + /*else*/ { + + /* "nanmean.pyx":281 + * y[i1] = asum / count + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< + * return y + * + */ __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n0); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanmean.pyx":267 - * asum += a[i0, i1] - * y[i1] = asum / n0 + /* "nanmean.pyx":282 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3242,12 +3389,12 @@ static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmean.pyx":248 + /* "nanmean.pyx":258 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -3258,7 +3405,7 @@ static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3271,27 +3418,27 @@ static PyObject *__pyx_pf_7nanmean_8nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanmean.pyx":271 +/* "nanmean.pyx":286 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_11nanmean_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_10nanmean_2d_int8_axis1[] = "nanmean_2d_int8_axis1(ndarray a)\nMean of 2d array with dtype=int8 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_11nanmean_2d_int8_axis1 = {"nanmean_2d_int8_axis1", (PyCFunction)__pyx_pw_7nanmean_11nanmean_2d_int8_axis1, METH_O, __pyx_doc_7nanmean_10nanmean_2d_int8_axis1}; -static PyObject *__pyx_pw_7nanmean_11nanmean_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_11nanmean_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_10nanmean_2d_float32_axis1[] = "nanmean_2d_float32_axis1(ndarray a)\nMean of 2d array with dtype=float32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_11nanmean_2d_float32_axis1 = {"nanmean_2d_float32_axis1", (PyCFunction)__pyx_pw_7nanmean_11nanmean_2d_float32_axis1, METH_O, __pyx_doc_7nanmean_10nanmean_2d_float32_axis1}; +static PyObject *__pyx_pw_7nanmean_11nanmean_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int8_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_10nanmean_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_float32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_10nanmean_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3302,8 +3449,10 @@ static PyObject *__pyx_pw_7nanmean_11nanmean_2d_int8_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float64_t __pyx_v_asum; +static PyObject *__pyx_pf_7nanmean_10nanmean_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3320,17 +3469,17 @@ static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObjec npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("nanmean_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3341,20 +3490,29 @@ static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObjec __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":273 - * def nanmean_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Mean of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nanmean.pyx":288 + * def nanmean_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanmean.pyx":289 + * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":276 + /* "nanmean.pyx":292 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3363,7 +3521,7 @@ static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObjec */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":277 + /* "nanmean.pyx":293 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3372,41 +3530,41 @@ static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObjec */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":278 + /* "nanmean.pyx":294 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":279 + /* "nanmean.pyx":295 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":280 + /* "nanmean.pyx":296 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3414,82 +3572,107 @@ static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObjec __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":282 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanmean.pyx":298 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmean.pyx":283 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + /* "nanmean.pyx":299 + * NPY_float32, 0) + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i1 in range(n1): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanmean.pyx":285 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanmean.pyx":300 + * for i0 in range(n0): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanmean.pyx":286 - * else: - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanmean.pyx":301 + * asum = 0 + * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmean.pyx":287 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i0] = asum / n1 + /* "nanmean.pyx":302 + * count = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmean.pyx":288 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i0] = asum / n1 - * return y + /* "nanmean.pyx":303 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":304 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanmean.pyx":305 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * y[i0] = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanmean.pyx":289 - * for i1 in range(n1): - * asum += a[i0, i1] - * y[i0] = asum / n1 # <<<<<<<<<<<<<< - * return y - * + /* "nanmean.pyx":306 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * y[i0] = asum / count + * else: */ - if (unlikely(__pyx_v_n1 == 0)) { + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":307 + * count += 1 + * if count > 0: + * y[i0] = asum / count # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3497,17 +3680,30 @@ static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObjec #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); + goto __pyx_L8; + } + /*else*/ { + + /* "nanmean.pyx":309 + * y[i0] = asum / count + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< + * return y + * + */ __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n1); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanmean.pyx":290 - * asum += a[i0, i1] - * y[i0] = asum / n1 + /* "nanmean.pyx":310 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3517,12 +3713,12 @@ static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObjec __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmean.pyx":271 + /* "nanmean.pyx":286 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -3533,7 +3729,7 @@ static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObjec __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3546,27 +3742,27 @@ static PyObject *__pyx_pf_7nanmean_10nanmean_2d_int8_axis1(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "nanmean.pyx":294 +/* "nanmean.pyx":314 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_13nanmean_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_12nanmean_2d_int32_axis0[] = "nanmean_2d_int32_axis0(ndarray a)\nMean of 2d array with dtype=int32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_13nanmean_2d_int32_axis0 = {"nanmean_2d_int32_axis0", (PyCFunction)__pyx_pw_7nanmean_13nanmean_2d_int32_axis0, METH_O, __pyx_doc_7nanmean_12nanmean_2d_int32_axis0}; -static PyObject *__pyx_pw_7nanmean_13nanmean_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_13nanmean_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_12nanmean_2d_float64_axis0[] = "nanmean_2d_float64_axis0(ndarray a)\nMean of 2d array with dtype=float64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_13nanmean_2d_float64_axis0 = {"nanmean_2d_float64_axis0", (PyCFunction)__pyx_pw_7nanmean_13nanmean_2d_float64_axis0, METH_O, __pyx_doc_7nanmean_12nanmean_2d_float64_axis0}; +static PyObject *__pyx_pw_7nanmean_13nanmean_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_12nanmean_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_12nanmean_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3577,8 +3773,10 @@ static PyObject *__pyx_pw_7nanmean_13nanmean_2d_int32_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_12nanmean_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + Py_ssize_t __pyx_v_count; __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3595,17 +3793,17 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nanmean_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3616,20 +3814,29 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":296 - * def nanmean_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Mean of 2d array with dtype=int32 along axis=0 ignoring NaNs." + /* "nanmean.pyx":316 + * def nanmean_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanmean.pyx":317 + * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":299 + /* "nanmean.pyx":320 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3638,7 +3845,7 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":300 + /* "nanmean.pyx":321 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3647,7 +3854,7 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":301 + /* "nanmean.pyx":322 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -3656,7 +3863,7 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":302 + /* "nanmean.pyx":323 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -3666,22 +3873,22 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":303 + /* "nanmean.pyx":324 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) - * if n0 == 0: + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3689,82 +3896,107 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":305 + /* "nanmean.pyx":326 * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "nanmean.pyx":306 + /* "nanmean.pyx":327 * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanmean.pyx":308 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanmean.pyx":328 + * for i1 in range(n1): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanmean.pyx":309 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] + /* "nanmean.pyx":329 + * asum = 0 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanmean.pyx":310 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i1] = asum / n0 + /* "nanmean.pyx":330 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmean.pyx":311 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i1] = asum / n0 - * return y + /* "nanmean.pyx":331 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":332 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanmean.pyx":333 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * y[i1] = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanmean.pyx":312 - * for i0 in range(n0): - * asum += a[i0, i1] - * y[i1] = asum / n0 # <<<<<<<<<<<<<< - * return y - * + /* "nanmean.pyx":334 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * y[i1] = asum / count + * else: */ - if (unlikely(__pyx_v_n0 == 0)) { + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":335 + * count += 1 + * if count > 0: + * y[i1] = asum / count # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3772,17 +4004,30 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n0); + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); + goto __pyx_L8; } - } - __pyx_L3:; + /*else*/ { - /* "nanmean.pyx":313 - * asum += a[i0, i1] - * y[i1] = asum / n0 + /* "nanmean.pyx":337 + * y[i1] = asum / count + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; + } + __pyx_L8:; + } + + /* "nanmean.pyx":338 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3792,12 +4037,12 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmean.pyx":294 + /* "nanmean.pyx":314 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -3808,7 +4053,7 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3821,27 +4066,27 @@ static PyObject *__pyx_pf_7nanmean_12nanmean_2d_int32_axis0(CYTHON_UNUSED PyObje return __pyx_r; } -/* "nanmean.pyx":317 +/* "nanmean.pyx":342 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_15nanmean_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_14nanmean_2d_int32_axis1[] = "nanmean_2d_int32_axis1(ndarray a)\nMean of 2d array with dtype=int32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_15nanmean_2d_int32_axis1 = {"nanmean_2d_int32_axis1", (PyCFunction)__pyx_pw_7nanmean_15nanmean_2d_int32_axis1, METH_O, __pyx_doc_7nanmean_14nanmean_2d_int32_axis1}; -static PyObject *__pyx_pw_7nanmean_15nanmean_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_15nanmean_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_14nanmean_2d_float64_axis1[] = "nanmean_2d_float64_axis1(ndarray a)\nMean of 2d array with dtype=float64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_15nanmean_2d_float64_axis1 = {"nanmean_2d_float64_axis1", (PyCFunction)__pyx_pw_7nanmean_15nanmean_2d_float64_axis1, METH_O, __pyx_doc_7nanmean_14nanmean_2d_float64_axis1}; +static PyObject *__pyx_pw_7nanmean_15nanmean_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_14nanmean_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_float64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_14nanmean_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3852,8 +4097,10 @@ static PyObject *__pyx_pw_7nanmean_15nanmean_2d_int32_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_14nanmean_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + Py_ssize_t __pyx_v_count; __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3870,17 +4117,17 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("nanmean_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3891,20 +4138,29 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":319 - * def nanmean_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Mean of 2d array with dtype=int32 along axis=1 ignoring NaNs." + /* "nanmean.pyx":344 + * def nanmean_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanmean.pyx":345 + * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":322 + /* "nanmean.pyx":348 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3913,7 +4169,7 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":323 + /* "nanmean.pyx":349 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3922,7 +4178,7 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":324 + /* "nanmean.pyx":350 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -3931,7 +4187,7 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":325 + /* "nanmean.pyx":351 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -3941,22 +4197,22 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":326 + /* "nanmean.pyx":352 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) - * if n1 == 0: + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3964,82 +4220,107 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":328 + /* "nanmean.pyx":354 * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmean.pyx":329 + /* "nanmean.pyx":355 * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i1 in range(n1): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanmean.pyx":331 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanmean.pyx":356 + * for i0 in range(n0): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanmean.pyx":332 - * else: - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanmean.pyx":357 + * asum = 0 + * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmean.pyx":333 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i0] = asum / n1 + /* "nanmean.pyx":358 + * count = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmean.pyx":334 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i0] = asum / n1 - * return y + /* "nanmean.pyx":359 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":360 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanmean.pyx":361 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * y[i0] = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanmean.pyx":335 - * for i1 in range(n1): - * asum += a[i0, i1] - * y[i0] = asum / n1 # <<<<<<<<<<<<<< - * return y - * + /* "nanmean.pyx":362 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * y[i0] = asum / count + * else: */ - if (unlikely(__pyx_v_n1 == 0)) { + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanmean.pyx":363 + * count += 1 + * if count > 0: + * y[i0] = asum / count # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -4047,17 +4328,30 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); + goto __pyx_L8; + } + /*else*/ { + + /* "nanmean.pyx":365 + * y[i0] = asum / count + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< + * return y + * + */ __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n1); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanmean.pyx":336 - * asum += a[i0, i1] - * y[i0] = asum / n1 + /* "nanmean.pyx":366 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4067,12 +4361,12 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmean.pyx":317 + /* "nanmean.pyx":342 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -4083,7 +4377,7 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4096,27 +4390,27 @@ static PyObject *__pyx_pf_7nanmean_14nanmean_2d_int32_axis1(CYTHON_UNUSED PyObje return __pyx_r; } -/* "nanmean.pyx":340 +/* "nanmean.pyx":370 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_17nanmean_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_16nanmean_2d_int64_axis0[] = "nanmean_2d_int64_axis0(ndarray a)\nMean of 2d array with dtype=int64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_17nanmean_2d_int64_axis0 = {"nanmean_2d_int64_axis0", (PyCFunction)__pyx_pw_7nanmean_17nanmean_2d_int64_axis0, METH_O, __pyx_doc_7nanmean_16nanmean_2d_int64_axis0}; -static PyObject *__pyx_pw_7nanmean_17nanmean_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_17nanmean_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_16nanmean_1d_float_axisNone[] = "nanmean_1d_float_axisNone(ndarray a)\nMean of 1d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_17nanmean_1d_float_axisNone = {"nanmean_1d_float_axisNone", (PyCFunction)__pyx_pw_7nanmean_17nanmean_1d_float_axisNone, METH_O, __pyx_doc_7nanmean_16nanmean_1d_float_axisNone}; +static PyObject *__pyx_pw_7nanmean_17nanmean_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_16nanmean_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_1d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_16nanmean_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4127,546 +4421,293 @@ static PyObject *__pyx_pw_7nanmean_17nanmean_2d_int64_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_16nanmean_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float64_t __pyx_v_asum; +static PyObject *__pyx_pf_7nanmean_16nanmean_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; int __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; - __pyx_pybuffer_a.pybuffer.buf = NULL; - __pyx_pybuffer_a.refcount = 0; - __pyx_pybuffernd_a.data = NULL; - __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nanmean.pyx":342 - * def nanmean_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Mean of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - */ - __pyx_v_asum = 0.0; - - /* "nanmean.pyx":345 - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - */ - __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - - /* "nanmean.pyx":346 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "nanmean.pyx":347 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmean.pyx":348 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "nanmean.pyx":349 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmean.pyx":351 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: - */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { - - /* "nanmean.pyx":352 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): - */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { - - /* "nanmean.pyx":354 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): - */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; - - /* "nanmean.pyx":355 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] - */ - __pyx_v_asum = 0.0; - - /* "nanmean.pyx":356 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i1] = asum / n0 - */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; - - /* "nanmean.pyx":357 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i1] = asum / n0 - * return y - */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); - } - - /* "nanmean.pyx":358 - * for i0 in range(n0): - * asum += a[i0, i1] - * y[i1] = asum / n0 # <<<<<<<<<<<<<< - * return y - * - */ - if (unlikely(__pyx_v_n0 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n0); - } - } - __pyx_L3:; - - /* "nanmean.pyx":359 - * asum += a[i0, i1] - * y[i1] = asum / n0 - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "nanmean.pyx":340 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmean_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; - __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - goto __pyx_L2; - __pyx_L0:; - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "nanmean.pyx":363 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmean_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_19nanmean_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_18nanmean_2d_int64_axis1[] = "nanmean_2d_int64_axis1(ndarray a)\nMean of 2d array with dtype=int64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_19nanmean_2d_int64_axis1 = {"nanmean_2d_int64_axis1", (PyCFunction)__pyx_pw_7nanmean_19nanmean_2d_int64_axis1, METH_O, __pyx_doc_7nanmean_18nanmean_2d_int64_axis1}; -static PyObject *__pyx_pw_7nanmean_19nanmean_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_lineno = 0; - CYTHON_UNUSED const char *__pyx_filename = NULL; - CYTHON_UNUSED int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_18nanmean_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_7nanmean_18nanmean_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; - npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - __Pyx_LocalBuf_ND __pyx_pybuffernd_a; - __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmean_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmean.pyx":365 - * def nanmean_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Mean of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "nanmean.pyx":372 + * def nanmean_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): + * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, ai + * cdef Py_ssize_t i0 + */ + __pyx_v_count = 0; + + /* "nanmean.pyx":373 + * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":368 - * cdef Py_ssize_t i0, i1 + /* "nanmean.pyx":376 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":369 + /* "nanmean.pyx":377 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":370 + /* "nanmean.pyx":378 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":371 + /* "nanmean.pyx":379 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmean.pyx":372 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: + /* "nanmean.pyx":380 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "nanmean.pyx":374 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanmean.pyx":381 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanmean.pyx":375 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + /* "nanmean.pyx":382 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * return np.float(asum / count) */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L5; + } + __pyx_L5:; } - /*else*/ { - /* "nanmean.pyx":377 - * PyArray_FillWithScalar(y, NAN) + /* "nanmean.pyx":383 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * return np.float(asum / count) * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_t_4 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_4) { - /* "nanmean.pyx":378 + /* "nanmean.pyx":384 + * count += 1 + * if count > 0: + * return np.float(asum / count) # <<<<<<<<<<<<<< * else: - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] - */ - __pyx_v_asum = 0.0; - - /* "nanmean.pyx":379 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i0] = asum / n1 - */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; - - /* "nanmean.pyx":380 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i0] = asum / n1 - * return y - */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); - } - - /* "nanmean.pyx":381 - * for i1 in range(n1): - * asum += a[i0, i1] - * y[i0] = asum / n1 # <<<<<<<<<<<<<< - * return y - * + * return np.float(NAN) */ - if (unlikely(__pyx_v_n1 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v_count == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); } - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n1); } + if (!__pyx_t_8) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; } - __pyx_L3:; + /*else*/ { - /* "nanmean.pyx":382 - * asum += a[i0, i1] - * y[i0] = asum / n1 - * return y # <<<<<<<<<<<<<< + /* "nanmean.pyx":386 + * return np.float(asum / count) + * else: + * return np.float(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_6) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + } - /* "nanmean.pyx":363 + /* "nanmean.pyx":370 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":386 +/* "nanmean.pyx":390 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmean_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_21nanmean_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_20nanmean_1d_float_axisNone[] = "nanmean_1d_float_axisNone(ndarray a)\nMean of 1d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_21nanmean_1d_float_axisNone = {"nanmean_1d_float_axisNone", (PyCFunction)__pyx_pw_7nanmean_21nanmean_1d_float_axisNone, METH_O, __pyx_doc_7nanmean_20nanmean_1d_float_axisNone}; -static PyObject *__pyx_pw_7nanmean_21nanmean_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_19nanmean_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_18nanmean_1d_float32_axisNone[] = "nanmean_1d_float32_axisNone(ndarray a)\nMean of 1d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_19nanmean_1d_float32_axisNone = {"nanmean_1d_float32_axisNone", (PyCFunction)__pyx_pw_7nanmean_19nanmean_1d_float32_axisNone, METH_O, __pyx_doc_7nanmean_18nanmean_1d_float32_axisNone}; +static PyObject *__pyx_pw_7nanmean_19nanmean_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_1d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_20nanmean_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_1d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_18nanmean_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4677,10 +4718,10 @@ static PyObject *__pyx_pw_7nanmean_21nanmean_1d_float_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_18nanmean_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4700,36 +4741,36 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmean.pyx":388 - * def nanmean_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): - * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." + /* "nanmean.pyx":392 + * def nanmean_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): + * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, ai + * cdef np.float32_t asum = 0, ai * cdef Py_ssize_t i0 */ __pyx_v_count = 0; - /* "nanmean.pyx":389 - * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." + /* "nanmean.pyx":393 + * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":392 + /* "nanmean.pyx":396 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4738,7 +4779,7 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":393 + /* "nanmean.pyx":397 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4747,7 +4788,7 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":394 + /* "nanmean.pyx":398 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4758,7 +4799,7 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":395 + /* "nanmean.pyx":399 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -4766,9 +4807,9 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO * asum += ai */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmean.pyx":396 + /* "nanmean.pyx":400 * for i0 in range(n0): * ai = a[i0] * if ai == ai: # <<<<<<<<<<<<<< @@ -4778,7 +4819,7 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "nanmean.pyx":397 + /* "nanmean.pyx":401 * ai = a[i0] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -4787,12 +4828,12 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanmean.pyx":398 + /* "nanmean.pyx":402 * if ai == ai: * asum += ai * count += 1 # <<<<<<<<<<<<<< * if count > 0: - * return np.float(asum / count) + * return np.float32(asum / count) */ __pyx_v_count = (__pyx_v_count + 1); goto __pyx_L5; @@ -4800,27 +4841,27 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO __pyx_L5:; } - /* "nanmean.pyx":399 + /* "nanmean.pyx":403 * asum += ai * count += 1 * if count > 0: # <<<<<<<<<<<<<< - * return np.float(asum / count) + * return np.float32(asum / count) * else: */ __pyx_t_4 = ((__pyx_v_count > 0) != 0); if (__pyx_t_4) { - /* "nanmean.pyx":400 + /* "nanmean.pyx":404 * count += 1 * if count > 0: - * return np.float(asum / count) # <<<<<<<<<<<<<< + * return np.float32(asum / count) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float32(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(__pyx_v_count == 0)) { @@ -4831,9 +4872,9 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { @@ -4846,17 +4887,17 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO } } if (!__pyx_t_8) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -4867,20 +4908,20 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO } /*else*/ { - /* "nanmean.pyx":402 - * return np.float(asum / count) + /* "nanmean.pyx":406 + * return np.float32(asum / count) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { @@ -4893,17 +4934,17 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO } } if (!__pyx_t_6) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_5); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -4913,11 +4954,11 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO goto __pyx_L0; } - /* "nanmean.pyx":386 + /* "nanmean.pyx":390 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmean_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ @@ -4932,7 +4973,7 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4943,27 +4984,27 @@ static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanmean.pyx":406 +/* "nanmean.pyx":410 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmean_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_23nanmean_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_22nanmean_1d_float32_axisNone[] = "nanmean_1d_float32_axisNone(ndarray a)\nMean of 1d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_23nanmean_1d_float32_axisNone = {"nanmean_1d_float32_axisNone", (PyCFunction)__pyx_pw_7nanmean_23nanmean_1d_float32_axisNone, METH_O, __pyx_doc_7nanmean_22nanmean_1d_float32_axisNone}; -static PyObject *__pyx_pw_7nanmean_23nanmean_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_21nanmean_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_20nanmean_1d_float64_axisNone[] = "nanmean_1d_float64_axisNone(ndarray a)\nMean of 1d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_21nanmean_1d_float64_axisNone = {"nanmean_1d_float64_axisNone", (PyCFunction)__pyx_pw_7nanmean_21nanmean_1d_float64_axisNone, METH_O, __pyx_doc_7nanmean_20nanmean_1d_float64_axisNone}; +static PyObject *__pyx_pw_7nanmean_21nanmean_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_1d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_1d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_20nanmean_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4974,10 +5015,10 @@ static PyObject *__pyx_pw_7nanmean_23nanmean_1d_float32_axisNone(PyObject *__pyx return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_20nanmean_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4997,36 +5038,36 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmean.pyx":408 - * def nanmean_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): - * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanmean.pyx":412 + * def nanmean_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): + * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, ai + * cdef np.float64_t asum = 0, ai * cdef Py_ssize_t i0 */ __pyx_v_count = 0; - /* "nanmean.pyx":409 - * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanmean.pyx":413 + * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":412 + /* "nanmean.pyx":416 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5035,7 +5076,7 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":413 + /* "nanmean.pyx":417 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5044,7 +5085,7 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":414 + /* "nanmean.pyx":418 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5055,7 +5096,7 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":415 + /* "nanmean.pyx":419 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -5063,9 +5104,9 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P * asum += ai */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmean.pyx":416 + /* "nanmean.pyx":420 * for i0 in range(n0): * ai = a[i0] * if ai == ai: # <<<<<<<<<<<<<< @@ -5075,7 +5116,7 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "nanmean.pyx":417 + /* "nanmean.pyx":421 * ai = a[i0] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -5084,12 +5125,12 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanmean.pyx":418 + /* "nanmean.pyx":422 * if ai == ai: * asum += ai * count += 1 # <<<<<<<<<<<<<< * if count > 0: - * return np.float32(asum / count) + * return np.float64(asum / count) */ __pyx_v_count = (__pyx_v_count + 1); goto __pyx_L5; @@ -5097,27 +5138,27 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P __pyx_L5:; } - /* "nanmean.pyx":419 + /* "nanmean.pyx":423 * asum += ai * count += 1 * if count > 0: # <<<<<<<<<<<<<< - * return np.float32(asum / count) + * return np.float64(asum / count) * else: */ __pyx_t_4 = ((__pyx_v_count > 0) != 0); if (__pyx_t_4) { - /* "nanmean.pyx":420 + /* "nanmean.pyx":424 * count += 1 * if count > 0: - * return np.float32(asum / count) # <<<<<<<<<<<<<< + * return np.float64(asum / count) # <<<<<<<<<<<<<< * else: - * return np.float32(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(__pyx_v_count == 0)) { @@ -5128,9 +5169,9 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { @@ -5143,17 +5184,17 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P } } if (!__pyx_t_8) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -5164,20 +5205,20 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P } /*else*/ { - /* "nanmean.pyx":422 - * return np.float32(asum / count) + /* "nanmean.pyx":426 + * return np.float64(asum / count) * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { @@ -5190,17 +5231,17 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P } } if (!__pyx_t_6) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_5); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -5210,11 +5251,11 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P goto __pyx_L0; } - /* "nanmean.pyx":406 + /* "nanmean.pyx":410 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmean_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ @@ -5229,7 +5270,7 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5240,27 +5281,27 @@ static PyObject *__pyx_pf_7nanmean_22nanmean_1d_float32_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "nanmean.pyx":426 +/* "nanmean.pyx":430 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmean_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_25nanmean_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_24nanmean_1d_float64_axisNone[] = "nanmean_1d_float64_axisNone(ndarray a)\nMean of 1d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_25nanmean_1d_float64_axisNone = {"nanmean_1d_float64_axisNone", (PyCFunction)__pyx_pw_7nanmean_25nanmean_1d_float64_axisNone, METH_O, __pyx_doc_7nanmean_24nanmean_1d_float64_axisNone}; -static PyObject *__pyx_pw_7nanmean_25nanmean_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_23nanmean_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_22nanmean_2d_float_axisNone[] = "nanmean_2d_float_axisNone(ndarray a)\nMean of 2d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_23nanmean_2d_float_axisNone = {"nanmean_2d_float_axisNone", (PyCFunction)__pyx_pw_7nanmean_23nanmean_2d_float_axisNone, METH_O, __pyx_doc_7nanmean_22nanmean_2d_float_axisNone}; +static PyObject *__pyx_pw_7nanmean_23nanmean_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_1d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_24nanmean_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_22nanmean_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5271,13 +5312,15 @@ static PyObject *__pyx_pw_7nanmean_25nanmean_1d_float64_axisNone(PyObject *__pyx return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_24nanmean_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_22nanmean_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -5285,138 +5328,163 @@ static PyObject *__pyx_pf_7nanmean_24nanmean_1d_float64_axisNone(CYTHON_UNUSED P Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + int __pyx_t_7; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_1d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":428 - * def nanmean_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): - * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." + /* "nanmean.pyx":432 + * def nanmean_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): + * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, ai - * cdef Py_ssize_t i0 + * cdef np.float_t asum = 0, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_count = 0; - /* "nanmean.pyx":429 - * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." + /* "nanmean.pyx":433 + * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":432 - * cdef Py_ssize_t i0 + /* "nanmean.pyx":436 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":433 + /* "nanmean.pyx":437 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":434 + /* "nanmean.pyx":438 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanmean.pyx":439 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":435 - * cdef Py_ssize_t n0 = dim[0] + /* "nanmean.pyx":440 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanmean.pyx":436 + /* "nanmean.pyx":441 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmean.pyx":437 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 + /* "nanmean.pyx":442 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 + */ + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { + + /* "nanmean.pyx":443 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 * if count > 0: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanmean.pyx":438 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< + /* "nanmean.pyx":444 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< * if count > 0: - * return np.float64(asum / count) + * return np.float(asum / count) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L5; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; + } + __pyx_L7:; } - __pyx_L5:; } - /* "nanmean.pyx":439 - * asum += ai - * count += 1 + /* "nanmean.pyx":445 + * asum += ai + * count += 1 * if count > 0: # <<<<<<<<<<<<<< - * return np.float64(asum / count) + * return np.float(asum / count) * else: */ - __pyx_t_4 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_4) { + __pyx_t_7 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_7) { - /* "nanmean.pyx":440 - * count += 1 + /* "nanmean.pyx":446 + * count += 1 * if count > 0: - * return np.float64(asum / count) # <<<<<<<<<<<<<< + * return np.float(asum / count) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * return np.float(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); @@ -5425,108 +5493,108 @@ static PyObject *__pyx_pf_7nanmean_24nanmean_1d_float64_axisNone(CYTHON_UNUSED P #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); + __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __Pyx_DECREF_SET(__pyx_t_10, function); } } - if (!__pyx_t_8) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + if (!__pyx_t_11) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_8); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); + __Pyx_GIVEREF(__pyx_t_9); + __pyx_t_9 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; goto __pyx_L0; } /*else*/ { - /* "nanmean.pyx":442 - * return np.float64(asum / count) + /* "nanmean.pyx":448 + * return np.float(asum / count) * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * return np.float(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_6); + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_9 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + __Pyx_DECREF_SET(__pyx_t_12, function); } } - if (!__pyx_t_6) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_5); + if (!__pyx_t_9) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_8); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; goto __pyx_L0; } - /* "nanmean.pyx":426 + /* "nanmean.pyx":430 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmean_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5537,27 +5605,27 @@ static PyObject *__pyx_pf_7nanmean_24nanmean_1d_float64_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "nanmean.pyx":446 +/* "nanmean.pyx":452 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmean_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_27nanmean_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_26nanmean_2d_float_axisNone[] = "nanmean_2d_float_axisNone(ndarray a)\nMean of 2d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_27nanmean_2d_float_axisNone = {"nanmean_2d_float_axisNone", (PyCFunction)__pyx_pw_7nanmean_27nanmean_2d_float_axisNone, METH_O, __pyx_doc_7nanmean_26nanmean_2d_float_axisNone}; -static PyObject *__pyx_pw_7nanmean_27nanmean_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_25nanmean_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_24nanmean_2d_float32_axisNone[] = "nanmean_2d_float32_axisNone(ndarray a)\nMean of 2d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_25nanmean_2d_float32_axisNone = {"nanmean_2d_float32_axisNone", (PyCFunction)__pyx_pw_7nanmean_25nanmean_2d_float32_axisNone, METH_O, __pyx_doc_7nanmean_24nanmean_2d_float32_axisNone}; +static PyObject *__pyx_pw_7nanmean_25nanmean_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_26nanmean_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_24nanmean_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5568,10 +5636,10 @@ static PyObject *__pyx_pw_7nanmean_27nanmean_2d_float_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_24nanmean_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -5596,36 +5664,36 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":448 - * def nanmean_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): - * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." + /* "nanmean.pyx":454 + * def nanmean_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): + * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, ai + * cdef np.float32_t asum = 0, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_count = 0; - /* "nanmean.pyx":449 - * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." + /* "nanmean.pyx":455 + * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":452 + /* "nanmean.pyx":458 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5634,7 +5702,7 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":453 + /* "nanmean.pyx":459 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5643,7 +5711,7 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":454 + /* "nanmean.pyx":460 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5652,7 +5720,7 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":455 + /* "nanmean.pyx":461 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5663,7 +5731,7 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":456 + /* "nanmean.pyx":462 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -5674,7 +5742,7 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "nanmean.pyx":457 + /* "nanmean.pyx":463 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -5683,9 +5751,9 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO */ __pyx_t_5 = __pyx_v_i0; __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmean.pyx":458 + /* "nanmean.pyx":464 * for i1 in range(n1): * ai = a[i0, i1] * if ai == ai: # <<<<<<<<<<<<<< @@ -5695,7 +5763,7 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "nanmean.pyx":459 + /* "nanmean.pyx":465 * ai = a[i0, i1] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -5704,12 +5772,12 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanmean.pyx":460 + /* "nanmean.pyx":466 * if ai == ai: * asum += ai * count += 1 # <<<<<<<<<<<<<< * if count > 0: - * return np.float(asum / count) + * return np.float32(asum / count) */ __pyx_v_count = (__pyx_v_count + 1); goto __pyx_L7; @@ -5718,27 +5786,27 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO } } - /* "nanmean.pyx":461 + /* "nanmean.pyx":467 * asum += ai * count += 1 * if count > 0: # <<<<<<<<<<<<<< - * return np.float(asum / count) + * return np.float32(asum / count) * else: */ __pyx_t_7 = ((__pyx_v_count > 0) != 0); if (__pyx_t_7) { - /* "nanmean.pyx":462 + /* "nanmean.pyx":468 * count += 1 * if count > 0: - * return np.float(asum / count) # <<<<<<<<<<<<<< + * return np.float32(asum / count) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float32(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(__pyx_v_count == 0)) { @@ -5749,9 +5817,9 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { @@ -5764,17 +5832,17 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO } } if (!__pyx_t_11) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_8); } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } @@ -5785,20 +5853,20 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO } /*else*/ { - /* "nanmean.pyx":464 - * return np.float(asum / count) + /* "nanmean.pyx":470 + * return np.float32(asum / count) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { @@ -5811,17 +5879,17 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO } } if (!__pyx_t_9) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_8); } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -5831,11 +5899,11 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO goto __pyx_L0; } - /* "nanmean.pyx":446 + /* "nanmean.pyx":452 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmean_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ @@ -5850,7 +5918,7 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5861,27 +5929,27 @@ static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanmean.pyx":468 +/* "nanmean.pyx":474 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmean_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_29nanmean_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_28nanmean_2d_float32_axisNone[] = "nanmean_2d_float32_axisNone(ndarray a)\nMean of 2d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_29nanmean_2d_float32_axisNone = {"nanmean_2d_float32_axisNone", (PyCFunction)__pyx_pw_7nanmean_29nanmean_2d_float32_axisNone, METH_O, __pyx_doc_7nanmean_28nanmean_2d_float32_axisNone}; -static PyObject *__pyx_pw_7nanmean_29nanmean_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_27nanmean_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_26nanmean_2d_float64_axisNone[] = "nanmean_2d_float64_axisNone(ndarray a)\nMean of 2d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_27nanmean_2d_float64_axisNone = {"nanmean_2d_float64_axisNone", (PyCFunction)__pyx_pw_7nanmean_27nanmean_2d_float64_axisNone, METH_O, __pyx_doc_7nanmean_26nanmean_2d_float64_axisNone}; +static PyObject *__pyx_pw_7nanmean_27nanmean_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_26nanmean_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5892,10 +5960,10 @@ static PyObject *__pyx_pw_7nanmean_29nanmean_2d_float32_axisNone(PyObject *__pyx return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_26nanmean_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -5920,36 +5988,36 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":470 - * def nanmean_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): - * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanmean.pyx":476 + * def nanmean_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): + * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, ai + * cdef np.float64_t asum = 0, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_count = 0; - /* "nanmean.pyx":471 - * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanmean.pyx":477 + * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":474 + /* "nanmean.pyx":480 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5958,7 +6026,7 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":475 + /* "nanmean.pyx":481 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5967,7 +6035,7 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":476 + /* "nanmean.pyx":482 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5976,7 +6044,7 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":477 + /* "nanmean.pyx":483 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5987,7 +6055,7 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":478 + /* "nanmean.pyx":484 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -5998,7 +6066,7 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "nanmean.pyx":479 + /* "nanmean.pyx":485 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -6007,9 +6075,9 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P */ __pyx_t_5 = __pyx_v_i0; __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmean.pyx":480 + /* "nanmean.pyx":486 * for i1 in range(n1): * ai = a[i0, i1] * if ai == ai: # <<<<<<<<<<<<<< @@ -6019,7 +6087,7 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "nanmean.pyx":481 + /* "nanmean.pyx":487 * ai = a[i0, i1] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -6028,12 +6096,12 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanmean.pyx":482 + /* "nanmean.pyx":488 * if ai == ai: * asum += ai * count += 1 # <<<<<<<<<<<<<< * if count > 0: - * return np.float32(asum / count) + * return np.float64(asum / count) */ __pyx_v_count = (__pyx_v_count + 1); goto __pyx_L7; @@ -6042,27 +6110,27 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P } } - /* "nanmean.pyx":483 + /* "nanmean.pyx":489 * asum += ai * count += 1 * if count > 0: # <<<<<<<<<<<<<< - * return np.float32(asum / count) + * return np.float64(asum / count) * else: */ __pyx_t_7 = ((__pyx_v_count > 0) != 0); if (__pyx_t_7) { - /* "nanmean.pyx":484 + /* "nanmean.pyx":490 * count += 1 * if count > 0: - * return np.float32(asum / count) # <<<<<<<<<<<<<< + * return np.float64(asum / count) # <<<<<<<<<<<<<< * else: - * return np.float32(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(__pyx_v_count == 0)) { @@ -6073,9 +6141,9 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { @@ -6088,17 +6156,17 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P } } if (!__pyx_t_11) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_8); } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } @@ -6109,20 +6177,20 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P } /*else*/ { - /* "nanmean.pyx":486 - * return np.float32(asum / count) + /* "nanmean.pyx":492 + * return np.float64(asum / count) * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { @@ -6135,17 +6203,17 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P } } if (!__pyx_t_9) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_8); } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -6155,11 +6223,11 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P goto __pyx_L0; } - /* "nanmean.pyx":468 + /* "nanmean.pyx":474 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmean_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ @@ -6167,14 +6235,279 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("nanmean.nanmean_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __pyx_L2:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "nanmean.pyx":496 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanmean_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7nanmean_29nanmean_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_28nanmean_1d_int_axisNone[] = "nanmean_1d_int_axisNone(ndarray a)\nMean of 1d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_29nanmean_1d_int_axisNone = {"nanmean_1d_int_axisNone", (PyCFunction)__pyx_pw_7nanmean_29nanmean_1d_int_axisNone, METH_O, __pyx_doc_7nanmean_28nanmean_1d_int_axisNone}; +static PyObject *__pyx_pw_7nanmean_29nanmean_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_lineno = 0; + CYTHON_UNUSED const char *__pyx_filename = NULL; + CYTHON_UNUSED int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("nanmean_1d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_28nanmean_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7nanmean_28nanmean_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + Py_ssize_t __pyx_v_size; + Py_ssize_t __pyx_v_i0; + npy_intp *__pyx_v_dim; + Py_ssize_t __pyx_v_n0; + __Pyx_LocalBuf_ND __pyx_pybuffernd_a; + __Pyx_Buffer __pyx_pybuffer_a; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("nanmean_1d_int_axisNone", 0); + __pyx_pybuffer_a.pybuffer.buf = NULL; + __pyx_pybuffer_a.refcount = 0; + __pyx_pybuffernd_a.data = NULL; + __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + + /* "nanmean.pyx":498 + * def nanmean_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): + * "Mean of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 + */ + __pyx_v_asum = 0.0; + + /* "nanmean.pyx":502 + * cdef Py_ssize_t i0 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n0 = dim[0] + * size = n0 + */ + __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); + + /* "nanmean.pyx":503 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * size = n0 + * for i0 in range(n0): + */ + __pyx_v_n0 = (__pyx_v_dim[0]); + + /* "nanmean.pyx":504 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * size = n0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0] + */ + __pyx_v_size = __pyx_v_n0; + + /* "nanmean.pyx":505 + * cdef Py_ssize_t n0 = dim[0] + * size = n0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0] + * if size > 0: + */ + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; + + /* "nanmean.pyx":506 + * size = n0 + * for i0 in range(n0): + * asum += a[i0] # <<<<<<<<<<<<<< + * if size > 0: + * return np.float64(asum / size) + */ + __pyx_t_3 = __pyx_v_i0; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + } + + /* "nanmean.pyx":507 + * for i0 in range(n0): + * asum += a[i0] + * if size > 0: # <<<<<<<<<<<<<< + * return np.float64(asum / size) + * else: + */ + __pyx_t_4 = ((__pyx_v_size > 0) != 0); + if (__pyx_t_4) { + + /* "nanmean.pyx":508 + * asum += a[i0] + * if size > 0: + * return np.float64(asum / size) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + } + /*else*/ { + + /* "nanmean.pyx":510 + * return np.float64(asum / size) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_6) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + } + + /* "nanmean.pyx":496 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanmean_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6185,27 +6518,27 @@ static PyObject *__pyx_pf_7nanmean_28nanmean_2d_float32_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "nanmean.pyx":490 +/* "nanmean.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_31nanmean_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_30nanmean_2d_float64_axisNone[] = "nanmean_2d_float64_axisNone(ndarray a)\nMean of 2d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_31nanmean_2d_float64_axisNone = {"nanmean_2d_float64_axisNone", (PyCFunction)__pyx_pw_7nanmean_31nanmean_2d_float64_axisNone, METH_O, __pyx_doc_7nanmean_30nanmean_2d_float64_axisNone}; -static PyObject *__pyx_pw_7nanmean_31nanmean_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_31nanmean_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_30nanmean_1d_int8_axisNone[] = "nanmean_1d_int8_axisNone(ndarray a)\nMean of 1d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_31nanmean_1d_int8_axisNone = {"nanmean_1d_int8_axisNone", (PyCFunction)__pyx_pw_7nanmean_31nanmean_1d_int8_axisNone, METH_O, __pyx_doc_7nanmean_30nanmean_1d_int8_axisNone}; +static PyObject *__pyx_pw_7nanmean_31nanmean_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_30nanmean_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_1d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_30nanmean_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6216,15 +6549,12 @@ static PyObject *__pyx_pw_7nanmean_31nanmean_2d_float64_axisNone(PyObject *__pyx return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_30nanmean_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - Py_ssize_t __pyx_v_count; +static PyObject *__pyx_pf_7nanmean_30nanmean_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -6232,164 +6562,108 @@ static PyObject *__pyx_pf_7nanmean_30nanmean_2d_float64_axisNone(CYTHON_UNUSED P Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - int __pyx_t_7; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_1d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nanmean.pyx":492 - * def nanmean_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): - * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmean.pyx":493 - * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanmean.pyx":516 + * def nanmean_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): + * "Mean of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":496 - * cdef Py_ssize_t i0, i1 + /* "nanmean.pyx":520 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":497 + /* "nanmean.pyx":521 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] + * size = n0 * for i0 in range(n0): */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":498 + /* "nanmean.pyx":522 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * size = n0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): + * asum += a[i0] */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nanmean.pyx":499 + /* "nanmean.pyx":523 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * asum += a[i0] + * if size > 0: */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":500 - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; - - /* "nanmean.pyx":501 + /* "nanmean.pyx":524 + * size = n0 * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmean.pyx":502 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 - */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { - - /* "nanmean.pyx":503 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nanmean.pyx":504 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * return np.float64(asum / count) + * asum += a[i0] # <<<<<<<<<<<<<< + * if size > 0: + * return np.float64(asum / size) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; - } + __pyx_t_3 = __pyx_v_i0; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); } - /* "nanmean.pyx":505 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * return np.float64(asum / count) + /* "nanmean.pyx":525 + * for i0 in range(n0): + * asum += a[i0] + * if size > 0: # <<<<<<<<<<<<<< + * return np.float64(asum / size) * else: */ - __pyx_t_7 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_7) { + __pyx_t_4 = ((__pyx_v_size > 0) != 0); + if (__pyx_t_4) { - /* "nanmean.pyx":506 - * count += 1 - * if count > 0: - * return np.float64(asum / count) # <<<<<<<<<<<<<< + /* "nanmean.pyx":526 + * asum += a[i0] + * if size > 0: + * return np.float64(asum / size) # <<<<<<<<<<<<<< * else: * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(__pyx_v_count == 0)) { + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v_size == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -6397,108 +6671,108 @@ static PyObject *__pyx_pf_7nanmean_30nanmean_2d_float64_axisNone(CYTHON_UNUSED P #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_count)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); + __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); + __Pyx_DECREF_SET(__pyx_t_7, function); } } - if (!__pyx_t_11) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_GOTREF(__pyx_t_8); + if (!__pyx_t_8) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_5); } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); - __Pyx_GIVEREF(__pyx_t_9); - __pyx_t_9 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; goto __pyx_L0; } /*else*/ { - /* "nanmean.pyx":508 - * return np.float64(asum / count) + /* "nanmean.pyx":528 + * return np.float64(asum / size) * else: * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_9 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_9); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); + __Pyx_DECREF_SET(__pyx_t_9, function); } } - if (!__pyx_t_9) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_8); + if (!__pyx_t_6) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_5); } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; goto __pyx_L0; } - /* "nanmean.pyx":490 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmean_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanmean.pyx":514 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanmean_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6509,27 +6783,27 @@ static PyObject *__pyx_pf_7nanmean_30nanmean_2d_float64_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "nanmean.pyx":512 +/* "nanmean.pyx":532 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_33nanmean_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_32nanmean_2d_float_axis0[] = "nanmean_2d_float_axis0(ndarray a)\nMean of 2d array with dtype=float along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_33nanmean_2d_float_axis0 = {"nanmean_2d_float_axis0", (PyCFunction)__pyx_pw_7nanmean_33nanmean_2d_float_axis0, METH_O, __pyx_doc_7nanmean_32nanmean_2d_float_axis0}; -static PyObject *__pyx_pw_7nanmean_33nanmean_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_33nanmean_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_32nanmean_1d_int32_axisNone[] = "nanmean_1d_int32_axisNone(ndarray a)\nMean of 1d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_33nanmean_1d_int32_axisNone = {"nanmean_1d_int32_axisNone", (PyCFunction)__pyx_pw_7nanmean_33nanmean_1d_int32_axisNone, METH_O, __pyx_doc_7nanmean_32nanmean_1d_int32_axisNone}; +static PyObject *__pyx_pw_7nanmean_33nanmean_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_32nanmean_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_1d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_32nanmean_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6540,320 +6814,261 @@ static PyObject *__pyx_pw_7nanmean_33nanmean_2d_float_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_32nanmean_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_7nanmean_32nanmean_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_float_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmean_1d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nanmean.pyx":514 - * def nanmean_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmean.pyx":515 - * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + /* "nanmean.pyx":534 + * def nanmean_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): + * "Mean of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":518 - * cdef Py_ssize_t i0, i1 + /* "nanmean.pyx":538 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":519 + /* "nanmean.pyx":539 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 + * for i0 in range(n0): */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":520 + /* "nanmean.pyx":540 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0] */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nanmean.pyx":521 + /* "nanmean.pyx":541 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * size = n0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0] + * if size > 0: */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":522 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * for i1 in range(n1): + /* "nanmean.pyx":542 + * size = n0 + * for i0 in range(n0): + * asum += a[i0] # <<<<<<<<<<<<<< + * if size > 0: + * return np.float64(asum / size) */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } + __pyx_t_3 = __pyx_v_i0; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmean.pyx":524 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "nanmean.pyx":525 - * NPY_float, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): - */ - __pyx_v_asum = 0.0; - - /* "nanmean.pyx":526 - * for i1 in range(n1): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "nanmean.pyx":527 - * asum = 0 - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanmean.pyx":528 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmean.pyx":529 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - /* "nanmean.pyx":530 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanmean.pyx":543 + * for i0 in range(n0): + * asum += a[i0] + * if size > 0: # <<<<<<<<<<<<<< + * return np.float64(asum / size) + * else: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_4 = ((__pyx_v_size > 0) != 0); + if (__pyx_t_4) { - /* "nanmean.pyx":531 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * y[i1] = asum / count + /* "nanmean.pyx":544 + * asum += a[i0] + * if size > 0: + * return np.float64(asum / size) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - - /* "nanmean.pyx":532 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * y[i1] = asum / count - * else: - */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { - - /* "nanmean.pyx":533 - * count += 1 - * if count > 0: - * y[i1] = asum / count # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN - */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); } - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); - goto __pyx_L8; } - /*else*/ { - - /* "nanmean.pyx":535 - * y[i1] = asum / count - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; + if (!__pyx_t_8) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanmean.pyx":536 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmean.pyx":546 + * return np.float64(asum / size) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_6) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + } - /* "nanmean.pyx":512 + /* "nanmean.pyx":532 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":540 +/* "nanmean.pyx":550 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_35nanmean_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_34nanmean_2d_float_axis1[] = "nanmean_2d_float_axis1(ndarray a)\nMean of 2d array with dtype=float along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_35nanmean_2d_float_axis1 = {"nanmean_2d_float_axis1", (PyCFunction)__pyx_pw_7nanmean_35nanmean_2d_float_axis1, METH_O, __pyx_doc_7nanmean_34nanmean_2d_float_axis1}; -static PyObject *__pyx_pw_7nanmean_35nanmean_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_35nanmean_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_34nanmean_1d_int64_axisNone[] = "nanmean_1d_int64_axisNone(ndarray a)\nMean of 1d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_35nanmean_1d_int64_axisNone = {"nanmean_1d_int64_axisNone", (PyCFunction)__pyx_pw_7nanmean_35nanmean_1d_int64_axisNone, METH_O, __pyx_doc_7nanmean_34nanmean_1d_int64_axisNone}; +static PyObject *__pyx_pw_7nanmean_35nanmean_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_float_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_34nanmean_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_1d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_34nanmean_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6864,294 +7079,235 @@ static PyObject *__pyx_pw_7nanmean_35nanmean_2d_float_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_34nanmean_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_7nanmean_34nanmean_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_float_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmean_1d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nanmean.pyx":542 - * def nanmean_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmean.pyx":543 - * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + /* "nanmean.pyx":552 + * def nanmean_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): + * "Mean of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":546 - * cdef Py_ssize_t i0, i1 + /* "nanmean.pyx":556 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - */ - __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - - /* "nanmean.pyx":547 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "nanmean.pyx":548 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmean.pyx":549 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nanmean.pyx":550 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmean.pyx":552 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "nanmean.pyx":553 - * NPY_float, 0) - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i1 in range(n1): - */ - __pyx_v_asum = 0.0; - - /* "nanmean.pyx":554 - * for i0 in range(n0): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "nanmean.pyx":555 - * asum = 0 - * count = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanmean.pyx":556 - * count = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * cdef Py_ssize_t n0 = dim[0] + * size = n0 */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":557 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanmean.pyx":557 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * size = n0 + * for i0 in range(n0): */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":558 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanmean.pyx":558 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * size = n0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0] */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_v_size = __pyx_v_n0; - /* "nanmean.pyx":559 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * y[i0] = asum / count + /* "nanmean.pyx":559 + * cdef Py_ssize_t n0 = dim[0] + * size = n0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0] + * if size > 0: */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; - } + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; /* "nanmean.pyx":560 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * y[i0] = asum / count - * else: + * size = n0 + * for i0 in range(n0): + * asum += a[i0] # <<<<<<<<<<<<<< + * if size > 0: + * return np.float64(asum / size) */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_t_3 = __pyx_v_i0; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + } - /* "nanmean.pyx":561 - * count += 1 - * if count > 0: - * y[i0] = asum / count # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN + /* "nanmean.pyx":561 + * for i0 in range(n0): + * asum += a[i0] + * if size > 0: # <<<<<<<<<<<<<< + * return np.float64(asum / size) + * else: */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); - goto __pyx_L8; - } - /*else*/ { + __pyx_t_4 = ((__pyx_v_size > 0) != 0); + if (__pyx_t_4) { - /* "nanmean.pyx":563 - * y[i0] = asum / count - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * + /* "nanmean.pyx":562 + * asum += a[i0] + * if size > 0: + * return np.float64(asum / size) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_L8:; + __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanmean.pyx":564 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmean.pyx":564 + * return np.float64(asum / size) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_6) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + } - /* "nanmean.pyx":540 + /* "nanmean.pyx":550 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -7160,24 +7316,24 @@ static PyObject *__pyx_pf_7nanmean_34nanmean_2d_float_axis1(CYTHON_UNUSED PyObje /* "nanmean.pyx":568 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_37nanmean_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_36nanmean_2d_float32_axis0[] = "nanmean_2d_float32_axis0(ndarray a)\nMean of 2d array with dtype=float32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_37nanmean_2d_float32_axis0 = {"nanmean_2d_float32_axis0", (PyCFunction)__pyx_pw_7nanmean_37nanmean_2d_float32_axis0, METH_O, __pyx_doc_7nanmean_36nanmean_2d_float32_axis0}; -static PyObject *__pyx_pw_7nanmean_37nanmean_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_37nanmean_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_36nanmean_2d_int_axisNone[] = "nanmean_2d_int_axisNone(ndarray a)\nMean of 2d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_37nanmean_2d_int_axisNone = {"nanmean_2d_int_axisNone", (PyCFunction)__pyx_pw_7nanmean_37nanmean_2d_int_axisNone, METH_O, __pyx_doc_7nanmean_36nanmean_2d_int_axisNone}; +static PyObject *__pyx_pw_7nanmean_37nanmean_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanmean_2d_int_axisNone (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_36nanmean_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_7nanmean_36nanmean_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7188,66 +7344,50 @@ static PyObject *__pyx_pw_7nanmean_37nanmean_2d_float32_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_36nanmean_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_7nanmean_36nanmean_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_float32_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmean_2d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nanmean.pyx":570 - * def nanmean_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":571 - * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nanmean.pyx":570 + * def nanmean_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): + * "Mean of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; @@ -7265,7 +7405,7 @@ static PyObject *__pyx_pf_7nanmean_36nanmean_2d_float32_axis0(CYTHON_UNUSED PyOb * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); @@ -7273,235 +7413,219 @@ static PyObject *__pyx_pf_7nanmean_36nanmean_2d_float32_axis0(CYTHON_UNUSED PyOb * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * for i0 in range(n0): */ __pyx_v_n1 = (__pyx_v_dim[1]); /* "nanmean.pyx":577 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); /* "nanmean.pyx":578 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmean.pyx":580 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "nanmean.pyx":581 - * NPY_float32, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): - */ - __pyx_v_asum = 0.0; - - /* "nanmean.pyx":582 - * for i1 in range(n1): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "nanmean.pyx":583 - * asum = 0 - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanmean.pyx":584 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmean.pyx":585 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + * size = n0 * n1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":586 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanmean.pyx":579 + * size = n0 * n1 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * if size > 0: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanmean.pyx":587 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * y[i1] = asum / count + /* "nanmean.pyx":580 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * if size > 0: + * return np.float64(asum / size) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); } + } - /* "nanmean.pyx":588 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * y[i1] = asum / count - * else: + /* "nanmean.pyx":581 + * for i1 in range(n1): + * asum += a[i0, i1] + * if size > 0: # <<<<<<<<<<<<<< + * return np.float64(asum / size) + * else: */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_t_7 = ((__pyx_v_size > 0) != 0); + if (__pyx_t_7) { - /* "nanmean.pyx":589 - * count += 1 - * if count > 0: - * y[i1] = asum / count # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN + /* "nanmean.pyx":582 + * asum += a[i0, i1] + * if size > 0: + * return np.float64(asum / size) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); } - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); - goto __pyx_L8; } - /*else*/ { - - /* "nanmean.pyx":591 - * y[i1] = asum / count - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; + if (!__pyx_t_11) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_8); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); + __Pyx_GIVEREF(__pyx_t_9); + __pyx_t_9 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanmean.pyx":592 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmean.pyx":584 + * return np.float64(asum / size) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_9 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + if (!__pyx_t_9) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_8); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; + } /* "nanmean.pyx":568 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":596 +/* "nanmean.pyx":588 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_39nanmean_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_38nanmean_2d_float32_axis1[] = "nanmean_2d_float32_axis1(ndarray a)\nMean of 2d array with dtype=float32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_39nanmean_2d_float32_axis1 = {"nanmean_2d_float32_axis1", (PyCFunction)__pyx_pw_7nanmean_39nanmean_2d_float32_axis1, METH_O, __pyx_doc_7nanmean_38nanmean_2d_float32_axis1}; -static PyObject *__pyx_pw_7nanmean_39nanmean_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_39nanmean_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_38nanmean_2d_int8_axisNone[] = "nanmean_2d_int8_axisNone(ndarray a)\nMean of 2d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_39nanmean_2d_int8_axisNone = {"nanmean_2d_int8_axisNone", (PyCFunction)__pyx_pw_7nanmean_39nanmean_2d_int8_axisNone, METH_O, __pyx_doc_7nanmean_38nanmean_2d_int8_axisNone}; +static PyObject *__pyx_pw_7nanmean_39nanmean_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_float32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_38nanmean_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_38nanmean_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7512,70 +7636,54 @@ static PyObject *__pyx_pw_7nanmean_39nanmean_2d_float32_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_38nanmean_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_7nanmean_38nanmean_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_float32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmean_2d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":598 - * def nanmean_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanmean.pyx":599 - * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nanmean.pyx":590 + * def nanmean_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): + * "Mean of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":602 + /* "nanmean.pyx":594 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7584,248 +7692,232 @@ static PyObject *__pyx_pf_7nanmean_38nanmean_2d_float32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":603 + /* "nanmean.pyx":595 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":604 + /* "nanmean.pyx":596 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * for i0 in range(n0): */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":605 + /* "nanmean.pyx":597 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nanmean.pyx":606 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanmean.pyx":608 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + /* "nanmean.pyx":598 + * cdef Py_ssize_t n1 = dim[1] + * size = n0 * n1 * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "nanmean.pyx":609 - * NPY_float32, 0) - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_v_asum = 0.0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":610 + /* "nanmean.pyx":599 + * size = n0 * n1 * for i0 in range(n0): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "nanmean.pyx":611 - * asum = 0 - * count = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + * asum += a[i0, i1] + * if size > 0: */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanmean.pyx":612 - * count = 0 + /* "nanmean.pyx":600 + * for i0 in range(n0): * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * if size > 0: + * return np.float64(asum / size) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); + } + } - /* "nanmean.pyx":613 + /* "nanmean.pyx":601 * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nanmean.pyx":614 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + * asum += a[i0, i1] + * if size > 0: # <<<<<<<<<<<<<< + * return np.float64(asum / size) + * else: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_7 = ((__pyx_v_size > 0) != 0); + if (__pyx_t_7) { - /* "nanmean.pyx":615 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * y[i0] = asum / count + /* "nanmean.pyx":602 + * asum += a[i0, i1] + * if size > 0: + * return np.float64(asum / size) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __Pyx_XDECREF(__pyx_r); + __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - - /* "nanmean.pyx":616 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * y[i0] = asum / count - * else: - */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { - - /* "nanmean.pyx":617 - * count += 1 - * if count > 0: - * y[i0] = asum / count # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN - */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); } - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); - goto __pyx_L8; } - /*else*/ { - - /* "nanmean.pyx":619 - * y[i0] = asum / count - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; + if (!__pyx_t_11) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_8); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); + __Pyx_GIVEREF(__pyx_t_9); + __pyx_t_9 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanmean.pyx":620 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmean.pyx":604 + * return np.float64(asum / size) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_9 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + if (!__pyx_t_9) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_8); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; + } - /* "nanmean.pyx":596 + /* "nanmean.pyx":588 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":624 +/* "nanmean.pyx":608 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_41nanmean_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_40nanmean_2d_float64_axis0[] = "nanmean_2d_float64_axis0(ndarray a)\nMean of 2d array with dtype=float64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_41nanmean_2d_float64_axis0 = {"nanmean_2d_float64_axis0", (PyCFunction)__pyx_pw_7nanmean_41nanmean_2d_float64_axis0, METH_O, __pyx_doc_7nanmean_40nanmean_2d_float64_axis0}; -static PyObject *__pyx_pw_7nanmean_41nanmean_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_41nanmean_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_40nanmean_2d_int32_axisNone[] = "nanmean_2d_int32_axisNone(ndarray a)\nMean of 2d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_41nanmean_2d_int32_axisNone = {"nanmean_2d_int32_axisNone", (PyCFunction)__pyx_pw_7nanmean_41nanmean_2d_int32_axisNone, METH_O, __pyx_doc_7nanmean_40nanmean_2d_int32_axisNone}; +static PyObject *__pyx_pw_7nanmean_41nanmean_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_40nanmean_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_40nanmean_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7836,70 +7928,54 @@ static PyObject *__pyx_pw_7nanmean_41nanmean_2d_float64_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_40nanmean_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - Py_ssize_t __pyx_v_count; +static PyObject *__pyx_pf_7nanmean_40nanmean_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_float64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmean_2d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":626 - * def nanmean_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanmean.pyx":627 - * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanmean.pyx":610 + * def nanmean_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): + * "Mean of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":630 + /* "nanmean.pyx":614 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7908,248 +7984,232 @@ static PyObject *__pyx_pf_7nanmean_40nanmean_2d_float64_axis0(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":631 + /* "nanmean.pyx":615 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":632 + /* "nanmean.pyx":616 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * for i0 in range(n0): */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":633 + /* "nanmean.pyx":617 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanmean.pyx":634 + /* "nanmean.pyx":618 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmean.pyx":636 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "nanmean.pyx":637 - * NPY_float64, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): - */ - __pyx_v_asum = 0.0; - - /* "nanmean.pyx":638 - * for i1 in range(n1): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "nanmean.pyx":639 - * asum = 0 - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanmean.pyx":640 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmean.pyx":641 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + * size = n0 * n1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":642 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanmean.pyx":619 + * size = n0 * n1 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * if size > 0: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nanmean.pyx":643 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * y[i1] = asum / count + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; + + /* "nanmean.pyx":620 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * if size > 0: + * return np.float64(asum / size) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); } + } - /* "nanmean.pyx":644 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * y[i1] = asum / count - * else: + /* "nanmean.pyx":621 + * for i1 in range(n1): + * asum += a[i0, i1] + * if size > 0: # <<<<<<<<<<<<<< + * return np.float64(asum / size) + * else: */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_t_7 = ((__pyx_v_size > 0) != 0); + if (__pyx_t_7) { - /* "nanmean.pyx":645 - * count += 1 - * if count > 0: - * y[i1] = asum / count # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN + /* "nanmean.pyx":622 + * asum += a[i0, i1] + * if size > 0: + * return np.float64(asum / size) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); } - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); - goto __pyx_L8; } - /*else*/ { - - /* "nanmean.pyx":647 - * y[i1] = asum / count - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; + if (!__pyx_t_11) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_8); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); + __Pyx_GIVEREF(__pyx_t_9); + __pyx_t_9 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanmean.pyx":648 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmean.pyx":624 + * return np.float64(asum / size) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_9 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + if (!__pyx_t_9) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_8); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; + } - /* "nanmean.pyx":624 + /* "nanmean.pyx":608 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":652 +/* "nanmean.pyx":628 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_43nanmean_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_42nanmean_2d_float64_axis1[] = "nanmean_2d_float64_axis1(ndarray a)\nMean of 2d array with dtype=float64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_43nanmean_2d_float64_axis1 = {"nanmean_2d_float64_axis1", (PyCFunction)__pyx_pw_7nanmean_43nanmean_2d_float64_axis1, METH_O, __pyx_doc_7nanmean_42nanmean_2d_float64_axis1}; -static PyObject *__pyx_pw_7nanmean_43nanmean_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_43nanmean_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_42nanmean_2d_int64_axisNone[] = "nanmean_2d_int64_axisNone(ndarray a)\nMean of 2d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_43nanmean_2d_int64_axisNone = {"nanmean_2d_int64_axisNone", (PyCFunction)__pyx_pw_7nanmean_43nanmean_2d_int64_axisNone, METH_O, __pyx_doc_7nanmean_42nanmean_2d_int64_axisNone}; +static PyObject *__pyx_pw_7nanmean_43nanmean_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_float64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_42nanmean_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_42nanmean_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8160,70 +8220,54 @@ static PyObject *__pyx_pw_7nanmean_43nanmean_2d_float64_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_42nanmean_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - Py_ssize_t __pyx_v_count; +static PyObject *__pyx_pf_7nanmean_42nanmean_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_float64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmean_2d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":654 - * def nanmean_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanmean.pyx":655 - * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanmean.pyx":630 + * def nanmean_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): + * "Mean of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":658 + /* "nanmean.pyx":634 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8232,248 +8276,232 @@ static PyObject *__pyx_pf_7nanmean_42nanmean_2d_float64_axis1(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":659 + /* "nanmean.pyx":635 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "nanmean.pyx":660 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmean.pyx":661 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nanmean.pyx":662 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + * size = n0 * n1 + */ + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":664 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + /* "nanmean.pyx":636 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * size = n0 * n1 + * for i0 in range(n0): */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":665 - * NPY_float64, 0) + /* "nanmean.pyx":637 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * size = n0 * n1 # <<<<<<<<<<<<<< * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 * for i1 in range(n1): */ - __pyx_v_asum = 0.0; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanmean.pyx":666 - * for i0 in range(n0): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< + /* "nanmean.pyx":638 + * cdef Py_ssize_t n1 = dim[1] + * size = n0 * n1 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * ai = a[i0, i1] + * asum += a[i0, i1] */ - __pyx_v_count = 0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanmean.pyx":667 - * asum = 0 - * count = 0 + /* "nanmean.pyx":639 + * size = n0 * n1 + * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + * asum += a[i0, i1] + * if size > 0: */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanmean.pyx":668 - * count = 0 + /* "nanmean.pyx":640 + * for i0 in range(n0): * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * if size > 0: + * return np.float64(asum / size) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); + } + } - /* "nanmean.pyx":669 + /* "nanmean.pyx":641 * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nanmean.pyx":670 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + * asum += a[i0, i1] + * if size > 0: # <<<<<<<<<<<<<< + * return np.float64(asum / size) + * else: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_7 = ((__pyx_v_size > 0) != 0); + if (__pyx_t_7) { - /* "nanmean.pyx":671 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * y[i0] = asum / count + /* "nanmean.pyx":642 + * asum += a[i0, i1] + * if size > 0: + * return np.float64(asum / size) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __Pyx_XDECREF(__pyx_r); + __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - - /* "nanmean.pyx":672 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * y[i0] = asum / count - * else: - */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { - - /* "nanmean.pyx":673 - * count += 1 - * if count > 0: - * y[i0] = asum / count # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN - */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); } - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_count); - goto __pyx_L8; } - /*else*/ { - - /* "nanmean.pyx":675 - * y[i0] = asum / count - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_7nanmean_NAN; + if (!__pyx_t_11) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_8); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); + __Pyx_GIVEREF(__pyx_t_9); + __pyx_t_9 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanmean.pyx":676 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmean.pyx":644 + * return np.float64(asum / size) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_9 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + if (!__pyx_t_9) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_8); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; + } - /* "nanmean.pyx":652 + /* "nanmean.pyx":628 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":680 +/* "nanmean.pyx":648 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmean_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_45nanmean_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_44nanmean_1d_int_axisNone[] = "nanmean_1d_int_axisNone(ndarray a)\nMean of 1d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_45nanmean_1d_int_axisNone = {"nanmean_1d_int_axisNone", (PyCFunction)__pyx_pw_7nanmean_45nanmean_1d_int_axisNone, METH_O, __pyx_doc_7nanmean_44nanmean_1d_int_axisNone}; -static PyObject *__pyx_pw_7nanmean_45nanmean_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_45nanmean_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_44nanmean_2d_int_axis0[] = "nanmean_2d_int_axis0(ndarray a)\nMean of 2d array with dtype=int along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_45nanmean_2d_int_axis0 = {"nanmean_2d_int_axis0", (PyCFunction)__pyx_pw_7nanmean_45nanmean_2d_int_axis0, METH_O, __pyx_doc_7nanmean_44nanmean_2d_int_axis0}; +static PyObject *__pyx_pw_7nanmean_45nanmean_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_1d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_44nanmean_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_44nanmean_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8484,261 +8512,271 @@ static PyObject *__pyx_pw_7nanmean_45nanmean_1d_int_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_44nanmean_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_44nanmean_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + __Pyx_RefNannyDeclarations + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_1d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":682 - * def nanmean_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): - * "Mean of 1d array with dtype=int along axis=None ignoring NaNs." + /* "nanmean.pyx":650 + * def nanmean_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Mean of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":686 - * cdef Py_ssize_t i0 + /* "nanmean.pyx":653 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":687 + /* "nanmean.pyx":654 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":688 + /* "nanmean.pyx":655 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":689 + /* "nanmean.pyx":656 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0] - * if size > 0: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":690 - * size = n0 - * for i0 in range(n0): - * asum += a[i0] # <<<<<<<<<<<<<< - * if size > 0: - * return np.float64(asum / size) + /* "nanmean.pyx":657 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmean.pyx":691 - * for i0 in range(n0): - * asum += a[i0] - * if size > 0: # <<<<<<<<<<<<<< - * return np.float64(asum / size) + /* "nanmean.pyx":659 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) * else: */ - __pyx_t_4 = ((__pyx_v_size > 0) != 0); + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanmean.pyx":692 - * asum += a[i0] - * if size > 0: - * return np.float64(asum / size) # <<<<<<<<<<<<<< + /* "nanmean.pyx":660 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * for i1 in range(n1): */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } /*else*/ { - /* "nanmean.pyx":694 - * return np.float64(asum / size) + /* "nanmean.pyx":662 + * PyArray_FillWithScalar(y, NAN) * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): + */ + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; + + /* "nanmean.pyx":663 + * else: + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0.0; + + /* "nanmean.pyx":664 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i1] = asum / n0 + */ + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; + + /* "nanmean.pyx":665 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i1] = asum / n0 + * return y + */ + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nanmean.pyx":666 + * for i0 in range(n0): + * asum += a[i0, i1] + * y[i1] = asum / n0 # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n0); } - if (!__pyx_t_6) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; } + __pyx_L3:; - /* "nanmean.pyx":680 + /* "nanmean.pyx":667 + * asum += a[i0, i1] + * y[i1] = asum / n0 + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "nanmean.pyx":648 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmean_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":698 +/* "nanmean.pyx":671 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmean_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_47nanmean_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_46nanmean_1d_int8_axisNone[] = "nanmean_1d_int8_axisNone(ndarray a)\nMean of 1d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_47nanmean_1d_int8_axisNone = {"nanmean_1d_int8_axisNone", (PyCFunction)__pyx_pw_7nanmean_47nanmean_1d_int8_axisNone, METH_O, __pyx_doc_7nanmean_46nanmean_1d_int8_axisNone}; -static PyObject *__pyx_pw_7nanmean_47nanmean_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_47nanmean_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_46nanmean_2d_int_axis1[] = "nanmean_2d_int_axis1(ndarray a)\nMean of 2d array with dtype=int along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_47nanmean_2d_int_axis1 = {"nanmean_2d_int_axis1", (PyCFunction)__pyx_pw_7nanmean_47nanmean_2d_int_axis1, METH_O, __pyx_doc_7nanmean_46nanmean_2d_int_axis1}; +static PyObject *__pyx_pw_7nanmean_47nanmean_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_1d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_46nanmean_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_46nanmean_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8749,261 +8787,271 @@ static PyObject *__pyx_pw_7nanmean_47nanmean_1d_int8_axisNone(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_46nanmean_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_46nanmean_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_1d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":700 - * def nanmean_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): - * "Mean of 1d array with dtype=int8 along axis=None ignoring NaNs." + /* "nanmean.pyx":673 + * def nanmean_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Mean of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":704 - * cdef Py_ssize_t i0 + /* "nanmean.pyx":676 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":705 + /* "nanmean.pyx":677 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":706 + /* "nanmean.pyx":678 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":707 + /* "nanmean.pyx":679 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0] - * if size > 0: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":708 - * size = n0 - * for i0 in range(n0): - * asum += a[i0] # <<<<<<<<<<<<<< - * if size > 0: - * return np.float64(asum / size) + /* "nanmean.pyx":680 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmean.pyx":709 - * for i0 in range(n0): - * asum += a[i0] - * if size > 0: # <<<<<<<<<<<<<< - * return np.float64(asum / size) + /* "nanmean.pyx":682 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) * else: */ - __pyx_t_4 = ((__pyx_v_size > 0) != 0); + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanmean.pyx":710 - * asum += a[i0] - * if size > 0: - * return np.float64(asum / size) # <<<<<<<<<<<<<< + /* "nanmean.pyx":683 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * for i0 in range(n0): */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } /*else*/ { - /* "nanmean.pyx":712 - * return np.float64(asum / size) + /* "nanmean.pyx":685 + * PyArray_FillWithScalar(y, NAN) * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): + */ + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; + + /* "nanmean.pyx":686 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0.0; + + /* "nanmean.pyx":687 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i0] = asum / n1 + */ + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; + + /* "nanmean.pyx":688 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i0] = asum / n1 + * return y + */ + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nanmean.pyx":689 + * for i1 in range(n1): + * asum += a[i0, i1] + * y[i0] = asum / n1 # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n1); } - if (!__pyx_t_6) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanmean.pyx":690 + * asum += a[i0, i1] + * y[i0] = asum / n1 + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "nanmean.pyx":698 + /* "nanmean.pyx":671 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmean_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":716 +/* "nanmean.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmean_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_49nanmean_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_48nanmean_1d_int32_axisNone[] = "nanmean_1d_int32_axisNone(ndarray a)\nMean of 1d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_49nanmean_1d_int32_axisNone = {"nanmean_1d_int32_axisNone", (PyCFunction)__pyx_pw_7nanmean_49nanmean_1d_int32_axisNone, METH_O, __pyx_doc_7nanmean_48nanmean_1d_int32_axisNone}; -static PyObject *__pyx_pw_7nanmean_49nanmean_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_49nanmean_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_48nanmean_2d_int8_axis0[] = "nanmean_2d_int8_axis0(ndarray a)\nMean of 2d array with dtype=int8 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_49nanmean_2d_int8_axis0 = {"nanmean_2d_int8_axis0", (PyCFunction)__pyx_pw_7nanmean_49nanmean_2d_int8_axis0, METH_O, __pyx_doc_7nanmean_48nanmean_2d_int8_axis0}; +static PyObject *__pyx_pw_7nanmean_49nanmean_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_1d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_48nanmean_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_48nanmean_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9014,261 +9062,271 @@ static PyObject *__pyx_pw_7nanmean_49nanmean_1d_int32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_48nanmean_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_48nanmean_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_1d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_int8_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":718 - * def nanmean_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): - * "Mean of 1d array with dtype=int32 along axis=None ignoring NaNs." + /* "nanmean.pyx":696 + * def nanmean_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Mean of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":722 - * cdef Py_ssize_t i0 + /* "nanmean.pyx":699 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":723 + /* "nanmean.pyx":700 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":724 + /* "nanmean.pyx":701 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":725 + /* "nanmean.pyx":702 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0] - * if size > 0: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":726 - * size = n0 - * for i0 in range(n0): - * asum += a[i0] # <<<<<<<<<<<<<< - * if size > 0: - * return np.float64(asum / size) + /* "nanmean.pyx":703 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmean.pyx":727 - * for i0 in range(n0): - * asum += a[i0] - * if size > 0: # <<<<<<<<<<<<<< - * return np.float64(asum / size) + /* "nanmean.pyx":705 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) * else: */ - __pyx_t_4 = ((__pyx_v_size > 0) != 0); + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanmean.pyx":728 - * asum += a[i0] - * if size > 0: - * return np.float64(asum / size) # <<<<<<<<<<<<<< + /* "nanmean.pyx":706 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * for i1 in range(n1): */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } /*else*/ { - /* "nanmean.pyx":730 - * return np.float64(asum / size) + /* "nanmean.pyx":708 + * PyArray_FillWithScalar(y, NAN) * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): + */ + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; + + /* "nanmean.pyx":709 + * else: + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0.0; + + /* "nanmean.pyx":710 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i1] = asum / n0 + */ + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; + + /* "nanmean.pyx":711 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i1] = asum / n0 + * return y + */ + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nanmean.pyx":712 + * for i0 in range(n0): + * asum += a[i0, i1] + * y[i1] = asum / n0 # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n0); } - if (!__pyx_t_6) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanmean.pyx":713 + * asum += a[i0, i1] + * y[i1] = asum / n0 + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "nanmean.pyx":716 + /* "nanmean.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmean_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":734 +/* "nanmean.pyx":717 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmean_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_51nanmean_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_50nanmean_1d_int64_axisNone[] = "nanmean_1d_int64_axisNone(ndarray a)\nMean of 1d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_51nanmean_1d_int64_axisNone = {"nanmean_1d_int64_axisNone", (PyCFunction)__pyx_pw_7nanmean_51nanmean_1d_int64_axisNone, METH_O, __pyx_doc_7nanmean_50nanmean_1d_int64_axisNone}; -static PyObject *__pyx_pw_7nanmean_51nanmean_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_51nanmean_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_50nanmean_2d_int8_axis1[] = "nanmean_2d_int8_axis1(ndarray a)\nMean of 2d array with dtype=int8 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_51nanmean_2d_int8_axis1 = {"nanmean_2d_int8_axis1", (PyCFunction)__pyx_pw_7nanmean_51nanmean_2d_int8_axis1, METH_O, __pyx_doc_7nanmean_50nanmean_2d_int8_axis1}; +static PyObject *__pyx_pw_7nanmean_51nanmean_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_1d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_50nanmean_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int8_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_50nanmean_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9279,261 +9337,271 @@ static PyObject *__pyx_pw_7nanmean_51nanmean_1d_int64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_50nanmean_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_50nanmean_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_1d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_int8_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":736 - * def nanmean_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): - * "Mean of 1d array with dtype=int64 along axis=None ignoring NaNs." + /* "nanmean.pyx":719 + * def nanmean_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Mean of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":740 - * cdef Py_ssize_t i0 + /* "nanmean.pyx":722 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":741 + /* "nanmean.pyx":723 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":742 + /* "nanmean.pyx":724 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":743 + /* "nanmean.pyx":725 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0] - * if size > 0: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":744 - * size = n0 - * for i0 in range(n0): - * asum += a[i0] # <<<<<<<<<<<<<< - * if size > 0: - * return np.float64(asum / size) + /* "nanmean.pyx":726 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmean.pyx":745 - * for i0 in range(n0): - * asum += a[i0] - * if size > 0: # <<<<<<<<<<<<<< - * return np.float64(asum / size) + /* "nanmean.pyx":728 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) * else: */ - __pyx_t_4 = ((__pyx_v_size > 0) != 0); + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanmean.pyx":746 - * asum += a[i0] - * if size > 0: - * return np.float64(asum / size) # <<<<<<<<<<<<<< + /* "nanmean.pyx":729 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * for i0 in range(n0): */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_6 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } /*else*/ { - /* "nanmean.pyx":748 - * return np.float64(asum / size) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanmean.pyx":731 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): + */ + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; + + /* "nanmean.pyx":732 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0.0; + + /* "nanmean.pyx":733 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i0] = asum / n1 + */ + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; + + /* "nanmean.pyx":734 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i0] = asum / n1 + * return y + */ + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nanmean.pyx":735 + * for i1 in range(n1): + * asum += a[i0, i1] + * y[i0] = asum / n1 # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n1); } - if (!__pyx_t_6) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; } + __pyx_L3:; - /* "nanmean.pyx":734 + /* "nanmean.pyx":736 + * asum += a[i0, i1] + * y[i0] = asum / n1 + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "nanmean.pyx":717 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmean_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":752 +/* "nanmean.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmean_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_53nanmean_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_52nanmean_2d_int_axisNone[] = "nanmean_2d_int_axisNone(ndarray a)\nMean of 2d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_53nanmean_2d_int_axisNone = {"nanmean_2d_int_axisNone", (PyCFunction)__pyx_pw_7nanmean_53nanmean_2d_int_axisNone, METH_O, __pyx_doc_7nanmean_52nanmean_2d_int_axisNone}; -static PyObject *__pyx_pw_7nanmean_53nanmean_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_53nanmean_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_52nanmean_2d_int32_axis0[] = "nanmean_2d_int32_axis0(ndarray a)\nMean of 2d array with dtype=int32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_53nanmean_2d_int32_axis0 = {"nanmean_2d_int32_axis0", (PyCFunction)__pyx_pw_7nanmean_53nanmean_2d_int32_axis0, METH_O, __pyx_doc_7nanmean_52nanmean_2d_int32_axis0}; +static PyObject *__pyx_pw_7nanmean_53nanmean_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_52nanmean_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_52nanmean_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9544,54 +9612,59 @@ static PyObject *__pyx_pw_7nanmean_53nanmean_2d_int_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_52nanmean_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_52nanmean_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_int32_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":754 - * def nanmean_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): - * "Mean of 2d array with dtype=int along axis=None ignoring NaNs." + /* "nanmean.pyx":742 + * def nanmean_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Mean of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":758 + /* "nanmean.pyx":745 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9600,232 +9673,210 @@ static PyObject *__pyx_pf_7nanmean_52nanmean_2d_int_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":759 + /* "nanmean.pyx":746 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":760 + /* "nanmean.pyx":747 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":761 + /* "nanmean.pyx":748 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":762 + /* "nanmean.pyx":749 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmean.pyx":763 - * size = n0 * n1 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * if size > 0: + /* "nanmean.pyx":751 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanmean.pyx":764 - * for i0 in range(n0): + /* "nanmean.pyx":752 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * if size > 0: - * return np.float64(asum / size) */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } + /*else*/ { - /* "nanmean.pyx":765 - * for i1 in range(n1): - * asum += a[i0, i1] - * if size > 0: # <<<<<<<<<<<<<< - * return np.float64(asum / size) + /* "nanmean.pyx":754 + * PyArray_FillWithScalar(y, NAN) * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_7 = ((__pyx_v_size > 0) != 0); - if (__pyx_t_7) { + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanmean.pyx":766 - * asum += a[i0, i1] - * if size > 0: - * return np.float64(asum / size) # <<<<<<<<<<<<<< + /* "nanmean.pyx":755 * else: - * return np.float64(NAN) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); + __pyx_v_asum = 0.0; + + /* "nanmean.pyx":756 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i1] = asum / n0 + */ + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; + + /* "nanmean.pyx":757 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i1] = asum / n0 + * return y + */ + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nanmean.pyx":758 + * for i0 in range(n0): + * asum += a[i0, i1] + * y[i1] = asum / n0 # <<<<<<<<<<<<<< + * return y + * + */ + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n0); } - if (!__pyx_t_11) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_GOTREF(__pyx_t_8); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); - __Pyx_GIVEREF(__pyx_t_9); - __pyx_t_9 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; } - /*else*/ { + __pyx_L3:; - /* "nanmean.pyx":768 - * return np.float64(asum / size) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanmean.pyx":759 + * asum += a[i0, i1] + * y[i1] = asum / n0 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_9 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - } - } - if (!__pyx_t_9) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_8); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "nanmean.pyx":752 + /* "nanmean.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmean_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":772 +/* "nanmean.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmean_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_55nanmean_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_54nanmean_2d_int8_axisNone[] = "nanmean_2d_int8_axisNone(ndarray a)\nMean of 2d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_55nanmean_2d_int8_axisNone = {"nanmean_2d_int8_axisNone", (PyCFunction)__pyx_pw_7nanmean_55nanmean_2d_int8_axisNone, METH_O, __pyx_doc_7nanmean_54nanmean_2d_int8_axisNone}; -static PyObject *__pyx_pw_7nanmean_55nanmean_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_55nanmean_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_54nanmean_2d_int32_axis1[] = "nanmean_2d_int32_axis1(ndarray a)\nMean of 2d array with dtype=int32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_55nanmean_2d_int32_axis1 = {"nanmean_2d_int32_axis1", (PyCFunction)__pyx_pw_7nanmean_55nanmean_2d_int32_axis1, METH_O, __pyx_doc_7nanmean_54nanmean_2d_int32_axis1}; +static PyObject *__pyx_pw_7nanmean_55nanmean_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_54nanmean_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_54nanmean_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9836,54 +9887,59 @@ static PyObject *__pyx_pw_7nanmean_55nanmean_2d_int8_axisNone(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_54nanmean_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_54nanmean_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_int32_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":774 - * def nanmean_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): - * "Mean of 2d array with dtype=int8 along axis=None ignoring NaNs." + /* "nanmean.pyx":765 + * def nanmean_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Mean of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":778 + /* "nanmean.pyx":768 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9892,232 +9948,210 @@ static PyObject *__pyx_pf_7nanmean_54nanmean_2d_int8_axisNone(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":779 + /* "nanmean.pyx":769 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":780 + /* "nanmean.pyx":770 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":781 + /* "nanmean.pyx":771 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":782 + /* "nanmean.pyx":772 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] - */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; - - /* "nanmean.pyx":783 - * size = n0 * n1 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * if size > 0: - */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; - - /* "nanmean.pyx":784 - * for i0 in range(n0): - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * if size > 0: - * return np.float64(asum / size) + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmean.pyx":785 - * for i1 in range(n1): - * asum += a[i0, i1] - * if size > 0: # <<<<<<<<<<<<<< - * return np.float64(asum / size) + /* "nanmean.pyx":774 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) * else: */ - __pyx_t_7 = ((__pyx_v_size > 0) != 0); - if (__pyx_t_7) { + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { - /* "nanmean.pyx":786 - * asum += a[i0, i1] - * if size > 0: - * return np.float64(asum / size) # <<<<<<<<<<<<<< + /* "nanmean.pyx":775 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * for i0 in range(n0): */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_GOTREF(__pyx_t_8); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); - __Pyx_GIVEREF(__pyx_t_9); - __pyx_t_9 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } /*else*/ { - /* "nanmean.pyx":788 - * return np.float64(asum / size) + /* "nanmean.pyx":777 + * PyArray_FillWithScalar(y, NAN) * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): + */ + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; + + /* "nanmean.pyx":778 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0.0; + + /* "nanmean.pyx":779 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i0] = asum / n1 + */ + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; + + /* "nanmean.pyx":780 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i0] = asum / n1 + * return y + */ + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nanmean.pyx":781 + * for i1 in range(n1): + * asum += a[i0, i1] + * y[i0] = asum / n1 # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_9 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n1); } - if (!__pyx_t_9) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_8); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; } + __pyx_L3:; - /* "nanmean.pyx":772 + /* "nanmean.pyx":782 + * asum += a[i0, i1] + * y[i0] = asum / n1 + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "nanmean.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmean_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":792 +/* "nanmean.pyx":786 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmean_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_57nanmean_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_56nanmean_2d_int32_axisNone[] = "nanmean_2d_int32_axisNone(ndarray a)\nMean of 2d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_57nanmean_2d_int32_axisNone = {"nanmean_2d_int32_axisNone", (PyCFunction)__pyx_pw_7nanmean_57nanmean_2d_int32_axisNone, METH_O, __pyx_doc_7nanmean_56nanmean_2d_int32_axisNone}; -static PyObject *__pyx_pw_7nanmean_57nanmean_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_57nanmean_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_56nanmean_2d_int64_axis0[] = "nanmean_2d_int64_axis0(ndarray a)\nMean of 2d array with dtype=int64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_57nanmean_2d_int64_axis0 = {"nanmean_2d_int64_axis0", (PyCFunction)__pyx_pw_7nanmean_57nanmean_2d_int64_axis0, METH_O, __pyx_doc_7nanmean_56nanmean_2d_int64_axis0}; +static PyObject *__pyx_pw_7nanmean_57nanmean_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_56nanmean_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_56nanmean_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10128,54 +10162,59 @@ static PyObject *__pyx_pw_7nanmean_57nanmean_2d_int32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_56nanmean_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_56nanmean_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_int64_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":794 - * def nanmean_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): - * "Mean of 2d array with dtype=int32 along axis=None ignoring NaNs." + /* "nanmean.pyx":788 + * def nanmean_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Mean of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":798 + /* "nanmean.pyx":791 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10184,232 +10223,210 @@ static PyObject *__pyx_pf_7nanmean_56nanmean_2d_int32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":799 + /* "nanmean.pyx":792 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":800 + /* "nanmean.pyx":793 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":801 + /* "nanmean.pyx":794 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":802 + /* "nanmean.pyx":795 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * for i0 in range(n0): # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanmean.pyx":797 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: + */ + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmean.pyx":798 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: * for i1 in range(n1): - * asum += a[i0, i1] */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; + } + /*else*/ { - /* "nanmean.pyx":803 - * size = n0 * n1 - * for i0 in range(n0): + /* "nanmean.pyx":800 + * PyArray_FillWithScalar(y, NAN) + * else: * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * if size > 0: + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanmean.pyx":804 - * for i0 in range(n0): + /* "nanmean.pyx":801 + * else: * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * if size > 0: - * return np.float64(asum / size) + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); - } - } + __pyx_v_asum = 0.0; + + /* "nanmean.pyx":802 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i1] = asum / n0 + */ + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanmean.pyx":805 - * for i1 in range(n1): - * asum += a[i0, i1] - * if size > 0: # <<<<<<<<<<<<<< - * return np.float64(asum / size) - * else: + /* "nanmean.pyx":803 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i1] = asum / n0 + * return y */ - __pyx_t_7 = ((__pyx_v_size > 0) != 0); - if (__pyx_t_7) { + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanmean.pyx":806 - * asum += a[i0, i1] - * if size > 0: - * return np.float64(asum / size) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanmean.pyx":804 + * for i0 in range(n0): + * asum += a[i0, i1] + * y[i1] = asum / n0 # <<<<<<<<<<<<<< + * return y + * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n0); } - if (!__pyx_t_11) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_GOTREF(__pyx_t_8); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); - __Pyx_GIVEREF(__pyx_t_9); - __pyx_t_9 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; } - /*else*/ { + __pyx_L3:; - /* "nanmean.pyx":808 - * return np.float64(asum / size) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanmean.pyx":805 + * asum += a[i0, i1] + * y[i1] = asum / n0 + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_9 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - } - } - if (!__pyx_t_9) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_8); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "nanmean.pyx":792 + /* "nanmean.pyx":786 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmean_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmean.pyx":812 +/* "nanmean.pyx":809 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmean_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_7nanmean_59nanmean_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_7nanmean_58nanmean_2d_int64_axisNone[] = "nanmean_2d_int64_axisNone(ndarray a)\nMean of 2d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_7nanmean_59nanmean_2d_int64_axisNone = {"nanmean_2d_int64_axisNone", (PyCFunction)__pyx_pw_7nanmean_59nanmean_2d_int64_axisNone, METH_O, __pyx_doc_7nanmean_58nanmean_2d_int64_axisNone}; -static PyObject *__pyx_pw_7nanmean_59nanmean_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_7nanmean_59nanmean_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_7nanmean_58nanmean_2d_int64_axis1[] = "nanmean_2d_int64_axis1(ndarray a)\nMean of 2d array with dtype=int64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_7nanmean_59nanmean_2d_int64_axis1 = {"nanmean_2d_int64_axis1", (PyCFunction)__pyx_pw_7nanmean_59nanmean_2d_int64_axis1, METH_O, __pyx_doc_7nanmean_58nanmean_2d_int64_axis1}; +static PyObject *__pyx_pw_7nanmean_59nanmean_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmean_2d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_7nanmean_58nanmean_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmean_2d_int64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_7nanmean_58nanmean_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10420,54 +10437,59 @@ static PyObject *__pyx_pw_7nanmean_59nanmean_2d_int64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_7nanmean_58nanmean_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_7nanmean_58nanmean_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_float64_t __pyx_v_asum; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmean_2d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmean_2d_int64_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmean.pyx":814 - * def nanmean_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): - * "Mean of 2d array with dtype=int64 along axis=None ignoring NaNs." + /* "nanmean.pyx":811 + * def nanmean_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Mean of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanmean.pyx":818 + /* "nanmean.pyx":814 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10476,213 +10498,191 @@ static PyObject *__pyx_pf_7nanmean_58nanmean_2d_int64_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmean.pyx":819 + /* "nanmean.pyx":815 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmean.pyx":820 + /* "nanmean.pyx":816 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmean.pyx":821 + /* "nanmean.pyx":817 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmean.pyx":822 + /* "nanmean.pyx":818 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmean.pyx":823 - * size = n0 * n1 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * if size > 0: + /* "nanmean.pyx":820 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { - /* "nanmean.pyx":824 - * for i0 in range(n0): - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * if size > 0: - * return np.float64(asum / size) + /* "nanmean.pyx":821 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i0 in range(n0): */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } + /*else*/ { - /* "nanmean.pyx":825 - * for i1 in range(n1): - * asum += a[i0, i1] - * if size > 0: # <<<<<<<<<<<<<< - * return np.float64(asum / size) + /* "nanmean.pyx":823 + * PyArray_FillWithScalar(y, NAN) * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_t_7 = ((__pyx_v_size > 0) != 0); - if (__pyx_t_7) { + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanmean.pyx":826 - * asum += a[i0, i1] - * if size > 0: - * return np.float64(asum / size) # <<<<<<<<<<<<<< + /* "nanmean.pyx":824 * else: - * return np.float64(NAN) + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_9 = PyFloat_FromDouble((__pyx_v_asum / __pyx_v_size)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); + __pyx_v_asum = 0.0; + + /* "nanmean.pyx":825 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i0] = asum / n1 + */ + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; + + /* "nanmean.pyx":826 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i0] = asum / n1 + * return y + */ + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); } - } - if (!__pyx_t_11) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_GOTREF(__pyx_t_8); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); - __Pyx_GIVEREF(__pyx_t_9); - __pyx_t_9 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanmean.pyx":828 - * return np.float64(asum / size) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanmean.pyx":827 + * for i1 in range(n1): + * asum += a[i0, i1] + * y[i0] = asum / n1 # <<<<<<<<<<<<<< + * return y * - * cdef dict nanmean_dict = {} */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_7nanmean_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_9 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_v_n1); } - if (!__pyx_t_9) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_8); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanmean.pyx":828 + * asum += a[i0, i1] + * y[i0] = asum / n1 + * return y # <<<<<<<<<<<<<< + * + * cdef dict nanmean_dict = {} + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; - /* "nanmean.pyx":812 + /* "nanmean.pyx":809 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmean_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmean.nanmean_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmean.nanmean_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "nanmean.pyx":867 - * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone + * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 * * def nanmean_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmean along axis 0." @@ -10750,7 +10750,7 @@ static PyObject *__pyx_pf_7nanmean_60nanmean_slow_axis0(CYTHON_UNUSED PyObject * goto __pyx_L0; /* "nanmean.pyx":867 - * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone + * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 * * def nanmean_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmean along axis 0." @@ -13741,7 +13741,7 @@ static PyObject *__pyx_pf_7nanmean_126nanmean_slow_axisNone(CYTHON_UNUSED PyObje return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -13791,7 +13791,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -13804,7 +13804,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -13813,7 +13813,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -13822,7 +13822,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -13831,7 +13831,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -13841,7 +13841,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -13853,7 +13853,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -13864,7 +13864,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -13880,7 +13880,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -13892,7 +13892,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -13906,7 +13906,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -13922,7 +13922,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -13934,7 +13934,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -13948,7 +13948,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -13957,7 +13957,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -13966,7 +13966,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -13976,7 +13976,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -13985,7 +13985,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -13994,7 +13994,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -14005,7 +14005,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -14014,7 +14014,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -14027,7 +14027,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -14036,7 +14036,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -14047,7 +14047,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -14056,7 +14056,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -14065,7 +14065,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -14074,7 +14074,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -14083,7 +14083,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -14095,7 +14095,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -14104,7 +14104,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -14124,7 +14124,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -14140,7 +14140,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -14155,7 +14155,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -14165,7 +14165,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -14175,7 +14175,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -14198,7 +14198,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -14218,7 +14218,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14232,7 +14232,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -14241,7 +14241,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -14252,7 +14252,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -14263,7 +14263,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -14274,7 +14274,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -14285,7 +14285,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -14296,7 +14296,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -14307,7 +14307,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -14318,7 +14318,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -14329,7 +14329,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -14340,7 +14340,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -14351,7 +14351,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -14362,7 +14362,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -14373,7 +14373,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -14384,7 +14384,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -14395,7 +14395,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -14406,7 +14406,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -14417,7 +14417,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -14429,7 +14429,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -14455,7 +14455,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -14464,7 +14464,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -14476,7 +14476,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -14485,7 +14485,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -14494,7 +14494,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -14503,7 +14503,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -14513,7 +14513,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -14523,7 +14523,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -14555,7 +14555,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -14579,7 +14579,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -14589,7 +14589,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -14601,7 +14601,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -14611,7 +14611,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -14623,7 +14623,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -14635,7 +14635,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -14652,7 +14652,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -14666,7 +14666,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -14685,7 +14685,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -14702,7 +14702,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -14716,7 +14716,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -14735,7 +14735,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -14752,7 +14752,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -14766,7 +14766,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -14785,7 +14785,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -14802,7 +14802,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -14816,7 +14816,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -14835,7 +14835,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -14852,7 +14852,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -14866,7 +14866,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -14885,7 +14885,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -14917,7 +14917,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -14926,7 +14926,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -14935,7 +14935,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -14957,7 +14957,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -14970,7 +14970,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -15009,7 +15009,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -15026,7 +15026,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -15040,7 +15040,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -15063,7 +15063,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -15083,7 +15083,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -15097,7 +15097,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -15113,7 +15113,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -15122,7 +15122,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -15131,7 +15131,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -15142,7 +15142,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -15152,7 +15152,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -15162,7 +15162,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -15174,7 +15174,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -15184,7 +15184,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -15198,7 +15198,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -15216,7 +15216,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -15234,7 +15234,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -15252,7 +15252,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -15270,7 +15270,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -15288,7 +15288,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -15306,7 +15306,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -15324,7 +15324,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -15342,7 +15342,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -15360,7 +15360,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -15378,7 +15378,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -15396,7 +15396,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -15414,7 +15414,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -15432,7 +15432,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -15452,7 +15452,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -15472,7 +15472,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -15492,7 +15492,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -15511,7 +15511,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -15534,7 +15534,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -15546,7 +15546,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -15558,7 +15558,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -15568,7 +15568,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -15578,7 +15578,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -15603,7 +15603,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -15618,7 +15618,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -15629,7 +15629,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -15641,7 +15641,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -15650,7 +15650,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -15661,7 +15661,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -15670,7 +15670,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -15679,7 +15679,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -15691,7 +15691,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -15705,7 +15705,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -15715,7 +15715,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -15729,7 +15729,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -15740,7 +15740,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -15778,7 +15778,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -15792,6 +15791,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -15917,7 +15917,7 @@ static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; @@ -15927,7 +15927,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -15938,7 +15938,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -15949,7 +15949,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -15960,7 +15960,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -15971,7 +15971,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -15982,7 +15982,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -16014,7 +16014,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":130 * return func(arr) @@ -16026,346 +16026,346 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_selector, 130, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_selector, 130, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":202 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__13 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__13 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int_axis0, 202, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_float_axis0, 202, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":225 + /* "nanmean.pyx":230 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__15 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__15 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int_axis1, 225, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_float_axis1, 230, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":248 + /* "nanmean.pyx":258 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__17 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__17 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int8_axis0, 248, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_float32_axis0, 258, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":271 + /* "nanmean.pyx":286 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__19 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int8_axis1, 271, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_float32_axis1, 286, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":294 + /* "nanmean.pyx":314 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__21 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int32_axis0, 294, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_float64_axis0, 314, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":317 + /* "nanmean.pyx":342 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__23 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int32_axis1, 317, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_float64_axis1, 342, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":340 + /* "nanmean.pyx":370 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__25 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int64_axis0, 340, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_1d_float_axisNone, 370, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":363 + /* "nanmean.pyx":390 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__27 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int64_axis1, 363, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_1d_float32_axisNone, 390, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":386 + /* "nanmean.pyx":410 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmean_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__29 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_1d_float_axisNone, 386, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_1d_float64_axisNone, 410, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":406 + /* "nanmean.pyx":430 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmean_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__31 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_1d_float32_axisNone, 406, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_float_axisNone, 430, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":426 + /* "nanmean.pyx":452 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmean_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__33 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_1d_float64_axisNone, 426, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_float32_axisNone, 452, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":446 + /* "nanmean.pyx":474 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmean_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__35 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_float_axisNone, 446, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_float64_axisNone, 474, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":468 + /* "nanmean.pyx":496 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__37 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_float32_axisNone, 468, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_1d_int_axisNone, 496, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":490 + /* "nanmean.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__39 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_float64_axisNone, 490, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_1d_int8_axisNone, 514, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":512 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmean_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanmean.pyx":532 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanmean_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__41 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_float_axis0, 512, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_1d_int32_axisNone, 532, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":540 + /* "nanmean.pyx":550 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__43 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_float_axis1, 540, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_1d_int64_axisNone, 550, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":568 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__45 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_float32_axis0, 568, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int_axisNone, 568, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":596 + /* "nanmean.pyx":588 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__47 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_float32_axis1, 596, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int8_axisNone, 588, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":624 + /* "nanmean.pyx":608 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__49 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_float64_axis0, 624, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int32_axisNone, 608, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":652 + /* "nanmean.pyx":628 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__51 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_float64_axis1, 652, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int64_axisNone, 628, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":680 + /* "nanmean.pyx":648 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmean_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__53 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_1d_int_axisNone, 680, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int_axis0, 648, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":698 + /* "nanmean.pyx":671 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmean_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__55 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_1d_int8_axisNone, 698, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int_axis1, 671, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":716 + /* "nanmean.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmean_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__57 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_1d_int32_axisNone, 716, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int8_axis0, 694, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":734 + /* "nanmean.pyx":717 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmean_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__59 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_1d_int64_axisNone, 734, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int8_axis1, 717, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":752 + /* "nanmean.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmean_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__61 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int_axisNone, 752, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int32_axis0, 740, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":772 + /* "nanmean.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmean_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__63 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int8_axisNone, 772, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int32_axis1, 763, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":792 + /* "nanmean.pyx":786 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmean_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__65 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int32_axisNone, 792, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int64_axis0, 786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmean.pyx":812 + /* "nanmean.pyx":809 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmean_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_tuple__67 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_2d_int64_axisNone, 812, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_2d_int64_axis1, 809, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":867 - * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone + * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 * * def nanmean_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmean along axis 0." @@ -16374,7 +16374,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis0, 867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis0, 867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":871 * return bn.slow.nanmean(arr, axis=0) @@ -16386,7 +16386,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis1, 871, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis1, 871, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":875 * return bn.slow.nanmean(arr, axis=1) @@ -16398,7 +16398,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis2, 875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis2, 875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":879 * return bn.slow.nanmean(arr, axis=2) @@ -16410,7 +16410,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis3, 879, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis3, 879, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":883 * return bn.slow.nanmean(arr, axis=3) @@ -16422,7 +16422,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis4, 883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis4, 883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":887 * return bn.slow.nanmean(arr, axis=4) @@ -16434,7 +16434,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis5, 887, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis5, 887, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":891 * return bn.slow.nanmean(arr, axis=5) @@ -16446,7 +16446,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis6, 891, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis6, 891, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":895 * return bn.slow.nanmean(arr, axis=6) @@ -16458,7 +16458,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis7, 895, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis7, 895, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":899 * return bn.slow.nanmean(arr, axis=7) @@ -16470,7 +16470,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis8, 899, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis8, 899, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":903 * return bn.slow.nanmean(arr, axis=8) @@ -16482,7 +16482,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis9, 903, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis9, 903, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":907 * return bn.slow.nanmean(arr, axis=9) @@ -16494,7 +16494,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis10, 907, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis10, 907, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":911 * return bn.slow.nanmean(arr, axis=10) @@ -16506,7 +16506,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis11, 911, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis11, 911, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":915 * return bn.slow.nanmean(arr, axis=11) @@ -16518,7 +16518,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis12, 915, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis12, 915, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":919 * return bn.slow.nanmean(arr, axis=12) @@ -16530,7 +16530,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis13, 919, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis13, 919, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":923 * return bn.slow.nanmean(arr, axis=13) @@ -16542,7 +16542,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis14, 923, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis14, 923, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":927 * return bn.slow.nanmean(arr, axis=14) @@ -16554,7 +16554,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis15, 927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis15, 927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":931 * return bn.slow.nanmean(arr, axis=15) @@ -16566,7 +16566,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis16, 931, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis16, 931, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":935 * return bn.slow.nanmean(arr, axis=16) @@ -16578,7 +16578,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis17, 935, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis17, 935, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":939 * return bn.slow.nanmean(arr, axis=17) @@ -16590,7 +16590,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis18, 939, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis18, 939, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":943 * return bn.slow.nanmean(arr, axis=18) @@ -16602,7 +16602,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis19, 943, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis19, 943, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":947 * return bn.slow.nanmean(arr, axis=19) @@ -16614,7 +16614,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis20, 947, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis20, 947, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":951 * return bn.slow.nanmean(arr, axis=20) @@ -16626,7 +16626,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 951; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis21, 951, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 951; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis21, 951, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 951; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":955 * return bn.slow.nanmean(arr, axis=21) @@ -16638,7 +16638,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis22, 955, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis22, 955, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":959 * return bn.slow.nanmean(arr, axis=22) @@ -16650,7 +16650,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis23, 959, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis23, 959, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":963 * return bn.slow.nanmean(arr, axis=23) @@ -16662,7 +16662,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis24, 963, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis24, 963, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":967 * return bn.slow.nanmean(arr, axis=24) @@ -16674,7 +16674,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis25, 967, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis25, 967, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":971 * return bn.slow.nanmean(arr, axis=25) @@ -16686,7 +16686,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 971; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis26, 971, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 971; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis26, 971, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 971; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":975 * return bn.slow.nanmean(arr, axis=26) @@ -16698,7 +16698,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 975; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis27, 975, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 975; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis27, 975, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 975; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":979 * return bn.slow.nanmean(arr, axis=27) @@ -16710,7 +16710,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 979; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis28, 979, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 979; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis28, 979, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 979; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":983 * return bn.slow.nanmean(arr, axis=28) @@ -16722,7 +16722,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis29, 983, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis29, 983, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":987 * return bn.slow.nanmean(arr, axis=29) @@ -16734,7 +16734,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis30, 987, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis30, 987, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":991 * return bn.slow.nanmean(arr, axis=30) @@ -16746,7 +16746,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis31, 991, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis31, 991, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":995 * return bn.slow.nanmean(arr, axis=31) @@ -16758,7 +16758,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axis32, 995, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axis32, 995, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmean.pyx":999 * return bn.slow.nanmean(arr, axis=32) @@ -16770,7 +16770,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmean_slow_axisNone, 999, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmean_slow_axisNone, 999, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -17736,345 +17736,345 @@ PyMODINIT_FUNC PyInit_nanmean(void) /* "nanmean.pyx":202 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_5nanmean_2d_int_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "nanmean.pyx":225 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmean_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_7nanmean_2d_int_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "nanmean.pyx":248 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmean_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_9nanmean_2d_int8_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_5nanmean_2d_float_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":271 + /* "nanmean.pyx":230 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_11nanmean_2d_int8_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_7nanmean_2d_float_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":294 + /* "nanmean.pyx":258 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_13nanmean_2d_int32_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_9nanmean_2d_float32_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":317 + /* "nanmean.pyx":286 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_15nanmean_2d_int32_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_11nanmean_2d_float32_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":340 + /* "nanmean.pyx":314 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_17nanmean_2d_int64_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_13nanmean_2d_float64_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":363 + /* "nanmean.pyx":342 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, ai + * def nanmean_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_19nanmean_2d_int64_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_15nanmean_2d_float64_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":386 + /* "nanmean.pyx":370 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanmean_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< * "Mean of 1d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_21nanmean_1d_float_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_17nanmean_1d_float_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":406 + /* "nanmean.pyx":390 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanmean_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< * "Mean of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_23nanmean_1d_float32_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_19nanmean_1d_float32_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":426 + /* "nanmean.pyx":410 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanmean_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< * "Mean of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_25nanmean_1d_float64_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_21nanmean_1d_float64_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":446 + /* "nanmean.pyx":430 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanmean_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< * "Mean of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_27nanmean_2d_float_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_23nanmean_2d_float_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":468 + /* "nanmean.pyx":452 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanmean_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< * "Mean of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_29nanmean_2d_float32_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_25nanmean_2d_float32_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":490 + /* "nanmean.pyx":474 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanmean_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< * "Mean of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_31nanmean_2d_float64_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_27nanmean_2d_float64_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":512 + /* "nanmean.pyx":496 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_33nanmean_2d_float_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_29nanmean_1d_int_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":540 + /* "nanmean.pyx":514 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_31nanmean_1d_int8_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "nanmean.pyx":532 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanmean_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_33nanmean_1d_int32_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "nanmean.pyx":550 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanmean_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Mean of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_35nanmean_2d_float_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_35nanmean_1d_int64_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":568 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_37nanmean_2d_float32_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_37nanmean_2d_int_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":596 + /* "nanmean.pyx":588 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_39nanmean_2d_float32_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_39nanmean_2d_int8_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":624 + /* "nanmean.pyx":608 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_41nanmean_2d_float64_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_41nanmean_2d_int32_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":652 + /* "nanmean.pyx":628 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanmean_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_43nanmean_2d_float64_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_43nanmean_2d_int64_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":680 + /* "nanmean.pyx":648 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmean_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_45nanmean_1d_int_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_45nanmean_2d_int_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":698 + /* "nanmean.pyx":671 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmean_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_47nanmean_1d_int8_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_47nanmean_2d_int_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":716 + /* "nanmean.pyx":694 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmean_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_49nanmean_1d_int32_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_49nanmean_2d_int8_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":734 + /* "nanmean.pyx":717 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Mean of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmean_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_51nanmean_1d_int64_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_51nanmean_2d_int8_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":752 + /* "nanmean.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmean_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_53nanmean_2d_int_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_53nanmean_2d_int32_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":772 + /* "nanmean.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmean_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_55nanmean_2d_int8_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_55nanmean_2d_int32_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":792 + /* "nanmean.pyx":786 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmean_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_57nanmean_2d_int32_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_57nanmean_2d_int64_axis0, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmean.pyx":812 + /* "nanmean.pyx":809 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmean_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Mean of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmean_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Mean of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_59nanmean_2d_int64_axisNone, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7nanmean_59nanmean_2d_int64_axis1, NULL, __pyx_n_s_nanmean); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmean_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":830 - * return np.float64(NAN) + * return y * * cdef dict nanmean_dict = {} # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int, 0)] = nanmean_2d_int_axis0 - * nanmean_dict[(2, NPY_int, 1)] = nanmean_2d_int_axis1 + * nanmean_dict[(2, NPY_float, 0)] = nanmean_2d_float_axis0 + * nanmean_dict[(2, NPY_float, 1)] = nanmean_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -18086,17 +18086,17 @@ PyMODINIT_FUNC PyInit_nanmean(void) /* "nanmean.pyx":831 * * cdef dict nanmean_dict = {} - * nanmean_dict[(2, NPY_int, 0)] = nanmean_2d_int_axis0 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int, 1)] = nanmean_2d_int_axis1 - * nanmean_dict[(2, NPY_int8, 0)] = nanmean_2d_int8_axis0 + * nanmean_dict[(2, NPY_float, 0)] = nanmean_2d_float_axis0 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float, 1)] = nanmean_2d_float_axis1 + * nanmean_dict[(2, NPY_float32, 0)] = nanmean_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18115,18 +18115,18 @@ PyMODINIT_FUNC PyInit_nanmean(void) /* "nanmean.pyx":832 * cdef dict nanmean_dict = {} - * nanmean_dict[(2, NPY_int, 0)] = nanmean_2d_int_axis0 - * nanmean_dict[(2, NPY_int, 1)] = nanmean_2d_int_axis1 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int8, 0)] = nanmean_2d_int8_axis0 - * nanmean_dict[(2, NPY_int8, 1)] = nanmean_2d_int8_axis1 + * nanmean_dict[(2, NPY_float, 0)] = nanmean_2d_float_axis0 + * nanmean_dict[(2, NPY_float, 1)] = nanmean_2d_float_axis1 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float32, 0)] = nanmean_2d_float32_axis0 + * nanmean_dict[(2, NPY_float32, 1)] = nanmean_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18144,19 +18144,19 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":833 - * nanmean_dict[(2, NPY_int, 0)] = nanmean_2d_int_axis0 - * nanmean_dict[(2, NPY_int, 1)] = nanmean_2d_int_axis1 - * nanmean_dict[(2, NPY_int8, 0)] = nanmean_2d_int8_axis0 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int8, 1)] = nanmean_2d_int8_axis1 - * nanmean_dict[(2, NPY_int32, 0)] = nanmean_2d_int32_axis0 + * nanmean_dict[(2, NPY_float, 0)] = nanmean_2d_float_axis0 + * nanmean_dict[(2, NPY_float, 1)] = nanmean_2d_float_axis1 + * nanmean_dict[(2, NPY_float32, 0)] = nanmean_2d_float32_axis0 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float32, 1)] = nanmean_2d_float32_axis1 + * nanmean_dict[(2, NPY_float64, 0)] = nanmean_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18174,19 +18174,19 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":834 - * nanmean_dict[(2, NPY_int, 1)] = nanmean_2d_int_axis1 - * nanmean_dict[(2, NPY_int8, 0)] = nanmean_2d_int8_axis0 - * nanmean_dict[(2, NPY_int8, 1)] = nanmean_2d_int8_axis1 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int32, 0)] = nanmean_2d_int32_axis0 - * nanmean_dict[(2, NPY_int32, 1)] = nanmean_2d_int32_axis1 + * nanmean_dict[(2, NPY_float, 1)] = nanmean_2d_float_axis1 + * nanmean_dict[(2, NPY_float32, 0)] = nanmean_2d_float32_axis0 + * nanmean_dict[(2, NPY_float32, 1)] = nanmean_2d_float32_axis1 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float64, 0)] = nanmean_2d_float64_axis0 + * nanmean_dict[(2, NPY_float64, 1)] = nanmean_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18204,19 +18204,19 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":835 - * nanmean_dict[(2, NPY_int8, 0)] = nanmean_2d_int8_axis0 - * nanmean_dict[(2, NPY_int8, 1)] = nanmean_2d_int8_axis1 - * nanmean_dict[(2, NPY_int32, 0)] = nanmean_2d_int32_axis0 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int32, 1)] = nanmean_2d_int32_axis1 - * nanmean_dict[(2, NPY_int64, 0)] = nanmean_2d_int64_axis0 + * nanmean_dict[(2, NPY_float32, 0)] = nanmean_2d_float32_axis0 + * nanmean_dict[(2, NPY_float32, 1)] = nanmean_2d_float32_axis1 + * nanmean_dict[(2, NPY_float64, 0)] = nanmean_2d_float64_axis0 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float64, 1)] = nanmean_2d_float64_axis1 + * nanmean_dict[(1, NPY_float, 0)] = nanmean_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18234,19 +18234,19 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":836 - * nanmean_dict[(2, NPY_int8, 1)] = nanmean_2d_int8_axis1 - * nanmean_dict[(2, NPY_int32, 0)] = nanmean_2d_int32_axis0 - * nanmean_dict[(2, NPY_int32, 1)] = nanmean_2d_int32_axis1 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int64, 0)] = nanmean_2d_int64_axis0 - * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 + * nanmean_dict[(2, NPY_float32, 1)] = nanmean_2d_float32_axis1 + * nanmean_dict[(2, NPY_float64, 0)] = nanmean_2d_float64_axis0 + * nanmean_dict[(2, NPY_float64, 1)] = nanmean_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float, 0)] = nanmean_1d_float_axisNone + * nanmean_dict[(1, NPY_float, None)] = nanmean_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18264,25 +18264,25 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":837 - * nanmean_dict[(2, NPY_int32, 0)] = nanmean_2d_int32_axis0 - * nanmean_dict[(2, NPY_int32, 1)] = nanmean_2d_int32_axis1 - * nanmean_dict[(2, NPY_int64, 0)] = nanmean_2d_int64_axis0 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 - * nanmean_dict[(1, NPY_float, 0)] = nanmean_1d_float_axisNone + * nanmean_dict[(2, NPY_float64, 0)] = nanmean_2d_float64_axis0 + * nanmean_dict[(2, NPY_float64, 1)] = nanmean_2d_float64_axis1 + * nanmean_dict[(1, NPY_float, 0)] = nanmean_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float, None)] = nanmean_1d_float_axisNone + * nanmean_dict[(1, NPY_float32, 0)] = nanmean_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -18294,49 +18294,49 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":838 - * nanmean_dict[(2, NPY_int32, 1)] = nanmean_2d_int32_axis1 - * nanmean_dict[(2, NPY_int64, 0)] = nanmean_2d_int64_axis0 - * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float64, 1)] = nanmean_2d_float64_axis1 * nanmean_dict[(1, NPY_float, 0)] = nanmean_1d_float_axisNone - * nanmean_dict[(1, NPY_float, None)] = nanmean_1d_float_axisNone + * nanmean_dict[(1, NPY_float, None)] = nanmean_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float32, 0)] = nanmean_1d_float32_axisNone + * nanmean_dict[(1, NPY_float32, None)] = nanmean_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":839 - * nanmean_dict[(2, NPY_int64, 0)] = nanmean_2d_int64_axis0 - * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 - * nanmean_dict[(1, NPY_float, 0)] = nanmean_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float, 0)] = nanmean_1d_float_axisNone * nanmean_dict[(1, NPY_float, None)] = nanmean_1d_float_axisNone - * nanmean_dict[(1, NPY_float32, 0)] = nanmean_1d_float32_axisNone + * nanmean_dict[(1, NPY_float32, 0)] = nanmean_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float32, None)] = nanmean_1d_float32_axisNone + * nanmean_dict[(1, NPY_float64, 0)] = nanmean_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18354,19 +18354,19 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":840 - * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 - * nanmean_dict[(1, NPY_float, 0)] = nanmean_1d_float_axisNone - * nanmean_dict[(1, NPY_float, None)] = nanmean_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float, None)] = nanmean_1d_float_axisNone * nanmean_dict[(1, NPY_float32, 0)] = nanmean_1d_float32_axisNone - * nanmean_dict[(1, NPY_float32, None)] = nanmean_1d_float32_axisNone + * nanmean_dict[(1, NPY_float32, None)] = nanmean_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float64, 0)] = nanmean_1d_float64_axisNone + * nanmean_dict[(1, NPY_float64, None)] = nanmean_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18384,19 +18384,19 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":841 - * nanmean_dict[(1, NPY_float, 0)] = nanmean_1d_float_axisNone - * nanmean_dict[(1, NPY_float, None)] = nanmean_1d_float_axisNone - * nanmean_dict[(1, NPY_float32, 0)] = nanmean_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float32, 0)] = nanmean_1d_float32_axisNone * nanmean_dict[(1, NPY_float32, None)] = nanmean_1d_float32_axisNone - * nanmean_dict[(1, NPY_float64, 0)] = nanmean_1d_float64_axisNone + * nanmean_dict[(1, NPY_float64, 0)] = nanmean_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float64, None)] = nanmean_1d_float64_axisNone + * nanmean_dict[(2, NPY_float, None)] = nanmean_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18414,19 +18414,19 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":842 - * nanmean_dict[(1, NPY_float, None)] = nanmean_1d_float_axisNone - * nanmean_dict[(1, NPY_float32, 0)] = nanmean_1d_float32_axisNone - * nanmean_dict[(1, NPY_float32, None)] = nanmean_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float32, None)] = nanmean_1d_float32_axisNone * nanmean_dict[(1, NPY_float64, 0)] = nanmean_1d_float64_axisNone - * nanmean_dict[(1, NPY_float64, None)] = nanmean_1d_float64_axisNone + * nanmean_dict[(1, NPY_float64, None)] = nanmean_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float, None)] = nanmean_2d_float_axisNone + * nanmean_dict[(2, NPY_float32, None)] = nanmean_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18444,55 +18444,55 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":843 - * nanmean_dict[(1, NPY_float32, 0)] = nanmean_1d_float32_axisNone - * nanmean_dict[(1, NPY_float32, None)] = nanmean_1d_float32_axisNone - * nanmean_dict[(1, NPY_float64, 0)] = nanmean_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float64, 0)] = nanmean_1d_float64_axisNone * nanmean_dict[(1, NPY_float64, None)] = nanmean_1d_float64_axisNone - * nanmean_dict[(2, NPY_float, None)] = nanmean_2d_float_axisNone + * nanmean_dict[(2, NPY_float, None)] = nanmean_2d_float_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float32, None)] = nanmean_2d_float32_axisNone + * nanmean_dict[(2, NPY_float64, None)] = nanmean_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":844 - * nanmean_dict[(1, NPY_float32, None)] = nanmean_1d_float32_axisNone - * nanmean_dict[(1, NPY_float64, 0)] = nanmean_1d_float64_axisNone - * nanmean_dict[(1, NPY_float64, None)] = nanmean_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_float64, None)] = nanmean_1d_float64_axisNone * nanmean_dict[(2, NPY_float, None)] = nanmean_2d_float_axisNone - * nanmean_dict[(2, NPY_float32, None)] = nanmean_2d_float32_axisNone + * nanmean_dict[(2, NPY_float32, None)] = nanmean_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float64, None)] = nanmean_2d_float64_axisNone + * nanmean_dict[(1, NPY_int, 0)] = nanmean_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -18504,19 +18504,19 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":845 - * nanmean_dict[(1, NPY_float64, 0)] = nanmean_1d_float64_axisNone - * nanmean_dict[(1, NPY_float64, None)] = nanmean_1d_float64_axisNone - * nanmean_dict[(2, NPY_float, None)] = nanmean_2d_float_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float, None)] = nanmean_2d_float_axisNone * nanmean_dict[(2, NPY_float32, None)] = nanmean_2d_float32_axisNone - * nanmean_dict[(2, NPY_float64, None)] = nanmean_2d_float64_axisNone + * nanmean_dict[(2, NPY_float64, None)] = nanmean_2d_float64_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_int, 0)] = nanmean_1d_int_axisNone + * nanmean_dict[(1, NPY_int, None)] = nanmean_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18534,55 +18534,55 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":846 - * nanmean_dict[(1, NPY_float64, None)] = nanmean_1d_float64_axisNone - * nanmean_dict[(2, NPY_float, None)] = nanmean_2d_float_axisNone - * nanmean_dict[(2, NPY_float32, None)] = nanmean_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_float32, None)] = nanmean_2d_float32_axisNone * nanmean_dict[(2, NPY_float64, None)] = nanmean_2d_float64_axisNone - * nanmean_dict[(2, NPY_float, 0)] = nanmean_2d_float_axis0 + * nanmean_dict[(1, NPY_int, 0)] = nanmean_1d_int_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_int, None)] = nanmean_1d_int_axisNone + * nanmean_dict[(1, NPY_int8, 0)] = nanmean_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":847 - * nanmean_dict[(2, NPY_float, None)] = nanmean_2d_float_axisNone - * nanmean_dict[(2, NPY_float32, None)] = nanmean_2d_float32_axisNone - * nanmean_dict[(2, NPY_float64, None)] = nanmean_2d_float64_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_float, 0)] = nanmean_2d_float_axis0 - * nanmean_dict[(2, NPY_float, 1)] = nanmean_2d_float_axis1 + * nanmean_dict[(2, NPY_float64, None)] = nanmean_2d_float64_axisNone + * nanmean_dict[(1, NPY_int, 0)] = nanmean_1d_int_axisNone + * nanmean_dict[(1, NPY_int, None)] = nanmean_1d_int_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_int8, 0)] = nanmean_1d_int8_axisNone + * nanmean_dict[(1, NPY_int8, None)] = nanmean_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -18594,25 +18594,25 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":848 - * nanmean_dict[(2, NPY_float32, None)] = nanmean_2d_float32_axisNone - * nanmean_dict[(2, NPY_float64, None)] = nanmean_2d_float64_axisNone - * nanmean_dict[(2, NPY_float, 0)] = nanmean_2d_float_axis0 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_float, 1)] = nanmean_2d_float_axis1 - * nanmean_dict[(2, NPY_float32, 0)] = nanmean_2d_float32_axis0 + * nanmean_dict[(1, NPY_int, 0)] = nanmean_1d_int_axisNone + * nanmean_dict[(1, NPY_int, None)] = nanmean_1d_int_axisNone + * nanmean_dict[(1, NPY_int8, 0)] = nanmean_1d_int8_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_int8, None)] = nanmean_1d_int8_axisNone + * nanmean_dict[(1, NPY_int32, 0)] = nanmean_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -18624,55 +18624,55 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":849 - * nanmean_dict[(2, NPY_float64, None)] = nanmean_2d_float64_axisNone - * nanmean_dict[(2, NPY_float, 0)] = nanmean_2d_float_axis0 - * nanmean_dict[(2, NPY_float, 1)] = nanmean_2d_float_axis1 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_float32, 0)] = nanmean_2d_float32_axis0 - * nanmean_dict[(2, NPY_float32, 1)] = nanmean_2d_float32_axis1 + * nanmean_dict[(1, NPY_int, None)] = nanmean_1d_int_axisNone + * nanmean_dict[(1, NPY_int8, 0)] = nanmean_1d_int8_axisNone + * nanmean_dict[(1, NPY_int8, None)] = nanmean_1d_int8_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_int32, 0)] = nanmean_1d_int32_axisNone + * nanmean_dict[(1, NPY_int32, None)] = nanmean_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":850 - * nanmean_dict[(2, NPY_float, 0)] = nanmean_2d_float_axis0 - * nanmean_dict[(2, NPY_float, 1)] = nanmean_2d_float_axis1 - * nanmean_dict[(2, NPY_float32, 0)] = nanmean_2d_float32_axis0 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_float32, 1)] = nanmean_2d_float32_axis1 - * nanmean_dict[(2, NPY_float64, 0)] = nanmean_2d_float64_axis0 + * nanmean_dict[(1, NPY_int8, 0)] = nanmean_1d_int8_axisNone + * nanmean_dict[(1, NPY_int8, None)] = nanmean_1d_int8_axisNone + * nanmean_dict[(1, NPY_int32, 0)] = nanmean_1d_int32_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_int32, None)] = nanmean_1d_int32_axisNone + * nanmean_dict[(1, NPY_int64, 0)] = nanmean_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -18684,55 +18684,55 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":851 - * nanmean_dict[(2, NPY_float, 1)] = nanmean_2d_float_axis1 - * nanmean_dict[(2, NPY_float32, 0)] = nanmean_2d_float32_axis0 - * nanmean_dict[(2, NPY_float32, 1)] = nanmean_2d_float32_axis1 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_float64, 0)] = nanmean_2d_float64_axis0 - * nanmean_dict[(2, NPY_float64, 1)] = nanmean_2d_float64_axis1 + * nanmean_dict[(1, NPY_int8, None)] = nanmean_1d_int8_axisNone + * nanmean_dict[(1, NPY_int32, 0)] = nanmean_1d_int32_axisNone + * nanmean_dict[(1, NPY_int32, None)] = nanmean_1d_int32_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_int64, 0)] = nanmean_1d_int64_axisNone + * nanmean_dict[(1, NPY_int64, None)] = nanmean_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":852 - * nanmean_dict[(2, NPY_float32, 0)] = nanmean_2d_float32_axis0 - * nanmean_dict[(2, NPY_float32, 1)] = nanmean_2d_float32_axis1 - * nanmean_dict[(2, NPY_float64, 0)] = nanmean_2d_float64_axis0 # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_float64, 1)] = nanmean_2d_float64_axis1 - * nanmean_dict[(1, NPY_int, 0)] = nanmean_1d_int_axisNone + * nanmean_dict[(1, NPY_int32, 0)] = nanmean_1d_int32_axisNone + * nanmean_dict[(1, NPY_int32, None)] = nanmean_1d_int32_axisNone + * nanmean_dict[(1, NPY_int64, 0)] = nanmean_1d_int64_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(1, NPY_int64, None)] = nanmean_1d_int64_axisNone + * nanmean_dict[(2, NPY_int, None)] = nanmean_2d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -18744,43 +18744,43 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":853 - * nanmean_dict[(2, NPY_float32, 1)] = nanmean_2d_float32_axis1 - * nanmean_dict[(2, NPY_float64, 0)] = nanmean_2d_float64_axis0 - * nanmean_dict[(2, NPY_float64, 1)] = nanmean_2d_float64_axis1 # <<<<<<<<<<<<<< - * nanmean_dict[(1, NPY_int, 0)] = nanmean_1d_int_axisNone - * nanmean_dict[(1, NPY_int, None)] = nanmean_1d_int_axisNone + * nanmean_dict[(1, NPY_int32, None)] = nanmean_1d_int32_axisNone + * nanmean_dict[(1, NPY_int64, 0)] = nanmean_1d_int64_axisNone + * nanmean_dict[(1, NPY_int64, None)] = nanmean_1d_int64_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int, None)] = nanmean_2d_int_axisNone + * nanmean_dict[(2, NPY_int8, None)] = nanmean_2d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":854 - * nanmean_dict[(2, NPY_float64, 0)] = nanmean_2d_float64_axis0 - * nanmean_dict[(2, NPY_float64, 1)] = nanmean_2d_float64_axis1 - * nanmean_dict[(1, NPY_int, 0)] = nanmean_1d_int_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(1, NPY_int, None)] = nanmean_1d_int_axisNone - * nanmean_dict[(1, NPY_int8, 0)] = nanmean_1d_int8_axisNone + * nanmean_dict[(1, NPY_int64, 0)] = nanmean_1d_int64_axisNone + * nanmean_dict[(1, NPY_int64, None)] = nanmean_1d_int64_axisNone + * nanmean_dict[(2, NPY_int, None)] = nanmean_2d_int_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int8, None)] = nanmean_2d_int8_axisNone + * nanmean_dict[(2, NPY_int32, None)] = nanmean_2d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -18790,39 +18790,39 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":855 - * nanmean_dict[(2, NPY_float64, 1)] = nanmean_2d_float64_axis1 - * nanmean_dict[(1, NPY_int, 0)] = nanmean_1d_int_axisNone - * nanmean_dict[(1, NPY_int, None)] = nanmean_1d_int_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(1, NPY_int8, 0)] = nanmean_1d_int8_axisNone - * nanmean_dict[(1, NPY_int8, None)] = nanmean_1d_int8_axisNone + * nanmean_dict[(1, NPY_int64, None)] = nanmean_1d_int64_axisNone + * nanmean_dict[(2, NPY_int, None)] = nanmean_2d_int_axisNone + * nanmean_dict[(2, NPY_int8, None)] = nanmean_2d_int8_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int32, None)] = nanmean_2d_int32_axisNone + * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -18834,55 +18834,55 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":856 - * nanmean_dict[(1, NPY_int, 0)] = nanmean_1d_int_axisNone - * nanmean_dict[(1, NPY_int, None)] = nanmean_1d_int_axisNone - * nanmean_dict[(1, NPY_int8, 0)] = nanmean_1d_int8_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(1, NPY_int8, None)] = nanmean_1d_int8_axisNone - * nanmean_dict[(1, NPY_int32, 0)] = nanmean_1d_int32_axisNone + * nanmean_dict[(2, NPY_int, None)] = nanmean_2d_int_axisNone + * nanmean_dict[(2, NPY_int8, None)] = nanmean_2d_int8_axisNone + * nanmean_dict[(2, NPY_int32, None)] = nanmean_2d_int32_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone + * nanmean_dict[(2, NPY_int, 0)] = nanmean_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":857 - * nanmean_dict[(1, NPY_int, None)] = nanmean_1d_int_axisNone - * nanmean_dict[(1, NPY_int8, 0)] = nanmean_1d_int8_axisNone - * nanmean_dict[(1, NPY_int8, None)] = nanmean_1d_int8_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(1, NPY_int32, 0)] = nanmean_1d_int32_axisNone - * nanmean_dict[(1, NPY_int32, None)] = nanmean_1d_int32_axisNone + * nanmean_dict[(2, NPY_int8, None)] = nanmean_2d_int8_axisNone + * nanmean_dict[(2, NPY_int32, None)] = nanmean_2d_int32_axisNone + * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int, 0)] = nanmean_2d_int_axis0 + * nanmean_dict[(2, NPY_int, 1)] = nanmean_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -18894,25 +18894,25 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":858 - * nanmean_dict[(1, NPY_int8, 0)] = nanmean_1d_int8_axisNone - * nanmean_dict[(1, NPY_int8, None)] = nanmean_1d_int8_axisNone - * nanmean_dict[(1, NPY_int32, 0)] = nanmean_1d_int32_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(1, NPY_int32, None)] = nanmean_1d_int32_axisNone - * nanmean_dict[(1, NPY_int64, 0)] = nanmean_1d_int64_axisNone + * nanmean_dict[(2, NPY_int32, None)] = nanmean_2d_int32_axisNone + * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone + * nanmean_dict[(2, NPY_int, 0)] = nanmean_2d_int_axis0 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int, 1)] = nanmean_2d_int_axis1 + * nanmean_dict[(2, NPY_int8, 0)] = nanmean_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -18924,55 +18924,55 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":859 - * nanmean_dict[(1, NPY_int8, None)] = nanmean_1d_int8_axisNone - * nanmean_dict[(1, NPY_int32, 0)] = nanmean_1d_int32_axisNone - * nanmean_dict[(1, NPY_int32, None)] = nanmean_1d_int32_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(1, NPY_int64, 0)] = nanmean_1d_int64_axisNone - * nanmean_dict[(1, NPY_int64, None)] = nanmean_1d_int64_axisNone + * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone + * nanmean_dict[(2, NPY_int, 0)] = nanmean_2d_int_axis0 + * nanmean_dict[(2, NPY_int, 1)] = nanmean_2d_int_axis1 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int8, 0)] = nanmean_2d_int8_axis0 + * nanmean_dict[(2, NPY_int8, 1)] = nanmean_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":860 - * nanmean_dict[(1, NPY_int32, 0)] = nanmean_1d_int32_axisNone - * nanmean_dict[(1, NPY_int32, None)] = nanmean_1d_int32_axisNone - * nanmean_dict[(1, NPY_int64, 0)] = nanmean_1d_int64_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(1, NPY_int64, None)] = nanmean_1d_int64_axisNone - * nanmean_dict[(2, NPY_int, None)] = nanmean_2d_int_axisNone + * nanmean_dict[(2, NPY_int, 0)] = nanmean_2d_int_axis0 + * nanmean_dict[(2, NPY_int, 1)] = nanmean_2d_int_axis1 + * nanmean_dict[(2, NPY_int8, 0)] = nanmean_2d_int8_axis0 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int8, 1)] = nanmean_2d_int8_axis1 + * nanmean_dict[(2, NPY_int32, 0)] = nanmean_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -18984,49 +18984,49 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":861 - * nanmean_dict[(1, NPY_int32, None)] = nanmean_1d_int32_axisNone - * nanmean_dict[(1, NPY_int64, 0)] = nanmean_1d_int64_axisNone - * nanmean_dict[(1, NPY_int64, None)] = nanmean_1d_int64_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int, None)] = nanmean_2d_int_axisNone - * nanmean_dict[(2, NPY_int8, None)] = nanmean_2d_int8_axisNone + * nanmean_dict[(2, NPY_int, 1)] = nanmean_2d_int_axis1 + * nanmean_dict[(2, NPY_int8, 0)] = nanmean_2d_int8_axis0 + * nanmean_dict[(2, NPY_int8, 1)] = nanmean_2d_int8_axis1 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int32, 0)] = nanmean_2d_int32_axis0 + * nanmean_dict[(2, NPY_int32, 1)] = nanmean_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":862 - * nanmean_dict[(1, NPY_int64, 0)] = nanmean_1d_int64_axisNone - * nanmean_dict[(1, NPY_int64, None)] = nanmean_1d_int64_axisNone - * nanmean_dict[(2, NPY_int, None)] = nanmean_2d_int_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int8, None)] = nanmean_2d_int8_axisNone - * nanmean_dict[(2, NPY_int32, None)] = nanmean_2d_int32_axisNone + * nanmean_dict[(2, NPY_int8, 0)] = nanmean_2d_int8_axis0 + * nanmean_dict[(2, NPY_int8, 1)] = nanmean_2d_int8_axis1 + * nanmean_dict[(2, NPY_int32, 0)] = nanmean_2d_int32_axis0 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int32, 1)] = nanmean_2d_int32_axis1 + * nanmean_dict[(2, NPY_int64, 0)] = nanmean_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19035,28 +19035,28 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":863 - * nanmean_dict[(1, NPY_int64, None)] = nanmean_1d_int64_axisNone - * nanmean_dict[(2, NPY_int, None)] = nanmean_2d_int_axisNone - * nanmean_dict[(2, NPY_int8, None)] = nanmean_2d_int8_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int32, None)] = nanmean_2d_int32_axisNone - * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone + * nanmean_dict[(2, NPY_int8, 1)] = nanmean_2d_int8_axis1 + * nanmean_dict[(2, NPY_int32, 0)] = nanmean_2d_int32_axis0 + * nanmean_dict[(2, NPY_int32, 1)] = nanmean_2d_int32_axis1 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int64, 0)] = nanmean_2d_int64_axis0 + * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19065,28 +19065,28 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":864 - * nanmean_dict[(2, NPY_int, None)] = nanmean_2d_int_axisNone - * nanmean_dict[(2, NPY_int8, None)] = nanmean_2d_int8_axisNone - * nanmean_dict[(2, NPY_int32, None)] = nanmean_2d_int32_axisNone # <<<<<<<<<<<<<< - * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone + * nanmean_dict[(2, NPY_int32, 0)] = nanmean_2d_int32_axis0 + * nanmean_dict[(2, NPY_int32, 1)] = nanmean_2d_int32_axis1 + * nanmean_dict[(2, NPY_int64, 0)] = nanmean_2d_int64_axis0 # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19095,22 +19095,22 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":865 - * nanmean_dict[(2, NPY_int8, None)] = nanmean_2d_int8_axisNone - * nanmean_dict[(2, NPY_int32, None)] = nanmean_2d_int32_axisNone - * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone # <<<<<<<<<<<<<< + * nanmean_dict[(2, NPY_int32, 1)] = nanmean_2d_int32_axis1 + * nanmean_dict[(2, NPY_int64, 0)] = nanmean_2d_int64_axis0 + * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nanmean_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmean_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_7nanmean_nanmean_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -19125,16 +19125,16 @@ PyMODINIT_FUNC PyInit_nanmean(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_7nanmean_nanmean_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmean.pyx":867 - * nanmean_dict[(2, NPY_int64, None)] = nanmean_2d_int64_axisNone + * nanmean_dict[(2, NPY_int64, 1)] = nanmean_2d_int64_axis1 * * def nanmean_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmean along axis 0." @@ -20108,7 +20108,7 @@ PyMODINIT_FUNC PyInit_nanmean(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/nanmin.c b/bottlechest/src/func/64bit/nanmin.c index 69f0ea3900..57f9fd5dc4 100644 --- a/bottlechest/src/func/64bit/nanmin.c +++ b/bottlechest/src/func/64bit/nanmin.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1104,13 +1104,13 @@ static __pyx_t_5numpy_float32_t __pyx_v_6nanmin_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_6nanmin_MAXfloat64; static PyObject *__pyx_v_6nanmin_nanmin_dict = 0; static PyObject *__pyx_v_6nanmin_nanmin_slow_dict = 0; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "nanmin" int __pyx_module_is_main_nanmin = 0; @@ -1122,34 +1122,34 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_6nanmin_nanmin(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_6nanmin_2nanmin_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_16nanmin_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_18nanmin_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_22nanmin_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_24nanmin_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_28nanmin_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_30nanmin_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_32nanmin_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_34nanmin_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_36nanmin_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_38nanmin_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_40nanmin_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_42nanmin_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_44nanmin_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_46nanmin_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_48nanmin_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_50nanmin_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_52nanmin_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_54nanmin_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_56nanmin_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nanmin_58nanmin_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_4nanmin_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_6nanmin_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_8nanmin_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_10nanmin_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_12nanmin_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_14nanmin_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_16nanmin_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_18nanmin_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_22nanmin_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_24nanmin_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_28nanmin_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_30nanmin_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_32nanmin_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_34nanmin_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_36nanmin_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_38nanmin_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_40nanmin_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_42nanmin_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_44nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_46nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_48nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_50nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_52nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_54nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_56nanmin_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nanmin_58nanmin_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_6nanmin_60nanmin_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6nanmin_62nanmin_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6nanmin_64nanmin_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1328,17 +1328,16 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Minimum_values_along_specified[] = "\n Minimum values along specified axis, ignoring NaNs.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}, optional\n Axis along which the minimum is computed. The default (axis=None) is\n to compute the minimum of the flattened array.\n\n Returns\n -------\n y : ndarray\n An array with the same shape as `arr`, with the specified axis removed.\n If `arr` is a 0-d array, or if axis is None, a scalar is returned.\n\n See also\n --------\n bottlechest.nanmax: Maximum along specified axis, ignoring NaNs.\n bottlechest.nanargmin: Indices of minimum values along axis, ignoring NaNs. \n\n Examples\n --------\n >>> bn.nanmin(1)\n 1\n >>> bn.nanmin([1])\n 1\n >>> bn.nanmin([1, np.nan])\n 1.0\n >>> a = np.array([[1, 4], [1, np.nan]])\n >>> bn.nanmin(a)\n 1.0\n >>> bn.nanmin(a, axis=0)\n array([ 1., 4.])\n \n "; static char __pyx_k_Return_nanmin_function_and_arra[] = "\n Return nanmin function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in bn.nanmin()\n is in checking that `axis` is within range, converting `arr` into an\n array (if it is not already an array), and selecting the function to use\n to calculate the minimum.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the minimum is to be computed.\n \n Returns\n -------\n func : function\n The nanmin function that matches the number of dimensions and\n dtype of the input array and the axis along which you wish to find\n the minimum.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine the minimum of `arr` along\n axis=0:\n\n >>> func, a = bn.func.nanmin_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the minimum:\n \n >>> func(a)\n 1.0\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/nanmin.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_numpy_nanmin_raises_on_a_size_0[] = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\nanmin.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_numpy_nanmin_raises_on_a_shape_a[] = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does."; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1352,6 +1351,7 @@ static PyObject *__pyx_kp_u_Return_nanmin_function_and_arra; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__7; static PyObject *__pyx_n_s_a; @@ -2459,24 +2459,24 @@ static PyObject *__pyx_pf_6nanmin_2nanmin_selector(CYTHON_UNUSED PyObject *__pyx /* "nanmin.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=0 ignoring NaNs." + * def nanmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_5nanmin_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_4nanmin_2d_int_axis0[] = "nanmin_2d_int_axis0(ndarray a)\nMinimum of 2d array with dtype=int along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_5nanmin_2d_int_axis0 = {"nanmin_2d_int_axis0", (PyCFunction)__pyx_pw_6nanmin_5nanmin_2d_int_axis0, METH_O, __pyx_doc_6nanmin_4nanmin_2d_int_axis0}; -static PyObject *__pyx_pw_6nanmin_5nanmin_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_5nanmin_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_4nanmin_2d_float_axis0[] = "nanmin_2d_float_axis0(ndarray a)\nMinimum of 2d array with dtype=float along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_5nanmin_2d_float_axis0 = {"nanmin_2d_float_axis0", (PyCFunction)__pyx_pw_6nanmin_5nanmin_2d_float_axis0, METH_O, __pyx_doc_6nanmin_4nanmin_2d_float_axis0}; +static PyObject *__pyx_pw_6nanmin_5nanmin_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanmin_2d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_4nanmin_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6nanmin_4nanmin_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2487,10 +2487,10 @@ static PyObject *__pyx_pw_6nanmin_5nanmin_2d_int_axis0(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amin; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_4nanmin_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amin; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2519,7 +2519,7 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("nanmin_2d_float_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2530,15 +2530,15 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanmin.pyx":185 - * def nanmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Minimum of 2d array with dtype=int along axis=0 ignoring NaNs." + * def nanmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Minimum of 2d array with dtype=float along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amin, ai + * cdef np.float_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; @@ -2566,7 +2566,7 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -2574,8 +2574,8 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; @@ -2583,17 +2583,17 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "nanmin.pyx":193 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -2604,8 +2604,8 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_t_2 = 0; /* "nanmin.pyx":195 - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -2614,7 +2614,7 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ if (__pyx_t_4) { /* "nanmin.pyx":196 - * NPY_int, 0) + * NPY_float, 0) * if n0 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -2628,7 +2628,7 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1): - * amin = MAXint + * amin = MAXfloat */ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -2647,8 +2647,8 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i1 in range(n1): # <<<<<<<<<<<<<< - * amin = MAXint - * for i0 in range(n0): + * amin = MAXfloat + * allnan = 1 */ __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { @@ -2657,15 +2657,24 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "nanmin.pyx":199 * raise ValueError(msg) * for i1 in range(n1): - * amin = MAXint # <<<<<<<<<<<<<< + * amin = MAXfloat # <<<<<<<<<<<<<< + * allnan = 1 * for i0 in range(n0): - * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat; /* "nanmin.pyx":200 * for i1 in range(n1): - * amin = MAXint + * amin = MAXfloat + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmin.pyx":201 + * amin = MAXfloat + * allnan = 1 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -2674,8 +2683,8 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "nanmin.pyx":201 - * amin = MAXint + /* "nanmin.pyx":202 + * allnan = 1 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -2683,45 +2692,79 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":202 + /* "nanmin.pyx":203 * for i0 in range(n0): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * y[i1] = amin + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":203 + /* "nanmin.pyx":204 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * y[i1] = amin - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amin = __pyx_v_ai; + + /* "nanmin.pyx":205 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = amin + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmin.pyx":204 - * if ai <= amin: + /* "nanmin.pyx":206 * amin = ai - * y[i1] = amin # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = amin + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":207 + * allnan = 0 + * if allnan == 0: + * y[i1] = amin # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmin.pyx":209 + * y[i1] = amin + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + __pyx_t_9 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; + } + __pyx_L9:; } - /* "nanmin.pyx":205 - * amin = ai - * y[i1] = amin + /* "nanmin.pyx":210 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2734,8 +2777,8 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "nanmin.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=0 ignoring NaNs." + * def nanmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -2748,7 +2791,7 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2762,27 +2805,27 @@ static PyObject *__pyx_pf_6nanmin_4nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "nanmin.pyx":209 +/* "nanmin.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=1 ignoring NaNs." + * def nanmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_7nanmin_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_6nanmin_2d_int_axis1[] = "nanmin_2d_int_axis1(ndarray a)\nMinimum of 2d array with dtype=int along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_7nanmin_2d_int_axis1 = {"nanmin_2d_int_axis1", (PyCFunction)__pyx_pw_6nanmin_7nanmin_2d_int_axis1, METH_O, __pyx_doc_6nanmin_6nanmin_2d_int_axis1}; -static PyObject *__pyx_pw_6nanmin_7nanmin_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_7nanmin_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_6nanmin_2d_float_axis1[] = "nanmin_2d_float_axis1(ndarray a)\nMinimum of 2d array with dtype=float along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_7nanmin_2d_float_axis1 = {"nanmin_2d_float_axis1", (PyCFunction)__pyx_pw_6nanmin_7nanmin_2d_float_axis1, METH_O, __pyx_doc_6nanmin_6nanmin_2d_float_axis1}; +static PyObject *__pyx_pw_6nanmin_7nanmin_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_6nanmin_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_float_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_6nanmin_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2793,10 +2836,10 @@ static PyObject *__pyx_pw_6nanmin_7nanmin_2d_int_axis1(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amin; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_6nanmin_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amin; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2825,7 +2868,7 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("nanmin_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2836,20 +2879,20 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":211 - * def nanmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Minimum of 2d array with dtype=int along axis=1 ignoring NaNs." + /* "nanmin.pyx":216 + * def nanmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Minimum of 2d array with dtype=float along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amin, ai + * cdef np.float_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":215 + /* "nanmin.pyx":220 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2858,7 +2901,7 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":216 + /* "nanmin.pyx":221 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2867,41 +2910,41 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":217 + /* "nanmin.pyx":222 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":218 + /* "nanmin.pyx":223 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":219 + /* "nanmin.pyx":224 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2909,9 +2952,9 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":221 - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + /* "nanmin.pyx":226 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -2919,8 +2962,8 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":222 - * NPY_int, 0) + /* "nanmin.pyx":227 + * NPY_float, 0) * if n1 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -2929,49 +2972,58 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; - /* "nanmin.pyx":223 + /* "nanmin.pyx":228 * if n1 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): - * amin = MAXint + * amin = MAXfloat */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":224 + /* "nanmin.pyx":229 * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i0 in range(n0): # <<<<<<<<<<<<<< - * amin = MAXint - * for i1 in range(n1): + * amin = MAXfloat + * allnan = 1 */ __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanmin.pyx":225 + /* "nanmin.pyx":230 * raise ValueError(msg) * for i0 in range(n0): - * amin = MAXint # <<<<<<<<<<<<<< + * amin = MAXfloat # <<<<<<<<<<<<<< + * allnan = 1 * for i1 in range(n1): - * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat; - /* "nanmin.pyx":226 + /* "nanmin.pyx":231 * for i0 in range(n0): - * amin = MAXint + * amin = MAXfloat + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmin.pyx":232 + * amin = MAXfloat + * allnan = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -2980,8 +3032,8 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i1 = __pyx_t_9; - /* "nanmin.pyx":227 - * amin = MAXint + /* "nanmin.pyx":233 + * allnan = 1 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -2989,45 +3041,79 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":228 + /* "nanmin.pyx":234 * for i1 in range(n1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * y[i0] = amin + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":229 + /* "nanmin.pyx":235 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * y[i0] = amin - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amin = __pyx_v_ai; + + /* "nanmin.pyx":236 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = amin + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmin.pyx":230 - * if ai <= amin: + /* "nanmin.pyx":237 * amin = ai - * y[i0] = amin # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = amin + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":238 + * allnan = 0 + * if allnan == 0: + * y[i0] = amin # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmin.pyx":240 + * y[i0] = amin + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + __pyx_t_9 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; + } + __pyx_L9:; } - /* "nanmin.pyx":231 - * amin = ai - * y[i0] = amin + /* "nanmin.pyx":241 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3037,11 +3123,11 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":209 + /* "nanmin.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=1 ignoring NaNs." + * def nanmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -3054,7 +3140,7 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3068,27 +3154,27 @@ static PyObject *__pyx_pf_6nanmin_6nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "nanmin.pyx":235 +/* "nanmin.pyx":245 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * def nanmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_9nanmin_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_8nanmin_2d_int8_axis0[] = "nanmin_2d_int8_axis0(ndarray a)\nMinimum of 2d array with dtype=int8 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_9nanmin_2d_int8_axis0 = {"nanmin_2d_int8_axis0", (PyCFunction)__pyx_pw_6nanmin_9nanmin_2d_int8_axis0, METH_O, __pyx_doc_6nanmin_8nanmin_2d_int8_axis0}; -static PyObject *__pyx_pw_6nanmin_9nanmin_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_9nanmin_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_8nanmin_2d_float32_axis0[] = "nanmin_2d_float32_axis0(ndarray a)\nMinimum of 2d array with dtype=float32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_9nanmin_2d_float32_axis0 = {"nanmin_2d_float32_axis0", (PyCFunction)__pyx_pw_6nanmin_9nanmin_2d_float32_axis0, METH_O, __pyx_doc_6nanmin_8nanmin_2d_float32_axis0}; +static PyObject *__pyx_pw_6nanmin_9nanmin_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_8nanmin_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_8nanmin_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3099,10 +3185,10 @@ static PyObject *__pyx_pw_6nanmin_9nanmin_2d_int8_axis0(PyObject *__pyx_self, Py return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amin; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_8nanmin_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amin; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3131,7 +3217,7 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nanmin_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3142,20 +3228,20 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":237 - * def nanmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Minimum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + /* "nanmin.pyx":247 + * def nanmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Minimum of 2d array with dtype=float32 along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amin, ai + * cdef np.float32_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":241 + /* "nanmin.pyx":251 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3164,7 +3250,7 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":242 + /* "nanmin.pyx":252 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3173,41 +3259,41 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":243 + /* "nanmin.pyx":253 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":244 + /* "nanmin.pyx":254 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":245 + /* "nanmin.pyx":255 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3215,9 +3301,9 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":247 - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + /* "nanmin.pyx":257 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -3225,8 +3311,8 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":248 - * NPY_int8, 0) + /* "nanmin.pyx":258 + * NPY_float32, 0) * if n0 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -3235,49 +3321,58 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; - /* "nanmin.pyx":249 + /* "nanmin.pyx":259 * if n0 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1): - * amin = MAXint8 + * amin = MAXfloat32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":250 + /* "nanmin.pyx":260 * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i1 in range(n1): # <<<<<<<<<<<<<< - * amin = MAXint8 - * for i0 in range(n0): + * amin = MAXfloat32 + * allnan = 1 */ __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":251 + /* "nanmin.pyx":261 * raise ValueError(msg) * for i1 in range(n1): - * amin = MAXint8 # <<<<<<<<<<<<<< + * amin = MAXfloat32 # <<<<<<<<<<<<<< + * allnan = 1 * for i0 in range(n0): - * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint8; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat32; - /* "nanmin.pyx":252 + /* "nanmin.pyx":262 * for i1 in range(n1): - * amin = MAXint8 + * amin = MAXfloat32 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmin.pyx":263 + * amin = MAXfloat32 + * allnan = 1 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -3286,8 +3381,8 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "nanmin.pyx":253 - * amin = MAXint8 + /* "nanmin.pyx":264 + * allnan = 1 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -3295,45 +3390,79 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":254 + /* "nanmin.pyx":265 * for i0 in range(n0): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * y[i1] = amin + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":255 + /* "nanmin.pyx":266 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * y[i1] = amin - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amin = __pyx_v_ai; + + /* "nanmin.pyx":267 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = amin + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmin.pyx":256 - * if ai <= amin: + /* "nanmin.pyx":268 * amin = ai - * y[i1] = amin # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = amin + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":269 + * allnan = 0 + * if allnan == 0: + * y[i1] = amin # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmin.pyx":271 + * y[i1] = amin + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + __pyx_t_9 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; + } + __pyx_L9:; } - /* "nanmin.pyx":257 - * amin = ai - * y[i1] = amin + /* "nanmin.pyx":272 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3343,11 +3472,11 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":235 + /* "nanmin.pyx":245 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * def nanmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -3360,7 +3489,7 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3374,27 +3503,27 @@ static PyObject *__pyx_pf_6nanmin_8nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "nanmin.pyx":261 +/* "nanmin.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * def nanmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_11nanmin_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_10nanmin_2d_int8_axis1[] = "nanmin_2d_int8_axis1(ndarray a)\nMinimum of 2d array with dtype=int8 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_11nanmin_2d_int8_axis1 = {"nanmin_2d_int8_axis1", (PyCFunction)__pyx_pw_6nanmin_11nanmin_2d_int8_axis1, METH_O, __pyx_doc_6nanmin_10nanmin_2d_int8_axis1}; -static PyObject *__pyx_pw_6nanmin_11nanmin_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_11nanmin_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_10nanmin_2d_float32_axis1[] = "nanmin_2d_float32_axis1(ndarray a)\nMinimum of 2d array with dtype=float32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_11nanmin_2d_float32_axis1 = {"nanmin_2d_float32_axis1", (PyCFunction)__pyx_pw_6nanmin_11nanmin_2d_float32_axis1, METH_O, __pyx_doc_6nanmin_10nanmin_2d_float32_axis1}; +static PyObject *__pyx_pw_6nanmin_11nanmin_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int8_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_10nanmin_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_float32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_10nanmin_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3405,10 +3534,10 @@ static PyObject *__pyx_pw_6nanmin_11nanmin_2d_int8_axis1(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amin; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_10nanmin_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amin; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3437,7 +3566,7 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("nanmin_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3448,20 +3577,20 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":263 - * def nanmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Minimum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + /* "nanmin.pyx":278 + * def nanmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Minimum of 2d array with dtype=float32 along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amin, ai + * cdef np.float32_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":267 + /* "nanmin.pyx":282 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3470,7 +3599,7 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":268 + /* "nanmin.pyx":283 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3479,41 +3608,41 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":269 + /* "nanmin.pyx":284 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":270 + /* "nanmin.pyx":285 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":271 + /* "nanmin.pyx":286 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3521,9 +3650,9 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":273 - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + /* "nanmin.pyx":288 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -3531,8 +3660,8 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":274 - * NPY_int8, 0) + /* "nanmin.pyx":289 + * NPY_float32, 0) * if n1 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -3541,49 +3670,58 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; - /* "nanmin.pyx":275 + /* "nanmin.pyx":290 * if n1 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): - * amin = MAXint8 + * amin = MAXfloat32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":276 + /* "nanmin.pyx":291 * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i0 in range(n0): # <<<<<<<<<<<<<< - * amin = MAXint8 - * for i1 in range(n1): + * amin = MAXfloat32 + * allnan = 1 */ __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanmin.pyx":277 + /* "nanmin.pyx":292 * raise ValueError(msg) * for i0 in range(n0): - * amin = MAXint8 # <<<<<<<<<<<<<< + * amin = MAXfloat32 # <<<<<<<<<<<<<< + * allnan = 1 * for i1 in range(n1): - * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint8; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat32; - /* "nanmin.pyx":278 + /* "nanmin.pyx":293 * for i0 in range(n0): - * amin = MAXint8 + * amin = MAXfloat32 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmin.pyx":294 + * amin = MAXfloat32 + * allnan = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -3592,8 +3730,8 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i1 = __pyx_t_9; - /* "nanmin.pyx":279 - * amin = MAXint8 + /* "nanmin.pyx":295 + * allnan = 1 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -3601,45 +3739,79 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":280 + /* "nanmin.pyx":296 * for i1 in range(n1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * y[i0] = amin + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":281 + /* "nanmin.pyx":297 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * y[i0] = amin - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amin = __pyx_v_ai; + + /* "nanmin.pyx":298 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = amin + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmin.pyx":282 - * if ai <= amin: + /* "nanmin.pyx":299 * amin = ai - * y[i0] = amin # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = amin + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":300 + * allnan = 0 + * if allnan == 0: + * y[i0] = amin # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmin.pyx":302 + * y[i0] = amin + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + __pyx_t_9 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; + } + __pyx_L9:; } - /* "nanmin.pyx":283 - * amin = ai - * y[i0] = amin + /* "nanmin.pyx":303 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3649,11 +3821,11 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":261 + /* "nanmin.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * def nanmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -3666,7 +3838,7 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3680,27 +3852,27 @@ static PyObject *__pyx_pf_6nanmin_10nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanmin.pyx":287 +/* "nanmin.pyx":307 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * def nanmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_13nanmin_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_12nanmin_2d_int32_axis0[] = "nanmin_2d_int32_axis0(ndarray a)\nMinimum of 2d array with dtype=int32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_13nanmin_2d_int32_axis0 = {"nanmin_2d_int32_axis0", (PyCFunction)__pyx_pw_6nanmin_13nanmin_2d_int32_axis0, METH_O, __pyx_doc_6nanmin_12nanmin_2d_int32_axis0}; -static PyObject *__pyx_pw_6nanmin_13nanmin_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_13nanmin_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_12nanmin_2d_float64_axis0[] = "nanmin_2d_float64_axis0(ndarray a)\nMinimum of 2d array with dtype=float64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_13nanmin_2d_float64_axis0 = {"nanmin_2d_float64_axis0", (PyCFunction)__pyx_pw_6nanmin_13nanmin_2d_float64_axis0, METH_O, __pyx_doc_6nanmin_12nanmin_2d_float64_axis0}; +static PyObject *__pyx_pw_6nanmin_13nanmin_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_12nanmin_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_12nanmin_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3711,10 +3883,10 @@ static PyObject *__pyx_pw_6nanmin_13nanmin_2d_int32_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amin; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_12nanmin_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_amin; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3743,7 +3915,7 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nanmin_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3754,20 +3926,20 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":289 - * def nanmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Minimum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + /* "nanmin.pyx":309 + * def nanmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Minimum of 2d array with dtype=float64 along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amin, ai + * cdef np.float64_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":293 + /* "nanmin.pyx":313 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3776,7 +3948,7 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":294 + /* "nanmin.pyx":314 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3785,41 +3957,41 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":295 + /* "nanmin.pyx":315 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":296 + /* "nanmin.pyx":316 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":297 + /* "nanmin.pyx":317 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * if n0 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3827,9 +3999,9 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":299 - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + /* "nanmin.pyx":319 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -3837,8 +4009,8 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":300 - * NPY_int32, 0) + /* "nanmin.pyx":320 + * NPY_float64, 0) * if n0 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -3847,49 +4019,58 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; - /* "nanmin.pyx":301 + /* "nanmin.pyx":321 * if n0 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i1 in range(n1): - * amin = MAXint32 + * amin = MAXfloat64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":302 + /* "nanmin.pyx":322 * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i1 in range(n1): # <<<<<<<<<<<<<< - * amin = MAXint32 - * for i0 in range(n0): + * amin = MAXfloat64 + * allnan = 1 */ __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":303 + /* "nanmin.pyx":323 * raise ValueError(msg) * for i1 in range(n1): - * amin = MAXint32 # <<<<<<<<<<<<<< + * amin = MAXfloat64 # <<<<<<<<<<<<<< + * allnan = 1 * for i0 in range(n0): - * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint32; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat64; - /* "nanmin.pyx":304 + /* "nanmin.pyx":324 * for i1 in range(n1): - * amin = MAXint32 + * amin = MAXfloat64 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmin.pyx":325 + * amin = MAXfloat64 + * allnan = 1 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -3898,8 +4079,8 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "nanmin.pyx":305 - * amin = MAXint32 + /* "nanmin.pyx":326 + * allnan = 1 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -3907,45 +4088,79 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":306 + /* "nanmin.pyx":327 * for i0 in range(n0): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * y[i1] = amin + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":307 + /* "nanmin.pyx":328 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * y[i1] = amin - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amin = __pyx_v_ai; + + /* "nanmin.pyx":329 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = amin + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmin.pyx":308 - * if ai <= amin: + /* "nanmin.pyx":330 * amin = ai - * y[i1] = amin # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = amin + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":331 + * allnan = 0 + * if allnan == 0: + * y[i1] = amin # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmin.pyx":333 + * y[i1] = amin + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + __pyx_t_9 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; + } + __pyx_L9:; } - /* "nanmin.pyx":309 - * amin = ai - * y[i1] = amin + /* "nanmin.pyx":334 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3955,11 +4170,11 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":287 + /* "nanmin.pyx":307 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * def nanmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ @@ -3972,7 +4187,7 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3986,27 +4201,27 @@ static PyObject *__pyx_pf_6nanmin_12nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanmin.pyx":313 +/* "nanmin.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * def nanmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_15nanmin_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_14nanmin_2d_int32_axis1[] = "nanmin_2d_int32_axis1(ndarray a)\nMinimum of 2d array with dtype=int32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_15nanmin_2d_int32_axis1 = {"nanmin_2d_int32_axis1", (PyCFunction)__pyx_pw_6nanmin_15nanmin_2d_int32_axis1, METH_O, __pyx_doc_6nanmin_14nanmin_2d_int32_axis1}; -static PyObject *__pyx_pw_6nanmin_15nanmin_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_15nanmin_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_14nanmin_2d_float64_axis1[] = "nanmin_2d_float64_axis1(ndarray a)\nMinimum of 2d array with dtype=float64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_15nanmin_2d_float64_axis1 = {"nanmin_2d_float64_axis1", (PyCFunction)__pyx_pw_6nanmin_15nanmin_2d_float64_axis1, METH_O, __pyx_doc_6nanmin_14nanmin_2d_float64_axis1}; +static PyObject *__pyx_pw_6nanmin_15nanmin_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_14nanmin_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_float64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_14nanmin_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4017,10 +4232,10 @@ static PyObject *__pyx_pw_6nanmin_15nanmin_2d_int32_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amin; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_14nanmin_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_amin; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -4049,7 +4264,7 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("nanmin_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4060,20 +4275,20 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":315 - * def nanmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Minimum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + /* "nanmin.pyx":340 + * def nanmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Minimum of 2d array with dtype=float64 along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amin, ai + * cdef np.float64_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":319 + /* "nanmin.pyx":344 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4082,7 +4297,7 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":320 + /* "nanmin.pyx":345 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4091,41 +4306,41 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":321 + /* "nanmin.pyx":346 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":322 + /* "nanmin.pyx":347 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":323 + /* "nanmin.pyx":348 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * if n1 == 0: */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4133,9 +4348,9 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":325 - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + /* "nanmin.pyx":350 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * if n1 == 0: # <<<<<<<<<<<<<< * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) @@ -4143,8 +4358,8 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":326 - * NPY_int32, 0) + /* "nanmin.pyx":351 + * NPY_float64, 0) * if n1 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< * raise ValueError(msg) @@ -4153,49 +4368,58 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; - /* "nanmin.pyx":327 + /* "nanmin.pyx":352 * if n1 == 0: * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): - * amin = MAXint32 + * amin = MAXfloat64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":328 + /* "nanmin.pyx":353 * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." * raise ValueError(msg) * for i0 in range(n0): # <<<<<<<<<<<<<< - * amin = MAXint32 - * for i1 in range(n1): + * amin = MAXfloat64 + * allnan = 1 */ __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "nanmin.pyx":329 + /* "nanmin.pyx":354 * raise ValueError(msg) * for i0 in range(n0): - * amin = MAXint32 # <<<<<<<<<<<<<< + * amin = MAXfloat64 # <<<<<<<<<<<<<< + * allnan = 1 * for i1 in range(n1): - * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint32; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat64; - /* "nanmin.pyx":330 + /* "nanmin.pyx":355 * for i0 in range(n0): - * amin = MAXint32 + * amin = MAXfloat64 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nanmin.pyx":356 + * amin = MAXfloat64 + * allnan = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: @@ -4204,8 +4428,8 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i1 = __pyx_t_9; - /* "nanmin.pyx":331 - * amin = MAXint32 + /* "nanmin.pyx":357 + * allnan = 1 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: @@ -4213,45 +4437,79 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":332 + /* "nanmin.pyx":358 * for i1 in range(n1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * y[i0] = amin + * allnan = 0 */ __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_4) { - /* "nanmin.pyx":333 + /* "nanmin.pyx":359 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * y[i0] = amin - * return y + * allnan = 0 + * if allnan == 0: */ __pyx_v_amin = __pyx_v_ai; + + /* "nanmin.pyx":360 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = amin + */ + __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - /* "nanmin.pyx":334 - * if ai <= amin: + /* "nanmin.pyx":361 * amin = ai - * y[i0] = amin # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = amin + * else: + */ + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":362 + * allnan = 0 + * if allnan == 0: + * y[i0] = amin # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + goto __pyx_L9; + } + /*else*/ { + + /* "nanmin.pyx":364 + * y[i0] = amin + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + __pyx_t_9 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; + } + __pyx_L9:; } - /* "nanmin.pyx":335 - * amin = ai - * y[i0] = amin + /* "nanmin.pyx":365 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4261,11 +4519,11 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":313 + /* "nanmin.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * def nanmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ @@ -4278,7 +4536,7 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4292,27 +4550,27 @@ static PyObject *__pyx_pf_6nanmin_14nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanmin.pyx":339 +/* "nanmin.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * def nanmin_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_17nanmin_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_16nanmin_2d_int64_axis0[] = "nanmin_2d_int64_axis0(ndarray a)\nMinimum of 2d array with dtype=int64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_17nanmin_2d_int64_axis0 = {"nanmin_2d_int64_axis0", (PyCFunction)__pyx_pw_6nanmin_17nanmin_2d_int64_axis0, METH_O, __pyx_doc_6nanmin_16nanmin_2d_int64_axis0}; -static PyObject *__pyx_pw_6nanmin_17nanmin_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_17nanmin_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_16nanmin_1d_float_axisNone[] = "nanmin_1d_float_axisNone(ndarray a)\nMinimum of 1d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_17nanmin_1d_float_axisNone = {"nanmin_1d_float_axisNone", (PyCFunction)__pyx_pw_6nanmin_17nanmin_1d_float_axisNone, METH_O, __pyx_doc_6nanmin_16nanmin_1d_float_axisNone}; +static PyObject *__pyx_pw_6nanmin_17nanmin_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_16nanmin_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_1d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_16nanmin_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4323,302 +4581,325 @@ static PyObject *__pyx_pw_6nanmin_17nanmin_2d_int64_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_16nanmin_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amin; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_16nanmin_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_amin; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmin_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmin.pyx":341 - * def nanmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Minimum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + /* "nanmin.pyx":371 + * def nanmin_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): + * "Minimum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amin, ai - * cdef Py_ssize_t i0, i1 + * cdef np.float_t amin, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":345 - * cdef Py_ssize_t i0, i1 + /* "nanmin.pyx":375 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":346 + /* "nanmin.pyx":376 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":347 + /* "nanmin.pyx":377 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmin.pyx":348 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "nanmin.pyx":349 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int64, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmin.pyx":351 - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) * if n0 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":352 - * NPY_int64, 0) + /* "nanmin.pyx":378 + * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i1 in range(n1): + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amin = MAXfloat */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":353 + /* "nanmin.pyx":379 * if n0 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * amin = MAXint64 + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amin = MAXfloat + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":354 - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * amin = MAXint64 - * for i0 in range(n0): + /* "nanmin.pyx":380 + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amin = MAXfloat # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat; - /* "nanmin.pyx":355 - * raise ValueError(msg) - * for i1 in range(n1): - * amin = MAXint64 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanmin.pyx":381 + * raise ValueError(m) + * amin = MAXfloat + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai <= amin: */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint64; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":356 - * for i1 in range(n1): - * amin = MAXint64 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai <= amin: + /* "nanmin.pyx":382 + * amin = MAXfloat + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmin.pyx":357 - * amin = MAXint64 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + /* "nanmin.pyx":383 + * for i0 in range(n0): + * ai = a[i0] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * allnan = 0 */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":358 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * y[i1] = amin + /* "nanmin.pyx":384 + * ai = a[i0] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { + __pyx_v_amin = __pyx_v_ai; - /* "nanmin.pyx":359 - * ai = a[i0, i1] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * y[i1] = amin - * return y + /* "nanmin.pyx":385 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * return np.float(amin) */ - __pyx_v_amin = __pyx_v_ai; - goto __pyx_L8; - } - __pyx_L8:; + __pyx_v_allnan = 0; + goto __pyx_L6; } - - /* "nanmin.pyx":360 - * if ai <= amin: - * amin = ai - * y[i1] = amin # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + __pyx_L6:; } - /* "nanmin.pyx":361 - * amin = ai - * y[i1] = amin - * return y # <<<<<<<<<<<<<< - * + /* "nanmin.pyx":386 + * amin = ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.float(amin) + * else: + */ + __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_1) { + + /* "nanmin.pyx":387 + * allnan = 0 + * if allnan == 0: + * return np.float(amin) # <<<<<<<<<<<<<< + * else: + * return np.float(NAN) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + } + /*else*/ { + + /* "nanmin.pyx":389 + * return np.float(amin) + * else: + * return np.float(NAN) # <<<<<<<<<<<<<< + * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_2 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_2) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + } - /* "nanmin.pyx":339 + /* "nanmin.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * def nanmin_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":365 +/* "nanmin.pyx":393 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=1 ignoring NaNs." + * def nanmin_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_19nanmin_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_18nanmin_2d_int64_axis1[] = "nanmin_2d_int64_axis1(ndarray a)\nMinimum of 2d array with dtype=int64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_19nanmin_2d_int64_axis1 = {"nanmin_2d_int64_axis1", (PyCFunction)__pyx_pw_6nanmin_19nanmin_2d_int64_axis1, METH_O, __pyx_doc_6nanmin_18nanmin_2d_int64_axis1}; -static PyObject *__pyx_pw_6nanmin_19nanmin_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_19nanmin_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_18nanmin_1d_float32_axisNone[] = "nanmin_1d_float32_axisNone(ndarray a)\nMinimum of 1d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_19nanmin_1d_float32_axisNone = {"nanmin_1d_float32_axisNone", (PyCFunction)__pyx_pw_6nanmin_19nanmin_1d_float32_axisNone, METH_O, __pyx_doc_6nanmin_18nanmin_1d_float32_axisNone}; +static PyObject *__pyx_pw_6nanmin_19nanmin_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_18nanmin_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_1d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_18nanmin_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4629,302 +4910,325 @@ static PyObject *__pyx_pw_6nanmin_19nanmin_2d_int64_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_18nanmin_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amin; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_18nanmin_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_amin; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmin_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmin.pyx":367 - * def nanmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Minimum of 2d array with dtype=int64 along axis=1 ignoring NaNs." + /* "nanmin.pyx":395 + * def nanmin_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): + * "Minimum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amin, ai - * cdef Py_ssize_t i0, i1 + * cdef np.float32_t amin, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":371 - * cdef Py_ssize_t i0, i1 + /* "nanmin.pyx":399 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":372 + /* "nanmin.pyx":400 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":373 + /* "nanmin.pyx":401 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":374 + /* "nanmin.pyx":402 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) + * if n0 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amin = MAXfloat32 */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":375 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int64, 0) - * if n1 == 0: + /* "nanmin.pyx":403 + * if n0 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amin = MAXfloat32 + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanmin.pyx":377 - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) + /* "nanmin.pyx":404 + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amin = MAXfloat32 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat32; - /* "nanmin.pyx":378 - * NPY_int64, 0) - * if n1 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i0 in range(n0): + /* "nanmin.pyx":405 + * raise ValueError(m) + * amin = MAXfloat32 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai <= amin: */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":379 - * if n1 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< + /* "nanmin.pyx":406 + * amin = MAXfloat32 * for i0 in range(n0): - * amin = MAXint64 - */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - - /* "nanmin.pyx":380 - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * amin = MAXint64 - * for i1 in range(n1): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmin.pyx":381 - * raise ValueError(msg) + /* "nanmin.pyx":407 * for i0 in range(n0): - * amin = MAXint64 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * allnan = 0 */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint64; + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":382 - * for i0 in range(n0): - * amin = MAXint64 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai <= amin: + /* "nanmin.pyx":408 + * ai = a[i0] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_amin = __pyx_v_ai; - /* "nanmin.pyx":383 - * amin = MAXint64 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + /* "nanmin.pyx":409 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * return np.float32(amin) */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_allnan = 0; + goto __pyx_L6; + } + __pyx_L6:; + } - /* "nanmin.pyx":384 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * y[i0] = amin + /* "nanmin.pyx":410 + * amin = ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.float32(amin) + * else: */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":385 - * ai = a[i0, i1] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * y[i0] = amin - * return y + /* "nanmin.pyx":411 + * allnan = 0 + * if allnan == 0: + * return np.float32(amin) # <<<<<<<<<<<<<< + * else: + * return np.float32(NAN) */ - __pyx_v_amin = __pyx_v_ai; - goto __pyx_L8; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); } - __pyx_L8:; } - - /* "nanmin.pyx":386 - * if ai <= amin: - * amin = ai - * y[i0] = amin # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanmin.pyx":387 - * amin = ai - * y[i0] = amin - * return y # <<<<<<<<<<<<<< + /* "nanmin.pyx":413 + * return np.float32(amin) + * else: + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_2 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_2) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + } - /* "nanmin.pyx":365 + /* "nanmin.pyx":393 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=1 ignoring NaNs." + * def nanmin_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":391 +/* "nanmin.pyx":417 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmin_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_21nanmin_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_20nanmin_1d_float_axisNone[] = "nanmin_1d_float_axisNone(ndarray a)\nMinimum of 1d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_21nanmin_1d_float_axisNone = {"nanmin_1d_float_axisNone", (PyCFunction)__pyx_pw_6nanmin_21nanmin_1d_float_axisNone, METH_O, __pyx_doc_6nanmin_20nanmin_1d_float_axisNone}; -static PyObject *__pyx_pw_6nanmin_21nanmin_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_21nanmin_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_20nanmin_1d_float64_axisNone[] = "nanmin_1d_float64_axisNone(ndarray a)\nMinimum of 1d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_21nanmin_1d_float64_axisNone = {"nanmin_1d_float64_axisNone", (PyCFunction)__pyx_pw_6nanmin_21nanmin_1d_float64_axisNone, METH_O, __pyx_doc_6nanmin_20nanmin_1d_float64_axisNone}; +static PyObject *__pyx_pw_6nanmin_21nanmin_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_1d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_20nanmin_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_1d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_20nanmin_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4935,10 +5239,10 @@ static PyObject *__pyx_pw_6nanmin_21nanmin_1d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amin; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_amin; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4959,27 +5263,27 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmin.pyx":393 - * def nanmin_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): - * "Minimum of 1d array with dtype=float along axis=None ignoring NaNs." + /* "nanmin.pyx":419 + * def nanmin_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): + * "Minimum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amin, ai + * cdef np.float64_t amin, ai * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":397 + /* "nanmin.pyx":423 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4988,7 +5292,7 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":398 + /* "nanmin.pyx":424 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4997,7 +5301,7 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":399 + /* "nanmin.pyx":425 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: # <<<<<<<<<<<<<< @@ -5007,48 +5311,48 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":400 + /* "nanmin.pyx":426 * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amin = MAXfloat + * amin = MAXfloat64 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":401 + /* "nanmin.pyx":427 * if n0 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXfloat + * amin = MAXfloat64 * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":402 + /* "nanmin.pyx":428 * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amin = MAXfloat # <<<<<<<<<<<<<< + * amin = MAXfloat64 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0] */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat64; - /* "nanmin.pyx":403 + /* "nanmin.pyx":429 * raise ValueError(m) - * amin = MAXfloat + * amin = MAXfloat64 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0] * if ai <= amin: @@ -5057,17 +5361,17 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":404 - * amin = MAXfloat + /* "nanmin.pyx":430 + * amin = MAXfloat64 * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmin.pyx":405 + /* "nanmin.pyx":431 * for i0 in range(n0): * ai = a[i0] * if ai <= amin: # <<<<<<<<<<<<<< @@ -5077,7 +5381,7 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":406 + /* "nanmin.pyx":432 * ai = a[i0] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< @@ -5086,12 +5390,12 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_amin = __pyx_v_ai; - /* "nanmin.pyx":407 + /* "nanmin.pyx":433 * if ai <= amin: * amin = ai * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float(amin) + * return np.float64(amin) */ __pyx_v_allnan = 0; goto __pyx_L6; @@ -5099,30 +5403,30 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_L6:; } - /* "nanmin.pyx":408 + /* "nanmin.pyx":434 * amin = ai * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float(amin) + * return np.float64(amin) * else: */ __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":409 + /* "nanmin.pyx":435 * allnan = 0 * if allnan == 0: - * return np.float(amin) # <<<<<<<<<<<<<< + * return np.float64(amin) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { @@ -5135,17 +5439,17 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -5156,20 +5460,20 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj } /*else*/ { - /* "nanmin.pyx":411 - * return np.float(amin) + /* "nanmin.pyx":437 + * return np.float64(amin) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { @@ -5182,17 +5486,17 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -5202,11 +5506,11 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "nanmin.pyx":391 + /* "nanmin.pyx":417 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmin_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -5221,7 +5525,7 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5233,27 +5537,27 @@ static PyObject *__pyx_pf_6nanmin_20nanmin_1d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanmin.pyx":415 +/* "nanmin.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float32 along axis=None ignoring NaNs." - * cdef int allnan = 1 + * def nanmin_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=None ignoring NaNs." + * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_23nanmin_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_22nanmin_1d_float32_axisNone[] = "nanmin_1d_float32_axisNone(ndarray a)\nMinimum of 1d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_23nanmin_1d_float32_axisNone = {"nanmin_1d_float32_axisNone", (PyCFunction)__pyx_pw_6nanmin_23nanmin_1d_float32_axisNone, METH_O, __pyx_doc_6nanmin_22nanmin_1d_float32_axisNone}; -static PyObject *__pyx_pw_6nanmin_23nanmin_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_23nanmin_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_22nanmin_2d_float_axisNone[] = "nanmin_2d_float_axisNone(ndarray a)\nMinimum of 2d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_23nanmin_2d_float_axisNone = {"nanmin_2d_float_axisNone", (PyCFunction)__pyx_pw_6nanmin_23nanmin_2d_float_axisNone, METH_O, __pyx_doc_6nanmin_22nanmin_2d_float_axisNone}; +static PyObject *__pyx_pw_6nanmin_23nanmin_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_1d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_22nanmin_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_22nanmin_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5264,13 +5568,15 @@ static PyObject *__pyx_pw_6nanmin_23nanmin_1d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_22nanmin_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_22nanmin_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amin; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_amin; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; @@ -5282,260 +5588,285 @@ static PyObject *__pyx_pf_6nanmin_22nanmin_1d_float32_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":417 - * def nanmin_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): - * "Minimum of 1d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanmin.pyx":443 + * def nanmin_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): + * "Minimum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amin, ai - * cdef Py_ssize_t i0 + * cdef np.float_t amin, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":421 - * cdef Py_ssize_t i0 + /* "nanmin.pyx":447 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":422 + /* "nanmin.pyx":448 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":423 + /* "nanmin.pyx":449 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanmin.pyx":450 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: # <<<<<<<<<<<<<< * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":424 - * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + /* "nanmin.pyx":451 + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amin = MAXfloat32 + * amin = MAXfloat */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":425 - * if n0 == 0: + /* "nanmin.pyx":452 + * if n0 * n1 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXfloat32 + * amin = MAXfloat * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":426 + /* "nanmin.pyx":453 * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amin = MAXfloat32 # <<<<<<<<<<<<<< + * amin = MAXfloat # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat32; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat; - /* "nanmin.pyx":427 + /* "nanmin.pyx":454 * raise ValueError(m) - * amin = MAXfloat32 + * amin = MAXfloat * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai <= amin: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":428 - * amin = MAXfloat32 + /* "nanmin.pyx":455 + * amin = MAXfloat * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai <= amin: */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":429 + /* "nanmin.pyx":456 * for i0 in range(n0): - * ai = a[i0] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * allnan = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":430 - * ai = a[i0] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 + /* "nanmin.pyx":457 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * allnan = 0 + */ + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { + + /* "nanmin.pyx":458 + * ai = a[i0, i1] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * allnan = 0 * if allnan == 0: */ - __pyx_v_amin = __pyx_v_ai; + __pyx_v_amin = __pyx_v_ai; - /* "nanmin.pyx":431 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< + /* "nanmin.pyx":459 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float32(amin) + * return np.float(amin) */ - __pyx_v_allnan = 0; - goto __pyx_L6; + __pyx_v_allnan = 0; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; } - /* "nanmin.pyx":432 - * amin = ai - * allnan = 0 + /* "nanmin.pyx":460 + * amin = ai + * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float32(amin) + * return np.float(amin) * else: */ __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":433 - * allnan = 0 + /* "nanmin.pyx":461 + * allnan = 0 * if allnan == 0: - * return np.float32(amin) # <<<<<<<<<<<<<< + * return np.float(amin) # <<<<<<<<<<<<<< * else: - * return np.float32(NAN) + * return np.float(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __Pyx_DECREF_SET(__pyx_t_10, function); } } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /*else*/ { - /* "nanmin.pyx":435 - * return np.float32(amin) + /* "nanmin.pyx":463 + * return np.float(amin) * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< + * return np.float(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + __Pyx_DECREF_SET(__pyx_t_12, function); } } if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } - /* "nanmin.pyx":415 + /* "nanmin.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmin_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -5543,14 +5874,14 @@ static PyObject *__pyx_pf_6nanmin_22nanmin_1d_float32_axisNone(CYTHON_UNUSED PyO __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5562,27 +5893,27 @@ static PyObject *__pyx_pf_6nanmin_22nanmin_1d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanmin.pyx":439 +/* "nanmin.pyx":467 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmin_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_25nanmin_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_24nanmin_1d_float64_axisNone[] = "nanmin_1d_float64_axisNone(ndarray a)\nMinimum of 1d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_25nanmin_1d_float64_axisNone = {"nanmin_1d_float64_axisNone", (PyCFunction)__pyx_pw_6nanmin_25nanmin_1d_float64_axisNone, METH_O, __pyx_doc_6nanmin_24nanmin_1d_float64_axisNone}; -static PyObject *__pyx_pw_6nanmin_25nanmin_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_25nanmin_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_24nanmin_2d_float32_axisNone[] = "nanmin_2d_float32_axisNone(ndarray a)\nMinimum of 2d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_25nanmin_2d_float32_axisNone = {"nanmin_2d_float32_axisNone", (PyCFunction)__pyx_pw_6nanmin_25nanmin_2d_float32_axisNone, METH_O, __pyx_doc_6nanmin_24nanmin_2d_float32_axisNone}; +static PyObject *__pyx_pw_6nanmin_25nanmin_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_1d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_24nanmin_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_24nanmin_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5593,13 +5924,15 @@ static PyObject *__pyx_pw_6nanmin_25nanmin_1d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_24nanmin_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_24nanmin_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amin; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_amin; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; @@ -5611,260 +5944,285 @@ static PyObject *__pyx_pf_6nanmin_24nanmin_1d_float64_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_1d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":441 - * def nanmin_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): - * "Minimum of 1d array with dtype=float64 along axis=None ignoring NaNs." + /* "nanmin.pyx":469 + * def nanmin_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): + * "Minimum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amin, ai - * cdef Py_ssize_t i0 + * cdef np.float32_t amin, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":445 - * cdef Py_ssize_t i0 + /* "nanmin.pyx":473 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":446 + /* "nanmin.pyx":474 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":447 + /* "nanmin.pyx":475 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanmin.pyx":476 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: # <<<<<<<<<<<<<< * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":448 - * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + /* "nanmin.pyx":477 + * cdef Py_ssize_t n1 = dim[1] + * if n0 * n1 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amin = MAXfloat64 + * amin = MAXfloat32 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":449 - * if n0 == 0: + /* "nanmin.pyx":478 + * if n0 * n1 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXfloat64 + * amin = MAXfloat32 * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":450 + /* "nanmin.pyx":479 * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amin = MAXfloat64 # <<<<<<<<<<<<<< + * amin = MAXfloat32 # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat64; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat32; - /* "nanmin.pyx":451 + /* "nanmin.pyx":480 * raise ValueError(m) - * amin = MAXfloat64 + * amin = MAXfloat32 * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai <= amin: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":452 - * amin = MAXfloat64 + /* "nanmin.pyx":481 + * amin = MAXfloat32 * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai <= amin: */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":453 + /* "nanmin.pyx":482 * for i0 in range(n0): - * ai = a[i0] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * allnan = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":454 - * ai = a[i0] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 + /* "nanmin.pyx":483 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * allnan = 0 + */ + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { + + /* "nanmin.pyx":484 + * ai = a[i0, i1] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * allnan = 0 * if allnan == 0: */ - __pyx_v_amin = __pyx_v_ai; + __pyx_v_amin = __pyx_v_ai; - /* "nanmin.pyx":455 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< + /* "nanmin.pyx":485 + * if ai <= amin: + * amin = ai + * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float64(amin) + * return np.float32(amin) */ - __pyx_v_allnan = 0; - goto __pyx_L6; + __pyx_v_allnan = 0; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; } - /* "nanmin.pyx":456 - * amin = ai - * allnan = 0 + /* "nanmin.pyx":486 + * amin = ai + * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float64(amin) + * return np.float32(amin) * else: */ __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":457 - * allnan = 0 + /* "nanmin.pyx":487 + * allnan = 0 * if allnan == 0: - * return np.float64(amin) # <<<<<<<<<<<<<< + * return np.float32(amin) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * return np.float32(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __Pyx_DECREF_SET(__pyx_t_10, function); } } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /*else*/ { - /* "nanmin.pyx":459 - * return np.float64(amin) + /* "nanmin.pyx":489 + * return np.float32(amin) * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + __Pyx_DECREF_SET(__pyx_t_12, function); } } if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } - /* "nanmin.pyx":439 + /* "nanmin.pyx":467 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmin_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -5872,14 +6230,14 @@ static PyObject *__pyx_pf_6nanmin_24nanmin_1d_float64_axisNone(CYTHON_UNUSED PyO __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5891,27 +6249,27 @@ static PyObject *__pyx_pf_6nanmin_24nanmin_1d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanmin.pyx":463 +/* "nanmin.pyx":493 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmin_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_27nanmin_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_26nanmin_2d_float_axisNone[] = "nanmin_2d_float_axisNone(ndarray a)\nMinimum of 2d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_27nanmin_2d_float_axisNone = {"nanmin_2d_float_axisNone", (PyCFunction)__pyx_pw_6nanmin_27nanmin_2d_float_axisNone, METH_O, __pyx_doc_6nanmin_26nanmin_2d_float_axisNone}; -static PyObject *__pyx_pw_6nanmin_27nanmin_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_27nanmin_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_26nanmin_2d_float64_axisNone[] = "nanmin_2d_float64_axisNone(ndarray a)\nMinimum of 2d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_27nanmin_2d_float64_axisNone = {"nanmin_2d_float64_axisNone", (PyCFunction)__pyx_pw_6nanmin_27nanmin_2d_float64_axisNone, METH_O, __pyx_doc_6nanmin_26nanmin_2d_float64_axisNone}; +static PyObject *__pyx_pw_6nanmin_27nanmin_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_26nanmin_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_26nanmin_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5922,10 +6280,10 @@ static PyObject *__pyx_pw_6nanmin_27nanmin_2d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amin; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_amin; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -5951,27 +6309,27 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":465 - * def nanmin_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): - * "Minimum of 2d array with dtype=float along axis=None ignoring NaNs." + /* "nanmin.pyx":495 + * def nanmin_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): + * "Minimum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amin, ai + * cdef np.float64_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":469 + /* "nanmin.pyx":499 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5980,7 +6338,7 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":470 + /* "nanmin.pyx":500 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5989,7 +6347,7 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":471 + /* "nanmin.pyx":501 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5998,7 +6356,7 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":472 + /* "nanmin.pyx":502 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * if n0 * n1 == 0: # <<<<<<<<<<<<<< @@ -6008,48 +6366,48 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":473 + /* "nanmin.pyx":503 * cdef Py_ssize_t n1 = dim[1] * if n0 * n1 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amin = MAXfloat + * amin = MAXfloat64 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":474 + /* "nanmin.pyx":504 * if n0 * n1 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXfloat + * amin = MAXfloat64 * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":475 + /* "nanmin.pyx":505 * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amin = MAXfloat # <<<<<<<<<<<<<< + * amin = MAXfloat64 # <<<<<<<<<<<<<< * for i0 in range(n0): * for i1 in range(n1): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat; + __pyx_v_amin = __pyx_v_6nanmin_MAXfloat64; - /* "nanmin.pyx":476 + /* "nanmin.pyx":506 * raise ValueError(m) - * amin = MAXfloat + * amin = MAXfloat64 * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] @@ -6058,8 +6416,8 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":477 - * amin = MAXfloat + /* "nanmin.pyx":507 + * amin = MAXfloat64 * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] @@ -6069,7 +6427,7 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":478 + /* "nanmin.pyx":508 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -6078,9 +6436,9 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":479 + /* "nanmin.pyx":509 * for i1 in range(n1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< @@ -6090,7 +6448,7 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":480 + /* "nanmin.pyx":510 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< @@ -6099,12 +6457,12 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_amin = __pyx_v_ai; - /* "nanmin.pyx":481 + /* "nanmin.pyx":511 * if ai <= amin: * amin = ai * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float(amin) + * return np.float64(amin) */ __pyx_v_allnan = 0; goto __pyx_L8; @@ -6113,30 +6471,30 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "nanmin.pyx":482 + /* "nanmin.pyx":512 * amin = ai * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float(amin) + * return np.float64(amin) * else: */ __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":483 + /* "nanmin.pyx":513 * allnan = 0 * if allnan == 0: - * return np.float(amin) # <<<<<<<<<<<<<< + * return np.float64(amin) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { @@ -6149,17 +6507,17 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } @@ -6170,20 +6528,20 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj } /*else*/ { - /* "nanmin.pyx":485 - * return np.float(amin) + /* "nanmin.pyx":515 + * return np.float64(amin) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { @@ -6196,17 +6554,17 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -6216,11 +6574,11 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "nanmin.pyx":463 + /* "nanmin.pyx":493 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmin_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -6235,7 +6593,7 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6247,27 +6605,27 @@ static PyObject *__pyx_pf_6nanmin_26nanmin_2d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanmin.pyx":489 +/* "nanmin.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmin_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_29nanmin_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_28nanmin_2d_float32_axisNone[] = "nanmin_2d_float32_axisNone(ndarray a)\nMinimum of 2d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_29nanmin_2d_float32_axisNone = {"nanmin_2d_float32_axisNone", (PyCFunction)__pyx_pw_6nanmin_29nanmin_2d_float32_axisNone, METH_O, __pyx_doc_6nanmin_28nanmin_2d_float32_axisNone}; -static PyObject *__pyx_pw_6nanmin_29nanmin_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_29nanmin_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_28nanmin_1d_int_axisNone[] = "nanmin_1d_int_axisNone(ndarray a)\nMinimum of 1d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_29nanmin_1d_int_axisNone = {"nanmin_1d_int_axisNone", (PyCFunction)__pyx_pw_6nanmin_29nanmin_1d_int_axisNone, METH_O, __pyx_doc_6nanmin_28nanmin_1d_int_axisNone}; +static PyObject *__pyx_pw_6nanmin_29nanmin_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_28nanmin_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_1d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_28nanmin_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6278,15 +6636,13 @@ static PyObject *__pyx_pw_6nanmin_29nanmin_2d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_28nanmin_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amin; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_28nanmin_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int_t __pyx_v_amin; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; @@ -6298,300 +6654,208 @@ static PyObject *__pyx_pf_6nanmin_28nanmin_2d_float32_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_1d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmin.pyx":491 - * def nanmin_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): - * "Minimum of 2d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanmin.pyx":521 + * def nanmin_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): + * "Minimum of 1d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amin, ai - * cdef Py_ssize_t i0, i1 + * cdef np.int_t amin, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":495 - * cdef Py_ssize_t i0, i1 + /* "nanmin.pyx":525 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":496 + /* "nanmin.pyx":526 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * if n0 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":497 + /* "nanmin.pyx":527 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmin.pyx":498 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":499 - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + /* "nanmin.pyx":528 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amin = MAXfloat32 + * amin = MAXint */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":500 - * if n0 * n1 == 0: + /* "nanmin.pyx":529 + * if n0 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXfloat32 + * amin = MAXint * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":501 + /* "nanmin.pyx":530 * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amin = MAXfloat32 # <<<<<<<<<<<<<< + * amin = MAXint # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): + * ai = a[i0] */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat32; + __pyx_v_amin = __pyx_v_6nanmin_MAXint; - /* "nanmin.pyx":502 + /* "nanmin.pyx":531 * raise ValueError(m) - * amin = MAXfloat32 + * amin = MAXint * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * if ai <= amin: */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":503 - * amin = MAXfloat32 + /* "nanmin.pyx":532 + * amin = MAXint * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai <= amin: + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmin.pyx":504 + /* "nanmin.pyx":533 * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmin.pyx":505 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * allnan = 0 - */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { - - /* "nanmin.pyx":506 - * ai = a[i0, i1] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * ai = a[i0] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * return np.int(amin) */ - __pyx_v_amin = __pyx_v_ai; + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":507 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.float32(amin) + /* "nanmin.pyx":534 + * ai = a[i0] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * return np.int(amin) + * */ - __pyx_v_allnan = 0; - goto __pyx_L8; - } - __pyx_L8:; + __pyx_v_amin = __pyx_v_ai; + goto __pyx_L6; } + __pyx_L6:; } - /* "nanmin.pyx":508 - * amin = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float32(amin) - * else: - */ - __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_1) { - - /* "nanmin.pyx":509 - * allnan = 0 - * if allnan == 0: - * return np.float32(amin) # <<<<<<<<<<<<<< - * else: - * return np.float32(NAN) + /* "nanmin.pyx":535 + * if ai <= amin: + * amin = ai + * return np.int(amin) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; } - /*else*/ { + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; - /* "nanmin.pyx":511 - * return np.float32(amin) - * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< - * + /* "nanmin.pyx":519 * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - } - } - if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - } - - /* "nanmin.pyx":489 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmin_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef int allnan = 1 + * @cython.wraparound(False) + * def nanmin_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6603,27 +6867,27 @@ static PyObject *__pyx_pf_6nanmin_28nanmin_2d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanmin.pyx":515 +/* "nanmin.pyx":539 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmin_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_31nanmin_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_30nanmin_2d_float64_axisNone[] = "nanmin_2d_float64_axisNone(ndarray a)\nMinimum of 2d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_31nanmin_2d_float64_axisNone = {"nanmin_2d_float64_axisNone", (PyCFunction)__pyx_pw_6nanmin_31nanmin_2d_float64_axisNone, METH_O, __pyx_doc_6nanmin_30nanmin_2d_float64_axisNone}; -static PyObject *__pyx_pw_6nanmin_31nanmin_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_31nanmin_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_30nanmin_1d_int8_axisNone[] = "nanmin_1d_int8_axisNone(ndarray a)\nMinimum of 1d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_31nanmin_1d_int8_axisNone = {"nanmin_1d_int8_axisNone", (PyCFunction)__pyx_pw_6nanmin_31nanmin_1d_int8_axisNone, METH_O, __pyx_doc_6nanmin_30nanmin_1d_int8_axisNone}; +static PyObject *__pyx_pw_6nanmin_31nanmin_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_30nanmin_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_1d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_30nanmin_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6634,15 +6898,13 @@ static PyObject *__pyx_pw_6nanmin_31nanmin_2d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_30nanmin_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amin; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_30nanmin_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int8_t __pyx_v_amin; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; @@ -6654,285 +6916,193 @@ static PyObject *__pyx_pf_6nanmin_30nanmin_2d_float64_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_1d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmin.pyx":517 - * def nanmin_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): - * "Minimum of 2d array with dtype=float64 along axis=None ignoring NaNs." + /* "nanmin.pyx":541 + * def nanmin_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): + * "Minimum of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amin, ai - * cdef Py_ssize_t i0, i1 + * cdef np.int8_t amin, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":521 - * cdef Py_ssize_t i0, i1 + /* "nanmin.pyx":545 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":522 + /* "nanmin.pyx":546 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * if n0 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":523 + /* "nanmin.pyx":547 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmin.pyx":524 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_1) { - /* "nanmin.pyx":525 - * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + /* "nanmin.pyx":548 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< * raise ValueError(m) - * amin = MAXfloat64 + * amin = MAXint8 */ __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":526 - * if n0 * n1 == 0: + /* "nanmin.pyx":549 + * if n0 == 0: * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXfloat64 + * amin = MAXint8 * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":527 + /* "nanmin.pyx":550 * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." * raise ValueError(m) - * amin = MAXfloat64 # <<<<<<<<<<<<<< + * amin = MAXint8 # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): + * ai = a[i0] */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat64; + __pyx_v_amin = __pyx_v_6nanmin_MAXint8; - /* "nanmin.pyx":528 + /* "nanmin.pyx":551 * raise ValueError(m) - * amin = MAXfloat64 + * amin = MAXint8 * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * if ai <= amin: */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":529 - * amin = MAXfloat64 + /* "nanmin.pyx":552 + * amin = MAXint8 * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai <= amin: + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmin.pyx":530 + /* "nanmin.pyx":553 * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmin.pyx":531 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * allnan = 0 - */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { - - /* "nanmin.pyx":532 - * ai = a[i0, i1] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * ai = a[i0] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * return np.int8(amin) */ - __pyx_v_amin = __pyx_v_ai; + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":533 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.float64(amin) + /* "nanmin.pyx":554 + * ai = a[i0] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * return np.int8(amin) + * */ - __pyx_v_allnan = 0; - goto __pyx_L8; - } - __pyx_L8:; + __pyx_v_amin = __pyx_v_ai; + goto __pyx_L6; } + __pyx_L6:; } - /* "nanmin.pyx":534 - * amin = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float64(amin) - * else: - */ - __pyx_t_1 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_1) { - - /* "nanmin.pyx":535 - * allnan = 0 - * if allnan == 0: - * return np.float64(amin) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanmin.pyx":555 + * if ai <= amin: + * amin = ai + * return np.int8(amin) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; } - /*else*/ { + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; - /* "nanmin.pyx":537 - * return np.float64(amin) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nanmin_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - } - } - if (!__pyx_t_2) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - } - - /* "nanmin.pyx":515 + /* "nanmin.pyx":539 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmin_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -6940,14 +7110,14 @@ static PyObject *__pyx_pf_6nanmin_30nanmin_2d_float64_axisNone(CYTHON_UNUSED PyO __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6959,27 +7129,27 @@ static PyObject *__pyx_pf_6nanmin_30nanmin_2d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanmin.pyx":541 +/* "nanmin.pyx":559 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=0 ignoring NaNs." + * def nanmin_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_33nanmin_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_32nanmin_2d_float_axis0[] = "nanmin_2d_float_axis0(ndarray a)\nMinimum of 2d array with dtype=float along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_33nanmin_2d_float_axis0 = {"nanmin_2d_float_axis0", (PyCFunction)__pyx_pw_6nanmin_33nanmin_2d_float_axis0, METH_O, __pyx_doc_6nanmin_32nanmin_2d_float_axis0}; -static PyObject *__pyx_pw_6nanmin_33nanmin_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_33nanmin_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_32nanmin_1d_int32_axisNone[] = "nanmin_1d_int32_axisNone(ndarray a)\nMinimum of 1d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_33nanmin_1d_int32_axisNone = {"nanmin_1d_int32_axisNone", (PyCFunction)__pyx_pw_6nanmin_33nanmin_1d_int32_axisNone, METH_O, __pyx_doc_6nanmin_32nanmin_1d_int32_axisNone}; +static PyObject *__pyx_pw_6nanmin_33nanmin_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_32nanmin_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_1d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_32nanmin_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6990,345 +7160,258 @@ static PyObject *__pyx_pw_6nanmin_33nanmin_2d_float_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_32nanmin_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amin; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_32nanmin_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int32_t __pyx_v_amin; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_float_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmin_1d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmin.pyx":543 - * def nanmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Minimum of 2d array with dtype=float along axis=0 ignoring NaNs." + /* "nanmin.pyx":561 + * def nanmin_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): + * "Minimum of 1d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amin, ai - * cdef Py_ssize_t i0, i1 + * cdef np.int32_t amin, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":547 - * cdef Py_ssize_t i0, i1 + /* "nanmin.pyx":565 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":548 + /* "nanmin.pyx":566 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":549 + /* "nanmin.pyx":567 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanmin.pyx":550 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "nanmin.pyx":551 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmin.pyx":553 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) * if n0 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":554 - * NPY_float, 0) + /* "nanmin.pyx":568 + * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i1 in range(n1): + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amin = MAXint32 */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":555 + /* "nanmin.pyx":569 * if n0 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * amin = MAXfloat + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amin = MAXint32 + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":556 - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * amin = MAXfloat - * allnan = 1 + /* "nanmin.pyx":570 + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amin = MAXint32 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_v_amin = __pyx_v_6nanmin_MAXint32; - /* "nanmin.pyx":557 - * raise ValueError(msg) - * for i1 in range(n1): - * amin = MAXfloat # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0): + /* "nanmin.pyx":571 + * raise ValueError(m) + * amin = MAXint32 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai <= amin: */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":558 - * for i1 in range(n1): - * amin = MAXfloat - * allnan = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanmin.pyx":572 + * amin = MAXint32 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_v_allnan = 1; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmin.pyx":559 - * amin = MAXfloat - * allnan = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai <= amin: + /* "nanmin.pyx":573 + * for i0 in range(n0): + * ai = a[i0] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * return np.int32(amin) */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":560 - * allnan = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + /* "nanmin.pyx":574 + * ai = a[i0] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * return np.int32(amin) + * */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmin.pyx":561 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * allnan = 0 - */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":562 - * ai = a[i0, i1] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: - */ - __pyx_v_amin = __pyx_v_ai; - - /* "nanmin.pyx":563 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = amin - */ - __pyx_v_allnan = 0; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "nanmin.pyx":564 - * amin = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = amin - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":565 - * allnan = 0 - * if allnan == 0: - * y[i1] = amin # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN - */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; - goto __pyx_L9; - } - /*else*/ { - - /* "nanmin.pyx":567 - * y[i1] = amin - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_9 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; + __pyx_v_amin = __pyx_v_ai; + goto __pyx_L6; } - __pyx_L9:; + __pyx_L6:; } - /* "nanmin.pyx":568 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmin.pyx":575 + * if ai <= amin: + * amin = ai + * return np.int32(amin) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanmin.pyx":541 + /* "nanmin.pyx":559 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=0 ignoring NaNs." + * def nanmin_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":572 +/* "nanmin.pyx":579 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=1 ignoring NaNs." + * def nanmin_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_35nanmin_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_34nanmin_2d_float_axis1[] = "nanmin_2d_float_axis1(ndarray a)\nMinimum of 2d array with dtype=float along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_35nanmin_2d_float_axis1 = {"nanmin_2d_float_axis1", (PyCFunction)__pyx_pw_6nanmin_35nanmin_2d_float_axis1, METH_O, __pyx_doc_6nanmin_34nanmin_2d_float_axis1}; -static PyObject *__pyx_pw_6nanmin_35nanmin_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_35nanmin_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_34nanmin_1d_int64_axisNone[] = "nanmin_1d_int64_axisNone(ndarray a)\nMinimum of 1d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_35nanmin_1d_int64_axisNone = {"nanmin_1d_int64_axisNone", (PyCFunction)__pyx_pw_6nanmin_35nanmin_1d_int64_axisNone, METH_O, __pyx_doc_6nanmin_34nanmin_1d_int64_axisNone}; +static PyObject *__pyx_pw_6nanmin_35nanmin_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_float_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_34nanmin_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_1d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_34nanmin_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7339,345 +7422,258 @@ static PyObject *__pyx_pw_6nanmin_35nanmin_2d_float_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_34nanmin_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_amin; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_34nanmin_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int64_t __pyx_v_amin; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_float_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmin_1d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanmin.pyx":574 - * def nanmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Minimum of 2d array with dtype=float along axis=1 ignoring NaNs." + /* "nanmin.pyx":581 + * def nanmin_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): + * "Minimum of 1d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t amin, ai - * cdef Py_ssize_t i0, i1 + * cdef np.int64_t amin, ai + * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":578 - * cdef Py_ssize_t i0, i1 + /* "nanmin.pyx":585 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":579 + /* "nanmin.pyx":586 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":580 + /* "nanmin.pyx":587 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":581 + /* "nanmin.pyx":588 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * if n0 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amin = MAXint64 */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":582 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * if n1 == 0: + /* "nanmin.pyx":589 + * if n0 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amin = MAXint64 + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmin.pyx":584 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { - /* "nanmin.pyx":585 - * NPY_float, 0) - * if n1 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) + /* "nanmin.pyx":590 + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amin = MAXint64 # <<<<<<<<<<<<<< * for i0 in range(n0): + * ai = a[i0] */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + __pyx_v_amin = __pyx_v_6nanmin_MAXint64; - /* "nanmin.pyx":586 - * if n1 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * amin = MAXfloat - */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - - /* "nanmin.pyx":587 - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) + /* "nanmin.pyx":591 + * raise ValueError(m) + * amin = MAXint64 * for i0 in range(n0): # <<<<<<<<<<<<<< - * amin = MAXfloat - * allnan = 1 + * ai = a[i0] + * if ai <= amin: */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":588 - * raise ValueError(msg) + /* "nanmin.pyx":592 + * amin = MAXint64 * for i0 in range(n0): - * amin = MAXfloat # <<<<<<<<<<<<<< - * allnan = 1 - * for i1 in range(n1): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat; + __pyx_t_6 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanmin.pyx":589 + /* "nanmin.pyx":593 * for i0 in range(n0): - * amin = MAXfloat - * allnan = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_allnan = 1; - - /* "nanmin.pyx":590 - * amin = MAXfloat - * allnan = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai <= amin: - */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; - - /* "nanmin.pyx":591 - * allnan = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai - */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanmin.pyx":592 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * allnan = 0 - */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":593 - * ai = a[i0, i1] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: - */ - __pyx_v_amin = __pyx_v_ai; - - /* "nanmin.pyx":594 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = amin - */ - __pyx_v_allnan = 0; - goto __pyx_L8; - } - __pyx_L8:; - } - - /* "nanmin.pyx":595 - * amin = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = amin - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":596 - * allnan = 0 - * if allnan == 0: - * y[i0] = amin # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN + * ai = a[i0] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * return np.int64(amin) */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; - goto __pyx_L9; - } - /*else*/ { + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":598 - * y[i0] = amin - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y + /* "nanmin.pyx":594 + * ai = a[i0] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * return np.int64(amin) * */ - __pyx_t_9 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; + __pyx_v_amin = __pyx_v_ai; + goto __pyx_L6; } - __pyx_L9:; + __pyx_L6:; } - /* "nanmin.pyx":599 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmin.pyx":595 + * if ai <= amin: + * amin = ai + * return np.int64(amin) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + if (!__pyx_t_8) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanmin.pyx":572 + /* "nanmin.pyx":579 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=1 ignoring NaNs." + * def nanmin_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":603 +/* "nanmin.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * def nanmin_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_37nanmin_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_36nanmin_2d_float32_axis0[] = "nanmin_2d_float32_axis0(ndarray a)\nMinimum of 2d array with dtype=float32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_37nanmin_2d_float32_axis0 = {"nanmin_2d_float32_axis0", (PyCFunction)__pyx_pw_6nanmin_37nanmin_2d_float32_axis0, METH_O, __pyx_doc_6nanmin_36nanmin_2d_float32_axis0}; -static PyObject *__pyx_pw_6nanmin_37nanmin_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_37nanmin_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_36nanmin_2d_int_axisNone[] = "nanmin_2d_int_axisNone(ndarray a)\nMinimum of 2d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_37nanmin_2d_int_axisNone = {"nanmin_2d_int_axisNone", (PyCFunction)__pyx_pw_6nanmin_37nanmin_2d_int_axisNone, METH_O, __pyx_doc_6nanmin_36nanmin_2d_int_axisNone}; +static PyObject *__pyx_pw_6nanmin_37nanmin_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_36nanmin_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_36nanmin_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7688,63 +7684,56 @@ static PyObject *__pyx_pw_6nanmin_37nanmin_2d_float32_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_36nanmin_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amin; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_36nanmin_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int_t __pyx_v_amin; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_float32_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmin_2d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":605 - * def nanmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Minimum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + /* "nanmin.pyx":601 + * def nanmin_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): + * "Minimum of 2d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amin, ai + * cdef np.int_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":609 + /* "nanmin.pyx":605 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7753,280 +7742,227 @@ static PyObject *__pyx_pf_6nanmin_36nanmin_2d_float32_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":610 + /* "nanmin.pyx":606 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":611 + /* "nanmin.pyx":607 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":612 + /* "nanmin.pyx":608 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":613 + /* "nanmin.pyx":609 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmin.pyx":615 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":616 - * NPY_float32, 0) - * if n0 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i1 in range(n1): + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amin = MAXint */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":617 - * if n0 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * amin = MAXfloat32 + /* "nanmin.pyx":610 + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amin = MAXint + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":618 - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * amin = MAXfloat32 - * allnan = 1 - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanmin.pyx":619 - * raise ValueError(msg) - * for i1 in range(n1): - * amin = MAXfloat32 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0): + /* "nanmin.pyx":611 + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amin = MAXint # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat32; + __pyx_v_amin = __pyx_v_6nanmin_MAXint; - /* "nanmin.pyx":620 - * for i1 in range(n1): - * amin = MAXfloat32 - * allnan = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanmin.pyx":612 + * raise ValueError(m) + * amin = MAXint + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":621 - * amin = MAXfloat32 - * allnan = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "nanmin.pyx":613 + * amin = MAXint + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":622 - * allnan = 1 - * for i0 in range(n0): + /* "nanmin.pyx":614 + * for i0 in range(n0): + * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":623 - * for i0 in range(n0): + /* "nanmin.pyx":615 + * for i1 in range(n1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * return np.int(amin) */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":624 + /* "nanmin.pyx":616 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * return np.int(amin) + * */ __pyx_v_amin = __pyx_v_ai; - - /* "nanmin.pyx":625 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = amin - */ - __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - - /* "nanmin.pyx":626 - * amin = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = amin - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":627 - * allnan = 0 - * if allnan == 0: - * y[i1] = amin # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN - */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; - goto __pyx_L9; - } - /*else*/ { - - /* "nanmin.pyx":629 - * y[i1] = amin - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_9 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; - } - __pyx_L9:; } - /* "nanmin.pyx":630 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmin.pyx":617 + * if ai <= amin: + * amin = ai + * return np.int(amin) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanmin.pyx":603 + /* "nanmin.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * def nanmin_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":634 +/* "nanmin.pyx":621 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * def nanmin_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_39nanmin_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_38nanmin_2d_float32_axis1[] = "nanmin_2d_float32_axis1(ndarray a)\nMinimum of 2d array with dtype=float32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_39nanmin_2d_float32_axis1 = {"nanmin_2d_float32_axis1", (PyCFunction)__pyx_pw_6nanmin_39nanmin_2d_float32_axis1, METH_O, __pyx_doc_6nanmin_38nanmin_2d_float32_axis1}; -static PyObject *__pyx_pw_6nanmin_39nanmin_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_39nanmin_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_38nanmin_2d_int8_axisNone[] = "nanmin_2d_int8_axisNone(ndarray a)\nMinimum of 2d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_39nanmin_2d_int8_axisNone = {"nanmin_2d_int8_axisNone", (PyCFunction)__pyx_pw_6nanmin_39nanmin_2d_int8_axisNone, METH_O, __pyx_doc_6nanmin_38nanmin_2d_int8_axisNone}; +static PyObject *__pyx_pw_6nanmin_39nanmin_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_float32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_38nanmin_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_38nanmin_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8037,63 +7973,56 @@ static PyObject *__pyx_pw_6nanmin_39nanmin_2d_float32_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_38nanmin_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_amin; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_38nanmin_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int8_t __pyx_v_amin; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_float32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmin_2d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":636 - * def nanmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Minimum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + /* "nanmin.pyx":623 + * def nanmin_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): + * "Minimum of 2d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t amin, ai + * cdef np.int8_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":640 + /* "nanmin.pyx":627 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8102,280 +8031,227 @@ static PyObject *__pyx_pf_6nanmin_38nanmin_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":641 + /* "nanmin.pyx":628 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":642 + /* "nanmin.pyx":629 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":643 + /* "nanmin.pyx":630 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":644 + /* "nanmin.pyx":631 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) - * if n1 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmin.pyx":646 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":647 - * NPY_float32, 0) - * if n1 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i0 in range(n0): + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amin = MAXint8 */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":648 - * if n1 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< + /* "nanmin.pyx":632 + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amin = MAXint8 * for i0 in range(n0): - * amin = MAXfloat32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":649 - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * amin = MAXfloat32 - * allnan = 1 - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanmin.pyx":650 - * raise ValueError(msg) + /* "nanmin.pyx":633 + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amin = MAXint8 # <<<<<<<<<<<<<< * for i0 in range(n0): - * amin = MAXfloat32 # <<<<<<<<<<<<<< - * allnan = 1 * for i1 in range(n1): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat32; + __pyx_v_amin = __pyx_v_6nanmin_MAXint8; - /* "nanmin.pyx":651 - * for i0 in range(n0): - * amin = MAXfloat32 - * allnan = 1 # <<<<<<<<<<<<<< + /* "nanmin.pyx":634 + * raise ValueError(m) + * amin = MAXint8 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":652 - * amin = MAXfloat32 - * allnan = 1 + /* "nanmin.pyx":635 + * amin = MAXint8 + * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":653 - * allnan = 1 + /* "nanmin.pyx":636 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":654 + /* "nanmin.pyx":637 * for i1 in range(n1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * return np.int8(amin) */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":655 + /* "nanmin.pyx":638 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * return np.int8(amin) + * */ __pyx_v_amin = __pyx_v_ai; - - /* "nanmin.pyx":656 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = amin - */ - __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - - /* "nanmin.pyx":657 - * amin = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = amin - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":658 - * allnan = 0 - * if allnan == 0: - * y[i0] = amin # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN - */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; - goto __pyx_L9; - } - /*else*/ { - - /* "nanmin.pyx":660 - * y[i0] = amin - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_9 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; - } - __pyx_L9:; } - /* "nanmin.pyx":661 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmin.pyx":639 + * if ai <= amin: + * amin = ai + * return np.int8(amin) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int8); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanmin.pyx":634 + /* "nanmin.pyx":621 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * def nanmin_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":665 +/* "nanmin.pyx":643 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * def nanmin_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_41nanmin_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_40nanmin_2d_float64_axis0[] = "nanmin_2d_float64_axis0(ndarray a)\nMinimum of 2d array with dtype=float64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_41nanmin_2d_float64_axis0 = {"nanmin_2d_float64_axis0", (PyCFunction)__pyx_pw_6nanmin_41nanmin_2d_float64_axis0, METH_O, __pyx_doc_6nanmin_40nanmin_2d_float64_axis0}; -static PyObject *__pyx_pw_6nanmin_41nanmin_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_41nanmin_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_40nanmin_2d_int32_axisNone[] = "nanmin_2d_int32_axisNone(ndarray a)\nMinimum of 2d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_41nanmin_2d_int32_axisNone = {"nanmin_2d_int32_axisNone", (PyCFunction)__pyx_pw_6nanmin_41nanmin_2d_int32_axisNone, METH_O, __pyx_doc_6nanmin_40nanmin_2d_int32_axisNone}; +static PyObject *__pyx_pw_6nanmin_41nanmin_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_40nanmin_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_40nanmin_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8386,63 +8262,56 @@ static PyObject *__pyx_pw_6nanmin_41nanmin_2d_float64_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_40nanmin_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amin; - __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; +static PyObject *__pyx_pf_6nanmin_40nanmin_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int32_t __pyx_v_amin; + __pyx_t_5numpy_int32_t __pyx_v_ai; + Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_float64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmin_2d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":667 - * def nanmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Minimum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + /* "nanmin.pyx":645 + * def nanmin_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): + * "Minimum of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amin, ai + * cdef np.int32_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":671 + /* "nanmin.pyx":649 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8451,280 +8320,227 @@ static PyObject *__pyx_pf_6nanmin_40nanmin_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":672 + /* "nanmin.pyx":650 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":673 + /* "nanmin.pyx":651 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":674 + /* "nanmin.pyx":652 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":675 + /* "nanmin.pyx":653 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmin.pyx":677 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":678 - * NPY_float64, 0) - * if n0 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i1 in range(n1): + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amin = MAXint32 */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":679 - * if n0 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * amin = MAXfloat64 + /* "nanmin.pyx":654 + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amin = MAXint32 + * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":680 - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * amin = MAXfloat64 - * allnan = 1 - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanmin.pyx":681 - * raise ValueError(msg) - * for i1 in range(n1): - * amin = MAXfloat64 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0): + /* "nanmin.pyx":655 + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amin = MAXint32 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat64; + __pyx_v_amin = __pyx_v_6nanmin_MAXint32; - /* "nanmin.pyx":682 - * for i1 in range(n1): - * amin = MAXfloat64 - * allnan = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanmin.pyx":656 + * raise ValueError(m) + * amin = MAXint32 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":683 - * amin = MAXfloat64 - * allnan = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "nanmin.pyx":657 + * amin = MAXint32 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":684 - * allnan = 1 - * for i0 in range(n0): + /* "nanmin.pyx":658 + * for i0 in range(n0): + * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":685 - * for i0 in range(n0): + /* "nanmin.pyx":659 + * for i1 in range(n1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * return np.int32(amin) */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":686 + /* "nanmin.pyx":660 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * return np.int32(amin) + * */ __pyx_v_amin = __pyx_v_ai; - - /* "nanmin.pyx":687 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = amin - */ - __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } - - /* "nanmin.pyx":688 - * amin = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = amin - * else: - */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":689 - * allnan = 0 - * if allnan == 0: - * y[i1] = amin # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN - */ - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; - goto __pyx_L9; - } - /*else*/ { - - /* "nanmin.pyx":691 - * y[i1] = amin - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_9 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; - } - __pyx_L9:; } - /* "nanmin.pyx":692 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanmin.pyx":661 + * if ai <= amin: + * amin = ai + * return np.int32(amin) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "nanmin.pyx":665 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef int allnan = 1 - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "nanmin.pyx":643 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanmin_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef int allnan = 1 + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":696 +/* "nanmin.pyx":665 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * def nanmin_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_43nanmin_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_42nanmin_2d_float64_axis1[] = "nanmin_2d_float64_axis1(ndarray a)\nMinimum of 2d array with dtype=float64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_43nanmin_2d_float64_axis1 = {"nanmin_2d_float64_axis1", (PyCFunction)__pyx_pw_6nanmin_43nanmin_2d_float64_axis1, METH_O, __pyx_doc_6nanmin_42nanmin_2d_float64_axis1}; -static PyObject *__pyx_pw_6nanmin_43nanmin_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_43nanmin_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_42nanmin_2d_int64_axisNone[] = "nanmin_2d_int64_axisNone(ndarray a)\nMinimum of 2d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_43nanmin_2d_int64_axisNone = {"nanmin_2d_int64_axisNone", (PyCFunction)__pyx_pw_6nanmin_43nanmin_2d_int64_axisNone, METH_O, __pyx_doc_6nanmin_42nanmin_2d_int64_axisNone}; +static PyObject *__pyx_pw_6nanmin_43nanmin_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_float64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_42nanmin_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_42nanmin_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8735,63 +8551,56 @@ static PyObject *__pyx_pw_6nanmin_43nanmin_2d_float64_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_42nanmin_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_amin; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanmin_42nanmin_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_v_allnan; + __pyx_t_5numpy_int64_t __pyx_v_amin; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_m = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_float64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanmin_2d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":698 - * def nanmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Minimum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + /* "nanmin.pyx":667 + * def nanmin_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): + * "Minimum of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t amin, ai + * cdef np.int64_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":702 + /* "nanmin.pyx":671 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8800,280 +8609,227 @@ static PyObject *__pyx_pf_6nanmin_42nanmin_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":703 + /* "nanmin.pyx":672 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * if n0 * n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":704 + /* "nanmin.pyx":673 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":705 + /* "nanmin.pyx":674 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * if n0 * n1 == 0: # <<<<<<<<<<<<<< + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":706 + /* "nanmin.pyx":675 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nanmin.pyx":708 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":709 - * NPY_float64, 0) - * if n1 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< - * raise ValueError(msg) - * for i0 in range(n0): + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< + * raise ValueError(m) + * amin = MAXint64 */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); - __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); + __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; - /* "nanmin.pyx":710 - * if n1 == 0: - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) # <<<<<<<<<<<<<< + /* "nanmin.pyx":676 + * if n0 * n1 == 0: + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) # <<<<<<<<<<<<<< + * amin = MAXint64 * for i0 in range(n0): - * amin = MAXfloat64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_msg); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); - __Pyx_GIVEREF(__pyx_v_msg); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_m); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); + __Pyx_GIVEREF(__pyx_v_m); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":711 - * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." - * raise ValueError(msg) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * amin = MAXfloat64 - * allnan = 1 - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanmin.pyx":712 - * raise ValueError(msg) + /* "nanmin.pyx":677 + * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * raise ValueError(m) + * amin = MAXint64 # <<<<<<<<<<<<<< * for i0 in range(n0): - * amin = MAXfloat64 # <<<<<<<<<<<<<< - * allnan = 1 * for i1 in range(n1): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXfloat64; + __pyx_v_amin = __pyx_v_6nanmin_MAXint64; - /* "nanmin.pyx":713 - * for i0 in range(n0): - * amin = MAXfloat64 - * allnan = 1 # <<<<<<<<<<<<<< + /* "nanmin.pyx":678 + * raise ValueError(m) + * amin = MAXint64 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_allnan = 1; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanmin.pyx":714 - * amin = MAXfloat64 - * allnan = 1 + /* "nanmin.pyx":679 + * amin = MAXint64 + * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":715 - * allnan = 1 + /* "nanmin.pyx":680 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":716 + /* "nanmin.pyx":681 * for i1 in range(n1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * allnan = 0 + * return np.int64(amin) */ - __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_4) { + __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_1) { - /* "nanmin.pyx":717 + /* "nanmin.pyx":682 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + * return np.int64(amin) + * */ __pyx_v_amin = __pyx_v_ai; - - /* "nanmin.pyx":718 - * if ai <= amin: - * amin = ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = amin - */ - __pyx_v_allnan = 0; goto __pyx_L8; } __pyx_L8:; } + } - /* "nanmin.pyx":719 + /* "nanmin.pyx":683 + * if ai <= amin: * amin = ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = amin - * else: + * return np.int64(amin) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { - - /* "nanmin.pyx":720 - * allnan = 0 - * if allnan == 0: - * y[i0] = amin # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN - */ - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; - goto __pyx_L9; - } - /*else*/ { - - /* "nanmin.pyx":722 - * y[i0] = amin - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_9 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanmin_NAN; + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); } - __pyx_L9:; } - - /* "nanmin.pyx":723 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + if (!__pyx_t_11) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; goto __pyx_L0; - /* "nanmin.pyx":696 + /* "nanmin.pyx":665 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * def nanmin_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":727 +/* "nanmin.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_45nanmin_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_44nanmin_1d_int_axisNone[] = "nanmin_1d_int_axisNone(ndarray a)\nMinimum of 1d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_45nanmin_1d_int_axisNone = {"nanmin_1d_int_axisNone", (PyCFunction)__pyx_pw_6nanmin_45nanmin_1d_int_axisNone, METH_O, __pyx_doc_6nanmin_44nanmin_1d_int_axisNone}; -static PyObject *__pyx_pw_6nanmin_45nanmin_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_45nanmin_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_44nanmin_2d_int_axis0[] = "nanmin_2d_int_axis0(ndarray a)\nMinimum of 2d array with dtype=int along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_45nanmin_2d_int_axis0 = {"nanmin_2d_int_axis0", (PyCFunction)__pyx_pw_6nanmin_45nanmin_2d_int_axis0, METH_O, __pyx_doc_6nanmin_44nanmin_2d_int_axis0}; +static PyObject *__pyx_pw_6nanmin_45nanmin_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_1d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_44nanmin_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_44nanmin_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9084,258 +8840,302 @@ static PyObject *__pyx_pw_6nanmin_45nanmin_1d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_44nanmin_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_44nanmin_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; __pyx_t_5numpy_int_t __pyx_v_amin; __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_m = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_1d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":729 - * def nanmin_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): - * "Minimum of 1d array with dtype=int along axis=None ignoring NaNs." + /* "nanmin.pyx":689 + * def nanmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Minimum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< * cdef np.int_t amin, ai - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":733 - * cdef Py_ssize_t i0 + /* "nanmin.pyx":693 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":734 + /* "nanmin.pyx":694 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":735 + /* "nanmin.pyx":695 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":736 + /* "nanmin.pyx":696 * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "nanmin.pyx":697 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int, 0) * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amin = MAXint */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nanmin.pyx":699 + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanmin.pyx":737 + /* "nanmin.pyx":700 + * NPY_int, 0) * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXint - * for i0 in range(n0): + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i1 in range(n1): + */ + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + + /* "nanmin.pyx":701 + * if n0 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * amin = MAXint */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":738 - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amin = MAXint # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanmin.pyx":702 + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * amin = MAXint + * for i0 in range(n0): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":739 - * raise ValueError(m) - * amin = MAXint - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai <= amin: + /* "nanmin.pyx":703 + * raise ValueError(msg) + * for i1 in range(n1): + * amin = MAXint # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amin = __pyx_v_6nanmin_MAXint; - /* "nanmin.pyx":740 - * amin = MAXint - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + /* "nanmin.pyx":704 + * for i1 in range(n1): + * amin = MAXint + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai <= amin: */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "nanmin.pyx":741 - * for i0 in range(n0): - * ai = a[i0] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * return np.int(amin) + /* "nanmin.pyx":705 + * amin = MAXint + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":742 - * ai = a[i0] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * return np.int(amin) - * + /* "nanmin.pyx":706 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * y[i1] = amin */ - __pyx_v_amin = __pyx_v_ai; - goto __pyx_L6; + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":707 + * ai = a[i0, i1] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * y[i1] = amin + * return y + */ + __pyx_v_amin = __pyx_v_ai; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; + + /* "nanmin.pyx":708 + * if ai <= amin: + * amin = ai + * y[i1] = amin # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; } - /* "nanmin.pyx":743 - * if ai <= amin: - * amin = ai - * return np.int(amin) # <<<<<<<<<<<<<< + /* "nanmin.pyx":709 + * amin = ai + * y[i1] = amin + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":727 + /* "nanmin.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":747 +/* "nanmin.pyx":713 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_47nanmin_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_46nanmin_1d_int8_axisNone[] = "nanmin_1d_int8_axisNone(ndarray a)\nMinimum of 1d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_47nanmin_1d_int8_axisNone = {"nanmin_1d_int8_axisNone", (PyCFunction)__pyx_pw_6nanmin_47nanmin_1d_int8_axisNone, METH_O, __pyx_doc_6nanmin_46nanmin_1d_int8_axisNone}; -static PyObject *__pyx_pw_6nanmin_47nanmin_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_47nanmin_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_46nanmin_2d_int_axis1[] = "nanmin_2d_int_axis1(ndarray a)\nMinimum of 2d array with dtype=int along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_47nanmin_2d_int_axis1 = {"nanmin_2d_int_axis1", (PyCFunction)__pyx_pw_6nanmin_47nanmin_2d_int_axis1, METH_O, __pyx_doc_6nanmin_46nanmin_2d_int_axis1}; +static PyObject *__pyx_pw_6nanmin_47nanmin_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_1d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_46nanmin_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_46nanmin_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9346,258 +9146,302 @@ static PyObject *__pyx_pw_6nanmin_47nanmin_1d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_46nanmin_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_46nanmin_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amin; - __pyx_t_5numpy_int8_t __pyx_v_ai; + __pyx_t_5numpy_int_t __pyx_v_amin; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_m = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_1d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":749 - * def nanmin_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): - * "Minimum of 1d array with dtype=int8 along axis=None ignoring NaNs." + /* "nanmin.pyx":715 + * def nanmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Minimum of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amin, ai - * cdef Py_ssize_t i0 + * cdef np.int_t amin, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":753 - * cdef Py_ssize_t i0 + /* "nanmin.pyx":719 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":754 + /* "nanmin.pyx":720 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":755 + /* "nanmin.pyx":721 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":756 + /* "nanmin.pyx":722 * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amin = MAXint8 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":757 - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXint8 - * for i0 in range(n0): + /* "nanmin.pyx":723 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int, 0) + * if n1 == 0: */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmin.pyx":758 - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amin = MAXint8 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] - */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint8; - - /* "nanmin.pyx":759 - * raise ValueError(m) - * amin = MAXint8 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai <= amin: + /* "nanmin.pyx":725 + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { - /* "nanmin.pyx":760 - * amin = MAXint8 + /* "nanmin.pyx":726 + * NPY_int, 0) + * if n1 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; - /* "nanmin.pyx":761 + /* "nanmin.pyx":727 + * if n1 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * return np.int8(amin) + * amin = MAXint */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "nanmin.pyx":762 - * ai = a[i0] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * return np.int8(amin) - * + /* "nanmin.pyx":728 + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * amin = MAXint + * for i1 in range(n1): */ - __pyx_v_amin = __pyx_v_ai; - goto __pyx_L6; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; + + /* "nanmin.pyx":729 + * raise ValueError(msg) + * for i0 in range(n0): + * amin = MAXint # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_amin = __pyx_v_6nanmin_MAXint; + + /* "nanmin.pyx":730 + * for i0 in range(n0): + * amin = MAXint + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai <= amin: + */ + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; + + /* "nanmin.pyx":731 + * amin = MAXint + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai + */ + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "nanmin.pyx":732 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * y[i0] = amin + */ + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":733 + * ai = a[i0, i1] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * y[i0] = amin + * return y + */ + __pyx_v_amin = __pyx_v_ai; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; + + /* "nanmin.pyx":734 + * if ai <= amin: + * amin = ai + * y[i0] = amin # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; } - /* "nanmin.pyx":763 - * if ai <= amin: - * amin = ai - * return np.int8(amin) # <<<<<<<<<<<<<< + /* "nanmin.pyx":735 + * amin = ai + * y[i0] = amin + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":747 + /* "nanmin.pyx":713 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":767 +/* "nanmin.pyx":739 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_49nanmin_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_48nanmin_1d_int32_axisNone[] = "nanmin_1d_int32_axisNone(ndarray a)\nMinimum of 1d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_49nanmin_1d_int32_axisNone = {"nanmin_1d_int32_axisNone", (PyCFunction)__pyx_pw_6nanmin_49nanmin_1d_int32_axisNone, METH_O, __pyx_doc_6nanmin_48nanmin_1d_int32_axisNone}; -static PyObject *__pyx_pw_6nanmin_49nanmin_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_49nanmin_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_48nanmin_2d_int8_axis0[] = "nanmin_2d_int8_axis0(ndarray a)\nMinimum of 2d array with dtype=int8 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_49nanmin_2d_int8_axis0 = {"nanmin_2d_int8_axis0", (PyCFunction)__pyx_pw_6nanmin_49nanmin_2d_int8_axis0, METH_O, __pyx_doc_6nanmin_48nanmin_2d_int8_axis0}; +static PyObject *__pyx_pw_6nanmin_49nanmin_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_1d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_48nanmin_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_48nanmin_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9608,258 +9452,302 @@ static PyObject *__pyx_pw_6nanmin_49nanmin_1d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_48nanmin_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_48nanmin_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amin; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_amin; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_m = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_1d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_int8_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":769 - * def nanmin_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): - * "Minimum of 1d array with dtype=int32 along axis=None ignoring NaNs." + /* "nanmin.pyx":741 + * def nanmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Minimum of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amin, ai - * cdef Py_ssize_t i0 + * cdef np.int8_t amin, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":773 - * cdef Py_ssize_t i0 + /* "nanmin.pyx":745 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":774 + /* "nanmin.pyx":746 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":775 + /* "nanmin.pyx":747 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":776 + /* "nanmin.pyx":748 * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amin = MAXint32 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":777 + /* "nanmin.pyx":749 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int8, 0) * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXint32 - * for i0 in range(n0): */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmin.pyx":778 - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amin = MAXint32 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanmin.pyx":751 + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint32; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanmin.pyx":779 - * raise ValueError(m) - * amin = MAXint32 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai <= amin: + /* "nanmin.pyx":752 + * NPY_int8, 0) + * if n0 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i1 in range(n1): */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; - /* "nanmin.pyx":780 - * amin = MAXint32 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + /* "nanmin.pyx":753 + * if n0 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * amin = MAXint8 */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "nanmin.pyx":781 - * for i0 in range(n0): - * ai = a[i0] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * return np.int32(amin) + /* "nanmin.pyx":754 + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * amin = MAXint8 + * for i0 in range(n0): */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":782 - * ai = a[i0] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * return np.int32(amin) - * + /* "nanmin.pyx":755 + * raise ValueError(msg) + * for i1 in range(n1): + * amin = MAXint8 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_v_amin = __pyx_v_ai; - goto __pyx_L6; + __pyx_v_amin = __pyx_v_6nanmin_MAXint8; + + /* "nanmin.pyx":756 + * for i1 in range(n1): + * amin = MAXint8 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai <= amin: + */ + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; + + /* "nanmin.pyx":757 + * amin = MAXint8 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai + */ + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "nanmin.pyx":758 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * y[i1] = amin + */ + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":759 + * ai = a[i0, i1] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * y[i1] = amin + * return y + */ + __pyx_v_amin = __pyx_v_ai; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; + + /* "nanmin.pyx":760 + * if ai <= amin: + * amin = ai + * y[i1] = amin # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; } - /* "nanmin.pyx":783 - * if ai <= amin: - * amin = ai - * return np.int32(amin) # <<<<<<<<<<<<<< + /* "nanmin.pyx":761 + * amin = ai + * y[i1] = amin + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":767 + /* "nanmin.pyx":739 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":787 +/* "nanmin.pyx":765 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_51nanmin_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_50nanmin_1d_int64_axisNone[] = "nanmin_1d_int64_axisNone(ndarray a)\nMinimum of 1d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_51nanmin_1d_int64_axisNone = {"nanmin_1d_int64_axisNone", (PyCFunction)__pyx_pw_6nanmin_51nanmin_1d_int64_axisNone, METH_O, __pyx_doc_6nanmin_50nanmin_1d_int64_axisNone}; -static PyObject *__pyx_pw_6nanmin_51nanmin_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_51nanmin_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_50nanmin_2d_int8_axis1[] = "nanmin_2d_int8_axis1(ndarray a)\nMinimum of 2d array with dtype=int8 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_51nanmin_2d_int8_axis1 = {"nanmin_2d_int8_axis1", (PyCFunction)__pyx_pw_6nanmin_51nanmin_2d_int8_axis1, METH_O, __pyx_doc_6nanmin_50nanmin_2d_int8_axis1}; +static PyObject *__pyx_pw_6nanmin_51nanmin_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_1d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_50nanmin_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int8_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_50nanmin_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9870,258 +9758,302 @@ static PyObject *__pyx_pw_6nanmin_51nanmin_1d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_50nanmin_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_50nanmin_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int64_t __pyx_v_amin; - __pyx_t_5numpy_int64_t __pyx_v_ai; + __pyx_t_5numpy_int8_t __pyx_v_amin; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - PyObject *__pyx_v_m = NULL; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_1d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_int8_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":789 - * def nanmin_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): - * "Minimum of 1d array with dtype=int64 along axis=None ignoring NaNs." + /* "nanmin.pyx":767 + * def nanmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Minimum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int64_t amin, ai - * cdef Py_ssize_t i0 + * cdef np.int8_t amin, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":793 - * cdef Py_ssize_t i0 + /* "nanmin.pyx":771 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":794 + /* "nanmin.pyx":772 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":795 + /* "nanmin.pyx":773 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_1) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":796 + /* "nanmin.pyx":774 * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amin = MAXint64 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":797 - * if n0 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXint64 - * for i0 in range(n0): + /* "nanmin.pyx":775 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int8, 0) + * if n1 == 0: */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmin.pyx":798 - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amin = MAXint64 # <<<<<<<<<<<<<< + /* "nanmin.pyx":777 + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":778 + * NPY_int8, 0) + * if n1 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) * for i0 in range(n0): - * ai = a[i0] */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint64; + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; - /* "nanmin.pyx":799 - * raise ValueError(m) - * amin = MAXint64 + /* "nanmin.pyx":779 + * if n1 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * amin = MAXint8 + */ + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + + /* "nanmin.pyx":780 + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai <= amin: + * amin = MAXint8 + * for i1 in range(n1): */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanmin.pyx":800 - * amin = MAXint64 + /* "nanmin.pyx":781 + * raise ValueError(msg) * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai <= amin: - * amin = ai + * amin = MAXint8 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_6 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_amin = __pyx_v_6nanmin_MAXint8; - /* "nanmin.pyx":801 + /* "nanmin.pyx":782 * for i0 in range(n0): - * ai = a[i0] - * if ai <= amin: # <<<<<<<<<<<<<< - * amin = ai - * return np.int64(amin) + * amin = MAXint8 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai <= amin: */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "nanmin.pyx":802 - * ai = a[i0] - * if ai <= amin: - * amin = ai # <<<<<<<<<<<<<< - * return np.int64(amin) - * + /* "nanmin.pyx":783 + * amin = MAXint8 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai <= amin: + * amin = ai */ - __pyx_v_amin = __pyx_v_ai; - goto __pyx_L6; + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "nanmin.pyx":784 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai <= amin: # <<<<<<<<<<<<<< + * amin = ai + * y[i0] = amin + */ + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":785 + * ai = a[i0, i1] + * if ai <= amin: + * amin = ai # <<<<<<<<<<<<<< + * y[i0] = amin + * return y + */ + __pyx_v_amin = __pyx_v_ai; + goto __pyx_L8; + } + __pyx_L8:; } - __pyx_L6:; - } - /* "nanmin.pyx":803 - * if ai <= amin: - * amin = ai - * return np.int64(amin) # <<<<<<<<<<<<<< + /* "nanmin.pyx":786 + * if ai <= amin: + * amin = ai + * y[i0] = amin # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - if (!__pyx_t_8) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + } /* "nanmin.pyx":787 + * amin = ai + * y[i0] = amin + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "nanmin.pyx":765 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":807 +/* "nanmin.pyx":791 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_53nanmin_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_52nanmin_2d_int_axisNone[] = "nanmin_2d_int_axisNone(ndarray a)\nMinimum of 2d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_53nanmin_2d_int_axisNone = {"nanmin_2d_int_axisNone", (PyCFunction)__pyx_pw_6nanmin_53nanmin_2d_int_axisNone, METH_O, __pyx_doc_6nanmin_52nanmin_2d_int_axisNone}; -static PyObject *__pyx_pw_6nanmin_53nanmin_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_53nanmin_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_52nanmin_2d_int32_axis0[] = "nanmin_2d_int32_axis0(ndarray a)\nMinimum of 2d array with dtype=int32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_53nanmin_2d_int32_axis0 = {"nanmin_2d_int32_axis0", (PyCFunction)__pyx_pw_6nanmin_53nanmin_2d_int32_axis0, METH_O, __pyx_doc_6nanmin_52nanmin_2d_int32_axis0}; +static PyObject *__pyx_pw_6nanmin_53nanmin_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_52nanmin_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_52nanmin_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10132,56 +10064,63 @@ static PyObject *__pyx_pw_6nanmin_53nanmin_2d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_52nanmin_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_52nanmin_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int_t __pyx_v_amin; - __pyx_t_5numpy_int_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_amin; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_m = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_int32_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":809 - * def nanmin_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): - * "Minimum of 2d array with dtype=int along axis=None ignoring NaNs." + /* "nanmin.pyx":793 + * def nanmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Minimum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int_t amin, ai + * cdef np.int32_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":813 + /* "nanmin.pyx":797 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10190,227 +10129,237 @@ static PyObject *__pyx_pf_6nanmin_52nanmin_2d_int_axisNone(CYTHON_UNUSED PyObjec */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":814 + /* "nanmin.pyx":798 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":815 + /* "nanmin.pyx":799 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":816 + /* "nanmin.pyx":800 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":817 + /* "nanmin.pyx":801 * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amin = MAXint + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int32, 0) + * if n0 == 0: */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmin.pyx":818 - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXint - * for i0 in range(n0): + /* "nanmin.pyx":803 + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":804 + * NPY_int32, 0) + * if n0 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i1 in range(n1): + */ + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + + /* "nanmin.pyx":805 + * if n0 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * amin = MAXint32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":819 - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amin = MAXint # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanmin.pyx":806 + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * amin = MAXint32 + * for i0 in range(n0): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":820 - * raise ValueError(m) - * amin = MAXint - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): + /* "nanmin.pyx":807 + * raise ValueError(msg) + * for i1 in range(n1): + * amin = MAXint32 # <<<<<<<<<<<<<< + * for i0 in range(n0): * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amin = __pyx_v_6nanmin_MAXint32; - /* "nanmin.pyx":821 - * amin = MAXint - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "nanmin.pyx":808 + * for i1 in range(n1): + * amin = MAXint32 + * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "nanmin.pyx":822 - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanmin.pyx":809 + * amin = MAXint32 + * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":823 - * for i1 in range(n1): + /* "nanmin.pyx":810 + * for i0 in range(n0): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * return np.int(amin) + * y[i1] = amin */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { - /* "nanmin.pyx":824 + /* "nanmin.pyx":811 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * return np.int(amin) - * + * y[i1] = amin + * return y */ __pyx_v_amin = __pyx_v_ai; goto __pyx_L8; } __pyx_L8:; } - } - /* "nanmin.pyx":825 + /* "nanmin.pyx":812 * if ai <= amin: * amin = ai - * return np.int(amin) # <<<<<<<<<<<<<< + * y[i1] = amin # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + + /* "nanmin.pyx":813 + * amin = ai + * y[i1] = amin + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":807 + /* "nanmin.pyx":791 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":829 +/* "nanmin.pyx":817 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_55nanmin_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_54nanmin_2d_int8_axisNone[] = "nanmin_2d_int8_axisNone(ndarray a)\nMinimum of 2d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_55nanmin_2d_int8_axisNone = {"nanmin_2d_int8_axisNone", (PyCFunction)__pyx_pw_6nanmin_55nanmin_2d_int8_axisNone, METH_O, __pyx_doc_6nanmin_54nanmin_2d_int8_axisNone}; -static PyObject *__pyx_pw_6nanmin_55nanmin_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_55nanmin_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_54nanmin_2d_int32_axis1[] = "nanmin_2d_int32_axis1(ndarray a)\nMinimum of 2d array with dtype=int32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_55nanmin_2d_int32_axis1 = {"nanmin_2d_int32_axis1", (PyCFunction)__pyx_pw_6nanmin_55nanmin_2d_int32_axis1, METH_O, __pyx_doc_6nanmin_54nanmin_2d_int32_axis1}; +static PyObject *__pyx_pw_6nanmin_55nanmin_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_54nanmin_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_54nanmin_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10421,56 +10370,63 @@ static PyObject *__pyx_pw_6nanmin_55nanmin_2d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_54nanmin_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_54nanmin_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int8_t __pyx_v_amin; - __pyx_t_5numpy_int8_t __pyx_v_ai; + __pyx_t_5numpy_int32_t __pyx_v_amin; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_m = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_int32_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":831 - * def nanmin_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): - * "Minimum of 2d array with dtype=int8 along axis=None ignoring NaNs." + /* "nanmin.pyx":819 + * def nanmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Minimum of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int8_t amin, ai + * cdef np.int32_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":835 + /* "nanmin.pyx":823 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10479,227 +10435,237 @@ static PyObject *__pyx_pf_6nanmin_54nanmin_2d_int8_axisNone(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":836 + /* "nanmin.pyx":824 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":837 + /* "nanmin.pyx":825 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":838 + /* "nanmin.pyx":826 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":839 + /* "nanmin.pyx":827 * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amin = MAXint8 + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int32, 0) + * if n1 == 0: */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmin.pyx":840 - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXint8 + /* "nanmin.pyx":829 + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":830 + * NPY_int32, 0) + * if n1 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i0 in range(n0): + */ + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + + /* "nanmin.pyx":831 + * if n1 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): + * amin = MAXint32 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":841 - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amin = MAXint8 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanmin.pyx":832 + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * amin = MAXint32 * for i1 in range(n1): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint8; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanmin.pyx":842 - * raise ValueError(m) - * amin = MAXint8 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "nanmin.pyx":833 + * raise ValueError(msg) + * for i0 in range(n0): + * amin = MAXint32 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amin = __pyx_v_6nanmin_MAXint32; - /* "nanmin.pyx":843 - * amin = MAXint8 + /* "nanmin.pyx":834 * for i0 in range(n0): + * amin = MAXint32 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "nanmin.pyx":844 - * for i0 in range(n0): + /* "nanmin.pyx":835 + * amin = MAXint32 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":845 + /* "nanmin.pyx":836 * for i1 in range(n1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * return np.int8(amin) + * y[i0] = amin */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { - /* "nanmin.pyx":846 + /* "nanmin.pyx":837 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * return np.int8(amin) - * + * y[i0] = amin + * return y */ __pyx_v_amin = __pyx_v_ai; goto __pyx_L8; } __pyx_L8:; } - } - /* "nanmin.pyx":847 + /* "nanmin.pyx":838 * if ai <= amin: * amin = ai - * return np.int8(amin) # <<<<<<<<<<<<<< + * y[i0] = amin # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + } + + /* "nanmin.pyx":839 + * amin = ai + * y[i0] = amin + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int8); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int8(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":829 + /* "nanmin.pyx":817 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":851 +/* "nanmin.pyx":843 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_57nanmin_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_56nanmin_2d_int32_axisNone[] = "nanmin_2d_int32_axisNone(ndarray a)\nMinimum of 2d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_57nanmin_2d_int32_axisNone = {"nanmin_2d_int32_axisNone", (PyCFunction)__pyx_pw_6nanmin_57nanmin_2d_int32_axisNone, METH_O, __pyx_doc_6nanmin_56nanmin_2d_int32_axisNone}; -static PyObject *__pyx_pw_6nanmin_57nanmin_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_57nanmin_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_56nanmin_2d_int64_axis0[] = "nanmin_2d_int64_axis0(ndarray a)\nMinimum of 2d array with dtype=int64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_57nanmin_2d_int64_axis0 = {"nanmin_2d_int64_axis0", (PyCFunction)__pyx_pw_6nanmin_57nanmin_2d_int64_axis0, METH_O, __pyx_doc_6nanmin_56nanmin_2d_int64_axis0}; +static PyObject *__pyx_pw_6nanmin_57nanmin_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_56nanmin_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_56nanmin_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10710,56 +10676,63 @@ static PyObject *__pyx_pw_6nanmin_57nanmin_2d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_56nanmin_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_56nanmin_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; - __pyx_t_5numpy_int32_t __pyx_v_amin; - __pyx_t_5numpy_int32_t __pyx_v_ai; + __pyx_t_5numpy_int64_t __pyx_v_amin; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_m = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_int64_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":853 - * def nanmin_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): - * "Minimum of 2d array with dtype=int32 along axis=None ignoring NaNs." + /* "nanmin.pyx":845 + * def nanmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Minimum of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.int32_t amin, ai + * cdef np.int64_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":857 + /* "nanmin.pyx":849 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10768,227 +10741,237 @@ static PyObject *__pyx_pf_6nanmin_56nanmin_2d_int32_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":858 + /* "nanmin.pyx":850 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":859 + /* "nanmin.pyx":851 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":860 + /* "nanmin.pyx":852 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":861 + /* "nanmin.pyx":853 * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amin = MAXint32 + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int64, 0) + * if n0 == 0: */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmin.pyx":862 - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXint32 - * for i0 in range(n0): + /* "nanmin.pyx":855 + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":856 + * NPY_int64, 0) + * if n0 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i1 in range(n1): + */ + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + + /* "nanmin.pyx":857 + * if n0 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * amin = MAXint64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":863 - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amin = MAXint32 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanmin.pyx":858 + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * amin = MAXint64 + * for i0 in range(n0): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint32; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanmin.pyx":864 - * raise ValueError(m) - * amin = MAXint32 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): + /* "nanmin.pyx":859 + * raise ValueError(msg) + * for i1 in range(n1): + * amin = MAXint64 # <<<<<<<<<<<<<< + * for i0 in range(n0): * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amin = __pyx_v_6nanmin_MAXint64; - /* "nanmin.pyx":865 - * amin = MAXint32 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "nanmin.pyx":860 + * for i1 in range(n1): + * amin = MAXint64 + * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "nanmin.pyx":866 - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanmin.pyx":861 + * amin = MAXint64 + * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":867 - * for i1 in range(n1): + /* "nanmin.pyx":862 + * for i0 in range(n0): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * return np.int32(amin) + * y[i1] = amin */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { - /* "nanmin.pyx":868 + /* "nanmin.pyx":863 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * return np.int32(amin) - * + * y[i1] = amin + * return y */ __pyx_v_amin = __pyx_v_ai; goto __pyx_L8; } __pyx_L8:; } - } - /* "nanmin.pyx":869 + /* "nanmin.pyx":864 * if ai <= amin: * amin = ai - * return np.int32(amin) # <<<<<<<<<<<<<< + * y[i1] = amin # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; + } + + /* "nanmin.pyx":865 + * amin = ai + * y[i1] = amin + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int32(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":851 + /* "nanmin.pyx":843 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanmin.pyx":873 +/* "nanmin.pyx":869 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanmin_59nanmin_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nanmin_58nanmin_2d_int64_axisNone[] = "nanmin_2d_int64_axisNone(ndarray a)\nMinimum of 2d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanmin_59nanmin_2d_int64_axisNone = {"nanmin_2d_int64_axisNone", (PyCFunction)__pyx_pw_6nanmin_59nanmin_2d_int64_axisNone, METH_O, __pyx_doc_6nanmin_58nanmin_2d_int64_axisNone}; -static PyObject *__pyx_pw_6nanmin_59nanmin_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nanmin_59nanmin_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nanmin_58nanmin_2d_int64_axis1[] = "nanmin_2d_int64_axis1(ndarray a)\nMinimum of 2d array with dtype=int64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanmin_59nanmin_2d_int64_axis1 = {"nanmin_2d_int64_axis1", (PyCFunction)__pyx_pw_6nanmin_59nanmin_2d_int64_axis1, METH_O, __pyx_doc_6nanmin_58nanmin_2d_int64_axis1}; +static PyObject *__pyx_pw_6nanmin_59nanmin_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanmin_2d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanmin_58nanmin_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nanmin_2d_int64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanmin_58nanmin_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10999,7 +10982,7 @@ static PyObject *__pyx_pw_6nanmin_59nanmin_2d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanmin_58nanmin_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nanmin_58nanmin_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_v_allnan; __pyx_t_5numpy_int64_t __pyx_v_amin; __pyx_t_5numpy_int64_t __pyx_v_ai; @@ -11008,47 +10991,54 @@ static PyObject *__pyx_pf_6nanmin_58nanmin_2d_int64_axisNone(CYTHON_UNUSED PyObj npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - PyObject *__pyx_v_m = NULL; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + PyObject *__pyx_v_msg = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanmin_2d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nanmin_2d_int64_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanmin.pyx":875 - * def nanmin_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): - * "Minimum of 2d array with dtype=int64 along axis=None ignoring NaNs." + /* "nanmin.pyx":871 + * def nanmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Minimum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< * cdef np.int64_t amin, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nanmin.pyx":879 + /* "nanmin.pyx":875 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -11057,208 +11047,218 @@ static PyObject *__pyx_pf_6nanmin_58nanmin_2d_int64_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanmin.pyx":880 + /* "nanmin.pyx":876 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanmin.pyx":881 + /* "nanmin.pyx":877 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanmin.pyx":882 + /* "nanmin.pyx":878 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: # <<<<<<<<<<<<<< - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) */ - __pyx_t_1 = (((__pyx_v_n0 * __pyx_v_n1) == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanmin.pyx":883 + /* "nanmin.pyx":879 * cdef Py_ssize_t n1 = dim[1] - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." # <<<<<<<<<<<<<< - * raise ValueError(m) - * amin = MAXint64 + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int64, 0) + * if n1 == 0: */ - __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_size_0); - __pyx_v_m = __pyx_kp_s_numpy_nanmin_raises_on_a_size_0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanmin.pyx":884 - * if n0 * n1 == 0: - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) # <<<<<<<<<<<<<< - * amin = MAXint64 + /* "nanmin.pyx":881 + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + */ + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "nanmin.pyx":882 + * NPY_int64, 0) + * if n1 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." # <<<<<<<<<<<<<< + * raise ValueError(msg) + * for i0 in range(n0): + */ + __Pyx_INCREF(__pyx_kp_s_numpy_nanmin_raises_on_a_shape_a); + __pyx_v_msg = __pyx_kp_s_numpy_nanmin_raises_on_a_shape_a; + + /* "nanmin.pyx":883 + * if n1 == 0: + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) # <<<<<<<<<<<<<< * for i0 in range(n0): + * amin = MAXint64 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_m); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_m); - __Pyx_GIVEREF(__pyx_v_m); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "nanmin.pyx":885 - * m = "numpy.nanmin raises on a.size==0 and axis=None; Bottleneck too." - * raise ValueError(m) - * amin = MAXint64 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanmin.pyx":884 + * msg = "numpy.nanmin raises on a.shape[axis]==0; so Bottleneck does." + * raise ValueError(msg) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * amin = MAXint64 * for i1 in range(n1): */ - __pyx_v_amin = __pyx_v_6nanmin_MAXint64; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanmin.pyx":886 - * raise ValueError(m) - * amin = MAXint64 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "nanmin.pyx":885 + * raise ValueError(msg) + * for i0 in range(n0): + * amin = MAXint64 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_v_amin = __pyx_v_6nanmin_MAXint64; - /* "nanmin.pyx":887 - * amin = MAXint64 + /* "nanmin.pyx":886 * for i0 in range(n0): + * amin = MAXint64 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * if ai <= amin: */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "nanmin.pyx":888 - * for i0 in range(n0): + /* "nanmin.pyx":887 + * amin = MAXint64 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * if ai <= amin: * amin = ai */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanmin.pyx":889 + /* "nanmin.pyx":888 * for i1 in range(n1): * ai = a[i0, i1] * if ai <= amin: # <<<<<<<<<<<<<< * amin = ai - * return np.int64(amin) + * y[i0] = amin */ - __pyx_t_1 = ((__pyx_v_ai <= __pyx_v_amin) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_ai <= __pyx_v_amin) != 0); + if (__pyx_t_4) { - /* "nanmin.pyx":890 + /* "nanmin.pyx":889 * ai = a[i0, i1] * if ai <= amin: * amin = ai # <<<<<<<<<<<<<< - * return np.int64(amin) - * + * y[i0] = amin + * return y */ __pyx_v_amin = __pyx_v_ai; goto __pyx_L8; } __pyx_L8:; } + + /* "nanmin.pyx":890 + * if ai <= amin: + * amin = ai + * y[i0] = amin # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_amin; } /* "nanmin.pyx":891 - * if ai <= amin: * amin = ai - * return np.int64(amin) # <<<<<<<<<<<<<< + * y[i0] = amin + * return y # <<<<<<<<<<<<<< * * cdef dict nanmin_dict = {} */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_int64(__pyx_v_amin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanmin.pyx":873 + /* "nanmin.pyx":869 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_5); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanmin.nanmin_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanmin.nanmin_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "nanmin.pyx":930 - * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone + * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 * * def nanmin_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmin along axis 0." @@ -11326,7 +11326,7 @@ static PyObject *__pyx_pf_6nanmin_60nanmin_slow_axis0(CYTHON_UNUSED PyObject *__ goto __pyx_L0; /* "nanmin.pyx":930 - * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone + * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 * * def nanmin_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmin along axis 0." @@ -14317,7 +14317,7 @@ static PyObject *__pyx_pf_6nanmin_126nanmin_slow_axisNone(CYTHON_UNUSED PyObject return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -14367,7 +14367,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -14380,7 +14380,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -14389,7 +14389,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -14398,7 +14398,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -14407,7 +14407,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -14417,7 +14417,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -14429,7 +14429,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -14440,7 +14440,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -14456,7 +14456,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -14468,7 +14468,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -14482,7 +14482,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -14498,7 +14498,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -14510,7 +14510,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -14524,7 +14524,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -14533,7 +14533,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -14542,7 +14542,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -14552,7 +14552,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -14561,7 +14561,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -14570,7 +14570,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -14581,7 +14581,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -14590,7 +14590,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -14603,7 +14603,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -14612,7 +14612,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -14623,7 +14623,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -14632,7 +14632,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -14641,7 +14641,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -14650,7 +14650,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -14659,7 +14659,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -14671,7 +14671,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -14680,7 +14680,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -14700,7 +14700,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -14716,7 +14716,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -14731,7 +14731,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -14741,7 +14741,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -14751,7 +14751,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -14774,7 +14774,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -14794,7 +14794,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14808,7 +14808,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -14817,7 +14817,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -14828,7 +14828,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -14839,7 +14839,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -14850,7 +14850,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -14861,7 +14861,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -14872,7 +14872,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -14883,7 +14883,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -14894,7 +14894,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -14905,7 +14905,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -14916,7 +14916,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -14927,7 +14927,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -14938,7 +14938,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -14949,7 +14949,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -14960,7 +14960,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -14971,7 +14971,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -14982,7 +14982,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -14993,7 +14993,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -15005,7 +15005,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -15031,7 +15031,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -15040,7 +15040,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -15052,7 +15052,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -15061,7 +15061,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -15070,7 +15070,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -15079,7 +15079,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -15089,7 +15089,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -15099,7 +15099,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -15131,7 +15131,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -15155,7 +15155,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -15165,7 +15165,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -15177,7 +15177,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -15187,7 +15187,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -15199,7 +15199,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -15211,7 +15211,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -15228,7 +15228,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -15242,7 +15242,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -15261,7 +15261,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -15278,7 +15278,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -15292,7 +15292,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -15311,7 +15311,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -15328,7 +15328,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -15342,7 +15342,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -15361,7 +15361,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -15378,7 +15378,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -15392,7 +15392,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -15411,7 +15411,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -15428,7 +15428,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -15442,7 +15442,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -15461,7 +15461,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -15493,7 +15493,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -15502,7 +15502,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -15511,7 +15511,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -15533,7 +15533,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -15546,7 +15546,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -15585,7 +15585,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -15602,7 +15602,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -15616,7 +15616,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -15639,7 +15639,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -15659,7 +15659,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -15673,7 +15673,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -15689,7 +15689,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -15698,7 +15698,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -15707,7 +15707,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -15718,7 +15718,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -15728,7 +15728,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -15738,7 +15738,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -15750,7 +15750,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -15760,7 +15760,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -15774,7 +15774,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -15792,7 +15792,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -15810,7 +15810,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -15828,7 +15828,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -15846,7 +15846,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -15864,7 +15864,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -15882,7 +15882,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -15900,7 +15900,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -15918,7 +15918,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -15936,7 +15936,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -15954,7 +15954,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -15972,7 +15972,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -15990,7 +15990,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -16008,7 +16008,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -16028,7 +16028,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -16048,7 +16048,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -16068,7 +16068,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -16087,7 +16087,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -16110,7 +16110,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -16122,7 +16122,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -16134,7 +16134,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -16144,7 +16144,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -16154,7 +16154,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -16179,7 +16179,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -16194,7 +16194,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -16205,7 +16205,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -16217,7 +16217,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -16226,7 +16226,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -16237,7 +16237,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -16246,7 +16246,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -16255,7 +16255,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -16267,7 +16267,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -16281,7 +16281,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -16291,7 +16291,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -16305,7 +16305,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -16316,7 +16316,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -16354,7 +16354,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -16368,6 +16367,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -16506,7 +16506,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -16517,7 +16517,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -16528,7 +16528,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -16539,7 +16539,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -16550,7 +16550,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -16561,7 +16561,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -16593,7 +16593,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":109 * return func(arr) @@ -16605,346 +16605,346 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_selector, 109, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_selector, 109, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=0 ignoring NaNs." + * def nanmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=0 ignoring NaNs." * cdef int allnan = 1 */ __pyx_tuple__13 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int_axis0, 183, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_float_axis0, 183, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":209 + /* "nanmin.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=1 ignoring NaNs." + * def nanmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__15 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__15 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int_axis1, 209, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_float_axis1, 214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":235 + /* "nanmin.pyx":245 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * def nanmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__17 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__17 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int8_axis0, 235, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_float32_axis0, 245, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":261 + /* "nanmin.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * def nanmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__19 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int8_axis1, 261, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_float32_axis1, 276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":287 + /* "nanmin.pyx":307 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * def nanmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__21 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int32_axis0, 287, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_float64_axis0, 307, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":313 + /* "nanmin.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * def nanmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__23 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int32_axis1, 313, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_float64_axis1, 338, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":339 + /* "nanmin.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * def nanmin_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__25 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int64_axis0, 339, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_1d_float_axisNone, 369, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":365 + /* "nanmin.pyx":393 * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=1 ignoring NaNs." + * @cython.wraparound(False) + * def nanmin_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__27 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int64_axis1, 365, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_1d_float32_axisNone, 393, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":391 + /* "nanmin.pyx":417 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmin_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__29 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_1d_float_axisNone, 391, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_1d_float64_axisNone, 417, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":415 + /* "nanmin.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmin_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__31 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_1d_float32_axisNone, 415, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_float_axisNone, 441, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":439 + /* "nanmin.pyx":467 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmin_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__33 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_1d_float64_axisNone, 439, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_float32_axisNone, 467, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":463 + /* "nanmin.pyx":493 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmin_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__35 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_float_axisNone, 463, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_float64_axisNone, 493, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":489 + /* "nanmin.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmin_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__37 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_float32_axisNone, 489, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_1d_int_axisNone, 519, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":515 + /* "nanmin.pyx":539 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmin_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__39 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_float64_axisNone, 515, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_1d_int8_axisNone, 539, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":541 + /* "nanmin.pyx":559 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=0 ignoring NaNs." + * def nanmin_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__41 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_float_axis0, 541, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_1d_int32_axisNone, 559, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":572 + /* "nanmin.pyx":579 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=1 ignoring NaNs." + * def nanmin_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__43 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_float_axis1, 572, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_1d_int64_axisNone, 579, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":603 + /* "nanmin.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * def nanmin_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__45 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_float32_axis0, 603, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int_axisNone, 599, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":634 + /* "nanmin.pyx":621 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * def nanmin_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__47 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_float32_axis1, 634, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int8_axisNone, 621, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":665 + /* "nanmin.pyx":643 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * def nanmin_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__49 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_float64_axis0, 665, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int32_axisNone, 643, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":696 + /* "nanmin.pyx":665 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * def nanmin_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__51 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_float64_axis1, 696, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int64_axisNone, 665, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":727 + /* "nanmin.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__53 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_1d_int_axisNone, 727, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int_axis0, 687, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":747 + /* "nanmin.pyx":713 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__55 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_1d_int8_axisNone, 747, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int_axis1, 713, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":767 + /* "nanmin.pyx":739 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__57 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_1d_int32_axisNone, 767, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int8_axis0, 739, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":787 + /* "nanmin.pyx":765 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__59 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_m); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_1d_int64_axisNone, 787, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int8_axis1, 765, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":807 + /* "nanmin.pyx":791 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__61 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int_axisNone, 807, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int32_axis0, 791, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":829 + /* "nanmin.pyx":817 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__63 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int8_axisNone, 829, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int32_axis1, 817, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":851 + /* "nanmin.pyx":843 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__65 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int32_axisNone, 851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int64_axis0, 843, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanmin.pyx":873 + /* "nanmin.pyx":869 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__67 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_m); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_amin, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_2d_int64_axisNone, 873, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_2d_int64_axis1, 869, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":930 - * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone + * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 * * def nanmin_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmin along axis 0." @@ -16953,7 +16953,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis0, 930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis0, 930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":934 * return bn.slow.nanmin(arr, axis=0) @@ -16965,7 +16965,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis1, 934, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis1, 934, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":938 * return bn.slow.nanmin(arr, axis=1) @@ -16977,7 +16977,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis2, 938, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis2, 938, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":942 * return bn.slow.nanmin(arr, axis=2) @@ -16989,7 +16989,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis3, 942, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis3, 942, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":946 * return bn.slow.nanmin(arr, axis=3) @@ -17001,7 +17001,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis4, 946, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis4, 946, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":950 * return bn.slow.nanmin(arr, axis=4) @@ -17013,7 +17013,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis5, 950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis5, 950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":954 * return bn.slow.nanmin(arr, axis=5) @@ -17025,7 +17025,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis6, 954, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis6, 954, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":958 * return bn.slow.nanmin(arr, axis=6) @@ -17037,7 +17037,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis7, 958, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis7, 958, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":962 * return bn.slow.nanmin(arr, axis=7) @@ -17049,7 +17049,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis8, 962, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis8, 962, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":966 * return bn.slow.nanmin(arr, axis=8) @@ -17061,7 +17061,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis9, 966, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis9, 966, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":970 * return bn.slow.nanmin(arr, axis=9) @@ -17073,7 +17073,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis10, 970, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis10, 970, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":974 * return bn.slow.nanmin(arr, axis=10) @@ -17085,7 +17085,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis11, 974, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis11, 974, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":978 * return bn.slow.nanmin(arr, axis=11) @@ -17097,7 +17097,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis12, 978, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis12, 978, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":982 * return bn.slow.nanmin(arr, axis=12) @@ -17109,7 +17109,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis13, 982, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis13, 982, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":986 * return bn.slow.nanmin(arr, axis=13) @@ -17121,7 +17121,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis14, 986, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis14, 986, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":990 * return bn.slow.nanmin(arr, axis=14) @@ -17133,7 +17133,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis15, 990, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis15, 990, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":994 * return bn.slow.nanmin(arr, axis=15) @@ -17145,7 +17145,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis16, 994, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis16, 994, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":998 * return bn.slow.nanmin(arr, axis=16) @@ -17157,7 +17157,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis17, 998, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis17, 998, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1002 * return bn.slow.nanmin(arr, axis=17) @@ -17169,7 +17169,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis18, 1002, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis18, 1002, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1006 * return bn.slow.nanmin(arr, axis=18) @@ -17181,7 +17181,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1006; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis19, 1006, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1006; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis19, 1006, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1006; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1010 * return bn.slow.nanmin(arr, axis=19) @@ -17193,7 +17193,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis20, 1010, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis20, 1010, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1014 * return bn.slow.nanmin(arr, axis=20) @@ -17205,7 +17205,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis21, 1014, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis21, 1014, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1018 * return bn.slow.nanmin(arr, axis=21) @@ -17217,7 +17217,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis22, 1018, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis22, 1018, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1022 * return bn.slow.nanmin(arr, axis=22) @@ -17229,7 +17229,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis23, 1022, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis23, 1022, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1026 * return bn.slow.nanmin(arr, axis=23) @@ -17241,7 +17241,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis24, 1026, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis24, 1026, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1030 * return bn.slow.nanmin(arr, axis=24) @@ -17253,7 +17253,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis25, 1030, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis25, 1030, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1034 * return bn.slow.nanmin(arr, axis=25) @@ -17265,7 +17265,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis26, 1034, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis26, 1034, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1038 * return bn.slow.nanmin(arr, axis=26) @@ -17277,7 +17277,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis27, 1038, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis27, 1038, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1042 * return bn.slow.nanmin(arr, axis=27) @@ -17289,7 +17289,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis28, 1042, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis28, 1042, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1046 * return bn.slow.nanmin(arr, axis=28) @@ -17301,7 +17301,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis29, 1046, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis29, 1046, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1050 * return bn.slow.nanmin(arr, axis=29) @@ -17313,7 +17313,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis30, 1050, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis30, 1050, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1054 * return bn.slow.nanmin(arr, axis=30) @@ -17325,7 +17325,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis31, 1054, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis31, 1054, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1058 * return bn.slow.nanmin(arr, axis=31) @@ -17337,7 +17337,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axis32, 1058, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axis32, 1058, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanmin.pyx":1062 * return bn.slow.nanmin(arr, axis=32) @@ -17349,7 +17349,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanmin_slow_axisNone, 1062, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanmin_slow_axisNone, 1062, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -18315,345 +18315,345 @@ PyMODINIT_FUNC PyInit_nanmin(void) /* "nanmin.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=0 ignoring NaNs." + * def nanmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_5nanmin_2d_int_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_5nanmin_2d_float_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":209 + /* "nanmin.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=1 ignoring NaNs." + * def nanmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_7nanmin_2d_int_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_7nanmin_2d_float_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":235 + /* "nanmin.pyx":245 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * def nanmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_9nanmin_2d_int8_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_9nanmin_2d_float32_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":261 + /* "nanmin.pyx":276 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * def nanmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_11nanmin_2d_int8_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_11nanmin_2d_float32_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":287 + /* "nanmin.pyx":307 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * def nanmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_13nanmin_2d_int32_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_13nanmin_2d_float64_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":313 + /* "nanmin.pyx":338 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * def nanmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_15nanmin_2d_int32_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_15nanmin_2d_float64_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":339 + /* "nanmin.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * def nanmin_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_17nanmin_2d_int64_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_17nanmin_1d_float_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":365 + /* "nanmin.pyx":393 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=1 ignoring NaNs." + * def nanmin_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_19nanmin_2d_int64_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_19nanmin_1d_float32_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":391 + /* "nanmin.pyx":417 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanmin_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_21nanmin_1d_float_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_21nanmin_1d_float64_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":415 + /* "nanmin.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmin_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_23nanmin_1d_float32_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_23nanmin_2d_float_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":439 + /* "nanmin.pyx":467 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmin_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_25nanmin_1d_float64_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_25nanmin_2d_float32_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":463 + /* "nanmin.pyx":493 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanmin_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_27nanmin_2d_float_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_27nanmin_2d_float64_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":489 + /* "nanmin.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=None ignoring NaNs." + * def nanmin_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_29nanmin_2d_float32_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_29nanmin_1d_int_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":515 + /* "nanmin.pyx":539 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=None ignoring NaNs." + * def nanmin_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_31nanmin_2d_float64_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_31nanmin_1d_int8_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":541 + /* "nanmin.pyx":559 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=0 ignoring NaNs." + * def nanmin_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_33nanmin_2d_float_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_33nanmin_1d_int32_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":572 + /* "nanmin.pyx":579 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float along axis=1 ignoring NaNs." + * def nanmin_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Minimum of 1d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_35nanmin_2d_float_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_35nanmin_1d_int64_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":603 + /* "nanmin.pyx":599 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * def nanmin_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_37nanmin_2d_float32_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_37nanmin_2d_int_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":634 + /* "nanmin.pyx":621 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * def nanmin_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_39nanmin_2d_float32_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_39nanmin_2d_int8_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":665 + /* "nanmin.pyx":643 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * def nanmin_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_41nanmin_2d_float64_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_41nanmin_2d_int32_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":696 + /* "nanmin.pyx":665 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * def nanmin_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_43nanmin_2d_float64_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_43nanmin_2d_int64_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":727 + /* "nanmin.pyx":687 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanmin_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_45nanmin_1d_int_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_45nanmin_2d_int_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":747 + /* "nanmin.pyx":713 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmin_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_47nanmin_1d_int8_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_47nanmin_2d_int_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":767 + /* "nanmin.pyx":739 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmin_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_49nanmin_1d_int32_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_49nanmin_2d_int8_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":787 + /* "nanmin.pyx":765 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Minimum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmin_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_51nanmin_1d_int64_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_51nanmin_2d_int8_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":807 + /* "nanmin.pyx":791 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanmin_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_53nanmin_2d_int_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_53nanmin_2d_int32_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":829 + /* "nanmin.pyx":817 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanmin_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_55nanmin_2d_int8_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_55nanmin_2d_int32_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":851 + /* "nanmin.pyx":843 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanmin_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_57nanmin_2d_int32_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_57nanmin_2d_int64_axis0, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanmin.pyx":873 + /* "nanmin.pyx":869 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanmin_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Minimum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanmin_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Minimum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_59nanmin_2d_int64_axisNone, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanmin_59nanmin_2d_int64_axis1, NULL, __pyx_n_s_nanmin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanmin_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":893 - * return np.int64(amin) + * return y * * cdef dict nanmin_dict = {} # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int, 0)] = nanmin_2d_int_axis0 - * nanmin_dict[(2, NPY_int, 1)] = nanmin_2d_int_axis1 + * nanmin_dict[(2, NPY_float, 0)] = nanmin_2d_float_axis0 + * nanmin_dict[(2, NPY_float, 1)] = nanmin_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -18665,17 +18665,17 @@ PyMODINIT_FUNC PyInit_nanmin(void) /* "nanmin.pyx":894 * * cdef dict nanmin_dict = {} - * nanmin_dict[(2, NPY_int, 0)] = nanmin_2d_int_axis0 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int, 1)] = nanmin_2d_int_axis1 - * nanmin_dict[(2, NPY_int8, 0)] = nanmin_2d_int8_axis0 + * nanmin_dict[(2, NPY_float, 0)] = nanmin_2d_float_axis0 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float, 1)] = nanmin_2d_float_axis1 + * nanmin_dict[(2, NPY_float32, 0)] = nanmin_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18694,18 +18694,18 @@ PyMODINIT_FUNC PyInit_nanmin(void) /* "nanmin.pyx":895 * cdef dict nanmin_dict = {} - * nanmin_dict[(2, NPY_int, 0)] = nanmin_2d_int_axis0 - * nanmin_dict[(2, NPY_int, 1)] = nanmin_2d_int_axis1 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int8, 0)] = nanmin_2d_int8_axis0 - * nanmin_dict[(2, NPY_int8, 1)] = nanmin_2d_int8_axis1 + * nanmin_dict[(2, NPY_float, 0)] = nanmin_2d_float_axis0 + * nanmin_dict[(2, NPY_float, 1)] = nanmin_2d_float_axis1 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float32, 0)] = nanmin_2d_float32_axis0 + * nanmin_dict[(2, NPY_float32, 1)] = nanmin_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18723,19 +18723,19 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":896 - * nanmin_dict[(2, NPY_int, 0)] = nanmin_2d_int_axis0 - * nanmin_dict[(2, NPY_int, 1)] = nanmin_2d_int_axis1 - * nanmin_dict[(2, NPY_int8, 0)] = nanmin_2d_int8_axis0 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int8, 1)] = nanmin_2d_int8_axis1 - * nanmin_dict[(2, NPY_int32, 0)] = nanmin_2d_int32_axis0 + * nanmin_dict[(2, NPY_float, 0)] = nanmin_2d_float_axis0 + * nanmin_dict[(2, NPY_float, 1)] = nanmin_2d_float_axis1 + * nanmin_dict[(2, NPY_float32, 0)] = nanmin_2d_float32_axis0 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float32, 1)] = nanmin_2d_float32_axis1 + * nanmin_dict[(2, NPY_float64, 0)] = nanmin_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18753,19 +18753,19 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":897 - * nanmin_dict[(2, NPY_int, 1)] = nanmin_2d_int_axis1 - * nanmin_dict[(2, NPY_int8, 0)] = nanmin_2d_int8_axis0 - * nanmin_dict[(2, NPY_int8, 1)] = nanmin_2d_int8_axis1 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int32, 0)] = nanmin_2d_int32_axis0 - * nanmin_dict[(2, NPY_int32, 1)] = nanmin_2d_int32_axis1 + * nanmin_dict[(2, NPY_float, 1)] = nanmin_2d_float_axis1 + * nanmin_dict[(2, NPY_float32, 0)] = nanmin_2d_float32_axis0 + * nanmin_dict[(2, NPY_float32, 1)] = nanmin_2d_float32_axis1 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float64, 0)] = nanmin_2d_float64_axis0 + * nanmin_dict[(2, NPY_float64, 1)] = nanmin_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18783,19 +18783,19 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":898 - * nanmin_dict[(2, NPY_int8, 0)] = nanmin_2d_int8_axis0 - * nanmin_dict[(2, NPY_int8, 1)] = nanmin_2d_int8_axis1 - * nanmin_dict[(2, NPY_int32, 0)] = nanmin_2d_int32_axis0 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int32, 1)] = nanmin_2d_int32_axis1 - * nanmin_dict[(2, NPY_int64, 0)] = nanmin_2d_int64_axis0 + * nanmin_dict[(2, NPY_float32, 0)] = nanmin_2d_float32_axis0 + * nanmin_dict[(2, NPY_float32, 1)] = nanmin_2d_float32_axis1 + * nanmin_dict[(2, NPY_float64, 0)] = nanmin_2d_float64_axis0 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float64, 1)] = nanmin_2d_float64_axis1 + * nanmin_dict[(1, NPY_float, 0)] = nanmin_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18813,19 +18813,19 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":899 - * nanmin_dict[(2, NPY_int8, 1)] = nanmin_2d_int8_axis1 - * nanmin_dict[(2, NPY_int32, 0)] = nanmin_2d_int32_axis0 - * nanmin_dict[(2, NPY_int32, 1)] = nanmin_2d_int32_axis1 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int64, 0)] = nanmin_2d_int64_axis0 - * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 + * nanmin_dict[(2, NPY_float32, 1)] = nanmin_2d_float32_axis1 + * nanmin_dict[(2, NPY_float64, 0)] = nanmin_2d_float64_axis0 + * nanmin_dict[(2, NPY_float64, 1)] = nanmin_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float, 0)] = nanmin_1d_float_axisNone + * nanmin_dict[(1, NPY_float, None)] = nanmin_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18843,25 +18843,25 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":900 - * nanmin_dict[(2, NPY_int32, 0)] = nanmin_2d_int32_axis0 - * nanmin_dict[(2, NPY_int32, 1)] = nanmin_2d_int32_axis1 - * nanmin_dict[(2, NPY_int64, 0)] = nanmin_2d_int64_axis0 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 - * nanmin_dict[(1, NPY_float, 0)] = nanmin_1d_float_axisNone + * nanmin_dict[(2, NPY_float64, 0)] = nanmin_2d_float64_axis0 + * nanmin_dict[(2, NPY_float64, 1)] = nanmin_2d_float64_axis1 + * nanmin_dict[(1, NPY_float, 0)] = nanmin_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float, None)] = nanmin_1d_float_axisNone + * nanmin_dict[(1, NPY_float32, 0)] = nanmin_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -18873,49 +18873,49 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":901 - * nanmin_dict[(2, NPY_int32, 1)] = nanmin_2d_int32_axis1 - * nanmin_dict[(2, NPY_int64, 0)] = nanmin_2d_int64_axis0 - * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float64, 1)] = nanmin_2d_float64_axis1 * nanmin_dict[(1, NPY_float, 0)] = nanmin_1d_float_axisNone - * nanmin_dict[(1, NPY_float, None)] = nanmin_1d_float_axisNone + * nanmin_dict[(1, NPY_float, None)] = nanmin_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float32, 0)] = nanmin_1d_float32_axisNone + * nanmin_dict[(1, NPY_float32, None)] = nanmin_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":902 - * nanmin_dict[(2, NPY_int64, 0)] = nanmin_2d_int64_axis0 - * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 - * nanmin_dict[(1, NPY_float, 0)] = nanmin_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float, 0)] = nanmin_1d_float_axisNone * nanmin_dict[(1, NPY_float, None)] = nanmin_1d_float_axisNone - * nanmin_dict[(1, NPY_float32, 0)] = nanmin_1d_float32_axisNone + * nanmin_dict[(1, NPY_float32, 0)] = nanmin_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float32, None)] = nanmin_1d_float32_axisNone + * nanmin_dict[(1, NPY_float64, 0)] = nanmin_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18933,19 +18933,19 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":903 - * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 - * nanmin_dict[(1, NPY_float, 0)] = nanmin_1d_float_axisNone - * nanmin_dict[(1, NPY_float, None)] = nanmin_1d_float_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float, None)] = nanmin_1d_float_axisNone * nanmin_dict[(1, NPY_float32, 0)] = nanmin_1d_float32_axisNone - * nanmin_dict[(1, NPY_float32, None)] = nanmin_1d_float32_axisNone + * nanmin_dict[(1, NPY_float32, None)] = nanmin_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float64, 0)] = nanmin_1d_float64_axisNone + * nanmin_dict[(1, NPY_float64, None)] = nanmin_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18963,19 +18963,19 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":904 - * nanmin_dict[(1, NPY_float, 0)] = nanmin_1d_float_axisNone - * nanmin_dict[(1, NPY_float, None)] = nanmin_1d_float_axisNone - * nanmin_dict[(1, NPY_float32, 0)] = nanmin_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float32, 0)] = nanmin_1d_float32_axisNone * nanmin_dict[(1, NPY_float32, None)] = nanmin_1d_float32_axisNone - * nanmin_dict[(1, NPY_float64, 0)] = nanmin_1d_float64_axisNone + * nanmin_dict[(1, NPY_float64, 0)] = nanmin_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float64, None)] = nanmin_1d_float64_axisNone + * nanmin_dict[(2, NPY_float, None)] = nanmin_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18993,19 +18993,19 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":905 - * nanmin_dict[(1, NPY_float, None)] = nanmin_1d_float_axisNone - * nanmin_dict[(1, NPY_float32, 0)] = nanmin_1d_float32_axisNone - * nanmin_dict[(1, NPY_float32, None)] = nanmin_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float32, None)] = nanmin_1d_float32_axisNone * nanmin_dict[(1, NPY_float64, 0)] = nanmin_1d_float64_axisNone - * nanmin_dict[(1, NPY_float64, None)] = nanmin_1d_float64_axisNone + * nanmin_dict[(1, NPY_float64, None)] = nanmin_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float, None)] = nanmin_2d_float_axisNone + * nanmin_dict[(2, NPY_float32, None)] = nanmin_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19023,55 +19023,55 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":906 - * nanmin_dict[(1, NPY_float32, 0)] = nanmin_1d_float32_axisNone - * nanmin_dict[(1, NPY_float32, None)] = nanmin_1d_float32_axisNone - * nanmin_dict[(1, NPY_float64, 0)] = nanmin_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float64, 0)] = nanmin_1d_float64_axisNone * nanmin_dict[(1, NPY_float64, None)] = nanmin_1d_float64_axisNone - * nanmin_dict[(2, NPY_float, None)] = nanmin_2d_float_axisNone + * nanmin_dict[(2, NPY_float, None)] = nanmin_2d_float_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float32, None)] = nanmin_2d_float32_axisNone + * nanmin_dict[(2, NPY_float64, None)] = nanmin_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":907 - * nanmin_dict[(1, NPY_float32, None)] = nanmin_1d_float32_axisNone - * nanmin_dict[(1, NPY_float64, 0)] = nanmin_1d_float64_axisNone - * nanmin_dict[(1, NPY_float64, None)] = nanmin_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_float64, None)] = nanmin_1d_float64_axisNone * nanmin_dict[(2, NPY_float, None)] = nanmin_2d_float_axisNone - * nanmin_dict[(2, NPY_float32, None)] = nanmin_2d_float32_axisNone + * nanmin_dict[(2, NPY_float32, None)] = nanmin_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float64, None)] = nanmin_2d_float64_axisNone + * nanmin_dict[(1, NPY_int, 0)] = nanmin_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -19083,19 +19083,19 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":908 - * nanmin_dict[(1, NPY_float64, 0)] = nanmin_1d_float64_axisNone - * nanmin_dict[(1, NPY_float64, None)] = nanmin_1d_float64_axisNone - * nanmin_dict[(2, NPY_float, None)] = nanmin_2d_float_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float, None)] = nanmin_2d_float_axisNone * nanmin_dict[(2, NPY_float32, None)] = nanmin_2d_float32_axisNone - * nanmin_dict[(2, NPY_float64, None)] = nanmin_2d_float64_axisNone + * nanmin_dict[(2, NPY_float64, None)] = nanmin_2d_float64_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_int, 0)] = nanmin_1d_int_axisNone + * nanmin_dict[(1, NPY_int, None)] = nanmin_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19113,55 +19113,55 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":909 - * nanmin_dict[(1, NPY_float64, None)] = nanmin_1d_float64_axisNone - * nanmin_dict[(2, NPY_float, None)] = nanmin_2d_float_axisNone - * nanmin_dict[(2, NPY_float32, None)] = nanmin_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_float32, None)] = nanmin_2d_float32_axisNone * nanmin_dict[(2, NPY_float64, None)] = nanmin_2d_float64_axisNone - * nanmin_dict[(2, NPY_float, 0)] = nanmin_2d_float_axis0 + * nanmin_dict[(1, NPY_int, 0)] = nanmin_1d_int_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_int, None)] = nanmin_1d_int_axisNone + * nanmin_dict[(1, NPY_int8, 0)] = nanmin_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":910 - * nanmin_dict[(2, NPY_float, None)] = nanmin_2d_float_axisNone - * nanmin_dict[(2, NPY_float32, None)] = nanmin_2d_float32_axisNone - * nanmin_dict[(2, NPY_float64, None)] = nanmin_2d_float64_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_float, 0)] = nanmin_2d_float_axis0 - * nanmin_dict[(2, NPY_float, 1)] = nanmin_2d_float_axis1 + * nanmin_dict[(2, NPY_float64, None)] = nanmin_2d_float64_axisNone + * nanmin_dict[(1, NPY_int, 0)] = nanmin_1d_int_axisNone + * nanmin_dict[(1, NPY_int, None)] = nanmin_1d_int_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_int8, 0)] = nanmin_1d_int8_axisNone + * nanmin_dict[(1, NPY_int8, None)] = nanmin_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -19173,25 +19173,25 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":911 - * nanmin_dict[(2, NPY_float32, None)] = nanmin_2d_float32_axisNone - * nanmin_dict[(2, NPY_float64, None)] = nanmin_2d_float64_axisNone - * nanmin_dict[(2, NPY_float, 0)] = nanmin_2d_float_axis0 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_float, 1)] = nanmin_2d_float_axis1 - * nanmin_dict[(2, NPY_float32, 0)] = nanmin_2d_float32_axis0 + * nanmin_dict[(1, NPY_int, 0)] = nanmin_1d_int_axisNone + * nanmin_dict[(1, NPY_int, None)] = nanmin_1d_int_axisNone + * nanmin_dict[(1, NPY_int8, 0)] = nanmin_1d_int8_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_int8, None)] = nanmin_1d_int8_axisNone + * nanmin_dict[(1, NPY_int32, 0)] = nanmin_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -19203,55 +19203,55 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":912 - * nanmin_dict[(2, NPY_float64, None)] = nanmin_2d_float64_axisNone - * nanmin_dict[(2, NPY_float, 0)] = nanmin_2d_float_axis0 - * nanmin_dict[(2, NPY_float, 1)] = nanmin_2d_float_axis1 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_float32, 0)] = nanmin_2d_float32_axis0 - * nanmin_dict[(2, NPY_float32, 1)] = nanmin_2d_float32_axis1 + * nanmin_dict[(1, NPY_int, None)] = nanmin_1d_int_axisNone + * nanmin_dict[(1, NPY_int8, 0)] = nanmin_1d_int8_axisNone + * nanmin_dict[(1, NPY_int8, None)] = nanmin_1d_int8_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_int32, 0)] = nanmin_1d_int32_axisNone + * nanmin_dict[(1, NPY_int32, None)] = nanmin_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":913 - * nanmin_dict[(2, NPY_float, 0)] = nanmin_2d_float_axis0 - * nanmin_dict[(2, NPY_float, 1)] = nanmin_2d_float_axis1 - * nanmin_dict[(2, NPY_float32, 0)] = nanmin_2d_float32_axis0 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_float32, 1)] = nanmin_2d_float32_axis1 - * nanmin_dict[(2, NPY_float64, 0)] = nanmin_2d_float64_axis0 + * nanmin_dict[(1, NPY_int8, 0)] = nanmin_1d_int8_axisNone + * nanmin_dict[(1, NPY_int8, None)] = nanmin_1d_int8_axisNone + * nanmin_dict[(1, NPY_int32, 0)] = nanmin_1d_int32_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_int32, None)] = nanmin_1d_int32_axisNone + * nanmin_dict[(1, NPY_int64, 0)] = nanmin_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -19263,55 +19263,55 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":914 - * nanmin_dict[(2, NPY_float, 1)] = nanmin_2d_float_axis1 - * nanmin_dict[(2, NPY_float32, 0)] = nanmin_2d_float32_axis0 - * nanmin_dict[(2, NPY_float32, 1)] = nanmin_2d_float32_axis1 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_float64, 0)] = nanmin_2d_float64_axis0 - * nanmin_dict[(2, NPY_float64, 1)] = nanmin_2d_float64_axis1 + * nanmin_dict[(1, NPY_int8, None)] = nanmin_1d_int8_axisNone + * nanmin_dict[(1, NPY_int32, 0)] = nanmin_1d_int32_axisNone + * nanmin_dict[(1, NPY_int32, None)] = nanmin_1d_int32_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_int64, 0)] = nanmin_1d_int64_axisNone + * nanmin_dict[(1, NPY_int64, None)] = nanmin_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":915 - * nanmin_dict[(2, NPY_float32, 0)] = nanmin_2d_float32_axis0 - * nanmin_dict[(2, NPY_float32, 1)] = nanmin_2d_float32_axis1 - * nanmin_dict[(2, NPY_float64, 0)] = nanmin_2d_float64_axis0 # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_float64, 1)] = nanmin_2d_float64_axis1 - * nanmin_dict[(1, NPY_int, 0)] = nanmin_1d_int_axisNone + * nanmin_dict[(1, NPY_int32, 0)] = nanmin_1d_int32_axisNone + * nanmin_dict[(1, NPY_int32, None)] = nanmin_1d_int32_axisNone + * nanmin_dict[(1, NPY_int64, 0)] = nanmin_1d_int64_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(1, NPY_int64, None)] = nanmin_1d_int64_axisNone + * nanmin_dict[(2, NPY_int, None)] = nanmin_2d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -19323,43 +19323,43 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":916 - * nanmin_dict[(2, NPY_float32, 1)] = nanmin_2d_float32_axis1 - * nanmin_dict[(2, NPY_float64, 0)] = nanmin_2d_float64_axis0 - * nanmin_dict[(2, NPY_float64, 1)] = nanmin_2d_float64_axis1 # <<<<<<<<<<<<<< - * nanmin_dict[(1, NPY_int, 0)] = nanmin_1d_int_axisNone - * nanmin_dict[(1, NPY_int, None)] = nanmin_1d_int_axisNone + * nanmin_dict[(1, NPY_int32, None)] = nanmin_1d_int32_axisNone + * nanmin_dict[(1, NPY_int64, 0)] = nanmin_1d_int64_axisNone + * nanmin_dict[(1, NPY_int64, None)] = nanmin_1d_int64_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int, None)] = nanmin_2d_int_axisNone + * nanmin_dict[(2, NPY_int8, None)] = nanmin_2d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":917 - * nanmin_dict[(2, NPY_float64, 0)] = nanmin_2d_float64_axis0 - * nanmin_dict[(2, NPY_float64, 1)] = nanmin_2d_float64_axis1 - * nanmin_dict[(1, NPY_int, 0)] = nanmin_1d_int_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(1, NPY_int, None)] = nanmin_1d_int_axisNone - * nanmin_dict[(1, NPY_int8, 0)] = nanmin_1d_int8_axisNone + * nanmin_dict[(1, NPY_int64, 0)] = nanmin_1d_int64_axisNone + * nanmin_dict[(1, NPY_int64, None)] = nanmin_1d_int64_axisNone + * nanmin_dict[(2, NPY_int, None)] = nanmin_2d_int_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int8, None)] = nanmin_2d_int8_axisNone + * nanmin_dict[(2, NPY_int32, None)] = nanmin_2d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -19369,39 +19369,39 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":918 - * nanmin_dict[(2, NPY_float64, 1)] = nanmin_2d_float64_axis1 - * nanmin_dict[(1, NPY_int, 0)] = nanmin_1d_int_axisNone - * nanmin_dict[(1, NPY_int, None)] = nanmin_1d_int_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(1, NPY_int8, 0)] = nanmin_1d_int8_axisNone - * nanmin_dict[(1, NPY_int8, None)] = nanmin_1d_int8_axisNone + * nanmin_dict[(1, NPY_int64, None)] = nanmin_1d_int64_axisNone + * nanmin_dict[(2, NPY_int, None)] = nanmin_2d_int_axisNone + * nanmin_dict[(2, NPY_int8, None)] = nanmin_2d_int8_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int32, None)] = nanmin_2d_int32_axisNone + * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -19413,55 +19413,55 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":919 - * nanmin_dict[(1, NPY_int, 0)] = nanmin_1d_int_axisNone - * nanmin_dict[(1, NPY_int, None)] = nanmin_1d_int_axisNone - * nanmin_dict[(1, NPY_int8, 0)] = nanmin_1d_int8_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(1, NPY_int8, None)] = nanmin_1d_int8_axisNone - * nanmin_dict[(1, NPY_int32, 0)] = nanmin_1d_int32_axisNone + * nanmin_dict[(2, NPY_int, None)] = nanmin_2d_int_axisNone + * nanmin_dict[(2, NPY_int8, None)] = nanmin_2d_int8_axisNone + * nanmin_dict[(2, NPY_int32, None)] = nanmin_2d_int32_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone + * nanmin_dict[(2, NPY_int, 0)] = nanmin_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":920 - * nanmin_dict[(1, NPY_int, None)] = nanmin_1d_int_axisNone - * nanmin_dict[(1, NPY_int8, 0)] = nanmin_1d_int8_axisNone - * nanmin_dict[(1, NPY_int8, None)] = nanmin_1d_int8_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(1, NPY_int32, 0)] = nanmin_1d_int32_axisNone - * nanmin_dict[(1, NPY_int32, None)] = nanmin_1d_int32_axisNone + * nanmin_dict[(2, NPY_int8, None)] = nanmin_2d_int8_axisNone + * nanmin_dict[(2, NPY_int32, None)] = nanmin_2d_int32_axisNone + * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int, 0)] = nanmin_2d_int_axis0 + * nanmin_dict[(2, NPY_int, 1)] = nanmin_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -19473,25 +19473,25 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":921 - * nanmin_dict[(1, NPY_int8, 0)] = nanmin_1d_int8_axisNone - * nanmin_dict[(1, NPY_int8, None)] = nanmin_1d_int8_axisNone - * nanmin_dict[(1, NPY_int32, 0)] = nanmin_1d_int32_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(1, NPY_int32, None)] = nanmin_1d_int32_axisNone - * nanmin_dict[(1, NPY_int64, 0)] = nanmin_1d_int64_axisNone + * nanmin_dict[(2, NPY_int32, None)] = nanmin_2d_int32_axisNone + * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone + * nanmin_dict[(2, NPY_int, 0)] = nanmin_2d_int_axis0 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int, 1)] = nanmin_2d_int_axis1 + * nanmin_dict[(2, NPY_int8, 0)] = nanmin_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -19503,55 +19503,55 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":922 - * nanmin_dict[(1, NPY_int8, None)] = nanmin_1d_int8_axisNone - * nanmin_dict[(1, NPY_int32, 0)] = nanmin_1d_int32_axisNone - * nanmin_dict[(1, NPY_int32, None)] = nanmin_1d_int32_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(1, NPY_int64, 0)] = nanmin_1d_int64_axisNone - * nanmin_dict[(1, NPY_int64, None)] = nanmin_1d_int64_axisNone + * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone + * nanmin_dict[(2, NPY_int, 0)] = nanmin_2d_int_axis0 + * nanmin_dict[(2, NPY_int, 1)] = nanmin_2d_int_axis1 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int8, 0)] = nanmin_2d_int8_axis0 + * nanmin_dict[(2, NPY_int8, 1)] = nanmin_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":923 - * nanmin_dict[(1, NPY_int32, 0)] = nanmin_1d_int32_axisNone - * nanmin_dict[(1, NPY_int32, None)] = nanmin_1d_int32_axisNone - * nanmin_dict[(1, NPY_int64, 0)] = nanmin_1d_int64_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(1, NPY_int64, None)] = nanmin_1d_int64_axisNone - * nanmin_dict[(2, NPY_int, None)] = nanmin_2d_int_axisNone + * nanmin_dict[(2, NPY_int, 0)] = nanmin_2d_int_axis0 + * nanmin_dict[(2, NPY_int, 1)] = nanmin_2d_int_axis1 + * nanmin_dict[(2, NPY_int8, 0)] = nanmin_2d_int8_axis0 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int8, 1)] = nanmin_2d_int8_axis1 + * nanmin_dict[(2, NPY_int32, 0)] = nanmin_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -19563,49 +19563,49 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":924 - * nanmin_dict[(1, NPY_int32, None)] = nanmin_1d_int32_axisNone - * nanmin_dict[(1, NPY_int64, 0)] = nanmin_1d_int64_axisNone - * nanmin_dict[(1, NPY_int64, None)] = nanmin_1d_int64_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int, None)] = nanmin_2d_int_axisNone - * nanmin_dict[(2, NPY_int8, None)] = nanmin_2d_int8_axisNone + * nanmin_dict[(2, NPY_int, 1)] = nanmin_2d_int_axis1 + * nanmin_dict[(2, NPY_int8, 0)] = nanmin_2d_int8_axis0 + * nanmin_dict[(2, NPY_int8, 1)] = nanmin_2d_int8_axis1 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int32, 0)] = nanmin_2d_int32_axis0 + * nanmin_dict[(2, NPY_int32, 1)] = nanmin_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":925 - * nanmin_dict[(1, NPY_int64, 0)] = nanmin_1d_int64_axisNone - * nanmin_dict[(1, NPY_int64, None)] = nanmin_1d_int64_axisNone - * nanmin_dict[(2, NPY_int, None)] = nanmin_2d_int_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int8, None)] = nanmin_2d_int8_axisNone - * nanmin_dict[(2, NPY_int32, None)] = nanmin_2d_int32_axisNone + * nanmin_dict[(2, NPY_int8, 0)] = nanmin_2d_int8_axis0 + * nanmin_dict[(2, NPY_int8, 1)] = nanmin_2d_int8_axis1 + * nanmin_dict[(2, NPY_int32, 0)] = nanmin_2d_int32_axis0 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int32, 1)] = nanmin_2d_int32_axis1 + * nanmin_dict[(2, NPY_int64, 0)] = nanmin_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19614,28 +19614,28 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":926 - * nanmin_dict[(1, NPY_int64, None)] = nanmin_1d_int64_axisNone - * nanmin_dict[(2, NPY_int, None)] = nanmin_2d_int_axisNone - * nanmin_dict[(2, NPY_int8, None)] = nanmin_2d_int8_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int32, None)] = nanmin_2d_int32_axisNone - * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone + * nanmin_dict[(2, NPY_int8, 1)] = nanmin_2d_int8_axis1 + * nanmin_dict[(2, NPY_int32, 0)] = nanmin_2d_int32_axis0 + * nanmin_dict[(2, NPY_int32, 1)] = nanmin_2d_int32_axis1 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int64, 0)] = nanmin_2d_int64_axis0 + * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -19644,28 +19644,28 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":927 - * nanmin_dict[(2, NPY_int, None)] = nanmin_2d_int_axisNone - * nanmin_dict[(2, NPY_int8, None)] = nanmin_2d_int8_axisNone - * nanmin_dict[(2, NPY_int32, None)] = nanmin_2d_int32_axisNone # <<<<<<<<<<<<<< - * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone + * nanmin_dict[(2, NPY_int32, 0)] = nanmin_2d_int32_axis0 + * nanmin_dict[(2, NPY_int32, 1)] = nanmin_2d_int32_axis1 + * nanmin_dict[(2, NPY_int64, 0)] = nanmin_2d_int64_axis0 # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -19674,22 +19674,22 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":928 - * nanmin_dict[(2, NPY_int8, None)] = nanmin_2d_int8_axisNone - * nanmin_dict[(2, NPY_int32, None)] = nanmin_2d_int32_axisNone - * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone # <<<<<<<<<<<<<< + * nanmin_dict[(2, NPY_int32, 1)] = nanmin_2d_int32_axis1 + * nanmin_dict[(2, NPY_int64, 0)] = nanmin_2d_int64_axis0 + * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nanmin_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanmin_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanmin_nanmin_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -19704,16 +19704,16 @@ PyMODINIT_FUNC PyInit_nanmin(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanmin_nanmin_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanmin.pyx":930 - * nanmin_dict[(2, NPY_int64, None)] = nanmin_2d_int64_axisNone + * nanmin_dict[(2, NPY_int64, 1)] = nanmin_2d_int64_axis1 * * def nanmin_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanmin along axis 0." @@ -20687,7 +20687,7 @@ PyMODINIT_FUNC PyInit_nanmin(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/nanstd.c b/bottlechest/src/func/64bit/nanstd.c index d471792cba..7e5870c547 100644 --- a/bottlechest/src/func/64bit/nanstd.c +++ b/bottlechest/src/func/64bit/nanstd.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1100,13 +1100,13 @@ static __pyx_t_5numpy_float32_t __pyx_v_6nanstd_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_6nanstd_MAXfloat64; static PyObject *__pyx_v_6nanstd_nanstd_dict = 0; static PyObject *__pyx_v_6nanstd_nanstd_slow_dict = 0; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "nanstd" int __pyx_module_is_main_nanstd = 0; @@ -1118,34 +1118,34 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_6nanstd_nanstd(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis, int __pyx_v_ddof); /* proto */ static PyObject *__pyx_pf_6nanstd_2nanstd_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_16nanstd_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_18nanstd_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_22nanstd_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_24nanstd_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_28nanstd_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_30nanstd_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_32nanstd_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_34nanstd_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_36nanstd_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_38nanstd_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_40nanstd_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_42nanstd_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_44nanstd_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_46nanstd_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_48nanstd_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_50nanstd_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_52nanstd_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_54nanstd_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_56nanstd_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanstd_58nanstd_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_4nanstd_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_6nanstd_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_8nanstd_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_10nanstd_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_12nanstd_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_14nanstd_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_16nanstd_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_18nanstd_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_22nanstd_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_24nanstd_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_28nanstd_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_30nanstd_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_32nanstd_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_34nanstd_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_36nanstd_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_38nanstd_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_40nanstd_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_42nanstd_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_44nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_46nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_48nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_50nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_52nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_54nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_56nanstd_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanstd_58nanstd_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ static PyObject *__pyx_pf_6nanstd_60nanstd_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_ddof); /* proto */ static PyObject *__pyx_pf_6nanstd_62nanstd_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_ddof); /* proto */ static PyObject *__pyx_pf_6nanstd_64nanstd_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_ddof); /* proto */ @@ -1325,15 +1325,14 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Return_std_function_and_array_t[] = "\n Return std function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in bn.nanstd()\n is in checking that `axis` is within range, converting `arr` into an\n array (if it is not already an array), and selecting the function to use\n to calculate the standard deviation.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the standard deviation is to be computed.\n \n Returns\n -------\n func : function\n The standard deviation function that matches the number of dimensions\n and dtype of the input array and the axis along which you wish to\n find the standard deviation.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine the standard deviation of `arr`\n along axis=0:\n\n >>> func, a = bn.func.nanstd_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the standard deviation:\n \n >>> func(a)\n 0.81649658092772603\n\n "; static char __pyx_k_Standard_deviation_along_the_sp[] = "\n Standard deviation along the specified axis, ignoring NaNs.\n\n `float64` intermediate and return values are used for integer inputs.\n\n Instead of a faster one-pass algorithm, a more stable two-pass algorithm\n is used.\n\n An example of a one-pass algorithm:\n\n >>> np.sqrt((arr*arr).mean() - arr.mean()**2)\n \n An example of a two-pass algorithm: \n \n >>> np.sqrt(((arr - arr.mean())**2).mean())\n\n Note in the two-pass algorithm the mean must be found (first pass) before\n the squared deviation (second pass) can be found.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}, optional\n Axis along which the standard deviation is computed. The default\n (axis=None) is to compute the standard deviation of the flattened\n array.\n ddof : int, optional\n Means Delta Degrees of Freedom. The divisor used in calculations\n is ``N - ddof``, where ``N`` represents the number of elements.\n By default `ddof` is zero.\n\n Returns\n -------\n y : ndarray\n An array with the same shape as `arr`, with the specified axis removed.\n If `arr` is a 0-d array, or if axis is None, a scalar is returned.\n `float64` intermediate and return values are used for integer inputs. \n\n See also\n --------\n bottlechest.nanvar: Variance along specified axis ignoring NaNs\n\n Notes\n -----\n If positive or negative infinity are present the result is Not A Number\n (NaN).\n\n Examples\n --------\n >>> bn.nanstd(1)\n 0.0\n >>> bn.nanstd([1])\n 0.0\n >>> bn.nanstd([1, np.nan])\n 0.0\n >>> a = np.array([[1, 4], [1, np.nan]])\n >>> bn.nanstd(a)\n 1.4142135623730951\n >>> bn.nanstd(a, axis=0)\n array([ 0., 0.])\n\n When positive infinity or negative infinity are present NaN is returned:\n\n >>> bn.nanstd([1, ""np.nan, np.inf])\n nan\n \n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/nanstd.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\nanstd.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1347,6 +1346,7 @@ static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_kp_u_Standard_deviation_along_the_sp; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__7; static PyObject *__pyx_n_s_a; @@ -2472,16 +2472,16 @@ static PyObject *__pyx_pf_6nanstd_2nanstd_selector(CYTHON_UNUSED PyObject *__pyx /* "nanstd.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_5nanstd_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_4nanstd_2d_int_axis0[] = "nanstd_2d_int_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_5nanstd_2d_int_axis0 = {"nanstd_2d_int_axis0", (PyCFunction)__pyx_pw_6nanstd_5nanstd_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_4nanstd_2d_int_axis0}; -static PyObject *__pyx_pw_6nanstd_5nanstd_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_5nanstd_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_4nanstd_2d_float_axis0[] = "nanstd_2d_float_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_5nanstd_2d_float_axis0 = {"nanstd_2d_float_axis0", (PyCFunction)__pyx_pw_6nanstd_5nanstd_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_4nanstd_2d_float_axis0}; +static PyObject *__pyx_pw_6nanstd_5nanstd_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -2489,7 +2489,7 @@ static PyObject *__pyx_pw_6nanstd_5nanstd_2d_int_axis0(PyObject *__pyx_self, PyO int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -2510,11 +2510,11 @@ static PyObject *__pyx_pw_6nanstd_5nanstd_2d_int_axis0(PyObject *__pyx_self, PyO case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -2527,14 +2527,14 @@ static PyObject *__pyx_pw_6nanstd_5nanstd_2d_int_axis0(PyObject *__pyx_self, PyO } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_4nanstd_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanstd_4nanstd_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -2545,10 +2545,11 @@ static PyObject *__pyx_pw_6nanstd_5nanstd_2d_int_axis0(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_4nanstd_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_amean; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2565,19 +2566,19 @@ static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *_ npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2588,20 +2589,29 @@ static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanstd.pyx":216 - * def nanstd_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * def nanstd_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanstd.pyx":217 + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":219 + /* "nanstd.pyx":220 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2610,7 +2620,7 @@ static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *_ */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":220 + /* "nanstd.pyx":221 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2619,41 +2629,41 @@ static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *_ */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":221 + /* "nanstd.pyx":222 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":222 + /* "nanstd.pyx":223 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":223 + /* "nanstd.pyx":224 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2661,82 +2671,107 @@ static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":225 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanstd.pyx":226 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "nanstd.pyx":226 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + /* "nanstd.pyx":227 + * NPY_float, 0) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; /* "nanstd.pyx":228 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + * for i1 in range(n1): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanstd.pyx":229 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] + /* "nanstd.pyx":229 + * asum = 0 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; /* "nanstd.pyx":230 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n0 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":231 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n0 - * asum = 0 + /* "nanstd.pyx":231 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":232 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanstd.pyx":233 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanstd.pyx":232 - * for i0 in range(n0): - * asum += a[i0, i1] - * amean = asum / n0 # <<<<<<<<<<<<<< + /* "nanstd.pyx":234 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":235 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 * for i0 in range(n0): */ - if (unlikely(__pyx_v_n0 == 0)) { + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -2744,69 +2779,82 @@ static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *_ #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":233 - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanstd.pyx":236 + * if count > 0: + * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":234 - * amean = asum / n0 + /* "nanstd.pyx":237 + * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanstd.pyx":235 + /* "nanstd.pyx":238 * asum = 0 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":236 + /* "nanstd.pyx":239 * for i0 in range(n0): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanstd.pyx":237 + /* "nanstd.pyx":240 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = sqrt(asum / (n0 - ddof)) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = sqrt(asum / (count - ddof)) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanstd.pyx":241 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = sqrt(asum / (count - ddof)) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanstd.pyx":238 - * ai -= amean - * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) # <<<<<<<<<<<<<< - * return y - * + /* "nanstd.pyx":242 + * ai -= amean + * asum += (ai * ai) + * y[i1] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN */ - __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -2814,17 +2862,30 @@ static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *_ #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); + goto __pyx_L8; + } + /*else*/ { + + /* "nanstd.pyx":244 + * y[i1] = sqrt(asum / (count - ddof)) + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanstd.pyx":239 - * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) + /* "nanstd.pyx":245 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2837,9 +2898,9 @@ static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "nanstd.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -2850,7 +2911,7 @@ static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2863,19 +2924,19 @@ static PyObject *__pyx_pf_6nanstd_4nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "nanstd.pyx":243 +/* "nanstd.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_7nanstd_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_6nanstd_2d_int_axis1[] = "nanstd_2d_int_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_7nanstd_2d_int_axis1 = {"nanstd_2d_int_axis1", (PyCFunction)__pyx_pw_6nanstd_7nanstd_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_6nanstd_2d_int_axis1}; -static PyObject *__pyx_pw_6nanstd_7nanstd_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_7nanstd_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_6nanstd_2d_float_axis1[] = "nanstd_2d_float_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_7nanstd_2d_float_axis1 = {"nanstd_2d_float_axis1", (PyCFunction)__pyx_pw_6nanstd_7nanstd_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_6nanstd_2d_float_axis1}; +static PyObject *__pyx_pw_6nanstd_7nanstd_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -2883,7 +2944,7 @@ static PyObject *__pyx_pw_6nanstd_7nanstd_2d_int_axis1(PyObject *__pyx_self, PyO int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -2904,11 +2965,11 @@ static PyObject *__pyx_pw_6nanstd_7nanstd_2d_int_axis1(PyObject *__pyx_self, PyO case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -2917,18 +2978,18 @@ static PyObject *__pyx_pw_6nanstd_7nanstd_2d_int_axis1(PyObject *__pyx_self, PyO values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_6nanstd_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_6nanstd_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -2939,10 +3000,11 @@ static PyObject *__pyx_pw_6nanstd_7nanstd_2d_int_axis1(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_6nanstd_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_amean; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2959,19 +3021,19 @@ static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *_ npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2982,20 +3044,29 @@ static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":245 - * def nanstd_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + /* "nanstd.pyx":251 + * def nanstd_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanstd.pyx":252 + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":248 + /* "nanstd.pyx":255 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3004,7 +3075,7 @@ static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":249 + /* "nanstd.pyx":256 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3013,41 +3084,41 @@ static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":250 + /* "nanstd.pyx":257 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":251 + /* "nanstd.pyx":258 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":252 + /* "nanstd.pyx":259 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3055,82 +3126,107 @@ static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":254 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanstd.pyx":261 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanstd.pyx":255 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + /* "nanstd.pyx":262 + * NPY_float, 0) + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i1 in range(n1): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanstd.pyx":257 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanstd.pyx":263 + * for i0 in range(n0): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanstd.pyx":258 - * else: - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanstd.pyx":264 + * asum = 0 + * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanstd.pyx":259 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n1 + /* "nanstd.pyx":265 + * count = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":260 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n1 - * asum = 0 + /* "nanstd.pyx":266 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":267 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanstd.pyx":268 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanstd.pyx":261 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / n1 # <<<<<<<<<<<<<< + /* "nanstd.pyx":269 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":270 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 * for i1 in range(n1): */ - if (unlikely(__pyx_v_n1 == 0)) { + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3138,69 +3234,82 @@ static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *_ #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":262 - * asum += a[i0, i1] - * amean = asum / n1 + /* "nanstd.pyx":271 + * if count > 0: + * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":263 - * amean = asum / n1 + /* "nanstd.pyx":272 + * amean = asum / count * asum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanstd.pyx":264 + /* "nanstd.pyx":273 * asum = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":265 + /* "nanstd.pyx":274 * for i1 in range(n1): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanstd.pyx":266 + /* "nanstd.pyx":275 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = sqrt(asum / (n1 - ddof)) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = sqrt(asum / (count - ddof)) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanstd.pyx":276 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = sqrt(asum / (count - ddof)) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanstd.pyx":267 - * ai -= amean - * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) # <<<<<<<<<<<<<< - * return y - * + /* "nanstd.pyx":277 + * ai -= amean + * asum += (ai * ai) + * y[i0] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN */ - __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3208,17 +3317,30 @@ static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *_ #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); + goto __pyx_L8; } + /*else*/ { + + /* "nanstd.pyx":279 + * y[i0] = sqrt(asum / (count - ddof)) + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; + } + __pyx_L8:; } - __pyx_L3:; - /* "nanstd.pyx":268 - * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) + /* "nanstd.pyx":280 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3228,12 +3350,12 @@ static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanstd.pyx":243 + /* "nanstd.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -3244,7 +3366,7 @@ static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3257,19 +3379,19 @@ static PyObject *__pyx_pf_6nanstd_6nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "nanstd.pyx":272 +/* "nanstd.pyx":284 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_9nanstd_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_8nanstd_2d_int8_axis0[] = "nanstd_2d_int8_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_9nanstd_2d_int8_axis0 = {"nanstd_2d_int8_axis0", (PyCFunction)__pyx_pw_6nanstd_9nanstd_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_8nanstd_2d_int8_axis0}; -static PyObject *__pyx_pw_6nanstd_9nanstd_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_9nanstd_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_8nanstd_2d_float32_axis0[] = "nanstd_2d_float32_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_9nanstd_2d_float32_axis0 = {"nanstd_2d_float32_axis0", (PyCFunction)__pyx_pw_6nanstd_9nanstd_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_8nanstd_2d_float32_axis0}; +static PyObject *__pyx_pw_6nanstd_9nanstd_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -3277,7 +3399,7 @@ static PyObject *__pyx_pw_6nanstd_9nanstd_2d_int8_axis0(PyObject *__pyx_self, Py int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -3298,11 +3420,11 @@ static PyObject *__pyx_pw_6nanstd_9nanstd_2d_int8_axis0(PyObject *__pyx_self, Py case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3311,18 +3433,18 @@ static PyObject *__pyx_pw_6nanstd_9nanstd_2d_int8_axis0(PyObject *__pyx_self, Py values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_8nanstd_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_8nanstd_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -3333,10 +3455,11 @@ static PyObject *__pyx_pw_6nanstd_9nanstd_2d_int8_axis0(PyObject *__pyx_self, Py return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_8nanstd_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_amean; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3353,19 +3476,19 @@ static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject * npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3376,20 +3499,29 @@ static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":274 - * def nanstd_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + /* "nanstd.pyx":286 + * def nanstd_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanstd.pyx":287 + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":277 + /* "nanstd.pyx":290 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3398,7 +3530,7 @@ static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":278 + /* "nanstd.pyx":291 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3407,41 +3539,41 @@ static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":279 + /* "nanstd.pyx":292 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":280 + /* "nanstd.pyx":293 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":281 + /* "nanstd.pyx":294 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3449,82 +3581,107 @@ static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":283 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanstd.pyx":296 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "nanstd.pyx":284 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + /* "nanstd.pyx":297 + * NPY_float32, 0) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanstd.pyx":286 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":298 + * for i1 in range(n1): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanstd.pyx":287 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] + /* "nanstd.pyx":299 + * asum = 0 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanstd.pyx":288 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanstd.pyx":300 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":289 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n0 - * asum = 0 + /* "nanstd.pyx":301 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":302 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanstd.pyx":303 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanstd.pyx":290 - * for i0 in range(n0): - * asum += a[i0, i1] - * amean = asum / n0 # <<<<<<<<<<<<<< + /* "nanstd.pyx":304 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":305 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 * for i0 in range(n0): */ - if (unlikely(__pyx_v_n0 == 0)) { + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3532,69 +3689,82 @@ static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject * #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":291 - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanstd.pyx":306 + * if count > 0: + * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":292 - * amean = asum / n0 + /* "nanstd.pyx":307 + * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanstd.pyx":293 + /* "nanstd.pyx":308 * asum = 0 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":294 + /* "nanstd.pyx":309 * for i0 in range(n0): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanstd.pyx":295 + /* "nanstd.pyx":310 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = sqrt(asum / (n0 - ddof)) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = sqrt(asum / (count - ddof)) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanstd.pyx":311 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = sqrt(asum / (count - ddof)) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanstd.pyx":296 - * ai -= amean - * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) # <<<<<<<<<<<<<< - * return y - * + /* "nanstd.pyx":312 + * ai -= amean + * asum += (ai * ai) + * y[i1] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN */ - __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3602,17 +3772,30 @@ static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject * #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); + goto __pyx_L8; + } + /*else*/ { + + /* "nanstd.pyx":314 + * y[i1] = sqrt(asum / (count - ddof)) + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanstd.pyx":297 - * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) + /* "nanstd.pyx":315 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3622,12 +3805,12 @@ static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanstd.pyx":272 + /* "nanstd.pyx":284 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -3638,7 +3821,7 @@ static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject * __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3651,19 +3834,19 @@ static PyObject *__pyx_pf_6nanstd_8nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "nanstd.pyx":301 +/* "nanstd.pyx":319 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_11nanstd_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_10nanstd_2d_int8_axis1[] = "nanstd_2d_int8_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_11nanstd_2d_int8_axis1 = {"nanstd_2d_int8_axis1", (PyCFunction)__pyx_pw_6nanstd_11nanstd_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_10nanstd_2d_int8_axis1}; -static PyObject *__pyx_pw_6nanstd_11nanstd_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_11nanstd_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_10nanstd_2d_float32_axis1[] = "nanstd_2d_float32_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_11nanstd_2d_float32_axis1 = {"nanstd_2d_float32_axis1", (PyCFunction)__pyx_pw_6nanstd_11nanstd_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_10nanstd_2d_float32_axis1}; +static PyObject *__pyx_pw_6nanstd_11nanstd_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -3671,7 +3854,7 @@ static PyObject *__pyx_pw_6nanstd_11nanstd_2d_int8_axis1(PyObject *__pyx_self, P int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int8_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -3692,11 +3875,11 @@ static PyObject *__pyx_pw_6nanstd_11nanstd_2d_int8_axis1(PyObject *__pyx_self, P case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3705,18 +3888,18 @@ static PyObject *__pyx_pw_6nanstd_11nanstd_2d_int8_axis1(PyObject *__pyx_self, P values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_10nanstd_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_10nanstd_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -3727,10 +3910,11 @@ static PyObject *__pyx_pw_6nanstd_11nanstd_2d_int8_axis1(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_10nanstd_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_amean; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3747,19 +3931,19 @@ static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3770,20 +3954,29 @@ static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":303 - * def nanstd_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + /* "nanstd.pyx":321 + * def nanstd_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanstd.pyx":322 + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":306 + /* "nanstd.pyx":325 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3792,7 +3985,7 @@ static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":307 + /* "nanstd.pyx":326 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3801,41 +3994,41 @@ static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":308 + /* "nanstd.pyx":327 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":309 + /* "nanstd.pyx":328 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":310 + /* "nanstd.pyx":329 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3843,82 +4036,107 @@ static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":312 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanstd.pyx":331 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanstd.pyx":313 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + /* "nanstd.pyx":332 + * NPY_float32, 0) + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i1 in range(n1): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanstd.pyx":315 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanstd.pyx":333 + * for i0 in range(n0): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanstd.pyx":316 - * else: - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanstd.pyx":334 + * asum = 0 + * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanstd.pyx":317 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n1 + /* "nanstd.pyx":335 + * count = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":318 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n1 - * asum = 0 + /* "nanstd.pyx":336 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":337 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanstd.pyx":338 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanstd.pyx":319 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / n1 # <<<<<<<<<<<<<< + /* "nanstd.pyx":339 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":340 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 * for i1 in range(n1): */ - if (unlikely(__pyx_v_n1 == 0)) { + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3926,69 +4144,82 @@ static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":320 - * asum += a[i0, i1] - * amean = asum / n1 + /* "nanstd.pyx":341 + * if count > 0: + * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":321 - * amean = asum / n1 + /* "nanstd.pyx":342 + * amean = asum / count * asum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanstd.pyx":322 + /* "nanstd.pyx":343 * asum = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":323 + /* "nanstd.pyx":344 * for i1 in range(n1): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanstd.pyx":324 + /* "nanstd.pyx":345 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = sqrt(asum / (n1 - ddof)) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = sqrt(asum / (count - ddof)) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanstd.pyx":346 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = sqrt(asum / (count - ddof)) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanstd.pyx":325 - * ai -= amean - * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) # <<<<<<<<<<<<<< - * return y - * + /* "nanstd.pyx":347 + * ai -= amean + * asum += (ai * ai) + * y[i0] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN */ - __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3996,17 +4227,30 @@ static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); + goto __pyx_L8; + } + /*else*/ { + + /* "nanstd.pyx":349 + * y[i0] = sqrt(asum / (count - ddof)) + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanstd.pyx":326 - * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) + /* "nanstd.pyx":350 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4016,12 +4260,12 @@ static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanstd.pyx":301 + /* "nanstd.pyx":319 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -4032,7 +4276,7 @@ static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4045,19 +4289,19 @@ static PyObject *__pyx_pf_6nanstd_10nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanstd.pyx":330 +/* "nanstd.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_13nanstd_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_12nanstd_2d_int32_axis0[] = "nanstd_2d_int32_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_13nanstd_2d_int32_axis0 = {"nanstd_2d_int32_axis0", (PyCFunction)__pyx_pw_6nanstd_13nanstd_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_12nanstd_2d_int32_axis0}; -static PyObject *__pyx_pw_6nanstd_13nanstd_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_13nanstd_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_12nanstd_2d_float64_axis0[] = "nanstd_2d_float64_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_13nanstd_2d_float64_axis0 = {"nanstd_2d_float64_axis0", (PyCFunction)__pyx_pw_6nanstd_13nanstd_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_12nanstd_2d_float64_axis0}; +static PyObject *__pyx_pw_6nanstd_13nanstd_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -4065,7 +4309,7 @@ static PyObject *__pyx_pw_6nanstd_13nanstd_2d_int32_axis0(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -4086,11 +4330,11 @@ static PyObject *__pyx_pw_6nanstd_13nanstd_2d_int32_axis0(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4099,18 +4343,18 @@ static PyObject *__pyx_pw_6nanstd_13nanstd_2d_int32_axis0(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_12nanstd_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_12nanstd_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -4121,7 +4365,8 @@ static PyObject *__pyx_pw_6nanstd_13nanstd_2d_int32_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_12nanstd_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; @@ -4141,19 +4386,19 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4164,20 +4409,29 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":332 - * def nanstd_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." + /* "nanstd.pyx":356 + * def nanstd_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanstd.pyx":357 + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":335 + /* "nanstd.pyx":360 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4186,7 +4440,7 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":336 + /* "nanstd.pyx":361 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4195,7 +4449,7 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":337 + /* "nanstd.pyx":362 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -4204,7 +4458,7 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":338 + /* "nanstd.pyx":363 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -4214,22 +4468,22 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":339 + /* "nanstd.pyx":364 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) - * if n0 == 0: + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4237,82 +4491,107 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":341 + /* "nanstd.pyx":366 * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "nanstd.pyx":342 + /* "nanstd.pyx":367 * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanstd.pyx":344 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":368 + * for i1 in range(n1): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanstd.pyx":345 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] + /* "nanstd.pyx":369 + * asum = 0 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanstd.pyx":346 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanstd.pyx":370 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":347 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n0 - * asum = 0 + /* "nanstd.pyx":371 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":372 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanstd.pyx":373 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanstd.pyx":348 - * for i0 in range(n0): - * asum += a[i0, i1] - * amean = asum / n0 # <<<<<<<<<<<<<< + /* "nanstd.pyx":374 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":375 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 * for i0 in range(n0): */ - if (unlikely(__pyx_v_n0 == 0)) { + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -4320,69 +4599,82 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":349 - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanstd.pyx":376 + * if count > 0: + * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":350 - * amean = asum / n0 + /* "nanstd.pyx":377 + * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanstd.pyx":351 + /* "nanstd.pyx":378 * asum = 0 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":352 + /* "nanstd.pyx":379 * for i0 in range(n0): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanstd.pyx":353 + /* "nanstd.pyx":380 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = sqrt(asum / (n0 - ddof)) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = sqrt(asum / (count - ddof)) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanstd.pyx":381 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = sqrt(asum / (count - ddof)) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanstd.pyx":354 - * ai -= amean - * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) # <<<<<<<<<<<<<< - * return y - * + /* "nanstd.pyx":382 + * ai -= amean + * asum += (ai * ai) + * y[i1] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN */ - __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -4390,17 +4682,30 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); + goto __pyx_L8; + } + /*else*/ { + + /* "nanstd.pyx":384 + * y[i1] = sqrt(asum / (count - ddof)) + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanstd.pyx":355 - * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) + /* "nanstd.pyx":385 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4410,12 +4715,12 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanstd.pyx":330 + /* "nanstd.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -4426,7 +4731,7 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4439,19 +4744,19 @@ static PyObject *__pyx_pf_6nanstd_12nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanstd.pyx":359 +/* "nanstd.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_15nanstd_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_14nanstd_2d_int32_axis1[] = "nanstd_2d_int32_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_15nanstd_2d_int32_axis1 = {"nanstd_2d_int32_axis1", (PyCFunction)__pyx_pw_6nanstd_15nanstd_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_14nanstd_2d_int32_axis1}; -static PyObject *__pyx_pw_6nanstd_15nanstd_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_15nanstd_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_14nanstd_2d_float64_axis1[] = "nanstd_2d_float64_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_15nanstd_2d_float64_axis1 = {"nanstd_2d_float64_axis1", (PyCFunction)__pyx_pw_6nanstd_15nanstd_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_14nanstd_2d_float64_axis1}; +static PyObject *__pyx_pw_6nanstd_15nanstd_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -4459,7 +4764,7 @@ static PyObject *__pyx_pw_6nanstd_15nanstd_2d_int32_axis1(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -4480,11 +4785,11 @@ static PyObject *__pyx_pw_6nanstd_15nanstd_2d_int32_axis1(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4493,18 +4798,18 @@ static PyObject *__pyx_pw_6nanstd_15nanstd_2d_int32_axis1(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_14nanstd_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_14nanstd_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -4515,7 +4820,8 @@ static PyObject *__pyx_pw_6nanstd_15nanstd_2d_int32_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_14nanstd_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; @@ -4535,19 +4841,19 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4558,20 +4864,29 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":361 - * def nanstd_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." + /* "nanstd.pyx":391 + * def nanstd_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanstd.pyx":392 + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":364 + /* "nanstd.pyx":395 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4580,7 +4895,7 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":365 + /* "nanstd.pyx":396 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4589,7 +4904,7 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":366 + /* "nanstd.pyx":397 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -4598,7 +4913,7 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":367 + /* "nanstd.pyx":398 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -4608,22 +4923,22 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":368 + /* "nanstd.pyx":399 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) - * if n1 == 0: + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4631,152 +4946,190 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":370 + /* "nanstd.pyx":401 * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanstd.pyx":371 + /* "nanstd.pyx":402 * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i1 in range(n1): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanstd.pyx":373 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanstd.pyx":403 + * for i0 in range(n0): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanstd.pyx":374 - * else: - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanstd.pyx":404 + * asum = 0 + * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanstd.pyx":375 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n1 + /* "nanstd.pyx":405 + * count = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":376 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n1 - * asum = 0 + /* "nanstd.pyx":406 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanstd.pyx":377 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / n1 # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanstd.pyx":407 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: */ - if (unlikely(__pyx_v_n1 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanstd.pyx":378 - * asum += a[i0, i1] - * amean = asum / n1 - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanstd.pyx":408 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; + } + __pyx_L7:; + } + + /* "nanstd.pyx":409 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanstd.pyx":410 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): + */ + if (unlikely(__pyx_v_count == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); + + /* "nanstd.pyx":411 + * if count > 0: + * amean = asum / count + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":379 - * amean = asum / n1 + /* "nanstd.pyx":412 + * amean = asum / count * asum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanstd.pyx":380 + /* "nanstd.pyx":413 * asum = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":381 + /* "nanstd.pyx":414 * for i1 in range(n1): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanstd.pyx":382 + /* "nanstd.pyx":415 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = sqrt(asum / (n1 - ddof)) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = sqrt(asum / (count - ddof)) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanstd.pyx":416 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = sqrt(asum / (count - ddof)) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanstd.pyx":383 - * ai -= amean - * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) # <<<<<<<<<<<<<< - * return y - * + /* "nanstd.pyx":417 + * ai -= amean + * asum += (ai * ai) + * y[i0] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN */ - __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -4784,17 +5137,30 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); + goto __pyx_L8; + } + /*else*/ { + + /* "nanstd.pyx":419 + * y[i0] = sqrt(asum / (count - ddof)) + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanstd.pyx":384 - * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) + /* "nanstd.pyx":420 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4804,12 +5170,12 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanstd.pyx":359 + /* "nanstd.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -4820,7 +5186,7 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4833,19 +5199,19 @@ static PyObject *__pyx_pf_6nanstd_14nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanstd.pyx":388 +/* "nanstd.pyx":424 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_17nanstd_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_16nanstd_2d_int64_axis0[] = "nanstd_2d_int64_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_17nanstd_2d_int64_axis0 = {"nanstd_2d_int64_axis0", (PyCFunction)__pyx_pw_6nanstd_17nanstd_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_16nanstd_2d_int64_axis0}; -static PyObject *__pyx_pw_6nanstd_17nanstd_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_17nanstd_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_16nanstd_1d_float_axisNone[] = "nanstd_1d_float_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_17nanstd_1d_float_axisNone = {"nanstd_1d_float_axisNone", (PyCFunction)__pyx_pw_6nanstd_17nanstd_1d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_16nanstd_1d_float_axisNone}; +static PyObject *__pyx_pw_6nanstd_17nanstd_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -4853,7 +5219,7 @@ static PyObject *__pyx_pw_6nanstd_17nanstd_2d_int64_axis0(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_1d_float_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -4874,11 +5240,11 @@ static PyObject *__pyx_pw_6nanstd_17nanstd_2d_int64_axis0(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4887,18 +5253,18 @@ static PyObject *__pyx_pw_6nanstd_17nanstd_2d_int64_axis0(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_16nanstd_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_16nanstd_1d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -4909,337 +5275,369 @@ static PyObject *__pyx_pw_6nanstd_17nanstd_2d_int64_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_16nanstd_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_16nanstd_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_amean; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; int __pyx_t_4; Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanstd_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanstd.pyx":390 - * def nanstd_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "nanstd.pyx":426 + * def nanstd_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): + * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, amean, ai + * cdef Py_ssize_t i0 + */ + __pyx_v_count = 0; + + /* "nanstd.pyx":427 + * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":393 - * cdef Py_ssize_t i0, i1 + /* "nanstd.pyx":430 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":394 + /* "nanstd.pyx":431 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":395 + /* "nanstd.pyx":432 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":396 + /* "nanstd.pyx":433 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":397 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: + /* "nanstd.pyx":434 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "nanstd.pyx":399 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanstd.pyx":435 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanstd.pyx":400 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + /* "nanstd.pyx":436 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L5; + } + __pyx_L5:; } - /*else*/ { - - /* "nanstd.pyx":402 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): - */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; - - /* "nanstd.pyx":403 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] - */ - __pyx_v_asum = 0.0; - /* "nanstd.pyx":404 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanstd.pyx":437 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_4 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_4) { - /* "nanstd.pyx":405 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n0 - * asum = 0 + /* "nanstd.pyx":438 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); - } + if (unlikely(__pyx_v_count == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":406 - * for i0 in range(n0): - * asum += a[i0, i1] - * amean = asum / n0 # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":439 + * if count > 0: + * amean = asum / count + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - if (unlikely(__pyx_v_n0 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); + __pyx_v_asum = 0.0; - /* "nanstd.pyx":407 - * asum += a[i0, i1] - * amean = asum / n0 - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanstd.pyx":440 + * amean = asum / count + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":408 - * amean = asum / n0 - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] + /* "nanstd.pyx":441 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: * ai -= amean */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_5 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":409 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< + /* "nanstd.pyx":442 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< * ai -= amean * asum += (ai * ai) */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "nanstd.pyx":410 - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanstd.pyx":443 + * ai = a[i0] + * if ai == ai: * ai -= amean # <<<<<<<<<<<<<< * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) + * return np.float(sqrt(asum / (count - ddof))) */ __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":411 - * ai = a[i0, i1] + /* "nanstd.pyx":444 + * if ai == ai: * ai -= amean * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = sqrt(asum / (n0 - ddof)) - * return y + * return np.float(sqrt(asum / (count - ddof))) + * else: */ __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; } + __pyx_L9:; + } - /* "nanstd.pyx":412 + /* "nanstd.pyx":445 * ai -= amean * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) # <<<<<<<<<<<<<< - * return y - * + * return np.float(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< + * else: + * return np.float(NAN) */ - __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_7 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); } - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); } + if (!__pyx_t_9) { + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else { + __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; + PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; } - __pyx_L3:; + /*else*/ { - /* "nanstd.pyx":413 - * asum += (ai * ai) - * y[i1] = sqrt(asum / (n0 - ddof)) - * return y # <<<<<<<<<<<<<< + /* "nanstd.pyx":447 + * return np.float(sqrt(asum / (count - ddof))) + * else: + * return np.float(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "nanstd.pyx":388 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanstd_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; - __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - goto __pyx_L2; - __pyx_L0:; - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); + __Pyx_XDECREF(__pyx_r); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + if (!__pyx_t_7) { + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; + } + + /* "nanstd.pyx":424 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanstd_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("nanstd.nanstd_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanstd.pyx":417 +/* "nanstd.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_19nanstd_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_18nanstd_2d_int64_axis1[] = "nanstd_2d_int64_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_19nanstd_2d_int64_axis1 = {"nanstd_2d_int64_axis1", (PyCFunction)__pyx_pw_6nanstd_19nanstd_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_18nanstd_2d_int64_axis1}; -static PyObject *__pyx_pw_6nanstd_19nanstd_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_19nanstd_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_18nanstd_1d_float32_axisNone[] = "nanstd_1d_float32_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_19nanstd_1d_float32_axisNone = {"nanstd_1d_float32_axisNone", (PyCFunction)__pyx_pw_6nanstd_19nanstd_1d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_18nanstd_1d_float32_axisNone}; +static PyObject *__pyx_pw_6nanstd_19nanstd_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -5247,7 +5645,7 @@ static PyObject *__pyx_pw_6nanstd_19nanstd_2d_int64_axis1(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_1d_float32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -5268,11 +5666,11 @@ static PyObject *__pyx_pw_6nanstd_19nanstd_2d_int64_axis1(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5281,18 +5679,18 @@ static PyObject *__pyx_pw_6nanstd_19nanstd_2d_int64_axis1(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_18nanstd_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_18nanstd_1d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -5303,337 +5701,369 @@ static PyObject *__pyx_pw_6nanstd_19nanstd_2d_int64_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_18nanstd_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_18nanstd_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_amean; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; int __pyx_t_4; Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanstd_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanstd.pyx":419 - * def nanstd_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "nanstd.pyx":453 + * def nanstd_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): + * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, amean, ai + * cdef Py_ssize_t i0 + */ + __pyx_v_count = 0; + + /* "nanstd.pyx":454 + * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":422 - * cdef Py_ssize_t i0, i1 + /* "nanstd.pyx":457 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":423 + /* "nanstd.pyx":458 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":424 + /* "nanstd.pyx":459 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":425 + /* "nanstd.pyx":460 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":426 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: + /* "nanstd.pyx":461 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "nanstd.pyx":428 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanstd.pyx":462 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanstd.pyx":429 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + /* "nanstd.pyx":463 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L5; + } + __pyx_L5:; } - /*else*/ { - /* "nanstd.pyx":431 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanstd.pyx":464 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_t_4 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_4) { - /* "nanstd.pyx":432 - * else: + /* "nanstd.pyx":465 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< + * asum = 0 * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] */ - __pyx_v_asum = 0.0; + if (unlikely(__pyx_v_count == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":433 + /* "nanstd.pyx":466 + * if count > 0: + * amean = asum / count + * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n1 - */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; - - /* "nanstd.pyx":434 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n1 - * asum = 0 - */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); - } - - /* "nanstd.pyx":435 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / n1 # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + * ai = a[i0] */ - if (unlikely(__pyx_v_n1 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); + __pyx_v_asum = 0.0; - /* "nanstd.pyx":436 - * asum += a[i0, i1] - * amean = asum / n1 - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanstd.pyx":467 + * amean = asum / count + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":437 - * amean = asum / n1 - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] + /* "nanstd.pyx":468 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: * ai -= amean */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_5 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":438 - * asum = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< + /* "nanstd.pyx":469 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< * ai -= amean * asum += (ai * ai) */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "nanstd.pyx":439 - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanstd.pyx":470 + * ai = a[i0] + * if ai == ai: * ai -= amean # <<<<<<<<<<<<<< * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) + * return np.float32(sqrt(asum / (count - ddof))) */ __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":440 - * ai = a[i0, i1] + /* "nanstd.pyx":471 + * if ai == ai: * ai -= amean * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = sqrt(asum / (n1 - ddof)) - * return y + * return np.float32(sqrt(asum / (count - ddof))) + * else: */ __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; } + __pyx_L9:; + } - /* "nanstd.pyx":441 + /* "nanstd.pyx":472 * ai -= amean * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) # <<<<<<<<<<<<<< - * return y - * + * return np.float32(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< + * else: + * return np.float32(NAN) */ - __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_7 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); } - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); } + if (!__pyx_t_9) { + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else { + __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; + PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; } - __pyx_L3:; + /*else*/ { - /* "nanstd.pyx":442 - * asum += (ai * ai) - * y[i0] = sqrt(asum / (n1 - ddof)) - * return y # <<<<<<<<<<<<<< + /* "nanstd.pyx":474 + * return np.float32(sqrt(asum / (count - ddof))) + * else: + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + if (!__pyx_t_7) { + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; + } - /* "nanstd.pyx":417 + /* "nanstd.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanstd.pyx":446 +/* "nanstd.pyx":478 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanstd_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_21nanstd_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_20nanstd_1d_float_axisNone[] = "nanstd_1d_float_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_21nanstd_1d_float_axisNone = {"nanstd_1d_float_axisNone", (PyCFunction)__pyx_pw_6nanstd_21nanstd_1d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_20nanstd_1d_float_axisNone}; -static PyObject *__pyx_pw_6nanstd_21nanstd_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_21nanstd_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_20nanstd_1d_float64_axisNone[] = "nanstd_1d_float64_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_21nanstd_1d_float64_axisNone = {"nanstd_1d_float64_axisNone", (PyCFunction)__pyx_pw_6nanstd_21nanstd_1d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_20nanstd_1d_float64_axisNone}; +static PyObject *__pyx_pw_6nanstd_21nanstd_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -5641,7 +6071,7 @@ static PyObject *__pyx_pw_6nanstd_21nanstd_1d_float_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_1d_float_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_1d_float64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -5662,11 +6092,11 @@ static PyObject *__pyx_pw_6nanstd_21nanstd_1d_float_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_1d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5675,18 +6105,18 @@ static PyObject *__pyx_pw_6nanstd_21nanstd_1d_float_axisNone(PyObject *__pyx_sel values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_1d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_20nanstd_1d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_20nanstd_1d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -5697,11 +6127,11 @@ static PyObject *__pyx_pw_6nanstd_21nanstd_1d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_amean; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -5722,36 +6152,36 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanstd.pyx":448 - * def nanstd_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): - * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + /* "nanstd.pyx":480 + * def nanstd_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): + * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, amean, ai + * cdef np.float64_t asum = 0, amean, ai * cdef Py_ssize_t i0 */ __pyx_v_count = 0; - /* "nanstd.pyx":449 - * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + /* "nanstd.pyx":481 + * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":452 + /* "nanstd.pyx":484 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5760,7 +6190,7 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":453 + /* "nanstd.pyx":485 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5769,7 +6199,7 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":454 + /* "nanstd.pyx":486 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5780,7 +6210,7 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":455 + /* "nanstd.pyx":487 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -5788,9 +6218,9 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj * asum += ai */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":456 + /* "nanstd.pyx":488 * for i0 in range(n0): * ai = a[i0] * if ai == ai: # <<<<<<<<<<<<<< @@ -5800,7 +6230,7 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "nanstd.pyx":457 + /* "nanstd.pyx":489 * ai = a[i0] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -5809,7 +6239,7 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanstd.pyx":458 + /* "nanstd.pyx":490 * if ai == ai: * asum += ai * count += 1 # <<<<<<<<<<<<<< @@ -5822,7 +6252,7 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_L5:; } - /* "nanstd.pyx":459 + /* "nanstd.pyx":491 * asum += ai * count += 1 * if count > 0: # <<<<<<<<<<<<<< @@ -5832,7 +6262,7 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_4 = ((__pyx_v_count > 0) != 0); if (__pyx_t_4) { - /* "nanstd.pyx":460 + /* "nanstd.pyx":492 * count += 1 * if count > 0: * amean = asum / count # <<<<<<<<<<<<<< @@ -5847,11 +6277,11 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":461 + /* "nanstd.pyx":493 * if count > 0: * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< @@ -5860,7 +6290,7 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":462 + /* "nanstd.pyx":494 * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5871,7 +6301,7 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":463 + /* "nanstd.pyx":495 * asum = 0 * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -5879,9 +6309,9 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj * ai -= amean */ __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":464 + /* "nanstd.pyx":496 * for i0 in range(n0): * ai = a[i0] * if ai == ai: # <<<<<<<<<<<<<< @@ -5891,20 +6321,20 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "nanstd.pyx":465 + /* "nanstd.pyx":497 * ai = a[i0] * if ai == ai: * ai -= amean # <<<<<<<<<<<<<< * asum += (ai * ai) - * return np.float(sqrt(asum / (count - ddof))) + * return np.float64(sqrt(asum / (count - ddof))) */ __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":466 + /* "nanstd.pyx":498 * if ai == ai: * ai -= amean * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float(sqrt(asum / (count - ddof))) + * return np.float64(sqrt(asum / (count - ddof))) * else: */ __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); @@ -5913,17 +6343,17 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_L9:; } - /* "nanstd.pyx":467 + /* "nanstd.pyx":499 * ai -= amean * asum += (ai * ai) - * return np.float(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< + * return np.float64(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); @@ -5935,9 +6365,9 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_7 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_8))) { @@ -5950,17 +6380,17 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_9) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_6); } else { - __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } @@ -5971,20 +6401,20 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj } /*else*/ { - /* "nanstd.pyx":469 - * return np.float(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":501 + * return np.float64(sqrt(asum / (count - ddof))) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { @@ -5997,17 +6427,17 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_7) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_6); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -6017,11 +6447,11 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "nanstd.pyx":446 + /* "nanstd.pyx":478 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanstd_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ @@ -6036,7 +6466,7 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6047,19 +6477,19 @@ static PyObject *__pyx_pf_6nanstd_20nanstd_1d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanstd.pyx":473 +/* "nanstd.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanstd_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_23nanstd_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_22nanstd_1d_float32_axisNone[] = "nanstd_1d_float32_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_23nanstd_1d_float32_axisNone = {"nanstd_1d_float32_axisNone", (PyCFunction)__pyx_pw_6nanstd_23nanstd_1d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_22nanstd_1d_float32_axisNone}; -static PyObject *__pyx_pw_6nanstd_23nanstd_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_23nanstd_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_22nanstd_2d_float_axisNone[] = "nanstd_2d_float_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_23nanstd_2d_float_axisNone = {"nanstd_2d_float_axisNone", (PyCFunction)__pyx_pw_6nanstd_23nanstd_2d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_22nanstd_2d_float_axisNone}; +static PyObject *__pyx_pw_6nanstd_23nanstd_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -6067,7 +6497,7 @@ static PyObject *__pyx_pw_6nanstd_23nanstd_1d_float32_axisNone(PyObject *__pyx_s int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_1d_float32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -6088,11 +6518,11 @@ static PyObject *__pyx_pw_6nanstd_23nanstd_1d_float32_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_1d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6101,18 +6531,18 @@ static PyObject *__pyx_pw_6nanstd_23nanstd_1d_float32_axisNone(PyObject *__pyx_s values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_1d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_22nanstd_1d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_22nanstd_2d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -6123,14 +6553,16 @@ static PyObject *__pyx_pw_6nanstd_23nanstd_1d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_22nanstd_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_22nanstd_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_amean; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_amean; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -6138,128 +6570,154 @@ static PyObject *__pyx_pf_6nanstd_22nanstd_1d_float32_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_6; + int __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":475 - * def nanstd_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): - * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanstd.pyx":507 + * def nanstd_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, amean, ai - * cdef Py_ssize_t i0 + * cdef np.float_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_count = 0; - /* "nanstd.pyx":476 - * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanstd.pyx":508 + * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":479 - * cdef Py_ssize_t i0 + /* "nanstd.pyx":511 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":480 + /* "nanstd.pyx":512 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":481 + /* "nanstd.pyx":513 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanstd.pyx":514 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":482 - * cdef Py_ssize_t n0 = dim[0] + /* "nanstd.pyx":515 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanstd.pyx":483 + /* "nanstd.pyx":516 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":484 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 + /* "nanstd.pyx":517 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 + */ + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { + + /* "nanstd.pyx":518 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 * if count > 0: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanstd.pyx":485 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< + /* "nanstd.pyx":519 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< * if count > 0: * amean = asum / count */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L5; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; + } + __pyx_L7:; } - __pyx_L5:; } - /* "nanstd.pyx":486 - * asum += ai - * count += 1 + /* "nanstd.pyx":520 + * asum += ai + * count += 1 * if count > 0: # <<<<<<<<<<<<<< * amean = asum / count * asum = 0 */ - __pyx_t_4 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_4) { + __pyx_t_7 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_7) { - /* "nanstd.pyx":487 - * count += 1 + /* "nanstd.pyx":521 + * count += 1 * if count > 0: * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 @@ -6273,85 +6731,98 @@ static PyObject *__pyx_pf_6nanstd_22nanstd_1d_float32_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":488 + /* "nanstd.pyx":522 * if count > 0: * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1): */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":489 + /* "nanstd.pyx":523 * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":490 + /* "nanstd.pyx":524 * asum = 0 * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanstd.pyx":491 + /* "nanstd.pyx":525 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":492 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * return np.float32(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":526 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { - /* "nanstd.pyx":493 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float32(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":527 + * ai = a[i0, i1] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * return np.float(sqrt(asum / (count - ddof))) + */ + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanstd.pyx":528 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * return np.float(sqrt(asum / (count - ddof))) * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L13; + } + __pyx_L13:; } - __pyx_L9:; } - /* "nanstd.pyx":494 - * ai -= amean - * asum += (ai * ai) - * return np.float32(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< + /* "nanstd.pyx":529 + * ai -= amean + * asum += (ai * ai) + * return np.float(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< * else: - * return np.float32(NAN) + * return np.float(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); if (unlikely(__pyx_t_1 == 0)) { #ifdef WITH_THREAD @@ -6361,108 +6832,108 @@ static PyObject *__pyx_pf_6nanstd_22nanstd_1d_float32_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_7 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - } + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (!__pyx_t_9) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_6); + __pyx_t_11 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_13 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + if (!__pyx_t_13) { + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL; + PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_11 = 0; + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; - PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_r = __pyx_t_10; + __pyx_t_10 = 0; goto __pyx_L0; } /*else*/ { - /* "nanstd.pyx":496 - * return np.float32(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":531 + * return np.float(sqrt(asum / (count - ddof))) * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< + * return np.float(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_7); + __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); + __Pyx_DECREF_SET(__pyx_t_14, function); } } - if (!__pyx_t_7) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_6); + if (!__pyx_t_11) { + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_12); + __Pyx_GIVEREF(__pyx_t_12); + __pyx_t_12 = 0; + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_r = __pyx_t_10; + __pyx_t_10 = 0; goto __pyx_L0; } - /* "nanstd.pyx":473 + /* "nanstd.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanstd_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6473,19 +6944,19 @@ static PyObject *__pyx_pf_6nanstd_22nanstd_1d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanstd.pyx":500 +/* "nanstd.pyx":535 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanstd_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_25nanstd_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_24nanstd_1d_float64_axisNone[] = "nanstd_1d_float64_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_25nanstd_1d_float64_axisNone = {"nanstd_1d_float64_axisNone", (PyCFunction)__pyx_pw_6nanstd_25nanstd_1d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_24nanstd_1d_float64_axisNone}; -static PyObject *__pyx_pw_6nanstd_25nanstd_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_25nanstd_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_24nanstd_2d_float32_axisNone[] = "nanstd_2d_float32_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_25nanstd_2d_float32_axisNone = {"nanstd_2d_float32_axisNone", (PyCFunction)__pyx_pw_6nanstd_25nanstd_2d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_24nanstd_2d_float32_axisNone}; +static PyObject *__pyx_pw_6nanstd_25nanstd_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -6493,7 +6964,7 @@ static PyObject *__pyx_pw_6nanstd_25nanstd_1d_float64_axisNone(PyObject *__pyx_s int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_1d_float64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -6514,11 +6985,11 @@ static PyObject *__pyx_pw_6nanstd_25nanstd_1d_float64_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_1d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6527,18 +6998,18 @@ static PyObject *__pyx_pw_6nanstd_25nanstd_1d_float64_axisNone(PyObject *__pyx_s values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_1d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_24nanstd_1d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_24nanstd_2d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -6549,14 +7020,16 @@ static PyObject *__pyx_pw_6nanstd_25nanstd_1d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_24nanstd_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_24nanstd_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_amean; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -6564,128 +7037,154 @@ static PyObject *__pyx_pf_6nanstd_24nanstd_1d_float64_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_6; + int __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_1d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":502 - * def nanstd_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): - * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." + /* "nanstd.pyx":537 + * def nanstd_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, amean, ai - * cdef Py_ssize_t i0 + * cdef np.float32_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_count = 0; - /* "nanstd.pyx":503 - * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." + /* "nanstd.pyx":538 + * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":506 - * cdef Py_ssize_t i0 + /* "nanstd.pyx":541 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":507 + /* "nanstd.pyx":542 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":508 + /* "nanstd.pyx":543 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanstd.pyx":544 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":509 - * cdef Py_ssize_t n0 = dim[0] + /* "nanstd.pyx":545 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanstd.pyx":510 + /* "nanstd.pyx":546 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":511 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 + /* "nanstd.pyx":547 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 + */ + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { + + /* "nanstd.pyx":548 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 * if count > 0: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanstd.pyx":512 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< + /* "nanstd.pyx":549 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< * if count > 0: * amean = asum / count */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L5; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; + } + __pyx_L7:; } - __pyx_L5:; } - /* "nanstd.pyx":513 - * asum += ai - * count += 1 + /* "nanstd.pyx":550 + * asum += ai + * count += 1 * if count > 0: # <<<<<<<<<<<<<< * amean = asum / count * asum = 0 */ - __pyx_t_4 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_4) { + __pyx_t_7 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_7) { - /* "nanstd.pyx":514 - * count += 1 + /* "nanstd.pyx":551 + * count += 1 * if count > 0: * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 @@ -6699,85 +7198,98 @@ static PyObject *__pyx_pf_6nanstd_24nanstd_1d_float64_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":515 + /* "nanstd.pyx":552 * if count > 0: * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1): */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":516 + /* "nanstd.pyx":553 * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":517 + /* "nanstd.pyx":554 * asum = 0 * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanstd.pyx":518 + /* "nanstd.pyx":555 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":519 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * return np.float64(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":556 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { - /* "nanstd.pyx":520 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float64(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":557 + * ai = a[i0, i1] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * return np.float32(sqrt(asum / (count - ddof))) + */ + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanstd.pyx":558 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * return np.float32(sqrt(asum / (count - ddof))) * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L13; + } + __pyx_L13:; } - __pyx_L9:; } - /* "nanstd.pyx":521 - * ai -= amean - * asum += (ai * ai) - * return np.float64(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< + /* "nanstd.pyx":559 + * ai -= amean + * asum += (ai * ai) + * return np.float32(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * return np.float32(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); if (unlikely(__pyx_t_1 == 0)) { #ifdef WITH_THREAD @@ -6787,108 +7299,108 @@ static PyObject *__pyx_pf_6nanstd_24nanstd_1d_float64_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_7 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_9); + __pyx_t_11 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_13 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); + __Pyx_DECREF_SET(__pyx_t_12, function); } } - if (!__pyx_t_9) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_6); + if (!__pyx_t_13) { + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL; + PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_11 = 0; + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; - PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_r = __pyx_t_10; + __pyx_t_10 = 0; goto __pyx_L0; } /*else*/ { - /* "nanstd.pyx":523 - * return np.float64(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":561 + * return np.float32(sqrt(asum / (count - ddof))) * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_7); + __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float32); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); + __Pyx_DECREF_SET(__pyx_t_14, function); } } - if (!__pyx_t_7) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_6); + if (!__pyx_t_11) { + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_12); + __Pyx_GIVEREF(__pyx_t_12); + __pyx_t_12 = 0; + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_r = __pyx_t_10; + __pyx_t_10 = 0; goto __pyx_L0; } - /* "nanstd.pyx":500 + /* "nanstd.pyx":535 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanstd_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6899,19 +7411,19 @@ static PyObject *__pyx_pf_6nanstd_24nanstd_1d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanstd.pyx":527 +/* "nanstd.pyx":565 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanstd_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_27nanstd_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_26nanstd_2d_float_axisNone[] = "nanstd_2d_float_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_27nanstd_2d_float_axisNone = {"nanstd_2d_float_axisNone", (PyCFunction)__pyx_pw_6nanstd_27nanstd_2d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_26nanstd_2d_float_axisNone}; -static PyObject *__pyx_pw_6nanstd_27nanstd_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_27nanstd_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_26nanstd_2d_float64_axisNone[] = "nanstd_2d_float64_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_27nanstd_2d_float64_axisNone = {"nanstd_2d_float64_axisNone", (PyCFunction)__pyx_pw_6nanstd_27nanstd_2d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_26nanstd_2d_float64_axisNone}; +static PyObject *__pyx_pw_6nanstd_27nanstd_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -6919,7 +7431,7 @@ static PyObject *__pyx_pw_6nanstd_27nanstd_2d_float_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_float_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -6940,11 +7452,11 @@ static PyObject *__pyx_pw_6nanstd_27nanstd_2d_float_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6953,18 +7465,18 @@ static PyObject *__pyx_pw_6nanstd_27nanstd_2d_float_axisNone(PyObject *__pyx_sel values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_26nanstd_2d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_26nanstd_2d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -6975,11 +7487,11 @@ static PyObject *__pyx_pw_6nanstd_27nanstd_2d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_amean; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -7006,36 +7518,36 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":529 - * def nanstd_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." + /* "nanstd.pyx":567 + * def nanstd_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, amean, ai + * cdef np.float64_t asum = 0, amean, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_count = 0; - /* "nanstd.pyx":530 - * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." + /* "nanstd.pyx":568 + * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":533 + /* "nanstd.pyx":571 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7044,7 +7556,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":534 + /* "nanstd.pyx":572 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7053,7 +7565,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":535 + /* "nanstd.pyx":573 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7062,7 +7574,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":536 + /* "nanstd.pyx":574 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -7073,7 +7585,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":537 + /* "nanstd.pyx":575 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -7084,7 +7596,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "nanstd.pyx":538 + /* "nanstd.pyx":576 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -7093,9 +7605,9 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_t_5 = __pyx_v_i0; __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":539 + /* "nanstd.pyx":577 * for i1 in range(n1): * ai = a[i0, i1] * if ai == ai: # <<<<<<<<<<<<<< @@ -7105,7 +7617,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "nanstd.pyx":540 + /* "nanstd.pyx":578 * ai = a[i0, i1] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -7114,7 +7626,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanstd.pyx":541 + /* "nanstd.pyx":579 * if ai == ai: * asum += ai * count += 1 # <<<<<<<<<<<<<< @@ -7128,7 +7640,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "nanstd.pyx":542 + /* "nanstd.pyx":580 * asum += ai * count += 1 * if count > 0: # <<<<<<<<<<<<<< @@ -7138,7 +7650,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_7 = ((__pyx_v_count > 0) != 0); if (__pyx_t_7) { - /* "nanstd.pyx":543 + /* "nanstd.pyx":581 * count += 1 * if count > 0: * amean = asum / count # <<<<<<<<<<<<<< @@ -7153,11 +7665,11 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanstd.pyx":544 + /* "nanstd.pyx":582 * if count > 0: * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< @@ -7166,7 +7678,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":545 + /* "nanstd.pyx":583 * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -7177,7 +7689,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanstd.pyx":546 + /* "nanstd.pyx":584 * asum = 0 * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -7188,7 +7700,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "nanstd.pyx":547 + /* "nanstd.pyx":585 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -7197,9 +7709,9 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":548 + /* "nanstd.pyx":586 * for i1 in range(n1): * ai = a[i0, i1] * if ai == ai: # <<<<<<<<<<<<<< @@ -7209,20 +7721,20 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "nanstd.pyx":549 + /* "nanstd.pyx":587 * ai = a[i0, i1] * if ai == ai: * ai -= amean # <<<<<<<<<<<<<< * asum += (ai * ai) - * return np.float(sqrt(asum / (count - ddof))) + * return np.float64(sqrt(asum / (count - ddof))) */ __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":550 + /* "nanstd.pyx":588 * if ai == ai: * ai -= amean * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float(sqrt(asum / (count - ddof))) + * return np.float64(sqrt(asum / (count - ddof))) * else: */ __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); @@ -7232,17 +7744,17 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "nanstd.pyx":551 + /* "nanstd.pyx":589 * ai -= amean * asum += (ai * ai) - * return np.float(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< + * return np.float64(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); @@ -7254,9 +7766,9 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_11 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __pyx_t_13 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { @@ -7269,17 +7781,17 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_13) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL; PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } @@ -7290,20 +7802,20 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj } /*else*/ { - /* "nanstd.pyx":553 - * return np.float(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":591 + * return np.float64(sqrt(asum / (count - ddof))) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float64); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_14))) { @@ -7316,17 +7828,17 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_11) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -7336,11 +7848,11 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "nanstd.pyx":527 + /* "nanstd.pyx":565 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanstd_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ @@ -7355,7 +7867,7 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7366,19 +7878,19 @@ static PyObject *__pyx_pf_6nanstd_26nanstd_2d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanstd.pyx":557 +/* "nanstd.pyx":595 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_29nanstd_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_28nanstd_2d_float32_axisNone[] = "nanstd_2d_float32_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_29nanstd_2d_float32_axisNone = {"nanstd_2d_float32_axisNone", (PyCFunction)__pyx_pw_6nanstd_29nanstd_2d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_28nanstd_2d_float32_axisNone}; -static PyObject *__pyx_pw_6nanstd_29nanstd_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_29nanstd_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_28nanstd_1d_int_axisNone[] = "nanstd_1d_int_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_29nanstd_1d_int_axisNone = {"nanstd_1d_int_axisNone", (PyCFunction)__pyx_pw_6nanstd_29nanstd_1d_int_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_28nanstd_1d_int_axisNone}; +static PyObject *__pyx_pw_6nanstd_29nanstd_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -7386,7 +7898,7 @@ static PyObject *__pyx_pw_6nanstd_29nanstd_2d_float32_axisNone(PyObject *__pyx_s int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_float32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_1d_int_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -7407,11 +7919,11 @@ static PyObject *__pyx_pw_6nanstd_29nanstd_2d_float32_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_int_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7420,18 +7932,18 @@ static PyObject *__pyx_pw_6nanstd_29nanstd_2d_float32_axisNone(PyObject *__pyx_s values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_int_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_28nanstd_2d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_28nanstd_1d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -7442,278 +7954,284 @@ static PyObject *__pyx_pw_6nanstd_29nanstd_2d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_28nanstd_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_amean; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_28nanstd_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - int __pyx_t_7; + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_1d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nanstd.pyx":559 - * def nanstd_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanstd.pyx":560 - * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + /* "nanstd.pyx":597 + * def nanstd_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): + * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":563 - * cdef Py_ssize_t i0, i1 + /* "nanstd.pyx":601 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":564 + /* "nanstd.pyx":602 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * size = n0 + * if size == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":565 + /* "nanstd.pyx":603 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * size = n0 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nanstd.pyx":566 + /* "nanstd.pyx":604 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * size = n0 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":567 - * cdef Py_ssize_t n1 = dim[1] + /* "nanstd.pyx":605 + * size = n0 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + * ai = a[i0] */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanstd.pyx":568 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + /* "nanstd.pyx":606 + * if size == 0: + * return np.float64(NAN) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":569 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanstd.pyx":607 + * return np.float64(NAN) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":570 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanstd.pyx":608 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * amean = asum / size */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":571 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanstd.pyx":609 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + goto __pyx_L6; } + __pyx_L6:; } - /* "nanstd.pyx":572 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 - */ - __pyx_t_7 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_7) { - - /* "nanstd.pyx":573 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":610 + * if ai == ai: + * asum += ai + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanstd.pyx":574 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanstd.pyx":611 + * asum += ai + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0.0; - /* "nanstd.pyx":575 - * amean = asum / count - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanstd.pyx":612 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":576 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanstd.pyx":613 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_10 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":577 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanstd.pyx":614 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":578 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanstd.pyx":615 + * ai = a[i0] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":579 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * return np.float32(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":616 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; + } + __pyx_L9:; + } - /* "nanstd.pyx":580 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float32(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":617 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(sqrt(asum / (size - ddof))) * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L13; - } - __pyx_L13:; - } - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":581 - * ai -= amean - * asum += (ai * ai) - * return np.float32(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< + /* "nanstd.pyx":618 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< * else: - * return np.float32(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_1 == 0)) { + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -7721,108 +8239,108 @@ static PyObject *__pyx_pf_6nanstd_28nanstd_2d_float32_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_11 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_13 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_13); + __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); + __Pyx_DECREF_SET(__pyx_t_6, function); } } - if (!__pyx_t_13) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_GOTREF(__pyx_t_10); + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); } else { - __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL; - PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_11 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_10; - __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; goto __pyx_L0; } /*else*/ { - /* "nanstd.pyx":583 - * return np.float32(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":620 + * return np.float64(sqrt(asum / (size - ddof))) * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float32); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_11); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); + __Pyx_DECREF_SET(__pyx_t_5, function); } } - if (!__pyx_t_11) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_GOTREF(__pyx_t_10); + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); } else { - __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_12); - __Pyx_GIVEREF(__pyx_t_12); - __pyx_t_12 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_r = __pyx_t_10; - __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; goto __pyx_L0; } - /* "nanstd.pyx":557 + /* "nanstd.pyx":595 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7833,19 +8351,19 @@ static PyObject *__pyx_pf_6nanstd_28nanstd_2d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanstd.pyx":587 +/* "nanstd.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_31nanstd_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_30nanstd_2d_float64_axisNone[] = "nanstd_2d_float64_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_31nanstd_2d_float64_axisNone = {"nanstd_2d_float64_axisNone", (PyCFunction)__pyx_pw_6nanstd_31nanstd_2d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_30nanstd_2d_float64_axisNone}; -static PyObject *__pyx_pw_6nanstd_31nanstd_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_31nanstd_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_30nanstd_1d_int8_axisNone[] = "nanstd_1d_int8_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_31nanstd_1d_int8_axisNone = {"nanstd_1d_int8_axisNone", (PyCFunction)__pyx_pw_6nanstd_31nanstd_1d_int8_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_30nanstd_1d_int8_axisNone}; +static PyObject *__pyx_pw_6nanstd_31nanstd_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -7853,7 +8371,7 @@ static PyObject *__pyx_pw_6nanstd_31nanstd_2d_float64_axisNone(PyObject *__pyx_s int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_float64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_1d_int8_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -7874,11 +8392,11 @@ static PyObject *__pyx_pw_6nanstd_31nanstd_2d_float64_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_int8_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7887,18 +8405,18 @@ static PyObject *__pyx_pw_6nanstd_31nanstd_2d_float64_axisNone(PyObject *__pyx_s values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_int8_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_30nanstd_2d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_30nanstd_1d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -7909,177 +8427,284 @@ static PyObject *__pyx_pw_6nanstd_31nanstd_2d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_30nanstd_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; +static PyObject *__pyx_pf_6nanstd_30nanstd_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - int __pyx_t_7; + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_1d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanstd.pyx":589 - * def nanstd_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanstd.pyx":590 - * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanstd.pyx":626 + * def nanstd_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): + * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":593 - * cdef Py_ssize_t i0, i1 + /* "nanstd.pyx":630 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":594 + /* "nanstd.pyx":631 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * size = n0 + * if size == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":595 + /* "nanstd.pyx":632 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * size = n0 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nanstd.pyx":596 + /* "nanstd.pyx":633 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): + */ + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { + + /* "nanstd.pyx":634 + * size = n0 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } + + /* "nanstd.pyx":635 + * if size == 0: + * return np.float64(NAN) * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * if ai == ai: */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":597 - * cdef Py_ssize_t n1 = dim[1] + /* "nanstd.pyx":636 + * return np.float64(NAN) * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":598 + /* "nanstd.pyx":637 * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * amean = asum / size */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":599 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanstd.pyx":638 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + goto __pyx_L6; + } + __pyx_L6:; + } - /* "nanstd.pyx":600 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanstd.pyx":639 + * if ai == ai: + * asum += ai + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanstd.pyx":601 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanstd.pyx":640 + * asum += ai + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __pyx_v_asum = 0.0; + + /* "nanstd.pyx":641 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: + */ + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; + + /* "nanstd.pyx":642 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean + */ + __pyx_t_10 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); + + /* "nanstd.pyx":643 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) + */ + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { + + /* "nanstd.pyx":644 + * ai = a[i0] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: + */ + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanstd.pyx":645 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; } + __pyx_L9:; } - /* "nanstd.pyx":602 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanstd.pyx":646 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(sqrt(asum / (size - ddof))) + * else: */ - __pyx_t_7 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_7) { + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":603 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":647 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - if (unlikely(__pyx_v_count == 0)) { + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -8087,209 +8712,108 @@ static PyObject *__pyx_pf_6nanstd_30nanstd_2d_float64_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - - /* "nanstd.pyx":604 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): - */ - __pyx_v_asum = 0.0; - - /* "nanstd.pyx":605 - * amean = asum / count - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; - - /* "nanstd.pyx":606 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; - - /* "nanstd.pyx":607 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanstd.pyx":608 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) - */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { - - /* "nanstd.pyx":609 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * return np.float64(sqrt(asum / (count - ddof))) - */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - - /* "nanstd.pyx":610 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float64(sqrt(asum / (count - ddof))) - * else: - */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L13; - } - __pyx_L13:; - } - } - - /* "nanstd.pyx":611 - * ai -= amean - * asum += (ai * ai) - * return np.float64(sqrt(asum / (count - ddof))) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_1 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_11 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_1))); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_13 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_13); + __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); + __Pyx_DECREF_SET(__pyx_t_6, function); } } - if (!__pyx_t_13) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_GOTREF(__pyx_t_10); + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); } else { - __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL; - PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_11 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_10; - __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; goto __pyx_L0; } /*else*/ { - /* "nanstd.pyx":613 - * return np.float64(sqrt(asum / (count - ddof))) + /* "nanstd.pyx":649 + * return np.float64(sqrt(asum / (size - ddof))) * else: * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float64); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_11); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); + __Pyx_DECREF_SET(__pyx_t_5, function); } } - if (!__pyx_t_11) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_GOTREF(__pyx_t_10); + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); } else { - __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_12); - __Pyx_GIVEREF(__pyx_t_12); - __pyx_t_12 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_r = __pyx_t_10; - __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; goto __pyx_L0; } - /* "nanstd.pyx":587 + /* "nanstd.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8300,19 +8824,19 @@ static PyObject *__pyx_pf_6nanstd_30nanstd_2d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanstd.pyx":617 +/* "nanstd.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_33nanstd_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_32nanstd_2d_float_axis0[] = "nanstd_2d_float_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_33nanstd_2d_float_axis0 = {"nanstd_2d_float_axis0", (PyCFunction)__pyx_pw_6nanstd_33nanstd_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_32nanstd_2d_float_axis0}; -static PyObject *__pyx_pw_6nanstd_33nanstd_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_33nanstd_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_32nanstd_1d_int32_axisNone[] = "nanstd_1d_int32_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_33nanstd_1d_int32_axisNone = {"nanstd_1d_int32_axisNone", (PyCFunction)__pyx_pw_6nanstd_33nanstd_1d_int32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_32nanstd_1d_int32_axisNone}; +static PyObject *__pyx_pw_6nanstd_33nanstd_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -8320,7 +8844,7 @@ static PyObject *__pyx_pw_6nanstd_33nanstd_2d_float_axis0(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_1d_int32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -8341,11 +8865,11 @@ static PyObject *__pyx_pw_6nanstd_33nanstd_2d_float_axis0(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_int32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -8354,18 +8878,18 @@ static PyObject *__pyx_pw_6nanstd_33nanstd_2d_float_axis0(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_int32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_32nanstd_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_32nanstd_1d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -8376,398 +8900,416 @@ static PyObject *__pyx_pw_6nanstd_33nanstd_2d_float_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_32nanstd_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_amean; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_32nanstd_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_float_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanstd_1d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanstd.pyx":619 - * def nanstd_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 + /* "nanstd.pyx":655 + * def nanstd_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): + * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ - __pyx_v_count = 0; + __pyx_v_asum = 0.0; - /* "nanstd.pyx":620 - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - */ - __pyx_v_asum = 0.0; - - /* "nanstd.pyx":623 - * cdef Py_ssize_t i0, i1 + /* "nanstd.pyx":659 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":624 + /* "nanstd.pyx":660 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 + * if size == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":625 + /* "nanstd.pyx":661 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nanstd.pyx":626 + /* "nanstd.pyx":662 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * size = n0 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":627 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * for i1 in range(n1): + /* "nanstd.pyx":663 + * size = n0 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanstd.pyx":629 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + /* "nanstd.pyx":664 + * if size == 0: + * return np.float64(NAN) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":630 - * NPY_float, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): + /* "nanstd.pyx":665 + * return np.float64(NAN) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_v_asum = 0.0; + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":631 - * for i1 in range(n1): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanstd.pyx":666 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * amean = asum / size */ - __pyx_v_count = 0; + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":632 - * asum = 0 - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanstd.pyx":667 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + goto __pyx_L6; + } + __pyx_L6:; + } - /* "nanstd.pyx":633 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + /* "nanstd.pyx":668 + * if ai == ai: + * asum += ai + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanstd.pyx":634 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanstd.pyx":669 + * asum += ai + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_asum = 0.0; - /* "nanstd.pyx":635 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanstd.pyx":670 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":636 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanstd.pyx":671 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; - } + __pyx_t_10 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":637 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanstd.pyx":672 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":638 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":673 + * ai = a[i0] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - - /* "nanstd.pyx":639 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_asum = 0.0; - - /* "nanstd.pyx":640 - * amean = asum / count - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanstd.pyx":641 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean - */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanstd.pyx":642 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":643 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = sqrt(asum / (count - ddof)) + /* "nanstd.pyx":674 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; + } + __pyx_L9:; + } - /* "nanstd.pyx":644 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = sqrt(asum / (count - ddof)) - * else: + /* "nanstd.pyx":675 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(sqrt(asum / (size - ddof))) + * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":645 - * ai -= amean - * asum += (ai * ai) - * y[i1] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN + /* "nanstd.pyx":676 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); - goto __pyx_L8; } - /*else*/ { - - /* "nanstd.pyx":647 - * y[i1] = sqrt(asum / (count - ddof)) - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanstd.pyx":648 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanstd.pyx":678 + * return np.float64(sqrt(asum / (size - ddof))) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanstd.pyx":617 + /* "nanstd.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanstd.pyx":652 +/* "nanstd.pyx":682 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_35nanstd_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_34nanstd_2d_float_axis1[] = "nanstd_2d_float_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_35nanstd_2d_float_axis1 = {"nanstd_2d_float_axis1", (PyCFunction)__pyx_pw_6nanstd_35nanstd_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_34nanstd_2d_float_axis1}; -static PyObject *__pyx_pw_6nanstd_35nanstd_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_35nanstd_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_34nanstd_1d_int64_axisNone[] = "nanstd_1d_int64_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_35nanstd_1d_int64_axisNone = {"nanstd_1d_int64_axisNone", (PyCFunction)__pyx_pw_6nanstd_35nanstd_1d_int64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_34nanstd_1d_int64_axisNone}; +static PyObject *__pyx_pw_6nanstd_35nanstd_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -8775,7 +9317,7 @@ static PyObject *__pyx_pw_6nanstd_35nanstd_2d_float_axis1(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_1d_int64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -8796,11 +9338,11 @@ static PyObject *__pyx_pw_6nanstd_35nanstd_2d_float_axis1(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_int64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -8809,18 +9351,18 @@ static PyObject *__pyx_pw_6nanstd_35nanstd_2d_float_axis1(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_1d_int64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_34nanstd_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_34nanstd_1d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -8831,398 +9373,416 @@ static PyObject *__pyx_pw_6nanstd_35nanstd_2d_float_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_34nanstd_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_amean; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_34nanstd_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_float_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanstd_1d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanstd.pyx":654 - * def nanstd_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanstd.pyx":655 - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + /* "nanstd.pyx":684 + * def nanstd_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): + * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":658 - * cdef Py_ssize_t i0, i1 + /* "nanstd.pyx":688 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":659 + /* "nanstd.pyx":689 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * size = n0 + * if size == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":660 + /* "nanstd.pyx":690 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nanstd.pyx":661 + /* "nanstd.pyx":691 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * size = n0 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":662 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) + /* "nanstd.pyx":692 + * size = n0 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanstd.pyx":664 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + /* "nanstd.pyx":693 + * if size == 0: + * return np.float64(NAN) * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + * ai = a[i0] + * if ai == ai: */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":665 - * NPY_float, 0) + /* "nanstd.pyx":694 + * return np.float64(NAN) * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i1 in range(n1): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_v_asum = 0.0; + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":666 + /* "nanstd.pyx":695 * for i0 in range(n0): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * amean = asum / size */ - __pyx_v_count = 0; + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":667 - * asum = 0 - * count = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanstd.pyx":696 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + goto __pyx_L6; + } + __pyx_L6:; + } - /* "nanstd.pyx":668 - * count = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + /* "nanstd.pyx":697 + * if ai == ai: + * asum += ai + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanstd.pyx":669 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanstd.pyx":698 + * asum += ai + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_asum = 0.0; - /* "nanstd.pyx":670 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanstd.pyx":699 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":671 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanstd.pyx":700 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; - } + __pyx_t_10 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanstd.pyx":672 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanstd.pyx":701 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":673 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanstd.pyx":702 + * ai = a[i0] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - - /* "nanstd.pyx":674 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_asum = 0.0; - - /* "nanstd.pyx":675 - * amean = asum / count - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanstd.pyx":676 - * asum = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean - */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanstd.pyx":677 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":678 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = sqrt(asum / (count - ddof)) + /* "nanstd.pyx":703 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; + } + __pyx_L9:; + } - /* "nanstd.pyx":679 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = sqrt(asum / (count - ddof)) - * else: + /* "nanstd.pyx":704 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(sqrt(asum / (size - ddof))) + * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":680 - * ai -= amean - * asum += (ai * ai) - * y[i0] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN + /* "nanstd.pyx":705 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); - goto __pyx_L8; } - /*else*/ { - - /* "nanstd.pyx":682 - * y[i0] = sqrt(asum / (count - ddof)) - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanstd.pyx":683 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanstd.pyx":707 + * return np.float64(sqrt(asum / (size - ddof))) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanstd.pyx":652 + /* "nanstd.pyx":682 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanstd.pyx":687 +/* "nanstd.pyx":711 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_37nanstd_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_36nanstd_2d_float32_axis0[] = "nanstd_2d_float32_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_37nanstd_2d_float32_axis0 = {"nanstd_2d_float32_axis0", (PyCFunction)__pyx_pw_6nanstd_37nanstd_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_36nanstd_2d_float32_axis0}; -static PyObject *__pyx_pw_6nanstd_37nanstd_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_37nanstd_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_36nanstd_2d_int_axisNone[] = "nanstd_2d_int_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_37nanstd_2d_int_axisNone = {"nanstd_2d_int_axisNone", (PyCFunction)__pyx_pw_6nanstd_37nanstd_2d_int_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_36nanstd_2d_int_axisNone}; +static PyObject *__pyx_pw_6nanstd_37nanstd_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -9230,7 +9790,7 @@ static PyObject *__pyx_pw_6nanstd_37nanstd_2d_float32_axis0(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -9251,11 +9811,11 @@ static PyObject *__pyx_pw_6nanstd_37nanstd_2d_float32_axis0(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9264,18 +9824,18 @@ static PyObject *__pyx_pw_6nanstd_37nanstd_2d_float32_axis0(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_36nanstd_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_36nanstd_2d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -9286,73 +9846,58 @@ static PyObject *__pyx_pw_6nanstd_37nanstd_2d_float32_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_36nanstd_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_amean; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_36nanstd_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_float32_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanstd_2d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":689 - * def nanstd_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanstd.pyx":690 - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< + /* "nanstd.pyx":713 + * def nanstd_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":693 + /* "nanstd.pyx":717 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9361,323 +9906,362 @@ static PyObject *__pyx_pf_6nanstd_36nanstd_2d_float32_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":694 + /* "nanstd.pyx":718 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":695 + /* "nanstd.pyx":719 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * if size == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":696 + /* "nanstd.pyx":720 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanstd.pyx":697 + /* "nanstd.pyx":721 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) - * for i1 in range(n1): + * size = n0 * n1 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { + + /* "nanstd.pyx":722 + * size = n0 * n1 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanstd.pyx":699 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + /* "nanstd.pyx":723 + * if size == 0: + * return np.float64(NAN) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":700 - * NPY_float32, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): + /* "nanstd.pyx":724 + * return np.float64(NAN) + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / size */ - __pyx_v_asum = 0.0; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanstd.pyx":701 - * for i1 in range(n1): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanstd.pyx":725 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_v_count = 0; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); + } + } - /* "nanstd.pyx":702 - * asum = 0 - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanstd.pyx":726 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanstd.pyx":703 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + /* "nanstd.pyx":727 + * asum += a[i0, i1] + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_asum = 0.0; - /* "nanstd.pyx":704 - * for i0 in range(n0): + /* "nanstd.pyx":728 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":705 + /* "nanstd.pyx":729 + * asum = 0 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + * ai -= amean */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanstd.pyx":706 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanstd.pyx":730 + * for i0 in range(n0): + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; - } + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":707 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanstd.pyx":731 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":708 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":732 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + } + } - /* "nanstd.pyx":709 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_asum = 0.0; - - /* "nanstd.pyx":710 - * amean = asum / count - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanstd.pyx":711 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean - */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanstd.pyx":712 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nanstd.pyx":713 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = sqrt(asum / (count - ddof)) - */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - - /* "nanstd.pyx":714 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = sqrt(asum / (count - ddof)) - * else: + /* "nanstd.pyx":733 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(sqrt(asum / (size - ddof))) + * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":715 - * ai -= amean - * asum += (ai * ai) - * y[i1] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN + /* "nanstd.pyx":734 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); - goto __pyx_L8; } - /*else*/ { - - /* "nanstd.pyx":717 - * y[i1] = sqrt(asum / (count - ddof)) - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanstd.pyx":718 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanstd.pyx":736 + * return np.float64(sqrt(asum / (size - ddof))) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanstd.pyx":687 + /* "nanstd.pyx":711 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanstd.pyx":722 +/* "nanstd.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_39nanstd_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_38nanstd_2d_float32_axis1[] = "nanstd_2d_float32_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_39nanstd_2d_float32_axis1 = {"nanstd_2d_float32_axis1", (PyCFunction)__pyx_pw_6nanstd_39nanstd_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_38nanstd_2d_float32_axis1}; -static PyObject *__pyx_pw_6nanstd_39nanstd_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_39nanstd_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_38nanstd_2d_int8_axisNone[] = "nanstd_2d_int8_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_39nanstd_2d_int8_axisNone = {"nanstd_2d_int8_axisNone", (PyCFunction)__pyx_pw_6nanstd_39nanstd_2d_int8_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_38nanstd_2d_int8_axisNone}; +static PyObject *__pyx_pw_6nanstd_39nanstd_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -9685,7 +10269,7 @@ static PyObject *__pyx_pw_6nanstd_39nanstd_2d_float32_axis1(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int8_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -9706,11 +10290,11 @@ static PyObject *__pyx_pw_6nanstd_39nanstd_2d_float32_axis1(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9719,18 +10303,18 @@ static PyObject *__pyx_pw_6nanstd_39nanstd_2d_float32_axis1(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_38nanstd_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_38nanstd_2d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -9741,73 +10325,58 @@ static PyObject *__pyx_pw_6nanstd_39nanstd_2d_float32_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_38nanstd_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_amean; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanstd_38nanstd_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_float32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanstd_2d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":724 - * def nanstd_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanstd.pyx":725 - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< + /* "nanstd.pyx":742 + * def nanstd_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":728 + /* "nanstd.pyx":746 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9816,323 +10385,362 @@ static PyObject *__pyx_pf_6nanstd_38nanstd_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":729 + /* "nanstd.pyx":747 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":730 + /* "nanstd.pyx":748 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * if size == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":731 + /* "nanstd.pyx":749 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanstd.pyx":732 + /* "nanstd.pyx":750 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) + * size = n0 * n1 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { + + /* "nanstd.pyx":751 + * size = n0 * n1 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanstd.pyx":734 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + /* "nanstd.pyx":752 + * if size == 0: + * return np.float64(NAN) * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":735 - * NPY_float32, 0) + /* "nanstd.pyx":753 + * return np.float64(NAN) * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / size + */ + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; + + /* "nanstd.pyx":754 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 + */ + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); + } + } + + /* "nanstd.pyx":755 * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_v_asum = 0.0; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanstd.pyx":736 + /* "nanstd.pyx":756 + * asum += a[i0, i1] + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + */ + __pyx_v_asum = 0.0; + + /* "nanstd.pyx":757 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_count = 0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":737 - * asum = 0 - * count = 0 + /* "nanstd.pyx":758 + * asum = 0 + * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * if ai == ai: + * ai -= amean */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanstd.pyx":738 - * count = 0 + /* "nanstd.pyx":759 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":739 + /* "nanstd.pyx":760 * for i1 in range(n1): * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":740 + /* "nanstd.pyx":761 * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nanstd.pyx":741 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } + } - /* "nanstd.pyx":742 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanstd.pyx":762 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(sqrt(asum / (size - ddof))) + * else: */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":743 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanstd.pyx":763 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - - /* "nanstd.pyx":744 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_asum = 0.0; - - /* "nanstd.pyx":745 - * amean = asum / count - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanstd.pyx":746 - * asum = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean - */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanstd.pyx":747 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nanstd.pyx":748 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = sqrt(asum / (count - ddof)) - */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - - /* "nanstd.pyx":749 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = sqrt(asum / (count - ddof)) - * else: - */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } - - /* "nanstd.pyx":750 - * ai -= amean - * asum += (ai * ai) - * y[i0] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN - */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); - goto __pyx_L8; } - /*else*/ { - - /* "nanstd.pyx":752 - * y[i0] = sqrt(asum / (count - ddof)) - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanstd.pyx":753 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanstd.pyx":765 + * return np.float64(sqrt(asum / (size - ddof))) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanstd.pyx":722 + /* "nanstd.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanstd.pyx":757 +/* "nanstd.pyx":769 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_41nanstd_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_40nanstd_2d_float64_axis0[] = "nanstd_2d_float64_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_41nanstd_2d_float64_axis0 = {"nanstd_2d_float64_axis0", (PyCFunction)__pyx_pw_6nanstd_41nanstd_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_40nanstd_2d_float64_axis0}; -static PyObject *__pyx_pw_6nanstd_41nanstd_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_41nanstd_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_40nanstd_2d_int32_axisNone[] = "nanstd_2d_int32_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_41nanstd_2d_int32_axisNone = {"nanstd_2d_int32_axisNone", (PyCFunction)__pyx_pw_6nanstd_41nanstd_2d_int32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_40nanstd_2d_int32_axisNone}; +static PyObject *__pyx_pw_6nanstd_41nanstd_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -10140,7 +10748,7 @@ static PyObject *__pyx_pw_6nanstd_41nanstd_2d_float64_axis0(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -10161,11 +10769,11 @@ static PyObject *__pyx_pw_6nanstd_41nanstd_2d_float64_axis0(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -10174,18 +10782,18 @@ static PyObject *__pyx_pw_6nanstd_41nanstd_2d_float64_axis0(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_40nanstd_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_40nanstd_2d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -10196,73 +10804,58 @@ static PyObject *__pyx_pw_6nanstd_41nanstd_2d_float64_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_40nanstd_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; +static PyObject *__pyx_pf_6nanstd_40nanstd_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_float64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanstd_2d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":759 - * def nanstd_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanstd.pyx":760 - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanstd.pyx":771 + * def nanstd_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":763 + /* "nanstd.pyx":775 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10271,323 +10864,362 @@ static PyObject *__pyx_pf_6nanstd_40nanstd_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":764 + /* "nanstd.pyx":776 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":765 + /* "nanstd.pyx":777 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * if size == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":766 + /* "nanstd.pyx":778 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanstd.pyx":767 + /* "nanstd.pyx":779 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * for i1 in range(n1): + * size = n0 * n1 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":769 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + /* "nanstd.pyx":780 + * size = n0 * n1 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "nanstd.pyx":770 - * NPY_float64, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): - */ - __pyx_v_asum = 0.0; - - /* "nanstd.pyx":771 - * for i1 in range(n1): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "nanstd.pyx":772 - * asum = 0 - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanstd.pyx":773 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanstd.pyx":774 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanstd.pyx":781 + * if size == 0: + * return np.float64(NAN) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":775 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanstd.pyx":782 + * return np.float64(NAN) + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / size */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanstd.pyx":776 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanstd.pyx":783 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); } + } - /* "nanstd.pyx":777 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanstd.pyx":784 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanstd.pyx":778 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":785 + * asum += a[i0, i1] + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); + __pyx_v_asum = 0.0; - /* "nanstd.pyx":779 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanstd.pyx":786 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":780 - * amean = asum / count - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanstd.pyx":787 + * asum = 0 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanstd.pyx":781 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanstd.pyx":788 + * for i0 in range(n0): + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":782 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanstd.pyx":789 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":783 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = sqrt(asum / (count - ddof)) + /* "nanstd.pyx":790 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + } + } - /* "nanstd.pyx":784 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = sqrt(asum / (count - ddof)) - * else: + /* "nanstd.pyx":791 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(sqrt(asum / (size - ddof))) + * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":785 - * ai -= amean - * asum += (ai * ai) - * y[i1] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN + /* "nanstd.pyx":792 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); - goto __pyx_L8; } - /*else*/ { - - /* "nanstd.pyx":787 - * y[i1] = sqrt(asum / (count - ddof)) - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanstd.pyx":788 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanstd.pyx":794 + * return np.float64(sqrt(asum / (size - ddof))) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanstd.pyx":757 + /* "nanstd.pyx":769 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanstd.pyx":792 +/* "nanstd.pyx":798 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_43nanstd_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_42nanstd_2d_float64_axis1[] = "nanstd_2d_float64_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_43nanstd_2d_float64_axis1 = {"nanstd_2d_float64_axis1", (PyCFunction)__pyx_pw_6nanstd_43nanstd_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_42nanstd_2d_float64_axis1}; -static PyObject *__pyx_pw_6nanstd_43nanstd_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_43nanstd_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_42nanstd_2d_int64_axisNone[] = "nanstd_2d_int64_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_43nanstd_2d_int64_axisNone = {"nanstd_2d_int64_axisNone", (PyCFunction)__pyx_pw_6nanstd_43nanstd_2d_int64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_42nanstd_2d_int64_axisNone}; +static PyObject *__pyx_pw_6nanstd_43nanstd_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -10595,7 +11227,7 @@ static PyObject *__pyx_pw_6nanstd_43nanstd_2d_float64_axis1(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -10616,11 +11248,11 @@ static PyObject *__pyx_pw_6nanstd_43nanstd_2d_float64_axis1(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -10629,18 +11261,18 @@ static PyObject *__pyx_pw_6nanstd_43nanstd_2d_float64_axis1(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_42nanstd_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanstd_42nanstd_2d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -10651,73 +11283,58 @@ static PyObject *__pyx_pw_6nanstd_43nanstd_2d_float64_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_42nanstd_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; +static PyObject *__pyx_pf_6nanstd_42nanstd_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_float64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanstd_2d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanstd.pyx":794 - * def nanstd_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanstd.pyx":795 - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanstd.pyx":800 + * def nanstd_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":798 + /* "nanstd.pyx":804 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10726,305 +11343,344 @@ static PyObject *__pyx_pf_6nanstd_42nanstd_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":799 + /* "nanstd.pyx":805 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":800 + /* "nanstd.pyx":806 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * if size == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":801 + /* "nanstd.pyx":807 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanstd.pyx":802 + /* "nanstd.pyx":808 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) + * size = n0 * n1 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { + + /* "nanstd.pyx":809 + * size = n0 * n1 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanstd.pyx":804 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + /* "nanstd.pyx":810 + * if size == 0: + * return np.float64(NAN) * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":805 - * NPY_float64, 0) + /* "nanstd.pyx":811 + * return np.float64(NAN) * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i1 in range(n1): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / size */ - __pyx_v_asum = 0.0; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanstd.pyx":806 + /* "nanstd.pyx":812 * for i0 in range(n0): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "nanstd.pyx":807 - * asum = 0 - * count = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); + } + } - /* "nanstd.pyx":808 - * count = 0 + /* "nanstd.pyx":813 * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * asum += a[i0, i1] + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanstd.pyx":809 + /* "nanstd.pyx":814 + * asum += a[i0, i1] + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_asum = 0.0; - /* "nanstd.pyx":810 + /* "nanstd.pyx":815 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nanstd.pyx":811 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count - */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; - } - - /* "nanstd.pyx":812 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 - */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { - - /* "nanstd.pyx":813 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): - */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - - /* "nanstd.pyx":814 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":815 - * amean = asum / count - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanstd.pyx":816 + * asum = 0 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanstd.pyx":816 - * asum = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanstd.pyx":817 + * for i0 in range(n0): + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":817 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanstd.pyx":818 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":818 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = sqrt(asum / (count - ddof)) + /* "nanstd.pyx":819 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + } + } - /* "nanstd.pyx":819 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = sqrt(asum / (count - ddof)) - * else: + /* "nanstd.pyx":820 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(sqrt(asum / (size - ddof))) + * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanstd.pyx":820 - * ai -= amean - * asum += (ai * ai) - * y[i0] = sqrt(asum / (count - ddof)) # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN + /* "nanstd.pyx":821 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_6)); - goto __pyx_L8; } - /*else*/ { - - /* "nanstd.pyx":822 - * y[i0] = sqrt(asum / (count - ddof)) - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanstd_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanstd.pyx":823 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanstd.pyx":823 + * return np.float64(sqrt(asum / (size - ddof))) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanstd.pyx":792 + /* "nanstd.pyx":798 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -11033,16 +11689,16 @@ static PyObject *__pyx_pf_6nanstd_42nanstd_2d_float64_axis1(CYTHON_UNUSED PyObje /* "nanstd.pyx":827 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanstd_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_45nanstd_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_44nanstd_1d_int_axisNone[] = "nanstd_1d_int_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_45nanstd_1d_int_axisNone = {"nanstd_1d_int_axisNone", (PyCFunction)__pyx_pw_6nanstd_45nanstd_1d_int_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_44nanstd_1d_int_axisNone}; -static PyObject *__pyx_pw_6nanstd_45nanstd_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_45nanstd_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_44nanstd_2d_int_axis0[] = "nanstd_2d_int_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_45nanstd_2d_int_axis0 = {"nanstd_2d_int_axis0", (PyCFunction)__pyx_pw_6nanstd_45nanstd_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_44nanstd_2d_int_axis0}; +static PyObject *__pyx_pw_6nanstd_45nanstd_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -11050,7 +11706,7 @@ static PyObject *__pyx_pw_6nanstd_45nanstd_1d_int_axisNone(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_1d_int_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -11071,11 +11727,11 @@ static PyObject *__pyx_pw_6nanstd_45nanstd_1d_int_axisNone(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_1d_int_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -11088,14 +11744,14 @@ static PyObject *__pyx_pw_6nanstd_45nanstd_1d_int_axisNone(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_1d_int_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_44nanstd_1d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanstd_44nanstd_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -11106,398 +11762,319 @@ static PyObject *__pyx_pw_6nanstd_45nanstd_1d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_44nanstd_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_44nanstd_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_1d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanstd.pyx":829 - * def nanstd_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): - * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanstd_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":833 - * cdef Py_ssize_t i0 + /* "nanstd.pyx":832 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":834 + /* "nanstd.pyx":833 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * if size == 0: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":835 + /* "nanstd.pyx":834 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":836 + /* "nanstd.pyx":835 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":837 - * size = n0 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanstd.pyx":836 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; /* "nanstd.pyx":838 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { /* "nanstd.pyx":839 - * return np.float64(NAN) - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - - /* "nanstd.pyx":840 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * amean = asum / size + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i1 in range(n1): */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; + } + /*else*/ { - /* "nanstd.pyx":841 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + /* "nanstd.pyx":841 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - goto __pyx_L6; - } - __pyx_L6:; - } + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanstd.pyx":842 - * if ai == ai: - * asum += ai - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":842 + * else: + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_v_asum = 0.0; - /* "nanstd.pyx":843 - * asum += ai - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanstd.pyx":843 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n0 */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":844 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + /* "nanstd.pyx":844 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n0 + * asum = 0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanstd.pyx":845 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanstd.pyx":845 + * for i0 in range(n0): + * asum += a[i0, i1] + * amean = asum / n0 # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_10 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); - /* "nanstd.pyx":846 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanstd.pyx":846 + * asum += a[i0, i1] + * amean = asum / n0 + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_v_asum = 0.0; /* "nanstd.pyx":847 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n0 + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":848 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) + /* "nanstd.pyx":848 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; - } - __pyx_L9:; - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "nanstd.pyx":849 + * for i0 in range(n0): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) + */ + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":849 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(sqrt(asum / (size - ddof))) - * else: + /* "nanstd.pyx":850 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = sqrt(asum / (n0 - ddof)) + * return y */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + } - /* "nanstd.pyx":850 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanstd.pyx":851 + * ai -= amean + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) # <<<<<<<<<<<<<< + * return y + * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } - /*else*/ { + __pyx_L3:; - /* "nanstd.pyx":852 - * return np.float64(sqrt(asum / (size - ddof))) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanstd.pyx":852 + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanstd.pyx":827 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanstd_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -11506,16 +12083,16 @@ static PyObject *__pyx_pf_6nanstd_44nanstd_1d_int_axisNone(CYTHON_UNUSED PyObjec /* "nanstd.pyx":856 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanstd_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_47nanstd_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_46nanstd_1d_int8_axisNone[] = "nanstd_1d_int8_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_47nanstd_1d_int8_axisNone = {"nanstd_1d_int8_axisNone", (PyCFunction)__pyx_pw_6nanstd_47nanstd_1d_int8_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_46nanstd_1d_int8_axisNone}; -static PyObject *__pyx_pw_6nanstd_47nanstd_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_47nanstd_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_46nanstd_2d_int_axis1[] = "nanstd_2d_int_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_47nanstd_2d_int_axis1 = {"nanstd_2d_int_axis1", (PyCFunction)__pyx_pw_6nanstd_47nanstd_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_46nanstd_2d_int_axis1}; +static PyObject *__pyx_pw_6nanstd_47nanstd_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -11523,7 +12100,7 @@ static PyObject *__pyx_pw_6nanstd_47nanstd_1d_int8_axisNone(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_1d_int8_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -11544,11 +12121,11 @@ static PyObject *__pyx_pw_6nanstd_47nanstd_1d_int8_axisNone(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_1d_int8_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -11561,14 +12138,14 @@ static PyObject *__pyx_pw_6nanstd_47nanstd_1d_int8_axisNone(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_1d_int8_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_46nanstd_1d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanstd_46nanstd_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -11579,398 +12156,319 @@ static PyObject *__pyx_pw_6nanstd_47nanstd_1d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_46nanstd_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_46nanstd_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_1d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanstd.pyx":858 - * def nanstd_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): - * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanstd_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":862 - * cdef Py_ssize_t i0 + /* "nanstd.pyx":861 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":863 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * if size == 0: - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "nanstd.pyx":864 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) - */ - __pyx_v_size = __pyx_v_n0; - - /* "nanstd.pyx":865 - * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): - */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { - - /* "nanstd.pyx":866 - * size = n0 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - - /* "nanstd.pyx":867 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + /* "nanstd.pyx":862 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":868 - * return np.float64(NAN) - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + /* "nanstd.pyx":863 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":869 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * amean = asum / size + /* "nanstd.pyx":864 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":870 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + /* "nanstd.pyx":865 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - goto __pyx_L6; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __pyx_L6:; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanstd.pyx":871 - * if ai == ai: - * asum += ai - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":867 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "nanstd.pyx":868 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i0 in range(n0): + */ + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + /*else*/ { - /* "nanstd.pyx":872 - * asum += ai - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanstd.pyx":870 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_v_asum = 0.0; + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanstd.pyx":873 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + /* "nanstd.pyx":871 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_asum = 0.0; - /* "nanstd.pyx":874 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanstd.pyx":872 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n1 */ - __pyx_t_10 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanstd.pyx":875 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanstd.pyx":873 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n1 + * asum = 0 */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanstd.pyx":876 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + /* "nanstd.pyx":874 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / n1 # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); - /* "nanstd.pyx":877 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) + /* "nanstd.pyx":875 + * asum += a[i0, i1] + * amean = asum / n1 + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; - } - __pyx_L9:; - } + __pyx_v_asum = 0.0; - /* "nanstd.pyx":878 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(sqrt(asum / (size - ddof))) - * else: + /* "nanstd.pyx":876 + * amean = asum / n1 + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanstd.pyx":879 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanstd.pyx":877 + * asum = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "nanstd.pyx":878 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) + */ + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanstd.pyx":879 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = sqrt(asum / (n1 - ddof)) + * return y + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanstd.pyx":881 - * return np.float64(sqrt(asum / (size - ddof))) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanstd.pyx":880 + * ai -= amean + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanstd.pyx":881 + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanstd.pyx":856 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanstd_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -11979,16 +12477,16 @@ static PyObject *__pyx_pf_6nanstd_46nanstd_1d_int8_axisNone(CYTHON_UNUSED PyObje /* "nanstd.pyx":885 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanstd_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_49nanstd_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_48nanstd_1d_int32_axisNone[] = "nanstd_1d_int32_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_49nanstd_1d_int32_axisNone = {"nanstd_1d_int32_axisNone", (PyCFunction)__pyx_pw_6nanstd_49nanstd_1d_int32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_48nanstd_1d_int32_axisNone}; -static PyObject *__pyx_pw_6nanstd_49nanstd_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_49nanstd_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_48nanstd_2d_int8_axis0[] = "nanstd_2d_int8_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_49nanstd_2d_int8_axis0 = {"nanstd_2d_int8_axis0", (PyCFunction)__pyx_pw_6nanstd_49nanstd_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_48nanstd_2d_int8_axis0}; +static PyObject *__pyx_pw_6nanstd_49nanstd_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -11996,7 +12494,7 @@ static PyObject *__pyx_pw_6nanstd_49nanstd_1d_int32_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_1d_int32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int8_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -12017,11 +12515,11 @@ static PyObject *__pyx_pw_6nanstd_49nanstd_1d_int32_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_1d_int32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -12034,14 +12532,14 @@ static PyObject *__pyx_pw_6nanstd_49nanstd_1d_int32_axisNone(PyObject *__pyx_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_1d_int32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_48nanstd_1d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanstd_48nanstd_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -12052,398 +12550,319 @@ static PyObject *__pyx_pw_6nanstd_49nanstd_1d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_48nanstd_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_48nanstd_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_1d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int8_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanstd.pyx":887 - * def nanstd_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): - * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanstd_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":891 - * cdef Py_ssize_t i0 + /* "nanstd.pyx":890 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":892 + /* "nanstd.pyx":891 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * if size == 0: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":893 + /* "nanstd.pyx":892 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":894 + /* "nanstd.pyx":893 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":895 - * size = n0 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanstd.pyx":894 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; /* "nanstd.pyx":896 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: - */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; - - /* "nanstd.pyx":897 - * return np.float64(NAN) - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - - /* "nanstd.pyx":898 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * amean = asum / size + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanstd.pyx":899 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + /* "nanstd.pyx":897 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i1 in range(n1): */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - goto __pyx_L6; - } - __pyx_L6:; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } + /*else*/ { - /* "nanstd.pyx":900 - * if ai == ai: - * asum += ai - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":899 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanstd.pyx":901 - * asum += ai - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanstd.pyx":900 + * else: + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0.0; - /* "nanstd.pyx":902 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + /* "nanstd.pyx":901 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":903 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanstd.pyx":902 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n0 + * asum = 0 */ - __pyx_t_10 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanstd.pyx":904 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanstd.pyx":903 + * for i0 in range(n0): + * asum += a[i0, i1] + * amean = asum / n0 # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); + + /* "nanstd.pyx":904 + * asum += a[i0, i1] + * amean = asum / n0 + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_asum = 0.0; /* "nanstd.pyx":905 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n0 + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":906 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) + /* "nanstd.pyx":906 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; - } - __pyx_L9:; - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":907 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(sqrt(asum / (size - ddof))) - * else: + /* "nanstd.pyx":907 + * for i0 in range(n0): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":908 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanstd.pyx":908 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = sqrt(asum / (n0 - ddof)) + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanstd.pyx":910 - * return np.float64(sqrt(asum / (size - ddof))) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanstd.pyx":909 + * ai -= amean + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanstd.pyx":910 + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanstd.pyx":885 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanstd_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -12452,16 +12871,16 @@ static PyObject *__pyx_pf_6nanstd_48nanstd_1d_int32_axisNone(CYTHON_UNUSED PyObj /* "nanstd.pyx":914 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanstd_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_51nanstd_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_50nanstd_1d_int64_axisNone[] = "nanstd_1d_int64_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_51nanstd_1d_int64_axisNone = {"nanstd_1d_int64_axisNone", (PyCFunction)__pyx_pw_6nanstd_51nanstd_1d_int64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_50nanstd_1d_int64_axisNone}; -static PyObject *__pyx_pw_6nanstd_51nanstd_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_51nanstd_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_50nanstd_2d_int8_axis1[] = "nanstd_2d_int8_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_51nanstd_2d_int8_axis1 = {"nanstd_2d_int8_axis1", (PyCFunction)__pyx_pw_6nanstd_51nanstd_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_50nanstd_2d_int8_axis1}; +static PyObject *__pyx_pw_6nanstd_51nanstd_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -12469,7 +12888,7 @@ static PyObject *__pyx_pw_6nanstd_51nanstd_1d_int64_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_1d_int64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int8_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -12490,11 +12909,11 @@ static PyObject *__pyx_pw_6nanstd_51nanstd_1d_int64_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_1d_int64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_1d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -12507,14 +12926,14 @@ static PyObject *__pyx_pw_6nanstd_51nanstd_1d_int64_axisNone(PyObject *__pyx_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_1d_int64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_50nanstd_1d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanstd_50nanstd_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -12525,398 +12944,319 @@ static PyObject *__pyx_pw_6nanstd_51nanstd_1d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_50nanstd_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_50nanstd_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_1d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int8_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanstd.pyx":916 - * def nanstd_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): - * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanstd_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":920 - * cdef Py_ssize_t i0 + /* "nanstd.pyx":919 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":921 + /* "nanstd.pyx":920 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * if size == 0: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":922 + /* "nanstd.pyx":921 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":923 + /* "nanstd.pyx":922 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":924 - * size = n0 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanstd.pyx":923 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; /* "nanstd.pyx":925 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { /* "nanstd.pyx":926 - * return np.float64(NAN) - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - - /* "nanstd.pyx":927 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * amean = asum / size - */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { - - /* "nanstd.pyx":928 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i0 in range(n0): */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - goto __pyx_L6; - } - __pyx_L6:; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } + /*else*/ { - /* "nanstd.pyx":929 - * if ai == ai: - * asum += ai - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":928 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 929; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanstd.pyx":930 - * asum += ai - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanstd.pyx":929 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0.0; + + /* "nanstd.pyx":930 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n1 */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanstd.pyx":931 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + /* "nanstd.pyx":931 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n1 + * asum = 0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanstd.pyx":932 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanstd.pyx":932 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / n1 # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_t_10 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); - /* "nanstd.pyx":933 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanstd.pyx":933 + * asum += a[i0, i1] + * amean = asum / n1 + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_v_asum = 0.0; /* "nanstd.pyx":934 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n1 + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanstd.pyx":935 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) + /* "nanstd.pyx":935 + * asum = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; - } - __pyx_L9:; - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":936 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(sqrt(asum / (size - ddof))) - * else: + /* "nanstd.pyx":936 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":937 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanstd.pyx":937 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = sqrt(asum / (n1 - ddof)) + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanstd.pyx":939 - * return np.float64(sqrt(asum / (size - ddof))) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanstd.pyx":938 + * ai -= amean + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanstd.pyx":939 + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanstd.pyx":914 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanstd_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -12925,16 +13265,16 @@ static PyObject *__pyx_pf_6nanstd_50nanstd_1d_int64_axisNone(CYTHON_UNUSED PyObj /* "nanstd.pyx":943 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanstd_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_53nanstd_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_52nanstd_2d_int_axisNone[] = "nanstd_2d_int_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_53nanstd_2d_int_axisNone = {"nanstd_2d_int_axisNone", (PyCFunction)__pyx_pw_6nanstd_53nanstd_2d_int_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_52nanstd_2d_int_axisNone}; -static PyObject *__pyx_pw_6nanstd_53nanstd_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_53nanstd_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_52nanstd_2d_int32_axis0[] = "nanstd_2d_int32_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_53nanstd_2d_int32_axis0 = {"nanstd_2d_int32_axis0", (PyCFunction)__pyx_pw_6nanstd_53nanstd_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_52nanstd_2d_int32_axis0}; +static PyObject *__pyx_pw_6nanstd_53nanstd_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -12942,7 +13282,7 @@ static PyObject *__pyx_pw_6nanstd_53nanstd_2d_int_axisNone(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -12963,11 +13303,11 @@ static PyObject *__pyx_pw_6nanstd_53nanstd_2d_int_axisNone(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -12980,14 +13320,14 @@ static PyObject *__pyx_pw_6nanstd_53nanstd_2d_int_axisNone(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_52nanstd_2d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanstd_52nanstd_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -12998,58 +13338,63 @@ static PyObject *__pyx_pw_6nanstd_53nanstd_2d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_52nanstd_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_52nanstd_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int32_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanstd.pyx":945 - * def nanstd_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanstd_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":949 + /* "nanstd.pyx":948 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -13058,344 +13403,254 @@ static PyObject *__pyx_pf_6nanstd_52nanstd_2d_int_axisNone(CYTHON_UNUSED PyObjec */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":950 + /* "nanstd.pyx":949 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":951 + /* "nanstd.pyx":950 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * if size == 0: + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":952 + /* "nanstd.pyx":951 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":953 + /* "nanstd.pyx":952 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): - */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { - - /* "nanstd.pyx":954 - * size = n0 * n1 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanstd.pyx":955 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] - */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; - - /* "nanstd.pyx":956 - * return np.float64(NAN) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / size + /* "nanstd.pyx":954 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanstd.pyx":957 - * for i0 in range(n0): + /* "nanstd.pyx":955 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } + /*else*/ { - /* "nanstd.pyx":958 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":957 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanstd.pyx":959 - * asum += a[i0, i1] - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanstd.pyx":958 + * else: * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0.0; - /* "nanstd.pyx":960 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "nanstd.pyx":959 * for i1 in range(n1): - * ai = a[i0, i1] + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":961 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ai -= amean + /* "nanstd.pyx":960 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n0 + * asum = 0 */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nanstd.pyx":961 + * for i0 in range(n0): + * asum += a[i0, i1] + * amean = asum / n0 # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): + */ + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); /* "nanstd.pyx":962 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * asum += a[i0, i1] + * amean = asum / n0 + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_asum = 0.0; /* "nanstd.pyx":963 - * for i1 in range(n1): - * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n0 + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; + + /* "nanstd.pyx":964 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) + */ + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":964 - * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) + /* "nanstd.pyx":965 + * for i0 in range(n0): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - } - } + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":965 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(sqrt(asum / (size - ddof))) - * else: + /* "nanstd.pyx":966 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = sqrt(asum / (n0 - ddof)) + * return y */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + } - /* "nanstd.pyx":966 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanstd.pyx":967 + * ai -= amean + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) # <<<<<<<<<<<<<< + * return y + * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } - /*else*/ { + __pyx_L3:; - /* "nanstd.pyx":968 - * return np.float64(sqrt(asum / (size - ddof))) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanstd.pyx":968 + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanstd.pyx":943 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanstd_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -13404,16 +13659,16 @@ static PyObject *__pyx_pf_6nanstd_52nanstd_2d_int_axisNone(CYTHON_UNUSED PyObjec /* "nanstd.pyx":972 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanstd_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_55nanstd_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_54nanstd_2d_int8_axisNone[] = "nanstd_2d_int8_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_55nanstd_2d_int8_axisNone = {"nanstd_2d_int8_axisNone", (PyCFunction)__pyx_pw_6nanstd_55nanstd_2d_int8_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_54nanstd_2d_int8_axisNone}; -static PyObject *__pyx_pw_6nanstd_55nanstd_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_55nanstd_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_54nanstd_2d_int32_axis1[] = "nanstd_2d_int32_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_55nanstd_2d_int32_axis1 = {"nanstd_2d_int32_axis1", (PyCFunction)__pyx_pw_6nanstd_55nanstd_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_54nanstd_2d_int32_axis1}; +static PyObject *__pyx_pw_6nanstd_55nanstd_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -13421,7 +13676,7 @@ static PyObject *__pyx_pw_6nanstd_55nanstd_2d_int8_axisNone(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int8_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -13442,11 +13697,11 @@ static PyObject *__pyx_pw_6nanstd_55nanstd_2d_int8_axisNone(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -13459,14 +13714,14 @@ static PyObject *__pyx_pw_6nanstd_55nanstd_2d_int8_axisNone(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int8_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_54nanstd_2d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanstd_54nanstd_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -13477,58 +13732,63 @@ static PyObject *__pyx_pw_6nanstd_55nanstd_2d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_54nanstd_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_54nanstd_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int32_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanstd.pyx":974 - * def nanstd_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanstd_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":978 + /* "nanstd.pyx":977 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -13537,344 +13797,254 @@ static PyObject *__pyx_pf_6nanstd_54nanstd_2d_int8_axisNone(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":979 + /* "nanstd.pyx":978 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "nanstd.pyx":980 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * if size == 0: - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanstd.pyx":981 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) - */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - - /* "nanstd.pyx":982 - * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): - */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { - - /* "nanstd.pyx":983 - * size = n0 * n1 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + */ + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":984 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanstd.pyx":979 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":985 - * return np.float64(NAN) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / size + /* "nanstd.pyx":980 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":986 - * for i0 in range(n0): - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + /* "nanstd.pyx":981 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanstd.pyx":987 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":983 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "nanstd.pyx":984 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i0 in range(n0): + */ + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + /*else*/ { - /* "nanstd.pyx":988 - * asum += a[i0, i1] - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanstd.pyx":986 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_v_asum = 0.0; + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanstd.pyx":989 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanstd.pyx":987 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_asum = 0.0; - /* "nanstd.pyx":990 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ai -= amean + /* "nanstd.pyx":988 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n1 */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; + + /* "nanstd.pyx":989 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n1 + * asum = 0 + */ + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nanstd.pyx":990 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / n1 # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): + */ + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); /* "nanstd.pyx":991 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * asum += a[i0, i1] + * amean = asum / n1 + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_asum = 0.0; /* "nanstd.pyx":992 - * for i1 in range(n1): - * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n1 + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanstd.pyx":993 - * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) + /* "nanstd.pyx":993 + * asum = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - } - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":994 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(sqrt(asum / (size - ddof))) - * else: + /* "nanstd.pyx":994 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":995 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanstd.pyx":995 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = sqrt(asum / (n1 - ddof)) + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanstd.pyx":997 - * return np.float64(sqrt(asum / (size - ddof))) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanstd.pyx":996 + * ai -= amean + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 996; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanstd.pyx":997 + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanstd.pyx":972 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanstd_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -13883,16 +14053,16 @@ static PyObject *__pyx_pf_6nanstd_54nanstd_2d_int8_axisNone(CYTHON_UNUSED PyObje /* "nanstd.pyx":1001 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanstd_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_57nanstd_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_56nanstd_2d_int32_axisNone[] = "nanstd_2d_int32_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_57nanstd_2d_int32_axisNone = {"nanstd_2d_int32_axisNone", (PyCFunction)__pyx_pw_6nanstd_57nanstd_2d_int32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_56nanstd_2d_int32_axisNone}; -static PyObject *__pyx_pw_6nanstd_57nanstd_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_57nanstd_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_56nanstd_2d_int64_axis0[] = "nanstd_2d_int64_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_57nanstd_2d_int64_axis0 = {"nanstd_2d_int64_axis0", (PyCFunction)__pyx_pw_6nanstd_57nanstd_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_56nanstd_2d_int64_axis0}; +static PyObject *__pyx_pw_6nanstd_57nanstd_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -13900,7 +14070,7 @@ static PyObject *__pyx_pw_6nanstd_57nanstd_2d_int32_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -13921,11 +14091,11 @@ static PyObject *__pyx_pw_6nanstd_57nanstd_2d_int32_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -13938,14 +14108,14 @@ static PyObject *__pyx_pw_6nanstd_57nanstd_2d_int32_axisNone(PyObject *__pyx_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_56nanstd_2d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanstd_56nanstd_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -13956,58 +14126,63 @@ static PyObject *__pyx_pw_6nanstd_57nanstd_2d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_56nanstd_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_56nanstd_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int64_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanstd.pyx":1003 - * def nanstd_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanstd_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":1007 + /* "nanstd.pyx":1006 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -14016,344 +14191,254 @@ static PyObject *__pyx_pf_6nanstd_56nanstd_2d_int32_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":1008 + /* "nanstd.pyx":1007 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":1009 + /* "nanstd.pyx":1008 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * if size == 0: + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":1010 + /* "nanstd.pyx":1009 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":1011 + /* "nanstd.pyx":1010 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): - */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { - - /* "nanstd.pyx":1012 - * size = n0 * n1 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanstd.pyx":1013 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] - */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; - - /* "nanstd.pyx":1014 - * return np.float64(NAN) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / size + /* "nanstd.pyx":1012 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanstd.pyx":1015 - * for i0 in range(n0): + /* "nanstd.pyx":1013 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } + /*else*/ { + + /* "nanstd.pyx":1015 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): + */ + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanstd.pyx":1016 + /* "nanstd.pyx":1016 + * else: * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_v_asum = 0.0; - /* "nanstd.pyx":1017 - * asum += a[i0, i1] - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanstd.pyx":1017 * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n0 */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":1018 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanstd.pyx":1018 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n0 + * asum = 0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanstd.pyx":1019 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ai -= amean + /* "nanstd.pyx":1019 + * for i0 in range(n0): + * asum += a[i0, i1] + * amean = asum / n0 # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1019; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); /* "nanstd.pyx":1020 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * asum += a[i0, i1] + * amean = asum / n0 + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_asum = 0.0; /* "nanstd.pyx":1021 - * for i1 in range(n1): - * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n0 + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanstd.pyx":1022 - * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) + /* "nanstd.pyx":1022 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - } - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":1023 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(sqrt(asum / (size - ddof))) - * else: + /* "nanstd.pyx":1023 + * for i0 in range(n0): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":1024 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanstd.pyx":1024 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = sqrt(asum / (n0 - ddof)) + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanstd.pyx":1026 - * return np.float64(sqrt(asum / (size - ddof))) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanstd.pyx":1025 + * ai -= amean + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanstd.pyx":1026 + * asum += (ai * ai) + * y[i1] = sqrt(asum / (n0 - ddof)) + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanstd.pyx":1001 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanstd_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -14362,16 +14447,16 @@ static PyObject *__pyx_pf_6nanstd_56nanstd_2d_int32_axisNone(CYTHON_UNUSED PyObj /* "nanstd.pyx":1030 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanstd_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanstd_59nanstd_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanstd_58nanstd_2d_int64_axisNone[] = "nanstd_2d_int64_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanstd_59nanstd_2d_int64_axisNone = {"nanstd_2d_int64_axisNone", (PyCFunction)__pyx_pw_6nanstd_59nanstd_2d_int64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_58nanstd_2d_int64_axisNone}; -static PyObject *__pyx_pw_6nanstd_59nanstd_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanstd_59nanstd_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanstd_58nanstd_2d_int64_axis1[] = "nanstd_2d_int64_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanstd_59nanstd_2d_int64_axis1 = {"nanstd_2d_int64_axis1", (PyCFunction)__pyx_pw_6nanstd_59nanstd_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanstd_58nanstd_2d_int64_axis1}; +static PyObject *__pyx_pw_6nanstd_59nanstd_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -14379,7 +14464,7 @@ static PyObject *__pyx_pw_6nanstd_59nanstd_2d_int64_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanstd_2d_int64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -14400,11 +14485,11 @@ static PyObject *__pyx_pw_6nanstd_59nanstd_2d_int64_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanstd_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -14417,14 +14502,14 @@ static PyObject *__pyx_pw_6nanstd_59nanstd_2d_int64_axisNone(PyObject *__pyx_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanstd_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanstd_58nanstd_2d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanstd_58nanstd_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -14435,38 +14520,43 @@ static PyObject *__pyx_pw_6nanstd_59nanstd_2d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanstd_58nanstd_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanstd_58nanstd_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanstd_2d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nanstd_2d_int64_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -14478,15 +14568,15 @@ static PyObject *__pyx_pf_6nanstd_58nanstd_2d_int64_axisNone(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanstd.pyx":1032 - * def nanstd_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanstd_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanstd.pyx":1036 + /* "nanstd.pyx":1035 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -14495,351 +14585,261 @@ static PyObject *__pyx_pf_6nanstd_58nanstd_2d_int64_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanstd.pyx":1037 + /* "nanstd.pyx":1036 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanstd.pyx":1038 + /* "nanstd.pyx":1037 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * if size == 0: + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanstd.pyx":1039 + /* "nanstd.pyx":1038 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanstd.pyx":1040 + /* "nanstd.pyx":1039 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): - */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { - - /* "nanstd.pyx":1041 - * size = n0 * n1 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanstd.pyx":1042 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanstd.pyx":1041 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { - /* "nanstd.pyx":1043 - * return np.float64(NAN) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / size + /* "nanstd.pyx":1042 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i0 in range(n0): */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; + } + /*else*/ { - /* "nanstd.pyx":1044 - * for i0 in range(n0): - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + /* "nanstd.pyx":1044 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); - } - } + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanstd.pyx":1045 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanstd.pyx":1045 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_v_asum = 0.0; - /* "nanstd.pyx":1046 - * asum += a[i0, i1] - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanstd.pyx":1046 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n1 */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanstd.pyx":1047 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanstd.pyx":1047 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n1 + * asum = 0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanstd.pyx":1048 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ai -= amean + /* "nanstd.pyx":1048 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / n1 # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); /* "nanstd.pyx":1049 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * asum += a[i0, i1] + * amean = asum / n1 + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_asum = 0.0; /* "nanstd.pyx":1050 - * for i1 in range(n1): - * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n1 + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanstd.pyx":1051 - * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) + /* "nanstd.pyx":1051 + * asum = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - } - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanstd.pyx":1052 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(sqrt(asum / (size - ddof))) - * else: + /* "nanstd.pyx":1052 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanstd.pyx":1053 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(sqrt(asum / (size - ddof))) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanstd.pyx":1053 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = sqrt(asum / (n1 - ddof)) + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble(sqrt((__pyx_v_asum / __pyx_t_7))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanstd.pyx":1055 - * return np.float64(sqrt(asum / (size - ddof))) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanstd.pyx":1054 + * ai -= amean + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) # <<<<<<<<<<<<<< + * return y * - * cdef dict nanstd_dict = {} */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanstd_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = sqrt((__pyx_v_asum / __pyx_t_7)); } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanstd.pyx":1055 + * asum += (ai * ai) + * y[i0] = sqrt(asum / (n1 - ddof)) + * return y # <<<<<<<<<<<<<< + * + * cdef dict nanstd_dict = {} + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanstd.pyx":1030 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanstd_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanstd.nanstd_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "nanstd.pyx":1094 - * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone + * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 * * def nanstd_slow_axis0(arr, ddof): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanstd along axis 0." @@ -14956,7 +14956,7 @@ static PyObject *__pyx_pf_6nanstd_60nanstd_slow_axis0(CYTHON_UNUSED PyObject *__ goto __pyx_L0; /* "nanstd.pyx":1094 - * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone + * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 * * def nanstd_slow_axis0(arr, ddof): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanstd along axis 0." @@ -19564,7 +19564,7 @@ static PyObject *__pyx_pf_6nanstd_126nanstd_slow_axisNone(CYTHON_UNUSED PyObject return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -19614,7 +19614,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -19627,7 +19627,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -19636,7 +19636,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -19645,7 +19645,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -19654,7 +19654,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -19664,7 +19664,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -19676,7 +19676,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -19687,7 +19687,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -19703,7 +19703,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -19715,7 +19715,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -19729,7 +19729,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -19745,7 +19745,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -19757,7 +19757,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -19771,7 +19771,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -19780,7 +19780,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -19789,7 +19789,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -19799,7 +19799,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -19808,7 +19808,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -19817,7 +19817,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -19828,7 +19828,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -19837,7 +19837,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -19850,7 +19850,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -19859,7 +19859,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -19870,7 +19870,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -19879,7 +19879,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -19888,7 +19888,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -19897,7 +19897,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -19906,7 +19906,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -19918,7 +19918,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -19927,7 +19927,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -19947,7 +19947,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -19963,7 +19963,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -19978,7 +19978,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -19988,7 +19988,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -19998,7 +19998,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -20021,7 +20021,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -20041,7 +20041,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -20055,7 +20055,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -20064,7 +20064,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -20075,7 +20075,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -20086,7 +20086,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -20097,7 +20097,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -20108,7 +20108,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -20119,7 +20119,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -20130,7 +20130,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -20141,7 +20141,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -20152,7 +20152,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -20163,7 +20163,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -20174,7 +20174,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -20185,7 +20185,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -20196,7 +20196,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -20207,7 +20207,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -20218,7 +20218,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -20229,7 +20229,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -20240,7 +20240,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -20252,7 +20252,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -20278,7 +20278,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -20287,7 +20287,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -20299,7 +20299,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -20308,7 +20308,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -20317,7 +20317,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -20326,7 +20326,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -20336,7 +20336,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -20346,7 +20346,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -20378,7 +20378,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -20402,7 +20402,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -20412,7 +20412,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -20424,7 +20424,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -20434,7 +20434,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -20446,7 +20446,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -20458,7 +20458,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -20475,7 +20475,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -20489,7 +20489,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -20508,7 +20508,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -20525,7 +20525,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -20539,7 +20539,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -20558,7 +20558,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -20575,7 +20575,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -20589,7 +20589,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -20608,7 +20608,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -20625,7 +20625,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -20639,7 +20639,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -20658,7 +20658,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -20675,7 +20675,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -20689,7 +20689,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -20708,7 +20708,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -20740,7 +20740,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -20749,7 +20749,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -20758,7 +20758,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -20780,7 +20780,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -20793,7 +20793,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -20832,7 +20832,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -20849,7 +20849,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -20863,7 +20863,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -20886,7 +20886,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -20906,7 +20906,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -20920,7 +20920,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -20936,7 +20936,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -20945,7 +20945,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -20954,7 +20954,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -20965,7 +20965,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -20975,7 +20975,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -20985,7 +20985,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -20997,7 +20997,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -21007,7 +21007,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -21021,7 +21021,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -21039,7 +21039,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -21057,7 +21057,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -21075,7 +21075,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -21093,7 +21093,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -21111,7 +21111,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -21129,7 +21129,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -21147,7 +21147,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -21165,7 +21165,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -21183,7 +21183,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -21201,7 +21201,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -21219,7 +21219,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -21237,7 +21237,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -21255,7 +21255,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -21275,7 +21275,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -21295,7 +21295,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -21315,7 +21315,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -21334,7 +21334,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -21357,7 +21357,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -21369,7 +21369,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -21381,7 +21381,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -21391,7 +21391,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -21401,7 +21401,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -21426,7 +21426,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -21441,7 +21441,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -21452,7 +21452,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -21464,7 +21464,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -21473,7 +21473,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -21484,7 +21484,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -21493,7 +21493,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -21502,7 +21502,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -21514,7 +21514,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -21528,7 +21528,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -21538,7 +21538,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -21552,7 +21552,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -21563,7 +21563,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -21601,7 +21601,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -21615,6 +21614,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_u_Standard_deviation_along_the_sp, __pyx_k_Standard_deviation_along_the_sp, sizeof(__pyx_k_Standard_deviation_along_the_sp), 0, 1, 0, 0}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -21742,7 +21742,7 @@ static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; @@ -21752,7 +21752,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -21763,7 +21763,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -21774,7 +21774,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -21785,7 +21785,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -21796,7 +21796,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -21807,7 +21807,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -21839,7 +21839,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_ddof, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":140 * return func(arr, ddof) @@ -21851,346 +21851,346 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_selector, 140, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_selector, 140, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__13 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__13 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int_axis0, 214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_float_axis0, 214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":243 + /* "nanstd.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__15 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__15 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int_axis1, 243, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_float_axis1, 249, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":272 + /* "nanstd.pyx":284 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__17 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__17 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int8_axis0, 272, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_float32_axis0, 284, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":301 + /* "nanstd.pyx":319 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__19 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int8_axis1, 301, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_float32_axis1, 319, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":330 + /* "nanstd.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__21 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int32_axis0, 330, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_float64_axis0, 354, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":359 + /* "nanstd.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__23 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int32_axis1, 359, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_float64_axis1, 389, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":388 + /* "nanstd.pyx":424 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__25 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int64_axis0, 388, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_1d_float_axisNone, 424, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":417 + /* "nanstd.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__27 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int64_axis1, 417, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_1d_float32_axisNone, 451, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":446 + /* "nanstd.pyx":478 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanstd_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__29 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_1d_float_axisNone, 446, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_1d_float64_axisNone, 478, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":473 + /* "nanstd.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanstd_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__31 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_1d_float32_axisNone, 473, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_float_axisNone, 505, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":500 + /* "nanstd.pyx":535 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanstd_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__33 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_1d_float64_axisNone, 500, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_float32_axisNone, 535, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":527 + /* "nanstd.pyx":565 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanstd_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__35 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_float_axisNone, 527, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_float64_axisNone, 565, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":557 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanstd_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanstd.pyx":595 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanstd_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__37 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_float32_axisNone, 557, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_1d_int_axisNone, 595, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":587 + /* "nanstd.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__39 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_float64_axisNone, 587, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_1d_int8_axisNone, 624, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":617 + /* "nanstd.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__41 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_float_axis0, 617, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_1d_int32_axisNone, 653, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":652 + /* "nanstd.pyx":682 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__43 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_float_axis1, 652, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_1d_int64_axisNone, 682, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":687 + /* "nanstd.pyx":711 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__45 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_float32_axis0, 687, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int_axisNone, 711, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":722 + /* "nanstd.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__47 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_float32_axis1, 722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int8_axisNone, 740, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":757 + /* "nanstd.pyx":769 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__49 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_float64_axis0, 757, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int32_axisNone, 769, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanstd.pyx":792 + /* "nanstd.pyx":798 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__51 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_float64_axis1, 792, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int64_axisNone, 798, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":827 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanstd_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__53 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_1d_int_axisNone, 827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int_axis0, 827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":856 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanstd_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__55 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_1d_int8_axisNone, 856, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int_axis1, 856, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":885 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanstd_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__57 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_1d_int32_axisNone, 885, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int8_axis0, 885, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":914 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanstd_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__59 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_1d_int64_axisNone, 914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int8_axis1, 914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":943 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanstd_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__61 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int_axisNone, 943, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int32_axis0, 943, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":972 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanstd_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__63 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int8_axisNone, 972, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int32_axis1, 972, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1001 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanstd_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__65 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int32_axisNone, 1001, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int64_axis0, 1001, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1030 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanstd_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__67 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_2d_int64_axisNone, 1030, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_2d_int64_axis1, 1030, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1094 - * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone + * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 * * def nanstd_slow_axis0(arr, ddof): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanstd along axis 0." @@ -22199,7 +22199,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis0, 1094, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis0, 1094, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1098 * return bn.slow.nanstd(arr, axis=0, ddof=ddof) @@ -22211,7 +22211,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis1, 1098, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis1, 1098, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1102 * return bn.slow.nanstd(arr, axis=1, ddof=ddof) @@ -22223,7 +22223,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis2, 1102, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis2, 1102, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1106 * return bn.slow.nanstd(arr, axis=2, ddof=ddof) @@ -22235,7 +22235,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis3, 1106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis3, 1106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1110 * return bn.slow.nanstd(arr, axis=3, ddof=ddof) @@ -22247,7 +22247,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis4, 1110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis4, 1110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1114 * return bn.slow.nanstd(arr, axis=4, ddof=ddof) @@ -22259,7 +22259,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis5, 1114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis5, 1114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1118 * return bn.slow.nanstd(arr, axis=5, ddof=ddof) @@ -22271,7 +22271,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis6, 1118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis6, 1118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1122 * return bn.slow.nanstd(arr, axis=6, ddof=ddof) @@ -22283,7 +22283,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis7, 1122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis7, 1122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1126 * return bn.slow.nanstd(arr, axis=7, ddof=ddof) @@ -22295,7 +22295,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis8, 1126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis8, 1126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1130 * return bn.slow.nanstd(arr, axis=8, ddof=ddof) @@ -22307,7 +22307,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis9, 1130, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis9, 1130, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1134 * return bn.slow.nanstd(arr, axis=9, ddof=ddof) @@ -22319,7 +22319,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis10, 1134, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis10, 1134, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1138 * return bn.slow.nanstd(arr, axis=10, ddof=ddof) @@ -22331,7 +22331,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis11, 1138, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis11, 1138, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1142 * return bn.slow.nanstd(arr, axis=11, ddof=ddof) @@ -22343,7 +22343,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis12, 1142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis12, 1142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1146 * return bn.slow.nanstd(arr, axis=12, ddof=ddof) @@ -22355,7 +22355,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis13, 1146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis13, 1146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1150 * return bn.slow.nanstd(arr, axis=13, ddof=ddof) @@ -22367,7 +22367,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis14, 1150, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis14, 1150, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1154 * return bn.slow.nanstd(arr, axis=14, ddof=ddof) @@ -22379,7 +22379,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis15, 1154, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis15, 1154, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1158 * return bn.slow.nanstd(arr, axis=15, ddof=ddof) @@ -22391,7 +22391,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis16, 1158, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis16, 1158, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1162 * return bn.slow.nanstd(arr, axis=16, ddof=ddof) @@ -22403,7 +22403,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis17, 1162, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis17, 1162, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1166 * return bn.slow.nanstd(arr, axis=17, ddof=ddof) @@ -22415,7 +22415,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis18, 1166, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis18, 1166, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1170 * return bn.slow.nanstd(arr, axis=18, ddof=ddof) @@ -22427,7 +22427,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis19, 1170, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis19, 1170, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1174 * return bn.slow.nanstd(arr, axis=19, ddof=ddof) @@ -22439,7 +22439,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis20, 1174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis20, 1174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1178 * return bn.slow.nanstd(arr, axis=20, ddof=ddof) @@ -22451,7 +22451,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis21, 1178, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis21, 1178, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1182 * return bn.slow.nanstd(arr, axis=21, ddof=ddof) @@ -22463,7 +22463,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis22, 1182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis22, 1182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1186 * return bn.slow.nanstd(arr, axis=22, ddof=ddof) @@ -22475,7 +22475,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis23, 1186, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis23, 1186, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1190 * return bn.slow.nanstd(arr, axis=23, ddof=ddof) @@ -22487,7 +22487,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis24, 1190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis24, 1190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1194 * return bn.slow.nanstd(arr, axis=24, ddof=ddof) @@ -22499,7 +22499,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis25, 1194, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis25, 1194, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1198 * return bn.slow.nanstd(arr, axis=25, ddof=ddof) @@ -22511,7 +22511,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis26, 1198, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis26, 1198, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1202 * return bn.slow.nanstd(arr, axis=26, ddof=ddof) @@ -22523,7 +22523,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis27, 1202, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis27, 1202, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1206 * return bn.slow.nanstd(arr, axis=27, ddof=ddof) @@ -22535,7 +22535,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis28, 1206, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis28, 1206, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1210 * return bn.slow.nanstd(arr, axis=28, ddof=ddof) @@ -22547,7 +22547,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis29, 1210, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis29, 1210, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1214 * return bn.slow.nanstd(arr, axis=29, ddof=ddof) @@ -22559,7 +22559,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis30, 1214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis30, 1214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1218 * return bn.slow.nanstd(arr, axis=30, ddof=ddof) @@ -22571,7 +22571,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis31, 1218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis31, 1218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1222 * return bn.slow.nanstd(arr, axis=31, ddof=ddof) @@ -22583,7 +22583,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axis32, 1222, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axis32, 1222, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanstd.pyx":1226 * return bn.slow.nanstd(arr, axis=32, ddof=ddof) @@ -22595,7 +22595,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanstd_slow_axisNone, 1226, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanstd_slow_axisNone, 1226, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -23561,345 +23561,345 @@ PyMODINIT_FUNC PyInit_nanstd(void) /* "nanstd.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_5nanstd_2d_int_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "nanstd.pyx":243 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanstd_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_7nanstd_2d_int_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "nanstd.pyx":272 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanstd_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_9nanstd_2d_int8_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_5nanstd_2d_float_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":301 + /* "nanstd.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_11nanstd_2d_int8_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_7nanstd_2d_float_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":330 + /* "nanstd.pyx":284 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_13nanstd_2d_int32_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_9nanstd_2d_float32_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":359 + /* "nanstd.pyx":319 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_15nanstd_2d_int32_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_11nanstd_2d_float32_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":388 + /* "nanstd.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_17nanstd_2d_int64_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_13nanstd_2d_float64_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":417 + /* "nanstd.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanstd_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_19nanstd_2d_int64_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_15nanstd_2d_float64_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":446 + /* "nanstd.pyx":424 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanstd_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_21nanstd_1d_float_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_17nanstd_1d_float_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":473 + /* "nanstd.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanstd_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_23nanstd_1d_float32_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_19nanstd_1d_float32_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":500 + /* "nanstd.pyx":478 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanstd_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_25nanstd_1d_float64_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_21nanstd_1d_float64_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":527 + /* "nanstd.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanstd_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_27nanstd_2d_float_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_23nanstd_2d_float_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":557 + /* "nanstd.pyx":535 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanstd_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_29nanstd_2d_float32_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_25nanstd_2d_float32_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":587 + /* "nanstd.pyx":565 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanstd_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_31nanstd_2d_float64_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_27nanstd_2d_float64_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":617 + /* "nanstd.pyx":595 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_33nanstd_2d_float_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_29nanstd_1d_int_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":652 + /* "nanstd.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_35nanstd_2d_float_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_31nanstd_1d_int8_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":687 + /* "nanstd.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_37nanstd_2d_float32_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_33nanstd_1d_int32_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":722 + /* "nanstd.pyx":682 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_39nanstd_2d_float32_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_35nanstd_1d_int64_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":757 + /* "nanstd.pyx":711 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_41nanstd_2d_float64_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_37nanstd_2d_int_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanstd.pyx":792 + /* "nanstd.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanstd_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_39nanstd_2d_int8_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "nanstd.pyx":769 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanstd_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_41nanstd_2d_int32_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "nanstd.pyx":798 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanstd_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_43nanstd_2d_float64_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_43nanstd_2d_int64_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":827 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanstd_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_45nanstd_1d_int_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_45nanstd_2d_int_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":856 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanstd_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_47nanstd_1d_int8_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_47nanstd_2d_int_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":885 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanstd_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_49nanstd_1d_int32_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_49nanstd_2d_int8_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":914 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanstd_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_51nanstd_1d_int64_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_51nanstd_2d_int8_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":943 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanstd_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_53nanstd_2d_int_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_53nanstd_2d_int32_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":972 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanstd_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_55nanstd_2d_int8_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_55nanstd_2d_int32_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1001 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanstd_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_57nanstd_2d_int32_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_57nanstd_2d_int64_axis0, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1030 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanstd_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanstd_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_59nanstd_2d_int64_axisNone, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanstd_59nanstd_2d_int64_axis1, NULL, __pyx_n_s_nanstd); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanstd_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1057 - * return np.float64(NAN) + * return y * * cdef dict nanstd_dict = {} # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int, 0)] = nanstd_2d_int_axis0 - * nanstd_dict[(2, NPY_int, 1)] = nanstd_2d_int_axis1 + * nanstd_dict[(2, NPY_float, 0)] = nanstd_2d_float_axis0 + * nanstd_dict[(2, NPY_float, 1)] = nanstd_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -23911,17 +23911,17 @@ PyMODINIT_FUNC PyInit_nanstd(void) /* "nanstd.pyx":1058 * * cdef dict nanstd_dict = {} - * nanstd_dict[(2, NPY_int, 0)] = nanstd_2d_int_axis0 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int, 1)] = nanstd_2d_int_axis1 - * nanstd_dict[(2, NPY_int8, 0)] = nanstd_2d_int8_axis0 + * nanstd_dict[(2, NPY_float, 0)] = nanstd_2d_float_axis0 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float, 1)] = nanstd_2d_float_axis1 + * nanstd_dict[(2, NPY_float32, 0)] = nanstd_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -23940,18 +23940,18 @@ PyMODINIT_FUNC PyInit_nanstd(void) /* "nanstd.pyx":1059 * cdef dict nanstd_dict = {} - * nanstd_dict[(2, NPY_int, 0)] = nanstd_2d_int_axis0 - * nanstd_dict[(2, NPY_int, 1)] = nanstd_2d_int_axis1 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int8, 0)] = nanstd_2d_int8_axis0 - * nanstd_dict[(2, NPY_int8, 1)] = nanstd_2d_int8_axis1 + * nanstd_dict[(2, NPY_float, 0)] = nanstd_2d_float_axis0 + * nanstd_dict[(2, NPY_float, 1)] = nanstd_2d_float_axis1 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float32, 0)] = nanstd_2d_float32_axis0 + * nanstd_dict[(2, NPY_float32, 1)] = nanstd_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -23969,19 +23969,19 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1060 - * nanstd_dict[(2, NPY_int, 0)] = nanstd_2d_int_axis0 - * nanstd_dict[(2, NPY_int, 1)] = nanstd_2d_int_axis1 - * nanstd_dict[(2, NPY_int8, 0)] = nanstd_2d_int8_axis0 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int8, 1)] = nanstd_2d_int8_axis1 - * nanstd_dict[(2, NPY_int32, 0)] = nanstd_2d_int32_axis0 + * nanstd_dict[(2, NPY_float, 0)] = nanstd_2d_float_axis0 + * nanstd_dict[(2, NPY_float, 1)] = nanstd_2d_float_axis1 + * nanstd_dict[(2, NPY_float32, 0)] = nanstd_2d_float32_axis0 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float32, 1)] = nanstd_2d_float32_axis1 + * nanstd_dict[(2, NPY_float64, 0)] = nanstd_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -23999,19 +23999,19 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1061 - * nanstd_dict[(2, NPY_int, 1)] = nanstd_2d_int_axis1 - * nanstd_dict[(2, NPY_int8, 0)] = nanstd_2d_int8_axis0 - * nanstd_dict[(2, NPY_int8, 1)] = nanstd_2d_int8_axis1 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int32, 0)] = nanstd_2d_int32_axis0 - * nanstd_dict[(2, NPY_int32, 1)] = nanstd_2d_int32_axis1 + * nanstd_dict[(2, NPY_float, 1)] = nanstd_2d_float_axis1 + * nanstd_dict[(2, NPY_float32, 0)] = nanstd_2d_float32_axis0 + * nanstd_dict[(2, NPY_float32, 1)] = nanstd_2d_float32_axis1 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float64, 0)] = nanstd_2d_float64_axis0 + * nanstd_dict[(2, NPY_float64, 1)] = nanstd_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24029,19 +24029,19 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1062 - * nanstd_dict[(2, NPY_int8, 0)] = nanstd_2d_int8_axis0 - * nanstd_dict[(2, NPY_int8, 1)] = nanstd_2d_int8_axis1 - * nanstd_dict[(2, NPY_int32, 0)] = nanstd_2d_int32_axis0 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int32, 1)] = nanstd_2d_int32_axis1 - * nanstd_dict[(2, NPY_int64, 0)] = nanstd_2d_int64_axis0 + * nanstd_dict[(2, NPY_float32, 0)] = nanstd_2d_float32_axis0 + * nanstd_dict[(2, NPY_float32, 1)] = nanstd_2d_float32_axis1 + * nanstd_dict[(2, NPY_float64, 0)] = nanstd_2d_float64_axis0 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float64, 1)] = nanstd_2d_float64_axis1 + * nanstd_dict[(1, NPY_float, 0)] = nanstd_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -24059,19 +24059,19 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1063 - * nanstd_dict[(2, NPY_int8, 1)] = nanstd_2d_int8_axis1 - * nanstd_dict[(2, NPY_int32, 0)] = nanstd_2d_int32_axis0 - * nanstd_dict[(2, NPY_int32, 1)] = nanstd_2d_int32_axis1 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int64, 0)] = nanstd_2d_int64_axis0 - * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 + * nanstd_dict[(2, NPY_float32, 1)] = nanstd_2d_float32_axis1 + * nanstd_dict[(2, NPY_float64, 0)] = nanstd_2d_float64_axis0 + * nanstd_dict[(2, NPY_float64, 1)] = nanstd_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float, 0)] = nanstd_1d_float_axisNone + * nanstd_dict[(1, NPY_float, None)] = nanstd_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24089,25 +24089,25 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1064 - * nanstd_dict[(2, NPY_int32, 0)] = nanstd_2d_int32_axis0 - * nanstd_dict[(2, NPY_int32, 1)] = nanstd_2d_int32_axis1 - * nanstd_dict[(2, NPY_int64, 0)] = nanstd_2d_int64_axis0 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 - * nanstd_dict[(1, NPY_float, 0)] = nanstd_1d_float_axisNone + * nanstd_dict[(2, NPY_float64, 0)] = nanstd_2d_float64_axis0 + * nanstd_dict[(2, NPY_float64, 1)] = nanstd_2d_float64_axis1 + * nanstd_dict[(1, NPY_float, 0)] = nanstd_1d_float_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float, None)] = nanstd_1d_float_axisNone + * nanstd_dict[(1, NPY_float32, 0)] = nanstd_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -24119,49 +24119,49 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1065 - * nanstd_dict[(2, NPY_int32, 1)] = nanstd_2d_int32_axis1 - * nanstd_dict[(2, NPY_int64, 0)] = nanstd_2d_int64_axis0 - * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float64, 1)] = nanstd_2d_float64_axis1 * nanstd_dict[(1, NPY_float, 0)] = nanstd_1d_float_axisNone - * nanstd_dict[(1, NPY_float, None)] = nanstd_1d_float_axisNone + * nanstd_dict[(1, NPY_float, None)] = nanstd_1d_float_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float32, 0)] = nanstd_1d_float32_axisNone + * nanstd_dict[(1, NPY_float32, None)] = nanstd_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1066 - * nanstd_dict[(2, NPY_int64, 0)] = nanstd_2d_int64_axis0 - * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 - * nanstd_dict[(1, NPY_float, 0)] = nanstd_1d_float_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float, 0)] = nanstd_1d_float_axisNone * nanstd_dict[(1, NPY_float, None)] = nanstd_1d_float_axisNone - * nanstd_dict[(1, NPY_float32, 0)] = nanstd_1d_float32_axisNone + * nanstd_dict[(1, NPY_float32, 0)] = nanstd_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float32, None)] = nanstd_1d_float32_axisNone + * nanstd_dict[(1, NPY_float64, 0)] = nanstd_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -24179,19 +24179,19 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1067 - * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 - * nanstd_dict[(1, NPY_float, 0)] = nanstd_1d_float_axisNone - * nanstd_dict[(1, NPY_float, None)] = nanstd_1d_float_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float, None)] = nanstd_1d_float_axisNone * nanstd_dict[(1, NPY_float32, 0)] = nanstd_1d_float32_axisNone - * nanstd_dict[(1, NPY_float32, None)] = nanstd_1d_float32_axisNone + * nanstd_dict[(1, NPY_float32, None)] = nanstd_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float64, 0)] = nanstd_1d_float64_axisNone + * nanstd_dict[(1, NPY_float64, None)] = nanstd_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24209,19 +24209,19 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1068 - * nanstd_dict[(1, NPY_float, 0)] = nanstd_1d_float_axisNone - * nanstd_dict[(1, NPY_float, None)] = nanstd_1d_float_axisNone - * nanstd_dict[(1, NPY_float32, 0)] = nanstd_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float32, 0)] = nanstd_1d_float32_axisNone * nanstd_dict[(1, NPY_float32, None)] = nanstd_1d_float32_axisNone - * nanstd_dict[(1, NPY_float64, 0)] = nanstd_1d_float64_axisNone + * nanstd_dict[(1, NPY_float64, 0)] = nanstd_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float64, None)] = nanstd_1d_float64_axisNone + * nanstd_dict[(2, NPY_float, None)] = nanstd_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -24239,19 +24239,19 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1069 - * nanstd_dict[(1, NPY_float, None)] = nanstd_1d_float_axisNone - * nanstd_dict[(1, NPY_float32, 0)] = nanstd_1d_float32_axisNone - * nanstd_dict[(1, NPY_float32, None)] = nanstd_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float32, None)] = nanstd_1d_float32_axisNone * nanstd_dict[(1, NPY_float64, 0)] = nanstd_1d_float64_axisNone - * nanstd_dict[(1, NPY_float64, None)] = nanstd_1d_float64_axisNone + * nanstd_dict[(1, NPY_float64, None)] = nanstd_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float, None)] = nanstd_2d_float_axisNone + * nanstd_dict[(2, NPY_float32, None)] = nanstd_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24269,55 +24269,55 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1070 - * nanstd_dict[(1, NPY_float32, 0)] = nanstd_1d_float32_axisNone - * nanstd_dict[(1, NPY_float32, None)] = nanstd_1d_float32_axisNone - * nanstd_dict[(1, NPY_float64, 0)] = nanstd_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float64, 0)] = nanstd_1d_float64_axisNone * nanstd_dict[(1, NPY_float64, None)] = nanstd_1d_float64_axisNone - * nanstd_dict[(2, NPY_float, None)] = nanstd_2d_float_axisNone + * nanstd_dict[(2, NPY_float, None)] = nanstd_2d_float_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float32, None)] = nanstd_2d_float32_axisNone + * nanstd_dict[(2, NPY_float64, None)] = nanstd_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1071 - * nanstd_dict[(1, NPY_float32, None)] = nanstd_1d_float32_axisNone - * nanstd_dict[(1, NPY_float64, 0)] = nanstd_1d_float64_axisNone - * nanstd_dict[(1, NPY_float64, None)] = nanstd_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_float64, None)] = nanstd_1d_float64_axisNone * nanstd_dict[(2, NPY_float, None)] = nanstd_2d_float_axisNone - * nanstd_dict[(2, NPY_float32, None)] = nanstd_2d_float32_axisNone + * nanstd_dict[(2, NPY_float32, None)] = nanstd_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float64, None)] = nanstd_2d_float64_axisNone + * nanstd_dict[(1, NPY_int, 0)] = nanstd_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -24329,19 +24329,19 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1072 - * nanstd_dict[(1, NPY_float64, 0)] = nanstd_1d_float64_axisNone - * nanstd_dict[(1, NPY_float64, None)] = nanstd_1d_float64_axisNone - * nanstd_dict[(2, NPY_float, None)] = nanstd_2d_float_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float, None)] = nanstd_2d_float_axisNone * nanstd_dict[(2, NPY_float32, None)] = nanstd_2d_float32_axisNone - * nanstd_dict[(2, NPY_float64, None)] = nanstd_2d_float64_axisNone + * nanstd_dict[(2, NPY_float64, None)] = nanstd_2d_float64_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_int, 0)] = nanstd_1d_int_axisNone + * nanstd_dict[(1, NPY_int, None)] = nanstd_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -24359,55 +24359,55 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1073 - * nanstd_dict[(1, NPY_float64, None)] = nanstd_1d_float64_axisNone - * nanstd_dict[(2, NPY_float, None)] = nanstd_2d_float_axisNone - * nanstd_dict[(2, NPY_float32, None)] = nanstd_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_float32, None)] = nanstd_2d_float32_axisNone * nanstd_dict[(2, NPY_float64, None)] = nanstd_2d_float64_axisNone - * nanstd_dict[(2, NPY_float, 0)] = nanstd_2d_float_axis0 + * nanstd_dict[(1, NPY_int, 0)] = nanstd_1d_int_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_int, None)] = nanstd_1d_int_axisNone + * nanstd_dict[(1, NPY_int8, 0)] = nanstd_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1074 - * nanstd_dict[(2, NPY_float, None)] = nanstd_2d_float_axisNone - * nanstd_dict[(2, NPY_float32, None)] = nanstd_2d_float32_axisNone - * nanstd_dict[(2, NPY_float64, None)] = nanstd_2d_float64_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_float, 0)] = nanstd_2d_float_axis0 - * nanstd_dict[(2, NPY_float, 1)] = nanstd_2d_float_axis1 + * nanstd_dict[(2, NPY_float64, None)] = nanstd_2d_float64_axisNone + * nanstd_dict[(1, NPY_int, 0)] = nanstd_1d_int_axisNone + * nanstd_dict[(1, NPY_int, None)] = nanstd_1d_int_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_int8, 0)] = nanstd_1d_int8_axisNone + * nanstd_dict[(1, NPY_int8, None)] = nanstd_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -24419,25 +24419,25 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1075 - * nanstd_dict[(2, NPY_float32, None)] = nanstd_2d_float32_axisNone - * nanstd_dict[(2, NPY_float64, None)] = nanstd_2d_float64_axisNone - * nanstd_dict[(2, NPY_float, 0)] = nanstd_2d_float_axis0 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_float, 1)] = nanstd_2d_float_axis1 - * nanstd_dict[(2, NPY_float32, 0)] = nanstd_2d_float32_axis0 + * nanstd_dict[(1, NPY_int, 0)] = nanstd_1d_int_axisNone + * nanstd_dict[(1, NPY_int, None)] = nanstd_1d_int_axisNone + * nanstd_dict[(1, NPY_int8, 0)] = nanstd_1d_int8_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_int8, None)] = nanstd_1d_int8_axisNone + * nanstd_dict[(1, NPY_int32, 0)] = nanstd_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -24449,55 +24449,55 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1076 - * nanstd_dict[(2, NPY_float64, None)] = nanstd_2d_float64_axisNone - * nanstd_dict[(2, NPY_float, 0)] = nanstd_2d_float_axis0 - * nanstd_dict[(2, NPY_float, 1)] = nanstd_2d_float_axis1 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_float32, 0)] = nanstd_2d_float32_axis0 - * nanstd_dict[(2, NPY_float32, 1)] = nanstd_2d_float32_axis1 + * nanstd_dict[(1, NPY_int, None)] = nanstd_1d_int_axisNone + * nanstd_dict[(1, NPY_int8, 0)] = nanstd_1d_int8_axisNone + * nanstd_dict[(1, NPY_int8, None)] = nanstd_1d_int8_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_int32, 0)] = nanstd_1d_int32_axisNone + * nanstd_dict[(1, NPY_int32, None)] = nanstd_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1077 - * nanstd_dict[(2, NPY_float, 0)] = nanstd_2d_float_axis0 - * nanstd_dict[(2, NPY_float, 1)] = nanstd_2d_float_axis1 - * nanstd_dict[(2, NPY_float32, 0)] = nanstd_2d_float32_axis0 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_float32, 1)] = nanstd_2d_float32_axis1 - * nanstd_dict[(2, NPY_float64, 0)] = nanstd_2d_float64_axis0 + * nanstd_dict[(1, NPY_int8, 0)] = nanstd_1d_int8_axisNone + * nanstd_dict[(1, NPY_int8, None)] = nanstd_1d_int8_axisNone + * nanstd_dict[(1, NPY_int32, 0)] = nanstd_1d_int32_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_int32, None)] = nanstd_1d_int32_axisNone + * nanstd_dict[(1, NPY_int64, 0)] = nanstd_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -24509,55 +24509,55 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1078 - * nanstd_dict[(2, NPY_float, 1)] = nanstd_2d_float_axis1 - * nanstd_dict[(2, NPY_float32, 0)] = nanstd_2d_float32_axis0 - * nanstd_dict[(2, NPY_float32, 1)] = nanstd_2d_float32_axis1 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_float64, 0)] = nanstd_2d_float64_axis0 - * nanstd_dict[(2, NPY_float64, 1)] = nanstd_2d_float64_axis1 + * nanstd_dict[(1, NPY_int8, None)] = nanstd_1d_int8_axisNone + * nanstd_dict[(1, NPY_int32, 0)] = nanstd_1d_int32_axisNone + * nanstd_dict[(1, NPY_int32, None)] = nanstd_1d_int32_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_int64, 0)] = nanstd_1d_int64_axisNone + * nanstd_dict[(1, NPY_int64, None)] = nanstd_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1079 - * nanstd_dict[(2, NPY_float32, 0)] = nanstd_2d_float32_axis0 - * nanstd_dict[(2, NPY_float32, 1)] = nanstd_2d_float32_axis1 - * nanstd_dict[(2, NPY_float64, 0)] = nanstd_2d_float64_axis0 # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_float64, 1)] = nanstd_2d_float64_axis1 - * nanstd_dict[(1, NPY_int, 0)] = nanstd_1d_int_axisNone + * nanstd_dict[(1, NPY_int32, 0)] = nanstd_1d_int32_axisNone + * nanstd_dict[(1, NPY_int32, None)] = nanstd_1d_int32_axisNone + * nanstd_dict[(1, NPY_int64, 0)] = nanstd_1d_int64_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(1, NPY_int64, None)] = nanstd_1d_int64_axisNone + * nanstd_dict[(2, NPY_int, None)] = nanstd_2d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -24569,43 +24569,43 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1080 - * nanstd_dict[(2, NPY_float32, 1)] = nanstd_2d_float32_axis1 - * nanstd_dict[(2, NPY_float64, 0)] = nanstd_2d_float64_axis0 - * nanstd_dict[(2, NPY_float64, 1)] = nanstd_2d_float64_axis1 # <<<<<<<<<<<<<< - * nanstd_dict[(1, NPY_int, 0)] = nanstd_1d_int_axisNone - * nanstd_dict[(1, NPY_int, None)] = nanstd_1d_int_axisNone + * nanstd_dict[(1, NPY_int32, None)] = nanstd_1d_int32_axisNone + * nanstd_dict[(1, NPY_int64, 0)] = nanstd_1d_int64_axisNone + * nanstd_dict[(1, NPY_int64, None)] = nanstd_1d_int64_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int, None)] = nanstd_2d_int_axisNone + * nanstd_dict[(2, NPY_int8, None)] = nanstd_2d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1081 - * nanstd_dict[(2, NPY_float64, 0)] = nanstd_2d_float64_axis0 - * nanstd_dict[(2, NPY_float64, 1)] = nanstd_2d_float64_axis1 - * nanstd_dict[(1, NPY_int, 0)] = nanstd_1d_int_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(1, NPY_int, None)] = nanstd_1d_int_axisNone - * nanstd_dict[(1, NPY_int8, 0)] = nanstd_1d_int8_axisNone + * nanstd_dict[(1, NPY_int64, 0)] = nanstd_1d_int64_axisNone + * nanstd_dict[(1, NPY_int64, None)] = nanstd_1d_int64_axisNone + * nanstd_dict[(2, NPY_int, None)] = nanstd_2d_int_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int8, None)] = nanstd_2d_int8_axisNone + * nanstd_dict[(2, NPY_int32, None)] = nanstd_2d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -24615,39 +24615,39 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1082 - * nanstd_dict[(2, NPY_float64, 1)] = nanstd_2d_float64_axis1 - * nanstd_dict[(1, NPY_int, 0)] = nanstd_1d_int_axisNone - * nanstd_dict[(1, NPY_int, None)] = nanstd_1d_int_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(1, NPY_int8, 0)] = nanstd_1d_int8_axisNone - * nanstd_dict[(1, NPY_int8, None)] = nanstd_1d_int8_axisNone + * nanstd_dict[(1, NPY_int64, None)] = nanstd_1d_int64_axisNone + * nanstd_dict[(2, NPY_int, None)] = nanstd_2d_int_axisNone + * nanstd_dict[(2, NPY_int8, None)] = nanstd_2d_int8_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int32, None)] = nanstd_2d_int32_axisNone + * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -24659,55 +24659,55 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1083 - * nanstd_dict[(1, NPY_int, 0)] = nanstd_1d_int_axisNone - * nanstd_dict[(1, NPY_int, None)] = nanstd_1d_int_axisNone - * nanstd_dict[(1, NPY_int8, 0)] = nanstd_1d_int8_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(1, NPY_int8, None)] = nanstd_1d_int8_axisNone - * nanstd_dict[(1, NPY_int32, 0)] = nanstd_1d_int32_axisNone + * nanstd_dict[(2, NPY_int, None)] = nanstd_2d_int_axisNone + * nanstd_dict[(2, NPY_int8, None)] = nanstd_2d_int8_axisNone + * nanstd_dict[(2, NPY_int32, None)] = nanstd_2d_int32_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone + * nanstd_dict[(2, NPY_int, 0)] = nanstd_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1084 - * nanstd_dict[(1, NPY_int, None)] = nanstd_1d_int_axisNone - * nanstd_dict[(1, NPY_int8, 0)] = nanstd_1d_int8_axisNone - * nanstd_dict[(1, NPY_int8, None)] = nanstd_1d_int8_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(1, NPY_int32, 0)] = nanstd_1d_int32_axisNone - * nanstd_dict[(1, NPY_int32, None)] = nanstd_1d_int32_axisNone + * nanstd_dict[(2, NPY_int8, None)] = nanstd_2d_int8_axisNone + * nanstd_dict[(2, NPY_int32, None)] = nanstd_2d_int32_axisNone + * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int, 0)] = nanstd_2d_int_axis0 + * nanstd_dict[(2, NPY_int, 1)] = nanstd_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -24719,25 +24719,25 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1085 - * nanstd_dict[(1, NPY_int8, 0)] = nanstd_1d_int8_axisNone - * nanstd_dict[(1, NPY_int8, None)] = nanstd_1d_int8_axisNone - * nanstd_dict[(1, NPY_int32, 0)] = nanstd_1d_int32_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(1, NPY_int32, None)] = nanstd_1d_int32_axisNone - * nanstd_dict[(1, NPY_int64, 0)] = nanstd_1d_int64_axisNone + * nanstd_dict[(2, NPY_int32, None)] = nanstd_2d_int32_axisNone + * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone + * nanstd_dict[(2, NPY_int, 0)] = nanstd_2d_int_axis0 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int, 1)] = nanstd_2d_int_axis1 + * nanstd_dict[(2, NPY_int8, 0)] = nanstd_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -24749,55 +24749,55 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1086 - * nanstd_dict[(1, NPY_int8, None)] = nanstd_1d_int8_axisNone - * nanstd_dict[(1, NPY_int32, 0)] = nanstd_1d_int32_axisNone - * nanstd_dict[(1, NPY_int32, None)] = nanstd_1d_int32_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(1, NPY_int64, 0)] = nanstd_1d_int64_axisNone - * nanstd_dict[(1, NPY_int64, None)] = nanstd_1d_int64_axisNone + * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone + * nanstd_dict[(2, NPY_int, 0)] = nanstd_2d_int_axis0 + * nanstd_dict[(2, NPY_int, 1)] = nanstd_2d_int_axis1 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int8, 0)] = nanstd_2d_int8_axis0 + * nanstd_dict[(2, NPY_int8, 1)] = nanstd_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1087 - * nanstd_dict[(1, NPY_int32, 0)] = nanstd_1d_int32_axisNone - * nanstd_dict[(1, NPY_int32, None)] = nanstd_1d_int32_axisNone - * nanstd_dict[(1, NPY_int64, 0)] = nanstd_1d_int64_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(1, NPY_int64, None)] = nanstd_1d_int64_axisNone - * nanstd_dict[(2, NPY_int, None)] = nanstd_2d_int_axisNone + * nanstd_dict[(2, NPY_int, 0)] = nanstd_2d_int_axis0 + * nanstd_dict[(2, NPY_int, 1)] = nanstd_2d_int_axis1 + * nanstd_dict[(2, NPY_int8, 0)] = nanstd_2d_int8_axis0 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int8, 1)] = nanstd_2d_int8_axis1 + * nanstd_dict[(2, NPY_int32, 0)] = nanstd_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -24809,49 +24809,49 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1088 - * nanstd_dict[(1, NPY_int32, None)] = nanstd_1d_int32_axisNone - * nanstd_dict[(1, NPY_int64, 0)] = nanstd_1d_int64_axisNone - * nanstd_dict[(1, NPY_int64, None)] = nanstd_1d_int64_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int, None)] = nanstd_2d_int_axisNone - * nanstd_dict[(2, NPY_int8, None)] = nanstd_2d_int8_axisNone + * nanstd_dict[(2, NPY_int, 1)] = nanstd_2d_int_axis1 + * nanstd_dict[(2, NPY_int8, 0)] = nanstd_2d_int8_axis0 + * nanstd_dict[(2, NPY_int8, 1)] = nanstd_2d_int8_axis1 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int32, 0)] = nanstd_2d_int32_axis0 + * nanstd_dict[(2, NPY_int32, 1)] = nanstd_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1089 - * nanstd_dict[(1, NPY_int64, 0)] = nanstd_1d_int64_axisNone - * nanstd_dict[(1, NPY_int64, None)] = nanstd_1d_int64_axisNone - * nanstd_dict[(2, NPY_int, None)] = nanstd_2d_int_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int8, None)] = nanstd_2d_int8_axisNone - * nanstd_dict[(2, NPY_int32, None)] = nanstd_2d_int32_axisNone + * nanstd_dict[(2, NPY_int8, 0)] = nanstd_2d_int8_axis0 + * nanstd_dict[(2, NPY_int8, 1)] = nanstd_2d_int8_axis1 + * nanstd_dict[(2, NPY_int32, 0)] = nanstd_2d_int32_axis0 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int32, 1)] = nanstd_2d_int32_axis1 + * nanstd_dict[(2, NPY_int64, 0)] = nanstd_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24860,28 +24860,28 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1090 - * nanstd_dict[(1, NPY_int64, None)] = nanstd_1d_int64_axisNone - * nanstd_dict[(2, NPY_int, None)] = nanstd_2d_int_axisNone - * nanstd_dict[(2, NPY_int8, None)] = nanstd_2d_int8_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int32, None)] = nanstd_2d_int32_axisNone - * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone + * nanstd_dict[(2, NPY_int8, 1)] = nanstd_2d_int8_axis1 + * nanstd_dict[(2, NPY_int32, 0)] = nanstd_2d_int32_axis0 + * nanstd_dict[(2, NPY_int32, 1)] = nanstd_2d_int32_axis1 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int64, 0)] = nanstd_2d_int64_axis0 + * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -24890,28 +24890,28 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1091 - * nanstd_dict[(2, NPY_int, None)] = nanstd_2d_int_axisNone - * nanstd_dict[(2, NPY_int8, None)] = nanstd_2d_int8_axisNone - * nanstd_dict[(2, NPY_int32, None)] = nanstd_2d_int32_axisNone # <<<<<<<<<<<<<< - * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone + * nanstd_dict[(2, NPY_int32, 0)] = nanstd_2d_int32_axis0 + * nanstd_dict[(2, NPY_int32, 1)] = nanstd_2d_int32_axis1 + * nanstd_dict[(2, NPY_int64, 0)] = nanstd_2d_int64_axis0 # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24920,22 +24920,22 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1092 - * nanstd_dict[(2, NPY_int8, None)] = nanstd_2d_int8_axisNone - * nanstd_dict[(2, NPY_int32, None)] = nanstd_2d_int32_axisNone - * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone # <<<<<<<<<<<<<< + * nanstd_dict[(2, NPY_int32, 1)] = nanstd_2d_int32_axis1 + * nanstd_dict[(2, NPY_int64, 0)] = nanstd_2d_int64_axis0 + * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nanstd_slow_axis0(arr, ddof): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanstd_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanstd_nanstd_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -24950,16 +24950,16 @@ PyMODINIT_FUNC PyInit_nanstd(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanstd_nanstd_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanstd.pyx":1094 - * nanstd_dict[(2, NPY_int64, None)] = nanstd_2d_int64_axisNone + * nanstd_dict[(2, NPY_int64, 1)] = nanstd_2d_int64_axis1 * * def nanstd_slow_axis0(arr, ddof): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanstd along axis 0." @@ -25933,7 +25933,7 @@ PyMODINIT_FUNC PyInit_nanstd(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/nansum.c b/bottlechest/src/func/64bit/nansum.c index 326e0fffa0..6f3c9e3948 100644 --- a/bottlechest/src/func/64bit/nansum.c +++ b/bottlechest/src/func/64bit/nansum.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1104,13 +1104,13 @@ static __pyx_t_5numpy_float32_t __pyx_v_6nansum_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_6nansum_MAXfloat64; static PyObject *__pyx_v_6nansum_nansum_dict = 0; static PyObject *__pyx_v_6nansum_nansum_slow_dict = 0; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "nansum" int __pyx_module_is_main_nansum = 0; @@ -1122,34 +1122,34 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_6nansum_nansum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_6nansum_2nansum_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_6nansum_4nansum_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_6nansum_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_8nansum_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_10nansum_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_12nansum_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_14nansum_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_16nansum_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_18nansum_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_24nansum_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_30nansum_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_32nansum_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_34nansum_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_36nansum_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_38nansum_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_40nansum_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_42nansum_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_44nansum_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_46nansum_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_48nansum_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_50nansum_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_52nansum_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_54nansum_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_56nansum_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_6nansum_58nansum_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_4nansum_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_6nansum_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_8nansum_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_10nansum_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_12nansum_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_14nansum_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_16nansum_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_18nansum_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_20nansum_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_22nansum_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_24nansum_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_26nansum_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_28nansum_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_30nansum_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_32nansum_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_34nansum_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_36nansum_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_38nansum_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_40nansum_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_42nansum_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_44nansum_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_46nansum_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_48nansum_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_50nansum_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_52nansum_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_54nansum_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_56nansum_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_6nansum_58nansum_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_6nansum_60nansum_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6nansum_62nansum_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_6nansum_64nansum_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1328,15 +1328,14 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Return_nansum_function_and_arra[] = "\n Return nansum function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.nansum() is in checking that `axis` is within range, converting `arr`\n into an array (if it is not already an array), and selecting the function\n to use to calculate the sum.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the sum is to be computed.\n \n Returns\n -------\n func : function\n The nansum function that matches the number of dimensions and dtype\n of the input array and the axis along which you wish to find the sum.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, np.nan, 3.0])\n \n Obtain the function needed to determine the nansum of `arr` along axis=0:\n\n >>> func, a = bn.func.nansum_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the sum:\n\n >>> func(a)\n 4.0\n\n "; static char __pyx_k_Sum_of_array_elements_along_giv[] = "\n Sum of array elements along given axis ignoring NaNs.\n\n When the input has an integer type with less precision than the default\n platform integer, the default platform integer is used for the\n accumulator and return values.\n\n Parameters\n ----------\n arr : array_like\n Array containing numbers whose sum is desired. If `arr` is not an\n array, a conversion is attempted.\n axis : {int, None}, optional\n Axis along which the sum is computed. The default (axis=None) is to\n compute the sum of the flattened array.\n\n Returns\n -------\n y : ndarray\n An array with the same shape as `arr`, with the specified axis removed.\n If `arr` is a 0-d array, or if axis is None, a scalar is returned. \n \n Notes\n -----\n No error is raised on overflow.\n\n If positive or negative infinity are present the result is positive or\n negative infinity. But if both positive and negative infinity are present,\n the result is Not A Number (NaN).\n\n Examples\n --------\n >>> bn.nansum(1)\n 1\n >>> bn.nansum([1])\n 1\n >>> bn.nansum([1, np.nan])\n 1.0\n >>> a = np.array([[1, 1], [1, np.nan]])\n >>> bn.nansum(a)\n 3.0\n >>> bn.nansum(a, axis=0)\n array([ 2., 1.])\n\n When positive infinity and negative infinity are present:\n\n >>> bn.nansum([1, np.nan, np.inf])\n inf\n >>> bn.nansum([1, np.nan, np.NINF])\n -inf\n >>> bn.nansum([1, np.nan, np.inf, np.NINF])\n nan\n \n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/nansum.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\nansum.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1350,6 +1349,7 @@ static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_kp_u_Sum_of_array_elements_along_giv; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__7; static PyObject *__pyx_n_s_a; @@ -2530,24 +2530,24 @@ static PyObject *__pyx_pf_6nansum_2nansum_selector(CYTHON_UNUSED PyObject *__pyx /* "nansum.pyx":201 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_5nansum_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_4nansum_2d_int_axis0[] = "nansum_2d_int_axis0(ndarray a)\nSum of 2d array with dtype=int along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_5nansum_2d_int_axis0 = {"nansum_2d_int_axis0", (PyCFunction)__pyx_pw_6nansum_5nansum_2d_int_axis0, METH_O, __pyx_doc_6nansum_4nansum_2d_int_axis0}; -static PyObject *__pyx_pw_6nansum_5nansum_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_5nansum_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_4nansum_2d_float_axis0[] = "nansum_2d_float_axis0(ndarray a)\nSum of 2d array with dtype=float along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_5nansum_2d_float_axis0 = {"nansum_2d_float_axis0", (PyCFunction)__pyx_pw_6nansum_5nansum_2d_float_axis0, METH_O, __pyx_doc_6nansum_4nansum_2d_float_axis0}; +static PyObject *__pyx_pw_6nansum_5nansum_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nansum_2d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_4nansum_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_6nansum_4nansum_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2558,8 +2558,10 @@ static PyObject *__pyx_pw_6nansum_5nansum_2d_int_axis0(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6nansum_4nansum_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int_t __pyx_v_asum; +static PyObject *__pyx_pf_6nansum_4nansum_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2582,10 +2584,11 @@ static PyObject *__pyx_pf_6nansum_4nansum_2d_int_axis0(CYTHON_UNUSED PyObject *_ Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("nansum_2d_float_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2596,20 +2599,29 @@ static PyObject *__pyx_pf_6nansum_4nansum_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nansum.pyx":203 - * def nansum_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Sum of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.int_t asum = 0, ai # <<<<<<<<<<<<<< + * def nansum_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef int allnan = 1 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":204 + * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef int allnan = 1 + * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":206 + /* "nansum.pyx":207 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2618,7 +2630,7 @@ static PyObject *__pyx_pf_6nansum_4nansum_2d_int_axis0(CYTHON_UNUSED PyObject *_ */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":207 + /* "nansum.pyx":208 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2627,41 +2639,41 @@ static PyObject *__pyx_pf_6nansum_4nansum_2d_int_axis0(CYTHON_UNUSED PyObject *_ */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":208 + /* "nansum.pyx":209 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":209 + /* "nansum.pyx":210 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":210 + /* "nansum.pyx":211 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2669,63 +2681,128 @@ static PyObject *__pyx_pf_6nansum_4nansum_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":212 - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + /* "nansum.pyx":213 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) * for i1 in range(n1): # <<<<<<<<<<<<<< * asum = 0 - * for i0 in range(n0): + * allnan = 1 */ __pyx_t_4 = __pyx_v_n1; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i1 = __pyx_t_5; - /* "nansum.pyx":213 - * NPY_int, 0) + /* "nansum.pyx":214 + * NPY_float, 0) * for i1 in range(n1): * asum = 0 # <<<<<<<<<<<<<< + * allnan = 1 * for i0 in range(n0): - * asum += a[i0, i1] */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":214 + /* "nansum.pyx":215 * for i1 in range(n1): * asum = 0 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":216 + * asum = 0 + * allnan = 1 * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i1] = asum + * ai = a[i0, i1] + * if ai == ai: */ __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "nansum.pyx":215 - * asum = 0 + /* "nansum.pyx":217 + * allnan = 1 * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i1] = asum - * return y + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nansum.pyx":216 + /* "nansum.pyx":218 * for i0 in range(n0): - * asum += a[i0, i1] - * y[i1] = asum # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * allnan = 0 + */ + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":219 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nansum.pyx":220 + * if ai == ai: + * asum += ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = asum + */ + __pyx_v_allnan = 0; + goto __pyx_L7; + } + __pyx_L7:; + } + + /* "nansum.pyx":221 + * asum += ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = asum + * else: + */ + __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":222 + * allnan = 0 + * if allnan == 0: + * y[i1] = asum # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + goto __pyx_L8; + } + /*else*/ { + + /* "nansum.pyx":224 + * y[i1] = asum + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + } + __pyx_L8:; } - /* "nansum.pyx":217 - * asum += a[i0, i1] - * y[i1] = asum + /* "nansum.pyx":225 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2738,9 +2815,9 @@ static PyObject *__pyx_pf_6nansum_4nansum_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "nansum.pyx":201 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ /* function exit code */ @@ -2751,7 +2828,7 @@ static PyObject *__pyx_pf_6nansum_4nansum_2d_int_axis0(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2764,27 +2841,27 @@ static PyObject *__pyx_pf_6nansum_4nansum_2d_int_axis0(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "nansum.pyx":221 +/* "nansum.pyx":229 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_7nansum_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_6nansum_2d_int_axis1[] = "nansum_2d_int_axis1(ndarray a)\nSum of 2d array with dtype=int along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_7nansum_2d_int_axis1 = {"nansum_2d_int_axis1", (PyCFunction)__pyx_pw_6nansum_7nansum_2d_int_axis1, METH_O, __pyx_doc_6nansum_6nansum_2d_int_axis1}; -static PyObject *__pyx_pw_6nansum_7nansum_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_7nansum_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_6nansum_2d_float_axis1[] = "nansum_2d_float_axis1(ndarray a)\nSum of 2d array with dtype=float along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_7nansum_2d_float_axis1 = {"nansum_2d_float_axis1", (PyCFunction)__pyx_pw_6nansum_7nansum_2d_float_axis1, METH_O, __pyx_doc_6nansum_6nansum_2d_float_axis1}; +static PyObject *__pyx_pw_6nansum_7nansum_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_6nansum_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_float_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_6nansum_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2795,8 +2872,10 @@ static PyObject *__pyx_pw_6nansum_7nansum_2d_int_axis1(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6nansum_6nansum_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int_t __pyx_v_asum; +static PyObject *__pyx_pf_6nansum_6nansum_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2819,10 +2898,11 @@ static PyObject *__pyx_pf_6nansum_6nansum_2d_int_axis1(CYTHON_UNUSED PyObject *_ Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("nansum_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2833,20 +2913,29 @@ static PyObject *__pyx_pf_6nansum_6nansum_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":223 - * def nansum_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Sum of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.int_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nansum.pyx":231 + * def nansum_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef int allnan = 1 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":232 + * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef int allnan = 1 + * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":226 + /* "nansum.pyx":235 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2855,7 +2944,7 @@ static PyObject *__pyx_pf_6nansum_6nansum_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":227 + /* "nansum.pyx":236 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2864,41 +2953,41 @@ static PyObject *__pyx_pf_6nansum_6nansum_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":228 + /* "nansum.pyx":237 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":229 + /* "nansum.pyx":238 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":230 + /* "nansum.pyx":239 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2906,63 +2995,128 @@ static PyObject *__pyx_pf_6nansum_6nansum_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":232 - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + /* "nansum.pyx":241 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * asum = 0 - * for i1 in range(n1): + * allnan = 1 */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nansum.pyx":233 - * NPY_int, 0) + /* "nansum.pyx":242 + * NPY_float, 0) * for i0 in range(n0): * asum = 0 # <<<<<<<<<<<<<< + * allnan = 1 * for i1 in range(n1): - * asum += a[i0, i1] */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":234 + /* "nansum.pyx":243 * for i0 in range(n0): * asum = 0 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":244 + * asum = 0 + * allnan = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i0] = asum + * ai = a[i0, i1] + * if ai == ai: */ __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "nansum.pyx":235 - * asum = 0 + /* "nansum.pyx":245 + * allnan = 1 * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i0] = asum - * return y + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nansum.pyx":236 + /* "nansum.pyx":246 * for i1 in range(n1): - * asum += a[i0, i1] - * y[i0] = asum # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * allnan = 0 + */ + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":247 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nansum.pyx":248 + * if ai == ai: + * asum += ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = asum + */ + __pyx_v_allnan = 0; + goto __pyx_L7; + } + __pyx_L7:; + } + + /* "nansum.pyx":249 + * asum += ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = asum + * else: + */ + __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":250 + * allnan = 0 + * if allnan == 0: + * y[i0] = asum # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + goto __pyx_L8; + } + /*else*/ { + + /* "nansum.pyx":252 + * y[i0] = asum + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + } + __pyx_L8:; } - /* "nansum.pyx":237 - * asum += a[i0, i1] - * y[i0] = asum + /* "nansum.pyx":253 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2972,12 +3126,12 @@ static PyObject *__pyx_pf_6nansum_6nansum_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":221 + /* "nansum.pyx":229 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ /* function exit code */ @@ -2988,7 +3142,7 @@ static PyObject *__pyx_pf_6nansum_6nansum_2d_int_axis1(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3001,27 +3155,27 @@ static PyObject *__pyx_pf_6nansum_6nansum_2d_int_axis1(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "nansum.pyx":241 +/* "nansum.pyx":257 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_9nansum_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_8nansum_2d_int8_axis0[] = "nansum_2d_int8_axis0(ndarray a)\nSum of 2d array with dtype=int8 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_9nansum_2d_int8_axis0 = {"nansum_2d_int8_axis0", (PyCFunction)__pyx_pw_6nansum_9nansum_2d_int8_axis0, METH_O, __pyx_doc_6nansum_8nansum_2d_int8_axis0}; -static PyObject *__pyx_pw_6nansum_9nansum_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_9nansum_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_8nansum_2d_float32_axis0[] = "nansum_2d_float32_axis0(ndarray a)\nSum of 2d array with dtype=float32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_9nansum_2d_float32_axis0 = {"nansum_2d_float32_axis0", (PyCFunction)__pyx_pw_6nansum_9nansum_2d_float32_axis0, METH_O, __pyx_doc_6nansum_8nansum_2d_float32_axis0}; +static PyObject *__pyx_pw_6nansum_9nansum_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_8nansum_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_8nansum_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3032,8 +3186,10 @@ static PyObject *__pyx_pw_6nansum_9nansum_2d_int8_axis0(PyObject *__pyx_self, Py return __pyx_r; } -static PyObject *__pyx_pf_6nansum_8nansum_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int8_t __pyx_v_asum; +static PyObject *__pyx_pf_6nansum_8nansum_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3056,10 +3212,11 @@ static PyObject *__pyx_pf_6nansum_8nansum_2d_int8_axis0(CYTHON_UNUSED PyObject * Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nansum_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3070,20 +3227,29 @@ static PyObject *__pyx_pf_6nansum_8nansum_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":243 - * def nansum_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Sum of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.int8_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nansum.pyx":259 + * def nansum_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef int allnan = 1 # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":260 + * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef int allnan = 1 + * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":246 + /* "nansum.pyx":263 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3092,7 +3258,7 @@ static PyObject *__pyx_pf_6nansum_8nansum_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":247 + /* "nansum.pyx":264 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3101,41 +3267,41 @@ static PyObject *__pyx_pf_6nansum_8nansum_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":248 + /* "nansum.pyx":265 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":249 + /* "nansum.pyx":266 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":250 + /* "nansum.pyx":267 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3143,63 +3309,128 @@ static PyObject *__pyx_pf_6nansum_8nansum_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":252 - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + /* "nansum.pyx":269 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) * for i1 in range(n1): # <<<<<<<<<<<<<< * asum = 0 - * for i0 in range(n0): + * allnan = 1 */ __pyx_t_4 = __pyx_v_n1; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i1 = __pyx_t_5; - /* "nansum.pyx":253 - * NPY_int8, 0) + /* "nansum.pyx":270 + * NPY_float32, 0) * for i1 in range(n1): * asum = 0 # <<<<<<<<<<<<<< + * allnan = 1 * for i0 in range(n0): - * asum += a[i0, i1] */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":254 + /* "nansum.pyx":271 * for i1 in range(n1): * asum = 0 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":272 + * asum = 0 + * allnan = 1 * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i1] = asum + * ai = a[i0, i1] + * if ai == ai: */ __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "nansum.pyx":255 - * asum = 0 + /* "nansum.pyx":273 + * allnan = 1 * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i1] = asum - * return y + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nansum.pyx":256 + /* "nansum.pyx":274 * for i0 in range(n0): - * asum += a[i0, i1] - * y[i1] = asum # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * allnan = 0 + */ + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":275 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nansum.pyx":276 + * if ai == ai: + * asum += ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = asum + */ + __pyx_v_allnan = 0; + goto __pyx_L7; + } + __pyx_L7:; + } + + /* "nansum.pyx":277 + * asum += ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = asum + * else: + */ + __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":278 + * allnan = 0 + * if allnan == 0: + * y[i1] = asum # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + goto __pyx_L8; + } + /*else*/ { + + /* "nansum.pyx":280 + * y[i1] = asum + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + } + __pyx_L8:; } - /* "nansum.pyx":257 - * asum += a[i0, i1] - * y[i1] = asum + /* "nansum.pyx":281 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3209,12 +3440,12 @@ static PyObject *__pyx_pf_6nansum_8nansum_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":241 + /* "nansum.pyx":257 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ /* function exit code */ @@ -3225,7 +3456,7 @@ static PyObject *__pyx_pf_6nansum_8nansum_2d_int8_axis0(CYTHON_UNUSED PyObject * __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3238,27 +3469,27 @@ static PyObject *__pyx_pf_6nansum_8nansum_2d_int8_axis0(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "nansum.pyx":261 +/* "nansum.pyx":285 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_11nansum_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_10nansum_2d_int8_axis1[] = "nansum_2d_int8_axis1(ndarray a)\nSum of 2d array with dtype=int8 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_11nansum_2d_int8_axis1 = {"nansum_2d_int8_axis1", (PyCFunction)__pyx_pw_6nansum_11nansum_2d_int8_axis1, METH_O, __pyx_doc_6nansum_10nansum_2d_int8_axis1}; -static PyObject *__pyx_pw_6nansum_11nansum_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_11nansum_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_10nansum_2d_float32_axis1[] = "nansum_2d_float32_axis1(ndarray a)\nSum of 2d array with dtype=float32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_11nansum_2d_float32_axis1 = {"nansum_2d_float32_axis1", (PyCFunction)__pyx_pw_6nansum_11nansum_2d_float32_axis1, METH_O, __pyx_doc_6nansum_10nansum_2d_float32_axis1}; +static PyObject *__pyx_pw_6nansum_11nansum_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int8_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_10nansum_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_float32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_10nansum_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3269,8 +3500,10 @@ static PyObject *__pyx_pw_6nansum_11nansum_2d_int8_axis1(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_6nansum_10nansum_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int8_t __pyx_v_asum; +static PyObject *__pyx_pf_6nansum_10nansum_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3293,10 +3526,11 @@ static PyObject *__pyx_pf_6nansum_10nansum_2d_int8_axis1(CYTHON_UNUSED PyObject Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("nansum_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3307,20 +3541,29 @@ static PyObject *__pyx_pf_6nansum_10nansum_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":263 - * def nansum_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Sum of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.int8_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - */ - __pyx_v_asum = 0; + /* "nansum.pyx":287 + * def nansum_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef int allnan = 1 # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_allnan = 1; - /* "nansum.pyx":266 + /* "nansum.pyx":288 + * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef int allnan = 1 + * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim + */ + __pyx_v_asum = 0.0; + + /* "nansum.pyx":291 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3329,7 +3572,7 @@ static PyObject *__pyx_pf_6nansum_10nansum_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":267 + /* "nansum.pyx":292 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3338,41 +3581,41 @@ static PyObject *__pyx_pf_6nansum_10nansum_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":268 + /* "nansum.pyx":293 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":269 + /* "nansum.pyx":294 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":270 + /* "nansum.pyx":295 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3380,63 +3623,128 @@ static PyObject *__pyx_pf_6nansum_10nansum_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":272 - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + /* "nansum.pyx":297 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * asum = 0 - * for i1 in range(n1): + * allnan = 1 */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nansum.pyx":273 - * NPY_int8, 0) + /* "nansum.pyx":298 + * NPY_float32, 0) * for i0 in range(n0): * asum = 0 # <<<<<<<<<<<<<< + * allnan = 1 * for i1 in range(n1): - * asum += a[i0, i1] */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":274 + /* "nansum.pyx":299 * for i0 in range(n0): * asum = 0 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":300 + * asum = 0 + * allnan = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i0] = asum + * ai = a[i0, i1] + * if ai == ai: */ __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "nansum.pyx":275 - * asum = 0 + /* "nansum.pyx":301 + * allnan = 1 * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i0] = asum - * return y + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nansum.pyx":276 + /* "nansum.pyx":302 * for i1 in range(n1): - * asum += a[i0, i1] - * y[i0] = asum # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * allnan = 0 + */ + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":303 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nansum.pyx":304 + * if ai == ai: + * asum += ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = asum + */ + __pyx_v_allnan = 0; + goto __pyx_L7; + } + __pyx_L7:; + } + + /* "nansum.pyx":305 + * asum += ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = asum + * else: + */ + __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":306 + * allnan = 0 + * if allnan == 0: + * y[i0] = asum # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + goto __pyx_L8; + } + /*else*/ { + + /* "nansum.pyx":308 + * y[i0] = asum + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + } + __pyx_L8:; } - /* "nansum.pyx":277 - * asum += a[i0, i1] - * y[i0] = asum + /* "nansum.pyx":309 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3446,12 +3754,12 @@ static PyObject *__pyx_pf_6nansum_10nansum_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":261 + /* "nansum.pyx":285 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ /* function exit code */ @@ -3462,7 +3770,7 @@ static PyObject *__pyx_pf_6nansum_10nansum_2d_int8_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3475,27 +3783,27 @@ static PyObject *__pyx_pf_6nansum_10nansum_2d_int8_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nansum.pyx":281 +/* "nansum.pyx":313 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_13nansum_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_12nansum_2d_int32_axis0[] = "nansum_2d_int32_axis0(ndarray a)\nSum of 2d array with dtype=int32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_13nansum_2d_int32_axis0 = {"nansum_2d_int32_axis0", (PyCFunction)__pyx_pw_6nansum_13nansum_2d_int32_axis0, METH_O, __pyx_doc_6nansum_12nansum_2d_int32_axis0}; -static PyObject *__pyx_pw_6nansum_13nansum_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_13nansum_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_12nansum_2d_float64_axis0[] = "nansum_2d_float64_axis0(ndarray a)\nSum of 2d array with dtype=float64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_13nansum_2d_float64_axis0 = {"nansum_2d_float64_axis0", (PyCFunction)__pyx_pw_6nansum_13nansum_2d_float64_axis0, METH_O, __pyx_doc_6nansum_12nansum_2d_float64_axis0}; +static PyObject *__pyx_pw_6nansum_13nansum_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_12nansum_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_12nansum_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3506,8 +3814,10 @@ static PyObject *__pyx_pw_6nansum_13nansum_2d_int32_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nansum_12nansum_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int32_t __pyx_v_asum; +static PyObject *__pyx_pf_6nansum_12nansum_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3530,10 +3840,11 @@ static PyObject *__pyx_pf_6nansum_12nansum_2d_int32_axis0(CYTHON_UNUSED PyObject Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nansum_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3544,20 +3855,29 @@ static PyObject *__pyx_pf_6nansum_12nansum_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":283 - * def nansum_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Sum of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.int32_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nansum.pyx":315 + * def nansum_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef int allnan = 1 # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":316 + * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef int allnan = 1 + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":286 + /* "nansum.pyx":319 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3566,7 +3886,7 @@ static PyObject *__pyx_pf_6nansum_12nansum_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":287 + /* "nansum.pyx":320 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3575,41 +3895,41 @@ static PyObject *__pyx_pf_6nansum_12nansum_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":288 + /* "nansum.pyx":321 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":289 + /* "nansum.pyx":322 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":290 + /* "nansum.pyx":323 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3617,78 +3937,143 @@ static PyObject *__pyx_pf_6nansum_12nansum_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":292 - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + /* "nansum.pyx":325 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * for i1 in range(n1): # <<<<<<<<<<<<<< * asum = 0 - * for i0 in range(n0): + * allnan = 1 */ __pyx_t_4 = __pyx_v_n1; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i1 = __pyx_t_5; - /* "nansum.pyx":293 - * NPY_int32, 0) + /* "nansum.pyx":326 + * NPY_float64, 0) * for i1 in range(n1): * asum = 0 # <<<<<<<<<<<<<< + * allnan = 1 * for i0 in range(n0): - * asum += a[i0, i1] */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":294 + /* "nansum.pyx":327 * for i1 in range(n1): * asum = 0 + * allnan = 1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":328 + * asum = 0 + * allnan = 1 * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i1] = asum + * ai = a[i0, i1] + * if ai == ai: */ __pyx_t_6 = __pyx_v_n0; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "nansum.pyx":295 - * asum = 0 + /* "nansum.pyx":329 + * allnan = 1 * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i1] = asum - * return y + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nansum.pyx":296 + /* "nansum.pyx":330 * for i0 in range(n0): - * asum += a[i0, i1] - * y[i1] = asum # <<<<<<<<<<<<<< - * return y - * + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * allnan = 0 */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; - } + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nansum.pyx":297 - * asum += a[i0, i1] - * y[i1] = asum - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + /* "nansum.pyx":331 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nansum.pyx":281 - * @cython.boundscheck(False) + /* "nansum.pyx":332 + * if ai == ai: + * asum += ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i1] = asum + */ + __pyx_v_allnan = 0; + goto __pyx_L7; + } + __pyx_L7:; + } + + /* "nansum.pyx":333 + * asum += ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i1] = asum + * else: + */ + __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":334 + * allnan = 0 + * if allnan == 0: + * y[i1] = asum # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + goto __pyx_L8; + } + /*else*/ { + + /* "nansum.pyx":336 + * y[i1] = asum + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + } + __pyx_L8:; + } + + /* "nansum.pyx":337 + * else: + * y[i1] = NAN + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "nansum.pyx":313 + * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ /* function exit code */ @@ -3699,7 +4084,7 @@ static PyObject *__pyx_pf_6nansum_12nansum_2d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3712,27 +4097,27 @@ static PyObject *__pyx_pf_6nansum_12nansum_2d_int32_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nansum.pyx":301 +/* "nansum.pyx":341 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_15nansum_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_14nansum_2d_int32_axis1[] = "nansum_2d_int32_axis1(ndarray a)\nSum of 2d array with dtype=int32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_15nansum_2d_int32_axis1 = {"nansum_2d_int32_axis1", (PyCFunction)__pyx_pw_6nansum_15nansum_2d_int32_axis1, METH_O, __pyx_doc_6nansum_14nansum_2d_int32_axis1}; -static PyObject *__pyx_pw_6nansum_15nansum_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_15nansum_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_14nansum_2d_float64_axis1[] = "nansum_2d_float64_axis1(ndarray a)\nSum of 2d array with dtype=float64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_15nansum_2d_float64_axis1 = {"nansum_2d_float64_axis1", (PyCFunction)__pyx_pw_6nansum_15nansum_2d_float64_axis1, METH_O, __pyx_doc_6nansum_14nansum_2d_float64_axis1}; +static PyObject *__pyx_pw_6nansum_15nansum_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_14nansum_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_float64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_14nansum_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3743,8 +4128,10 @@ static PyObject *__pyx_pw_6nansum_15nansum_2d_int32_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nansum_14nansum_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int32_t __pyx_v_asum; +static PyObject *__pyx_pf_6nansum_14nansum_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3767,10 +4154,11 @@ static PyObject *__pyx_pf_6nansum_14nansum_2d_int32_axis1(CYTHON_UNUSED PyObject Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; + int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("nansum_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3781,20 +4169,29 @@ static PyObject *__pyx_pf_6nansum_14nansum_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":303 - * def nansum_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Sum of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.int32_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nansum.pyx":343 + * def nansum_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef int allnan = 1 # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":344 + * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef int allnan = 1 + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":306 + /* "nansum.pyx":347 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3803,7 +4200,7 @@ static PyObject *__pyx_pf_6nansum_14nansum_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":307 + /* "nansum.pyx":348 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3812,41 +4209,41 @@ static PyObject *__pyx_pf_6nansum_14nansum_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":308 + /* "nansum.pyx":349 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":309 + /* "nansum.pyx":350 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":310 + /* "nansum.pyx":351 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3854,63 +4251,128 @@ static PyObject *__pyx_pf_6nansum_14nansum_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":312 - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + /* "nansum.pyx":353 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * asum = 0 - * for i1 in range(n1): + * allnan = 1 */ __pyx_t_4 = __pyx_v_n0; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i0 = __pyx_t_5; - /* "nansum.pyx":313 - * NPY_int32, 0) + /* "nansum.pyx":354 + * NPY_float64, 0) * for i0 in range(n0): * asum = 0 # <<<<<<<<<<<<<< + * allnan = 1 * for i1 in range(n1): - * asum += a[i0, i1] */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":314 + /* "nansum.pyx":355 * for i0 in range(n0): * asum = 0 + * allnan = 1 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":356 + * asum = 0 + * allnan = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i0] = asum + * ai = a[i0, i1] + * if ai == ai: */ __pyx_t_6 = __pyx_v_n1; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "nansum.pyx":315 - * asum = 0 + /* "nansum.pyx":357 + * allnan = 1 * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i0] = asum - * return y + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nansum.pyx":316 + /* "nansum.pyx":358 * for i1 in range(n1): - * asum += a[i0, i1] - * y[i0] = asum # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * allnan = 0 + */ + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":359 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nansum.pyx":360 + * if ai == ai: + * asum += ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * y[i0] = asum + */ + __pyx_v_allnan = 0; + goto __pyx_L7; + } + __pyx_L7:; + } + + /* "nansum.pyx":361 + * asum += ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * y[i0] = asum + * else: + */ + __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_10) { + + /* "nansum.pyx":362 + * allnan = 0 + * if allnan == 0: + * y[i0] = asum # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + goto __pyx_L8; + } + /*else*/ { + + /* "nansum.pyx":364 + * y[i0] = asum + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< * return y * */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + } + __pyx_L8:; } - /* "nansum.pyx":317 - * asum += a[i0, i1] - * y[i0] = asum + /* "nansum.pyx":365 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3920,12 +4382,12 @@ static PyObject *__pyx_pf_6nansum_14nansum_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":301 + /* "nansum.pyx":341 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ /* function exit code */ @@ -3936,7 +4398,7 @@ static PyObject *__pyx_pf_6nansum_14nansum_2d_int32_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3949,27 +4411,27 @@ static PyObject *__pyx_pf_6nansum_14nansum_2d_int32_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nansum.pyx":321 +/* "nansum.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.int64_t asum = 0, ai + * def nansum_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_17nansum_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_16nansum_2d_int64_axis0[] = "nansum_2d_int64_axis0(ndarray a)\nSum of 2d array with dtype=int64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_17nansum_2d_int64_axis0 = {"nansum_2d_int64_axis0", (PyCFunction)__pyx_pw_6nansum_17nansum_2d_int64_axis0, METH_O, __pyx_doc_6nansum_16nansum_2d_int64_axis0}; -static PyObject *__pyx_pw_6nansum_17nansum_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_17nansum_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_16nansum_1d_float_axisNone[] = "nansum_1d_float_axisNone(ndarray a)\nSum of 1d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_17nansum_1d_float_axisNone = {"nansum_1d_float_axisNone", (PyCFunction)__pyx_pw_6nansum_17nansum_1d_float_axisNone, METH_O, __pyx_doc_6nansum_16nansum_1d_float_axisNone}; +static PyObject *__pyx_pw_6nansum_17nansum_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_16nansum_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_1d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_16nansum_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3980,470 +4442,283 @@ static PyObject *__pyx_pw_6nansum_17nansum_2d_int64_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nansum_16nansum_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int64_t __pyx_v_asum; +static PyObject *__pyx_pf_6nansum_16nansum_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + int __pyx_v_allnan; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_lineno = 0; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nansum_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nansum.pyx":323 - * def nansum_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Sum of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.int64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "nansum.pyx":371 + * def nansum_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): + * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef int allnan = 1 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, ai + * cdef Py_ssize_t i0 + */ + __pyx_v_allnan = 1; + + /* "nansum.pyx":372 + * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef int allnan = 1 + * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_v_asum = 0; + __pyx_v_asum = 0.0; - /* "nansum.pyx":326 - * cdef Py_ssize_t i0, i1 + /* "nansum.pyx":375 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":327 + /* "nansum.pyx":376 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":328 + /* "nansum.pyx":377 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":329 + /* "nansum.pyx":378 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nansum.pyx":330 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int64, 0) - * for i1 in range(n1): + /* "nansum.pyx":379 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * allnan = 0 */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "nansum.pyx":332 - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nansum.pyx":380 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * allnan = 0 + * if allnan == 0: */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nansum.pyx":333 - * NPY_int64, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] + /* "nansum.pyx":381 + * if ai == ai: + * asum += ai + * allnan = 0 # <<<<<<<<<<<<<< + * if allnan == 0: + * return np.float(asum) */ - __pyx_v_asum = 0; + __pyx_v_allnan = 0; + goto __pyx_L5; + } + __pyx_L5:; + } - /* "nansum.pyx":334 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i1] = asum + /* "nansum.pyx":382 + * asum += ai + * allnan = 0 + * if allnan == 0: # <<<<<<<<<<<<<< + * return np.float(asum) + * else: */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_4) { - /* "nansum.pyx":335 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i1] = asum - * return y + /* "nansum.pyx":383 + * allnan = 0 + * if allnan == 0: + * return np.float(asum) # <<<<<<<<<<<<<< + * else: + * return np.float(NAN) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } } - - /* "nansum.pyx":336 - * for i0 in range(n0): - * asum += a[i0, i1] - * y[i1] = asum # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + if (!__pyx_t_8) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nansum.pyx":337 - * asum += a[i0, i1] - * y[i1] = asum - * return y # <<<<<<<<<<<<<< + /* "nansum.pyx":385 + * return np.float(asum) + * else: + * return np.float(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_6) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + } - /* "nansum.pyx":321 + /* "nansum.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.int64_t asum = 0, ai + * def nansum_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":341 +/* "nansum.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.int64_t asum = 0, ai - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_6nansum_19nansum_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_18nansum_2d_int64_axis1[] = "nansum_2d_int64_axis1(ndarray a)\nSum of 2d array with dtype=int64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_19nansum_2d_int64_axis1 = {"nansum_2d_int64_axis1", (PyCFunction)__pyx_pw_6nansum_19nansum_2d_int64_axis1, METH_O, __pyx_doc_6nansum_18nansum_2d_int64_axis1}; -static PyObject *__pyx_pw_6nansum_19nansum_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_lineno = 0; - CYTHON_UNUSED const char *__pyx_filename = NULL; - CYTHON_UNUSED int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_18nansum_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_6nansum_18nansum_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int64_t __pyx_v_asum; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; - npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - __Pyx_LocalBuf_ND __pyx_pybuffernd_a; - __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; - __pyx_pybuffer_a.pybuffer.buf = NULL; - __pyx_pybuffer_a.refcount = 0; - __pyx_pybuffernd_a.data = NULL; - __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nansum.pyx":343 - * def nansum_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Sum of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.int64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - */ - __pyx_v_asum = 0; - - /* "nansum.pyx":346 - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - */ - __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - - /* "nansum.pyx":347 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "nansum.pyx":348 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nansum.pyx":349 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nansum.pyx":350 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int64, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nansum.pyx":352 - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "nansum.pyx":353 - * NPY_int64, 0) - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] - */ - __pyx_v_asum = 0; - - /* "nansum.pyx":354 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * y[i0] = asum - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nansum.pyx":355 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * y[i0] = asum - * return y - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); - } - - /* "nansum.pyx":356 - * for i1 in range(n1): - * asum += a[i0, i1] - * y[i0] = asum # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; - } - - /* "nansum.pyx":357 - * asum += a[i0, i1] - * y[i0] = asum - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "nansum.pyx":341 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nansum_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.int64_t asum = 0, ai - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; - __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - goto __pyx_L2; - __pyx_L0:; - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "nansum.pyx":361 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nansum_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nansum_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_21nansum_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_20nansum_1d_float_axisNone[] = "nansum_1d_float_axisNone(ndarray a)\nSum of 1d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_21nansum_1d_float_axisNone = {"nansum_1d_float_axisNone", (PyCFunction)__pyx_pw_6nansum_21nansum_1d_float_axisNone, METH_O, __pyx_doc_6nansum_20nansum_1d_float_axisNone}; -static PyObject *__pyx_pw_6nansum_21nansum_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_19nansum_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_18nansum_1d_float32_axisNone[] = "nansum_1d_float32_axisNone(ndarray a)\nSum of 1d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_19nansum_1d_float32_axisNone = {"nansum_1d_float32_axisNone", (PyCFunction)__pyx_pw_6nansum_19nansum_1d_float32_axisNone, METH_O, __pyx_doc_6nansum_18nansum_1d_float32_axisNone}; +static PyObject *__pyx_pw_6nansum_19nansum_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_1d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_20nansum_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_1d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_18nansum_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4454,10 +4729,10 @@ static PyObject *__pyx_pw_6nansum_21nansum_1d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nansum_18nansum_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4477,36 +4752,36 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nansum.pyx":363 - * def nansum_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): - * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." + /* "nansum.pyx":391 + * def nansum_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): + * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, ai + * cdef np.float32_t asum = 0, ai * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nansum.pyx":364 - * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." + /* "nansum.pyx":392 + * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 - * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nansum.pyx":367 + /* "nansum.pyx":395 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4515,7 +4790,7 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":368 + /* "nansum.pyx":396 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4524,7 +4799,7 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":369 + /* "nansum.pyx":397 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4535,7 +4810,7 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":370 + /* "nansum.pyx":398 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -4543,9 +4818,9 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj * asum += ai */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nansum.pyx":371 + /* "nansum.pyx":399 * for i0 in range(n0): * ai = a[i0] * if ai == ai: # <<<<<<<<<<<<<< @@ -4555,7 +4830,7 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "nansum.pyx":372 + /* "nansum.pyx":400 * ai = a[i0] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -4564,12 +4839,12 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nansum.pyx":373 + /* "nansum.pyx":401 * if ai == ai: * asum += ai * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float(asum) + * return np.float32(asum) */ __pyx_v_allnan = 0; goto __pyx_L5; @@ -4577,30 +4852,30 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_L5:; } - /* "nansum.pyx":374 + /* "nansum.pyx":402 * asum += ai * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float(asum) + * return np.float32(asum) * else: */ __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_4) { - /* "nansum.pyx":375 + /* "nansum.pyx":403 * allnan = 0 * if allnan == 0: - * return np.float(asum) # <<<<<<<<<<<<<< + * return np.float32(asum) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float32(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { @@ -4613,17 +4888,17 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_8) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -4634,20 +4909,20 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj } /*else*/ { - /* "nansum.pyx":377 - * return np.float(asum) + /* "nansum.pyx":405 + * return np.float32(asum) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { @@ -4660,17 +4935,17 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_6) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_5); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -4680,11 +4955,11 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "nansum.pyx":361 + /* "nansum.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nansum_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -4699,7 +4974,7 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4710,27 +4985,27 @@ static PyObject *__pyx_pf_6nansum_20nansum_1d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nansum.pyx":381 +/* "nansum.pyx":409 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nansum_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_23nansum_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_22nansum_1d_float32_axisNone[] = "nansum_1d_float32_axisNone(ndarray a)\nSum of 1d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_23nansum_1d_float32_axisNone = {"nansum_1d_float32_axisNone", (PyCFunction)__pyx_pw_6nansum_23nansum_1d_float32_axisNone, METH_O, __pyx_doc_6nansum_22nansum_1d_float32_axisNone}; -static PyObject *__pyx_pw_6nansum_23nansum_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_21nansum_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_20nansum_1d_float64_axisNone[] = "nansum_1d_float64_axisNone(ndarray a)\nSum of 1d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_21nansum_1d_float64_axisNone = {"nansum_1d_float64_axisNone", (PyCFunction)__pyx_pw_6nansum_21nansum_1d_float64_axisNone, METH_O, __pyx_doc_6nansum_20nansum_1d_float64_axisNone}; +static PyObject *__pyx_pw_6nansum_21nansum_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_1d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_22nansum_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_1d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_20nansum_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4741,10 +5016,10 @@ static PyObject *__pyx_pw_6nansum_23nansum_1d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nansum_20nansum_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4764,36 +5039,36 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nansum.pyx":383 - * def nansum_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): - * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." + /* "nansum.pyx":411 + * def nansum_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): + * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, ai + * cdef np.float64_t asum = 0, ai * cdef Py_ssize_t i0 */ __pyx_v_allnan = 1; - /* "nansum.pyx":384 - * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." + /* "nansum.pyx":412 + * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 - * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nansum.pyx":387 + /* "nansum.pyx":415 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4802,7 +5077,7 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":388 + /* "nansum.pyx":416 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4811,7 +5086,7 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":389 + /* "nansum.pyx":417 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4822,7 +5097,7 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":390 + /* "nansum.pyx":418 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -4830,9 +5105,9 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO * asum += ai */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nansum.pyx":391 + /* "nansum.pyx":419 * for i0 in range(n0): * ai = a[i0] * if ai == ai: # <<<<<<<<<<<<<< @@ -4842,7 +5117,7 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "nansum.pyx":392 + /* "nansum.pyx":420 * ai = a[i0] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -4851,12 +5126,12 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nansum.pyx":393 + /* "nansum.pyx":421 * if ai == ai: * asum += ai * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float32(asum) + * return np.float64(asum) */ __pyx_v_allnan = 0; goto __pyx_L5; @@ -4864,30 +5139,30 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO __pyx_L5:; } - /* "nansum.pyx":394 + /* "nansum.pyx":422 * asum += ai * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float32(asum) + * return np.float64(asum) * else: */ __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_4) { - /* "nansum.pyx":395 + /* "nansum.pyx":423 * allnan = 0 * if allnan == 0: - * return np.float32(asum) # <<<<<<<<<<<<<< + * return np.float64(asum) # <<<<<<<<<<<<<< * else: - * return np.float32(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float32); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { @@ -4900,17 +5175,17 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO } } if (!__pyx_t_8) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -4921,20 +5196,20 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO } /*else*/ { - /* "nansum.pyx":397 - * return np.float32(asum) + /* "nansum.pyx":425 + * return np.float64(asum) * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { @@ -4947,17 +5222,17 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO } } if (!__pyx_t_6) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_5); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -4967,11 +5242,11 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO goto __pyx_L0; } - /* "nansum.pyx":381 + /* "nansum.pyx":409 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nansum_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -4986,7 +5261,7 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4997,27 +5272,27 @@ static PyObject *__pyx_pf_6nansum_22nansum_1d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nansum.pyx":401 +/* "nansum.pyx":429 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nansum_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_25nansum_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_24nansum_1d_float64_axisNone[] = "nansum_1d_float64_axisNone(ndarray a)\nSum of 1d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_25nansum_1d_float64_axisNone = {"nansum_1d_float64_axisNone", (PyCFunction)__pyx_pw_6nansum_25nansum_1d_float64_axisNone, METH_O, __pyx_doc_6nansum_24nansum_1d_float64_axisNone}; -static PyObject *__pyx_pw_6nansum_25nansum_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_23nansum_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_22nansum_2d_float_axisNone[] = "nansum_2d_float_axisNone(ndarray a)\nSum of 2d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_23nansum_2d_float_axisNone = {"nansum_2d_float_axisNone", (PyCFunction)__pyx_pw_6nansum_23nansum_2d_float_axisNone, METH_O, __pyx_doc_6nansum_22nansum_2d_float_axisNone}; +static PyObject *__pyx_pw_6nansum_23nansum_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_1d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_24nansum_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_22nansum_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5028,13 +5303,15 @@ static PyObject *__pyx_pw_6nansum_25nansum_1d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nansum_24nansum_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nansum_22nansum_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -5042,238 +5319,263 @@ static PyObject *__pyx_pf_6nansum_24nansum_1d_float64_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + int __pyx_t_7; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_1d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":403 - * def nansum_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): - * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." + /* "nansum.pyx":431 + * def nansum_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): + * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, ai - * cdef Py_ssize_t i0 + * cdef np.float_t asum = 0, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nansum.pyx":404 - * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." + /* "nansum.pyx":432 + * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nansum.pyx":407 - * cdef Py_ssize_t i0 + /* "nansum.pyx":435 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":408 + /* "nansum.pyx":436 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":409 + /* "nansum.pyx":437 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nansum.pyx":438 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":410 - * cdef Py_ssize_t n0 = dim[0] + /* "nansum.pyx":439 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nansum.pyx":411 + /* "nansum.pyx":440 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * allnan = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nansum.pyx":412 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * allnan = 0 + /* "nansum.pyx":441 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * allnan = 0 + */ + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { + + /* "nansum.pyx":442 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * allnan = 0 * if allnan == 0: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nansum.pyx":413 - * if ai == ai: - * asum += ai - * allnan = 0 # <<<<<<<<<<<<<< + /* "nansum.pyx":443 + * if ai == ai: + * asum += ai + * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float64(asum) + * return np.float(asum) */ - __pyx_v_allnan = 0; - goto __pyx_L5; + __pyx_v_allnan = 0; + goto __pyx_L7; + } + __pyx_L7:; } - __pyx_L5:; } - /* "nansum.pyx":414 - * asum += ai - * allnan = 0 + /* "nansum.pyx":444 + * asum += ai + * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float64(asum) + * return np.float(asum) * else: */ - __pyx_t_4 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_4) { + __pyx_t_7 = ((__pyx_v_allnan == 0) != 0); + if (__pyx_t_7) { - /* "nansum.pyx":415 - * allnan = 0 + /* "nansum.pyx":445 + * allnan = 0 * if allnan == 0: - * return np.float64(asum) # <<<<<<<<<<<<<< + * return np.float(asum) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * return np.float(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); + __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); + __Pyx_DECREF_SET(__pyx_t_10, function); } } - if (!__pyx_t_8) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + if (!__pyx_t_11) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_8); + } else { + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); + __Pyx_GIVEREF(__pyx_t_9); + __pyx_t_9 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; goto __pyx_L0; } /*else*/ { - /* "nansum.pyx":417 - * return np.float64(asum) + /* "nansum.pyx":447 + * return np.float(asum) * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * return np.float(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - } - } - if (!__pyx_t_6) { - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_9 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + if (!__pyx_t_9) { + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_8); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; goto __pyx_L0; } - /* "nansum.pyx":401 + /* "nansum.pyx":429 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nansum_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5284,27 +5586,27 @@ static PyObject *__pyx_pf_6nansum_24nansum_1d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nansum.pyx":421 +/* "nansum.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nansum_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_27nansum_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_26nansum_2d_float_axisNone[] = "nansum_2d_float_axisNone(ndarray a)\nSum of 2d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_27nansum_2d_float_axisNone = {"nansum_2d_float_axisNone", (PyCFunction)__pyx_pw_6nansum_27nansum_2d_float_axisNone, METH_O, __pyx_doc_6nansum_26nansum_2d_float_axisNone}; -static PyObject *__pyx_pw_6nansum_27nansum_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_25nansum_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_24nansum_2d_float32_axisNone[] = "nansum_2d_float32_axisNone(ndarray a)\nSum of 2d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_25nansum_2d_float32_axisNone = {"nansum_2d_float32_axisNone", (PyCFunction)__pyx_pw_6nansum_25nansum_2d_float32_axisNone, METH_O, __pyx_doc_6nansum_24nansum_2d_float32_axisNone}; +static PyObject *__pyx_pw_6nansum_25nansum_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_26nansum_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_24nansum_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5315,10 +5617,10 @@ static PyObject *__pyx_pw_6nansum_27nansum_2d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nansum_24nansum_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -5343,36 +5645,36 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":423 - * def nansum_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): - * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." + /* "nansum.pyx":453 + * def nansum_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): + * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, ai + * cdef np.float32_t asum = 0, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nansum.pyx":424 - * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." + /* "nansum.pyx":454 + * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 - * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nansum.pyx":427 + /* "nansum.pyx":457 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5381,7 +5683,7 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":428 + /* "nansum.pyx":458 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5390,7 +5692,7 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":429 + /* "nansum.pyx":459 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5399,7 +5701,7 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":430 + /* "nansum.pyx":460 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5410,7 +5712,7 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":431 + /* "nansum.pyx":461 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -5421,7 +5723,7 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "nansum.pyx":432 + /* "nansum.pyx":462 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -5430,9 +5732,9 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_t_5 = __pyx_v_i0; __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nansum.pyx":433 + /* "nansum.pyx":463 * for i1 in range(n1): * ai = a[i0, i1] * if ai == ai: # <<<<<<<<<<<<<< @@ -5442,7 +5744,7 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "nansum.pyx":434 + /* "nansum.pyx":464 * ai = a[i0, i1] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -5451,12 +5753,12 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nansum.pyx":435 + /* "nansum.pyx":465 * if ai == ai: * asum += ai * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float(asum) + * return np.float32(asum) */ __pyx_v_allnan = 0; goto __pyx_L7; @@ -5465,30 +5767,30 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "nansum.pyx":436 + /* "nansum.pyx":466 * asum += ai * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float(asum) + * return np.float32(asum) * else: */ __pyx_t_7 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_7) { - /* "nansum.pyx":437 + /* "nansum.pyx":467 * allnan = 0 * if allnan == 0: - * return np.float(asum) # <<<<<<<<<<<<<< + * return np.float32(asum) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float32(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { @@ -5501,17 +5803,17 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_11) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_8); } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } @@ -5522,20 +5824,20 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj } /*else*/ { - /* "nansum.pyx":439 - * return np.float(asum) + /* "nansum.pyx":469 + * return np.float32(asum) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { @@ -5548,17 +5850,17 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_9) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_8); } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -5568,11 +5870,11 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "nansum.pyx":421 + /* "nansum.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nansum_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -5587,7 +5889,7 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5598,27 +5900,27 @@ static PyObject *__pyx_pf_6nansum_26nansum_2d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nansum.pyx":443 +/* "nansum.pyx":473 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." + * def nansum_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_29nansum_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_28nansum_2d_float32_axisNone[] = "nansum_2d_float32_axisNone(ndarray a)\nSum of 2d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_29nansum_2d_float32_axisNone = {"nansum_2d_float32_axisNone", (PyCFunction)__pyx_pw_6nansum_29nansum_2d_float32_axisNone, METH_O, __pyx_doc_6nansum_28nansum_2d_float32_axisNone}; -static PyObject *__pyx_pw_6nansum_29nansum_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_27nansum_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_26nansum_2d_float64_axisNone[] = "nansum_2d_float64_axisNone(ndarray a)\nSum of 2d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_27nansum_2d_float64_axisNone = {"nansum_2d_float64_axisNone", (PyCFunction)__pyx_pw_6nansum_27nansum_2d_float64_axisNone, METH_O, __pyx_doc_6nansum_26nansum_2d_float64_axisNone}; +static PyObject *__pyx_pw_6nansum_27nansum_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_28nansum_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_26nansum_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5629,10 +5931,10 @@ static PyObject *__pyx_pw_6nansum_29nansum_2d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nansum_26nansum_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -5657,36 +5959,36 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":445 - * def nansum_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): - * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." + /* "nansum.pyx":475 + * def nansum_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): + * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, ai + * cdef np.float64_t asum = 0, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_allnan = 1; - /* "nansum.pyx":446 - * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." + /* "nansum.pyx":476 + * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 - * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nansum.pyx":449 + /* "nansum.pyx":479 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5695,7 +5997,7 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":450 + /* "nansum.pyx":480 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5704,7 +6006,7 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":451 + /* "nansum.pyx":481 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5713,7 +6015,7 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":452 + /* "nansum.pyx":482 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5724,7 +6026,7 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":453 + /* "nansum.pyx":483 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -5735,7 +6037,7 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "nansum.pyx":454 + /* "nansum.pyx":484 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -5744,9 +6046,9 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_t_5 = __pyx_v_i0; __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nansum.pyx":455 + /* "nansum.pyx":485 * for i1 in range(n1): * ai = a[i0, i1] * if ai == ai: # <<<<<<<<<<<<<< @@ -5756,7 +6058,7 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "nansum.pyx":456 + /* "nansum.pyx":486 * ai = a[i0, i1] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -5765,12 +6067,12 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nansum.pyx":457 + /* "nansum.pyx":487 * if ai == ai: * asum += ai * allnan = 0 # <<<<<<<<<<<<<< * if allnan == 0: - * return np.float32(asum) + * return np.float64(asum) */ __pyx_v_allnan = 0; goto __pyx_L7; @@ -5779,30 +6081,30 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO } } - /* "nansum.pyx":458 + /* "nansum.pyx":488 * asum += ai * allnan = 0 * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float32(asum) + * return np.float64(asum) * else: */ __pyx_t_7 = ((__pyx_v_allnan == 0) != 0); if (__pyx_t_7) { - /* "nansum.pyx":459 + /* "nansum.pyx":489 * allnan = 0 * if allnan == 0: - * return np.float32(asum) # <<<<<<<<<<<<<< + * return np.float64(asum) # <<<<<<<<<<<<<< * else: - * return np.float32(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { @@ -5815,17 +6117,17 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO } } if (!__pyx_t_11) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_8); } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } @@ -5836,20 +6138,20 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO } /*else*/ { - /* "nansum.pyx":461 - * return np.float32(asum) + /* "nansum.pyx":491 + * return np.float64(asum) * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { @@ -5862,17 +6164,17 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO } } if (!__pyx_t_9) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_8); } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -5882,11 +6184,11 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO goto __pyx_L0; } - /* "nansum.pyx":443 + /* "nansum.pyx":473 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." + * def nansum_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ @@ -5901,7 +6203,7 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5912,27 +6214,27 @@ static PyObject *__pyx_pf_6nansum_28nansum_2d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nansum.pyx":465 +/* "nansum.pyx":495 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.int_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_31nansum_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_30nansum_2d_float64_axisNone[] = "nansum_2d_float64_axisNone(ndarray a)\nSum of 2d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_31nansum_2d_float64_axisNone = {"nansum_2d_float64_axisNone", (PyCFunction)__pyx_pw_6nansum_31nansum_2d_float64_axisNone, METH_O, __pyx_doc_6nansum_30nansum_2d_float64_axisNone}; -static PyObject *__pyx_pw_6nansum_31nansum_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_29nansum_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_28nansum_1d_int_axisNone[] = "nansum_1d_int_axisNone(ndarray a)\nSum of 1d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_29nansum_1d_int_axisNone = {"nansum_1d_int_axisNone", (PyCFunction)__pyx_pw_6nansum_29nansum_1d_int_axisNone, METH_O, __pyx_doc_6nansum_28nansum_1d_int_axisNone}; +static PyObject *__pyx_pw_6nansum_29nansum_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_30nansum_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_1d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_28nansum_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5943,15 +6245,12 @@ static PyObject *__pyx_pw_6nansum_31nansum_2d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nansum_30nansum_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nansum_28nansum_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int_t __pyx_v_asum; + CYTHON_UNUSED Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -5959,263 +6258,148 @@ static PyObject *__pyx_pf_6nansum_30nansum_2d_float64_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - int __pyx_t_7; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_1d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nansum.pyx":467 - * def nansum_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): - * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_allnan = 1; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nansum.pyx":468 - * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef int allnan = 1 - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + /* "nansum.pyx":497 + * def nansum_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): + * "Sum of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.int_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0; - /* "nansum.pyx":471 - * cdef Py_ssize_t i0, i1 + /* "nansum.pyx":501 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":472 + /* "nansum.pyx":502 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] + * size = n0 * for i0 in range(n0): */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":473 + /* "nansum.pyx":503 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * size = n0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): + * asum += a[i0] */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nansum.pyx":474 + /* "nansum.pyx":504 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * asum += a[i0] + * return np.int(asum) */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":475 - * cdef Py_ssize_t n1 = dim[1] + /* "nansum.pyx":505 + * size = n0 * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + * asum += a[i0] # <<<<<<<<<<<<<< + * return np.int(asum) + * */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + } - /* "nansum.pyx":476 + /* "nansum.pyx":506 * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nansum.pyx":477 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * allnan = 0 + * asum += a[i0] + * return np.int(asum) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { - - /* "nansum.pyx":478 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nansum.pyx":479 - * if ai == ai: - * asum += ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * return np.float64(asum) - */ - __pyx_v_allnan = 0; - goto __pyx_L7; - } - __pyx_L7:; - } - } - - /* "nansum.pyx":480 - * asum += ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * return np.float64(asum) - * else: - */ - __pyx_t_7 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_7) { - - /* "nansum.pyx":481 - * allnan = 0 - * if allnan == 0: - * return np.float64(asum) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyFloat_FromDouble(__pyx_v_asum); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - if (!__pyx_t_11) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_GOTREF(__pyx_t_8); - } else { - __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9); - __Pyx_GIVEREF(__pyx_t_9); - __pyx_t_9 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int_2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_asum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; } - /*else*/ { - - /* "nansum.pyx":483 - * return np.float64(asum) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyFloat_FromDouble(__pyx_v_6nansum_NAN); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_9 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - } - } - if (!__pyx_t_9) { - __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_10); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_8); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; + if (!__pyx_t_7) { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; - /* "nansum.pyx":465 + /* "nansum.pyx":495 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.int_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6226,27 +6410,27 @@ static PyObject *__pyx_pf_6nansum_30nansum_2d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nansum.pyx":487 +/* "nansum.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_33nansum_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_32nansum_2d_float_axis0[] = "nansum_2d_float_axis0(ndarray a)\nSum of 2d array with dtype=float along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_33nansum_2d_float_axis0 = {"nansum_2d_float_axis0", (PyCFunction)__pyx_pw_6nansum_33nansum_2d_float_axis0, METH_O, __pyx_doc_6nansum_32nansum_2d_float_axis0}; -static PyObject *__pyx_pw_6nansum_33nansum_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_31nansum_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_30nansum_1d_int8_axisNone[] = "nansum_1d_int8_axisNone(ndarray a)\nSum of 1d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_31nansum_1d_int8_axisNone = {"nansum_1d_int8_axisNone", (PyCFunction)__pyx_pw_6nansum_31nansum_1d_int8_axisNone, METH_O, __pyx_doc_6nansum_30nansum_1d_int8_axisNone}; +static PyObject *__pyx_pw_6nansum_31nansum_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_32nansum_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_1d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_30nansum_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6257,310 +6441,388 @@ static PyObject *__pyx_pw_6nansum_33nansum_2d_float_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nansum_32nansum_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_6nansum_30nansum_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int8_t __pyx_v_asum; + CYTHON_UNUSED Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_float_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nansum_1d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nansum.pyx":489 - * def nansum_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_allnan = 1; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nansum.pyx":490 - * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef int allnan = 1 - * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + /* "nansum.pyx":512 + * def nansum_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): + * "Sum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.int8_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0; - /* "nansum.pyx":493 - * cdef Py_ssize_t i0, i1 + /* "nansum.pyx":516 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":494 + /* "nansum.pyx":517 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 + * for i0 in range(n0): */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":495 + /* "nansum.pyx":518 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0] */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nansum.pyx":496 + /* "nansum.pyx":519 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * size = n0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0] + * return np.int8(asum) */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":497 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * for i1 in range(n1): + /* "nansum.pyx":520 + * size = n0 + * for i0 in range(n0): + * asum += a[i0] # <<<<<<<<<<<<<< + * return np.int8(asum) + * */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } + __pyx_t_3 = __pyx_v_i0; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nansum.pyx":499 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * allnan = 1 + /* "nansum.pyx":521 + * for i0 in range(n0): + * asum += a[i0] + * return np.int8(asum) # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_From_npy_int8(__pyx_v_asum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; - /* "nansum.pyx":500 - * NPY_float, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0): + /* "nansum.pyx":510 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nansum_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ - __pyx_v_asum = 0.0; - /* "nansum.pyx":501 - * for i1 in range(n1): - * asum = 0 - * allnan = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_allnan = 1; + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("nansum.nansum_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __pyx_L2:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} - /* "nansum.pyx":502 - * asum = 0 - * allnan = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: +/* "nansum.pyx":525 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nansum_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - /* "nansum.pyx":503 - * allnan = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); +/* Python wrapper */ +static PyObject *__pyx_pw_6nansum_33nansum_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_32nansum_1d_int32_axisNone[] = "nansum_1d_int32_axisNone(ndarray a)\nSum of 1d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_33nansum_1d_int32_axisNone = {"nansum_1d_int32_axisNone", (PyCFunction)__pyx_pw_6nansum_33nansum_1d_int32_axisNone, METH_O, __pyx_doc_6nansum_32nansum_1d_int32_axisNone}; +static PyObject *__pyx_pw_6nansum_33nansum_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_lineno = 0; + CYTHON_UNUSED const char *__pyx_filename = NULL; + CYTHON_UNUSED int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("nansum_1d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_32nansum_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":504 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * allnan = 0 + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_6nansum_32nansum_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int32_t __pyx_v_asum; + CYTHON_UNUSED Py_ssize_t __pyx_v_size; + Py_ssize_t __pyx_v_i0; + npy_intp *__pyx_v_dim; + Py_ssize_t __pyx_v_n0; + __Pyx_LocalBuf_ND __pyx_pybuffernd_a; + __Pyx_Buffer __pyx_pybuffer_a; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("nansum_1d_int32_axisNone", 0); + __pyx_pybuffer_a.pybuffer.buf = NULL; + __pyx_pybuffer_a.refcount = 0; + __pyx_pybuffernd_a.data = NULL; + __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + + /* "nansum.pyx":527 + * def nansum_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): + * "Sum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.int32_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_asum = 0; - /* "nansum.pyx":505 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: + /* "nansum.pyx":531 + * cdef Py_ssize_t i0 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n0 = dim[0] + * size = n0 */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":506 - * if ai == ai: - * asum += ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = asum + /* "nansum.pyx":532 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * size = n0 + * for i0 in range(n0): */ - __pyx_v_allnan = 0; - goto __pyx_L7; - } - __pyx_L7:; - } + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":507 - * asum += ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = asum - * else: + /* "nansum.pyx":533 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * size = n0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0] */ - __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_10) { + __pyx_v_size = __pyx_v_n0; - /* "nansum.pyx":508 - * allnan = 0 - * if allnan == 0: - * y[i1] = asum # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN + /* "nansum.pyx":534 + * cdef Py_ssize_t n0 = dim[0] + * size = n0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0] + * return np.int32(asum) */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; - goto __pyx_L8; - } - /*else*/ { + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":510 - * y[i1] = asum - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y + /* "nansum.pyx":535 + * size = n0 + * for i0 in range(n0): + * asum += a[i0] # <<<<<<<<<<<<<< + * return np.int32(asum) * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; - } - __pyx_L8:; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); } - /* "nansum.pyx":511 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nansum.pyx":536 + * for i0 in range(n0): + * asum += a[i0] + * return np.int32(asum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int32); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_From_npy_int32(__pyx_v_asum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; goto __pyx_L0; - /* "nansum.pyx":487 + /* "nansum.pyx":525 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":515 +/* "nansum.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_35nansum_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_34nansum_2d_float_axis1[] = "nansum_2d_float_axis1(ndarray a)\nSum of 2d array with dtype=float along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_35nansum_2d_float_axis1 = {"nansum_2d_float_axis1", (PyCFunction)__pyx_pw_6nansum_35nansum_2d_float_axis1, METH_O, __pyx_doc_6nansum_34nansum_2d_float_axis1}; -static PyObject *__pyx_pw_6nansum_35nansum_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_35nansum_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_34nansum_1d_int64_axisNone[] = "nansum_1d_int64_axisNone(ndarray a)\nSum of 1d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_35nansum_1d_int64_axisNone = {"nansum_1d_int64_axisNone", (PyCFunction)__pyx_pw_6nansum_35nansum_1d_int64_axisNone, METH_O, __pyx_doc_6nansum_34nansum_1d_int64_axisNone}; +static PyObject *__pyx_pw_6nansum_35nansum_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_float_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_34nansum_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_1d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_34nansum_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6571,310 +6833,192 @@ static PyObject *__pyx_pw_6nansum_35nansum_2d_float_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nansum_34nansum_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_6nansum_34nansum_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int64_t __pyx_v_asum; + CYTHON_UNUSED Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_float_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nansum_1d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nansum.pyx":517 - * def nansum_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_allnan = 1; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nansum.pyx":518 - * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef int allnan = 1 - * cdef np.float_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + /* "nansum.pyx":542 + * def nansum_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): + * "Sum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.int64_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0; - /* "nansum.pyx":521 - * cdef Py_ssize_t i0, i1 + /* "nansum.pyx":546 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":522 + /* "nansum.pyx":547 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * size = n0 + * for i0 in range(n0): */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":523 + /* "nansum.pyx":548 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nansum.pyx":524 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nansum.pyx":525 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) + * size = n0 # <<<<<<<<<<<<<< * for i0 in range(n0): + * asum += a[i0] */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_v_size = __pyx_v_n0; - /* "nansum.pyx":527 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + /* "nansum.pyx":549 + * cdef Py_ssize_t n0 = dim[0] + * size = n0 * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * allnan = 1 + * asum += a[i0] + * return np.int64(asum) */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":528 - * NPY_float, 0) + /* "nansum.pyx":550 + * size = n0 * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * allnan = 1 - * for i1 in range(n1): + * asum += a[i0] # <<<<<<<<<<<<<< + * return np.int64(asum) + * */ - __pyx_v_asum = 0.0; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + } - /* "nansum.pyx":529 + /* "nansum.pyx":551 * for i0 in range(n0): - * asum = 0 - * allnan = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_allnan = 1; - - /* "nansum.pyx":530 - * asum = 0 - * allnan = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nansum.pyx":531 - * allnan = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nansum.pyx":532 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * allnan = 0 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nansum.pyx":533 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nansum.pyx":534 - * if ai == ai: - * asum += ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = asum - */ - __pyx_v_allnan = 0; - goto __pyx_L7; - } - __pyx_L7:; - } - - /* "nansum.pyx":535 - * asum += ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = asum - * else: - */ - __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_10) { - - /* "nansum.pyx":536 - * allnan = 0 - * if allnan == 0: - * y[i0] = asum # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; - goto __pyx_L8; - } - /*else*/ { - - /* "nansum.pyx":538 - * y[i0] = asum - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y + * asum += a[i0] + * return np.int64(asum) # <<<<<<<<<<<<<< * + * @cython.boundscheck(False) */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_From_npy_int64(__pyx_v_asum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_L8:; } - - /* "nansum.pyx":539 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + if (!__pyx_t_7) { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; goto __pyx_L0; - /* "nansum.pyx":515 + /* "nansum.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":543 +/* "nansum.pyx":555 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.int_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_37nansum_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_36nansum_2d_float32_axis0[] = "nansum_2d_float32_axis0(ndarray a)\nSum of 2d array with dtype=float32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_37nansum_2d_float32_axis0 = {"nansum_2d_float32_axis0", (PyCFunction)__pyx_pw_6nansum_37nansum_2d_float32_axis0, METH_O, __pyx_doc_6nansum_36nansum_2d_float32_axis0}; -static PyObject *__pyx_pw_6nansum_37nansum_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_37nansum_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_36nansum_2d_int_axisNone[] = "nansum_2d_int_axisNone(ndarray a)\nSum of 2d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_37nansum_2d_int_axisNone = {"nansum_2d_int_axisNone", (PyCFunction)__pyx_pw_6nansum_37nansum_2d_int_axisNone, METH_O, __pyx_doc_6nansum_36nansum_2d_int_axisNone}; +static PyObject *__pyx_pw_6nansum_37nansum_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_36nansum_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_36nansum_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6885,70 +7029,53 @@ static PyObject *__pyx_pw_6nansum_37nansum_2d_float32_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nansum_36nansum_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nansum_36nansum_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int_t __pyx_v_asum; + CYTHON_UNUSED Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_float32_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nansum_2d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":545 - * def nansum_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_allnan = 1; - - /* "nansum.pyx":546 - * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef int allnan = 1 - * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nansum.pyx":557 + * def nansum_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): + * "Sum of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.int_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0; - /* "nansum.pyx":549 + /* "nansum.pyx":561 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6957,238 +7084,164 @@ static PyObject *__pyx_pf_6nansum_36nansum_2d_float32_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":550 + /* "nansum.pyx":562 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":551 + /* "nansum.pyx":563 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * for i0 in range(n0): */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":552 + /* "nansum.pyx":564 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nansum.pyx":553 + /* "nansum.pyx":565 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nansum.pyx":555 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * allnan = 1 - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "nansum.pyx":556 - * NPY_float32, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0): - */ - __pyx_v_asum = 0.0; - - /* "nansum.pyx":557 - * for i1 in range(n1): - * asum = 0 - * allnan = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_allnan = 1; - - /* "nansum.pyx":558 - * asum = 0 - * allnan = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nansum.pyx":559 - * allnan = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nansum.pyx":560 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * allnan = 0 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nansum.pyx":561 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nansum.pyx":562 - * if ai == ai: - * asum += ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = asum - */ - __pyx_v_allnan = 0; - goto __pyx_L7; - } - __pyx_L7:; - } - - /* "nansum.pyx":563 - * asum += ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = asum - * else: + * size = n0 * n1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_10) { + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":564 - * allnan = 0 - * if allnan == 0: - * y[i1] = asum # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN + /* "nansum.pyx":566 + * size = n0 * n1 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * return np.int(asum) */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; - goto __pyx_L8; - } - /*else*/ { + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nansum.pyx":566 - * y[i1] = asum - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y + /* "nansum.pyx":567 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * return np.int(asum) * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); } - __pyx_L8:; } - /* "nansum.pyx":567 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nansum.pyx":568 + * for i1 in range(n1): + * asum += a[i0, i1] + * return np.int(asum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int_2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyInt_From_npy_long(__pyx_v_asum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "nansum.pyx":543 + /* "nansum.pyx":555 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.int_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":571 +/* "nansum.pyx":572 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_39nansum_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_38nansum_2d_float32_axis1[] = "nansum_2d_float32_axis1(ndarray a)\nSum of 2d array with dtype=float32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_39nansum_2d_float32_axis1 = {"nansum_2d_float32_axis1", (PyCFunction)__pyx_pw_6nansum_39nansum_2d_float32_axis1, METH_O, __pyx_doc_6nansum_38nansum_2d_float32_axis1}; -static PyObject *__pyx_pw_6nansum_39nansum_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_39nansum_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_38nansum_2d_int8_axisNone[] = "nansum_2d_int8_axisNone(ndarray a)\nSum of 2d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_39nansum_2d_int8_axisNone = {"nansum_2d_int8_axisNone", (PyCFunction)__pyx_pw_6nansum_39nansum_2d_int8_axisNone, METH_O, __pyx_doc_6nansum_38nansum_2d_int8_axisNone}; +static PyObject *__pyx_pw_6nansum_39nansum_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_float32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_38nansum_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_38nansum_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7199,70 +7252,53 @@ static PyObject *__pyx_pw_6nansum_39nansum_2d_float32_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nansum_38nansum_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nansum_38nansum_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int8_t __pyx_v_asum; + CYTHON_UNUSED Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_float32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nansum_2d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":573 - * def nansum_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_allnan = 1; - /* "nansum.pyx":574 - * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef int allnan = 1 - * cdef np.float32_t asum = 0, ai # <<<<<<<<<<<<<< + * def nansum_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): + * "Sum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.int8_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0; - /* "nansum.pyx":577 + /* "nansum.pyx":578 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7271,238 +7307,164 @@ static PyObject *__pyx_pf_6nansum_38nansum_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":578 + /* "nansum.pyx":579 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":579 + /* "nansum.pyx":580 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * for i0 in range(n0): */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":580 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":581 + * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nansum.pyx":583 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + /* "nansum.pyx":582 + * cdef Py_ssize_t n1 = dim[1] + * size = n0 * n1 * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * allnan = 1 - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "nansum.pyx":584 - * NPY_float32, 0) - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * allnan = 1 * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_v_asum = 0.0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":585 + /* "nansum.pyx":583 + * size = n0 * n1 * for i0 in range(n0): - * asum = 0 - * allnan = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_allnan = 1; - - /* "nansum.pyx":586 - * asum = 0 - * allnan = 1 * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nansum.pyx":587 - * allnan = 1 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * asum += a[i0, i1] + * return np.int8(asum) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nansum.pyx":588 + /* "nansum.pyx":584 + * for i0 in range(n0): * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * allnan = 0 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nansum.pyx":589 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nansum.pyx":590 - * if ai == ai: - * asum += ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = asum - */ - __pyx_v_allnan = 0; - goto __pyx_L7; - } - __pyx_L7:; - } - - /* "nansum.pyx":591 - * asum += ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = asum - * else: - */ - __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_10) { - - /* "nansum.pyx":592 - * allnan = 0 - * if allnan == 0: - * y[i0] = asum # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; - goto __pyx_L8; - } - /*else*/ { - - /* "nansum.pyx":594 - * y[i0] = asum - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * return np.int8(asum) * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); } - __pyx_L8:; } - /* "nansum.pyx":595 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nansum.pyx":585 + * for i1 in range(n1): + * asum += a[i0, i1] + * return np.int8(asum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyInt_From_npy_int8(__pyx_v_asum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "nansum.pyx":571 + /* "nansum.pyx":572 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":599 +/* "nansum.pyx":589 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_41nansum_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_40nansum_2d_float64_axis0[] = "nansum_2d_float64_axis0(ndarray a)\nSum of 2d array with dtype=float64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_41nansum_2d_float64_axis0 = {"nansum_2d_float64_axis0", (PyCFunction)__pyx_pw_6nansum_41nansum_2d_float64_axis0, METH_O, __pyx_doc_6nansum_40nansum_2d_float64_axis0}; -static PyObject *__pyx_pw_6nansum_41nansum_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_41nansum_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_40nansum_2d_int32_axisNone[] = "nansum_2d_int32_axisNone(ndarray a)\nSum of 2d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_41nansum_2d_int32_axisNone = {"nansum_2d_int32_axisNone", (PyCFunction)__pyx_pw_6nansum_41nansum_2d_int32_axisNone, METH_O, __pyx_doc_6nansum_40nansum_2d_int32_axisNone}; +static PyObject *__pyx_pw_6nansum_41nansum_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_40nansum_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_40nansum_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7513,70 +7475,53 @@ static PyObject *__pyx_pw_6nansum_41nansum_2d_float64_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nansum_40nansum_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nansum_40nansum_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int32_t __pyx_v_asum; + CYTHON_UNUSED Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_float64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nansum_2d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":601 - * def nansum_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_allnan = 1; - - /* "nansum.pyx":602 - * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef int allnan = 1 - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nansum.pyx":591 + * def nansum_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): + * "Sum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.int32_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0; - /* "nansum.pyx":605 + /* "nansum.pyx":595 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7585,238 +7530,164 @@ static PyObject *__pyx_pf_6nansum_40nansum_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":606 + /* "nansum.pyx":596 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":607 + /* "nansum.pyx":597 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * for i0 in range(n0): */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":608 + /* "nansum.pyx":598 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nansum.pyx":609 + /* "nansum.pyx":599 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nansum.pyx":611 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * allnan = 1 - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "nansum.pyx":612 - * NPY_float64, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * allnan = 1 - * for i0 in range(n0): - */ - __pyx_v_asum = 0.0; - - /* "nansum.pyx":613 - * for i1 in range(n1): - * asum = 0 - * allnan = 1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_allnan = 1; - - /* "nansum.pyx":614 - * asum = 0 - * allnan = 1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nansum.pyx":615 - * allnan = 1 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nansum.pyx":616 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * allnan = 0 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nansum.pyx":617 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nansum.pyx":618 - * if ai == ai: - * asum += ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i1] = asum - */ - __pyx_v_allnan = 0; - goto __pyx_L7; - } - __pyx_L7:; - } - - /* "nansum.pyx":619 - * asum += ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i1] = asum - * else: + * size = n0 * n1 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_10) { + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":620 - * allnan = 0 - * if allnan == 0: - * y[i1] = asum # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; - goto __pyx_L8; - } - /*else*/ { + /* "nansum.pyx":600 + * size = n0 * n1 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * return np.int32(asum) + */ + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nansum.pyx":622 - * y[i1] = asum - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y + /* "nansum.pyx":601 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * return np.int32(asum) * */ - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); } - __pyx_L8:; } - /* "nansum.pyx":623 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nansum.pyx":602 + * for i1 in range(n1): + * asum += a[i0, i1] + * return np.int32(asum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyInt_From_npy_int32(__pyx_v_asum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "nansum.pyx":599 + /* "nansum.pyx":589 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":627 +/* "nansum.pyx":606 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_43nansum_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_42nansum_2d_float64_axis1[] = "nansum_2d_float64_axis1(ndarray a)\nSum of 2d array with dtype=float64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_43nansum_2d_float64_axis1 = {"nansum_2d_float64_axis1", (PyCFunction)__pyx_pw_6nansum_43nansum_2d_float64_axis1, METH_O, __pyx_doc_6nansum_42nansum_2d_float64_axis1}; -static PyObject *__pyx_pw_6nansum_43nansum_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_43nansum_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_42nansum_2d_int64_axisNone[] = "nansum_2d_int64_axisNone(ndarray a)\nSum of 2d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_43nansum_2d_int64_axisNone = {"nansum_2d_int64_axisNone", (PyCFunction)__pyx_pw_6nansum_43nansum_2d_int64_axisNone, METH_O, __pyx_doc_6nansum_42nansum_2d_int64_axisNone}; +static PyObject *__pyx_pw_6nansum_43nansum_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_float64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_42nansum_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_42nansum_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7827,70 +7698,53 @@ static PyObject *__pyx_pw_6nansum_43nansum_2d_float64_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nansum_42nansum_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - int __pyx_v_allnan; - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nansum_42nansum_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int64_t __pyx_v_asum; + CYTHON_UNUSED Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_float64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nansum_2d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":629 - * def nansum_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef int allnan = 1 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_allnan = 1; - - /* "nansum.pyx":630 - * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef int allnan = 1 - * cdef np.float64_t asum = 0, ai # <<<<<<<<<<<<<< + /* "nansum.pyx":608 + * def nansum_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): + * "Sum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.int64_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0; - /* "nansum.pyx":633 + /* "nansum.pyx":612 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7899,238 +7753,164 @@ static PyObject *__pyx_pf_6nansum_42nansum_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":634 + /* "nansum.pyx":613 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":635 + /* "nansum.pyx":614 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * for i0 in range(n0): */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":636 + /* "nansum.pyx":615 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "nansum.pyx":637 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "nansum.pyx":639 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * allnan = 1 - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "nansum.pyx":640 - * NPY_float64, 0) - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * allnan = 1 - * for i1 in range(n1): - */ - __pyx_v_asum = 0.0; - - /* "nansum.pyx":641 + * size = n0 * n1 # <<<<<<<<<<<<<< * for i0 in range(n0): - * asum = 0 - * allnan = 1 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_allnan = 1; - - /* "nansum.pyx":642 - * asum = 0 - * allnan = 1 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nansum.pyx":643 - * allnan = 1 * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nansum.pyx":644 + /* "nansum.pyx":616 + * cdef Py_ssize_t n1 = dim[1] + * size = n0 * n1 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * allnan = 0 - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nansum.pyx":645 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * allnan = 0 - * if allnan == 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nansum.pyx":646 - * if ai == ai: - * asum += ai - * allnan = 0 # <<<<<<<<<<<<<< - * if allnan == 0: - * y[i0] = asum - */ - __pyx_v_allnan = 0; - goto __pyx_L7; - } - __pyx_L7:; - } - - /* "nansum.pyx":647 - * asum += ai - * allnan = 0 - * if allnan == 0: # <<<<<<<<<<<<<< - * y[i0] = asum - * else: + * asum += a[i0, i1] */ - __pyx_t_10 = ((__pyx_v_allnan == 0) != 0); - if (__pyx_t_10) { + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nansum.pyx":648 - * allnan = 0 - * if allnan == 0: - * y[i0] = asum # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN + /* "nansum.pyx":617 + * size = n0 * n1 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * return np.int64(asum) */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; - goto __pyx_L8; - } - /*else*/ { + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nansum.pyx":650 - * y[i0] = asum - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y + /* "nansum.pyx":618 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * return np.int64(asum) * */ - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nansum_NAN; + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); } - __pyx_L8:; } - /* "nansum.pyx":651 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nansum.pyx":619 + * for i1 in range(n1): + * asum += a[i0, i1] + * return np.int64(asum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyInt_From_npy_int64(__pyx_v_asum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "nansum.pyx":627 + /* "nansum.pyx":606 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":655 +/* "nansum.pyx":623 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nansum_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.int_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_45nansum_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_44nansum_1d_int_axisNone[] = "nansum_1d_int_axisNone(ndarray a)\nSum of 1d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_45nansum_1d_int_axisNone = {"nansum_1d_int_axisNone", (PyCFunction)__pyx_pw_6nansum_45nansum_1d_int_axisNone, METH_O, __pyx_doc_6nansum_44nansum_1d_int_axisNone}; -static PyObject *__pyx_pw_6nansum_45nansum_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_45nansum_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_44nansum_2d_int_axis0[] = "nansum_2d_int_axis0(ndarray a)\nSum of 2d array with dtype=int along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_45nansum_2d_int_axis0 = {"nansum_2d_int_axis0", (PyCFunction)__pyx_pw_6nansum_45nansum_2d_int_axis0, METH_O, __pyx_doc_6nansum_44nansum_2d_int_axis0}; +static PyObject *__pyx_pw_6nansum_45nansum_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_1d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_44nansum_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_44nansum_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8141,192 +7921,233 @@ static PyObject *__pyx_pw_6nansum_45nansum_1d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nansum_44nansum_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nansum_44nansum_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_int_t __pyx_v_asum; - CYTHON_UNUSED Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_1d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":657 - * def nansum_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): - * "Sum of 1d array with dtype=int along axis=None ignoring NaNs." + /* "nansum.pyx":625 + * def nansum_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Sum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.int_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0; - /* "nansum.pyx":661 - * cdef Py_ssize_t i0 + /* "nansum.pyx":628 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":662 + /* "nansum.pyx":629 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":663 + /* "nansum.pyx":630 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":664 + /* "nansum.pyx":631 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0] - * return np.int(asum) + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":665 - * size = n0 - * for i0 in range(n0): - * asum += a[i0] # <<<<<<<<<<<<<< - * return np.int(asum) - * + /* "nansum.pyx":632 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int, 0) + * for i1 in range(n1): */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nansum.pyx":666 - * for i0 in range(n0): - * asum += a[i0] - * return np.int(asum) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + /* "nansum.pyx":634 + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int_2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_asum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "nansum.pyx":635 + * NPY_int, 0) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0; + + /* "nansum.pyx":636 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i1] = asum + */ + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; + + /* "nansum.pyx":637 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i1] = asum + * return y + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); } + + /* "nansum.pyx":638 + * for i0 in range(n0): + * asum += a[i0, i1] + * y[i1] = asum # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; } - if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + + /* "nansum.pyx":639 + * asum += a[i0, i1] + * y[i1] = asum + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":655 + /* "nansum.pyx":623 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nansum_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.int_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":670 +/* "nansum.pyx":643 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int8 along axis=None ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=1 ignoring NaNs." + * cdef np.int_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_47nansum_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_46nansum_1d_int8_axisNone[] = "nansum_1d_int8_axisNone(ndarray a)\nSum of 1d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_47nansum_1d_int8_axisNone = {"nansum_1d_int8_axisNone", (PyCFunction)__pyx_pw_6nansum_47nansum_1d_int8_axisNone, METH_O, __pyx_doc_6nansum_46nansum_1d_int8_axisNone}; -static PyObject *__pyx_pw_6nansum_47nansum_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_47nansum_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_46nansum_2d_int_axis1[] = "nansum_2d_int_axis1(ndarray a)\nSum of 2d array with dtype=int along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_47nansum_2d_int_axis1 = {"nansum_2d_int_axis1", (PyCFunction)__pyx_pw_6nansum_47nansum_2d_int_axis1, METH_O, __pyx_doc_6nansum_46nansum_2d_int_axis1}; +static PyObject *__pyx_pw_6nansum_47nansum_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_1d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_46nansum_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_46nansum_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8337,192 +8158,233 @@ static PyObject *__pyx_pw_6nansum_47nansum_1d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nansum_46nansum_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int8_t __pyx_v_asum; - CYTHON_UNUSED Py_ssize_t __pyx_v_size; +static PyObject *__pyx_pf_6nansum_46nansum_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int_t __pyx_v_asum; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_1d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":672 - * def nansum_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): - * "Sum of 1d array with dtype=int8 along axis=None ignoring NaNs." - * cdef np.int8_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + /* "nansum.pyx":645 + * def nansum_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Sum of 2d array with dtype=int along axis=1 ignoring NaNs." + * cdef np.int_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0; - /* "nansum.pyx":676 - * cdef Py_ssize_t i0 + /* "nansum.pyx":648 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":677 + /* "nansum.pyx":649 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":678 + /* "nansum.pyx":650 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":679 + /* "nansum.pyx":651 * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "nansum.pyx":652 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nansum.pyx":654 + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0] - * return np.int8(asum) + * asum = 0 + * for i1 in range(n1): */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nansum.pyx":680 - * size = n0 + /* "nansum.pyx":655 + * NPY_int, 0) * for i0 in range(n0): - * asum += a[i0] # <<<<<<<<<<<<<< - * return np.int8(asum) + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0; + + /* "nansum.pyx":656 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i0] = asum + */ + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; + + /* "nansum.pyx":657 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i0] = asum + * return y + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nansum.pyx":658 + * for i1 in range(n1): + * asum += a[i0, i1] + * y[i0] = asum # <<<<<<<<<<<<<< + * return y * */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; } - /* "nansum.pyx":681 - * for i0 in range(n0): - * asum += a[i0] - * return np.int8(asum) # <<<<<<<<<<<<<< + /* "nansum.pyx":659 + * asum += a[i0, i1] + * y[i0] = asum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_From_npy_int8(__pyx_v_asum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":670 + /* "nansum.pyx":643 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int8 along axis=None ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=1 ignoring NaNs." + * cdef np.int_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":685 +/* "nansum.pyx":663 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int32 along axis=None ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_49nansum_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_48nansum_1d_int32_axisNone[] = "nansum_1d_int32_axisNone(ndarray a)\nSum of 1d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_49nansum_1d_int32_axisNone = {"nansum_1d_int32_axisNone", (PyCFunction)__pyx_pw_6nansum_49nansum_1d_int32_axisNone, METH_O, __pyx_doc_6nansum_48nansum_1d_int32_axisNone}; -static PyObject *__pyx_pw_6nansum_49nansum_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_49nansum_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_48nansum_2d_int8_axis0[] = "nansum_2d_int8_axis0(ndarray a)\nSum of 2d array with dtype=int8 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_49nansum_2d_int8_axis0 = {"nansum_2d_int8_axis0", (PyCFunction)__pyx_pw_6nansum_49nansum_2d_int8_axis0, METH_O, __pyx_doc_6nansum_48nansum_2d_int8_axis0}; +static PyObject *__pyx_pw_6nansum_49nansum_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_1d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_48nansum_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_48nansum_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8533,192 +8395,233 @@ static PyObject *__pyx_pw_6nansum_49nansum_1d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nansum_48nansum_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int32_t __pyx_v_asum; - CYTHON_UNUSED Py_ssize_t __pyx_v_size; +static PyObject *__pyx_pf_6nansum_48nansum_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int8_t __pyx_v_asum; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_1d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_int8_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":687 - * def nansum_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): - * "Sum of 1d array with dtype=int32 along axis=None ignoring NaNs." - * cdef np.int32_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + /* "nansum.pyx":665 + * def nansum_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Sum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * cdef np.int8_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0; - /* "nansum.pyx":691 - * cdef Py_ssize_t i0 + /* "nansum.pyx":668 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":692 + /* "nansum.pyx":669 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":693 + /* "nansum.pyx":670 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":694 + /* "nansum.pyx":671 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0] - * return np.int32(asum) + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":695 - * size = n0 - * for i0 in range(n0): - * asum += a[i0] # <<<<<<<<<<<<<< - * return np.int32(asum) + /* "nansum.pyx":672 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int8, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nansum.pyx":674 + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): + */ + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "nansum.pyx":675 + * NPY_int8, 0) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0; + + /* "nansum.pyx":676 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i1] = asum + */ + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; + + /* "nansum.pyx":677 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i1] = asum + * return y + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nansum.pyx":678 + * for i0 in range(n0): + * asum += a[i0, i1] + * y[i1] = asum # <<<<<<<<<<<<<< + * return y * */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; } - /* "nansum.pyx":696 - * for i0 in range(n0): - * asum += a[i0] - * return np.int32(asum) # <<<<<<<<<<<<<< + /* "nansum.pyx":679 + * asum += a[i0, i1] + * y[i1] = asum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int32); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_From_npy_int32(__pyx_v_asum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":685 + /* "nansum.pyx":663 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int32 along axis=None ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":700 +/* "nansum.pyx":683 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int64 along axis=None ignoring NaNs." - * cdef np.int64_t asum = 0, ai + * def nansum_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_51nansum_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_50nansum_1d_int64_axisNone[] = "nansum_1d_int64_axisNone(ndarray a)\nSum of 1d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_51nansum_1d_int64_axisNone = {"nansum_1d_int64_axisNone", (PyCFunction)__pyx_pw_6nansum_51nansum_1d_int64_axisNone, METH_O, __pyx_doc_6nansum_50nansum_1d_int64_axisNone}; -static PyObject *__pyx_pw_6nansum_51nansum_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_51nansum_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_50nansum_2d_int8_axis1[] = "nansum_2d_int8_axis1(ndarray a)\nSum of 2d array with dtype=int8 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_51nansum_2d_int8_axis1 = {"nansum_2d_int8_axis1", (PyCFunction)__pyx_pw_6nansum_51nansum_2d_int8_axis1, METH_O, __pyx_doc_6nansum_50nansum_2d_int8_axis1}; +static PyObject *__pyx_pw_6nansum_51nansum_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_1d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_50nansum_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int8_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_50nansum_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8729,192 +8632,233 @@ static PyObject *__pyx_pw_6nansum_51nansum_1d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nansum_50nansum_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int64_t __pyx_v_asum; - CYTHON_UNUSED Py_ssize_t __pyx_v_size; +static PyObject *__pyx_pf_6nansum_50nansum_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int8_t __pyx_v_asum; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_1d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_int8_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":702 - * def nansum_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): - * "Sum of 1d array with dtype=int64 along axis=None ignoring NaNs." - * cdef np.int64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + /* "nansum.pyx":685 + * def nansum_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Sum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * cdef np.int8_t asum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0; - /* "nansum.pyx":706 - * cdef Py_ssize_t i0 + /* "nansum.pyx":688 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":707 + /* "nansum.pyx":689 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":708 + /* "nansum.pyx":690 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":709 + /* "nansum.pyx":691 * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "nansum.pyx":692 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int8, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nansum.pyx":694 + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0] - * return np.int64(asum) + * asum = 0 + * for i1 in range(n1): */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nansum.pyx":710 - * size = n0 + /* "nansum.pyx":695 + * NPY_int8, 0) * for i0 in range(n0): - * asum += a[i0] # <<<<<<<<<<<<<< - * return np.int64(asum) + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0; + + /* "nansum.pyx":696 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * y[i0] = asum + */ + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; + + /* "nansum.pyx":697 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * y[i0] = asum + * return y + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nansum.pyx":698 + * for i1 in range(n1): + * asum += a[i0, i1] + * y[i0] = asum # <<<<<<<<<<<<<< + * return y * */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides))); + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; } - /* "nansum.pyx":711 - * for i0 in range(n0): - * asum += a[i0] - * return np.int64(asum) # <<<<<<<<<<<<<< + /* "nansum.pyx":699 + * asum += a[i0, i1] + * y[i0] = asum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_From_npy_int64(__pyx_v_asum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":700 + /* "nansum.pyx":683 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int64 along axis=None ignoring NaNs." - * cdef np.int64_t asum = 0, ai + * def nansum_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":715 +/* "nansum.pyx":703 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=None ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_53nansum_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_52nansum_2d_int_axisNone[] = "nansum_2d_int_axisNone(ndarray a)\nSum of 2d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_53nansum_2d_int_axisNone = {"nansum_2d_int_axisNone", (PyCFunction)__pyx_pw_6nansum_53nansum_2d_int_axisNone, METH_O, __pyx_doc_6nansum_52nansum_2d_int_axisNone}; -static PyObject *__pyx_pw_6nansum_53nansum_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_53nansum_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_52nansum_2d_int32_axis0[] = "nansum_2d_int32_axis0(ndarray a)\nSum of 2d array with dtype=int32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_53nansum_2d_int32_axis0 = {"nansum_2d_int32_axis0", (PyCFunction)__pyx_pw_6nansum_53nansum_2d_int32_axis0, METH_O, __pyx_doc_6nansum_52nansum_2d_int32_axis0}; +static PyObject *__pyx_pw_6nansum_53nansum_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_52nansum_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_52nansum_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8925,53 +8869,58 @@ static PyObject *__pyx_pw_6nansum_53nansum_2d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nansum_52nansum_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int_t __pyx_v_asum; - CYTHON_UNUSED Py_ssize_t __pyx_v_size; +static PyObject *__pyx_pf_6nansum_52nansum_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int32_t __pyx_v_asum; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_int32_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":717 - * def nansum_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): - * "Sum of 2d array with dtype=int along axis=None ignoring NaNs." - * cdef np.int_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size + /* "nansum.pyx":705 + * def nansum_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Sum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * cdef np.int32_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0; - /* "nansum.pyx":721 + /* "nansum.pyx":708 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8980,164 +8929,173 @@ static PyObject *__pyx_pf_6nansum_52nansum_2d_int_axisNone(CYTHON_UNUSED PyObjec */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":722 + /* "nansum.pyx":709 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":723 + /* "nansum.pyx":710 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":724 + /* "nansum.pyx":711 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":725 + /* "nansum.pyx":712 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int32, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nansum.pyx":714 + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): + */ + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "nansum.pyx":715 + * NPY_int32, 0) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * asum += a[i0, i1] */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_asum = 0; - /* "nansum.pyx":726 - * size = n0 * n1 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "nansum.pyx":716 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * asum += a[i0, i1] - * return np.int(asum) + * y[i1] = asum */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nansum.pyx":727 - * for i0 in range(n0): - * for i1 in range(n1): + /* "nansum.pyx":717 + * asum = 0 + * for i0 in range(n0): * asum += a[i0, i1] # <<<<<<<<<<<<<< - * return np.int(asum) - * + * y[i1] = asum + * return y */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); } + + /* "nansum.pyx":718 + * for i0 in range(n0): + * asum += a[i0, i1] + * y[i1] = asum # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; } - /* "nansum.pyx":728 - * for i1 in range(n1): + /* "nansum.pyx":719 * asum += a[i0, i1] - * return np.int(asum) # <<<<<<<<<<<<<< + * y[i1] = asum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int_2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyInt_From_npy_long(__pyx_v_asum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - } - } - if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_7); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":715 + /* "nansum.pyx":703 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=None ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":732 +/* "nansum.pyx":723 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=None ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_55nansum_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_54nansum_2d_int8_axisNone[] = "nansum_2d_int8_axisNone(ndarray a)\nSum of 2d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_55nansum_2d_int8_axisNone = {"nansum_2d_int8_axisNone", (PyCFunction)__pyx_pw_6nansum_55nansum_2d_int8_axisNone, METH_O, __pyx_doc_6nansum_54nansum_2d_int8_axisNone}; -static PyObject *__pyx_pw_6nansum_55nansum_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_55nansum_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_54nansum_2d_int32_axis1[] = "nansum_2d_int32_axis1(ndarray a)\nSum of 2d array with dtype=int32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_55nansum_2d_int32_axis1 = {"nansum_2d_int32_axis1", (PyCFunction)__pyx_pw_6nansum_55nansum_2d_int32_axis1, METH_O, __pyx_doc_6nansum_54nansum_2d_int32_axis1}; +static PyObject *__pyx_pw_6nansum_55nansum_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_54nansum_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_54nansum_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9148,53 +9106,58 @@ static PyObject *__pyx_pw_6nansum_55nansum_2d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nansum_54nansum_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int8_t __pyx_v_asum; - CYTHON_UNUSED Py_ssize_t __pyx_v_size; +static PyObject *__pyx_pf_6nansum_54nansum_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int32_t __pyx_v_asum; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_int32_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":734 - * def nansum_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): - * "Sum of 2d array with dtype=int8 along axis=None ignoring NaNs." - * cdef np.int8_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size + /* "nansum.pyx":725 + * def nansum_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Sum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * cdef np.int32_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0; - /* "nansum.pyx":738 + /* "nansum.pyx":728 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9203,164 +9166,173 @@ static PyObject *__pyx_pf_6nansum_54nansum_2d_int8_axisNone(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":739 + /* "nansum.pyx":729 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":740 + /* "nansum.pyx":730 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":741 + /* "nansum.pyx":731 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":742 + /* "nansum.pyx":732 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int32, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nansum.pyx":734 + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; + + /* "nansum.pyx":735 + * NPY_int32, 0) + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * asum += a[i0, i1] */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_asum = 0; - /* "nansum.pyx":743 - * size = n0 * n1 + /* "nansum.pyx":736 * for i0 in range(n0): + * asum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * asum += a[i0, i1] - * return np.int8(asum) + * y[i0] = asum */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nansum.pyx":744 - * for i0 in range(n0): + /* "nansum.pyx":737 + * asum = 0 * for i1 in range(n1): * asum += a[i0, i1] # <<<<<<<<<<<<<< - * return np.int8(asum) - * + * y[i0] = asum + * return y */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); } - } - /* "nansum.pyx":745 + /* "nansum.pyx":738 * for i1 in range(n1): * asum += a[i0, i1] - * return np.int8(asum) # <<<<<<<<<<<<<< + * y[i0] = asum # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; + } + + /* "nansum.pyx":739 + * asum += a[i0, i1] + * y[i0] = asum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyInt_From_npy_int8(__pyx_v_asum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - } - } - if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_7); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":732 + /* "nansum.pyx":723 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=None ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":749 +/* "nansum.pyx":743 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=None ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_57nansum_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_56nansum_2d_int32_axisNone[] = "nansum_2d_int32_axisNone(ndarray a)\nSum of 2d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_57nansum_2d_int32_axisNone = {"nansum_2d_int32_axisNone", (PyCFunction)__pyx_pw_6nansum_57nansum_2d_int32_axisNone, METH_O, __pyx_doc_6nansum_56nansum_2d_int32_axisNone}; -static PyObject *__pyx_pw_6nansum_57nansum_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_57nansum_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_56nansum_2d_int64_axis0[] = "nansum_2d_int64_axis0(ndarray a)\nSum of 2d array with dtype=int64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_57nansum_2d_int64_axis0 = {"nansum_2d_int64_axis0", (PyCFunction)__pyx_pw_6nansum_57nansum_2d_int64_axis0, METH_O, __pyx_doc_6nansum_56nansum_2d_int64_axis0}; +static PyObject *__pyx_pw_6nansum_57nansum_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_56nansum_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_56nansum_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9371,53 +9343,58 @@ static PyObject *__pyx_pw_6nansum_57nansum_2d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nansum_56nansum_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int32_t __pyx_v_asum; - CYTHON_UNUSED Py_ssize_t __pyx_v_size; +static PyObject *__pyx_pf_6nansum_56nansum_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int64_t __pyx_v_asum; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_int64_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":751 - * def nansum_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): - * "Sum of 2d array with dtype=int32 along axis=None ignoring NaNs." - * cdef np.int32_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size + /* "nansum.pyx":745 + * def nansum_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Sum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * cdef np.int64_t asum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0; - /* "nansum.pyx":755 + /* "nansum.pyx":748 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9426,164 +9403,173 @@ static PyObject *__pyx_pf_6nansum_56nansum_2d_int32_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":756 + /* "nansum.pyx":749 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":757 + /* "nansum.pyx":750 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":758 + /* "nansum.pyx":751 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":759 + /* "nansum.pyx":752 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int64, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nansum.pyx":754 + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): + */ + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "nansum.pyx":755 + * NPY_int64, 0) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * asum += a[i0, i1] */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_asum = 0; - /* "nansum.pyx":760 - * size = n0 * n1 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "nansum.pyx":756 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * asum += a[i0, i1] - * return np.int32(asum) + * y[i1] = asum */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nansum.pyx":761 - * for i0 in range(n0): - * for i1 in range(n1): + /* "nansum.pyx":757 + * asum = 0 + * for i0 in range(n0): * asum += a[i0, i1] # <<<<<<<<<<<<<< - * return np.int32(asum) - * + * y[i1] = asum + * return y */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); } + + /* "nansum.pyx":758 + * for i0 in range(n0): + * asum += a[i0, i1] + * y[i1] = asum # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; } - /* "nansum.pyx":762 - * for i1 in range(n1): + /* "nansum.pyx":759 * asum += a[i0, i1] - * return np.int32(asum) # <<<<<<<<<<<<<< + * y[i1] = asum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyInt_From_npy_int32(__pyx_v_asum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - } - } - if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_7); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":749 + /* "nansum.pyx":743 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=None ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nansum.pyx":766 +/* "nansum.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nansum_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.int64_t asum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nansum_59nansum_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_6nansum_58nansum_2d_int64_axisNone[] = "nansum_2d_int64_axisNone(ndarray a)\nSum of 2d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nansum_59nansum_2d_int64_axisNone = {"nansum_2d_int64_axisNone", (PyCFunction)__pyx_pw_6nansum_59nansum_2d_int64_axisNone, METH_O, __pyx_doc_6nansum_58nansum_2d_int64_axisNone}; -static PyObject *__pyx_pw_6nansum_59nansum_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_6nansum_59nansum_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_6nansum_58nansum_2d_int64_axis1[] = "nansum_2d_int64_axis1(ndarray a)\nSum of 2d array with dtype=int64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nansum_59nansum_2d_int64_axis1 = {"nansum_2d_int64_axis1", (PyCFunction)__pyx_pw_6nansum_59nansum_2d_int64_axis1, METH_O, __pyx_doc_6nansum_58nansum_2d_int64_axis1}; +static PyObject *__pyx_pw_6nansum_59nansum_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nansum_2d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nansum_58nansum_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("nansum_2d_int64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nansum_58nansum_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9594,53 +9580,58 @@ static PyObject *__pyx_pw_6nansum_59nansum_2d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nansum_58nansum_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_6nansum_58nansum_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_int64_t __pyx_v_asum; - CYTHON_UNUSED Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nansum_2d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nansum_2d_int64_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nansum.pyx":768 - * def nansum_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): - * "Sum of 2d array with dtype=int64 along axis=None ignoring NaNs." + /* "nansum.pyx":765 + * def nansum_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Sum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.int64_t asum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0; - /* "nansum.pyx":772 + /* "nansum.pyx":768 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9649,145 +9640,154 @@ static PyObject *__pyx_pf_6nansum_58nansum_2d_int64_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nansum.pyx":773 + /* "nansum.pyx":769 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nansum.pyx":774 + /* "nansum.pyx":770 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nansum.pyx":775 + /* "nansum.pyx":771 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nansum.pyx":776 + /* "nansum.pyx":772 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int64, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "nansum.pyx":774 + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; + + /* "nansum.pyx":775 + * NPY_int64, 0) + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * asum += a[i0, i1] */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_asum = 0; - /* "nansum.pyx":777 - * size = n0 * n1 + /* "nansum.pyx":776 * for i0 in range(n0): + * asum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * asum += a[i0, i1] - * return np.int64(asum) + * y[i0] = asum */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nansum.pyx":778 - * for i0 in range(n0): + /* "nansum.pyx":777 + * asum = 0 * for i1 in range(n1): * asum += a[i0, i1] # <<<<<<<<<<<<<< - * return np.int64(asum) - * + * y[i0] = asum + * return y */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides))); } + + /* "nansum.pyx":778 + * for i1 in range(n1): + * asum += a[i0, i1] + * y[i0] = asum # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_asum; } /* "nansum.pyx":779 - * for i1 in range(n1): * asum += a[i0, i1] - * return np.int64(asum) # <<<<<<<<<<<<<< + * y[i0] = asum + * return y # <<<<<<<<<<<<<< * * cdef dict nansum_dict = {} */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyInt_From_npy_int64(__pyx_v_asum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - } - } - if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_7); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nansum.pyx":766 + /* "nansum.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nansum_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.int64_t asum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nansum.nansum_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nansum.nansum_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "nansum.pyx":818 - * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone + * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 * * def nansum_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nansum along axis 0." @@ -9855,7 +9855,7 @@ static PyObject *__pyx_pf_6nansum_60nansum_slow_axis0(CYTHON_UNUSED PyObject *__ goto __pyx_L0; /* "nansum.pyx":818 - * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone + * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 * * def nansum_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nansum along axis 0." @@ -12846,7 +12846,7 @@ static PyObject *__pyx_pf_6nansum_126nansum_slow_axisNone(CYTHON_UNUSED PyObject return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -12896,7 +12896,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -12909,7 +12909,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -12918,7 +12918,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -12927,7 +12927,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -12936,7 +12936,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -12946,7 +12946,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -12958,7 +12958,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -12969,7 +12969,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12985,7 +12985,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12997,7 +12997,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -13011,7 +13011,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -13027,7 +13027,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -13039,7 +13039,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -13053,7 +13053,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -13062,7 +13062,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -13071,7 +13071,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -13081,7 +13081,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -13090,7 +13090,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -13099,7 +13099,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -13110,7 +13110,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -13119,7 +13119,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -13132,7 +13132,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -13141,7 +13141,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -13152,7 +13152,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -13161,7 +13161,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -13170,7 +13170,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -13179,7 +13179,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -13188,7 +13188,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -13200,7 +13200,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -13209,7 +13209,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -13229,7 +13229,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -13245,7 +13245,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -13260,7 +13260,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -13270,7 +13270,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -13280,7 +13280,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -13303,7 +13303,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -13323,7 +13323,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -13337,7 +13337,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -13346,7 +13346,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -13357,7 +13357,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -13368,7 +13368,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -13379,7 +13379,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -13390,7 +13390,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -13401,7 +13401,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -13412,7 +13412,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -13423,7 +13423,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -13434,7 +13434,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -13445,7 +13445,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -13456,7 +13456,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -13467,7 +13467,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -13478,7 +13478,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -13489,7 +13489,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -13500,7 +13500,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -13511,7 +13511,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -13522,7 +13522,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -13534,7 +13534,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -13560,7 +13560,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -13569,7 +13569,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -13581,7 +13581,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -13590,7 +13590,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -13599,7 +13599,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -13608,7 +13608,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -13618,7 +13618,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -13628,7 +13628,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -13660,7 +13660,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -13684,7 +13684,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -13694,7 +13694,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -13706,7 +13706,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -13716,7 +13716,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -13728,7 +13728,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -13740,7 +13740,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -13757,7 +13757,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -13771,7 +13771,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -13790,7 +13790,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -13807,7 +13807,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -13821,7 +13821,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -13840,7 +13840,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13857,7 +13857,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -13871,7 +13871,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13890,7 +13890,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13907,7 +13907,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -13921,7 +13921,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13940,7 +13940,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13957,7 +13957,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -13971,7 +13971,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13990,7 +13990,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -14022,7 +14022,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -14031,7 +14031,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -14040,7 +14040,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -14062,7 +14062,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -14075,7 +14075,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -14114,7 +14114,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -14131,7 +14131,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -14145,7 +14145,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -14168,7 +14168,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -14188,7 +14188,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14202,7 +14202,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -14218,7 +14218,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -14227,7 +14227,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -14236,7 +14236,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -14247,7 +14247,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -14257,7 +14257,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -14267,7 +14267,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -14279,7 +14279,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -14289,7 +14289,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -14303,7 +14303,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -14321,7 +14321,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -14339,7 +14339,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -14357,7 +14357,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -14375,7 +14375,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -14393,7 +14393,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -14411,7 +14411,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -14429,7 +14429,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -14447,7 +14447,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -14465,7 +14465,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -14483,7 +14483,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -14501,7 +14501,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -14519,7 +14519,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -14537,7 +14537,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -14557,7 +14557,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -14577,7 +14577,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -14597,7 +14597,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -14616,7 +14616,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -14639,7 +14639,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -14651,7 +14651,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -14663,7 +14663,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -14673,7 +14673,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -14683,7 +14683,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -14708,7 +14708,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -14723,7 +14723,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -14734,7 +14734,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -14746,7 +14746,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -14755,7 +14755,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -14766,7 +14766,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -14775,7 +14775,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -14784,7 +14784,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -14796,7 +14796,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14810,7 +14810,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -14820,7 +14820,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -14834,7 +14834,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -14845,7 +14845,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14883,7 +14883,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -14897,6 +14896,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_u_Sum_of_array_elements_along_giv, __pyx_k_Sum_of_array_elements_along_giv, sizeof(__pyx_k_Sum_of_array_elements_along_giv), 0, 1, 0, 0}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -15023,7 +15023,7 @@ static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; @@ -15033,7 +15033,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -15044,7 +15044,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -15055,7 +15055,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -15066,7 +15066,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -15077,7 +15077,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -15088,7 +15088,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -15120,7 +15120,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":126 * return func(arr) @@ -15132,346 +15132,346 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_selector, 126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_selector, 126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":201 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_tuple__13 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__13 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int_axis0, 201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_float_axis0, 201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":221 + /* "nansum.pyx":229 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_tuple__15 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__15 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int_axis1, 221, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_float_axis1, 229, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":241 + /* "nansum.pyx":257 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_tuple__17 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__17 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int8_axis0, 241, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_float32_axis0, 257, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":261 + /* "nansum.pyx":285 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_tuple__19 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int8_axis1, 261, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_float32_axis1, 285, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":281 + /* "nansum.pyx":313 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_tuple__21 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int32_axis0, 281, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_float64_axis0, 313, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":301 + /* "nansum.pyx":341 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_tuple__23 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int32_axis1, 301, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_float64_axis1, 341, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":321 + /* "nansum.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.int64_t asum = 0, ai + * def nansum_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_tuple__25 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int64_axis0, 321, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_1d_float_axisNone, 369, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":341 + /* "nansum.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.int64_t asum = 0, ai + * def nansum_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_tuple__27 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int64_axis1, 341, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_1d_float32_axisNone, 389, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":361 + /* "nansum.pyx":409 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." + * def nansum_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__29 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_1d_float_axisNone, 361, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_1d_float64_axisNone, 409, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":381 + /* "nansum.pyx":429 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nansum_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__31 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_1d_float32_axisNone, 381, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_float_axisNone, 429, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":401 + /* "nansum.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nansum_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__33 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_1d_float64_axisNone, 401, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_float32_axisNone, 451, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":421 + /* "nansum.pyx":473 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." + * def nansum_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_tuple__35 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_float_axisNone, 421, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_float64_axisNone, 473, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":443 + /* "nansum.pyx":495 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.int_t asum = 0, ai */ - __pyx_tuple__37 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_float32_axisNone, 443, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_1d_int_axisNone, 495, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":465 + /* "nansum.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ - __pyx_tuple__39 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_float64_axisNone, 465, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_1d_int8_axisNone, 510, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":487 + /* "nansum.pyx":525 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ - __pyx_tuple__41 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_float_axis0, 487, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_1d_int32_axisNone, 525, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":515 + /* "nansum.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ - __pyx_tuple__43 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_float_axis1, 515, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_1d_int64_axisNone, 540, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":543 + /* "nansum.pyx":555 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.int_t asum = 0, ai */ - __pyx_tuple__45 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_float32_axis0, 543, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int_axisNone, 555, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":571 + /* "nansum.pyx":572 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ - __pyx_tuple__47 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_float32_axis1, 571, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int8_axisNone, 572, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":599 + /* "nansum.pyx":589 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ - __pyx_tuple__49 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_float64_axis0, 599, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int32_axisNone, 589, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":627 + /* "nansum.pyx":606 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ - __pyx_tuple__51 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_allnan, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_float64_axis1, 627, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int64_axisNone, 606, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":655 + /* "nansum.pyx":623 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int along axis=None ignoring NaNs." + * def nansum_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.int_t asum = 0, ai */ - __pyx_tuple__53 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_1d_int_axisNone, 655, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int_axis0, 623, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":670 + /* "nansum.pyx":643 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int8 along axis=None ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=1 ignoring NaNs." + * cdef np.int_t asum = 0, ai */ - __pyx_tuple__55 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_1d_int8_axisNone, 670, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int_axis1, 643, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":685 + /* "nansum.pyx":663 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int32 along axis=None ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ - __pyx_tuple__57 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_1d_int32_axisNone, 685, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int8_axis0, 663, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":700 + /* "nansum.pyx":683 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int64 along axis=None ignoring NaNs." - * cdef np.int64_t asum = 0, ai + * def nansum_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=1 ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ - __pyx_tuple__59 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_1d_int64_axisNone, 700, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int8_axis1, 683, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":715 + /* "nansum.pyx":703 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=None ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=0 ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ - __pyx_tuple__61 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int_axisNone, 715, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int32_axis0, 703, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":732 + /* "nansum.pyx":723 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=None ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ - __pyx_tuple__63 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int8_axisNone, 732, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int32_axis1, 723, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":749 + /* "nansum.pyx":743 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=None ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ - __pyx_tuple__65 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int32_axisNone, 749, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int64_axis0, 743, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nansum.pyx":766 + /* "nansum.pyx":763 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nansum_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.int64_t asum = 0, ai */ - __pyx_tuple__67 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_2d_int64_axisNone, 766, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_2d_int64_axis1, 763, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":818 - * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone + * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 * * def nansum_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nansum along axis 0." @@ -15480,7 +15480,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis0, 818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis0, 818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":822 * return bn.slow.nansum(arr, axis=0) @@ -15492,7 +15492,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis1, 822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis1, 822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":826 * return bn.slow.nansum(arr, axis=1) @@ -15504,7 +15504,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis2, 826, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis2, 826, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":830 * return bn.slow.nansum(arr, axis=2) @@ -15516,7 +15516,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis3, 830, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis3, 830, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":834 * return bn.slow.nansum(arr, axis=3) @@ -15528,7 +15528,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis4, 834, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis4, 834, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":838 * return bn.slow.nansum(arr, axis=4) @@ -15540,7 +15540,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis5, 838, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis5, 838, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":842 * return bn.slow.nansum(arr, axis=5) @@ -15552,7 +15552,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis6, 842, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis6, 842, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":846 * return bn.slow.nansum(arr, axis=6) @@ -15564,7 +15564,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis7, 846, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis7, 846, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":850 * return bn.slow.nansum(arr, axis=7) @@ -15576,7 +15576,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis8, 850, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis8, 850, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":854 * return bn.slow.nansum(arr, axis=8) @@ -15588,7 +15588,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis9, 854, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis9, 854, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":858 * return bn.slow.nansum(arr, axis=9) @@ -15600,7 +15600,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis10, 858, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis10, 858, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":862 * return bn.slow.nansum(arr, axis=10) @@ -15612,7 +15612,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis11, 862, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis11, 862, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":866 * return bn.slow.nansum(arr, axis=11) @@ -15624,7 +15624,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis12, 866, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis12, 866, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":870 * return bn.slow.nansum(arr, axis=12) @@ -15636,7 +15636,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis13, 870, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis13, 870, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":874 * return bn.slow.nansum(arr, axis=13) @@ -15648,7 +15648,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis14, 874, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis14, 874, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":878 * return bn.slow.nansum(arr, axis=14) @@ -15660,7 +15660,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis15, 878, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis15, 878, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":882 * return bn.slow.nansum(arr, axis=15) @@ -15672,7 +15672,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis16, 882, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis16, 882, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":886 * return bn.slow.nansum(arr, axis=16) @@ -15684,7 +15684,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis17, 886, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis17, 886, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":890 * return bn.slow.nansum(arr, axis=17) @@ -15696,7 +15696,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis18, 890, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis18, 890, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":894 * return bn.slow.nansum(arr, axis=18) @@ -15708,7 +15708,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis19, 894, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis19, 894, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":898 * return bn.slow.nansum(arr, axis=19) @@ -15720,7 +15720,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis20, 898, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis20, 898, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":902 * return bn.slow.nansum(arr, axis=20) @@ -15732,7 +15732,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis21, 902, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis21, 902, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":906 * return bn.slow.nansum(arr, axis=21) @@ -15744,7 +15744,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis22, 906, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis22, 906, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":910 * return bn.slow.nansum(arr, axis=22) @@ -15756,7 +15756,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis23, 910, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis23, 910, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":914 * return bn.slow.nansum(arr, axis=23) @@ -15768,7 +15768,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis24, 914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis24, 914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":918 * return bn.slow.nansum(arr, axis=24) @@ -15780,7 +15780,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis25, 918, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis25, 918, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":922 * return bn.slow.nansum(arr, axis=25) @@ -15792,7 +15792,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis26, 922, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis26, 922, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":926 * return bn.slow.nansum(arr, axis=26) @@ -15804,7 +15804,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis27, 926, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis27, 926, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":930 * return bn.slow.nansum(arr, axis=27) @@ -15816,7 +15816,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis28, 930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis28, 930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":934 * return bn.slow.nansum(arr, axis=28) @@ -15828,7 +15828,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis29, 934, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis29, 934, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":938 * return bn.slow.nansum(arr, axis=29) @@ -15840,7 +15840,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis30, 938, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis30, 938, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":942 * return bn.slow.nansum(arr, axis=30) @@ -15852,7 +15852,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis31, 942, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis31, 942, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":946 * return bn.slow.nansum(arr, axis=31) @@ -15864,7 +15864,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axis32, 946, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axis32, 946, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nansum.pyx":950 * return bn.slow.nansum(arr, axis=32) @@ -15876,7 +15876,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nansum_slow_axisNone, 950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nansum_slow_axisNone, 950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -16842,345 +16842,345 @@ PyMODINIT_FUNC PyInit_nansum(void) /* "nansum.pyx":201 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.int_t asum = 0, ai - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_5nansum_2d_int_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "nansum.pyx":221 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nansum_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.int_t asum = 0, ai - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_7nansum_2d_int_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "nansum.pyx":241 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nansum_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_9nansum_2d_int8_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_5nansum_2d_float_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":261 + /* "nansum.pyx":229 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_11nansum_2d_int8_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_7nansum_2d_float_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":281 + /* "nansum.pyx":257 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_13nansum_2d_int32_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_9nansum_2d_float32_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":301 + /* "nansum.pyx":285 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_15nansum_2d_int32_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_11nansum_2d_float32_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":321 + /* "nansum.pyx":313 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.int64_t asum = 0, ai + * def nansum_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_17nansum_2d_int64_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_13nansum_2d_float64_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":341 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.int64_t asum = 0, ai + * def nansum_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_19nansum_2d_int64_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_15nansum_2d_float64_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":361 + /* "nansum.pyx":369 * @cython.boundscheck(False) * @cython.wraparound(False) * def nansum_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< * "Sum of 1d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_21nansum_1d_float_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_17nansum_1d_float_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":381 + /* "nansum.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) * def nansum_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< * "Sum of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_23nansum_1d_float32_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_19nansum_1d_float32_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":401 + /* "nansum.pyx":409 * @cython.boundscheck(False) * @cython.wraparound(False) * def nansum_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< * "Sum of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_25nansum_1d_float64_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_21nansum_1d_float64_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":421 + /* "nansum.pyx":429 * @cython.boundscheck(False) * @cython.wraparound(False) * def nansum_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< * "Sum of 2d array with dtype=float along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_27nansum_2d_float_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_23nansum_2d_float_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":443 + /* "nansum.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) * def nansum_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< * "Sum of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_29nansum_2d_float32_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_25nansum_2d_float32_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":465 + /* "nansum.pyx":473 * @cython.boundscheck(False) * @cython.wraparound(False) * def nansum_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< * "Sum of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef int allnan = 1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_31nansum_2d_float64_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_27nansum_2d_float64_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":487 + /* "nansum.pyx":495 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.int_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_33nansum_2d_float_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_29nansum_1d_int_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":515 + /* "nansum.pyx":510 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_35nansum_2d_float_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_31nansum_1d_int8_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":543 + /* "nansum.pyx":525 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_37nansum_2d_float32_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_33nansum_1d_int32_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":571 + /* "nansum.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_39nansum_2d_float32_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_35nansum_1d_int64_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":599 + /* "nansum.pyx":555 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.int_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_41nansum_2d_float64_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_37nansum_2d_int_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":627 + /* "nansum.pyx":572 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef int allnan = 1 + * def nansum_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_43nansum_2d_float64_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_39nansum_2d_int8_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":655 + /* "nansum.pyx":589 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int along axis=None ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.int32_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_45nansum_1d_int_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_41nansum_2d_int32_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":670 + /* "nansum.pyx":606 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int8 along axis=None ignoring NaNs." - * cdef np.int8_t asum = 0, ai + * def nansum_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.int64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_47nansum_1d_int8_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_43nansum_2d_int64_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":685 + /* "nansum.pyx":623 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int32 along axis=None ignoring NaNs." - * cdef np.int32_t asum = 0, ai + * def nansum_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=0 ignoring NaNs." + * cdef np.int_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_49nansum_1d_int32_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_45nansum_2d_int_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":700 + /* "nansum.pyx":643 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of 1d array with dtype=int64 along axis=None ignoring NaNs." - * cdef np.int64_t asum = 0, ai + * def nansum_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int along axis=1 ignoring NaNs." + * cdef np.int_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_51nansum_1d_int64_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_47nansum_2d_int_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":715 + /* "nansum.pyx":663 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int along axis=None ignoring NaNs." - * cdef np.int_t asum = 0, ai + * def nansum_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=0 ignoring NaNs." + * cdef np.int8_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_53nansum_2d_int_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_49nansum_2d_int8_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":732 + /* "nansum.pyx":683 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nansum_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.int8_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_55nansum_2d_int8_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_51nansum_2d_int8_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":749 + /* "nansum.pyx":703 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nansum_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.int32_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_57nansum_2d_int32_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_53nansum_2d_int32_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nansum.pyx":766 + /* "nansum.pyx":723 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nansum_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nansum_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int32 along axis=1 ignoring NaNs." + * cdef np.int32_t asum = 0, ai + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_55nansum_2d_int32_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "nansum.pyx":743 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nansum_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=0 ignoring NaNs." + * cdef np.int64_t asum = 0, ai + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_57nansum_2d_int64_axis0, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "nansum.pyx":763 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nansum_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.int64_t asum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_59nansum_2d_int64_axisNone, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nansum_59nansum_2d_int64_axis1, NULL, __pyx_n_s_nansum); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nansum_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":781 - * return np.int64(asum) + * return y * * cdef dict nansum_dict = {} # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int, 0)] = nansum_2d_int_axis0 - * nansum_dict[(2, NPY_int, 1)] = nansum_2d_int_axis1 + * nansum_dict[(2, NPY_float, 0)] = nansum_2d_float_axis0 + * nansum_dict[(2, NPY_float, 1)] = nansum_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -17192,17 +17192,17 @@ PyMODINIT_FUNC PyInit_nansum(void) /* "nansum.pyx":782 * * cdef dict nansum_dict = {} - * nansum_dict[(2, NPY_int, 0)] = nansum_2d_int_axis0 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int, 1)] = nansum_2d_int_axis1 - * nansum_dict[(2, NPY_int8, 0)] = nansum_2d_int8_axis0 + * nansum_dict[(2, NPY_float, 0)] = nansum_2d_float_axis0 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float, 1)] = nansum_2d_float_axis1 + * nansum_dict[(2, NPY_float32, 0)] = nansum_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17221,18 +17221,18 @@ PyMODINIT_FUNC PyInit_nansum(void) /* "nansum.pyx":783 * cdef dict nansum_dict = {} - * nansum_dict[(2, NPY_int, 0)] = nansum_2d_int_axis0 - * nansum_dict[(2, NPY_int, 1)] = nansum_2d_int_axis1 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int8, 0)] = nansum_2d_int8_axis0 - * nansum_dict[(2, NPY_int8, 1)] = nansum_2d_int8_axis1 + * nansum_dict[(2, NPY_float, 0)] = nansum_2d_float_axis0 + * nansum_dict[(2, NPY_float, 1)] = nansum_2d_float_axis1 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float32, 0)] = nansum_2d_float32_axis0 + * nansum_dict[(2, NPY_float32, 1)] = nansum_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17250,19 +17250,19 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":784 - * nansum_dict[(2, NPY_int, 0)] = nansum_2d_int_axis0 - * nansum_dict[(2, NPY_int, 1)] = nansum_2d_int_axis1 - * nansum_dict[(2, NPY_int8, 0)] = nansum_2d_int8_axis0 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int8, 1)] = nansum_2d_int8_axis1 - * nansum_dict[(2, NPY_int32, 0)] = nansum_2d_int32_axis0 + * nansum_dict[(2, NPY_float, 0)] = nansum_2d_float_axis0 + * nansum_dict[(2, NPY_float, 1)] = nansum_2d_float_axis1 + * nansum_dict[(2, NPY_float32, 0)] = nansum_2d_float32_axis0 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float32, 1)] = nansum_2d_float32_axis1 + * nansum_dict[(2, NPY_float64, 0)] = nansum_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17280,19 +17280,19 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":785 - * nansum_dict[(2, NPY_int, 1)] = nansum_2d_int_axis1 - * nansum_dict[(2, NPY_int8, 0)] = nansum_2d_int8_axis0 - * nansum_dict[(2, NPY_int8, 1)] = nansum_2d_int8_axis1 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int32, 0)] = nansum_2d_int32_axis0 - * nansum_dict[(2, NPY_int32, 1)] = nansum_2d_int32_axis1 + * nansum_dict[(2, NPY_float, 1)] = nansum_2d_float_axis1 + * nansum_dict[(2, NPY_float32, 0)] = nansum_2d_float32_axis0 + * nansum_dict[(2, NPY_float32, 1)] = nansum_2d_float32_axis1 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float64, 0)] = nansum_2d_float64_axis0 + * nansum_dict[(2, NPY_float64, 1)] = nansum_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17310,19 +17310,19 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":786 - * nansum_dict[(2, NPY_int8, 0)] = nansum_2d_int8_axis0 - * nansum_dict[(2, NPY_int8, 1)] = nansum_2d_int8_axis1 - * nansum_dict[(2, NPY_int32, 0)] = nansum_2d_int32_axis0 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int32, 1)] = nansum_2d_int32_axis1 - * nansum_dict[(2, NPY_int64, 0)] = nansum_2d_int64_axis0 + * nansum_dict[(2, NPY_float32, 0)] = nansum_2d_float32_axis0 + * nansum_dict[(2, NPY_float32, 1)] = nansum_2d_float32_axis1 + * nansum_dict[(2, NPY_float64, 0)] = nansum_2d_float64_axis0 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float64, 1)] = nansum_2d_float64_axis1 + * nansum_dict[(1, NPY_float, 0)] = nansum_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17340,19 +17340,19 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":787 - * nansum_dict[(2, NPY_int8, 1)] = nansum_2d_int8_axis1 - * nansum_dict[(2, NPY_int32, 0)] = nansum_2d_int32_axis0 - * nansum_dict[(2, NPY_int32, 1)] = nansum_2d_int32_axis1 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int64, 0)] = nansum_2d_int64_axis0 - * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 + * nansum_dict[(2, NPY_float32, 1)] = nansum_2d_float32_axis1 + * nansum_dict[(2, NPY_float64, 0)] = nansum_2d_float64_axis0 + * nansum_dict[(2, NPY_float64, 1)] = nansum_2d_float64_axis1 # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float, 0)] = nansum_1d_float_axisNone + * nansum_dict[(1, NPY_float, None)] = nansum_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17370,25 +17370,25 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":788 - * nansum_dict[(2, NPY_int32, 0)] = nansum_2d_int32_axis0 - * nansum_dict[(2, NPY_int32, 1)] = nansum_2d_int32_axis1 - * nansum_dict[(2, NPY_int64, 0)] = nansum_2d_int64_axis0 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 - * nansum_dict[(1, NPY_float, 0)] = nansum_1d_float_axisNone + * nansum_dict[(2, NPY_float64, 0)] = nansum_2d_float64_axis0 + * nansum_dict[(2, NPY_float64, 1)] = nansum_2d_float64_axis1 + * nansum_dict[(1, NPY_float, 0)] = nansum_1d_float_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float, None)] = nansum_1d_float_axisNone + * nansum_dict[(1, NPY_float32, 0)] = nansum_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -17400,49 +17400,49 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":789 - * nansum_dict[(2, NPY_int32, 1)] = nansum_2d_int32_axis1 - * nansum_dict[(2, NPY_int64, 0)] = nansum_2d_int64_axis0 - * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float64, 1)] = nansum_2d_float64_axis1 * nansum_dict[(1, NPY_float, 0)] = nansum_1d_float_axisNone - * nansum_dict[(1, NPY_float, None)] = nansum_1d_float_axisNone + * nansum_dict[(1, NPY_float, None)] = nansum_1d_float_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float32, 0)] = nansum_1d_float32_axisNone + * nansum_dict[(1, NPY_float32, None)] = nansum_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":790 - * nansum_dict[(2, NPY_int64, 0)] = nansum_2d_int64_axis0 - * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 - * nansum_dict[(1, NPY_float, 0)] = nansum_1d_float_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float, 0)] = nansum_1d_float_axisNone * nansum_dict[(1, NPY_float, None)] = nansum_1d_float_axisNone - * nansum_dict[(1, NPY_float32, 0)] = nansum_1d_float32_axisNone + * nansum_dict[(1, NPY_float32, 0)] = nansum_1d_float32_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float32, None)] = nansum_1d_float32_axisNone + * nansum_dict[(1, NPY_float64, 0)] = nansum_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17460,19 +17460,19 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":791 - * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 - * nansum_dict[(1, NPY_float, 0)] = nansum_1d_float_axisNone - * nansum_dict[(1, NPY_float, None)] = nansum_1d_float_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float, None)] = nansum_1d_float_axisNone * nansum_dict[(1, NPY_float32, 0)] = nansum_1d_float32_axisNone - * nansum_dict[(1, NPY_float32, None)] = nansum_1d_float32_axisNone + * nansum_dict[(1, NPY_float32, None)] = nansum_1d_float32_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float64, 0)] = nansum_1d_float64_axisNone + * nansum_dict[(1, NPY_float64, None)] = nansum_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17490,19 +17490,19 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":792 - * nansum_dict[(1, NPY_float, 0)] = nansum_1d_float_axisNone - * nansum_dict[(1, NPY_float, None)] = nansum_1d_float_axisNone - * nansum_dict[(1, NPY_float32, 0)] = nansum_1d_float32_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float32, 0)] = nansum_1d_float32_axisNone * nansum_dict[(1, NPY_float32, None)] = nansum_1d_float32_axisNone - * nansum_dict[(1, NPY_float64, 0)] = nansum_1d_float64_axisNone + * nansum_dict[(1, NPY_float64, 0)] = nansum_1d_float64_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float64, None)] = nansum_1d_float64_axisNone + * nansum_dict[(2, NPY_float, None)] = nansum_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17520,19 +17520,19 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":793 - * nansum_dict[(1, NPY_float, None)] = nansum_1d_float_axisNone - * nansum_dict[(1, NPY_float32, 0)] = nansum_1d_float32_axisNone - * nansum_dict[(1, NPY_float32, None)] = nansum_1d_float32_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float32, None)] = nansum_1d_float32_axisNone * nansum_dict[(1, NPY_float64, 0)] = nansum_1d_float64_axisNone - * nansum_dict[(1, NPY_float64, None)] = nansum_1d_float64_axisNone + * nansum_dict[(1, NPY_float64, None)] = nansum_1d_float64_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float, None)] = nansum_2d_float_axisNone + * nansum_dict[(2, NPY_float32, None)] = nansum_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17550,55 +17550,55 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":794 - * nansum_dict[(1, NPY_float32, 0)] = nansum_1d_float32_axisNone - * nansum_dict[(1, NPY_float32, None)] = nansum_1d_float32_axisNone - * nansum_dict[(1, NPY_float64, 0)] = nansum_1d_float64_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float64, 0)] = nansum_1d_float64_axisNone * nansum_dict[(1, NPY_float64, None)] = nansum_1d_float64_axisNone - * nansum_dict[(2, NPY_float, None)] = nansum_2d_float_axisNone + * nansum_dict[(2, NPY_float, None)] = nansum_2d_float_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float32, None)] = nansum_2d_float32_axisNone + * nansum_dict[(2, NPY_float64, None)] = nansum_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":795 - * nansum_dict[(1, NPY_float32, None)] = nansum_1d_float32_axisNone - * nansum_dict[(1, NPY_float64, 0)] = nansum_1d_float64_axisNone - * nansum_dict[(1, NPY_float64, None)] = nansum_1d_float64_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_float64, None)] = nansum_1d_float64_axisNone * nansum_dict[(2, NPY_float, None)] = nansum_2d_float_axisNone - * nansum_dict[(2, NPY_float32, None)] = nansum_2d_float32_axisNone + * nansum_dict[(2, NPY_float32, None)] = nansum_2d_float32_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float64, None)] = nansum_2d_float64_axisNone + * nansum_dict[(1, NPY_int, 0)] = nansum_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -17610,19 +17610,19 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":796 - * nansum_dict[(1, NPY_float64, 0)] = nansum_1d_float64_axisNone - * nansum_dict[(1, NPY_float64, None)] = nansum_1d_float64_axisNone - * nansum_dict[(2, NPY_float, None)] = nansum_2d_float_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float, None)] = nansum_2d_float_axisNone * nansum_dict[(2, NPY_float32, None)] = nansum_2d_float32_axisNone - * nansum_dict[(2, NPY_float64, None)] = nansum_2d_float64_axisNone + * nansum_dict[(2, NPY_float64, None)] = nansum_2d_float64_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_int, 0)] = nansum_1d_int_axisNone + * nansum_dict[(1, NPY_int, None)] = nansum_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17640,55 +17640,55 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":797 - * nansum_dict[(1, NPY_float64, None)] = nansum_1d_float64_axisNone - * nansum_dict[(2, NPY_float, None)] = nansum_2d_float_axisNone - * nansum_dict[(2, NPY_float32, None)] = nansum_2d_float32_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_float32, None)] = nansum_2d_float32_axisNone * nansum_dict[(2, NPY_float64, None)] = nansum_2d_float64_axisNone - * nansum_dict[(2, NPY_float, 0)] = nansum_2d_float_axis0 + * nansum_dict[(1, NPY_int, 0)] = nansum_1d_int_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_int, None)] = nansum_1d_int_axisNone + * nansum_dict[(1, NPY_int8, 0)] = nansum_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":798 - * nansum_dict[(2, NPY_float, None)] = nansum_2d_float_axisNone - * nansum_dict[(2, NPY_float32, None)] = nansum_2d_float32_axisNone - * nansum_dict[(2, NPY_float64, None)] = nansum_2d_float64_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_float, 0)] = nansum_2d_float_axis0 - * nansum_dict[(2, NPY_float, 1)] = nansum_2d_float_axis1 + * nansum_dict[(2, NPY_float64, None)] = nansum_2d_float64_axisNone + * nansum_dict[(1, NPY_int, 0)] = nansum_1d_int_axisNone + * nansum_dict[(1, NPY_int, None)] = nansum_1d_int_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_int8, 0)] = nansum_1d_int8_axisNone + * nansum_dict[(1, NPY_int8, None)] = nansum_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -17700,25 +17700,25 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":799 - * nansum_dict[(2, NPY_float32, None)] = nansum_2d_float32_axisNone - * nansum_dict[(2, NPY_float64, None)] = nansum_2d_float64_axisNone - * nansum_dict[(2, NPY_float, 0)] = nansum_2d_float_axis0 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_float, 1)] = nansum_2d_float_axis1 - * nansum_dict[(2, NPY_float32, 0)] = nansum_2d_float32_axis0 + * nansum_dict[(1, NPY_int, 0)] = nansum_1d_int_axisNone + * nansum_dict[(1, NPY_int, None)] = nansum_1d_int_axisNone + * nansum_dict[(1, NPY_int8, 0)] = nansum_1d_int8_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_int8, None)] = nansum_1d_int8_axisNone + * nansum_dict[(1, NPY_int32, 0)] = nansum_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -17730,55 +17730,55 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":800 - * nansum_dict[(2, NPY_float64, None)] = nansum_2d_float64_axisNone - * nansum_dict[(2, NPY_float, 0)] = nansum_2d_float_axis0 - * nansum_dict[(2, NPY_float, 1)] = nansum_2d_float_axis1 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_float32, 0)] = nansum_2d_float32_axis0 - * nansum_dict[(2, NPY_float32, 1)] = nansum_2d_float32_axis1 + * nansum_dict[(1, NPY_int, None)] = nansum_1d_int_axisNone + * nansum_dict[(1, NPY_int8, 0)] = nansum_1d_int8_axisNone + * nansum_dict[(1, NPY_int8, None)] = nansum_1d_int8_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_int32, 0)] = nansum_1d_int32_axisNone + * nansum_dict[(1, NPY_int32, None)] = nansum_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":801 - * nansum_dict[(2, NPY_float, 0)] = nansum_2d_float_axis0 - * nansum_dict[(2, NPY_float, 1)] = nansum_2d_float_axis1 - * nansum_dict[(2, NPY_float32, 0)] = nansum_2d_float32_axis0 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_float32, 1)] = nansum_2d_float32_axis1 - * nansum_dict[(2, NPY_float64, 0)] = nansum_2d_float64_axis0 + * nansum_dict[(1, NPY_int8, 0)] = nansum_1d_int8_axisNone + * nansum_dict[(1, NPY_int8, None)] = nansum_1d_int8_axisNone + * nansum_dict[(1, NPY_int32, 0)] = nansum_1d_int32_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_int32, None)] = nansum_1d_int32_axisNone + * nansum_dict[(1, NPY_int64, 0)] = nansum_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -17790,55 +17790,55 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":802 - * nansum_dict[(2, NPY_float, 1)] = nansum_2d_float_axis1 - * nansum_dict[(2, NPY_float32, 0)] = nansum_2d_float32_axis0 - * nansum_dict[(2, NPY_float32, 1)] = nansum_2d_float32_axis1 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_float64, 0)] = nansum_2d_float64_axis0 - * nansum_dict[(2, NPY_float64, 1)] = nansum_2d_float64_axis1 + * nansum_dict[(1, NPY_int8, None)] = nansum_1d_int8_axisNone + * nansum_dict[(1, NPY_int32, 0)] = nansum_1d_int32_axisNone + * nansum_dict[(1, NPY_int32, None)] = nansum_1d_int32_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_int64, 0)] = nansum_1d_int64_axisNone + * nansum_dict[(1, NPY_int64, None)] = nansum_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":803 - * nansum_dict[(2, NPY_float32, 0)] = nansum_2d_float32_axis0 - * nansum_dict[(2, NPY_float32, 1)] = nansum_2d_float32_axis1 - * nansum_dict[(2, NPY_float64, 0)] = nansum_2d_float64_axis0 # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_float64, 1)] = nansum_2d_float64_axis1 - * nansum_dict[(1, NPY_int, 0)] = nansum_1d_int_axisNone + * nansum_dict[(1, NPY_int32, 0)] = nansum_1d_int32_axisNone + * nansum_dict[(1, NPY_int32, None)] = nansum_1d_int32_axisNone + * nansum_dict[(1, NPY_int64, 0)] = nansum_1d_int64_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(1, NPY_int64, None)] = nansum_1d_int64_axisNone + * nansum_dict[(2, NPY_int, None)] = nansum_2d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -17850,43 +17850,43 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":804 - * nansum_dict[(2, NPY_float32, 1)] = nansum_2d_float32_axis1 - * nansum_dict[(2, NPY_float64, 0)] = nansum_2d_float64_axis0 - * nansum_dict[(2, NPY_float64, 1)] = nansum_2d_float64_axis1 # <<<<<<<<<<<<<< - * nansum_dict[(1, NPY_int, 0)] = nansum_1d_int_axisNone - * nansum_dict[(1, NPY_int, None)] = nansum_1d_int_axisNone + * nansum_dict[(1, NPY_int32, None)] = nansum_1d_int32_axisNone + * nansum_dict[(1, NPY_int64, 0)] = nansum_1d_int64_axisNone + * nansum_dict[(1, NPY_int64, None)] = nansum_1d_int64_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int, None)] = nansum_2d_int_axisNone + * nansum_dict[(2, NPY_int8, None)] = nansum_2d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":805 - * nansum_dict[(2, NPY_float64, 0)] = nansum_2d_float64_axis0 - * nansum_dict[(2, NPY_float64, 1)] = nansum_2d_float64_axis1 - * nansum_dict[(1, NPY_int, 0)] = nansum_1d_int_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(1, NPY_int, None)] = nansum_1d_int_axisNone - * nansum_dict[(1, NPY_int8, 0)] = nansum_1d_int8_axisNone + * nansum_dict[(1, NPY_int64, 0)] = nansum_1d_int64_axisNone + * nansum_dict[(1, NPY_int64, None)] = nansum_1d_int64_axisNone + * nansum_dict[(2, NPY_int, None)] = nansum_2d_int_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int8, None)] = nansum_2d_int8_axisNone + * nansum_dict[(2, NPY_int32, None)] = nansum_2d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -17896,39 +17896,39 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":806 - * nansum_dict[(2, NPY_float64, 1)] = nansum_2d_float64_axis1 - * nansum_dict[(1, NPY_int, 0)] = nansum_1d_int_axisNone - * nansum_dict[(1, NPY_int, None)] = nansum_1d_int_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(1, NPY_int8, 0)] = nansum_1d_int8_axisNone - * nansum_dict[(1, NPY_int8, None)] = nansum_1d_int8_axisNone + * nansum_dict[(1, NPY_int64, None)] = nansum_1d_int64_axisNone + * nansum_dict[(2, NPY_int, None)] = nansum_2d_int_axisNone + * nansum_dict[(2, NPY_int8, None)] = nansum_2d_int8_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int32, None)] = nansum_2d_int32_axisNone + * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -17940,55 +17940,55 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":807 - * nansum_dict[(1, NPY_int, 0)] = nansum_1d_int_axisNone - * nansum_dict[(1, NPY_int, None)] = nansum_1d_int_axisNone - * nansum_dict[(1, NPY_int8, 0)] = nansum_1d_int8_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(1, NPY_int8, None)] = nansum_1d_int8_axisNone - * nansum_dict[(1, NPY_int32, 0)] = nansum_1d_int32_axisNone + * nansum_dict[(2, NPY_int, None)] = nansum_2d_int_axisNone + * nansum_dict[(2, NPY_int8, None)] = nansum_2d_int8_axisNone + * nansum_dict[(2, NPY_int32, None)] = nansum_2d_int32_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone + * nansum_dict[(2, NPY_int, 0)] = nansum_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":808 - * nansum_dict[(1, NPY_int, None)] = nansum_1d_int_axisNone - * nansum_dict[(1, NPY_int8, 0)] = nansum_1d_int8_axisNone - * nansum_dict[(1, NPY_int8, None)] = nansum_1d_int8_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(1, NPY_int32, 0)] = nansum_1d_int32_axisNone - * nansum_dict[(1, NPY_int32, None)] = nansum_1d_int32_axisNone + * nansum_dict[(2, NPY_int8, None)] = nansum_2d_int8_axisNone + * nansum_dict[(2, NPY_int32, None)] = nansum_2d_int32_axisNone + * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int, 0)] = nansum_2d_int_axis0 + * nansum_dict[(2, NPY_int, 1)] = nansum_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -18000,25 +18000,25 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":809 - * nansum_dict[(1, NPY_int8, 0)] = nansum_1d_int8_axisNone - * nansum_dict[(1, NPY_int8, None)] = nansum_1d_int8_axisNone - * nansum_dict[(1, NPY_int32, 0)] = nansum_1d_int32_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(1, NPY_int32, None)] = nansum_1d_int32_axisNone - * nansum_dict[(1, NPY_int64, 0)] = nansum_1d_int64_axisNone + * nansum_dict[(2, NPY_int32, None)] = nansum_2d_int32_axisNone + * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone + * nansum_dict[(2, NPY_int, 0)] = nansum_2d_int_axis0 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int, 1)] = nansum_2d_int_axis1 + * nansum_dict[(2, NPY_int8, 0)] = nansum_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -18030,55 +18030,55 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":810 - * nansum_dict[(1, NPY_int8, None)] = nansum_1d_int8_axisNone - * nansum_dict[(1, NPY_int32, 0)] = nansum_1d_int32_axisNone - * nansum_dict[(1, NPY_int32, None)] = nansum_1d_int32_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(1, NPY_int64, 0)] = nansum_1d_int64_axisNone - * nansum_dict[(1, NPY_int64, None)] = nansum_1d_int64_axisNone + * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone + * nansum_dict[(2, NPY_int, 0)] = nansum_2d_int_axis0 + * nansum_dict[(2, NPY_int, 1)] = nansum_2d_int_axis1 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int8, 0)] = nansum_2d_int8_axis0 + * nansum_dict[(2, NPY_int8, 1)] = nansum_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":811 - * nansum_dict[(1, NPY_int32, 0)] = nansum_1d_int32_axisNone - * nansum_dict[(1, NPY_int32, None)] = nansum_1d_int32_axisNone - * nansum_dict[(1, NPY_int64, 0)] = nansum_1d_int64_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(1, NPY_int64, None)] = nansum_1d_int64_axisNone - * nansum_dict[(2, NPY_int, None)] = nansum_2d_int_axisNone + * nansum_dict[(2, NPY_int, 0)] = nansum_2d_int_axis0 + * nansum_dict[(2, NPY_int, 1)] = nansum_2d_int_axis1 + * nansum_dict[(2, NPY_int8, 0)] = nansum_2d_int8_axis0 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int8, 1)] = nansum_2d_int8_axis1 + * nansum_dict[(2, NPY_int32, 0)] = nansum_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -18090,49 +18090,49 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":812 - * nansum_dict[(1, NPY_int32, None)] = nansum_1d_int32_axisNone - * nansum_dict[(1, NPY_int64, 0)] = nansum_1d_int64_axisNone - * nansum_dict[(1, NPY_int64, None)] = nansum_1d_int64_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int, None)] = nansum_2d_int_axisNone - * nansum_dict[(2, NPY_int8, None)] = nansum_2d_int8_axisNone + * nansum_dict[(2, NPY_int, 1)] = nansum_2d_int_axis1 + * nansum_dict[(2, NPY_int8, 0)] = nansum_2d_int8_axis0 + * nansum_dict[(2, NPY_int8, 1)] = nansum_2d_int8_axis1 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int32, 0)] = nansum_2d_int32_axis0 + * nansum_dict[(2, NPY_int32, 1)] = nansum_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":813 - * nansum_dict[(1, NPY_int64, 0)] = nansum_1d_int64_axisNone - * nansum_dict[(1, NPY_int64, None)] = nansum_1d_int64_axisNone - * nansum_dict[(2, NPY_int, None)] = nansum_2d_int_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int8, None)] = nansum_2d_int8_axisNone - * nansum_dict[(2, NPY_int32, None)] = nansum_2d_int32_axisNone + * nansum_dict[(2, NPY_int8, 0)] = nansum_2d_int8_axis0 + * nansum_dict[(2, NPY_int8, 1)] = nansum_2d_int8_axis1 + * nansum_dict[(2, NPY_int32, 0)] = nansum_2d_int32_axis0 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int32, 1)] = nansum_2d_int32_axis1 + * nansum_dict[(2, NPY_int64, 0)] = nansum_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18141,28 +18141,28 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":814 - * nansum_dict[(1, NPY_int64, None)] = nansum_1d_int64_axisNone - * nansum_dict[(2, NPY_int, None)] = nansum_2d_int_axisNone - * nansum_dict[(2, NPY_int8, None)] = nansum_2d_int8_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int32, None)] = nansum_2d_int32_axisNone - * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone + * nansum_dict[(2, NPY_int8, 1)] = nansum_2d_int8_axis1 + * nansum_dict[(2, NPY_int32, 0)] = nansum_2d_int32_axis0 + * nansum_dict[(2, NPY_int32, 1)] = nansum_2d_int32_axis1 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int64, 0)] = nansum_2d_int64_axis0 + * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -18171,28 +18171,28 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":815 - * nansum_dict[(2, NPY_int, None)] = nansum_2d_int_axisNone - * nansum_dict[(2, NPY_int8, None)] = nansum_2d_int8_axisNone - * nansum_dict[(2, NPY_int32, None)] = nansum_2d_int32_axisNone # <<<<<<<<<<<<<< - * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone + * nansum_dict[(2, NPY_int32, 0)] = nansum_2d_int32_axis0 + * nansum_dict[(2, NPY_int32, 1)] = nansum_2d_int32_axis1 + * nansum_dict[(2, NPY_int64, 0)] = nansum_2d_int64_axis0 # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -18201,22 +18201,22 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":816 - * nansum_dict[(2, NPY_int8, None)] = nansum_2d_int8_axisNone - * nansum_dict[(2, NPY_int32, None)] = nansum_2d_int32_axisNone - * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone # <<<<<<<<<<<<<< + * nansum_dict[(2, NPY_int32, 1)] = nansum_2d_int32_axis1 + * nansum_dict[(2, NPY_int64, 0)] = nansum_2d_int64_axis0 + * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nansum_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nansum_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nansum_nansum_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -18231,16 +18231,16 @@ PyMODINIT_FUNC PyInit_nansum(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nansum_nansum_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nansum.pyx":818 - * nansum_dict[(2, NPY_int64, None)] = nansum_2d_int64_axisNone + * nansum_dict[(2, NPY_int64, 1)] = nansum_2d_int64_axis1 * * def nansum_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nansum along axis 0." @@ -19214,7 +19214,7 @@ PyMODINIT_FUNC PyInit_nansum(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/nanvar.c b/bottlechest/src/func/64bit/nanvar.c index 73f3d93b02..46486d653d 100644 --- a/bottlechest/src/func/64bit/nanvar.c +++ b/bottlechest/src/func/64bit/nanvar.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1100,13 +1100,13 @@ static __pyx_t_5numpy_float32_t __pyx_v_6nanvar_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_6nanvar_MAXfloat64; static PyObject *__pyx_v_6nanvar_nanvar_dict = 0; static PyObject *__pyx_v_6nanvar_nanvar_slow_dict = 0; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "nanvar" int __pyx_module_is_main_nanvar = 0; @@ -1118,34 +1118,34 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_6nanvar_nanvar(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis, int __pyx_v_ddof); /* proto */ static PyObject *__pyx_pf_6nanvar_2nanvar_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_16nanvar_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_18nanvar_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_22nanvar_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_24nanvar_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_28nanvar_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_30nanvar_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_32nanvar_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_34nanvar_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_36nanvar_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_38nanvar_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_40nanvar_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_42nanvar_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_44nanvar_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_46nanvar_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_48nanvar_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_50nanvar_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_52nanvar_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_54nanvar_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_56nanvar_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ -static PyObject *__pyx_pf_6nanvar_58nanvar_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_4nanvar_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_6nanvar_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_8nanvar_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_10nanvar_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_12nanvar_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_14nanvar_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_16nanvar_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_18nanvar_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_22nanvar_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_24nanvar_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_28nanvar_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_30nanvar_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_32nanvar_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_34nanvar_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_36nanvar_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_38nanvar_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_40nanvar_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_42nanvar_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_44nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_46nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_48nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_50nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_52nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_54nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_56nanvar_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ +static PyObject *__pyx_pf_6nanvar_58nanvar_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof); /* proto */ static PyObject *__pyx_pf_6nanvar_60nanvar_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_ddof); /* proto */ static PyObject *__pyx_pf_6nanvar_62nanvar_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_ddof); /* proto */ static PyObject *__pyx_pf_6nanvar_64nanvar_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_ddof); /* proto */ @@ -1324,16 +1324,15 @@ static char __pyx_k_nanvar_2d_float64_axisNone[] = "nanvar_2d_float64_axisNone"; static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous"; static char __pyx_k_Return_nanvar_function_and_arra[] = "\n Return nanvar function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in bn.nanvar()\n is in checking that `axis` is within range, converting `arr` into an array\n (if it is not already an array), and selecting the function to use to\n calculate the variance.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the variance is to be computed.\n \n Returns\n -------\n func : function\n The nanvar function that matches the number of dimensions and dtype\n of the input array and the axis along which you wish to find the\n variance.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 3.0])\n \n Obtain the function needed to determine the variance of `arr` along\n axis=0:\n\n >>> func, a = ds.func.nanvar_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the variance:\n \n >>> func(a)\n 0.66666666666666663\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/nanvar.pyx"; static char __pyx_k_Variance_along_the_specified_ax[] = "\n Variance along the specified axis, ignoring NaNs.\n\n `float64` intermediate and return values are used for integer inputs.\n\n Instead of a faster one-pass algorithm, a more stable two-pass algorithm\n is used.\n\n An example of a one-pass algorithm:\n\n >>> np.sqrt((arr*arr).mean() - arr.mean()**2)\n \n An example of a two-pass algorithm: \n \n >>> np.sqrt(((arr - arr.mean())**2).mean())\n\n Note in the two-pass algorithm the mean must be found (first pass) before\n the squared deviation (second pass) can be found.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}, optional\n Axis along which the variance is computed. The default (axis=None)is\n to compute the variance of the flattened array.\n ddof : int, optional\n Means Delta Degrees of Freedom. The divisor used in calculations\n is ``N - ddof``, where ``N`` represents the number of elements.\n By default `ddof` is zero.\n\n Returns\n -------\n y : ndarray\n An array with the same shape as `arr`, with the specified axis\n removed. If `arr` is a 0-d array, or if axis is None, a scalar is\n returned. `float64` intermediate and return values are used for\n integer inputs. \n \n See also\n --------\n bottlechest.nanstd: Standard deviation along specified axis ignoring NaNs.\n \n Notes\n -----\n If positive or negative infinity are present the result is Not A Number\n (NaN).\n\n Examples\n --------\n >>> bn.nanvar(1)\n 0.0\n >>> bn.nanvar([1])\n 0.0\n >>> bn.nanvar([1, np.nan])\n 0.0\n >>> a = np.array([[1, 4], [1, np.nan]])\n >>> bn.nanvar(a)\n 2.0\n >>> bn.nanvar(a, axis=0)\n array([ 0., 0.])\n\n When positive infinity or negative infinity are present NaN is returned:\n\n >>> bn.nanvar([1, np.nan, np.inf])\n nan""\n \n "; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\nanvar.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1346,6 +1345,7 @@ static PyObject *__pyx_kp_u_Return_nanvar_function_and_arra; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_kp_u_Variance_along_the_specified_ax; static PyObject *__pyx_n_s__7; @@ -2472,16 +2472,16 @@ static PyObject *__pyx_pf_6nanvar_2nanvar_selector(CYTHON_UNUSED PyObject *__pyx /* "nanvar.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_5nanvar_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_4nanvar_2d_int_axis0[] = "nanvar_2d_int_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_5nanvar_2d_int_axis0 = {"nanvar_2d_int_axis0", (PyCFunction)__pyx_pw_6nanvar_5nanvar_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_4nanvar_2d_int_axis0}; -static PyObject *__pyx_pw_6nanvar_5nanvar_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_5nanvar_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_4nanvar_2d_float_axis0[] = "nanvar_2d_float_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_5nanvar_2d_float_axis0 = {"nanvar_2d_float_axis0", (PyCFunction)__pyx_pw_6nanvar_5nanvar_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_4nanvar_2d_float_axis0}; +static PyObject *__pyx_pw_6nanvar_5nanvar_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -2489,7 +2489,7 @@ static PyObject *__pyx_pw_6nanvar_5nanvar_2d_int_axis0(PyObject *__pyx_self, PyO int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -2510,11 +2510,11 @@ static PyObject *__pyx_pw_6nanvar_5nanvar_2d_int_axis0(PyObject *__pyx_self, PyO case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -2527,14 +2527,14 @@ static PyObject *__pyx_pw_6nanvar_5nanvar_2d_int_axis0(PyObject *__pyx_self, PyO } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_4nanvar_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanvar_4nanvar_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -2545,10 +2545,11 @@ static PyObject *__pyx_pw_6nanvar_5nanvar_2d_int_axis0(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_4nanvar_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_amean; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2565,19 +2566,19 @@ static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *_ npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2588,20 +2589,29 @@ static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanvar.pyx":216 - * def nanvar_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * def nanvar_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanvar.pyx":217 + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":219 + /* "nanvar.pyx":220 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -2610,7 +2620,7 @@ static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *_ */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":220 + /* "nanvar.pyx":221 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -2619,41 +2629,41 @@ static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *_ */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":221 + /* "nanvar.pyx":222 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":222 + /* "nanvar.pyx":223 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":223 + /* "nanvar.pyx":224 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -2661,82 +2671,107 @@ static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *_ __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":225 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanvar.pyx":226 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "nanvar.pyx":226 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + /* "nanvar.pyx":227 + * NPY_float, 0) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; /* "nanvar.pyx":228 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + * for i1 in range(n1): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanvar.pyx":229 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] + /* "nanvar.pyx":229 + * asum = 0 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; /* "nanvar.pyx":230 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n0 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":231 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n0 - * asum = 0 + /* "nanvar.pyx":231 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":232 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanvar.pyx":233 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanvar.pyx":232 - * for i0 in range(n0): - * asum += a[i0, i1] - * amean = asum / n0 # <<<<<<<<<<<<<< + /* "nanvar.pyx":234 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":235 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 * for i0 in range(n0): */ - if (unlikely(__pyx_v_n0 == 0)) { + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -2744,69 +2779,82 @@ static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *_ #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":233 - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanvar.pyx":236 + * if count > 0: + * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":234 - * amean = asum / n0 + /* "nanvar.pyx":237 + * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanvar.pyx":235 + /* "nanvar.pyx":238 * asum = 0 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":236 + /* "nanvar.pyx":239 * for i0 in range(n0): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanvar.pyx":237 + /* "nanvar.pyx":240 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = asum / (n0 - ddof) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = asum / (count - ddof) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanvar.pyx":241 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = asum / (count - ddof) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanvar.pyx":238 - * ai -= amean - * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) # <<<<<<<<<<<<<< - * return y - * + /* "nanvar.pyx":242 + * ai -= amean + * asum += (ai * ai) + * y[i1] = asum / (count - ddof) # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN */ - __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -2814,17 +2862,30 @@ static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *_ #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); + goto __pyx_L8; + } + /*else*/ { + + /* "nanvar.pyx":244 + * y[i1] = asum / (count - ddof) + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanvar.pyx":239 - * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) + /* "nanvar.pyx":245 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -2837,9 +2898,9 @@ static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *_ /* "nanvar.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -2850,7 +2911,7 @@ static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2863,19 +2924,19 @@ static PyObject *__pyx_pf_6nanvar_4nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "nanvar.pyx":243 +/* "nanvar.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_7nanvar_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_6nanvar_2d_int_axis1[] = "nanvar_2d_int_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_7nanvar_2d_int_axis1 = {"nanvar_2d_int_axis1", (PyCFunction)__pyx_pw_6nanvar_7nanvar_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_6nanvar_2d_int_axis1}; -static PyObject *__pyx_pw_6nanvar_7nanvar_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_7nanvar_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_6nanvar_2d_float_axis1[] = "nanvar_2d_float_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_7nanvar_2d_float_axis1 = {"nanvar_2d_float_axis1", (PyCFunction)__pyx_pw_6nanvar_7nanvar_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_6nanvar_2d_float_axis1}; +static PyObject *__pyx_pw_6nanvar_7nanvar_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -2883,7 +2944,7 @@ static PyObject *__pyx_pw_6nanvar_7nanvar_2d_int_axis1(PyObject *__pyx_self, PyO int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -2904,11 +2965,11 @@ static PyObject *__pyx_pw_6nanvar_7nanvar_2d_int_axis1(PyObject *__pyx_self, PyO case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -2917,18 +2978,18 @@ static PyObject *__pyx_pw_6nanvar_7nanvar_2d_int_axis1(PyObject *__pyx_self, PyO values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_6nanvar_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_6nanvar_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -2939,10 +3000,11 @@ static PyObject *__pyx_pw_6nanvar_7nanvar_2d_int_axis1(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_6nanvar_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_amean; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2959,19 +3021,19 @@ static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *_ npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2982,20 +3044,29 @@ static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":245 - * def nanvar_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + /* "nanvar.pyx":251 + * def nanvar_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanvar.pyx":252 + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":248 + /* "nanvar.pyx":255 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3004,7 +3075,7 @@ static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":249 + /* "nanvar.pyx":256 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3013,41 +3084,41 @@ static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *_ */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":250 + /* "nanvar.pyx":257 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":251 + /* "nanvar.pyx":258 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":252 + /* "nanvar.pyx":259 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3055,82 +3126,107 @@ static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":254 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanvar.pyx":261 + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanvar.pyx":255 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + /* "nanvar.pyx":262 + * NPY_float, 0) + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i1 in range(n1): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanvar.pyx":257 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanvar.pyx":263 + * for i0 in range(n0): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanvar.pyx":258 - * else: - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanvar.pyx":264 + * asum = 0 + * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanvar.pyx":259 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n1 + /* "nanvar.pyx":265 + * count = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":260 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n1 - * asum = 0 + /* "nanvar.pyx":266 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":267 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanvar.pyx":268 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanvar.pyx":261 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / n1 # <<<<<<<<<<<<<< + /* "nanvar.pyx":269 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":270 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 * for i1 in range(n1): */ - if (unlikely(__pyx_v_n1 == 0)) { + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3138,69 +3234,82 @@ static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *_ #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":262 - * asum += a[i0, i1] - * amean = asum / n1 + /* "nanvar.pyx":271 + * if count > 0: + * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":263 - * amean = asum / n1 + /* "nanvar.pyx":272 + * amean = asum / count * asum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanvar.pyx":264 + /* "nanvar.pyx":273 * asum = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":265 + /* "nanvar.pyx":274 * for i1 in range(n1): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanvar.pyx":266 + /* "nanvar.pyx":275 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = asum / (n1 - ddof) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = asum / (count - ddof) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanvar.pyx":276 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = asum / (count - ddof) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanvar.pyx":267 - * ai -= amean - * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) # <<<<<<<<<<<<<< - * return y - * + /* "nanvar.pyx":277 + * ai -= amean + * asum += (ai * ai) + * y[i0] = asum / (count - ddof) # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN */ - __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3208,17 +3317,30 @@ static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *_ #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); + goto __pyx_L8; } + /*else*/ { + + /* "nanvar.pyx":279 + * y[i0] = asum / (count - ddof) + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; + } + __pyx_L8:; } - __pyx_L3:; - /* "nanvar.pyx":268 - * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) + /* "nanvar.pyx":280 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3228,12 +3350,12 @@ static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *_ __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanvar.pyx":243 + /* "nanvar.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -3244,7 +3366,7 @@ static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3257,19 +3379,19 @@ static PyObject *__pyx_pf_6nanvar_6nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "nanvar.pyx":272 +/* "nanvar.pyx":284 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_9nanvar_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_8nanvar_2d_int8_axis0[] = "nanvar_2d_int8_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_9nanvar_2d_int8_axis0 = {"nanvar_2d_int8_axis0", (PyCFunction)__pyx_pw_6nanvar_9nanvar_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_8nanvar_2d_int8_axis0}; -static PyObject *__pyx_pw_6nanvar_9nanvar_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_9nanvar_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_8nanvar_2d_float32_axis0[] = "nanvar_2d_float32_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_9nanvar_2d_float32_axis0 = {"nanvar_2d_float32_axis0", (PyCFunction)__pyx_pw_6nanvar_9nanvar_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_8nanvar_2d_float32_axis0}; +static PyObject *__pyx_pw_6nanvar_9nanvar_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -3277,7 +3399,7 @@ static PyObject *__pyx_pw_6nanvar_9nanvar_2d_int8_axis0(PyObject *__pyx_self, Py int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -3298,11 +3420,11 @@ static PyObject *__pyx_pw_6nanvar_9nanvar_2d_int8_axis0(PyObject *__pyx_self, Py case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3311,18 +3433,18 @@ static PyObject *__pyx_pw_6nanvar_9nanvar_2d_int8_axis0(PyObject *__pyx_self, Py values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_8nanvar_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_8nanvar_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -3333,10 +3455,11 @@ static PyObject *__pyx_pw_6nanvar_9nanvar_2d_int8_axis0(PyObject *__pyx_self, Py return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_8nanvar_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_amean; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3353,19 +3476,19 @@ static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject * npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3376,20 +3499,29 @@ static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":274 - * def nanvar_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + /* "nanvar.pyx":286 + * def nanvar_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanvar.pyx":287 + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":277 + /* "nanvar.pyx":290 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3398,7 +3530,7 @@ static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":278 + /* "nanvar.pyx":291 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3407,41 +3539,41 @@ static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject * */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":279 + /* "nanvar.pyx":292 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":280 + /* "nanvar.pyx":293 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":281 + /* "nanvar.pyx":294 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3449,82 +3581,107 @@ static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":283 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanvar.pyx":296 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "nanvar.pyx":284 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + /* "nanvar.pyx":297 + * NPY_float32, 0) + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanvar.pyx":286 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":298 + * for i1 in range(n1): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanvar.pyx":287 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] + /* "nanvar.pyx":299 + * asum = 0 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanvar.pyx":288 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanvar.pyx":300 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":289 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n0 - * asum = 0 + /* "nanvar.pyx":301 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":302 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanvar.pyx":303 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanvar.pyx":290 - * for i0 in range(n0): - * asum += a[i0, i1] - * amean = asum / n0 # <<<<<<<<<<<<<< + /* "nanvar.pyx":304 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":305 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 * for i0 in range(n0): */ - if (unlikely(__pyx_v_n0 == 0)) { + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3532,69 +3689,82 @@ static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject * #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":291 - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanvar.pyx":306 + * if count > 0: + * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":292 - * amean = asum / n0 + /* "nanvar.pyx":307 + * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanvar.pyx":293 + /* "nanvar.pyx":308 * asum = 0 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":294 + /* "nanvar.pyx":309 * for i0 in range(n0): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanvar.pyx":295 + /* "nanvar.pyx":310 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = asum / (n0 - ddof) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = asum / (count - ddof) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanvar.pyx":311 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = asum / (count - ddof) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanvar.pyx":296 - * ai -= amean - * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) # <<<<<<<<<<<<<< - * return y - * + /* "nanvar.pyx":312 + * ai -= amean + * asum += (ai * ai) + * y[i1] = asum / (count - ddof) # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN */ - __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3602,17 +3772,30 @@ static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject * #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); + goto __pyx_L8; + } + /*else*/ { + + /* "nanvar.pyx":314 + * y[i1] = asum / (count - ddof) + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanvar.pyx":297 - * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) + /* "nanvar.pyx":315 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -3622,12 +3805,12 @@ static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject * __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanvar.pyx":272 + /* "nanvar.pyx":284 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -3638,7 +3821,7 @@ static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject * __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3651,19 +3834,19 @@ static PyObject *__pyx_pf_6nanvar_8nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "nanvar.pyx":301 +/* "nanvar.pyx":319 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_11nanvar_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_10nanvar_2d_int8_axis1[] = "nanvar_2d_int8_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_11nanvar_2d_int8_axis1 = {"nanvar_2d_int8_axis1", (PyCFunction)__pyx_pw_6nanvar_11nanvar_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_10nanvar_2d_int8_axis1}; -static PyObject *__pyx_pw_6nanvar_11nanvar_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_11nanvar_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_10nanvar_2d_float32_axis1[] = "nanvar_2d_float32_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_11nanvar_2d_float32_axis1 = {"nanvar_2d_float32_axis1", (PyCFunction)__pyx_pw_6nanvar_11nanvar_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_10nanvar_2d_float32_axis1}; +static PyObject *__pyx_pw_6nanvar_11nanvar_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -3671,7 +3854,7 @@ static PyObject *__pyx_pw_6nanvar_11nanvar_2d_int8_axis1(PyObject *__pyx_self, P int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int8_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -3692,11 +3875,11 @@ static PyObject *__pyx_pw_6nanvar_11nanvar_2d_int8_axis1(PyObject *__pyx_self, P case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3705,18 +3888,18 @@ static PyObject *__pyx_pw_6nanvar_11nanvar_2d_int8_axis1(PyObject *__pyx_self, P values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_10nanvar_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_10nanvar_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -3727,10 +3910,11 @@ static PyObject *__pyx_pw_6nanvar_11nanvar_2d_int8_axis1(PyObject *__pyx_self, P return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_10nanvar_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_amean; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3747,19 +3931,19 @@ static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3770,20 +3954,29 @@ static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":303 - * def nanvar_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + /* "nanvar.pyx":321 + * def nanvar_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanvar.pyx":322 + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":306 + /* "nanvar.pyx":325 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -3792,7 +3985,7 @@ static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":307 + /* "nanvar.pyx":326 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -3801,41 +3994,41 @@ static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":308 + /* "nanvar.pyx":327 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":309 + /* "nanvar.pyx":328 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":310 + /* "nanvar.pyx":329 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -3843,82 +4036,107 @@ static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":312 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanvar.pyx":331 + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanvar.pyx":313 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + /* "nanvar.pyx":332 + * NPY_float32, 0) + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i1 in range(n1): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanvar.pyx":315 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanvar.pyx":333 + * for i0 in range(n0): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanvar.pyx":316 - * else: - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanvar.pyx":334 + * asum = 0 + * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanvar.pyx":317 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n1 + /* "nanvar.pyx":335 + * count = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":318 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n1 - * asum = 0 + /* "nanvar.pyx":336 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":337 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanvar.pyx":338 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanvar.pyx":319 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / n1 # <<<<<<<<<<<<<< + /* "nanvar.pyx":339 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":340 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 * for i1 in range(n1): */ - if (unlikely(__pyx_v_n1 == 0)) { + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3926,69 +4144,82 @@ static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":320 - * asum += a[i0, i1] - * amean = asum / n1 + /* "nanvar.pyx":341 + * if count > 0: + * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":321 - * amean = asum / n1 + /* "nanvar.pyx":342 + * amean = asum / count * asum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanvar.pyx":322 + /* "nanvar.pyx":343 * asum = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":323 + /* "nanvar.pyx":344 * for i1 in range(n1): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanvar.pyx":324 + /* "nanvar.pyx":345 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = asum / (n1 - ddof) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = asum / (count - ddof) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanvar.pyx":346 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = asum / (count - ddof) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanvar.pyx":325 - * ai -= amean - * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) # <<<<<<<<<<<<<< - * return y - * + /* "nanvar.pyx":347 + * ai -= amean + * asum += (ai * ai) + * y[i0] = asum / (count - ddof) # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN */ - __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -3996,17 +4227,30 @@ static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); + goto __pyx_L8; + } + /*else*/ { + + /* "nanvar.pyx":349 + * y[i0] = asum / (count - ddof) + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanvar.pyx":326 - * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) + /* "nanvar.pyx":350 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4016,12 +4260,12 @@ static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanvar.pyx":301 + /* "nanvar.pyx":319 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -4032,7 +4276,7 @@ static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4045,19 +4289,19 @@ static PyObject *__pyx_pf_6nanvar_10nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanvar.pyx":330 +/* "nanvar.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_13nanvar_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_12nanvar_2d_int32_axis0[] = "nanvar_2d_int32_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_13nanvar_2d_int32_axis0 = {"nanvar_2d_int32_axis0", (PyCFunction)__pyx_pw_6nanvar_13nanvar_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_12nanvar_2d_int32_axis0}; -static PyObject *__pyx_pw_6nanvar_13nanvar_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_13nanvar_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_12nanvar_2d_float64_axis0[] = "nanvar_2d_float64_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_13nanvar_2d_float64_axis0 = {"nanvar_2d_float64_axis0", (PyCFunction)__pyx_pw_6nanvar_13nanvar_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_12nanvar_2d_float64_axis0}; +static PyObject *__pyx_pw_6nanvar_13nanvar_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -4065,7 +4309,7 @@ static PyObject *__pyx_pw_6nanvar_13nanvar_2d_int32_axis0(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -4086,11 +4330,11 @@ static PyObject *__pyx_pw_6nanvar_13nanvar_2d_int32_axis0(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4099,18 +4343,18 @@ static PyObject *__pyx_pw_6nanvar_13nanvar_2d_int32_axis0(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_12nanvar_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_12nanvar_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -4121,7 +4365,8 @@ static PyObject *__pyx_pw_6nanvar_13nanvar_2d_int32_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_12nanvar_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; @@ -4141,19 +4386,19 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4164,20 +4409,29 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":332 - * def nanvar_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." + /* "nanvar.pyx":356 + * def nanvar_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanvar.pyx":357 + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":335 + /* "nanvar.pyx":360 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4186,7 +4440,7 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":336 + /* "nanvar.pyx":361 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4195,7 +4449,7 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":337 + /* "nanvar.pyx":362 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -4204,7 +4458,7 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":338 + /* "nanvar.pyx":363 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< @@ -4214,22 +4468,22 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":339 + /* "nanvar.pyx":364 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) - * if n0 == 0: + * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4237,82 +4491,107 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":341 + /* "nanvar.pyx":366 * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; - /* "nanvar.pyx":342 + /* "nanvar.pyx":367 * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i0 in range(n0): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanvar.pyx":344 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":368 + * for i1 in range(n1): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanvar.pyx":345 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] + /* "nanvar.pyx":369 + * asum = 0 + * count = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanvar.pyx":346 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanvar.pyx":370 + * count = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":347 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n0 - * asum = 0 + /* "nanvar.pyx":371 + * for i0 in range(n0): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":372 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: + */ + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + + /* "nanvar.pyx":373 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; } + __pyx_L7:; + } - /* "nanvar.pyx":348 - * for i0 in range(n0): - * asum += a[i0, i1] - * amean = asum / n0 # <<<<<<<<<<<<<< + /* "nanvar.pyx":374 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":375 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 * for i0 in range(n0): */ - if (unlikely(__pyx_v_n0 == 0)) { + if (unlikely(__pyx_v_count == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -4320,69 +4599,82 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":349 - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanvar.pyx":376 + * if count > 0: + * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":350 - * amean = asum / n0 + /* "nanvar.pyx":377 + * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "nanvar.pyx":351 + /* "nanvar.pyx":378 * asum = 0 * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":352 + /* "nanvar.pyx":379 * for i0 in range(n0): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanvar.pyx":353 + /* "nanvar.pyx":380 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = asum / (n0 - ddof) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = asum / (count - ddof) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanvar.pyx":381 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = asum / (count - ddof) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanvar.pyx":354 - * ai -= amean - * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) # <<<<<<<<<<<<<< - * return y - * + /* "nanvar.pyx":382 + * ai -= amean + * asum += (ai * ai) + * y[i1] = asum / (count - ddof) # <<<<<<<<<<<<<< + * else: + * y[i1] = NAN */ - __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -4390,17 +4682,30 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); + __pyx_t_7 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); + goto __pyx_L8; + } + /*else*/ { + + /* "nanvar.pyx":384 + * y[i1] = asum / (count - ddof) + * else: + * y[i1] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanvar.pyx":355 - * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) + /* "nanvar.pyx":385 + * else: + * y[i1] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4410,12 +4715,12 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanvar.pyx":330 + /* "nanvar.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -4426,7 +4731,7 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4439,19 +4744,19 @@ static PyObject *__pyx_pf_6nanvar_12nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanvar.pyx":359 +/* "nanvar.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_15nanvar_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_14nanvar_2d_int32_axis1[] = "nanvar_2d_int32_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_15nanvar_2d_int32_axis1 = {"nanvar_2d_int32_axis1", (PyCFunction)__pyx_pw_6nanvar_15nanvar_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_14nanvar_2d_int32_axis1}; -static PyObject *__pyx_pw_6nanvar_15nanvar_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_15nanvar_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_14nanvar_2d_float64_axis1[] = "nanvar_2d_float64_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_15nanvar_2d_float64_axis1 = {"nanvar_2d_float64_axis1", (PyCFunction)__pyx_pw_6nanvar_15nanvar_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_14nanvar_2d_float64_axis1}; +static PyObject *__pyx_pw_6nanvar_15nanvar_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -4459,7 +4764,7 @@ static PyObject *__pyx_pw_6nanvar_15nanvar_2d_int32_axis1(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -4480,11 +4785,11 @@ static PyObject *__pyx_pw_6nanvar_15nanvar_2d_int32_axis1(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4493,18 +4798,18 @@ static PyObject *__pyx_pw_6nanvar_15nanvar_2d_int32_axis1(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_14nanvar_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_14nanvar_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -4515,7 +4820,8 @@ static PyObject *__pyx_pw_6nanvar_15nanvar_2d_int32_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_14nanvar_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; @@ -4535,19 +4841,19 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; PyArrayObject *__pyx_t_3 = NULL; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + int __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -4558,20 +4864,29 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":361 - * def nanvar_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." + /* "nanvar.pyx":391 + * def nanvar_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 + */ + __pyx_v_count = 0; + + /* "nanvar.pyx":392 + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":364 + /* "nanvar.pyx":395 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4580,7 +4895,7 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":365 + /* "nanvar.pyx":396 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4589,7 +4904,7 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":366 + /* "nanvar.pyx":397 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -4598,7 +4913,7 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":367 + /* "nanvar.pyx":398 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -4608,22 +4923,22 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":368 + /* "nanvar.pyx":399 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) - * if n1 == 0: + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -4631,152 +4946,190 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_v_y = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":370 + /* "nanvar.pyx":401 * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * count = 0 */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "nanvar.pyx":371 + /* "nanvar.pyx":402 * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * count = 0 + * for i1 in range(n1): */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; - } - /*else*/ { + __pyx_v_asum = 0.0; - /* "nanvar.pyx":373 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanvar.pyx":403 + * for i0 in range(n0): + * asum = 0 + * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_v_count = 0; - /* "nanvar.pyx":374 - * else: - * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanvar.pyx":404 + * asum = 0 + * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanvar.pyx":375 - * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n1 + /* "nanvar.pyx":405 + * count = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":376 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n1 - * asum = 0 + /* "nanvar.pyx":406 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanvar.pyx":377 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / n1 # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanvar.pyx":407 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: */ - if (unlikely(__pyx_v_n1 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanvar.pyx":378 - * asum += a[i0, i1] - * amean = asum / n1 - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanvar.pyx":408 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count + */ + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; + } + __pyx_L7:; + } + + /* "nanvar.pyx":409 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 + */ + __pyx_t_10 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_10) { + + /* "nanvar.pyx":410 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): + */ + if (unlikely(__pyx_v_count == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); + + /* "nanvar.pyx":411 + * if count > 0: + * amean = asum / count + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":379 - * amean = asum / n1 + /* "nanvar.pyx":412 + * amean = asum / count * asum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * ai -= amean + * if ai == ai: */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "nanvar.pyx":380 + /* "nanvar.pyx":413 * asum = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * if ai == ai: + * ai -= amean */ __pyx_t_11 = __pyx_v_i0; __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":381 + /* "nanvar.pyx":414 * for i1 in range(n1): * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_10) { - /* "nanvar.pyx":382 + /* "nanvar.pyx":415 * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = asum / (n1 - ddof) - * return y + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = asum / (count - ddof) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanvar.pyx":416 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = asum / (count - ddof) + * else: + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L11; + } + __pyx_L11:; } - /* "nanvar.pyx":383 - * ai -= amean - * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) # <<<<<<<<<<<<<< - * return y - * + /* "nanvar.pyx":417 + * ai -= amean + * asum += (ai * ai) + * y[i0] = asum / (count - ddof) # <<<<<<<<<<<<<< + * else: + * y[i0] = NAN */ - __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { + __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_6 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -4784,17 +5137,30 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); + __pyx_t_7 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); + goto __pyx_L8; + } + /*else*/ { + + /* "nanvar.pyx":419 + * y[i0] = asum / (count - ddof) + * else: + * y[i0] = NAN # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; } + __pyx_L8:; } - __pyx_L3:; - /* "nanvar.pyx":384 - * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) + /* "nanvar.pyx":420 + * else: + * y[i0] = NAN * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -4804,12 +5170,12 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "nanvar.pyx":359 + /* "nanvar.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ @@ -4820,7 +5186,7 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4833,19 +5199,19 @@ static PyObject *__pyx_pf_6nanvar_14nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject return __pyx_r; } -/* "nanvar.pyx":388 +/* "nanvar.pyx":424 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_17nanvar_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_16nanvar_2d_int64_axis0[] = "nanvar_2d_int64_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_17nanvar_2d_int64_axis0 = {"nanvar_2d_int64_axis0", (PyCFunction)__pyx_pw_6nanvar_17nanvar_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_16nanvar_2d_int64_axis0}; -static PyObject *__pyx_pw_6nanvar_17nanvar_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_17nanvar_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_16nanvar_1d_float_axisNone[] = "nanvar_1d_float_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_17nanvar_1d_float_axisNone = {"nanvar_1d_float_axisNone", (PyCFunction)__pyx_pw_6nanvar_17nanvar_1d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_16nanvar_1d_float_axisNone}; +static PyObject *__pyx_pw_6nanvar_17nanvar_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -4853,7 +5219,7 @@ static PyObject *__pyx_pw_6nanvar_17nanvar_2d_int64_axis0(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_1d_float_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -4874,11 +5240,11 @@ static PyObject *__pyx_pw_6nanvar_17nanvar_2d_int64_axis0(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4887,18 +5253,18 @@ static PyObject *__pyx_pw_6nanvar_17nanvar_2d_int64_axis0(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_16nanvar_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_16nanvar_1d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -4909,337 +5275,369 @@ static PyObject *__pyx_pw_6nanvar_17nanvar_2d_int64_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_16nanvar_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_16nanvar_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_amean; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; int __pyx_t_4; Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanvar_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanvar.pyx":390 - * def nanvar_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "nanvar.pyx":426 + * def nanvar_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): + * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float_t asum = 0, amean, ai + * cdef Py_ssize_t i0 + */ + __pyx_v_count = 0; + + /* "nanvar.pyx":427 + * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":393 - * cdef Py_ssize_t i0, i1 + /* "nanvar.pyx":430 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":394 + /* "nanvar.pyx":431 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":395 + /* "nanvar.pyx":432 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":396 + /* "nanvar.pyx":433 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":397 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: + /* "nanvar.pyx":434 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "nanvar.pyx":399 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanvar.pyx":435 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: */ - __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_4) { + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanvar.pyx":400 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i1 in range(n1): + /* "nanvar.pyx":436 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L5; + } + __pyx_L5:; } - /*else*/ { - - /* "nanvar.pyx":402 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): - */ - __pyx_t_5 = __pyx_v_n1; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i1 = __pyx_t_6; - - /* "nanvar.pyx":403 - * else: - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * asum += a[i0, i1] - */ - __pyx_v_asum = 0.0; - /* "nanvar.pyx":404 - * for i1 in range(n1): - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n0 + /* "nanvar.pyx":437 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_4 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_4) { - /* "nanvar.pyx":405 - * asum = 0 - * for i0 in range(n0): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n0 - * asum = 0 + /* "nanvar.pyx":438 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); - } + if (unlikely(__pyx_v_count == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":406 - * for i0 in range(n0): - * asum += a[i0, i1] - * amean = asum / n0 # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":439 + * if count > 0: + * amean = asum / count + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - if (unlikely(__pyx_v_n0 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); + __pyx_v_asum = 0.0; - /* "nanvar.pyx":407 - * asum += a[i0, i1] - * amean = asum / n0 - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanvar.pyx":440 + * amean = asum / count + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":408 - * amean = asum / n0 - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] + /* "nanvar.pyx":441 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: * ai -= amean */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_5 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":409 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< + /* "nanvar.pyx":442 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< * ai -= amean * asum += (ai * ai) */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "nanvar.pyx":410 - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanvar.pyx":443 + * ai = a[i0] + * if ai == ai: * ai -= amean # <<<<<<<<<<<<<< * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) + * return np.float(asum / (count - ddof)) */ __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":411 - * ai = a[i0, i1] + /* "nanvar.pyx":444 + * if ai == ai: * ai -= amean * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = asum / (n0 - ddof) - * return y + * return np.float(asum / (count - ddof)) + * else: */ __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; } + __pyx_L9:; + } - /* "nanvar.pyx":412 + /* "nanvar.pyx":445 * ai -= amean * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) # <<<<<<<<<<<<<< - * return y - * + * return np.float(asum / (count - ddof)) # <<<<<<<<<<<<<< + * else: + * return np.float(NAN) */ - __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_7 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); } - __pyx_t_8 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); } + if (!__pyx_t_9) { + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else { + __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; + PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; } - __pyx_L3:; + /*else*/ { - /* "nanvar.pyx":413 - * asum += (ai * ai) - * y[i1] = asum / (n0 - ddof) - * return y # <<<<<<<<<<<<<< + /* "nanvar.pyx":447 + * return np.float(asum / (count - ddof)) + * else: + * return np.float(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "nanvar.pyx":388 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanvar_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; - __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - goto __pyx_L2; - __pyx_L0:; - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); + __Pyx_XDECREF(__pyx_r); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + if (!__pyx_t_7) { + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; + } + + /* "nanvar.pyx":424 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanvar_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("nanvar.nanvar_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanvar.pyx":417 +/* "nanvar.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_19nanvar_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_18nanvar_2d_int64_axis1[] = "nanvar_2d_int64_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_19nanvar_2d_int64_axis1 = {"nanvar_2d_int64_axis1", (PyCFunction)__pyx_pw_6nanvar_19nanvar_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_18nanvar_2d_int64_axis1}; -static PyObject *__pyx_pw_6nanvar_19nanvar_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_19nanvar_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_18nanvar_1d_float32_axisNone[] = "nanvar_1d_float32_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_19nanvar_1d_float32_axisNone = {"nanvar_1d_float32_axisNone", (PyCFunction)__pyx_pw_6nanvar_19nanvar_1d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_18nanvar_1d_float32_axisNone}; +static PyObject *__pyx_pw_6nanvar_19nanvar_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -5247,7 +5645,7 @@ static PyObject *__pyx_pw_6nanvar_19nanvar_2d_int64_axis1(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_1d_float32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -5268,11 +5666,11 @@ static PyObject *__pyx_pw_6nanvar_19nanvar_2d_int64_axis1(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5281,18 +5679,18 @@ static PyObject *__pyx_pw_6nanvar_19nanvar_2d_int64_axis1(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_18nanvar_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_18nanvar_1d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -5303,337 +5701,369 @@ static PyObject *__pyx_pw_6nanvar_19nanvar_2d_int64_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_18nanvar_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_18nanvar_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + Py_ssize_t __pyx_v_count; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_amean; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; int __pyx_t_4; Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanvar_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanvar.pyx":419 - * def nanvar_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "nanvar.pyx":453 + * def nanvar_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): + * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< + * cdef np.float32_t asum = 0, amean, ai + * cdef Py_ssize_t i0 + */ + __pyx_v_count = 0; + + /* "nanvar.pyx":454 + * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 + * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":422 - * cdef Py_ssize_t i0, i1 + /* "nanvar.pyx":457 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":423 + /* "nanvar.pyx":458 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":424 + /* "nanvar.pyx":459 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":425 + /* "nanvar.pyx":460 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":426 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n1 == 0: + /* "nanvar.pyx":461 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "nanvar.pyx":428 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * else: + /* "nanvar.pyx":462 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 + * if count > 0: */ - __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_4) { + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanvar.pyx":429 - * NPY_float64, 0) - * if n1 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * else: - * for i0 in range(n0): + /* "nanvar.pyx":463 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< + * if count > 0: + * amean = asum / count */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L3; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L5; + } + __pyx_L5:; } - /*else*/ { - /* "nanvar.pyx":431 - * PyArray_FillWithScalar(y, NAN) - * else: - * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanvar.pyx":464 + * asum += ai + * count += 1 + * if count > 0: # <<<<<<<<<<<<<< + * amean = asum / count + * asum = 0 */ - __pyx_t_5 = __pyx_v_n0; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i0 = __pyx_t_6; + __pyx_t_4 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_4) { - /* "nanvar.pyx":432 - * else: + /* "nanvar.pyx":465 + * count += 1 + * if count > 0: + * amean = asum / count # <<<<<<<<<<<<<< + * asum = 0 * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] */ - __pyx_v_asum = 0.0; + if (unlikely(__pyx_v_count == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":433 + /* "nanvar.pyx":466 + * if count > 0: + * amean = asum / count + * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / n1 - */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; - - /* "nanvar.pyx":434 - * asum = 0 - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / n1 - * asum = 0 - */ - __pyx_t_9 = __pyx_v_i0; - __pyx_t_10 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); - } - - /* "nanvar.pyx":435 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / n1 # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + * ai = a[i0] */ - if (unlikely(__pyx_v_n1 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); + __pyx_v_asum = 0.0; - /* "nanvar.pyx":436 - * asum += a[i0, i1] - * amean = asum / n1 - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanvar.pyx":467 + * amean = asum / count + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_asum = 0.0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":437 - * amean = asum / n1 - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] + /* "nanvar.pyx":468 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: * ai -= amean */ - __pyx_t_7 = __pyx_v_n1; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i1 = __pyx_t_8; + __pyx_t_5 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":438 - * asum = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< + /* "nanvar.pyx":469 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< * ai -= amean * asum += (ai * ai) */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_4) { - /* "nanvar.pyx":439 - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanvar.pyx":470 + * ai = a[i0] + * if ai == ai: * ai -= amean # <<<<<<<<<<<<<< * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) + * return np.float32(asum / (count - ddof)) */ __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":440 - * ai = a[i0, i1] + /* "nanvar.pyx":471 + * if ai == ai: * ai -= amean * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = asum / (n1 - ddof) - * return y + * return np.float32(asum / (count - ddof)) + * else: */ __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; } + __pyx_L9:; + } - /* "nanvar.pyx":441 + /* "nanvar.pyx":472 * ai -= amean * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) # <<<<<<<<<<<<<< - * return y - * + * return np.float32(asum / (count - ddof)) # <<<<<<<<<<<<<< + * else: + * return np.float32(NAN) */ - __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); + if (unlikely(__pyx_t_1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_7 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); } - __pyx_t_8 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); } + if (!__pyx_t_9) { + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else { + __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; + PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; } - __pyx_L3:; + /*else*/ { - /* "nanvar.pyx":442 - * asum += (ai * ai) - * y[i0] = asum / (n1 - ddof) - * return y # <<<<<<<<<<<<<< + /* "nanvar.pyx":474 + * return np.float32(asum / (count - ddof)) + * else: + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + if (!__pyx_t_7) { + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else { + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; + } - /* "nanvar.pyx":417 + /* "nanvar.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanvar.pyx":446 +/* "nanvar.pyx":478 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanvar_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_21nanvar_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_20nanvar_1d_float_axisNone[] = "nanvar_1d_float_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_21nanvar_1d_float_axisNone = {"nanvar_1d_float_axisNone", (PyCFunction)__pyx_pw_6nanvar_21nanvar_1d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_20nanvar_1d_float_axisNone}; -static PyObject *__pyx_pw_6nanvar_21nanvar_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_21nanvar_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_20nanvar_1d_float64_axisNone[] = "nanvar_1d_float64_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_21nanvar_1d_float64_axisNone = {"nanvar_1d_float64_axisNone", (PyCFunction)__pyx_pw_6nanvar_21nanvar_1d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_20nanvar_1d_float64_axisNone}; +static PyObject *__pyx_pw_6nanvar_21nanvar_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -5641,7 +6071,7 @@ static PyObject *__pyx_pw_6nanvar_21nanvar_1d_float_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_1d_float_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_1d_float64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -5662,11 +6092,11 @@ static PyObject *__pyx_pw_6nanvar_21nanvar_1d_float_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_1d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5675,18 +6105,18 @@ static PyObject *__pyx_pw_6nanvar_21nanvar_1d_float_axisNone(PyObject *__pyx_sel values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_1d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_20nanvar_1d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_20nanvar_1d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -5697,11 +6127,11 @@ static PyObject *__pyx_pw_6nanvar_21nanvar_1d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_amean; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -5722,36 +6152,36 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanvar.pyx":448 - * def nanvar_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): - * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + /* "nanvar.pyx":480 + * def nanvar_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): + * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, amean, ai + * cdef np.float64_t asum = 0, amean, ai * cdef Py_ssize_t i0 */ __pyx_v_count = 0; - /* "nanvar.pyx":449 - * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + /* "nanvar.pyx":481 + * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":452 + /* "nanvar.pyx":484 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5760,7 +6190,7 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":453 + /* "nanvar.pyx":485 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5769,7 +6199,7 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":454 + /* "nanvar.pyx":486 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5780,7 +6210,7 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":455 + /* "nanvar.pyx":487 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -5788,9 +6218,9 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj * asum += ai */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":456 + /* "nanvar.pyx":488 * for i0 in range(n0): * ai = a[i0] * if ai == ai: # <<<<<<<<<<<<<< @@ -5800,7 +6230,7 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "nanvar.pyx":457 + /* "nanvar.pyx":489 * ai = a[i0] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -5809,7 +6239,7 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanvar.pyx":458 + /* "nanvar.pyx":490 * if ai == ai: * asum += ai * count += 1 # <<<<<<<<<<<<<< @@ -5822,7 +6252,7 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_L5:; } - /* "nanvar.pyx":459 + /* "nanvar.pyx":491 * asum += ai * count += 1 * if count > 0: # <<<<<<<<<<<<<< @@ -5832,7 +6262,7 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_4 = ((__pyx_v_count > 0) != 0); if (__pyx_t_4) { - /* "nanvar.pyx":460 + /* "nanvar.pyx":492 * count += 1 * if count > 0: * amean = asum / count # <<<<<<<<<<<<<< @@ -5847,11 +6277,11 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":461 + /* "nanvar.pyx":493 * if count > 0: * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< @@ -5860,7 +6290,7 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":462 + /* "nanvar.pyx":494 * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5871,7 +6301,7 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":463 + /* "nanvar.pyx":495 * asum = 0 * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< @@ -5879,9 +6309,9 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj * ai -= amean */ __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":464 + /* "nanvar.pyx":496 * for i0 in range(n0): * ai = a[i0] * if ai == ai: # <<<<<<<<<<<<<< @@ -5891,20 +6321,20 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_4) { - /* "nanvar.pyx":465 + /* "nanvar.pyx":497 * ai = a[i0] * if ai == ai: * ai -= amean # <<<<<<<<<<<<<< * asum += (ai * ai) - * return np.float(asum / (count - ddof)) + * return np.float64(asum / (count - ddof)) */ __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":466 + /* "nanvar.pyx":498 * if ai == ai: * ai -= amean * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float(asum / (count - ddof)) + * return np.float64(asum / (count - ddof)) * else: */ __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); @@ -5913,17 +6343,17 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj __pyx_L9:; } - /* "nanvar.pyx":467 + /* "nanvar.pyx":499 * ai -= amean * asum += (ai * ai) - * return np.float(asum / (count - ddof)) # <<<<<<<<<<<<<< + * return np.float64(asum / (count - ddof)) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); @@ -5935,9 +6365,9 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_7 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_8))) { @@ -5950,17 +6380,17 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_9) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_6); } else { - __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } @@ -5971,20 +6401,20 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj } /*else*/ { - /* "nanvar.pyx":469 - * return np.float(asum / (count - ddof)) + /* "nanvar.pyx":501 + * return np.float64(asum / (count - ddof)) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { @@ -5997,17 +6427,17 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_7) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_6); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -6017,11 +6447,11 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "nanvar.pyx":446 + /* "nanvar.pyx":478 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanvar_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ @@ -6036,7 +6466,7 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6047,19 +6477,19 @@ static PyObject *__pyx_pf_6nanvar_20nanvar_1d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanvar.pyx":473 +/* "nanvar.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanvar_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_23nanvar_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_22nanvar_1d_float32_axisNone[] = "nanvar_1d_float32_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_23nanvar_1d_float32_axisNone = {"nanvar_1d_float32_axisNone", (PyCFunction)__pyx_pw_6nanvar_23nanvar_1d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_22nanvar_1d_float32_axisNone}; -static PyObject *__pyx_pw_6nanvar_23nanvar_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_23nanvar_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_22nanvar_2d_float_axisNone[] = "nanvar_2d_float_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_23nanvar_2d_float_axisNone = {"nanvar_2d_float_axisNone", (PyCFunction)__pyx_pw_6nanvar_23nanvar_2d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_22nanvar_2d_float_axisNone}; +static PyObject *__pyx_pw_6nanvar_23nanvar_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -6067,7 +6497,7 @@ static PyObject *__pyx_pw_6nanvar_23nanvar_1d_float32_axisNone(PyObject *__pyx_s int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_1d_float32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -6088,11 +6518,11 @@ static PyObject *__pyx_pw_6nanvar_23nanvar_1d_float32_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_1d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6101,18 +6531,18 @@ static PyObject *__pyx_pw_6nanvar_23nanvar_1d_float32_axisNone(PyObject *__pyx_s values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_1d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_22nanvar_1d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_22nanvar_2d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -6123,14 +6553,16 @@ static PyObject *__pyx_pw_6nanvar_23nanvar_1d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_22nanvar_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_22nanvar_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_amean; - __pyx_t_5numpy_float32_t __pyx_v_ai; + __pyx_t_5numpy_float_t __pyx_v_asum; + __pyx_t_5numpy_float_t __pyx_v_amean; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -6138,128 +6570,154 @@ static PyObject *__pyx_pf_6nanvar_22nanvar_1d_float32_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_6; + int __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":475 - * def nanvar_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): - * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanvar.pyx":507 + * def nanvar_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, amean, ai - * cdef Py_ssize_t i0 + * cdef np.float_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_count = 0; - /* "nanvar.pyx":476 - * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + /* "nanvar.pyx":508 + * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":479 - * cdef Py_ssize_t i0 + /* "nanvar.pyx":511 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":480 + /* "nanvar.pyx":512 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":481 + /* "nanvar.pyx":513 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanvar.pyx":514 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":482 - * cdef Py_ssize_t n0 = dim[0] + /* "nanvar.pyx":515 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanvar.pyx":483 + /* "nanvar.pyx":516 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":484 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 + /* "nanvar.pyx":517 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 + */ + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { + + /* "nanvar.pyx":518 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 * if count > 0: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanvar.pyx":485 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< + /* "nanvar.pyx":519 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< * if count > 0: * amean = asum / count */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L5; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; + } + __pyx_L7:; } - __pyx_L5:; } - /* "nanvar.pyx":486 - * asum += ai - * count += 1 + /* "nanvar.pyx":520 + * asum += ai + * count += 1 * if count > 0: # <<<<<<<<<<<<<< * amean = asum / count * asum = 0 */ - __pyx_t_4 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_4) { + __pyx_t_7 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_7) { - /* "nanvar.pyx":487 - * count += 1 + /* "nanvar.pyx":521 + * count += 1 * if count > 0: * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 @@ -6273,85 +6731,98 @@ static PyObject *__pyx_pf_6nanvar_22nanvar_1d_float32_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":488 + /* "nanvar.pyx":522 * if count > 0: * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1): */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":489 + /* "nanvar.pyx":523 * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":490 + /* "nanvar.pyx":524 * asum = 0 * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanvar.pyx":491 + /* "nanvar.pyx":525 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":492 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * return np.float32(asum / (count - ddof)) + /* "nanvar.pyx":526 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { - /* "nanvar.pyx":493 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float32(asum / (count - ddof)) + /* "nanvar.pyx":527 + * ai = a[i0, i1] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * return np.float(asum / (count - ddof)) + */ + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanvar.pyx":528 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * return np.float(asum / (count - ddof)) * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L13; + } + __pyx_L13:; } - __pyx_L9:; } - /* "nanvar.pyx":494 - * ai -= amean - * asum += (ai * ai) - * return np.float32(asum / (count - ddof)) # <<<<<<<<<<<<<< + /* "nanvar.pyx":529 + * ai -= amean + * asum += (ai * ai) + * return np.float(asum / (count - ddof)) # <<<<<<<<<<<<<< * else: - * return np.float32(NAN) + * return np.float(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float32); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); if (unlikely(__pyx_t_1 == 0)) { #ifdef WITH_THREAD @@ -6361,108 +6832,108 @@ static PyObject *__pyx_pf_6nanvar_22nanvar_1d_float32_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_7 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - } + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - if (!__pyx_t_9) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_6); + __pyx_t_11 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_13 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + if (!__pyx_t_13) { + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL; + PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_11 = 0; + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; - PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_r = __pyx_t_10; + __pyx_t_10 = 0; goto __pyx_L0; } /*else*/ { - /* "nanvar.pyx":496 - * return np.float32(asum / (count - ddof)) + /* "nanvar.pyx":531 + * return np.float(asum / (count - ddof)) * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< + * return np.float(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float32); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_7); + __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); + __Pyx_DECREF_SET(__pyx_t_14, function); } } - if (!__pyx_t_7) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_6); + if (!__pyx_t_11) { + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_12); + __Pyx_GIVEREF(__pyx_t_12); + __pyx_t_12 = 0; + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_r = __pyx_t_10; + __pyx_t_10 = 0; goto __pyx_L0; } - /* "nanvar.pyx":473 + /* "nanvar.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanvar_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6473,19 +6944,19 @@ static PyObject *__pyx_pf_6nanvar_22nanvar_1d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanvar.pyx":500 +/* "nanvar.pyx":535 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanvar_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_25nanvar_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_24nanvar_1d_float64_axisNone[] = "nanvar_1d_float64_axisNone(ndarray a, int ddof)\nVariance of 1d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_25nanvar_1d_float64_axisNone = {"nanvar_1d_float64_axisNone", (PyCFunction)__pyx_pw_6nanvar_25nanvar_1d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_24nanvar_1d_float64_axisNone}; -static PyObject *__pyx_pw_6nanvar_25nanvar_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_25nanvar_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_24nanvar_2d_float32_axisNone[] = "nanvar_2d_float32_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_25nanvar_2d_float32_axisNone = {"nanvar_2d_float32_axisNone", (PyCFunction)__pyx_pw_6nanvar_25nanvar_2d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_24nanvar_2d_float32_axisNone}; +static PyObject *__pyx_pw_6nanvar_25nanvar_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -6493,7 +6964,7 @@ static PyObject *__pyx_pw_6nanvar_25nanvar_1d_float64_axisNone(PyObject *__pyx_s int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_1d_float64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -6514,11 +6985,11 @@ static PyObject *__pyx_pw_6nanvar_25nanvar_1d_float64_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_1d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6527,18 +6998,18 @@ static PyObject *__pyx_pw_6nanvar_25nanvar_1d_float64_axisNone(PyObject *__pyx_s values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_1d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_24nanvar_1d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_24nanvar_2d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -6549,14 +7020,16 @@ static PyObject *__pyx_pw_6nanvar_25nanvar_1d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_24nanvar_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_24nanvar_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float64_t __pyx_v_asum; - __pyx_t_5numpy_float64_t __pyx_v_amean; - __pyx_t_5numpy_float64_t __pyx_v_ai; + __pyx_t_5numpy_float32_t __pyx_v_asum; + __pyx_t_5numpy_float32_t __pyx_v_amean; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -6564,128 +7037,154 @@ static PyObject *__pyx_pf_6nanvar_24nanvar_1d_float64_axisNone(CYTHON_UNUSED PyO Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - int __pyx_t_4; + Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_6; + int __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_1d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":502 - * def nanvar_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): - * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." + /* "nanvar.pyx":537 + * def nanvar_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, amean, ai - * cdef Py_ssize_t i0 + * cdef np.float32_t asum = 0, amean, ai + * cdef Py_ssize_t i0, i1 */ __pyx_v_count = 0; - /* "nanvar.pyx":503 - * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." + /* "nanvar.pyx":538 + * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":506 - * cdef Py_ssize_t i0 + /* "nanvar.pyx":541 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":507 + /* "nanvar.pyx":542 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":508 + /* "nanvar.pyx":543 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "nanvar.pyx":544 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":509 - * cdef Py_ssize_t n0 = dim[0] + /* "nanvar.pyx":545 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanvar.pyx":510 + /* "nanvar.pyx":546 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":511 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 + /* "nanvar.pyx":547 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * count += 1 + */ + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { + + /* "nanvar.pyx":548 + * ai = a[i0, i1] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * count += 1 * if count > 0: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanvar.pyx":512 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< + /* "nanvar.pyx":549 + * if ai == ai: + * asum += ai + * count += 1 # <<<<<<<<<<<<<< * if count > 0: * amean = asum / count */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L5; + __pyx_v_count = (__pyx_v_count + 1); + goto __pyx_L7; + } + __pyx_L7:; } - __pyx_L5:; } - /* "nanvar.pyx":513 - * asum += ai - * count += 1 + /* "nanvar.pyx":550 + * asum += ai + * count += 1 * if count > 0: # <<<<<<<<<<<<<< * amean = asum / count * asum = 0 */ - __pyx_t_4 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_4) { + __pyx_t_7 = ((__pyx_v_count > 0) != 0); + if (__pyx_t_7) { - /* "nanvar.pyx":514 - * count += 1 + /* "nanvar.pyx":551 + * count += 1 * if count > 0: * amean = asum / count # <<<<<<<<<<<<<< * asum = 0 @@ -6699,85 +7198,98 @@ static PyObject *__pyx_pf_6nanvar_24nanvar_1d_float64_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":515 + /* "nanvar.pyx":552 * if count > 0: * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * ai = a[i0] + * for i1 in range(n1): */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":516 + /* "nanvar.pyx":553 * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":517 + /* "nanvar.pyx":554 * asum = 0 * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * if ai == ai: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "nanvar.pyx":518 + /* "nanvar.pyx":555 * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean */ - __pyx_t_4 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_4) { + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":519 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * return np.float64(asum / (count - ddof)) + /* "nanvar.pyx":556 + * for i1 in range(n1): + * ai = a[i0, i1] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_7) { - /* "nanvar.pyx":520 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float64(asum / (count - ddof)) + /* "nanvar.pyx":557 + * ai = a[i0, i1] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * return np.float32(asum / (count - ddof)) + */ + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanvar.pyx":558 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * return np.float32(asum / (count - ddof)) * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L13; + } + __pyx_L13:; } - __pyx_L9:; } - /* "nanvar.pyx":521 - * ai -= amean - * asum += (ai * ai) - * return np.float64(asum / (count - ddof)) # <<<<<<<<<<<<<< + /* "nanvar.pyx":559 + * ai -= amean + * asum += (ai * ai) + * return np.float32(asum / (count - ddof)) # <<<<<<<<<<<<<< * else: - * return np.float64(NAN) + * return np.float32(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_float64); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); if (unlikely(__pyx_t_1 == 0)) { #ifdef WITH_THREAD @@ -6787,108 +7299,108 @@ static PyObject *__pyx_pf_6nanvar_24nanvar_1d_float64_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_7 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_9); + __pyx_t_11 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_13 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); + __Pyx_DECREF_SET(__pyx_t_12, function); } } - if (!__pyx_t_9) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_6); + if (!__pyx_t_13) { + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL; + PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_11 = 0; + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL; - PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_r = __pyx_t_10; + __pyx_t_10 = 0; goto __pyx_L0; } /*else*/ { - /* "nanvar.pyx":523 - * return np.float64(asum / (count - ddof)) + /* "nanvar.pyx":561 + * return np.float32(asum / (count - ddof)) * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + * return np.float32(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float64); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_7); + __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float32); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_11 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); + __Pyx_DECREF_SET(__pyx_t_14, function); } } - if (!__pyx_t_7) { - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_6); + if (!__pyx_t_11) { + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; + PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_12); + __Pyx_GIVEREF(__pyx_t_12); + __pyx_t_12 = 0; + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_r = __pyx_t_10; + __pyx_t_10 = 0; goto __pyx_L0; } - /* "nanvar.pyx":500 + /* "nanvar.pyx":535 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanvar_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6899,19 +7411,19 @@ static PyObject *__pyx_pf_6nanvar_24nanvar_1d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanvar.pyx":527 +/* "nanvar.pyx":565 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanvar_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_27nanvar_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_26nanvar_2d_float_axisNone[] = "nanvar_2d_float_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_27nanvar_2d_float_axisNone = {"nanvar_2d_float_axisNone", (PyCFunction)__pyx_pw_6nanvar_27nanvar_2d_float_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_26nanvar_2d_float_axisNone}; -static PyObject *__pyx_pw_6nanvar_27nanvar_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_27nanvar_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_26nanvar_2d_float64_axisNone[] = "nanvar_2d_float64_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_27nanvar_2d_float64_axisNone = {"nanvar_2d_float64_axisNone", (PyCFunction)__pyx_pw_6nanvar_27nanvar_2d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_26nanvar_2d_float64_axisNone}; +static PyObject *__pyx_pw_6nanvar_27nanvar_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -6919,7 +7431,7 @@ static PyObject *__pyx_pw_6nanvar_27nanvar_2d_float_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_float_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -6940,11 +7452,11 @@ static PyObject *__pyx_pw_6nanvar_27nanvar_2d_float_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6953,18 +7465,18 @@ static PyObject *__pyx_pw_6nanvar_27nanvar_2d_float_axisNone(PyObject *__pyx_sel values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_26nanvar_2d_float_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_26nanvar_2d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -6975,11 +7487,11 @@ static PyObject *__pyx_pw_6nanvar_27nanvar_2d_float_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_amean; - __pyx_t_5numpy_float_t __pyx_v_ai; + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -7006,36 +7518,36 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_float_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":529 - * def nanvar_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." + /* "nanvar.pyx":567 + * def nanvar_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): + * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, amean, ai + * cdef np.float64_t asum = 0, amean, ai * cdef Py_ssize_t i0, i1 */ __pyx_v_count = 0; - /* "nanvar.pyx":530 - * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." + /* "nanvar.pyx":568 + * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":533 + /* "nanvar.pyx":571 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7044,7 +7556,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":534 + /* "nanvar.pyx":572 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7053,7 +7565,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":535 + /* "nanvar.pyx":573 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7062,7 +7574,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":536 + /* "nanvar.pyx":574 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -7073,7 +7585,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":537 + /* "nanvar.pyx":575 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -7084,7 +7596,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "nanvar.pyx":538 + /* "nanvar.pyx":576 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -7093,9 +7605,9 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_t_5 = __pyx_v_i0; __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":539 + /* "nanvar.pyx":577 * for i1 in range(n1): * ai = a[i0, i1] * if ai == ai: # <<<<<<<<<<<<<< @@ -7105,7 +7617,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "nanvar.pyx":540 + /* "nanvar.pyx":578 * ai = a[i0, i1] * if ai == ai: * asum += ai # <<<<<<<<<<<<<< @@ -7114,7 +7626,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - /* "nanvar.pyx":541 + /* "nanvar.pyx":579 * if ai == ai: * asum += ai * count += 1 # <<<<<<<<<<<<<< @@ -7128,7 +7640,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "nanvar.pyx":542 + /* "nanvar.pyx":580 * asum += ai * count += 1 * if count > 0: # <<<<<<<<<<<<<< @@ -7138,7 +7650,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_7 = ((__pyx_v_count > 0) != 0); if (__pyx_t_7) { - /* "nanvar.pyx":543 + /* "nanvar.pyx":581 * count += 1 * if count > 0: * amean = asum / count # <<<<<<<<<<<<<< @@ -7153,11 +7665,11 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - /* "nanvar.pyx":544 + /* "nanvar.pyx":582 * if count > 0: * amean = asum / count * asum = 0 # <<<<<<<<<<<<<< @@ -7166,7 +7678,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":545 + /* "nanvar.pyx":583 * amean = asum / count * asum = 0 * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -7177,7 +7689,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "nanvar.pyx":546 + /* "nanvar.pyx":584 * asum = 0 * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -7188,7 +7700,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "nanvar.pyx":547 + /* "nanvar.pyx":585 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< @@ -7197,9 +7709,9 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":548 + /* "nanvar.pyx":586 * for i1 in range(n1): * ai = a[i0, i1] * if ai == ai: # <<<<<<<<<<<<<< @@ -7209,20 +7721,20 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); if (__pyx_t_7) { - /* "nanvar.pyx":549 + /* "nanvar.pyx":587 * ai = a[i0, i1] * if ai == ai: * ai -= amean # <<<<<<<<<<<<<< * asum += (ai * ai) - * return np.float(asum / (count - ddof)) + * return np.float64(asum / (count - ddof)) */ __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":550 + /* "nanvar.pyx":588 * if ai == ai: * ai -= amean * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float(asum / (count - ddof)) + * return np.float64(asum / (count - ddof)) * else: */ __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); @@ -7232,17 +7744,17 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj } } - /* "nanvar.pyx":551 + /* "nanvar.pyx":589 * ai -= amean * asum += (ai * ai) - * return np.float(asum / (count - ddof)) # <<<<<<<<<<<<<< + * return np.float64(asum / (count - ddof)) # <<<<<<<<<<<<<< * else: - * return np.float(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); @@ -7254,9 +7766,9 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_11 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __pyx_t_13 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { @@ -7269,17 +7781,17 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_13) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL; PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } @@ -7290,20 +7802,20 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj } /*else*/ { - /* "nanvar.pyx":553 - * return np.float(asum / (count - ddof)) + /* "nanvar.pyx":591 + * return np.float64(asum / (count - ddof)) * else: - * return np.float(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float64); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_14))) { @@ -7316,17 +7828,17 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj } } if (!__pyx_t_11) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_10); } else { - __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -7336,11 +7848,11 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "nanvar.pyx":527 + /* "nanvar.pyx":565 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanvar_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ @@ -7355,7 +7867,7 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7366,19 +7878,19 @@ static PyObject *__pyx_pf_6nanvar_26nanvar_2d_float_axisNone(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanvar.pyx":557 +/* "nanvar.pyx":595 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_29nanvar_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_28nanvar_2d_float32_axisNone[] = "nanvar_2d_float32_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_29nanvar_2d_float32_axisNone = {"nanvar_2d_float32_axisNone", (PyCFunction)__pyx_pw_6nanvar_29nanvar_2d_float32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_28nanvar_2d_float32_axisNone}; -static PyObject *__pyx_pw_6nanvar_29nanvar_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_29nanvar_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_28nanvar_1d_int_axisNone[] = "nanvar_1d_int_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_29nanvar_1d_int_axisNone = {"nanvar_1d_int_axisNone", (PyCFunction)__pyx_pw_6nanvar_29nanvar_1d_int_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_28nanvar_1d_int_axisNone}; +static PyObject *__pyx_pw_6nanvar_29nanvar_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -7386,7 +7898,7 @@ static PyObject *__pyx_pw_6nanvar_29nanvar_2d_float32_axisNone(PyObject *__pyx_s int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_float32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_1d_int_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -7407,11 +7919,11 @@ static PyObject *__pyx_pw_6nanvar_29nanvar_2d_float32_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_int_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7420,18 +7932,18 @@ static PyObject *__pyx_pw_6nanvar_29nanvar_2d_float32_axisNone(PyObject *__pyx_s values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_int_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_28nanvar_2d_float32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_28nanvar_1d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -7442,278 +7954,284 @@ static PyObject *__pyx_pw_6nanvar_29nanvar_2d_float32_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_28nanvar_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_amean; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_28nanvar_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - int __pyx_t_7; + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_1d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "nanvar.pyx":559 - * def nanvar_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanvar.pyx":560 - * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + /* "nanvar.pyx":597 + * def nanvar_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): + * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":563 - * cdef Py_ssize_t i0, i1 + /* "nanvar.pyx":601 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":564 + /* "nanvar.pyx":602 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * size = n0 + * if size == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":565 + /* "nanvar.pyx":603 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * size = n0 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nanvar.pyx":566 + /* "nanvar.pyx":604 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * size = n0 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":567 - * cdef Py_ssize_t n1 = dim[1] + /* "nanvar.pyx":605 + * size = n0 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + * ai = a[i0] */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanvar.pyx":568 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + /* "nanvar.pyx":606 + * if size == 0: + * return np.float64(NAN) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":569 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanvar.pyx":607 + * return np.float64(NAN) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":570 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanvar.pyx":608 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * amean = asum / size */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":571 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanvar.pyx":609 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + goto __pyx_L6; } + __pyx_L6:; } - /* "nanvar.pyx":572 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 - */ - __pyx_t_7 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_7) { - - /* "nanvar.pyx":573 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":610 + * if ai == ai: + * asum += ai + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanvar.pyx":574 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanvar.pyx":611 + * asum += ai + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0.0; - /* "nanvar.pyx":575 - * amean = asum / count - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanvar.pyx":612 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":576 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanvar.pyx":613 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_10 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":577 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanvar.pyx":614 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":578 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanvar.pyx":615 + * ai = a[i0] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":579 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * return np.float32(asum / (count - ddof)) + /* "nanvar.pyx":616 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(asum / (size - ddof)) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; + } + __pyx_L9:; + } - /* "nanvar.pyx":580 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float32(asum / (count - ddof)) + /* "nanvar.pyx":617 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(asum / (size - ddof)) * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L13; - } - __pyx_L13:; - } - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":581 - * ai -= amean - * asum += (ai * ai) - * return np.float32(asum / (count - ddof)) # <<<<<<<<<<<<<< + /* "nanvar.pyx":618 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< * else: - * return np.float32(NAN) + * return np.float64(NAN) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float32); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_1 == 0)) { + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -7721,108 +8239,108 @@ static PyObject *__pyx_pf_6nanvar_28nanvar_2d_float32_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_11 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_13 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_13); + __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); + __Pyx_DECREF_SET(__pyx_t_6, function); } } - if (!__pyx_t_13) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_GOTREF(__pyx_t_10); + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); } else { - __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL; - PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_11 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_10; - __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; goto __pyx_L0; } /*else*/ { - /* "nanvar.pyx":583 - * return np.float32(asum / (count - ddof)) + /* "nanvar.pyx":620 + * return np.float64(asum / (size - ddof)) * else: - * return np.float32(NAN) # <<<<<<<<<<<<<< + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float32); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_11); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); + __Pyx_DECREF_SET(__pyx_t_5, function); } } - if (!__pyx_t_11) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_GOTREF(__pyx_t_10); + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); } else { - __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_12); - __Pyx_GIVEREF(__pyx_t_12); - __pyx_t_12 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_r = __pyx_t_10; - __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; goto __pyx_L0; } - /* "nanvar.pyx":557 + /* "nanvar.pyx":595 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7833,19 +8351,19 @@ static PyObject *__pyx_pf_6nanvar_28nanvar_2d_float32_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanvar.pyx":587 +/* "nanvar.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_31nanvar_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_30nanvar_2d_float64_axisNone[] = "nanvar_2d_float64_axisNone(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_31nanvar_2d_float64_axisNone = {"nanvar_2d_float64_axisNone", (PyCFunction)__pyx_pw_6nanvar_31nanvar_2d_float64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_30nanvar_2d_float64_axisNone}; -static PyObject *__pyx_pw_6nanvar_31nanvar_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_31nanvar_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_30nanvar_1d_int8_axisNone[] = "nanvar_1d_int8_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_31nanvar_1d_int8_axisNone = {"nanvar_1d_int8_axisNone", (PyCFunction)__pyx_pw_6nanvar_31nanvar_1d_int8_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_30nanvar_1d_int8_axisNone}; +static PyObject *__pyx_pw_6nanvar_31nanvar_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -7853,7 +8371,7 @@ static PyObject *__pyx_pw_6nanvar_31nanvar_2d_float64_axisNone(PyObject *__pyx_s int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_float64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_1d_int8_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -7874,11 +8392,11 @@ static PyObject *__pyx_pw_6nanvar_31nanvar_2d_float64_axisNone(PyObject *__pyx_s case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_int8_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7887,18 +8405,18 @@ static PyObject *__pyx_pw_6nanvar_31nanvar_2d_float64_axisNone(PyObject *__pyx_s values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_int8_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_30nanvar_2d_float64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_30nanvar_1d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -7909,177 +8427,284 @@ static PyObject *__pyx_pw_6nanvar_31nanvar_2d_float64_axisNone(PyObject *__pyx_s return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_30nanvar_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; +static PyObject *__pyx_pf_6nanvar_30nanvar_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - int __pyx_t_7; + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_1d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanvar.pyx":589 - * def nanvar_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanvar.pyx":590 - * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanvar.pyx":626 + * def nanvar_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): + * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":593 - * cdef Py_ssize_t i0, i1 + /* "nanvar.pyx":630 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":594 + /* "nanvar.pyx":631 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * size = n0 + * if size == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":595 + /* "nanvar.pyx":632 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * size = n0 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nanvar.pyx":596 + /* "nanvar.pyx":633 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): + */ + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { + + /* "nanvar.pyx":634 + * size = n0 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } + + /* "nanvar.pyx":635 + * if size == 0: + * return np.float64(NAN) * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * if ai == ai: */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":597 - * cdef Py_ssize_t n1 = dim[1] + /* "nanvar.pyx":636 + * return np.float64(NAN) * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":598 + /* "nanvar.pyx":637 * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * amean = asum / size */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":599 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanvar.pyx":638 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + goto __pyx_L6; + } + __pyx_L6:; + } - /* "nanvar.pyx":600 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanvar.pyx":639 + * if ai == ai: + * asum += ai + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanvar.pyx":601 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanvar.pyx":640 + * asum += ai + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __pyx_v_asum = 0.0; + + /* "nanvar.pyx":641 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: + */ + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; + + /* "nanvar.pyx":642 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean + */ + __pyx_t_10 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); + + /* "nanvar.pyx":643 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) + */ + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { + + /* "nanvar.pyx":644 + * ai = a[i0] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: + */ + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanvar.pyx":645 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(asum / (size - ddof)) + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; } + __pyx_L9:; } - /* "nanvar.pyx":602 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanvar.pyx":646 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(asum / (size - ddof)) + * else: */ - __pyx_t_7 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_7) { + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":603 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":647 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - if (unlikely(__pyx_v_count == 0)) { + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif @@ -8087,209 +8712,108 @@ static PyObject *__pyx_pf_6nanvar_30nanvar_2d_float64_axisNone(CYTHON_UNUSED PyO #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - - /* "nanvar.pyx":604 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): - */ - __pyx_v_asum = 0.0; - - /* "nanvar.pyx":605 - * amean = asum / count - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; - - /* "nanvar.pyx":606 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; - - /* "nanvar.pyx":607 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanvar.pyx":608 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) - */ - __pyx_t_7 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_7) { - - /* "nanvar.pyx":609 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * return np.float64(asum / (count - ddof)) - */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - - /* "nanvar.pyx":610 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * return np.float64(asum / (count - ddof)) - * else: - */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L13; - } - __pyx_L13:; - } - } - - /* "nanvar.pyx":611 - * ai -= amean - * asum += (ai * ai) - * return np.float64(asum / (count - ddof)) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_float64); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_1 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_1 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_11 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_1)); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_13 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_13); + __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); + __Pyx_DECREF_SET(__pyx_t_6, function); } } - if (!__pyx_t_13) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_GOTREF(__pyx_t_10); + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); } else { - __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL; - PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_t_11 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_r = __pyx_t_10; - __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; goto __pyx_L0; } /*else*/ { - /* "nanvar.pyx":613 - * return np.float64(asum / (count - ddof)) + /* "nanvar.pyx":649 + * return np.float64(asum / (size - ddof)) * else: * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_float64); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_11 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_11); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); + __Pyx_DECREF_SET(__pyx_t_5, function); } } - if (!__pyx_t_11) { - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_GOTREF(__pyx_t_10); + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); } else { - __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL; - PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_12); - __Pyx_GIVEREF(__pyx_t_12); - __pyx_t_12 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_r = __pyx_t_10; - __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; goto __pyx_L0; } - /* "nanvar.pyx":587 + /* "nanvar.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8300,19 +8824,19 @@ static PyObject *__pyx_pf_6nanvar_30nanvar_2d_float64_axisNone(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanvar.pyx":617 +/* "nanvar.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_33nanvar_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_32nanvar_2d_float_axis0[] = "nanvar_2d_float_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_33nanvar_2d_float_axis0 = {"nanvar_2d_float_axis0", (PyCFunction)__pyx_pw_6nanvar_33nanvar_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_32nanvar_2d_float_axis0}; -static PyObject *__pyx_pw_6nanvar_33nanvar_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_33nanvar_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_32nanvar_1d_int32_axisNone[] = "nanvar_1d_int32_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_33nanvar_1d_int32_axisNone = {"nanvar_1d_int32_axisNone", (PyCFunction)__pyx_pw_6nanvar_33nanvar_1d_int32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_32nanvar_1d_int32_axisNone}; +static PyObject *__pyx_pw_6nanvar_33nanvar_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -8320,7 +8844,7 @@ static PyObject *__pyx_pw_6nanvar_33nanvar_2d_float_axis0(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_1d_int32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -8341,11 +8865,11 @@ static PyObject *__pyx_pw_6nanvar_33nanvar_2d_float_axis0(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_int32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -8354,18 +8878,18 @@ static PyObject *__pyx_pw_6nanvar_33nanvar_2d_float_axis0(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_int32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_32nanvar_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_32nanvar_1d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -8376,398 +8900,416 @@ static PyObject *__pyx_pw_6nanvar_33nanvar_2d_float_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_32nanvar_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_amean; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_32nanvar_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_float_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanvar_1d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanvar.pyx":619 - * def nanvar_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 + /* "nanvar.pyx":655 + * def nanvar_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): + * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ - __pyx_v_count = 0; + __pyx_v_asum = 0.0; - /* "nanvar.pyx":620 - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - */ - __pyx_v_asum = 0.0; - - /* "nanvar.pyx":623 - * cdef Py_ssize_t i0, i1 + /* "nanvar.pyx":659 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":624 + /* "nanvar.pyx":660 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 + * if size == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":625 + /* "nanvar.pyx":661 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nanvar.pyx":626 + /* "nanvar.pyx":662 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * size = n0 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":627 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * for i1 in range(n1): + /* "nanvar.pyx":663 + * size = n0 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanvar.pyx":629 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + /* "nanvar.pyx":664 + * if size == 0: + * return np.float64(NAN) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":630 - * NPY_float, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): + /* "nanvar.pyx":665 + * return np.float64(NAN) + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_v_asum = 0.0; + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":631 - * for i1 in range(n1): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanvar.pyx":666 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * amean = asum / size */ - __pyx_v_count = 0; + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":632 - * asum = 0 - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanvar.pyx":667 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + goto __pyx_L6; + } + __pyx_L6:; + } - /* "nanvar.pyx":633 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + /* "nanvar.pyx":668 + * if ai == ai: + * asum += ai + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanvar.pyx":634 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanvar.pyx":669 + * asum += ai + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_asum = 0.0; - /* "nanvar.pyx":635 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanvar.pyx":670 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":636 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanvar.pyx":671 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; - } + __pyx_t_10 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":637 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanvar.pyx":672 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":638 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":673 + * ai = a[i0] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - - /* "nanvar.pyx":639 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_asum = 0.0; - - /* "nanvar.pyx":640 - * amean = asum / count - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanvar.pyx":641 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean - */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanvar.pyx":642 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":643 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = asum / (count - ddof) + /* "nanvar.pyx":674 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(asum / (size - ddof)) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; + } + __pyx_L9:; + } - /* "nanvar.pyx":644 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = asum / (count - ddof) - * else: + /* "nanvar.pyx":675 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(asum / (size - ddof)) + * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":645 - * ai -= amean - * asum += (ai * ai) - * y[i1] = asum / (count - ddof) # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN + /* "nanvar.pyx":676 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); - goto __pyx_L8; } - /*else*/ { - - /* "nanvar.pyx":647 - * y[i1] = asum / (count - ddof) - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanvar.pyx":648 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanvar.pyx":678 + * return np.float64(asum / (size - ddof)) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanvar.pyx":617 + /* "nanvar.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanvar.pyx":652 +/* "nanvar.pyx":682 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_35nanvar_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_34nanvar_2d_float_axis1[] = "nanvar_2d_float_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_35nanvar_2d_float_axis1 = {"nanvar_2d_float_axis1", (PyCFunction)__pyx_pw_6nanvar_35nanvar_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_34nanvar_2d_float_axis1}; -static PyObject *__pyx_pw_6nanvar_35nanvar_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_35nanvar_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_34nanvar_1d_int64_axisNone[] = "nanvar_1d_int64_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_35nanvar_1d_int64_axisNone = {"nanvar_1d_int64_axisNone", (PyCFunction)__pyx_pw_6nanvar_35nanvar_1d_int64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_34nanvar_1d_int64_axisNone}; +static PyObject *__pyx_pw_6nanvar_35nanvar_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -8775,7 +9317,7 @@ static PyObject *__pyx_pw_6nanvar_35nanvar_2d_float_axis1(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_1d_int64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -8796,11 +9338,11 @@ static PyObject *__pyx_pw_6nanvar_35nanvar_2d_float_axis1(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_int64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -8809,18 +9351,18 @@ static PyObject *__pyx_pw_6nanvar_35nanvar_2d_float_axis1(PyObject *__pyx_self, values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_1d_int64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_34nanvar_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_34nanvar_1d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -8831,398 +9373,416 @@ static PyObject *__pyx_pw_6nanvar_35nanvar_2d_float_axis1(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_34nanvar_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float_t __pyx_v_asum; - __pyx_t_5numpy_float_t __pyx_v_amean; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_34nanvar_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_float_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanvar_1d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "nanvar.pyx":654 - * def nanvar_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanvar.pyx":655 - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim + /* "nanvar.pyx":684 + * def nanvar_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): + * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef Py_ssize_t i0 */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":658 - * cdef Py_ssize_t i0, i1 + /* "nanvar.pyx":688 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * size = n0 */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":659 + /* "nanvar.pyx":689 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * size = n0 + * if size == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":660 + /* "nanvar.pyx":690 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_size = __pyx_v_n0; - /* "nanvar.pyx":661 + /* "nanvar.pyx":691 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + * size = n0 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":662 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) + /* "nanvar.pyx":692 + * size = n0 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanvar.pyx":664 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) + /* "nanvar.pyx":693 + * if size == 0: + * return np.float64(NAN) * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + * ai = a[i0] + * if ai == ai: */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":665 - * NPY_float, 0) + /* "nanvar.pyx":694 + * return np.float64(NAN) * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i1 in range(n1): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * asum += ai */ - __pyx_v_asum = 0.0; + __pyx_t_9 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":666 + /* "nanvar.pyx":695 * for i0 in range(n0): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * asum += ai + * amean = asum / size */ - __pyx_v_count = 0; + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":667 - * asum = 0 - * count = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanvar.pyx":696 + * ai = a[i0] + * if ai == ai: + * asum += ai # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + goto __pyx_L6; + } + __pyx_L6:; + } - /* "nanvar.pyx":668 - * count = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + /* "nanvar.pyx":697 + * if ai == ai: + * asum += ai + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanvar.pyx":669 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanvar.pyx":698 + * asum += ai + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0] */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_asum = 0.0; - /* "nanvar.pyx":670 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanvar.pyx":699 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * if ai == ai: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":671 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanvar.pyx":700 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * if ai == ai: + * ai -= amean */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; - } + __pyx_t_10 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "nanvar.pyx":672 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanvar.pyx":701 + * for i0 in range(n0): + * ai = a[i0] + * if ai == ai: # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":673 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanvar.pyx":702 + * ai = a[i0] + * if ai == ai: + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - - /* "nanvar.pyx":674 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_asum = 0.0; - - /* "nanvar.pyx":675 - * amean = asum / count - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanvar.pyx":676 - * asum = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean - */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanvar.pyx":677 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":678 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = asum / (count - ddof) + /* "nanvar.pyx":703 + * if ai == ai: + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(asum / (size - ddof)) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + goto __pyx_L9; + } + __pyx_L9:; + } - /* "nanvar.pyx":679 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = asum / (count - ddof) - * else: + /* "nanvar.pyx":704 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(asum / (size - ddof)) + * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":680 - * ai -= amean - * asum += (ai * ai) - * y[i0] = asum / (count - ddof) # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN + /* "nanvar.pyx":705 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); - goto __pyx_L8; } - /*else*/ { - - /* "nanvar.pyx":682 - * y[i0] = asum / (count - ddof) - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanvar.pyx":683 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanvar.pyx":707 + * return np.float64(asum / (size - ddof)) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanvar.pyx":652 + /* "nanvar.pyx":682 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanvar.pyx":687 +/* "nanvar.pyx":711 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_37nanvar_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_36nanvar_2d_float32_axis0[] = "nanvar_2d_float32_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_37nanvar_2d_float32_axis0 = {"nanvar_2d_float32_axis0", (PyCFunction)__pyx_pw_6nanvar_37nanvar_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_36nanvar_2d_float32_axis0}; -static PyObject *__pyx_pw_6nanvar_37nanvar_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_37nanvar_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_36nanvar_2d_int_axisNone[] = "nanvar_2d_int_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_37nanvar_2d_int_axisNone = {"nanvar_2d_int_axisNone", (PyCFunction)__pyx_pw_6nanvar_37nanvar_2d_int_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_36nanvar_2d_int_axisNone}; +static PyObject *__pyx_pw_6nanvar_37nanvar_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -9230,7 +9790,7 @@ static PyObject *__pyx_pw_6nanvar_37nanvar_2d_float32_axis0(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -9251,11 +9811,11 @@ static PyObject *__pyx_pw_6nanvar_37nanvar_2d_float32_axis0(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9264,18 +9824,18 @@ static PyObject *__pyx_pw_6nanvar_37nanvar_2d_float32_axis0(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_36nanvar_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_36nanvar_2d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -9286,73 +9846,58 @@ static PyObject *__pyx_pw_6nanvar_37nanvar_2d_float32_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_36nanvar_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_amean; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_36nanvar_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_float32_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanvar_2d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":689 - * def nanvar_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanvar.pyx":690 - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< + /* "nanvar.pyx":713 + * def nanvar_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":693 + /* "nanvar.pyx":717 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9361,323 +9906,362 @@ static PyObject *__pyx_pf_6nanvar_36nanvar_2d_float32_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":694 + /* "nanvar.pyx":718 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":695 + /* "nanvar.pyx":719 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * if size == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":696 + /* "nanvar.pyx":720 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanvar.pyx":697 + /* "nanvar.pyx":721 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) - * for i1 in range(n1): + * size = n0 * n1 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { + + /* "nanvar.pyx":722 + * size = n0 * n1 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanvar.pyx":699 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + /* "nanvar.pyx":723 + * if size == 0: + * return np.float64(NAN) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":700 - * NPY_float32, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): + /* "nanvar.pyx":724 + * return np.float64(NAN) + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / size */ - __pyx_v_asum = 0.0; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanvar.pyx":701 - * for i1 in range(n1): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanvar.pyx":725 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_v_count = 0; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); + } + } - /* "nanvar.pyx":702 - * asum = 0 - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanvar.pyx":726 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanvar.pyx":703 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + /* "nanvar.pyx":727 + * asum += a[i0, i1] + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_asum = 0.0; - /* "nanvar.pyx":704 - * for i0 in range(n0): + /* "nanvar.pyx":728 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":705 + /* "nanvar.pyx":729 + * asum = 0 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + * ai -= amean */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanvar.pyx":706 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanvar.pyx":730 + * for i0 in range(n0): + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; - } + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":707 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanvar.pyx":731 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":708 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":732 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(asum / (size - ddof)) */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + } + } - /* "nanvar.pyx":709 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_asum = 0.0; - - /* "nanvar.pyx":710 - * amean = asum / count - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanvar.pyx":711 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean - */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanvar.pyx":712 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nanvar.pyx":713 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = asum / (count - ddof) - */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - - /* "nanvar.pyx":714 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = asum / (count - ddof) - * else: + /* "nanvar.pyx":733 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(asum / (size - ddof)) + * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":715 - * ai -= amean - * asum += (ai * ai) - * y[i1] = asum / (count - ddof) # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN + /* "nanvar.pyx":734 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); - goto __pyx_L8; } - /*else*/ { - - /* "nanvar.pyx":717 - * y[i1] = asum / (count - ddof) - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanvar.pyx":718 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanvar.pyx":736 + * return np.float64(asum / (size - ddof)) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanvar.pyx":687 + /* "nanvar.pyx":711 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanvar.pyx":722 +/* "nanvar.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_39nanvar_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_38nanvar_2d_float32_axis1[] = "nanvar_2d_float32_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float32 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_39nanvar_2d_float32_axis1 = {"nanvar_2d_float32_axis1", (PyCFunction)__pyx_pw_6nanvar_39nanvar_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_38nanvar_2d_float32_axis1}; -static PyObject *__pyx_pw_6nanvar_39nanvar_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_39nanvar_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_38nanvar_2d_int8_axisNone[] = "nanvar_2d_int8_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_39nanvar_2d_int8_axisNone = {"nanvar_2d_int8_axisNone", (PyCFunction)__pyx_pw_6nanvar_39nanvar_2d_int8_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_38nanvar_2d_int8_axisNone}; +static PyObject *__pyx_pw_6nanvar_39nanvar_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -9685,7 +10269,7 @@ static PyObject *__pyx_pw_6nanvar_39nanvar_2d_float32_axis1(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int8_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -9706,11 +10290,11 @@ static PyObject *__pyx_pw_6nanvar_39nanvar_2d_float32_axis1(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9719,18 +10303,18 @@ static PyObject *__pyx_pw_6nanvar_39nanvar_2d_float32_axis1(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_38nanvar_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_38nanvar_2d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -9741,73 +10325,58 @@ static PyObject *__pyx_pw_6nanvar_39nanvar_2d_float32_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_38nanvar_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; - __pyx_t_5numpy_float32_t __pyx_v_asum; - __pyx_t_5numpy_float32_t __pyx_v_amean; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_6nanvar_38nanvar_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { + __pyx_t_5numpy_float64_t __pyx_v_asum; + __pyx_t_5numpy_float64_t __pyx_v_amean; + __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_float32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanvar_2d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":724 - * def nanvar_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float32_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanvar.pyx":725 - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 - * cdef np.float32_t asum = 0, amean, ai # <<<<<<<<<<<<<< + /* "nanvar.pyx":742 + * def nanvar_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":728 + /* "nanvar.pyx":746 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9816,323 +10385,362 @@ static PyObject *__pyx_pf_6nanvar_38nanvar_2d_float32_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":729 + /* "nanvar.pyx":747 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":730 + /* "nanvar.pyx":748 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * if size == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":731 + /* "nanvar.pyx":749 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanvar.pyx":732 + /* "nanvar.pyx":750 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) + * size = n0 * n1 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { + + /* "nanvar.pyx":751 + * size = n0 * n1 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanvar.pyx":734 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) + /* "nanvar.pyx":752 + * if size == 0: + * return np.float64(NAN) * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":735 - * NPY_float32, 0) + /* "nanvar.pyx":753 + * return np.float64(NAN) * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / size + */ + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; + + /* "nanvar.pyx":754 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 + */ + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); + } + } + + /* "nanvar.pyx":755 * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_v_asum = 0.0; + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanvar.pyx":736 + /* "nanvar.pyx":756 + * asum += a[i0, i1] + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + */ + __pyx_v_asum = 0.0; + + /* "nanvar.pyx":757 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_count = 0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":737 - * asum = 0 - * count = 0 + /* "nanvar.pyx":758 + * asum = 0 + * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] - * if ai == ai: + * ai -= amean */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanvar.pyx":738 - * count = 0 + /* "nanvar.pyx":759 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":739 + /* "nanvar.pyx":760 * for i1 in range(n1): * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":740 + /* "nanvar.pyx":761 * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nanvar.pyx":741 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(asum / (size - ddof)) */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } + } - /* "nanvar.pyx":742 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanvar.pyx":762 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(asum / (size - ddof)) + * else: */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":743 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): + /* "nanvar.pyx":763 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - - /* "nanvar.pyx":744 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_asum = 0.0; - - /* "nanvar.pyx":745 - * amean = asum / count - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "nanvar.pyx":746 - * asum = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean - */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "nanvar.pyx":747 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) - */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { - - /* "nanvar.pyx":748 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = asum / (count - ddof) - */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - - /* "nanvar.pyx":749 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = asum / (count - ddof) - * else: - */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } - - /* "nanvar.pyx":750 - * ai -= amean - * asum += (ai * ai) - * y[i0] = asum / (count - ddof) # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN - */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); - goto __pyx_L8; } - /*else*/ { - - /* "nanvar.pyx":752 - * y[i0] = asum / (count - ddof) - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanvar.pyx":753 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanvar.pyx":765 + * return np.float64(asum / (size - ddof)) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanvar.pyx":722 + /* "nanvar.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanvar.pyx":757 +/* "nanvar.pyx":769 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_41nanvar_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_40nanvar_2d_float64_axis0[] = "nanvar_2d_float64_axis0(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=0 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_41nanvar_2d_float64_axis0 = {"nanvar_2d_float64_axis0", (PyCFunction)__pyx_pw_6nanvar_41nanvar_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_40nanvar_2d_float64_axis0}; -static PyObject *__pyx_pw_6nanvar_41nanvar_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_41nanvar_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_40nanvar_2d_int32_axisNone[] = "nanvar_2d_int32_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_41nanvar_2d_int32_axisNone = {"nanvar_2d_int32_axisNone", (PyCFunction)__pyx_pw_6nanvar_41nanvar_2d_int32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_40nanvar_2d_int32_axisNone}; +static PyObject *__pyx_pw_6nanvar_41nanvar_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -10140,7 +10748,7 @@ static PyObject *__pyx_pw_6nanvar_41nanvar_2d_float64_axis0(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int32_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -10161,11 +10769,11 @@ static PyObject *__pyx_pw_6nanvar_41nanvar_2d_float64_axis0(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -10174,18 +10782,18 @@ static PyObject *__pyx_pw_6nanvar_41nanvar_2d_float64_axis0(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_40nanvar_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_40nanvar_2d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -10196,73 +10804,58 @@ static PyObject *__pyx_pw_6nanvar_41nanvar_2d_float64_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_40nanvar_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; +static PyObject *__pyx_pf_6nanvar_40nanvar_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_float64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanvar_2d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":759 - * def nanvar_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanvar.pyx":760 - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanvar.pyx":771 + * def nanvar_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":763 + /* "nanvar.pyx":775 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10271,323 +10864,362 @@ static PyObject *__pyx_pf_6nanvar_40nanvar_2d_float64_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":764 + /* "nanvar.pyx":776 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":765 + /* "nanvar.pyx":777 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * if size == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":766 + /* "nanvar.pyx":778 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanvar.pyx":767 + /* "nanvar.pyx":779 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * for i1 in range(n1): + * size = n0 * n1 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":769 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + /* "nanvar.pyx":780 + * size = n0 * n1 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "nanvar.pyx":770 - * NPY_float64, 0) - * for i1 in range(n1): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i0 in range(n0): - */ - __pyx_v_asum = 0.0; - - /* "nanvar.pyx":771 - * for i1 in range(n1): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "nanvar.pyx":772 - * asum = 0 - * count = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "nanvar.pyx":773 - * count = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanvar.pyx":774 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 + /* "nanvar.pyx":781 + * if size == 0: + * return np.float64(NAN) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":775 - * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: + /* "nanvar.pyx":782 + * return np.float64(NAN) + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / size */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanvar.pyx":776 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count + /* "nanvar.pyx":783 + * for i0 in range(n0): + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); } + } - /* "nanvar.pyx":777 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 + /* "nanvar.pyx":784 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanvar.pyx":778 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":785 + * asum += a[i0, i1] + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); + __pyx_v_asum = 0.0; - /* "nanvar.pyx":779 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] + /* "nanvar.pyx":786 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":780 - * amean = asum / count - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanvar.pyx":787 + * asum = 0 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanvar.pyx":781 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanvar.pyx":788 + * for i0 in range(n0): + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":782 - * for i0 in range(n0): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanvar.pyx":789 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":783 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i1] = asum / (count - ddof) + /* "nanvar.pyx":790 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(asum / (size - ddof)) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + } + } - /* "nanvar.pyx":784 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i1] = asum / (count - ddof) - * else: + /* "nanvar.pyx":791 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(asum / (size - ddof)) + * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":785 - * ai -= amean - * asum += (ai * ai) - * y[i1] = asum / (count - ddof) # <<<<<<<<<<<<<< - * else: - * y[i1] = NAN + /* "nanvar.pyx":792 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_t_7 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); - goto __pyx_L8; } - /*else*/ { - - /* "nanvar.pyx":787 - * y[i1] = asum / (count - ddof) - * else: - * y[i1] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanvar.pyx":788 - * else: - * y[i1] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanvar.pyx":794 + * return np.float64(asum / (size - ddof)) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanvar.pyx":757 + /* "nanvar.pyx":769 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "nanvar.pyx":792 +/* "nanvar.pyx":798 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_43nanvar_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_42nanvar_2d_float64_axis1[] = "nanvar_2d_float64_axis1(ndarray a, int ddof)\nVariance of 2d array with dtype=float64 along axis=1 ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_43nanvar_2d_float64_axis1 = {"nanvar_2d_float64_axis1", (PyCFunction)__pyx_pw_6nanvar_43nanvar_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_42nanvar_2d_float64_axis1}; -static PyObject *__pyx_pw_6nanvar_43nanvar_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_43nanvar_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_42nanvar_2d_int64_axisNone[] = "nanvar_2d_int64_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=None ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_43nanvar_2d_int64_axisNone = {"nanvar_2d_int64_axisNone", (PyCFunction)__pyx_pw_6nanvar_43nanvar_2d_int64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_42nanvar_2d_int64_axisNone}; +static PyObject *__pyx_pw_6nanvar_43nanvar_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -10595,7 +11227,7 @@ static PyObject *__pyx_pw_6nanvar_43nanvar_2d_float64_axis1(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int64_axisNone (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -10616,11 +11248,11 @@ static PyObject *__pyx_pw_6nanvar_43nanvar_2d_float64_axis1(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -10629,18 +11261,18 @@ static PyObject *__pyx_pw_6nanvar_43nanvar_2d_float64_axis1(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_ddof = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ddof == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_42nanvar_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_6nanvar_42nanvar_2d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -10651,73 +11283,58 @@ static PyObject *__pyx_pw_6nanvar_43nanvar_2d_float64_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_42nanvar_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { - Py_ssize_t __pyx_v_count; +static PyObject *__pyx_pf_6nanvar_42nanvar_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; + Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; + int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - int __pyx_t_10; + Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_float64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("nanvar_2d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "nanvar.pyx":794 - * def nanvar_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 # <<<<<<<<<<<<<< - * cdef np.float64_t asum = 0, amean, ai - * cdef Py_ssize_t i0, i1 - */ - __pyx_v_count = 0; - - /* "nanvar.pyx":795 - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanvar.pyx":800 + * def nanvar_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":798 + /* "nanvar.pyx":804 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10726,305 +11343,344 @@ static PyObject *__pyx_pf_6nanvar_42nanvar_2d_float64_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":799 + /* "nanvar.pyx":805 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * size = n0 * n1 */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":800 + /* "nanvar.pyx":806 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * size = n0 * n1 + * if size == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":801 + /* "nanvar.pyx":807 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + * size = n0 * n1 # <<<<<<<<<<<<<< + * if size == 0: + * return np.float64(NAN) */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; + __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - /* "nanvar.pyx":802 + /* "nanvar.pyx":808 * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) + * size = n0 * n1 + * if size == 0: # <<<<<<<<<<<<<< + * return np.float64(NAN) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + __pyx_t_1 = ((__pyx_v_size == 0) != 0); + if (__pyx_t_1) { + + /* "nanvar.pyx":809 + * size = n0 * n1 + * if size == 0: + * return np.float64(NAN) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_5) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - /* "nanvar.pyx":804 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) + /* "nanvar.pyx":810 + * if size == 0: + * return np.float64(NAN) * for i0 in range(n0): # <<<<<<<<<<<<<< - * asum = 0 - * count = 0 + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":805 - * NPY_float64, 0) + /* "nanvar.pyx":811 + * return np.float64(NAN) * for i0 in range(n0): - * asum = 0 # <<<<<<<<<<<<<< - * count = 0 - * for i1 in range(n1): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / size */ - __pyx_v_asum = 0.0; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanvar.pyx":806 + /* "nanvar.pyx":812 * for i0 in range(n0): - * asum = 0 - * count = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): - * ai = a[i0, i1] - */ - __pyx_v_count = 0; - - /* "nanvar.pyx":807 - * asum = 0 - * count = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / size + * asum = 0 */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); + } + } - /* "nanvar.pyx":808 - * count = 0 + /* "nanvar.pyx":813 * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + * asum += a[i0, i1] + * amean = asum / size # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + if (unlikely(__pyx_v_size == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); - /* "nanvar.pyx":809 + /* "nanvar.pyx":814 + * asum += a[i0, i1] + * amean = asum / size + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * count += 1 */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_asum = 0.0; - /* "nanvar.pyx":810 + /* "nanvar.pyx":815 + * amean = asum / size + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * count += 1 - * if count > 0: - */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - - /* "nanvar.pyx":811 - * if ai == ai: - * asum += ai - * count += 1 # <<<<<<<<<<<<<< - * if count > 0: - * amean = asum / count - */ - __pyx_v_count = (__pyx_v_count + 1); - goto __pyx_L7; - } - __pyx_L7:; - } - - /* "nanvar.pyx":812 - * asum += ai - * count += 1 - * if count > 0: # <<<<<<<<<<<<<< - * amean = asum / count - * asum = 0 - */ - __pyx_t_10 = ((__pyx_v_count > 0) != 0); - if (__pyx_t_10) { - - /* "nanvar.pyx":813 - * count += 1 - * if count > 0: - * amean = asum / count # <<<<<<<<<<<<<< - * asum = 0 - * for i1 in range(n1): - */ - if (unlikely(__pyx_v_count == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_count); - - /* "nanvar.pyx":814 - * if count > 0: - * amean = asum / count - * asum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":815 - * amean = asum / count - * asum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * if ai == ai: + /* "nanvar.pyx":816 + * asum = 0 + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_9 = __pyx_v_n1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i1 = __pyx_t_10; - /* "nanvar.pyx":816 - * asum = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanvar.pyx":817 + * for i0 in range(n0): + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_13 = __pyx_v_i0; + __pyx_t_14 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":817 - * for i1 in range(n1): - * ai = a[i0, i1] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanvar.pyx":818 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * if size > ddof: */ - __pyx_t_10 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_10) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":818 - * ai = a[i0, i1] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * y[i0] = asum / (count - ddof) + /* "nanvar.pyx":819 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * if size > ddof: + * return np.float64(asum / (size - ddof)) */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + } + } - /* "nanvar.pyx":819 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * y[i0] = asum / (count - ddof) - * else: + /* "nanvar.pyx":820 + * ai -= amean + * asum += (ai * ai) + * if size > ddof: # <<<<<<<<<<<<<< + * return np.float64(asum / (size - ddof)) + * else: */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L11; - } - __pyx_L11:; - } + __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); + if (__pyx_t_1) { - /* "nanvar.pyx":820 - * ai -= amean - * asum += (ai * ai) - * y[i0] = asum / (count - ddof) # <<<<<<<<<<<<<< - * else: - * y[i0] = NAN + /* "nanvar.pyx":821 + * asum += (ai * ai) + * if size > ddof: + * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< + * else: + * return np.float64(NAN) */ - __pyx_t_6 = (__pyx_v_count - __pyx_v_ddof); - if (unlikely(__pyx_t_6 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); } - __pyx_t_7 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_6); - goto __pyx_L8; } - /*else*/ { - - /* "nanvar.pyx":822 - * y[i0] = asum / (count - ddof) - * else: - * y[i0] = NAN # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_6nanvar_NAN; + if (!__pyx_t_3) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - __pyx_L8:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; } + /*else*/ { - /* "nanvar.pyx":823 - * else: - * y[i0] = NAN - * return y # <<<<<<<<<<<<<< + /* "nanvar.pyx":823 + * return np.float64(asum / (size - ddof)) + * else: + * return np.float64(NAN) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + if (!__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; + PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } - /* "nanvar.pyx":792 + /* "nanvar.pyx":798 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -11033,16 +11689,16 @@ static PyObject *__pyx_pf_6nanvar_42nanvar_2d_float64_axis1(CYTHON_UNUSED PyObje /* "nanvar.pyx":827 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanvar_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_45nanvar_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_44nanvar_1d_int_axisNone[] = "nanvar_1d_int_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_45nanvar_1d_int_axisNone = {"nanvar_1d_int_axisNone", (PyCFunction)__pyx_pw_6nanvar_45nanvar_1d_int_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_44nanvar_1d_int_axisNone}; -static PyObject *__pyx_pw_6nanvar_45nanvar_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_45nanvar_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_44nanvar_2d_int_axis0[] = "nanvar_2d_int_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_45nanvar_2d_int_axis0 = {"nanvar_2d_int_axis0", (PyCFunction)__pyx_pw_6nanvar_45nanvar_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_44nanvar_2d_int_axis0}; +static PyObject *__pyx_pw_6nanvar_45nanvar_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -11050,7 +11706,7 @@ static PyObject *__pyx_pw_6nanvar_45nanvar_1d_int_axisNone(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_1d_int_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -11071,11 +11727,11 @@ static PyObject *__pyx_pw_6nanvar_45nanvar_1d_int_axisNone(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_1d_int_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -11088,14 +11744,14 @@ static PyObject *__pyx_pw_6nanvar_45nanvar_1d_int_axisNone(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_1d_int_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_44nanvar_1d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanvar_44nanvar_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -11106,398 +11762,319 @@ static PyObject *__pyx_pw_6nanvar_45nanvar_1d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_44nanvar_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_44nanvar_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_1d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanvar.pyx":829 - * def nanvar_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): - * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanvar_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":833 - * cdef Py_ssize_t i0 + /* "nanvar.pyx":832 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":834 + /* "nanvar.pyx":833 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * if size == 0: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":835 + /* "nanvar.pyx":834 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":836 + /* "nanvar.pyx":835 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":837 - * size = n0 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanvar.pyx":836 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; /* "nanvar.pyx":838 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { /* "nanvar.pyx":839 - * return np.float64(NAN) - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - - /* "nanvar.pyx":840 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * amean = asum / size + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i1 in range(n1): */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; + } + /*else*/ { - /* "nanvar.pyx":841 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + /* "nanvar.pyx":841 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - goto __pyx_L6; - } - __pyx_L6:; - } + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanvar.pyx":842 - * if ai == ai: - * asum += ai - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":842 + * else: + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_v_asum = 0.0; - /* "nanvar.pyx":843 - * asum += ai - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanvar.pyx":843 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n0 */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":844 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + /* "nanvar.pyx":844 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n0 + * asum = 0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanvar.pyx":845 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanvar.pyx":845 + * for i0 in range(n0): + * asum += a[i0, i1] + * amean = asum / n0 # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_10 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); - /* "nanvar.pyx":846 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanvar.pyx":846 + * asum += a[i0, i1] + * amean = asum / n0 + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_v_asum = 0.0; /* "nanvar.pyx":847 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n0 + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":848 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(asum / (size - ddof)) + /* "nanvar.pyx":848 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; - } - __pyx_L9:; - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "nanvar.pyx":849 + * for i0 in range(n0): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) + */ + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":849 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(asum / (size - ddof)) - * else: + /* "nanvar.pyx":850 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = asum / (n0 - ddof) + * return y */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + } - /* "nanvar.pyx":850 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanvar.pyx":851 + * ai -= amean + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) # <<<<<<<<<<<<<< + * return y + * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } - /*else*/ { + __pyx_L3:; - /* "nanvar.pyx":852 - * return np.float64(asum / (size - ddof)) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanvar.pyx":852 + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanvar.pyx":827 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanvar_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -11506,16 +12083,16 @@ static PyObject *__pyx_pf_6nanvar_44nanvar_1d_int_axisNone(CYTHON_UNUSED PyObjec /* "nanvar.pyx":856 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanvar_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_47nanvar_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_46nanvar_1d_int8_axisNone[] = "nanvar_1d_int8_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_47nanvar_1d_int8_axisNone = {"nanvar_1d_int8_axisNone", (PyCFunction)__pyx_pw_6nanvar_47nanvar_1d_int8_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_46nanvar_1d_int8_axisNone}; -static PyObject *__pyx_pw_6nanvar_47nanvar_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_47nanvar_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_46nanvar_2d_int_axis1[] = "nanvar_2d_int_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_47nanvar_2d_int_axis1 = {"nanvar_2d_int_axis1", (PyCFunction)__pyx_pw_6nanvar_47nanvar_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_46nanvar_2d_int_axis1}; +static PyObject *__pyx_pw_6nanvar_47nanvar_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -11523,7 +12100,7 @@ static PyObject *__pyx_pw_6nanvar_47nanvar_1d_int8_axisNone(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_1d_int8_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -11544,11 +12121,11 @@ static PyObject *__pyx_pw_6nanvar_47nanvar_1d_int8_axisNone(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_1d_int8_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -11561,14 +12138,14 @@ static PyObject *__pyx_pw_6nanvar_47nanvar_1d_int8_axisNone(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_1d_int8_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_46nanvar_1d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanvar_46nanvar_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -11579,398 +12156,319 @@ static PyObject *__pyx_pw_6nanvar_47nanvar_1d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_46nanvar_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_46nanvar_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_1d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanvar.pyx":858 - * def nanvar_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): - * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanvar_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":862 - * cdef Py_ssize_t i0 + /* "nanvar.pyx":861 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":863 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * if size == 0: - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "nanvar.pyx":864 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) - */ - __pyx_v_size = __pyx_v_n0; - - /* "nanvar.pyx":865 - * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): - */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { - - /* "nanvar.pyx":866 - * size = n0 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - - /* "nanvar.pyx":867 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + /* "nanvar.pyx":862 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":868 - * return np.float64(NAN) - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai + /* "nanvar.pyx":863 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":869 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * amean = asum / size + /* "nanvar.pyx":864 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":870 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + /* "nanvar.pyx":865 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - goto __pyx_L6; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __pyx_L6:; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanvar.pyx":871 - * if ai == ai: - * asum += ai - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":867 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "nanvar.pyx":868 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i0 in range(n0): + */ + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + /*else*/ { - /* "nanvar.pyx":872 - * asum += ai - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanvar.pyx":870 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_v_asum = 0.0; + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanvar.pyx":873 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + /* "nanvar.pyx":871 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_asum = 0.0; - /* "nanvar.pyx":874 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanvar.pyx":872 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n1 */ - __pyx_t_10 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanvar.pyx":875 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanvar.pyx":873 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n1 + * asum = 0 */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanvar.pyx":876 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + /* "nanvar.pyx":874 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / n1 # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); - /* "nanvar.pyx":877 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(asum / (size - ddof)) + /* "nanvar.pyx":875 + * asum += a[i0, i1] + * amean = asum / n1 + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; - } - __pyx_L9:; - } + __pyx_v_asum = 0.0; - /* "nanvar.pyx":878 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(asum / (size - ddof)) - * else: + /* "nanvar.pyx":876 + * amean = asum / n1 + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanvar.pyx":879 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanvar.pyx":877 + * asum = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "nanvar.pyx":878 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) + */ + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + + /* "nanvar.pyx":879 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = asum / (n1 - ddof) + * return y + */ + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanvar.pyx":881 - * return np.float64(asum / (size - ddof)) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanvar.pyx":880 + * ai -= amean + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanvar.pyx":881 + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanvar.pyx":856 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanvar_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -11979,16 +12477,16 @@ static PyObject *__pyx_pf_6nanvar_46nanvar_1d_int8_axisNone(CYTHON_UNUSED PyObje /* "nanvar.pyx":885 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanvar_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_49nanvar_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_48nanvar_1d_int32_axisNone[] = "nanvar_1d_int32_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_49nanvar_1d_int32_axisNone = {"nanvar_1d_int32_axisNone", (PyCFunction)__pyx_pw_6nanvar_49nanvar_1d_int32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_48nanvar_1d_int32_axisNone}; -static PyObject *__pyx_pw_6nanvar_49nanvar_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_49nanvar_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_48nanvar_2d_int8_axis0[] = "nanvar_2d_int8_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_49nanvar_2d_int8_axis0 = {"nanvar_2d_int8_axis0", (PyCFunction)__pyx_pw_6nanvar_49nanvar_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_48nanvar_2d_int8_axis0}; +static PyObject *__pyx_pw_6nanvar_49nanvar_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -11996,7 +12494,7 @@ static PyObject *__pyx_pw_6nanvar_49nanvar_1d_int32_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_1d_int32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int8_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -12017,11 +12515,11 @@ static PyObject *__pyx_pw_6nanvar_49nanvar_1d_int32_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_1d_int32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -12034,14 +12532,14 @@ static PyObject *__pyx_pw_6nanvar_49nanvar_1d_int32_axisNone(PyObject *__pyx_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_1d_int32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_48nanvar_1d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanvar_48nanvar_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -12052,398 +12550,319 @@ static PyObject *__pyx_pw_6nanvar_49nanvar_1d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_48nanvar_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_48nanvar_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_1d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int8_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanvar.pyx":887 - * def nanvar_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): - * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanvar_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":891 - * cdef Py_ssize_t i0 + /* "nanvar.pyx":890 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":892 + /* "nanvar.pyx":891 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * if size == 0: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":893 + /* "nanvar.pyx":892 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":894 + /* "nanvar.pyx":893 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":895 - * size = n0 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanvar.pyx":894 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; /* "nanvar.pyx":896 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: - */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; - - /* "nanvar.pyx":897 - * return np.float64(NAN) - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - - /* "nanvar.pyx":898 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * amean = asum / size + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanvar.pyx":899 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + /* "nanvar.pyx":897 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i1 in range(n1): */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - goto __pyx_L6; - } - __pyx_L6:; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } + /*else*/ { - /* "nanvar.pyx":900 - * if ai == ai: - * asum += ai - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":899 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanvar.pyx":901 - * asum += ai - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanvar.pyx":900 + * else: + * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0.0; - /* "nanvar.pyx":902 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + /* "nanvar.pyx":901 + * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":903 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanvar.pyx":902 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n0 + * asum = 0 */ - __pyx_t_10 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanvar.pyx":904 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanvar.pyx":903 + * for i0 in range(n0): + * asum += a[i0, i1] + * amean = asum / n0 # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); + + /* "nanvar.pyx":904 + * asum += a[i0, i1] + * amean = asum / n0 + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_asum = 0.0; /* "nanvar.pyx":905 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n0 + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":906 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(asum / (size - ddof)) + /* "nanvar.pyx":906 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; - } - __pyx_L9:; - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":907 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(asum / (size - ddof)) - * else: + /* "nanvar.pyx":907 + * for i0 in range(n0): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":908 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanvar.pyx":908 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = asum / (n0 - ddof) + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanvar.pyx":910 - * return np.float64(asum / (size - ddof)) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanvar.pyx":909 + * ai -= amean + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanvar.pyx":910 + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanvar.pyx":885 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanvar_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -12452,16 +12871,16 @@ static PyObject *__pyx_pf_6nanvar_48nanvar_1d_int32_axisNone(CYTHON_UNUSED PyObj /* "nanvar.pyx":914 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanvar_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_51nanvar_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_50nanvar_1d_int64_axisNone[] = "nanvar_1d_int64_axisNone(ndarray a, int ddof)\nValriance of 1d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_51nanvar_1d_int64_axisNone = {"nanvar_1d_int64_axisNone", (PyCFunction)__pyx_pw_6nanvar_51nanvar_1d_int64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_50nanvar_1d_int64_axisNone}; -static PyObject *__pyx_pw_6nanvar_51nanvar_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_51nanvar_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_50nanvar_2d_int8_axis1[] = "nanvar_2d_int8_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_51nanvar_2d_int8_axis1 = {"nanvar_2d_int8_axis1", (PyCFunction)__pyx_pw_6nanvar_51nanvar_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_50nanvar_2d_int8_axis1}; +static PyObject *__pyx_pw_6nanvar_51nanvar_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -12469,7 +12888,7 @@ static PyObject *__pyx_pw_6nanvar_51nanvar_1d_int64_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_1d_int64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int8_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -12490,11 +12909,11 @@ static PyObject *__pyx_pw_6nanvar_51nanvar_1d_int64_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_1d_int64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_1d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -12507,14 +12926,14 @@ static PyObject *__pyx_pw_6nanvar_51nanvar_1d_int64_axisNone(PyObject *__pyx_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_1d_int64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_50nanvar_1d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanvar_50nanvar_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -12525,398 +12944,319 @@ static PyObject *__pyx_pw_6nanvar_51nanvar_1d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_50nanvar_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_50nanvar_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_1d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int8_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanvar.pyx":916 - * def nanvar_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): - * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanvar_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":920 - * cdef Py_ssize_t i0 + /* "nanvar.pyx":919 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * size = n0 + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":921 + /* "nanvar.pyx":920 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * size = n0 - * if size == 0: + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":922 + /* "nanvar.pyx":921 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * size = n0 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_v_size = __pyx_v_n0; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":923 + /* "nanvar.pyx":922 * cdef Py_ssize_t n0 = dim[0] - * size = n0 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":924 - * size = n0 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanvar.pyx":923 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; /* "nanvar.pyx":925 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { /* "nanvar.pyx":926 - * return np.float64(NAN) - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * asum += ai - */ - __pyx_t_9 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides)); - - /* "nanvar.pyx":927 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * asum += ai - * amean = asum / size - */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { - - /* "nanvar.pyx":928 - * ai = a[i0] - * if ai == ai: - * asum += ai # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i0 in range(n0): */ - __pyx_v_asum = (__pyx_v_asum + __pyx_v_ai); - goto __pyx_L6; - } - __pyx_L6:; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } + /*else*/ { - /* "nanvar.pyx":929 - * if ai == ai: - * asum += ai - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":928 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 929; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanvar.pyx":930 - * asum += ai - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + /* "nanvar.pyx":929 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] + */ + __pyx_v_asum = 0.0; + + /* "nanvar.pyx":930 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n1 */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanvar.pyx":931 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * if ai == ai: + /* "nanvar.pyx":931 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n1 + * asum = 0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanvar.pyx":932 - * asum = 0 - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * if ai == ai: - * ai -= amean + /* "nanvar.pyx":932 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / n1 # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_t_10 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides)); + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); - /* "nanvar.pyx":933 - * for i0 in range(n0): - * ai = a[i0] - * if ai == ai: # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + /* "nanvar.pyx":933 + * asum += a[i0, i1] + * amean = asum / n1 + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_1 = ((__pyx_v_ai == __pyx_v_ai) != 0); - if (__pyx_t_1) { + __pyx_v_asum = 0.0; /* "nanvar.pyx":934 - * ai = a[i0] - * if ai == ai: - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n1 + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanvar.pyx":935 - * if ai == ai: - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(asum / (size - ddof)) + /* "nanvar.pyx":935 + * asum = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - goto __pyx_L9; - } - __pyx_L9:; - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":936 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(asum / (size - ddof)) - * else: + /* "nanvar.pyx":936 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":937 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanvar.pyx":937 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = asum / (n1 - ddof) + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanvar.pyx":939 - * return np.float64(asum / (size - ddof)) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanvar.pyx":938 + * ai -= amean + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanvar.pyx":939 + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanvar.pyx":914 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanvar_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -12925,16 +13265,16 @@ static PyObject *__pyx_pf_6nanvar_50nanvar_1d_int64_axisNone(CYTHON_UNUSED PyObj /* "nanvar.pyx":943 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanvar_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_53nanvar_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_52nanvar_2d_int_axisNone[] = "nanvar_2d_int_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_53nanvar_2d_int_axisNone = {"nanvar_2d_int_axisNone", (PyCFunction)__pyx_pw_6nanvar_53nanvar_2d_int_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_52nanvar_2d_int_axisNone}; -static PyObject *__pyx_pw_6nanvar_53nanvar_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_53nanvar_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_52nanvar_2d_int32_axis0[] = "nanvar_2d_int32_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_53nanvar_2d_int32_axis0 = {"nanvar_2d_int32_axis0", (PyCFunction)__pyx_pw_6nanvar_53nanvar_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_52nanvar_2d_int32_axis0}; +static PyObject *__pyx_pw_6nanvar_53nanvar_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -12942,7 +13282,7 @@ static PyObject *__pyx_pw_6nanvar_53nanvar_2d_int_axisNone(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -12963,11 +13303,11 @@ static PyObject *__pyx_pw_6nanvar_53nanvar_2d_int_axisNone(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -12980,14 +13320,14 @@ static PyObject *__pyx_pw_6nanvar_53nanvar_2d_int_axisNone(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_52nanvar_2d_int_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanvar_52nanvar_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -12998,58 +13338,63 @@ static PyObject *__pyx_pw_6nanvar_53nanvar_2d_int_axisNone(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_52nanvar_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_52nanvar_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int32_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanvar.pyx":945 - * def nanvar_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanvar_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":949 + /* "nanvar.pyx":948 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -13058,344 +13403,254 @@ static PyObject *__pyx_pf_6nanvar_52nanvar_2d_int_axisNone(CYTHON_UNUSED PyObjec */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":950 + /* "nanvar.pyx":949 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":951 + /* "nanvar.pyx":950 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * if size == 0: + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":952 + /* "nanvar.pyx":951 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":953 + /* "nanvar.pyx":952 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): - */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { - - /* "nanvar.pyx":954 - * size = n0 * n1 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanvar.pyx":955 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] - */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; - - /* "nanvar.pyx":956 - * return np.float64(NAN) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / size + /* "nanvar.pyx":954 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanvar.pyx":957 - * for i0 in range(n0): + /* "nanvar.pyx":955 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } + /*else*/ { - /* "nanvar.pyx":958 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":957 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanvar.pyx":959 - * asum += a[i0, i1] - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanvar.pyx":958 + * else: * for i1 in range(n1): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] */ - __pyx_v_asum = 0.0; + __pyx_v_asum = 0.0; - /* "nanvar.pyx":960 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "nanvar.pyx":959 * for i1 in range(n1): - * ai = a[i0, i1] + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":961 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ai -= amean + /* "nanvar.pyx":960 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n0 + * asum = 0 */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nanvar.pyx":961 + * for i0 in range(n0): + * asum += a[i0, i1] + * amean = asum / n0 # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): + */ + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); /* "nanvar.pyx":962 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * asum += a[i0, i1] + * amean = asum / n0 + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_asum = 0.0; /* "nanvar.pyx":963 - * for i1 in range(n1): - * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n0 + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; + + /* "nanvar.pyx":964 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) + */ + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":964 - * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(asum / (size - ddof)) + /* "nanvar.pyx":965 + * for i0 in range(n0): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - } - } + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":965 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(asum / (size - ddof)) - * else: + /* "nanvar.pyx":966 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = asum / (n0 - ddof) + * return y */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); + } - /* "nanvar.pyx":966 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanvar.pyx":967 + * ai -= amean + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) # <<<<<<<<<<<<<< + * return y + * */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } - /*else*/ { + __pyx_L3:; - /* "nanvar.pyx":968 - * return np.float64(asum / (size - ddof)) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanvar.pyx":968 + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanvar.pyx":943 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanvar_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -13404,16 +13659,16 @@ static PyObject *__pyx_pf_6nanvar_52nanvar_2d_int_axisNone(CYTHON_UNUSED PyObjec /* "nanvar.pyx":972 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanvar_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_55nanvar_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_54nanvar_2d_int8_axisNone[] = "nanvar_2d_int8_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int8 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_55nanvar_2d_int8_axisNone = {"nanvar_2d_int8_axisNone", (PyCFunction)__pyx_pw_6nanvar_55nanvar_2d_int8_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_54nanvar_2d_int8_axisNone}; -static PyObject *__pyx_pw_6nanvar_55nanvar_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_55nanvar_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_54nanvar_2d_int32_axis1[] = "nanvar_2d_int32_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_55nanvar_2d_int32_axis1 = {"nanvar_2d_int32_axis1", (PyCFunction)__pyx_pw_6nanvar_55nanvar_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_54nanvar_2d_int32_axis1}; +static PyObject *__pyx_pw_6nanvar_55nanvar_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -13421,7 +13676,7 @@ static PyObject *__pyx_pw_6nanvar_55nanvar_2d_int8_axisNone(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int8_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -13442,11 +13697,11 @@ static PyObject *__pyx_pw_6nanvar_55nanvar_2d_int8_axisNone(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int8_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -13459,14 +13714,14 @@ static PyObject *__pyx_pw_6nanvar_55nanvar_2d_int8_axisNone(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int8_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_54nanvar_2d_int8_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanvar_54nanvar_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -13477,58 +13732,63 @@ static PyObject *__pyx_pw_6nanvar_55nanvar_2d_int8_axisNone(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_54nanvar_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_54nanvar_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int32_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanvar.pyx":974 - * def nanvar_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanvar_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":978 + /* "nanvar.pyx":977 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -13537,344 +13797,254 @@ static PyObject *__pyx_pf_6nanvar_54nanvar_2d_int8_axisNone(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":979 + /* "nanvar.pyx":978 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "nanvar.pyx":980 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * if size == 0: - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "nanvar.pyx":981 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) - */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); - - /* "nanvar.pyx":982 - * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): - */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { - - /* "nanvar.pyx":983 - * size = n0 * n1 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + */ + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":984 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanvar.pyx":979 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":985 - * return np.float64(NAN) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / size + /* "nanvar.pyx":980 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":986 - * for i0 in range(n0): - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + /* "nanvar.pyx":981 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanvar.pyx":987 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":983 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { + + /* "nanvar.pyx":984 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i0 in range(n0): + */ + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + /*else*/ { - /* "nanvar.pyx":988 - * asum += a[i0, i1] - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanvar.pyx":986 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_v_asum = 0.0; + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanvar.pyx":989 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanvar.pyx":987 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_v_asum = 0.0; - /* "nanvar.pyx":990 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ai -= amean + /* "nanvar.pyx":988 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n1 */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; + + /* "nanvar.pyx":989 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n1 + * asum = 0 + */ + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } + + /* "nanvar.pyx":990 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / n1 # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): + */ + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); /* "nanvar.pyx":991 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * asum += a[i0, i1] + * amean = asum / n1 + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_asum = 0.0; /* "nanvar.pyx":992 - * for i1 in range(n1): - * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n1 + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanvar.pyx":993 - * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(asum / (size - ddof)) + /* "nanvar.pyx":993 + * asum = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - } - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":994 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(asum / (size - ddof)) - * else: + /* "nanvar.pyx":994 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":995 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanvar.pyx":995 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = asum / (n1 - ddof) + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanvar.pyx":997 - * return np.float64(asum / (size - ddof)) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanvar.pyx":996 + * ai -= amean + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 996; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanvar.pyx":997 + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanvar.pyx":972 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanvar_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -13883,16 +14053,16 @@ static PyObject *__pyx_pf_6nanvar_54nanvar_2d_int8_axisNone(CYTHON_UNUSED PyObje /* "nanvar.pyx":1001 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanvar_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_57nanvar_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_56nanvar_2d_int32_axisNone[] = "nanvar_2d_int32_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int32 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_57nanvar_2d_int32_axisNone = {"nanvar_2d_int32_axisNone", (PyCFunction)__pyx_pw_6nanvar_57nanvar_2d_int32_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_56nanvar_2d_int32_axisNone}; -static PyObject *__pyx_pw_6nanvar_57nanvar_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_57nanvar_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_56nanvar_2d_int64_axis0[] = "nanvar_2d_int64_axis0(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=0 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_57nanvar_2d_int64_axis0 = {"nanvar_2d_int64_axis0", (PyCFunction)__pyx_pw_6nanvar_57nanvar_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_56nanvar_2d_int64_axis0}; +static PyObject *__pyx_pw_6nanvar_57nanvar_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -13900,7 +14070,7 @@ static PyObject *__pyx_pw_6nanvar_57nanvar_2d_int32_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int32_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -13921,11 +14091,11 @@ static PyObject *__pyx_pw_6nanvar_57nanvar_2d_int32_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int32_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -13938,14 +14108,14 @@ static PyObject *__pyx_pw_6nanvar_57nanvar_2d_int32_axisNone(PyObject *__pyx_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int32_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_56nanvar_2d_int32_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanvar_56nanvar_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -13956,58 +14126,63 @@ static PyObject *__pyx_pw_6nanvar_57nanvar_2d_int32_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_56nanvar_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_56nanvar_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int64_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanvar.pyx":1003 - * def nanvar_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanvar_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":1007 + /* "nanvar.pyx":1006 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -14016,344 +14191,254 @@ static PyObject *__pyx_pf_6nanvar_56nanvar_2d_int32_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":1008 + /* "nanvar.pyx":1007 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":1009 + /* "nanvar.pyx":1008 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * if size == 0: + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":1010 + /* "nanvar.pyx":1009 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":1011 + /* "nanvar.pyx":1010 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): - */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { - - /* "nanvar.pyx":1012 - * size = n0 * n1 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanvar.pyx":1013 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] - */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; - - /* "nanvar.pyx":1014 - * return np.float64(NAN) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / size + /* "nanvar.pyx":1012 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_4 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_4) { - /* "nanvar.pyx":1015 - * for i0 in range(n0): + /* "nanvar.pyx":1013 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); - } + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; } + /*else*/ { + + /* "nanvar.pyx":1015 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): + */ + __pyx_t_5 = __pyx_v_n1; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i1 = __pyx_t_6; - /* "nanvar.pyx":1016 + /* "nanvar.pyx":1016 + * else: * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * asum += a[i0, i1] */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_v_asum = 0.0; - /* "nanvar.pyx":1017 - * asum += a[i0, i1] - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "nanvar.pyx":1017 * for i1 in range(n1): + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n0 */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":1018 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanvar.pyx":1018 + * asum = 0 + * for i0 in range(n0): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n0 + * asum = 0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanvar.pyx":1019 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ai -= amean + /* "nanvar.pyx":1019 + * for i0 in range(n0): + * asum += a[i0, i1] + * amean = asum / n0 # <<<<<<<<<<<<<< + * asum = 0 + * for i0 in range(n0): */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + if (unlikely(__pyx_v_n0 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1019; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n0); /* "nanvar.pyx":1020 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * asum += a[i0, i1] + * amean = asum / n0 + * asum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_asum = 0.0; /* "nanvar.pyx":1021 - * for i1 in range(n1): - * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n0 + * asum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n0; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i0 = __pyx_t_8; - /* "nanvar.pyx":1022 - * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(asum / (size - ddof)) + /* "nanvar.pyx":1022 + * asum = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - } - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":1023 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(asum / (size - ddof)) - * else: + /* "nanvar.pyx":1023 + * for i0 in range(n0): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":1024 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanvar.pyx":1024 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i1] = asum / (n0 - ddof) + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanvar.pyx":1026 - * return np.float64(asum / (size - ddof)) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanvar.pyx":1025 + * ai -= amean + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = (__pyx_v_n0 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanvar.pyx":1026 + * asum += (ai * ai) + * y[i1] = asum / (n0 - ddof) + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanvar.pyx":1001 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanvar_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; @@ -14362,16 +14447,16 @@ static PyObject *__pyx_pf_6nanvar_56nanvar_2d_int32_axisNone(CYTHON_UNUSED PyObj /* "nanvar.pyx":1030 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanvar_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_6nanvar_59nanvar_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_6nanvar_58nanvar_2d_int64_axisNone[] = "nanvar_2d_int64_axisNone(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=None ignoring NaNs."; -static PyMethodDef __pyx_mdef_6nanvar_59nanvar_2d_int64_axisNone = {"nanvar_2d_int64_axisNone", (PyCFunction)__pyx_pw_6nanvar_59nanvar_2d_int64_axisNone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_58nanvar_2d_int64_axisNone}; -static PyObject *__pyx_pw_6nanvar_59nanvar_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_6nanvar_59nanvar_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6nanvar_58nanvar_2d_int64_axis1[] = "nanvar_2d_int64_axis1(ndarray a, int ddof)\nValriance of 2d array with dtype=int64 along axis=1 ignoring NaNs."; +static PyMethodDef __pyx_mdef_6nanvar_59nanvar_2d_int64_axis1 = {"nanvar_2d_int64_axis1", (PyCFunction)__pyx_pw_6nanvar_59nanvar_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6nanvar_58nanvar_2d_int64_axis1}; +static PyObject *__pyx_pw_6nanvar_59nanvar_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_ddof; int __pyx_lineno = 0; @@ -14379,7 +14464,7 @@ static PyObject *__pyx_pw_6nanvar_59nanvar_2d_int64_axisNone(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nanvar_2d_int64_axisNone (wrapper)", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_ddof,0}; PyObject* values[2] = {0,0}; @@ -14400,11 +14485,11 @@ static PyObject *__pyx_pw_6nanvar_59nanvar_2d_int64_axisNone(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ddof)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axisNone", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int64_axisNone") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nanvar_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -14417,14 +14502,14 @@ static PyObject *__pyx_pw_6nanvar_59nanvar_2d_int64_axisNone(PyObject *__pyx_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axisNone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nanvar_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_6nanvar_58nanvar_2d_int64_axisNone(__pyx_self, __pyx_v_a, __pyx_v_ddof); + __pyx_r = __pyx_pf_6nanvar_58nanvar_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_ddof); /* function exit code */ goto __pyx_L0; @@ -14435,38 +14520,43 @@ static PyObject *__pyx_pw_6nanvar_59nanvar_2d_int64_axisNone(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_6nanvar_58nanvar_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { +static PyObject *__pyx_pf_6nanvar_58nanvar_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_ddof) { __pyx_t_5numpy_float64_t __pyx_v_asum; __pyx_t_5numpy_float64_t __pyx_v_amean; __pyx_t_5numpy_float64_t __pyx_v_ai; - Py_ssize_t __pyx_v_size; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - int __pyx_t_1; + npy_intp __pyx_t_1[1]; PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nanvar_2d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("nanvar_2d_int64_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -14478,15 +14568,15 @@ static PyObject *__pyx_pf_6nanvar_58nanvar_2d_int64_axisNone(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "nanvar.pyx":1032 - * def nanvar_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): - * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanvar_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): + * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t size * cdef Py_ssize_t i0, i1 + * cdef np.npy_intp *dim */ __pyx_v_asum = 0.0; - /* "nanvar.pyx":1036 + /* "nanvar.pyx":1035 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -14495,351 +14585,261 @@ static PyObject *__pyx_pf_6nanvar_58nanvar_2d_int64_axisNone(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "nanvar.pyx":1037 + /* "nanvar.pyx":1036 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "nanvar.pyx":1038 + /* "nanvar.pyx":1037 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * size = n0 * n1 - * if size == 0: + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "nanvar.pyx":1039 + /* "nanvar.pyx":1038 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 # <<<<<<<<<<<<<< - * if size == 0: - * return np.float64(NAN) + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ - __pyx_v_size = (__pyx_v_n0 * __pyx_v_n1); + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; - /* "nanvar.pyx":1040 + /* "nanvar.pyx":1039 * cdef Py_ssize_t n1 = dim[1] - * size = n0 * n1 - * if size == 0: # <<<<<<<<<<<<<< - * return np.float64(NAN) - * for i0 in range(n0): - */ - __pyx_t_1 = ((__pyx_v_size == 0) != 0); - if (__pyx_t_1) { - - /* "nanvar.pyx":1041 - * size = n0 * n1 - * if size == 0: - * return np.float64(NAN) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n1 == 0: */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_float64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - if (!__pyx_t_5) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL; - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "nanvar.pyx":1042 - * if size == 0: - * return np.float64(NAN) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * asum += a[i0, i1] + /* "nanvar.pyx":1041 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n1 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * else: */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_4 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_4) { - /* "nanvar.pyx":1043 - * return np.float64(NAN) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * asum += a[i0, i1] - * amean = asum / size + /* "nanvar.pyx":1042 + * NPY_float64, 0) + * if n1 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * else: + * for i0 in range(n0): */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L3; + } + /*else*/ { - /* "nanvar.pyx":1044 - * for i0 in range(n0): - * for i1 in range(n1): - * asum += a[i0, i1] # <<<<<<<<<<<<<< - * amean = asum / size - * asum = 0 + /* "nanvar.pyx":1044 + * PyArray_FillWithScalar(y, NAN) + * else: + * for i0 in range(n0): # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_t_11 = __pyx_v_i0; - __pyx_t_12 = __pyx_v_i1; - __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides))); - } - } + __pyx_t_5 = __pyx_v_n0; + for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { + __pyx_v_i0 = __pyx_t_6; - /* "nanvar.pyx":1045 - * for i1 in range(n1): - * asum += a[i0, i1] - * amean = asum / size # <<<<<<<<<<<<<< - * asum = 0 - * for i0 in range(n0): + /* "nanvar.pyx":1045 + * else: + * for i0 in range(n0): + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * asum += a[i0, i1] */ - if (unlikely(__pyx_v_size == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_v_amean = (__pyx_v_asum / __pyx_v_size); + __pyx_v_asum = 0.0; - /* "nanvar.pyx":1046 - * asum += a[i0, i1] - * amean = asum / size - * asum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + /* "nanvar.pyx":1046 + * for i0 in range(n0): + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * asum += a[i0, i1] + * amean = asum / n1 */ - __pyx_v_asum = 0.0; + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanvar.pyx":1047 - * amean = asum / size - * asum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + /* "nanvar.pyx":1047 + * asum = 0 + * for i1 in range(n1): + * asum += a[i0, i1] # <<<<<<<<<<<<<< + * amean = asum / n1 + * asum = 0 */ - __pyx_t_7 = __pyx_v_n0; - for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { - __pyx_v_i0 = __pyx_t_8; + __pyx_t_9 = __pyx_v_i0; + __pyx_t_10 = __pyx_v_i1; + __pyx_v_asum = (__pyx_v_asum + (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides))); + } - /* "nanvar.pyx":1048 - * asum = 0 - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ai -= amean + /* "nanvar.pyx":1048 + * for i1 in range(n1): + * asum += a[i0, i1] + * amean = asum / n1 # <<<<<<<<<<<<<< + * asum = 0 + * for i1 in range(n1): */ - __pyx_t_9 = __pyx_v_n1; - for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { - __pyx_v_i1 = __pyx_t_10; + if (unlikely(__pyx_v_n1 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_v_amean = (__pyx_v_asum / __pyx_v_n1); /* "nanvar.pyx":1049 - * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ai -= amean - * asum += (ai * ai) + * asum += a[i0, i1] + * amean = asum / n1 + * asum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] */ - __pyx_t_13 = __pyx_v_i0; - __pyx_t_14 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_14, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_asum = 0.0; /* "nanvar.pyx":1050 - * for i1 in range(n1): - * ai = a[i0, i1] - * ai -= amean # <<<<<<<<<<<<<< - * asum += (ai * ai) - * if size > ddof: + * amean = asum / n1 + * asum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ai -= amean */ - __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); + __pyx_t_7 = __pyx_v_n1; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_i1 = __pyx_t_8; - /* "nanvar.pyx":1051 - * ai = a[i0, i1] - * ai -= amean - * asum += (ai * ai) # <<<<<<<<<<<<<< - * if size > ddof: - * return np.float64(asum / (size - ddof)) + /* "nanvar.pyx":1051 + * asum = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ai -= amean + * asum += (ai * ai) */ - __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); - } - } + __pyx_t_11 = __pyx_v_i0; + __pyx_t_12 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "nanvar.pyx":1052 - * ai -= amean - * asum += (ai * ai) - * if size > ddof: # <<<<<<<<<<<<<< - * return np.float64(asum / (size - ddof)) - * else: + /* "nanvar.pyx":1052 + * for i1 in range(n1): + * ai = a[i0, i1] + * ai -= amean # <<<<<<<<<<<<<< + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) */ - __pyx_t_1 = ((__pyx_v_size > __pyx_v_ddof) != 0); - if (__pyx_t_1) { + __pyx_v_ai = (__pyx_v_ai - __pyx_v_amean); - /* "nanvar.pyx":1053 - * asum += (ai * ai) - * if size > ddof: - * return np.float64(asum / (size - ddof)) # <<<<<<<<<<<<<< - * else: - * return np.float64(NAN) + /* "nanvar.pyx":1053 + * ai = a[i0, i1] + * ai -= amean + * asum += (ai * ai) # <<<<<<<<<<<<<< + * y[i0] = asum / (n1 - ddof) + * return y */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = (__pyx_v_size - __pyx_v_ddof); - if (unlikely(__pyx_t_7 == 0)) { - #ifdef WITH_THREAD - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); - #endif - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - #ifdef WITH_THREAD - PyGILState_Release(__pyx_gilstate_save); - #endif - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_t_4 = PyFloat_FromDouble((__pyx_v_asum / __pyx_t_7)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_v_asum = (__pyx_v_asum + (__pyx_v_ai * __pyx_v_ai)); } - } - if (!__pyx_t_3) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL; - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - } - /*else*/ { - /* "nanvar.pyx":1055 - * return np.float64(asum / (size - ddof)) - * else: - * return np.float64(NAN) # <<<<<<<<<<<<<< + /* "nanvar.pyx":1054 + * ai -= amean + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) # <<<<<<<<<<<<<< + * return y * - * cdef dict nanvar_dict = {} */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_float64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_6nanvar_NAN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = (__pyx_v_n1 - __pyx_v_ddof); + if (unlikely(__pyx_t_7 == 0)) { + #ifdef WITH_THREAD + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); + #endif + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + #ifdef WITH_THREAD + PyGILState_Release(__pyx_gilstate_save); + #endif + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_t_8 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_y.diminfo[0].strides) = (__pyx_v_asum / __pyx_t_7); } - if (!__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL; - PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; } + __pyx_L3:; + + /* "nanvar.pyx":1055 + * asum += (ai * ai) + * y[i0] = asum / (n1 - ddof) + * return y # <<<<<<<<<<<<<< + * + * cdef dict nanvar_dict = {} + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; /* "nanvar.pyx":1030 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanvar_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nanvar.nanvar_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "nanvar.pyx":1094 - * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone + * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 * * def nanvar_slow_axis0(arr, ddof): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanvar along axis 0." @@ -14956,7 +14956,7 @@ static PyObject *__pyx_pf_6nanvar_60nanvar_slow_axis0(CYTHON_UNUSED PyObject *__ goto __pyx_L0; /* "nanvar.pyx":1094 - * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone + * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 * * def nanvar_slow_axis0(arr, ddof): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanvar along axis 0." @@ -19564,7 +19564,7 @@ static PyObject *__pyx_pf_6nanvar_126nanvar_slow_axisNone(CYTHON_UNUSED PyObject return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -19614,7 +19614,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -19627,7 +19627,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -19636,7 +19636,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -19645,7 +19645,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -19654,7 +19654,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -19664,7 +19664,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -19676,7 +19676,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -19687,7 +19687,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -19703,7 +19703,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -19715,7 +19715,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -19729,7 +19729,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -19745,7 +19745,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -19757,7 +19757,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -19771,7 +19771,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -19780,7 +19780,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -19789,7 +19789,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -19799,7 +19799,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -19808,7 +19808,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -19817,7 +19817,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -19828,7 +19828,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -19837,7 +19837,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -19850,7 +19850,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -19859,7 +19859,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -19870,7 +19870,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -19879,7 +19879,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -19888,7 +19888,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -19897,7 +19897,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -19906,7 +19906,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -19918,7 +19918,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -19927,7 +19927,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -19947,7 +19947,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -19963,7 +19963,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -19978,7 +19978,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -19988,7 +19988,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -19998,7 +19998,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -20021,7 +20021,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -20041,7 +20041,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -20055,7 +20055,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -20064,7 +20064,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -20075,7 +20075,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -20086,7 +20086,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -20097,7 +20097,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -20108,7 +20108,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -20119,7 +20119,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -20130,7 +20130,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -20141,7 +20141,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -20152,7 +20152,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -20163,7 +20163,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -20174,7 +20174,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -20185,7 +20185,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -20196,7 +20196,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -20207,7 +20207,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -20218,7 +20218,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -20229,7 +20229,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -20240,7 +20240,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -20252,7 +20252,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -20278,7 +20278,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -20287,7 +20287,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -20299,7 +20299,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -20308,7 +20308,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -20317,7 +20317,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -20326,7 +20326,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -20336,7 +20336,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -20346,7 +20346,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -20378,7 +20378,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -20402,7 +20402,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -20412,7 +20412,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -20424,7 +20424,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -20434,7 +20434,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -20446,7 +20446,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -20458,7 +20458,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -20475,7 +20475,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -20489,7 +20489,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -20508,7 +20508,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -20525,7 +20525,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -20539,7 +20539,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -20558,7 +20558,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -20575,7 +20575,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -20589,7 +20589,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -20608,7 +20608,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -20625,7 +20625,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -20639,7 +20639,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -20658,7 +20658,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -20675,7 +20675,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -20689,7 +20689,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -20708,7 +20708,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -20740,7 +20740,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -20749,7 +20749,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -20758,7 +20758,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -20780,7 +20780,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -20793,7 +20793,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -20832,7 +20832,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -20849,7 +20849,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -20863,7 +20863,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -20886,7 +20886,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -20906,7 +20906,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -20920,7 +20920,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -20936,7 +20936,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -20945,7 +20945,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -20954,7 +20954,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -20965,7 +20965,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -20975,7 +20975,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -20985,7 +20985,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -20997,7 +20997,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -21007,7 +21007,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -21021,7 +21021,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -21039,7 +21039,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -21057,7 +21057,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -21075,7 +21075,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -21093,7 +21093,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -21111,7 +21111,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -21129,7 +21129,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -21147,7 +21147,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -21165,7 +21165,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -21183,7 +21183,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -21201,7 +21201,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -21219,7 +21219,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -21237,7 +21237,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -21255,7 +21255,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -21275,7 +21275,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -21295,7 +21295,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -21315,7 +21315,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -21334,7 +21334,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -21357,7 +21357,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -21369,7 +21369,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -21381,7 +21381,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -21391,7 +21391,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -21401,7 +21401,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -21426,7 +21426,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -21441,7 +21441,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -21452,7 +21452,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -21464,7 +21464,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -21473,7 +21473,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -21484,7 +21484,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -21493,7 +21493,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -21502,7 +21502,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -21514,7 +21514,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -21528,7 +21528,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -21538,7 +21538,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -21552,7 +21552,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -21563,7 +21563,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -21601,7 +21601,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -21614,6 +21613,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_kp_u_Variance_along_the_specified_ax, __pyx_k_Variance_along_the_specified_ax, sizeof(__pyx_k_Variance_along_the_specified_ax), 0, 1, 0, 0}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, @@ -21742,7 +21742,7 @@ static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; @@ -21752,7 +21752,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -21763,7 +21763,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -21774,7 +21774,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -21785,7 +21785,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -21796,7 +21796,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -21807,7 +21807,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -21839,7 +21839,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_ddof, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":140 * return func(arr, ddof) @@ -21851,346 +21851,346 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_selector, 140, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_selector, 140, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__13 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__13 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int_axis0, 214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_float_axis0, 214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":243 + /* "nanvar.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__15 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__15 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int_axis1, 243, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_float_axis1, 249, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":272 + /* "nanvar.pyx":284 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__17 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__17 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int8_axis0, 272, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_float32_axis0, 284, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":301 + /* "nanvar.pyx":319 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__19 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int8_axis1, 301, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_float32_axis1, 319, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":330 + /* "nanvar.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__21 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int32_axis0, 330, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_float64_axis0, 354, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":359 + /* "nanvar.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__23 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int32_axis1, 359, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_float64_axis1, 389, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":388 + /* "nanvar.pyx":424 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__25 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int64_axis0, 388, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_1d_float_axisNone, 424, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":417 + /* "nanvar.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_tuple__27 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int64_axis1, 417, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_1d_float32_axisNone, 451, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":446 + /* "nanvar.pyx":478 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." + * def nanvar_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__29 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_1d_float_axisNone, 446, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_1d_float64_axisNone, 478, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":473 + /* "nanvar.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." + * def nanvar_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__31 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_1d_float32_axisNone, 473, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_float_axisNone, 505, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":500 + /* "nanvar.pyx":535 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." + * def nanvar_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__33 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_1d_float64_axisNone, 500, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_float32_axisNone, 535, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":527 + /* "nanvar.pyx":565 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." + * def nanvar_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_tuple__35 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_float_axisNone, 527, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_float64_axisNone, 565, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":557 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanvar_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + /* "nanvar.pyx":595 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanvar_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__37 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_float32_axisNone, 557, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_1d_int_axisNone, 595, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":587 + /* "nanvar.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__39 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_float64_axisNone, 587, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_1d_int8_axisNone, 624, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":617 + /* "nanvar.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__41 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_float_axis0, 617, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_1d_int32_axisNone, 653, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":652 + /* "nanvar.pyx":682 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__43 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_float_axis1, 652, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_1d_int64_axisNone, 682, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":687 + /* "nanvar.pyx":711 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__45 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_float32_axis0, 687, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int_axisNone, 711, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":722 + /* "nanvar.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__47 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_float32_axis1, 722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int8_axisNone, 740, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":757 + /* "nanvar.pyx":769 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__49 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_float64_axis0, 757, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int32_axisNone, 769, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "nanvar.pyx":792 + /* "nanvar.pyx":798 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__51 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_count, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_float64_axis1, 792, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int64_axisNone, 798, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":827 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanvar_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__53 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_1d_int_axisNone, 827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int_axis0, 827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":856 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanvar_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__55 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_1d_int8_axisNone, 856, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int_axis1, 856, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":885 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanvar_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__57 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_1d_int32_axisNone, 885, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int8_axis0, 885, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":914 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanvar_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__59 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_1d_int64_axisNone, 914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int8_axis1, 914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":943 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanvar_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__61 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int_axisNone, 943, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int32_axis0, 943, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":972 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanvar_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__63 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int8_axisNone, 972, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int32_axis1, 972, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1001 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanvar_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__65 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int32_axisNone, 1001, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int64_axis0, 1001, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1030 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanvar_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_tuple__67 = PyTuple_Pack(11, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_ddof, __pyx_n_s_asum, __pyx_n_s_amean, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_2d_int64_axisNone, 1030, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_2d_int64_axis1, 1030, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1094 - * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone + * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 * * def nanvar_slow_axis0(arr, ddof): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanvar along axis 0." @@ -22199,7 +22199,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis0, 1094, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis0, 1094, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1098 * return bn.slow.nanvar(arr, axis=0, ddof=ddof) @@ -22211,7 +22211,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis1, 1098, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis1, 1098, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1102 * return bn.slow.nanvar(arr, axis=1, ddof=ddof) @@ -22223,7 +22223,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis2, 1102, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis2, 1102, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1106 * return bn.slow.nanvar(arr, axis=2, ddof=ddof) @@ -22235,7 +22235,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis3, 1106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis3, 1106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1110 * return bn.slow.nanvar(arr, axis=3, ddof=ddof) @@ -22247,7 +22247,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis4, 1110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis4, 1110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1114 * return bn.slow.nanvar(arr, axis=4, ddof=ddof) @@ -22259,7 +22259,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis5, 1114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis5, 1114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1118 * return bn.slow.nanvar(arr, axis=5, ddof=ddof) @@ -22271,7 +22271,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis6, 1118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis6, 1118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1122 * return bn.slow.nanvar(arr, axis=6, ddof=ddof) @@ -22283,7 +22283,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis7, 1122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis7, 1122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1126 * return bn.slow.nanvar(arr, axis=7, ddof=ddof) @@ -22295,7 +22295,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis8, 1126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis8, 1126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1130 * return bn.slow.nanvar(arr, axis=8, ddof=ddof) @@ -22307,7 +22307,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis9, 1130, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis9, 1130, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1134 * return bn.slow.nanvar(arr, axis=9, ddof=ddof) @@ -22319,7 +22319,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis10, 1134, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis10, 1134, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1138 * return bn.slow.nanvar(arr, axis=10, ddof=ddof) @@ -22331,7 +22331,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis11, 1138, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis11, 1138, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1142 * return bn.slow.nanvar(arr, axis=11, ddof=ddof) @@ -22343,7 +22343,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis12, 1142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis12, 1142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1146 * return bn.slow.nanvar(arr, axis=12, ddof=ddof) @@ -22355,7 +22355,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis13, 1146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis13, 1146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1150 * return bn.slow.nanvar(arr, axis=13, ddof=ddof) @@ -22367,7 +22367,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis14, 1150, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis14, 1150, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1154 * return bn.slow.nanvar(arr, axis=14, ddof=ddof) @@ -22379,7 +22379,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis15, 1154, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis15, 1154, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1158 * return bn.slow.nanvar(arr, axis=15, ddof=ddof) @@ -22391,7 +22391,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis16, 1158, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis16, 1158, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1162 * return bn.slow.nanvar(arr, axis=16, ddof=ddof) @@ -22403,7 +22403,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis17, 1162, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis17, 1162, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1166 * return bn.slow.nanvar(arr, axis=17, ddof=ddof) @@ -22415,7 +22415,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis18, 1166, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis18, 1166, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1170 * return bn.slow.nanvar(arr, axis=18, ddof=ddof) @@ -22427,7 +22427,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis19, 1170, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis19, 1170, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1174 * return bn.slow.nanvar(arr, axis=19, ddof=ddof) @@ -22439,7 +22439,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis20, 1174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis20, 1174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1178 * return bn.slow.nanvar(arr, axis=20, ddof=ddof) @@ -22451,7 +22451,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis21, 1178, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis21, 1178, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1182 * return bn.slow.nanvar(arr, axis=21, ddof=ddof) @@ -22463,7 +22463,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis22, 1182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis22, 1182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1186 * return bn.slow.nanvar(arr, axis=22, ddof=ddof) @@ -22475,7 +22475,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis23, 1186, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis23, 1186, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1190 * return bn.slow.nanvar(arr, axis=23, ddof=ddof) @@ -22487,7 +22487,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis24, 1190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis24, 1190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1194 * return bn.slow.nanvar(arr, axis=24, ddof=ddof) @@ -22499,7 +22499,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis25, 1194, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis25, 1194, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1198 * return bn.slow.nanvar(arr, axis=25, ddof=ddof) @@ -22511,7 +22511,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis26, 1198, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis26, 1198, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1202 * return bn.slow.nanvar(arr, axis=26, ddof=ddof) @@ -22523,7 +22523,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis27, 1202, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis27, 1202, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1206 * return bn.slow.nanvar(arr, axis=27, ddof=ddof) @@ -22535,7 +22535,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis28, 1206, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis28, 1206, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1210 * return bn.slow.nanvar(arr, axis=28, ddof=ddof) @@ -22547,7 +22547,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis29, 1210, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis29, 1210, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1214 * return bn.slow.nanvar(arr, axis=29, ddof=ddof) @@ -22559,7 +22559,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis30, 1214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis30, 1214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1218 * return bn.slow.nanvar(arr, axis=30, ddof=ddof) @@ -22571,7 +22571,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis31, 1218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis31, 1218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1222 * return bn.slow.nanvar(arr, axis=31, ddof=ddof) @@ -22583,7 +22583,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axis32, 1222, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axis32, 1222, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nanvar.pyx":1226 * return bn.slow.nanvar(arr, axis=32, ddof=ddof) @@ -22595,7 +22595,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_ddof); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanvar_slow_axisNone, 1226, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanvar_slow_axisNone, 1226, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -23561,345 +23561,345 @@ PyMODINIT_FUNC PyInit_nanvar(void) /* "nanvar.pyx":214 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_5nanvar_2d_int_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "nanvar.pyx":243 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanvar_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_7nanvar_2d_int_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "nanvar.pyx":272 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def nanvar_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_9nanvar_2d_int8_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_5nanvar_2d_float_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":301 + /* "nanvar.pyx":249 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_11nanvar_2d_int8_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_7nanvar_2d_float_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":330 + /* "nanvar.pyx":284 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_13nanvar_2d_int32_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_9nanvar_2d_float32_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":359 + /* "nanvar.pyx":319 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_15nanvar_2d_int32_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_11nanvar_2d_float32_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":388 + /* "nanvar.pyx":354 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_17nanvar_2d_int64_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_13nanvar_2d_float64_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":417 + /* "nanvar.pyx":389 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." - * cdef np.float64_t asum = 0, amean, ai + * def nanvar_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." + * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_19nanvar_2d_int64_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_15nanvar_2d_float64_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":446 + /* "nanvar.pyx":424 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanvar_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 1d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_21nanvar_1d_float_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_17nanvar_1d_float_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":473 + /* "nanvar.pyx":451 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanvar_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 1d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_23nanvar_1d_float32_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_19nanvar_1d_float32_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":500 + /* "nanvar.pyx":478 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanvar_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 1d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_25nanvar_1d_float64_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_21nanvar_1d_float64_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":527 + /* "nanvar.pyx":505 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanvar_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 2d array with dtype=float along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_27nanvar_2d_float_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_23nanvar_2d_float_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":557 + /* "nanvar.pyx":535 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanvar_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 2d array with dtype=float32 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_29nanvar_2d_float32_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_25nanvar_2d_float32_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":587 + /* "nanvar.pyx":565 * @cython.boundscheck(False) * @cython.wraparound(False) * def nanvar_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< * "Variance of 2d array with dtype=float64 along axis=None ignoring NaNs." * cdef Py_ssize_t count = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_31nanvar_2d_float64_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_27nanvar_2d_float64_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":617 + /* "nanvar.pyx":595 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_33nanvar_2d_float_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_29nanvar_1d_int_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":652 + /* "nanvar.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_35nanvar_2d_float_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_31nanvar_1d_int8_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":687 + /* "nanvar.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_37nanvar_2d_float32_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_33nanvar_1d_int32_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":722 + /* "nanvar.pyx":682 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float32 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_39nanvar_2d_float32_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_35nanvar_1d_int64_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":757 + /* "nanvar.pyx":711 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=0 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_41nanvar_2d_float64_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_37nanvar_2d_int_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "nanvar.pyx":792 + /* "nanvar.pyx":740 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Variance of 2d array with dtype=float64 along axis=1 ignoring NaNs." - * cdef Py_ssize_t count = 0 + * def nanvar_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_39nanvar_2d_int8_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "nanvar.pyx":769 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanvar_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_41nanvar_2d_int32_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "nanvar.pyx":798 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def nanvar_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_43nanvar_2d_float64_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_43nanvar_2d_int64_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":827 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int along axis=None ignoring NaNs." + * def nanvar_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_45nanvar_1d_int_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_45nanvar_2d_int_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":856 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int8 along axis=None ignoring NaNs." + * def nanvar_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_47nanvar_1d_int8_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_47nanvar_2d_int_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":885 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int32 along axis=None ignoring NaNs." + * def nanvar_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_49nanvar_1d_int32_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_49nanvar_2d_int8_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":914 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 1d array with dtype=int64 along axis=None ignoring NaNs." + * def nanvar_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int8 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_51nanvar_1d_int64_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_51nanvar_2d_int8_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":943 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int along axis=None ignoring NaNs." + * def nanvar_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_53nanvar_2d_int_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_53nanvar_2d_int32_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":972 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int8 along axis=None ignoring NaNs." + * def nanvar_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int32 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_55nanvar_2d_int8_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_55nanvar_2d_int32_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1001 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int32 along axis=None ignoring NaNs." + * def nanvar_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=0 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_57nanvar_2d_int32_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_57nanvar_2d_int64_axis0, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1001; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1030 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nanvar_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< - * "Valriance of 2d array with dtype=int64 along axis=None ignoring NaNs." + * def nanvar_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int ddof): # <<<<<<<<<<<<<< + * "Valriance of 2d array with dtype=int64 along axis=1 ignoring NaNs." * cdef np.float64_t asum = 0, amean, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_59nanvar_2d_int64_axisNone, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6nanvar_59nanvar_2d_int64_axis1, NULL, __pyx_n_s_nanvar); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nanvar_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1057 - * return np.float64(NAN) + * return y * * cdef dict nanvar_dict = {} # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int, 0)] = nanvar_2d_int_axis0 - * nanvar_dict[(2, NPY_int, 1)] = nanvar_2d_int_axis1 + * nanvar_dict[(2, NPY_float, 0)] = nanvar_2d_float_axis0 + * nanvar_dict[(2, NPY_float, 1)] = nanvar_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -23911,17 +23911,17 @@ PyMODINIT_FUNC PyInit_nanvar(void) /* "nanvar.pyx":1058 * * cdef dict nanvar_dict = {} - * nanvar_dict[(2, NPY_int, 0)] = nanvar_2d_int_axis0 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int, 1)] = nanvar_2d_int_axis1 - * nanvar_dict[(2, NPY_int8, 0)] = nanvar_2d_int8_axis0 + * nanvar_dict[(2, NPY_float, 0)] = nanvar_2d_float_axis0 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float, 1)] = nanvar_2d_float_axis1 + * nanvar_dict[(2, NPY_float32, 0)] = nanvar_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -23940,18 +23940,18 @@ PyMODINIT_FUNC PyInit_nanvar(void) /* "nanvar.pyx":1059 * cdef dict nanvar_dict = {} - * nanvar_dict[(2, NPY_int, 0)] = nanvar_2d_int_axis0 - * nanvar_dict[(2, NPY_int, 1)] = nanvar_2d_int_axis1 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int8, 0)] = nanvar_2d_int8_axis0 - * nanvar_dict[(2, NPY_int8, 1)] = nanvar_2d_int8_axis1 + * nanvar_dict[(2, NPY_float, 0)] = nanvar_2d_float_axis0 + * nanvar_dict[(2, NPY_float, 1)] = nanvar_2d_float_axis1 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float32, 0)] = nanvar_2d_float32_axis0 + * nanvar_dict[(2, NPY_float32, 1)] = nanvar_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -23969,19 +23969,19 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1060 - * nanvar_dict[(2, NPY_int, 0)] = nanvar_2d_int_axis0 - * nanvar_dict[(2, NPY_int, 1)] = nanvar_2d_int_axis1 - * nanvar_dict[(2, NPY_int8, 0)] = nanvar_2d_int8_axis0 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int8, 1)] = nanvar_2d_int8_axis1 - * nanvar_dict[(2, NPY_int32, 0)] = nanvar_2d_int32_axis0 + * nanvar_dict[(2, NPY_float, 0)] = nanvar_2d_float_axis0 + * nanvar_dict[(2, NPY_float, 1)] = nanvar_2d_float_axis1 + * nanvar_dict[(2, NPY_float32, 0)] = nanvar_2d_float32_axis0 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float32, 1)] = nanvar_2d_float32_axis1 + * nanvar_dict[(2, NPY_float64, 0)] = nanvar_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -23999,19 +23999,19 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1061 - * nanvar_dict[(2, NPY_int, 1)] = nanvar_2d_int_axis1 - * nanvar_dict[(2, NPY_int8, 0)] = nanvar_2d_int8_axis0 - * nanvar_dict[(2, NPY_int8, 1)] = nanvar_2d_int8_axis1 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int32, 0)] = nanvar_2d_int32_axis0 - * nanvar_dict[(2, NPY_int32, 1)] = nanvar_2d_int32_axis1 + * nanvar_dict[(2, NPY_float, 1)] = nanvar_2d_float_axis1 + * nanvar_dict[(2, NPY_float32, 0)] = nanvar_2d_float32_axis0 + * nanvar_dict[(2, NPY_float32, 1)] = nanvar_2d_float32_axis1 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float64, 0)] = nanvar_2d_float64_axis0 + * nanvar_dict[(2, NPY_float64, 1)] = nanvar_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24029,19 +24029,19 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1062 - * nanvar_dict[(2, NPY_int8, 0)] = nanvar_2d_int8_axis0 - * nanvar_dict[(2, NPY_int8, 1)] = nanvar_2d_int8_axis1 - * nanvar_dict[(2, NPY_int32, 0)] = nanvar_2d_int32_axis0 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int32, 1)] = nanvar_2d_int32_axis1 - * nanvar_dict[(2, NPY_int64, 0)] = nanvar_2d_int64_axis0 + * nanvar_dict[(2, NPY_float32, 0)] = nanvar_2d_float32_axis0 + * nanvar_dict[(2, NPY_float32, 1)] = nanvar_2d_float32_axis1 + * nanvar_dict[(2, NPY_float64, 0)] = nanvar_2d_float64_axis0 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float64, 1)] = nanvar_2d_float64_axis1 + * nanvar_dict[(1, NPY_float, 0)] = nanvar_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -24059,19 +24059,19 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1063 - * nanvar_dict[(2, NPY_int8, 1)] = nanvar_2d_int8_axis1 - * nanvar_dict[(2, NPY_int32, 0)] = nanvar_2d_int32_axis0 - * nanvar_dict[(2, NPY_int32, 1)] = nanvar_2d_int32_axis1 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int64, 0)] = nanvar_2d_int64_axis0 - * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 + * nanvar_dict[(2, NPY_float32, 1)] = nanvar_2d_float32_axis1 + * nanvar_dict[(2, NPY_float64, 0)] = nanvar_2d_float64_axis0 + * nanvar_dict[(2, NPY_float64, 1)] = nanvar_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float, 0)] = nanvar_1d_float_axisNone + * nanvar_dict[(1, NPY_float, None)] = nanvar_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24089,25 +24089,25 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1064 - * nanvar_dict[(2, NPY_int32, 0)] = nanvar_2d_int32_axis0 - * nanvar_dict[(2, NPY_int32, 1)] = nanvar_2d_int32_axis1 - * nanvar_dict[(2, NPY_int64, 0)] = nanvar_2d_int64_axis0 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 - * nanvar_dict[(1, NPY_float, 0)] = nanvar_1d_float_axisNone + * nanvar_dict[(2, NPY_float64, 0)] = nanvar_2d_float64_axis0 + * nanvar_dict[(2, NPY_float64, 1)] = nanvar_2d_float64_axis1 + * nanvar_dict[(1, NPY_float, 0)] = nanvar_1d_float_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float, None)] = nanvar_1d_float_axisNone + * nanvar_dict[(1, NPY_float32, 0)] = nanvar_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -24119,49 +24119,49 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1065 - * nanvar_dict[(2, NPY_int32, 1)] = nanvar_2d_int32_axis1 - * nanvar_dict[(2, NPY_int64, 0)] = nanvar_2d_int64_axis0 - * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float64, 1)] = nanvar_2d_float64_axis1 * nanvar_dict[(1, NPY_float, 0)] = nanvar_1d_float_axisNone - * nanvar_dict[(1, NPY_float, None)] = nanvar_1d_float_axisNone + * nanvar_dict[(1, NPY_float, None)] = nanvar_1d_float_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float32, 0)] = nanvar_1d_float32_axisNone + * nanvar_dict[(1, NPY_float32, None)] = nanvar_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1066 - * nanvar_dict[(2, NPY_int64, 0)] = nanvar_2d_int64_axis0 - * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 - * nanvar_dict[(1, NPY_float, 0)] = nanvar_1d_float_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float, 0)] = nanvar_1d_float_axisNone * nanvar_dict[(1, NPY_float, None)] = nanvar_1d_float_axisNone - * nanvar_dict[(1, NPY_float32, 0)] = nanvar_1d_float32_axisNone + * nanvar_dict[(1, NPY_float32, 0)] = nanvar_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float32, None)] = nanvar_1d_float32_axisNone + * nanvar_dict[(1, NPY_float64, 0)] = nanvar_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -24179,19 +24179,19 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1067 - * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 - * nanvar_dict[(1, NPY_float, 0)] = nanvar_1d_float_axisNone - * nanvar_dict[(1, NPY_float, None)] = nanvar_1d_float_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float, None)] = nanvar_1d_float_axisNone * nanvar_dict[(1, NPY_float32, 0)] = nanvar_1d_float32_axisNone - * nanvar_dict[(1, NPY_float32, None)] = nanvar_1d_float32_axisNone + * nanvar_dict[(1, NPY_float32, None)] = nanvar_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float64, 0)] = nanvar_1d_float64_axisNone + * nanvar_dict[(1, NPY_float64, None)] = nanvar_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24209,19 +24209,19 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1068 - * nanvar_dict[(1, NPY_float, 0)] = nanvar_1d_float_axisNone - * nanvar_dict[(1, NPY_float, None)] = nanvar_1d_float_axisNone - * nanvar_dict[(1, NPY_float32, 0)] = nanvar_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float32, 0)] = nanvar_1d_float32_axisNone * nanvar_dict[(1, NPY_float32, None)] = nanvar_1d_float32_axisNone - * nanvar_dict[(1, NPY_float64, 0)] = nanvar_1d_float64_axisNone + * nanvar_dict[(1, NPY_float64, 0)] = nanvar_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float64, None)] = nanvar_1d_float64_axisNone + * nanvar_dict[(2, NPY_float, None)] = nanvar_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -24239,19 +24239,19 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1069 - * nanvar_dict[(1, NPY_float, None)] = nanvar_1d_float_axisNone - * nanvar_dict[(1, NPY_float32, 0)] = nanvar_1d_float32_axisNone - * nanvar_dict[(1, NPY_float32, None)] = nanvar_1d_float32_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float32, None)] = nanvar_1d_float32_axisNone * nanvar_dict[(1, NPY_float64, 0)] = nanvar_1d_float64_axisNone - * nanvar_dict[(1, NPY_float64, None)] = nanvar_1d_float64_axisNone + * nanvar_dict[(1, NPY_float64, None)] = nanvar_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float, None)] = nanvar_2d_float_axisNone + * nanvar_dict[(2, NPY_float32, None)] = nanvar_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24269,55 +24269,55 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1070 - * nanvar_dict[(1, NPY_float32, 0)] = nanvar_1d_float32_axisNone - * nanvar_dict[(1, NPY_float32, None)] = nanvar_1d_float32_axisNone - * nanvar_dict[(1, NPY_float64, 0)] = nanvar_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float64, 0)] = nanvar_1d_float64_axisNone * nanvar_dict[(1, NPY_float64, None)] = nanvar_1d_float64_axisNone - * nanvar_dict[(2, NPY_float, None)] = nanvar_2d_float_axisNone + * nanvar_dict[(2, NPY_float, None)] = nanvar_2d_float_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float32, None)] = nanvar_2d_float32_axisNone + * nanvar_dict[(2, NPY_float64, None)] = nanvar_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1071 - * nanvar_dict[(1, NPY_float32, None)] = nanvar_1d_float32_axisNone - * nanvar_dict[(1, NPY_float64, 0)] = nanvar_1d_float64_axisNone - * nanvar_dict[(1, NPY_float64, None)] = nanvar_1d_float64_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_float64, None)] = nanvar_1d_float64_axisNone * nanvar_dict[(2, NPY_float, None)] = nanvar_2d_float_axisNone - * nanvar_dict[(2, NPY_float32, None)] = nanvar_2d_float32_axisNone + * nanvar_dict[(2, NPY_float32, None)] = nanvar_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float64, None)] = nanvar_2d_float64_axisNone + * nanvar_dict[(1, NPY_int, 0)] = nanvar_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -24329,19 +24329,19 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1072 - * nanvar_dict[(1, NPY_float64, 0)] = nanvar_1d_float64_axisNone - * nanvar_dict[(1, NPY_float64, None)] = nanvar_1d_float64_axisNone - * nanvar_dict[(2, NPY_float, None)] = nanvar_2d_float_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float, None)] = nanvar_2d_float_axisNone * nanvar_dict[(2, NPY_float32, None)] = nanvar_2d_float32_axisNone - * nanvar_dict[(2, NPY_float64, None)] = nanvar_2d_float64_axisNone + * nanvar_dict[(2, NPY_float64, None)] = nanvar_2d_float64_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_int, 0)] = nanvar_1d_int_axisNone + * nanvar_dict[(1, NPY_int, None)] = nanvar_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -24359,55 +24359,55 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1073 - * nanvar_dict[(1, NPY_float64, None)] = nanvar_1d_float64_axisNone - * nanvar_dict[(2, NPY_float, None)] = nanvar_2d_float_axisNone - * nanvar_dict[(2, NPY_float32, None)] = nanvar_2d_float32_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_float32, None)] = nanvar_2d_float32_axisNone * nanvar_dict[(2, NPY_float64, None)] = nanvar_2d_float64_axisNone - * nanvar_dict[(2, NPY_float, 0)] = nanvar_2d_float_axis0 + * nanvar_dict[(1, NPY_int, 0)] = nanvar_1d_int_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_int, None)] = nanvar_1d_int_axisNone + * nanvar_dict[(1, NPY_int8, 0)] = nanvar_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1074 - * nanvar_dict[(2, NPY_float, None)] = nanvar_2d_float_axisNone - * nanvar_dict[(2, NPY_float32, None)] = nanvar_2d_float32_axisNone - * nanvar_dict[(2, NPY_float64, None)] = nanvar_2d_float64_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_float, 0)] = nanvar_2d_float_axis0 - * nanvar_dict[(2, NPY_float, 1)] = nanvar_2d_float_axis1 + * nanvar_dict[(2, NPY_float64, None)] = nanvar_2d_float64_axisNone + * nanvar_dict[(1, NPY_int, 0)] = nanvar_1d_int_axisNone + * nanvar_dict[(1, NPY_int, None)] = nanvar_1d_int_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_int8, 0)] = nanvar_1d_int8_axisNone + * nanvar_dict[(1, NPY_int8, None)] = nanvar_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -24419,25 +24419,25 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1075 - * nanvar_dict[(2, NPY_float32, None)] = nanvar_2d_float32_axisNone - * nanvar_dict[(2, NPY_float64, None)] = nanvar_2d_float64_axisNone - * nanvar_dict[(2, NPY_float, 0)] = nanvar_2d_float_axis0 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_float, 1)] = nanvar_2d_float_axis1 - * nanvar_dict[(2, NPY_float32, 0)] = nanvar_2d_float32_axis0 + * nanvar_dict[(1, NPY_int, 0)] = nanvar_1d_int_axisNone + * nanvar_dict[(1, NPY_int, None)] = nanvar_1d_int_axisNone + * nanvar_dict[(1, NPY_int8, 0)] = nanvar_1d_int8_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_int8, None)] = nanvar_1d_int8_axisNone + * nanvar_dict[(1, NPY_int32, 0)] = nanvar_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -24449,55 +24449,55 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1076 - * nanvar_dict[(2, NPY_float64, None)] = nanvar_2d_float64_axisNone - * nanvar_dict[(2, NPY_float, 0)] = nanvar_2d_float_axis0 - * nanvar_dict[(2, NPY_float, 1)] = nanvar_2d_float_axis1 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_float32, 0)] = nanvar_2d_float32_axis0 - * nanvar_dict[(2, NPY_float32, 1)] = nanvar_2d_float32_axis1 + * nanvar_dict[(1, NPY_int, None)] = nanvar_1d_int_axisNone + * nanvar_dict[(1, NPY_int8, 0)] = nanvar_1d_int8_axisNone + * nanvar_dict[(1, NPY_int8, None)] = nanvar_1d_int8_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_int32, 0)] = nanvar_1d_int32_axisNone + * nanvar_dict[(1, NPY_int32, None)] = nanvar_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1077 - * nanvar_dict[(2, NPY_float, 0)] = nanvar_2d_float_axis0 - * nanvar_dict[(2, NPY_float, 1)] = nanvar_2d_float_axis1 - * nanvar_dict[(2, NPY_float32, 0)] = nanvar_2d_float32_axis0 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_float32, 1)] = nanvar_2d_float32_axis1 - * nanvar_dict[(2, NPY_float64, 0)] = nanvar_2d_float64_axis0 + * nanvar_dict[(1, NPY_int8, 0)] = nanvar_1d_int8_axisNone + * nanvar_dict[(1, NPY_int8, None)] = nanvar_1d_int8_axisNone + * nanvar_dict[(1, NPY_int32, 0)] = nanvar_1d_int32_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_int32, None)] = nanvar_1d_int32_axisNone + * nanvar_dict[(1, NPY_int64, 0)] = nanvar_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -24509,55 +24509,55 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1078 - * nanvar_dict[(2, NPY_float, 1)] = nanvar_2d_float_axis1 - * nanvar_dict[(2, NPY_float32, 0)] = nanvar_2d_float32_axis0 - * nanvar_dict[(2, NPY_float32, 1)] = nanvar_2d_float32_axis1 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_float64, 0)] = nanvar_2d_float64_axis0 - * nanvar_dict[(2, NPY_float64, 1)] = nanvar_2d_float64_axis1 + * nanvar_dict[(1, NPY_int8, None)] = nanvar_1d_int8_axisNone + * nanvar_dict[(1, NPY_int32, 0)] = nanvar_1d_int32_axisNone + * nanvar_dict[(1, NPY_int32, None)] = nanvar_1d_int32_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_int64, 0)] = nanvar_1d_int64_axisNone + * nanvar_dict[(1, NPY_int64, None)] = nanvar_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1079 - * nanvar_dict[(2, NPY_float32, 0)] = nanvar_2d_float32_axis0 - * nanvar_dict[(2, NPY_float32, 1)] = nanvar_2d_float32_axis1 - * nanvar_dict[(2, NPY_float64, 0)] = nanvar_2d_float64_axis0 # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_float64, 1)] = nanvar_2d_float64_axis1 - * nanvar_dict[(1, NPY_int, 0)] = nanvar_1d_int_axisNone + * nanvar_dict[(1, NPY_int32, 0)] = nanvar_1d_int32_axisNone + * nanvar_dict[(1, NPY_int32, None)] = nanvar_1d_int32_axisNone + * nanvar_dict[(1, NPY_int64, 0)] = nanvar_1d_int64_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(1, NPY_int64, None)] = nanvar_1d_int64_axisNone + * nanvar_dict[(2, NPY_int, None)] = nanvar_2d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -24569,43 +24569,43 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1080 - * nanvar_dict[(2, NPY_float32, 1)] = nanvar_2d_float32_axis1 - * nanvar_dict[(2, NPY_float64, 0)] = nanvar_2d_float64_axis0 - * nanvar_dict[(2, NPY_float64, 1)] = nanvar_2d_float64_axis1 # <<<<<<<<<<<<<< - * nanvar_dict[(1, NPY_int, 0)] = nanvar_1d_int_axisNone - * nanvar_dict[(1, NPY_int, None)] = nanvar_1d_int_axisNone + * nanvar_dict[(1, NPY_int32, None)] = nanvar_1d_int32_axisNone + * nanvar_dict[(1, NPY_int64, 0)] = nanvar_1d_int64_axisNone + * nanvar_dict[(1, NPY_int64, None)] = nanvar_1d_int64_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int, None)] = nanvar_2d_int_axisNone + * nanvar_dict[(2, NPY_int8, None)] = nanvar_2d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1081 - * nanvar_dict[(2, NPY_float64, 0)] = nanvar_2d_float64_axis0 - * nanvar_dict[(2, NPY_float64, 1)] = nanvar_2d_float64_axis1 - * nanvar_dict[(1, NPY_int, 0)] = nanvar_1d_int_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(1, NPY_int, None)] = nanvar_1d_int_axisNone - * nanvar_dict[(1, NPY_int8, 0)] = nanvar_1d_int8_axisNone + * nanvar_dict[(1, NPY_int64, 0)] = nanvar_1d_int64_axisNone + * nanvar_dict[(1, NPY_int64, None)] = nanvar_1d_int64_axisNone + * nanvar_dict[(2, NPY_int, None)] = nanvar_2d_int_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int8, None)] = nanvar_2d_int8_axisNone + * nanvar_dict[(2, NPY_int32, None)] = nanvar_2d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -24615,39 +24615,39 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1082 - * nanvar_dict[(2, NPY_float64, 1)] = nanvar_2d_float64_axis1 - * nanvar_dict[(1, NPY_int, 0)] = nanvar_1d_int_axisNone - * nanvar_dict[(1, NPY_int, None)] = nanvar_1d_int_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(1, NPY_int8, 0)] = nanvar_1d_int8_axisNone - * nanvar_dict[(1, NPY_int8, None)] = nanvar_1d_int8_axisNone + * nanvar_dict[(1, NPY_int64, None)] = nanvar_1d_int64_axisNone + * nanvar_dict[(2, NPY_int, None)] = nanvar_2d_int_axisNone + * nanvar_dict[(2, NPY_int8, None)] = nanvar_2d_int8_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int32, None)] = nanvar_2d_int32_axisNone + * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -24659,55 +24659,55 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1083 - * nanvar_dict[(1, NPY_int, 0)] = nanvar_1d_int_axisNone - * nanvar_dict[(1, NPY_int, None)] = nanvar_1d_int_axisNone - * nanvar_dict[(1, NPY_int8, 0)] = nanvar_1d_int8_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(1, NPY_int8, None)] = nanvar_1d_int8_axisNone - * nanvar_dict[(1, NPY_int32, 0)] = nanvar_1d_int32_axisNone + * nanvar_dict[(2, NPY_int, None)] = nanvar_2d_int_axisNone + * nanvar_dict[(2, NPY_int8, None)] = nanvar_2d_int8_axisNone + * nanvar_dict[(2, NPY_int32, None)] = nanvar_2d_int32_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone + * nanvar_dict[(2, NPY_int, 0)] = nanvar_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1084 - * nanvar_dict[(1, NPY_int, None)] = nanvar_1d_int_axisNone - * nanvar_dict[(1, NPY_int8, 0)] = nanvar_1d_int8_axisNone - * nanvar_dict[(1, NPY_int8, None)] = nanvar_1d_int8_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(1, NPY_int32, 0)] = nanvar_1d_int32_axisNone - * nanvar_dict[(1, NPY_int32, None)] = nanvar_1d_int32_axisNone + * nanvar_dict[(2, NPY_int8, None)] = nanvar_2d_int8_axisNone + * nanvar_dict[(2, NPY_int32, None)] = nanvar_2d_int32_axisNone + * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int, 0)] = nanvar_2d_int_axis0 + * nanvar_dict[(2, NPY_int, 1)] = nanvar_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -24719,25 +24719,25 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1085 - * nanvar_dict[(1, NPY_int8, 0)] = nanvar_1d_int8_axisNone - * nanvar_dict[(1, NPY_int8, None)] = nanvar_1d_int8_axisNone - * nanvar_dict[(1, NPY_int32, 0)] = nanvar_1d_int32_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(1, NPY_int32, None)] = nanvar_1d_int32_axisNone - * nanvar_dict[(1, NPY_int64, 0)] = nanvar_1d_int64_axisNone + * nanvar_dict[(2, NPY_int32, None)] = nanvar_2d_int32_axisNone + * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone + * nanvar_dict[(2, NPY_int, 0)] = nanvar_2d_int_axis0 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int, 1)] = nanvar_2d_int_axis1 + * nanvar_dict[(2, NPY_int8, 0)] = nanvar_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -24749,55 +24749,55 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1086 - * nanvar_dict[(1, NPY_int8, None)] = nanvar_1d_int8_axisNone - * nanvar_dict[(1, NPY_int32, 0)] = nanvar_1d_int32_axisNone - * nanvar_dict[(1, NPY_int32, None)] = nanvar_1d_int32_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(1, NPY_int64, 0)] = nanvar_1d_int64_axisNone - * nanvar_dict[(1, NPY_int64, None)] = nanvar_1d_int64_axisNone + * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone + * nanvar_dict[(2, NPY_int, 0)] = nanvar_2d_int_axis0 + * nanvar_dict[(2, NPY_int, 1)] = nanvar_2d_int_axis1 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int8, 0)] = nanvar_2d_int8_axis0 + * nanvar_dict[(2, NPY_int8, 1)] = nanvar_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1087 - * nanvar_dict[(1, NPY_int32, 0)] = nanvar_1d_int32_axisNone - * nanvar_dict[(1, NPY_int32, None)] = nanvar_1d_int32_axisNone - * nanvar_dict[(1, NPY_int64, 0)] = nanvar_1d_int64_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(1, NPY_int64, None)] = nanvar_1d_int64_axisNone - * nanvar_dict[(2, NPY_int, None)] = nanvar_2d_int_axisNone + * nanvar_dict[(2, NPY_int, 0)] = nanvar_2d_int_axis0 + * nanvar_dict[(2, NPY_int, 1)] = nanvar_2d_int_axis1 + * nanvar_dict[(2, NPY_int8, 0)] = nanvar_2d_int8_axis0 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int8, 1)] = nanvar_2d_int8_axis1 + * nanvar_dict[(2, NPY_int32, 0)] = nanvar_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -24809,49 +24809,49 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1088 - * nanvar_dict[(1, NPY_int32, None)] = nanvar_1d_int32_axisNone - * nanvar_dict[(1, NPY_int64, 0)] = nanvar_1d_int64_axisNone - * nanvar_dict[(1, NPY_int64, None)] = nanvar_1d_int64_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int, None)] = nanvar_2d_int_axisNone - * nanvar_dict[(2, NPY_int8, None)] = nanvar_2d_int8_axisNone + * nanvar_dict[(2, NPY_int, 1)] = nanvar_2d_int_axis1 + * nanvar_dict[(2, NPY_int8, 0)] = nanvar_2d_int8_axis0 + * nanvar_dict[(2, NPY_int8, 1)] = nanvar_2d_int8_axis1 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int32, 0)] = nanvar_2d_int32_axis0 + * nanvar_dict[(2, NPY_int32, 1)] = nanvar_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1089 - * nanvar_dict[(1, NPY_int64, 0)] = nanvar_1d_int64_axisNone - * nanvar_dict[(1, NPY_int64, None)] = nanvar_1d_int64_axisNone - * nanvar_dict[(2, NPY_int, None)] = nanvar_2d_int_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int8, None)] = nanvar_2d_int8_axisNone - * nanvar_dict[(2, NPY_int32, None)] = nanvar_2d_int32_axisNone + * nanvar_dict[(2, NPY_int8, 0)] = nanvar_2d_int8_axis0 + * nanvar_dict[(2, NPY_int8, 1)] = nanvar_2d_int8_axis1 + * nanvar_dict[(2, NPY_int32, 0)] = nanvar_2d_int32_axis0 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int32, 1)] = nanvar_2d_int32_axis1 + * nanvar_dict[(2, NPY_int64, 0)] = nanvar_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24860,28 +24860,28 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1090 - * nanvar_dict[(1, NPY_int64, None)] = nanvar_1d_int64_axisNone - * nanvar_dict[(2, NPY_int, None)] = nanvar_2d_int_axisNone - * nanvar_dict[(2, NPY_int8, None)] = nanvar_2d_int8_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int32, None)] = nanvar_2d_int32_axisNone - * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone + * nanvar_dict[(2, NPY_int8, 1)] = nanvar_2d_int8_axis1 + * nanvar_dict[(2, NPY_int32, 0)] = nanvar_2d_int32_axis0 + * nanvar_dict[(2, NPY_int32, 1)] = nanvar_2d_int32_axis1 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int64, 0)] = nanvar_2d_int64_axis0 + * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -24890,28 +24890,28 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1091 - * nanvar_dict[(2, NPY_int, None)] = nanvar_2d_int_axisNone - * nanvar_dict[(2, NPY_int8, None)] = nanvar_2d_int8_axisNone - * nanvar_dict[(2, NPY_int32, None)] = nanvar_2d_int32_axisNone # <<<<<<<<<<<<<< - * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone + * nanvar_dict[(2, NPY_int32, 0)] = nanvar_2d_int32_axis0 + * nanvar_dict[(2, NPY_int32, 1)] = nanvar_2d_int32_axis1 + * nanvar_dict[(2, NPY_int64, 0)] = nanvar_2d_int64_axis0 # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -24920,22 +24920,22 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1092 - * nanvar_dict[(2, NPY_int8, None)] = nanvar_2d_int8_axisNone - * nanvar_dict[(2, NPY_int32, None)] = nanvar_2d_int32_axisNone - * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone # <<<<<<<<<<<<<< + * nanvar_dict[(2, NPY_int32, 1)] = nanvar_2d_int32_axis1 + * nanvar_dict[(2, NPY_int64, 0)] = nanvar_2d_int64_axis0 + * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nanvar_slow_axis0(arr, ddof): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanvar_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_6nanvar_nanvar_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -24950,16 +24950,16 @@ PyMODINIT_FUNC PyInit_nanvar(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_6nanvar_nanvar_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nanvar.pyx":1094 - * nanvar_dict[(2, NPY_int64, None)] = nanvar_2d_int64_axisNone + * nanvar_dict[(2, NPY_int64, 1)] = nanvar_2d_int64_axis1 * * def nanvar_slow_axis0(arr, ddof): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanvar along axis 0." @@ -25933,7 +25933,7 @@ PyMODINIT_FUNC PyInit_nanvar(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/nn.c b/bottlechest/src/func/64bit/nn.c index 7998ed55fd..79a3370051 100644 --- a/bottlechest/src/func/64bit/nn.c +++ b/bottlechest/src/func/64bit/nn.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1096,13 +1096,13 @@ static __pyx_t_5numpy_float32_t __pyx_v_2nn_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_2nn_MAXfloat64; static PyObject *__pyx_v_2nn_nn_dict = 0; static PyObject *__pyx_v_2nn_nn_slow_dict = 0; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "nn" int __pyx_module_is_main_nn = 0; @@ -1114,20 +1114,20 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_2nn_nn(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_arr0, int __pyx_v_axis); /* proto */ static PyObject *__pyx_pf_2nn_2nn_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_arr0, int __pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_2nn_4nn_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_6nn_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_8nn_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_10nn_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_12nn_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_14nn_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_16nn_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_18nn_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_20nn_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_22nn_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_24nn_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_26nn_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_28nn_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ -static PyObject *__pyx_pf_2nn_30nn_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_4nn_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_6nn_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_8nn_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_10nn_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_12nn_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_14nn_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_16nn_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_18nn_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_20nn_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_22nn_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_24nn_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_26nn_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_28nn_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ +static PyObject *__pyx_pf_2nn_30nn_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0); /* proto */ static PyObject *__pyx_pf_2nn_32nn_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_arr0); /* proto */ static PyObject *__pyx_pf_2nn_34nn_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_arr0); /* proto */ static PyObject *__pyx_pf_2nn_36nn_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_arr0); /* proto */ @@ -1296,17 +1296,16 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Distance_of_nearest_neighbor_an[] = "\n Distance of nearest neighbor (and its index) along specified axis.\n\n The Euclidian distance between `arr0` and its nearest neighbor in\n `arr` is returned along with the index of the nearest neighbor in\n `arr`.\n\n The squared distance used to determine the nearest neighbor of `arr0`\n is equivalent to np.sum((arr - arr0) ** 2), axis) where `arr` is 2d\n and `arr0` is 1d and `arr0` must be reshaped if `axis` is 1.\n\n If all distances are NaN then the distance returned is NaN and the\n index is zero.\n\n Parameters\n ----------\n arr : array_like\n A 2d array. If `arr` is not an array, a conversion is attempted.\n arr0 : array_like\n A 1d array. If `arr0` is not an array, a conversion is attempted.\n axis : int, optional\n Axis along which the distance is computed. The default (axis=1)\n is to compute the distance along rows.\n\n Returns\n -------\n dist : np.float64\n The Euclidian distance between `arr0` and the nearest neighbor\n in `arr`. If all distances are NaN then the distance returned\n is NaN.\n idx : int\n Index of nearest neighbor in `arr`. If all distances are NaN\n then the index returned is zero.\n\n See also\n --------\n bottlechest.ss: Sum of squares along specified axis.\n\n Notes\n -----\n A brute force algorithm is used to find the nearest neighbor.\n\n Depending on the shapes of `arr` and `arr0`, SciPy's cKDTree may\n be faster than bn.nn(). So benchmark if speed is important.\n \n The relative speed also depends on how many times you will use\n the same array `arr` to find nearest neighbors with different\n `arr0`. That is because it takes time to set up SciPy's cKDTree.\n\n Examples\n --------\n Create the input arrays:\n\n >>> arr = np.array([[1, 2], [3, 4]])\n >>> arr0 = np.array([2, 4])\n\n Find nearest neighbor of `arr0` in `arr` along axis 1:\n\n >>> dist, idx ="" bn.nn(arr, arr0, axis=1)\n >>> dist\n 1.0\n >>> idx\n 1\n\n Find nearest neighbor of `arr0` in `arr` along axis 0:\n\n >>> dist, idx = bn.nn(arr, arr0, axis=0)\n >>> dist\n 0.0\n >>> idx\n 1\n \n "; static char __pyx_k_Return_nn_function_and_arrays_U[] = "\n Return nn function and arrays.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of dtype, and axis. A lot of the overhead in bn.nn() is in\n checking that `axis` is within range, converting `arr` into an array\n (if it is not already an array), and selecting the function to use to\n find the nearest neighbor.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using this function.\n\n Parameters\n ----------\n arr : array_like\n A 2d array. If `arr` is not an array, a conversion is attempted.\n arr0 : array_like\n A 1d array. If `arr0` is not an array, a conversion is attempted.\n axis : int, optional\n Axis along which the distance is computed. The default (axis=1)\n is to compute the distance along rows.\n\n Returns\n -------\n func : function\n The nn function that is appropriate to use with the given input.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n a0 : ndarray\n If the input array `arr0` is not a ndarray, then `a0` will contain the\n result of converting `arr0` into a ndarray.\n\n Examples\n --------\n Create the input arrays:\n\n >>> arr = np.array([[1, 2], [3, 4]])\n >>> arr0 = np.array([2, 4])\n \n Obtain the function needed to find the nearest neighbor of `arr0`\n in `arr0` along axis 0:\n\n >>> func, a, a0 = bn.func.nn_selector(arr, arr0, axis=0)\n >>> func\n \n \n Use the returned function and arrays to determine the nearest\n neighbor:\n\n >>> dist, idx = func(a, a0)\n >>> dist\n 0.0\n >>> idx\n 1\n\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/nn.pyx"; static char __pyx_k_a0_must_match_size_of_a_along_s[] = "`a0` must match size of `a` along specified axis"; static char __pyx_k_arr_and_arr0_must_be_of_the_sam[] = "`arr` and `arr0` must be of the same dtype."; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\nn.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_u_Distance_of_nearest_neighbor_an; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; @@ -1320,6 +1319,7 @@ static PyObject *__pyx_kp_u_Return_nn_function_and_arrays_U; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__24; static PyObject *__pyx_n_s_a; @@ -2587,16 +2587,16 @@ static PyObject *__pyx_pf_2nn_2nn_selector(CYTHON_UNUSED PyObject *__pyx_self, P /* "nn.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0." + * def nn_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_5nn_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_4nn_2d_int_axis0[] = "nn_2d_int_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0."; -static PyMethodDef __pyx_mdef_2nn_5nn_2d_int_axis0 = {"nn_2d_int_axis0", (PyCFunction)__pyx_pw_2nn_5nn_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_4nn_2d_int_axis0}; -static PyObject *__pyx_pw_2nn_5nn_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_5nn_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_4nn_2d_float_axis0[] = "nn_2d_float_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0."; +static PyMethodDef __pyx_mdef_2nn_5nn_2d_float_axis0 = {"nn_2d_float_axis0", (PyCFunction)__pyx_pw_2nn_5nn_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_4nn_2d_float_axis0}; +static PyObject *__pyx_pw_2nn_5nn_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -2604,7 +2604,7 @@ static PyObject *__pyx_pw_2nn_5nn_2d_int_axis0(PyObject *__pyx_self, PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -2625,11 +2625,11 @@ static PyObject *__pyx_pw_2nn_5nn_2d_int_axis0(PyObject *__pyx_self, PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -2642,15 +2642,15 @@ static PyObject *__pyx_pw_2nn_5nn_2d_int_axis0(PyObject *__pyx_self, PyObject *_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_4nn_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_4nn_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -2661,7 +2661,7 @@ static PyObject *__pyx_pw_2nn_5nn_2d_int_axis0(PyObject *__pyx_self, PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_2nn_4nn_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_4nn_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -2694,7 +2694,7 @@ static PyObject *__pyx_pf_2nn_4nn_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("nn_2d_float_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -2705,17 +2705,17 @@ static PyObject *__pyx_pf_2nn_4nn_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":246 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -2841,7 +2841,7 @@ static PyObject *__pyx_pf_2nn_4nn_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i0; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":260 * for i0 in range(n0): @@ -2954,9 +2954,9 @@ static PyObject *__pyx_pf_2nn_4nn_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel /* "nn.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0." + * def nn_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0." */ /* function exit code */ @@ -2969,7 +2969,7 @@ static PyObject *__pyx_pf_2nn_4nn_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2984,16 +2984,16 @@ static PyObject *__pyx_pf_2nn_4nn_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel /* "nn.pyx":273 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1." + * def nn_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_7nn_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_6nn_2d_int_axis1[] = "nn_2d_int_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1."; -static PyMethodDef __pyx_mdef_2nn_7nn_2d_int_axis1 = {"nn_2d_int_axis1", (PyCFunction)__pyx_pw_2nn_7nn_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_6nn_2d_int_axis1}; -static PyObject *__pyx_pw_2nn_7nn_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_7nn_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_6nn_2d_float_axis1[] = "nn_2d_float_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1."; +static PyMethodDef __pyx_mdef_2nn_7nn_2d_float_axis1 = {"nn_2d_float_axis1", (PyCFunction)__pyx_pw_2nn_7nn_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_6nn_2d_float_axis1}; +static PyObject *__pyx_pw_2nn_7nn_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -3001,7 +3001,7 @@ static PyObject *__pyx_pw_2nn_7nn_2d_int_axis1(PyObject *__pyx_self, PyObject *_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_int_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_float_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -3022,11 +3022,11 @@ static PyObject *__pyx_pw_2nn_7nn_2d_int_axis1(PyObject *__pyx_self, PyObject *_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3039,15 +3039,15 @@ static PyObject *__pyx_pw_2nn_7nn_2d_int_axis1(PyObject *__pyx_self, PyObject *_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_6nn_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_6nn_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -3058,7 +3058,7 @@ static PyObject *__pyx_pw_2nn_7nn_2d_int_axis1(PyObject *__pyx_self, PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_2nn_6nn_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_6nn_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -3091,7 +3091,7 @@ static PyObject *__pyx_pf_2nn_6nn_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("nn_2d_float_axis1", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -3102,17 +3102,17 @@ static PyObject *__pyx_pf_2nn_6nn_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":277 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -3238,7 +3238,7 @@ static PyObject *__pyx_pf_2nn_6nn_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i1; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":291 * for i1 in range(n1): @@ -3351,9 +3351,9 @@ static PyObject *__pyx_pf_2nn_6nn_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel /* "nn.pyx":273 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1." + * def nn_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1." */ /* function exit code */ @@ -3366,7 +3366,7 @@ static PyObject *__pyx_pf_2nn_6nn_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3381,16 +3381,16 @@ static PyObject *__pyx_pf_2nn_6nn_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel /* "nn.pyx":304 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0." + * def nn_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_9nn_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_8nn_2d_int8_axis0[] = "nn_2d_int8_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0."; -static PyMethodDef __pyx_mdef_2nn_9nn_2d_int8_axis0 = {"nn_2d_int8_axis0", (PyCFunction)__pyx_pw_2nn_9nn_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_8nn_2d_int8_axis0}; -static PyObject *__pyx_pw_2nn_9nn_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_9nn_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_8nn_2d_float32_axis0[] = "nn_2d_float32_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0."; +static PyMethodDef __pyx_mdef_2nn_9nn_2d_float32_axis0 = {"nn_2d_float32_axis0", (PyCFunction)__pyx_pw_2nn_9nn_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_8nn_2d_float32_axis0}; +static PyObject *__pyx_pw_2nn_9nn_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -3398,7 +3398,7 @@ static PyObject *__pyx_pw_2nn_9nn_2d_int8_axis0(PyObject *__pyx_self, PyObject * int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -3419,11 +3419,11 @@ static PyObject *__pyx_pw_2nn_9nn_2d_int8_axis0(PyObject *__pyx_self, PyObject * case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3436,15 +3436,15 @@ static PyObject *__pyx_pw_2nn_9nn_2d_int8_axis0(PyObject *__pyx_self, PyObject * } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_8nn_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_8nn_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -3455,7 +3455,7 @@ static PyObject *__pyx_pw_2nn_9nn_2d_int8_axis0(PyObject *__pyx_self, PyObject * return __pyx_r; } -static PyObject *__pyx_pf_2nn_8nn_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_8nn_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -3488,7 +3488,7 @@ static PyObject *__pyx_pf_2nn_8nn_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("nn_2d_float32_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -3499,17 +3499,17 @@ static PyObject *__pyx_pf_2nn_8nn_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":308 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -3635,7 +3635,7 @@ static PyObject *__pyx_pf_2nn_8nn_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i0; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":322 * for i0 in range(n0): @@ -3748,9 +3748,9 @@ static PyObject *__pyx_pf_2nn_8nn_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se /* "nn.pyx":304 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0." + * def nn_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0." */ /* function exit code */ @@ -3763,7 +3763,7 @@ static PyObject *__pyx_pf_2nn_8nn_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3778,16 +3778,16 @@ static PyObject *__pyx_pf_2nn_8nn_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se /* "nn.pyx":335 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1." + * def nn_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_11nn_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_10nn_2d_int8_axis1[] = "nn_2d_int8_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1."; -static PyMethodDef __pyx_mdef_2nn_11nn_2d_int8_axis1 = {"nn_2d_int8_axis1", (PyCFunction)__pyx_pw_2nn_11nn_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_10nn_2d_int8_axis1}; -static PyObject *__pyx_pw_2nn_11nn_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_11nn_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_10nn_2d_float32_axis1[] = "nn_2d_float32_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1."; +static PyMethodDef __pyx_mdef_2nn_11nn_2d_float32_axis1 = {"nn_2d_float32_axis1", (PyCFunction)__pyx_pw_2nn_11nn_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_10nn_2d_float32_axis1}; +static PyObject *__pyx_pw_2nn_11nn_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -3795,7 +3795,7 @@ static PyObject *__pyx_pw_2nn_11nn_2d_int8_axis1(PyObject *__pyx_self, PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_int8_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_float32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -3816,11 +3816,11 @@ static PyObject *__pyx_pw_2nn_11nn_2d_int8_axis1(PyObject *__pyx_self, PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3833,15 +3833,15 @@ static PyObject *__pyx_pw_2nn_11nn_2d_int8_axis1(PyObject *__pyx_self, PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_10nn_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_10nn_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -3852,7 +3852,7 @@ static PyObject *__pyx_pw_2nn_11nn_2d_int8_axis1(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2nn_10nn_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_10nn_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -3885,7 +3885,7 @@ static PyObject *__pyx_pf_2nn_10nn_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("nn_2d_float32_axis1", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -3896,17 +3896,17 @@ static PyObject *__pyx_pf_2nn_10nn_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":339 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -4032,7 +4032,7 @@ static PyObject *__pyx_pf_2nn_10nn_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i1; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":353 * for i1 in range(n1): @@ -4145,9 +4145,9 @@ static PyObject *__pyx_pf_2nn_10nn_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s /* "nn.pyx":335 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1." + * def nn_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1." */ /* function exit code */ @@ -4160,7 +4160,7 @@ static PyObject *__pyx_pf_2nn_10nn_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4175,16 +4175,16 @@ static PyObject *__pyx_pf_2nn_10nn_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s /* "nn.pyx":366 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0." + * def nn_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_13nn_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_12nn_2d_int32_axis0[] = "nn_2d_int32_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0."; -static PyMethodDef __pyx_mdef_2nn_13nn_2d_int32_axis0 = {"nn_2d_int32_axis0", (PyCFunction)__pyx_pw_2nn_13nn_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_12nn_2d_int32_axis0}; -static PyObject *__pyx_pw_2nn_13nn_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_13nn_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_12nn_2d_float64_axis0[] = "nn_2d_float64_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0."; +static PyMethodDef __pyx_mdef_2nn_13nn_2d_float64_axis0 = {"nn_2d_float64_axis0", (PyCFunction)__pyx_pw_2nn_13nn_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_12nn_2d_float64_axis0}; +static PyObject *__pyx_pw_2nn_13nn_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -4192,7 +4192,7 @@ static PyObject *__pyx_pw_2nn_13nn_2d_int32_axis0(PyObject *__pyx_self, PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -4213,11 +4213,11 @@ static PyObject *__pyx_pw_2nn_13nn_2d_int32_axis0(PyObject *__pyx_self, PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4230,15 +4230,15 @@ static PyObject *__pyx_pw_2nn_13nn_2d_int32_axis0(PyObject *__pyx_self, PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_12nn_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_12nn_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -4249,7 +4249,7 @@ static PyObject *__pyx_pw_2nn_13nn_2d_int32_axis0(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2nn_12nn_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_12nn_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -4282,7 +4282,7 @@ static PyObject *__pyx_pf_2nn_12nn_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("nn_2d_float64_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -4293,17 +4293,17 @@ static PyObject *__pyx_pf_2nn_12nn_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":370 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -4429,7 +4429,7 @@ static PyObject *__pyx_pf_2nn_12nn_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i0; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":384 * for i0 in range(n0): @@ -4542,9 +4542,9 @@ static PyObject *__pyx_pf_2nn_12nn_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":366 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0." + * def nn_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0." */ /* function exit code */ @@ -4557,7 +4557,7 @@ static PyObject *__pyx_pf_2nn_12nn_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4572,16 +4572,16 @@ static PyObject *__pyx_pf_2nn_12nn_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":397 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1." + * def nn_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_15nn_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_14nn_2d_int32_axis1[] = "nn_2d_int32_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1."; -static PyMethodDef __pyx_mdef_2nn_15nn_2d_int32_axis1 = {"nn_2d_int32_axis1", (PyCFunction)__pyx_pw_2nn_15nn_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_14nn_2d_int32_axis1}; -static PyObject *__pyx_pw_2nn_15nn_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_15nn_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_14nn_2d_float64_axis1[] = "nn_2d_float64_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1."; +static PyMethodDef __pyx_mdef_2nn_15nn_2d_float64_axis1 = {"nn_2d_float64_axis1", (PyCFunction)__pyx_pw_2nn_15nn_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_14nn_2d_float64_axis1}; +static PyObject *__pyx_pw_2nn_15nn_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -4589,7 +4589,7 @@ static PyObject *__pyx_pw_2nn_15nn_2d_int32_axis1(PyObject *__pyx_self, PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_int32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_float64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -4610,11 +4610,11 @@ static PyObject *__pyx_pw_2nn_15nn_2d_int32_axis1(PyObject *__pyx_self, PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4627,15 +4627,15 @@ static PyObject *__pyx_pw_2nn_15nn_2d_int32_axis1(PyObject *__pyx_self, PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_14nn_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_14nn_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -4646,7 +4646,7 @@ static PyObject *__pyx_pw_2nn_15nn_2d_int32_axis1(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2nn_14nn_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_14nn_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -4679,7 +4679,7 @@ static PyObject *__pyx_pf_2nn_14nn_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("nn_2d_float64_axis1", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -4690,17 +4690,17 @@ static PyObject *__pyx_pf_2nn_14nn_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":401 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -4826,7 +4826,7 @@ static PyObject *__pyx_pf_2nn_14nn_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i1; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":415 * for i1 in range(n1): @@ -4939,9 +4939,9 @@ static PyObject *__pyx_pf_2nn_14nn_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":397 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1." + * def nn_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1." */ /* function exit code */ @@ -4954,7 +4954,7 @@ static PyObject *__pyx_pf_2nn_14nn_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4969,16 +4969,16 @@ static PyObject *__pyx_pf_2nn_14nn_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":428 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0." + * def nn_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_17nn_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_16nn_2d_int64_axis0[] = "nn_2d_int64_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0."; -static PyMethodDef __pyx_mdef_2nn_17nn_2d_int64_axis0 = {"nn_2d_int64_axis0", (PyCFunction)__pyx_pw_2nn_17nn_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_16nn_2d_int64_axis0}; -static PyObject *__pyx_pw_2nn_17nn_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_17nn_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_16nn_2d_int_axis0[] = "nn_2d_int_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0."; +static PyMethodDef __pyx_mdef_2nn_17nn_2d_int_axis0 = {"nn_2d_int_axis0", (PyCFunction)__pyx_pw_2nn_17nn_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_16nn_2d_int_axis0}; +static PyObject *__pyx_pw_2nn_17nn_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -4986,7 +4986,7 @@ static PyObject *__pyx_pw_2nn_17nn_2d_int64_axis0(PyObject *__pyx_self, PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_int_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -5007,11 +5007,11 @@ static PyObject *__pyx_pw_2nn_17nn_2d_int64_axis0(PyObject *__pyx_self, PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5024,15 +5024,15 @@ static PyObject *__pyx_pw_2nn_17nn_2d_int64_axis0(PyObject *__pyx_self, PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_16nn_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_16nn_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -5043,7 +5043,7 @@ static PyObject *__pyx_pw_2nn_17nn_2d_int64_axis0(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2nn_16nn_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_16nn_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -5076,7 +5076,7 @@ static PyObject *__pyx_pf_2nn_16nn_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_int64_axis0", 0); + __Pyx_RefNannySetupContext("nn_2d_int_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -5087,17 +5087,17 @@ static PyObject *__pyx_pf_2nn_16nn_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_ __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":432 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -5223,7 +5223,7 @@ static PyObject *__pyx_pf_2nn_16nn_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i0; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":446 * for i0 in range(n0): @@ -5336,9 +5336,9 @@ static PyObject *__pyx_pf_2nn_16nn_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":428 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0." + * def nn_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0." */ /* function exit code */ @@ -5351,7 +5351,7 @@ static PyObject *__pyx_pf_2nn_16nn_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5366,16 +5366,16 @@ static PyObject *__pyx_pf_2nn_16nn_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":459 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1." + * def nn_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_19nn_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_18nn_2d_int64_axis1[] = "nn_2d_int64_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1."; -static PyMethodDef __pyx_mdef_2nn_19nn_2d_int64_axis1 = {"nn_2d_int64_axis1", (PyCFunction)__pyx_pw_2nn_19nn_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_18nn_2d_int64_axis1}; -static PyObject *__pyx_pw_2nn_19nn_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_19nn_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_18nn_2d_int_axis1[] = "nn_2d_int_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1."; +static PyMethodDef __pyx_mdef_2nn_19nn_2d_int_axis1 = {"nn_2d_int_axis1", (PyCFunction)__pyx_pw_2nn_19nn_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_18nn_2d_int_axis1}; +static PyObject *__pyx_pw_2nn_19nn_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -5383,7 +5383,7 @@ static PyObject *__pyx_pw_2nn_19nn_2d_int64_axis1(PyObject *__pyx_self, PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_int64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_int_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -5404,11 +5404,11 @@ static PyObject *__pyx_pw_2nn_19nn_2d_int64_axis1(PyObject *__pyx_self, PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5421,15 +5421,15 @@ static PyObject *__pyx_pw_2nn_19nn_2d_int64_axis1(PyObject *__pyx_self, PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_18nn_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_18nn_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -5440,7 +5440,7 @@ static PyObject *__pyx_pw_2nn_19nn_2d_int64_axis1(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2nn_18nn_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_18nn_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -5473,7 +5473,7 @@ static PyObject *__pyx_pf_2nn_18nn_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_int64_axis1", 0); + __Pyx_RefNannySetupContext("nn_2d_int_axis1", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -5484,17 +5484,17 @@ static PyObject *__pyx_pf_2nn_18nn_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_ __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":463 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -5620,7 +5620,7 @@ static PyObject *__pyx_pf_2nn_18nn_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i1; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":477 * for i1 in range(n1): @@ -5733,9 +5733,9 @@ static PyObject *__pyx_pf_2nn_18nn_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":459 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1." + * def nn_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1." */ /* function exit code */ @@ -5748,7 +5748,7 @@ static PyObject *__pyx_pf_2nn_18nn_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5763,16 +5763,16 @@ static PyObject *__pyx_pf_2nn_18nn_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":490 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0." + * def nn_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_21nn_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_20nn_2d_float_axis0[] = "nn_2d_float_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0."; -static PyMethodDef __pyx_mdef_2nn_21nn_2d_float_axis0 = {"nn_2d_float_axis0", (PyCFunction)__pyx_pw_2nn_21nn_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_20nn_2d_float_axis0}; -static PyObject *__pyx_pw_2nn_21nn_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_21nn_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_20nn_2d_int8_axis0[] = "nn_2d_int8_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0."; +static PyMethodDef __pyx_mdef_2nn_21nn_2d_int8_axis0 = {"nn_2d_int8_axis0", (PyCFunction)__pyx_pw_2nn_21nn_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_20nn_2d_int8_axis0}; +static PyObject *__pyx_pw_2nn_21nn_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -5780,7 +5780,7 @@ static PyObject *__pyx_pw_2nn_21nn_2d_float_axis0(PyObject *__pyx_self, PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_int8_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -5801,11 +5801,11 @@ static PyObject *__pyx_pw_2nn_21nn_2d_float_axis0(PyObject *__pyx_self, PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5818,15 +5818,15 @@ static PyObject *__pyx_pw_2nn_21nn_2d_float_axis0(PyObject *__pyx_self, PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_20nn_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_20nn_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -5837,7 +5837,7 @@ static PyObject *__pyx_pw_2nn_21nn_2d_float_axis0(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2nn_20nn_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_20nn_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -5870,7 +5870,7 @@ static PyObject *__pyx_pf_2nn_20nn_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_float_axis0", 0); + __Pyx_RefNannySetupContext("nn_2d_int8_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -5881,17 +5881,17 @@ static PyObject *__pyx_pf_2nn_20nn_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_ __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":494 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -6017,7 +6017,7 @@ static PyObject *__pyx_pf_2nn_20nn_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i0; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":508 * for i0 in range(n0): @@ -6130,9 +6130,9 @@ static PyObject *__pyx_pf_2nn_20nn_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":490 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0." + * def nn_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0." */ /* function exit code */ @@ -6145,7 +6145,7 @@ static PyObject *__pyx_pf_2nn_20nn_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6160,16 +6160,16 @@ static PyObject *__pyx_pf_2nn_20nn_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":521 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1." + * def nn_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_23nn_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_22nn_2d_float_axis1[] = "nn_2d_float_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1."; -static PyMethodDef __pyx_mdef_2nn_23nn_2d_float_axis1 = {"nn_2d_float_axis1", (PyCFunction)__pyx_pw_2nn_23nn_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_22nn_2d_float_axis1}; -static PyObject *__pyx_pw_2nn_23nn_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_23nn_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_22nn_2d_int8_axis1[] = "nn_2d_int8_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1."; +static PyMethodDef __pyx_mdef_2nn_23nn_2d_int8_axis1 = {"nn_2d_int8_axis1", (PyCFunction)__pyx_pw_2nn_23nn_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_22nn_2d_int8_axis1}; +static PyObject *__pyx_pw_2nn_23nn_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -6177,7 +6177,7 @@ static PyObject *__pyx_pw_2nn_23nn_2d_float_axis1(PyObject *__pyx_self, PyObject int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_int8_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -6198,11 +6198,11 @@ static PyObject *__pyx_pw_2nn_23nn_2d_float_axis1(PyObject *__pyx_self, PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6215,15 +6215,15 @@ static PyObject *__pyx_pw_2nn_23nn_2d_float_axis1(PyObject *__pyx_self, PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_22nn_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_22nn_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -6234,7 +6234,7 @@ static PyObject *__pyx_pw_2nn_23nn_2d_float_axis1(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2nn_22nn_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_22nn_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -6267,7 +6267,7 @@ static PyObject *__pyx_pf_2nn_22nn_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_float_axis1", 0); + __Pyx_RefNannySetupContext("nn_2d_int8_axis1", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -6278,17 +6278,17 @@ static PyObject *__pyx_pf_2nn_22nn_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_ __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":525 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -6414,7 +6414,7 @@ static PyObject *__pyx_pf_2nn_22nn_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_ __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i1; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":539 * for i1 in range(n1): @@ -6527,9 +6527,9 @@ static PyObject *__pyx_pf_2nn_22nn_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":521 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1." + * def nn_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1." */ /* function exit code */ @@ -6542,7 +6542,7 @@ static PyObject *__pyx_pf_2nn_22nn_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6557,16 +6557,16 @@ static PyObject *__pyx_pf_2nn_22nn_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_ /* "nn.pyx":552 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0." + * def nn_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_25nn_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_24nn_2d_float32_axis0[] = "nn_2d_float32_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0."; -static PyMethodDef __pyx_mdef_2nn_25nn_2d_float32_axis0 = {"nn_2d_float32_axis0", (PyCFunction)__pyx_pw_2nn_25nn_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_24nn_2d_float32_axis0}; -static PyObject *__pyx_pw_2nn_25nn_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_25nn_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_24nn_2d_int32_axis0[] = "nn_2d_int32_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0."; +static PyMethodDef __pyx_mdef_2nn_25nn_2d_int32_axis0 = {"nn_2d_int32_axis0", (PyCFunction)__pyx_pw_2nn_25nn_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_24nn_2d_int32_axis0}; +static PyObject *__pyx_pw_2nn_25nn_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -6574,7 +6574,7 @@ static PyObject *__pyx_pw_2nn_25nn_2d_float32_axis0(PyObject *__pyx_self, PyObje int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_int32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -6595,11 +6595,11 @@ static PyObject *__pyx_pw_2nn_25nn_2d_float32_axis0(PyObject *__pyx_self, PyObje case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6612,15 +6612,15 @@ static PyObject *__pyx_pw_2nn_25nn_2d_float32_axis0(PyObject *__pyx_self, PyObje } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_24nn_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_24nn_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -6631,7 +6631,7 @@ static PyObject *__pyx_pw_2nn_25nn_2d_float32_axis0(PyObject *__pyx_self, PyObje return __pyx_r; } -static PyObject *__pyx_pf_2nn_24nn_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_24nn_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -6664,7 +6664,7 @@ static PyObject *__pyx_pf_2nn_24nn_2d_float32_axis0(CYTHON_UNUSED PyObject *__py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_float32_axis0", 0); + __Pyx_RefNannySetupContext("nn_2d_int32_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -6675,17 +6675,17 @@ static PyObject *__pyx_pf_2nn_24nn_2d_float32_axis0(CYTHON_UNUSED PyObject *__py __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":556 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -6811,7 +6811,7 @@ static PyObject *__pyx_pf_2nn_24nn_2d_float32_axis0(CYTHON_UNUSED PyObject *__py __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i0; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":570 * for i0 in range(n0): @@ -6924,9 +6924,9 @@ static PyObject *__pyx_pf_2nn_24nn_2d_float32_axis0(CYTHON_UNUSED PyObject *__py /* "nn.pyx":552 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0." + * def nn_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0." */ /* function exit code */ @@ -6939,7 +6939,7 @@ static PyObject *__pyx_pf_2nn_24nn_2d_float32_axis0(CYTHON_UNUSED PyObject *__py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6954,16 +6954,16 @@ static PyObject *__pyx_pf_2nn_24nn_2d_float32_axis0(CYTHON_UNUSED PyObject *__py /* "nn.pyx":583 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1." + * def nn_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_27nn_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_26nn_2d_float32_axis1[] = "nn_2d_float32_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1."; -static PyMethodDef __pyx_mdef_2nn_27nn_2d_float32_axis1 = {"nn_2d_float32_axis1", (PyCFunction)__pyx_pw_2nn_27nn_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_26nn_2d_float32_axis1}; -static PyObject *__pyx_pw_2nn_27nn_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_27nn_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_26nn_2d_int32_axis1[] = "nn_2d_int32_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1."; +static PyMethodDef __pyx_mdef_2nn_27nn_2d_int32_axis1 = {"nn_2d_int32_axis1", (PyCFunction)__pyx_pw_2nn_27nn_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_26nn_2d_int32_axis1}; +static PyObject *__pyx_pw_2nn_27nn_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -6971,7 +6971,7 @@ static PyObject *__pyx_pw_2nn_27nn_2d_float32_axis1(PyObject *__pyx_self, PyObje int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_int32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -6992,11 +6992,11 @@ static PyObject *__pyx_pw_2nn_27nn_2d_float32_axis1(PyObject *__pyx_self, PyObje case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7009,15 +7009,15 @@ static PyObject *__pyx_pw_2nn_27nn_2d_float32_axis1(PyObject *__pyx_self, PyObje } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_26nn_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_26nn_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -7028,7 +7028,7 @@ static PyObject *__pyx_pw_2nn_27nn_2d_float32_axis1(PyObject *__pyx_self, PyObje return __pyx_r; } -static PyObject *__pyx_pf_2nn_26nn_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_26nn_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -7061,7 +7061,7 @@ static PyObject *__pyx_pf_2nn_26nn_2d_float32_axis1(CYTHON_UNUSED PyObject *__py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_float32_axis1", 0); + __Pyx_RefNannySetupContext("nn_2d_int32_axis1", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -7072,17 +7072,17 @@ static PyObject *__pyx_pf_2nn_26nn_2d_float32_axis1(CYTHON_UNUSED PyObject *__py __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":587 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -7208,7 +7208,7 @@ static PyObject *__pyx_pf_2nn_26nn_2d_float32_axis1(CYTHON_UNUSED PyObject *__py __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i1; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":601 * for i1 in range(n1): @@ -7321,9 +7321,9 @@ static PyObject *__pyx_pf_2nn_26nn_2d_float32_axis1(CYTHON_UNUSED PyObject *__py /* "nn.pyx":583 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1." + * def nn_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1." */ /* function exit code */ @@ -7336,7 +7336,7 @@ static PyObject *__pyx_pf_2nn_26nn_2d_float32_axis1(CYTHON_UNUSED PyObject *__py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7351,16 +7351,16 @@ static PyObject *__pyx_pf_2nn_26nn_2d_float32_axis1(CYTHON_UNUSED PyObject *__py /* "nn.pyx":614 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0." + * def nn_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_29nn_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_28nn_2d_float64_axis0[] = "nn_2d_float64_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0."; -static PyMethodDef __pyx_mdef_2nn_29nn_2d_float64_axis0 = {"nn_2d_float64_axis0", (PyCFunction)__pyx_pw_2nn_29nn_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_28nn_2d_float64_axis0}; -static PyObject *__pyx_pw_2nn_29nn_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_29nn_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_28nn_2d_int64_axis0[] = "nn_2d_int64_axis0(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0."; +static PyMethodDef __pyx_mdef_2nn_29nn_2d_int64_axis0 = {"nn_2d_int64_axis0", (PyCFunction)__pyx_pw_2nn_29nn_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_28nn_2d_int64_axis0}; +static PyObject *__pyx_pw_2nn_29nn_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -7368,7 +7368,7 @@ static PyObject *__pyx_pw_2nn_29nn_2d_float64_axis0(PyObject *__pyx_self, PyObje int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_int64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -7389,11 +7389,11 @@ static PyObject *__pyx_pw_2nn_29nn_2d_float64_axis0(PyObject *__pyx_self, PyObje case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7406,15 +7406,15 @@ static PyObject *__pyx_pw_2nn_29nn_2d_float64_axis0(PyObject *__pyx_self, PyObje } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_28nn_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_28nn_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -7425,7 +7425,7 @@ static PyObject *__pyx_pw_2nn_29nn_2d_float64_axis0(PyObject *__pyx_self, PyObje return __pyx_r; } -static PyObject *__pyx_pf_2nn_28nn_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_28nn_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -7458,7 +7458,7 @@ static PyObject *__pyx_pf_2nn_28nn_2d_float64_axis0(CYTHON_UNUSED PyObject *__py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_float64_axis0", 0); + __Pyx_RefNannySetupContext("nn_2d_int64_axis0", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -7469,17 +7469,17 @@ static PyObject *__pyx_pf_2nn_28nn_2d_float64_axis0(CYTHON_UNUSED PyObject *__py __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":618 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -7605,7 +7605,7 @@ static PyObject *__pyx_pf_2nn_28nn_2d_float64_axis0(CYTHON_UNUSED PyObject *__py __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i0; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":632 * for i0 in range(n0): @@ -7718,9 +7718,9 @@ static PyObject *__pyx_pf_2nn_28nn_2d_float64_axis0(CYTHON_UNUSED PyObject *__py /* "nn.pyx":614 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0." + * def nn_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0." */ /* function exit code */ @@ -7733,7 +7733,7 @@ static PyObject *__pyx_pf_2nn_28nn_2d_float64_axis0(CYTHON_UNUSED PyObject *__py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7748,16 +7748,16 @@ static PyObject *__pyx_pf_2nn_28nn_2d_float64_axis0(CYTHON_UNUSED PyObject *__py /* "nn.pyx":645 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1." + * def nn_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1." */ /* Python wrapper */ -static PyObject *__pyx_pw_2nn_31nn_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_2nn_30nn_2d_float64_axis1[] = "nn_2d_float64_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1."; -static PyMethodDef __pyx_mdef_2nn_31nn_2d_float64_axis1 = {"nn_2d_float64_axis1", (PyCFunction)__pyx_pw_2nn_31nn_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_30nn_2d_float64_axis1}; -static PyObject *__pyx_pw_2nn_31nn_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_2nn_31nn_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_2nn_30nn_2d_int64_axis1[] = "nn_2d_int64_axis1(ndarray a, ndarray a0)\nNearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1."; +static PyMethodDef __pyx_mdef_2nn_31nn_2d_int64_axis1 = {"nn_2d_int64_axis1", (PyCFunction)__pyx_pw_2nn_31nn_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_2nn_30nn_2d_int64_axis1}; +static PyObject *__pyx_pw_2nn_31nn_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; PyArrayObject *__pyx_v_a0 = 0; int __pyx_lineno = 0; @@ -7765,7 +7765,7 @@ static PyObject *__pyx_pw_2nn_31nn_2d_float64_axis1(PyObject *__pyx_self, PyObje int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("nn_2d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("nn_2d_int64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_a0,0}; PyObject* values[2] = {0,0}; @@ -7786,11 +7786,11 @@ static PyObject *__pyx_pw_2nn_31nn_2d_float64_axis1(PyObject *__pyx_self, PyObje case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_a0)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("nn_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nn_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7803,15 +7803,15 @@ static PyObject *__pyx_pw_2nn_31nn_2d_float64_axis1(PyObject *__pyx_self, PyObje } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("nn_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("nn_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("nn.nn_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a0), __pyx_ptype_5numpy_ndarray, 1, "a0", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2nn_30nn_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); + __pyx_r = __pyx_pf_2nn_30nn_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_a0); /* function exit code */ goto __pyx_L0; @@ -7822,7 +7822,7 @@ static PyObject *__pyx_pw_2nn_31nn_2d_float64_axis1(PyObject *__pyx_self, PyObje return __pyx_r; } -static PyObject *__pyx_pf_2nn_30nn_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { +static PyObject *__pyx_pf_2nn_30nn_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_a0) { __pyx_t_5numpy_float64_t __pyx_v_xsum; __pyx_t_5numpy_float64_t __pyx_v_d; __pyx_t_5numpy_float64_t __pyx_v_xsummin; @@ -7855,7 +7855,7 @@ static PyObject *__pyx_pf_2nn_30nn_2d_float64_axis1(CYTHON_UNUSED PyObject *__py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("nn_2d_float64_axis1", 0); + __Pyx_RefNannySetupContext("nn_2d_int64_axis1", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; @@ -7866,17 +7866,17 @@ static PyObject *__pyx_pf_2nn_30nn_2d_float64_axis1(CYTHON_UNUSED PyObject *__py __pyx_pybuffernd_a0.rcbuffer = &__pyx_pybuffer_a0; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a0.rcbuffer->pybuffer, (PyObject*)__pyx_v_a0, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a0.diminfo[0].strides = __pyx_pybuffernd_a0.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a0.diminfo[0].shape = __pyx_pybuffernd_a0.rcbuffer->pybuffer.shape[0]; /* "nn.pyx":649 - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1." + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1." * cdef: * np.float64_t xsum = 0, d, xsummin=np.inf, dist # <<<<<<<<<<<<<< * Py_ssize_t imin = -1, n, a0size @@ -8002,7 +8002,7 @@ static PyObject *__pyx_pf_2nn_30nn_2d_float64_axis1(CYTHON_UNUSED PyObject *__py __pyx_t_9 = __pyx_v_i0; __pyx_t_10 = __pyx_v_i1; __pyx_t_11 = __pyx_v_i1; - __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); + __pyx_v_d = ((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_a.diminfo[1].strides)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a0.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a0.diminfo[0].strides))); /* "nn.pyx":663 * for i1 in range(n1): @@ -8115,9 +8115,9 @@ static PyObject *__pyx_pf_2nn_30nn_2d_float64_axis1(CYTHON_UNUSED PyObject *__py /* "nn.pyx":645 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1." + * def nn_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1." */ /* function exit code */ @@ -8130,7 +8130,7 @@ static PyObject *__pyx_pf_2nn_30nn_2d_float64_axis1(CYTHON_UNUSED PyObject *__py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a0.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("nn.nn_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("nn.nn_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8143,7 +8143,7 @@ static PyObject *__pyx_pf_2nn_30nn_2d_float64_axis1(CYTHON_UNUSED PyObject *__py } /* "nn.pyx":690 - * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 + * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 * * def nn_slow_axis0(arr, arr0): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nn along axis 0." @@ -8262,7 +8262,7 @@ static PyObject *__pyx_pf_2nn_32nn_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self goto __pyx_L0; /* "nn.pyx":690 - * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 + * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 * * def nn_slow_axis0(arr, arr0): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nn along axis 0." @@ -12936,7 +12936,7 @@ static PyObject *__pyx_pf_2nn_98nn_slow_axisNone(CYTHON_UNUSED PyObject *__pyx_s return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -12986,7 +12986,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -12999,7 +12999,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -13008,7 +13008,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -13017,7 +13017,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -13026,7 +13026,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -13036,7 +13036,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -13048,7 +13048,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -13059,7 +13059,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -13075,7 +13075,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -13087,7 +13087,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -13101,7 +13101,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -13117,7 +13117,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -13129,7 +13129,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -13143,7 +13143,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -13152,7 +13152,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -13161,7 +13161,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -13171,7 +13171,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -13180,7 +13180,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -13189,7 +13189,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -13200,7 +13200,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -13209,7 +13209,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -13222,7 +13222,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -13231,7 +13231,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -13242,7 +13242,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -13251,7 +13251,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -13260,7 +13260,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -13269,7 +13269,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -13278,7 +13278,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -13290,7 +13290,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -13299,7 +13299,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -13319,7 +13319,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -13335,7 +13335,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -13350,7 +13350,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -13360,7 +13360,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -13370,7 +13370,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -13393,7 +13393,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -13413,7 +13413,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -13427,7 +13427,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -13436,7 +13436,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -13447,7 +13447,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -13458,7 +13458,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -13469,7 +13469,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -13480,7 +13480,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -13491,7 +13491,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -13502,7 +13502,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -13513,7 +13513,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -13524,7 +13524,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -13535,7 +13535,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -13546,7 +13546,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -13557,7 +13557,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -13568,7 +13568,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -13579,7 +13579,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -13590,7 +13590,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -13601,7 +13601,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -13612,7 +13612,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -13624,7 +13624,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -13650,7 +13650,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -13659,7 +13659,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -13671,7 +13671,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -13680,7 +13680,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -13689,7 +13689,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -13698,7 +13698,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -13708,7 +13708,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -13718,7 +13718,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -13750,7 +13750,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -13774,7 +13774,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -13784,7 +13784,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -13796,7 +13796,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -13806,7 +13806,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -13818,7 +13818,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -13830,7 +13830,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -13847,7 +13847,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -13861,7 +13861,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -13880,7 +13880,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -13897,7 +13897,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -13911,7 +13911,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -13930,7 +13930,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13947,7 +13947,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -13961,7 +13961,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13980,7 +13980,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13997,7 +13997,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -14011,7 +14011,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -14030,7 +14030,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -14047,7 +14047,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -14061,7 +14061,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -14080,7 +14080,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -14112,7 +14112,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -14121,7 +14121,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -14130,7 +14130,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -14152,7 +14152,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -14165,7 +14165,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -14204,7 +14204,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -14221,7 +14221,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -14235,7 +14235,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -14258,7 +14258,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -14278,7 +14278,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14292,7 +14292,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -14308,7 +14308,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -14317,7 +14317,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -14326,7 +14326,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -14337,7 +14337,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -14347,7 +14347,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -14357,7 +14357,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -14369,7 +14369,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -14379,7 +14379,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -14393,7 +14393,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -14411,7 +14411,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -14429,7 +14429,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -14447,7 +14447,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -14465,7 +14465,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -14483,7 +14483,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -14501,7 +14501,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -14519,7 +14519,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -14537,7 +14537,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -14555,7 +14555,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -14573,7 +14573,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -14591,7 +14591,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -14609,7 +14609,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -14627,7 +14627,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -14647,7 +14647,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -14667,7 +14667,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -14687,7 +14687,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -14706,7 +14706,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -14729,7 +14729,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -14741,7 +14741,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -14753,7 +14753,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -14763,7 +14763,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -14773,7 +14773,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -14798,7 +14798,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -14813,7 +14813,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -14824,7 +14824,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -14836,7 +14836,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -14845,7 +14845,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -14856,7 +14856,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -14865,7 +14865,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -14874,7 +14874,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -14886,7 +14886,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14900,7 +14900,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -14910,7 +14910,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -14924,7 +14924,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -14935,7 +14935,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14973,7 +14973,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_u_Distance_of_nearest_neighbor_an, __pyx_k_Distance_of_nearest_neighbor_an, sizeof(__pyx_k_Distance_of_nearest_neighbor_an), 0, 1, 0, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, @@ -14987,6 +14986,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__24, __pyx_k__24, sizeof(__pyx_k__24), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -15303,7 +15303,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -15314,7 +15314,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -15325,7 +15325,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -15336,7 +15336,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__20); __Pyx_GIVEREF(__pyx_tuple__20); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -15347,7 +15347,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -15358,7 +15358,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -15390,7 +15390,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__26 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_arr0, __pyx_n_s_axis, __pyx_n_s_func, __pyx_n_s_a, __pyx_n_s_a0); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__26); __Pyx_GIVEREF(__pyx_tuple__26); - __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":145 * return func(a, a0) @@ -15402,178 +15402,178 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__28 = PyTuple_Pack(12, __pyx_n_s_arr, __pyx_n_s_arr0, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_dtype, __pyx_n_s_dtype0, __pyx_n_s_ndim, __pyx_n_s_ndim0, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__28); __Pyx_GIVEREF(__pyx_tuple__28); - __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(3, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_selector, 145, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(3, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_selector, 145, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0." + * def nn_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0." */ __pyx_tuple__30 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30); - __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_int_axis0, 242, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_float_axis0, 242, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":273 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1." + * def nn_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1." */ __pyx_tuple__32 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__32); __Pyx_GIVEREF(__pyx_tuple__32); - __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_int_axis1, 273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_float_axis1, 273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":304 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0." + * def nn_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0." */ __pyx_tuple__34 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__34); __Pyx_GIVEREF(__pyx_tuple__34); - __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_int8_axis0, 304, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_float32_axis0, 304, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":335 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1." + * def nn_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1." */ __pyx_tuple__36 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); - __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_int8_axis1, 335, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_float32_axis1, 335, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":366 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0." + * def nn_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0." */ __pyx_tuple__38 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__38); __Pyx_GIVEREF(__pyx_tuple__38); - __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_int32_axis0, 366, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_float64_axis0, 366, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":397 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1." + * def nn_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1." */ __pyx_tuple__40 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__40); __Pyx_GIVEREF(__pyx_tuple__40); - __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_int32_axis1, 397, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_float64_axis1, 397, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":428 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0." + * def nn_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0." */ __pyx_tuple__42 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__42); __Pyx_GIVEREF(__pyx_tuple__42); - __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_int64_axis0, 428, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_int_axis0, 428, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":459 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1." + * def nn_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1." */ __pyx_tuple__44 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__44); __Pyx_GIVEREF(__pyx_tuple__44); - __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_int64_axis1, 459, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_int_axis1, 459, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":490 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0." + * def nn_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0." */ __pyx_tuple__46 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__46); __Pyx_GIVEREF(__pyx_tuple__46); - __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_float_axis0, 490, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_int8_axis0, 490, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":521 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1." + * def nn_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1." */ __pyx_tuple__48 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__48); __Pyx_GIVEREF(__pyx_tuple__48); - __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_float_axis1, 521, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_int8_axis1, 521, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":552 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0." + * def nn_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0." */ __pyx_tuple__50 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__50); __Pyx_GIVEREF(__pyx_tuple__50); - __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_float32_axis0, 552, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_int32_axis0, 552, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":583 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1." + * def nn_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1." */ __pyx_tuple__52 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__52); __Pyx_GIVEREF(__pyx_tuple__52); - __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_float32_axis1, 583, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_int32_axis1, 583, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":614 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0." + * def nn_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0." */ __pyx_tuple__54 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__54); __Pyx_GIVEREF(__pyx_tuple__54); - __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_float64_axis0, 614, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_int64_axis0, 614, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":645 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1." + * def nn_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1." */ __pyx_tuple__56 = PyTuple_Pack(14, __pyx_n_s_a, __pyx_n_s_a0, __pyx_n_s_xsum, __pyx_n_s_d, __pyx_n_s_xsummin, __pyx_n_s_dist, __pyx_n_s_imin, __pyx_n_s_n, __pyx_n_s_a0size, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__56); __Pyx_GIVEREF(__pyx_tuple__56); - __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_2d_float64_axis1, 645, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(2, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_2d_int64_axis1, 645, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":690 - * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 + * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 * * def nn_slow_axis0(arr, arr0): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nn along axis 0." @@ -15582,7 +15582,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__58 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__58); __Pyx_GIVEREF(__pyx_tuple__58); - __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis0, 690, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis0, 690, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":694 * return bn.slow.nn(arr, arr0, axis=0) @@ -15594,7 +15594,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__60 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__60); __Pyx_GIVEREF(__pyx_tuple__60); - __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis1, 694, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis1, 694, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":698 * return bn.slow.nn(arr, arr0, axis=1) @@ -15606,7 +15606,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__62 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__62); __Pyx_GIVEREF(__pyx_tuple__62); - __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis2, 698, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis2, 698, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":702 * return bn.slow.nn(arr, arr0, axis=2) @@ -15618,7 +15618,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__64 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__64); __Pyx_GIVEREF(__pyx_tuple__64); - __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis3, 702, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis3, 702, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":706 * return bn.slow.nn(arr, arr0, axis=3) @@ -15630,7 +15630,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__66 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__66); __Pyx_GIVEREF(__pyx_tuple__66); - __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis4, 706, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis4, 706, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":710 * return bn.slow.nn(arr, arr0, axis=4) @@ -15642,7 +15642,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__68 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__68); __Pyx_GIVEREF(__pyx_tuple__68); - __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis5, 710, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis5, 710, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":714 * return bn.slow.nn(arr, arr0, axis=5) @@ -15654,7 +15654,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__70 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__70); __Pyx_GIVEREF(__pyx_tuple__70); - __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis6, 714, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis6, 714, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":718 * return bn.slow.nn(arr, arr0, axis=6) @@ -15666,7 +15666,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__72 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__72); __Pyx_GIVEREF(__pyx_tuple__72); - __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis7, 718, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis7, 718, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":722 * return bn.slow.nn(arr, arr0, axis=7) @@ -15678,7 +15678,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__74 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__74); __Pyx_GIVEREF(__pyx_tuple__74); - __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis8, 722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis8, 722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":726 * return bn.slow.nn(arr, arr0, axis=8) @@ -15690,7 +15690,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__76 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__76); __Pyx_GIVEREF(__pyx_tuple__76); - __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis9, 726, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis9, 726, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":730 * return bn.slow.nn(arr, arr0, axis=9) @@ -15702,7 +15702,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__78 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__78); __Pyx_GIVEREF(__pyx_tuple__78); - __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis10, 730, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis10, 730, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":734 * return bn.slow.nn(arr, arr0, axis=10) @@ -15714,7 +15714,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__80 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__80); __Pyx_GIVEREF(__pyx_tuple__80); - __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis11, 734, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis11, 734, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":738 * return bn.slow.nn(arr, arr0, axis=11) @@ -15726,7 +15726,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__82 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__82); __Pyx_GIVEREF(__pyx_tuple__82); - __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis12, 738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis12, 738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":742 * return bn.slow.nn(arr, arr0, axis=12) @@ -15738,7 +15738,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__84 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__84); __Pyx_GIVEREF(__pyx_tuple__84); - __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis13, 742, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis13, 742, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":746 * return bn.slow.nn(arr, arr0, axis=13) @@ -15750,7 +15750,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__86 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__86); __Pyx_GIVEREF(__pyx_tuple__86); - __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis14, 746, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis14, 746, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":750 * return bn.slow.nn(arr, arr0, axis=14) @@ -15762,7 +15762,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__88 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__88); __Pyx_GIVEREF(__pyx_tuple__88); - __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis15, 750, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis15, 750, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":754 * return bn.slow.nn(arr, arr0, axis=15) @@ -15774,7 +15774,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__90 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__90); __Pyx_GIVEREF(__pyx_tuple__90); - __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis16, 754, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis16, 754, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":758 * return bn.slow.nn(arr, arr0, axis=16) @@ -15786,7 +15786,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__92 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__92); __Pyx_GIVEREF(__pyx_tuple__92); - __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis17, 758, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis17, 758, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":762 * return bn.slow.nn(arr, arr0, axis=17) @@ -15798,7 +15798,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__94 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__94); __Pyx_GIVEREF(__pyx_tuple__94); - __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis18, 762, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis18, 762, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":766 * return bn.slow.nn(arr, arr0, axis=18) @@ -15810,7 +15810,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__96 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__96); __Pyx_GIVEREF(__pyx_tuple__96); - __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis19, 766, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis19, 766, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":770 * return bn.slow.nn(arr, arr0, axis=19) @@ -15822,7 +15822,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__98 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__98); __Pyx_GIVEREF(__pyx_tuple__98); - __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis20, 770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis20, 770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":774 * return bn.slow.nn(arr, arr0, axis=20) @@ -15834,7 +15834,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__100 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__100); __Pyx_GIVEREF(__pyx_tuple__100); - __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis21, 774, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis21, 774, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":778 * return bn.slow.nn(arr, arr0, axis=21) @@ -15846,7 +15846,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__102 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__102); __Pyx_GIVEREF(__pyx_tuple__102); - __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis22, 778, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis22, 778, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":782 * return bn.slow.nn(arr, arr0, axis=22) @@ -15858,7 +15858,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__104 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__104); __Pyx_GIVEREF(__pyx_tuple__104); - __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis23, 782, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis23, 782, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":786 * return bn.slow.nn(arr, arr0, axis=23) @@ -15870,7 +15870,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__106 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__106); __Pyx_GIVEREF(__pyx_tuple__106); - __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis24, 786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis24, 786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":790 * return bn.slow.nn(arr, arr0, axis=24) @@ -15882,7 +15882,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__108 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__108); __Pyx_GIVEREF(__pyx_tuple__108); - __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis25, 790, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis25, 790, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":794 * return bn.slow.nn(arr, arr0, axis=25) @@ -15894,7 +15894,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__110 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__110); __Pyx_GIVEREF(__pyx_tuple__110); - __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis26, 794, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis26, 794, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":798 * return bn.slow.nn(arr, arr0, axis=26) @@ -15906,7 +15906,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__112 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__112); __Pyx_GIVEREF(__pyx_tuple__112); - __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis27, 798, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis27, 798, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":802 * return bn.slow.nn(arr, arr0, axis=27) @@ -15918,7 +15918,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__114 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__114); __Pyx_GIVEREF(__pyx_tuple__114); - __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis28, 802, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis28, 802, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":806 * return bn.slow.nn(arr, arr0, axis=28) @@ -15930,7 +15930,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__116 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__116); __Pyx_GIVEREF(__pyx_tuple__116); - __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis29, 806, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis29, 806, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":810 * return bn.slow.nn(arr, arr0, axis=29) @@ -15942,7 +15942,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__118 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__118); __Pyx_GIVEREF(__pyx_tuple__118); - __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis30, 810, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis30, 810, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":814 * return bn.slow.nn(arr, arr0, axis=30) @@ -15954,7 +15954,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__120 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__120); __Pyx_GIVEREF(__pyx_tuple__120); - __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis31, 814, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis31, 814, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":818 * return bn.slow.nn(arr, arr0, axis=31) @@ -15966,7 +15966,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__122 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__122); __Pyx_GIVEREF(__pyx_tuple__122); - __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axis32, 818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axis32, 818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "nn.pyx":822 * return bn.slow.nn(arr, arr0, axis=32) @@ -15978,7 +15978,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__124 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_arr0); if (unlikely(!__pyx_tuple__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__124); __Pyx_GIVEREF(__pyx_tuple__124); - __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nn_slow_axisNone, 822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nn_slow_axisNone, 822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -16944,177 +16944,177 @@ PyMODINIT_FUNC PyInit_nn(void) /* "nn.pyx":242 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0." + * def nn_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_5nn_2d_int_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_5nn_2d_float_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":273 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1." + * def nn_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_7nn_2d_int_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_7nn_2d_float_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":304 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0." + * def nn_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_9nn_2d_int8_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_9nn_2d_float32_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":335 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int8_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1." + * def nn_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_11nn_2d_int8_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_11nn_2d_float32_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":366 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0." + * def nn_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_13nn_2d_int32_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_13nn_2d_float64_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":397 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1." + * def nn_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.float64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_15nn_2d_int32_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_15nn_2d_float64_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":428 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0." + * def nn_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_17nn_2d_int64_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_17nn_2d_int_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":459 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.int64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1." + * def nn_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int, axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_19nn_2d_int64_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_19nn_2d_int_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":490 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=0." + * def nn_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_21nn_2d_float_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_21nn_2d_int8_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":521 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float, axis=1." + * def nn_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int8_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int8, axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_23nn_2d_float_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_23nn_2d_int8_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":552 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=0." + * def nn_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_25nn_2d_float32_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_25nn_2d_int32_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":583 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float32_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float32, axis=1." + * def nn_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int32_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int32, axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_27nn_2d_float32_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_27nn_2d_int32_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":614 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=0." + * def nn_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=0." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_29nn_2d_float64_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_29nn_2d_int64_axis0, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":645 * @cython.boundscheck(False) * @cython.wraparound(False) - * def nn_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, # <<<<<<<<<<<<<< - * np.ndarray[np.float64_t, ndim=1] a0): - * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=float64, axis=1." + * def nn_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, # <<<<<<<<<<<<<< + * np.ndarray[np.int64_t, ndim=1] a0): + * "Nearest neighbor of 1d `a0` in 2d `a` with dtype=int64, axis=1." */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_31nn_2d_float64_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2nn_31nn_2d_int64_axis1, NULL, __pyx_n_s_nn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nn_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":674 * return dist, imin * * cdef dict nn_dict = {} # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_int, 0)] = nn_2d_int_axis0 - * nn_dict[(2, NPY_int, 1)] = nn_2d_int_axis1 + * nn_dict[(2, NPY_float, 0)] = nn_2d_float_axis0 + * nn_dict[(2, NPY_float, 1)] = nn_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -17126,17 +17126,17 @@ PyMODINIT_FUNC PyInit_nn(void) /* "nn.pyx":675 * * cdef dict nn_dict = {} - * nn_dict[(2, NPY_int, 0)] = nn_2d_int_axis0 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_int, 1)] = nn_2d_int_axis1 - * nn_dict[(2, NPY_int8, 0)] = nn_2d_int8_axis0 + * nn_dict[(2, NPY_float, 0)] = nn_2d_float_axis0 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_float, 1)] = nn_2d_float_axis1 + * nn_dict[(2, NPY_float32, 0)] = nn_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17155,18 +17155,18 @@ PyMODINIT_FUNC PyInit_nn(void) /* "nn.pyx":676 * cdef dict nn_dict = {} - * nn_dict[(2, NPY_int, 0)] = nn_2d_int_axis0 - * nn_dict[(2, NPY_int, 1)] = nn_2d_int_axis1 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_int8, 0)] = nn_2d_int8_axis0 - * nn_dict[(2, NPY_int8, 1)] = nn_2d_int8_axis1 + * nn_dict[(2, NPY_float, 0)] = nn_2d_float_axis0 + * nn_dict[(2, NPY_float, 1)] = nn_2d_float_axis1 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_float32, 0)] = nn_2d_float32_axis0 + * nn_dict[(2, NPY_float32, 1)] = nn_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17184,19 +17184,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":677 - * nn_dict[(2, NPY_int, 0)] = nn_2d_int_axis0 - * nn_dict[(2, NPY_int, 1)] = nn_2d_int_axis1 - * nn_dict[(2, NPY_int8, 0)] = nn_2d_int8_axis0 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_int8, 1)] = nn_2d_int8_axis1 - * nn_dict[(2, NPY_int32, 0)] = nn_2d_int32_axis0 + * nn_dict[(2, NPY_float, 0)] = nn_2d_float_axis0 + * nn_dict[(2, NPY_float, 1)] = nn_2d_float_axis1 + * nn_dict[(2, NPY_float32, 0)] = nn_2d_float32_axis0 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_float32, 1)] = nn_2d_float32_axis1 + * nn_dict[(2, NPY_float64, 0)] = nn_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17214,19 +17214,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":678 - * nn_dict[(2, NPY_int, 1)] = nn_2d_int_axis1 - * nn_dict[(2, NPY_int8, 0)] = nn_2d_int8_axis0 - * nn_dict[(2, NPY_int8, 1)] = nn_2d_int8_axis1 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_int32, 0)] = nn_2d_int32_axis0 - * nn_dict[(2, NPY_int32, 1)] = nn_2d_int32_axis1 + * nn_dict[(2, NPY_float, 1)] = nn_2d_float_axis1 + * nn_dict[(2, NPY_float32, 0)] = nn_2d_float32_axis0 + * nn_dict[(2, NPY_float32, 1)] = nn_2d_float32_axis1 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_float64, 0)] = nn_2d_float64_axis0 + * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17244,19 +17244,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":679 - * nn_dict[(2, NPY_int8, 0)] = nn_2d_int8_axis0 - * nn_dict[(2, NPY_int8, 1)] = nn_2d_int8_axis1 - * nn_dict[(2, NPY_int32, 0)] = nn_2d_int32_axis0 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_int32, 1)] = nn_2d_int32_axis1 - * nn_dict[(2, NPY_int64, 0)] = nn_2d_int64_axis0 + * nn_dict[(2, NPY_float32, 0)] = nn_2d_float32_axis0 + * nn_dict[(2, NPY_float32, 1)] = nn_2d_float32_axis1 + * nn_dict[(2, NPY_float64, 0)] = nn_2d_float64_axis0 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 + * nn_dict[(2, NPY_int, 0)] = nn_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17274,19 +17274,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":680 - * nn_dict[(2, NPY_int8, 1)] = nn_2d_int8_axis1 - * nn_dict[(2, NPY_int32, 0)] = nn_2d_int32_axis0 - * nn_dict[(2, NPY_int32, 1)] = nn_2d_int32_axis1 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_int64, 0)] = nn_2d_int64_axis0 - * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 + * nn_dict[(2, NPY_float32, 1)] = nn_2d_float32_axis1 + * nn_dict[(2, NPY_float64, 0)] = nn_2d_float64_axis0 + * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_int, 0)] = nn_2d_int_axis0 + * nn_dict[(2, NPY_int, 1)] = nn_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17304,19 +17304,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":681 - * nn_dict[(2, NPY_int32, 0)] = nn_2d_int32_axis0 - * nn_dict[(2, NPY_int32, 1)] = nn_2d_int32_axis1 - * nn_dict[(2, NPY_int64, 0)] = nn_2d_int64_axis0 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 - * nn_dict[(2, NPY_float, 0)] = nn_2d_float_axis0 + * nn_dict[(2, NPY_float64, 0)] = nn_2d_float64_axis0 + * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 + * nn_dict[(2, NPY_int, 0)] = nn_2d_int_axis0 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_int, 1)] = nn_2d_int_axis1 + * nn_dict[(2, NPY_int8, 0)] = nn_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17334,19 +17334,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":682 - * nn_dict[(2, NPY_int32, 1)] = nn_2d_int32_axis1 - * nn_dict[(2, NPY_int64, 0)] = nn_2d_int64_axis0 - * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_float, 0)] = nn_2d_float_axis0 - * nn_dict[(2, NPY_float, 1)] = nn_2d_float_axis1 + * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 + * nn_dict[(2, NPY_int, 0)] = nn_2d_int_axis0 + * nn_dict[(2, NPY_int, 1)] = nn_2d_int_axis1 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_int8, 0)] = nn_2d_int8_axis0 + * nn_dict[(2, NPY_int8, 1)] = nn_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17364,19 +17364,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":683 - * nn_dict[(2, NPY_int64, 0)] = nn_2d_int64_axis0 - * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 - * nn_dict[(2, NPY_float, 0)] = nn_2d_float_axis0 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_float, 1)] = nn_2d_float_axis1 - * nn_dict[(2, NPY_float32, 0)] = nn_2d_float32_axis0 + * nn_dict[(2, NPY_int, 0)] = nn_2d_int_axis0 + * nn_dict[(2, NPY_int, 1)] = nn_2d_int_axis1 + * nn_dict[(2, NPY_int8, 0)] = nn_2d_int8_axis0 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_int8, 1)] = nn_2d_int8_axis1 + * nn_dict[(2, NPY_int32, 0)] = nn_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17394,19 +17394,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":684 - * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 - * nn_dict[(2, NPY_float, 0)] = nn_2d_float_axis0 - * nn_dict[(2, NPY_float, 1)] = nn_2d_float_axis1 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_float32, 0)] = nn_2d_float32_axis0 - * nn_dict[(2, NPY_float32, 1)] = nn_2d_float32_axis1 + * nn_dict[(2, NPY_int, 1)] = nn_2d_int_axis1 + * nn_dict[(2, NPY_int8, 0)] = nn_2d_int8_axis0 + * nn_dict[(2, NPY_int8, 1)] = nn_2d_int8_axis1 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_int32, 0)] = nn_2d_int32_axis0 + * nn_dict[(2, NPY_int32, 1)] = nn_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17424,19 +17424,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":685 - * nn_dict[(2, NPY_float, 0)] = nn_2d_float_axis0 - * nn_dict[(2, NPY_float, 1)] = nn_2d_float_axis1 - * nn_dict[(2, NPY_float32, 0)] = nn_2d_float32_axis0 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_float32, 1)] = nn_2d_float32_axis1 - * nn_dict[(2, NPY_float64, 0)] = nn_2d_float64_axis0 + * nn_dict[(2, NPY_int8, 0)] = nn_2d_int8_axis0 + * nn_dict[(2, NPY_int8, 1)] = nn_2d_int8_axis1 + * nn_dict[(2, NPY_int32, 0)] = nn_2d_int32_axis0 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_int32, 1)] = nn_2d_int32_axis1 + * nn_dict[(2, NPY_int64, 0)] = nn_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17454,19 +17454,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":686 - * nn_dict[(2, NPY_float, 1)] = nn_2d_float_axis1 - * nn_dict[(2, NPY_float32, 0)] = nn_2d_float32_axis0 - * nn_dict[(2, NPY_float32, 1)] = nn_2d_float32_axis1 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_float64, 0)] = nn_2d_float64_axis0 - * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 + * nn_dict[(2, NPY_int8, 1)] = nn_2d_int8_axis1 + * nn_dict[(2, NPY_int32, 0)] = nn_2d_int32_axis0 + * nn_dict[(2, NPY_int32, 1)] = nn_2d_int32_axis1 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_int64, 0)] = nn_2d_int64_axis0 + * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17484,19 +17484,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":687 - * nn_dict[(2, NPY_float32, 0)] = nn_2d_float32_axis0 - * nn_dict[(2, NPY_float32, 1)] = nn_2d_float32_axis1 - * nn_dict[(2, NPY_float64, 0)] = nn_2d_float64_axis0 # <<<<<<<<<<<<<< - * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 + * nn_dict[(2, NPY_int32, 0)] = nn_2d_int32_axis0 + * nn_dict[(2, NPY_int32, 1)] = nn_2d_int32_axis1 + * nn_dict[(2, NPY_int64, 0)] = nn_2d_int64_axis0 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17514,19 +17514,19 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":688 - * nn_dict[(2, NPY_float32, 1)] = nn_2d_float32_axis1 - * nn_dict[(2, NPY_float64, 0)] = nn_2d_float64_axis0 - * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 # <<<<<<<<<<<<<< + * nn_dict[(2, NPY_int32, 1)] = nn_2d_int32_axis1 + * nn_dict[(2, NPY_int64, 0)] = nn_2d_int64_axis0 + * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nn_slow_axis0(arr, arr0): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nn_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2nn_nn_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17544,7 +17544,7 @@ PyMODINIT_FUNC PyInit_nn(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "nn.pyx":690 - * nn_dict[(2, NPY_float64, 1)] = nn_2d_float64_axis1 + * nn_dict[(2, NPY_int64, 1)] = nn_2d_int64_axis1 * * def nn_slow_axis0(arr, arr0): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nn along axis 0." @@ -18518,7 +18518,7 @@ PyMODINIT_FUNC PyInit_nn(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/partsort.c b/bottlechest/src/func/64bit/partsort.c index 50f741b643..b36aaf8692 100644 --- a/bottlechest/src/func/64bit/partsort.c +++ b/bottlechest/src/func/64bit/partsort.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1101,13 +1101,13 @@ static __pyx_t_5numpy_float32_t __pyx_v_8partsort_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_8partsort_MAXfloat64; static PyObject *__pyx_v_8partsort_partsort_dict = 0; static PyObject *__pyx_v_8partsort_partsort_slow_dict = 0; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "partsort" int __pyx_module_is_main_partsort = 0; @@ -1119,48 +1119,48 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_8partsort_partsort(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_n, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_8partsort_2partsort_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_42partsort_3d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_54partsort_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ -static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_4partsort_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_6partsort_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_8partsort_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_10partsort_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_12partsort_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_14partsort_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_16partsort_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_18partsort_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_20partsort_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_22partsort_3d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_24partsort_3d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_26partsort_3d_float_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_28partsort_3d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_30partsort_3d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_32partsort_3d_float32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_34partsort_3d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_36partsort_3d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_38partsort_3d_float64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_40partsort_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_42partsort_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_44partsort_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_46partsort_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_48partsort_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_50partsort_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_52partsort_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_54partsort_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_56partsort_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_58partsort_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_60partsort_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_62partsort_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_64partsort_3d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_66partsort_3d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_68partsort_3d_int_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_70partsort_3d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_72partsort_3d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_74partsort_3d_int8_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_76partsort_3d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_78partsort_3d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_80partsort_3d_int32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_82partsort_3d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_84partsort_3d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ +static PyObject *__pyx_pf_8partsort_86partsort_3d_int64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n); /* proto */ static PyObject *__pyx_pf_8partsort_88partsort_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_n); /* proto */ static PyObject *__pyx_pf_8partsort_90partsort_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_n); /* proto */ static PyObject *__pyx_pf_8partsort_92partsort_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_n); /* proto */ @@ -1353,15 +1353,14 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Partial_sorting_of_array_elemen[] = "\n Partial sorting of array elements along given axis.\n \n A partially sorted array is one in which the `n` smallest values appear\n (in any order) in the first `n` elements. The remaining largest elements\n are also unordered. Due to the algorithm used (Wirth's method), the nth\n smallest element is in its sorted position (at index `n-1`).\n\n Shuffling the input array may change the output. The only guarantee is\n that the first `n` elements will be the `n` smallest and the remaining\n element will appear in the remainder of the output.\n\n This functions is not protected against NaN. Therefore, you may get\n unexpected results if the input contains NaN.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n n : int \n The `n` smallest elements will appear (unordered) in the first `n`\n elements of the output array.\n axis : {int, None}, optional\n Axis along which the partial sort is performed. The default (axis=-1)\n is to sort along the last axis.\n\n Returns\n -------\n y : ndarray\n A partially sorted copy of the input array where the `n` smallest\n elements will appear (unordered) in the first `n` elements.\n \n See Also\n --------\n bottlechest.argpartsort: Indices that would partially sort an array\n \n Notes\n -----\n Unexpected results may occur if the input array contains NaN.\n\n Examples\n --------\n Create a numpy array:\n\n >>> a = np.array([1, 0, 3, 4, 2])\n \n Partially sort array so that the first 3 elements are the smallest 3\n elements (note, as in this example, that the smallest 3 elements may not\n be sorted):\n\n >>> bn.partsort(a, n=3)\n array([1, 0, 2, 4, 3])\n \n "; static char __pyx_k_Return_partsort_function_and_ar[] = "\n Return partsort function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.partsort() is in checking that `axis` is within range, converting `arr`\n into an array (if it is not already an array), and selecting the function\n to use to partially sort.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which to partially sort.\n \n Returns\n -------\n func : function\n The partsort function that matches the number of dimensions and dtype\n of the input array and the axis along which you wish to partially\n sort.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1, 0, 3, 4, 2])\n \n Obtain the function needed to partially sort `arr` along axis=0:\n\n >>> func, a = bn.func.partsort_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to partially sort:\n\n >>> func(a, n=3)\n array([1, 0, 2, 4, 3])\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/partsort.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\partsort.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1375,6 +1374,7 @@ static PyObject *__pyx_kp_u_Return_partsort_function_and_ar; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__7; static PyObject *__pyx_n_s_a; @@ -2559,16 +2559,16 @@ static PyObject *__pyx_pf_8partsort_2partsort_selector(CYTHON_UNUSED PyObject *_ /* "partsort.pyx":220 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int along axis=0." + * def partsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_5partsort_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_4partsort_1d_int_axis0[] = "partsort_1d_int_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_5partsort_1d_int_axis0 = {"partsort_1d_int_axis0", (PyCFunction)__pyx_pw_8partsort_5partsort_1d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_4partsort_1d_int_axis0}; -static PyObject *__pyx_pw_8partsort_5partsort_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_5partsort_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_4partsort_1d_float_axis0[] = "partsort_1d_float_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_5partsort_1d_float_axis0 = {"partsort_1d_float_axis0", (PyCFunction)__pyx_pw_8partsort_5partsort_1d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_4partsort_1d_float_axis0}; +static PyObject *__pyx_pw_8partsort_5partsort_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -2576,7 +2576,7 @@ static PyObject *__pyx_pw_8partsort_5partsort_1d_int_axis0(PyObject *__pyx_self, int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_1d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_1d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -2597,11 +2597,11 @@ static PyObject *__pyx_pw_8partsort_5partsort_1d_int_axis0(PyObject *__pyx_self, case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_1d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -2614,14 +2614,14 @@ static PyObject *__pyx_pw_8partsort_5partsort_1d_int_axis0(PyObject *__pyx_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_1d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_4partsort_1d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_4partsort_1d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -2632,14 +2632,14 @@ static PyObject *__pyx_pw_8partsort_5partsort_1d_int_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_4partsort_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -2666,7 +2666,7 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_1d_int_axis0", 0); + __Pyx_RefNannySetupContext("partsort_1d_float_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -2677,24 +2677,24 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "partsort.pyx":222 - * def partsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=int along axis=0." + * def partsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":224 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ @@ -2704,7 +2704,7 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; @@ -2864,7 +2864,7 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec * j = r */ __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); /* "partsort.pyx":238 * while l < r: @@ -2902,7 +2902,7 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec */ while (1) { __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -2916,7 +2916,7 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec */ while (1) { __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -2939,7 +2939,7 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec * b[j] = tmp */ __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); /* "partsort.pyx":245 * if i <= j: @@ -2950,7 +2950,7 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec */ __pyx_t_12 = __pyx_v_j; __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); /* "partsort.pyx":246 * tmp = b[i] @@ -2960,7 +2960,7 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec * j -= 1 */ __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; /* "partsort.pyx":247 * b[i] = b[j] @@ -3060,8 +3060,8 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec /* "partsort.pyx":220 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int along axis=0." + * def partsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -3076,7 +3076,7 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3092,16 +3092,16 @@ static PyObject *__pyx_pf_8partsort_4partsort_1d_int_axis0(CYTHON_UNUSED PyObjec /* "partsort.pyx":256 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int8 along axis=0." + * def partsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_7partsort_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_6partsort_1d_int8_axis0[] = "partsort_1d_int8_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_7partsort_1d_int8_axis0 = {"partsort_1d_int8_axis0", (PyCFunction)__pyx_pw_8partsort_7partsort_1d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_6partsort_1d_int8_axis0}; -static PyObject *__pyx_pw_8partsort_7partsort_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_7partsort_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_6partsort_1d_float32_axis0[] = "partsort_1d_float32_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_7partsort_1d_float32_axis0 = {"partsort_1d_float32_axis0", (PyCFunction)__pyx_pw_8partsort_7partsort_1d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_6partsort_1d_float32_axis0}; +static PyObject *__pyx_pw_8partsort_7partsort_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -3109,7 +3109,7 @@ static PyObject *__pyx_pw_8partsort_7partsort_1d_int8_axis0(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_1d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_1d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -3130,11 +3130,11 @@ static PyObject *__pyx_pw_8partsort_7partsort_1d_int8_axis0(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_1d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3147,14 +3147,14 @@ static PyObject *__pyx_pw_8partsort_7partsort_1d_int8_axis0(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_1d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_6partsort_1d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_6partsort_1d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -3165,14 +3165,14 @@ static PyObject *__pyx_pw_8partsort_7partsort_1d_int8_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_6partsort_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -3199,7 +3199,7 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_1d_int8_axis0", 0); + __Pyx_RefNannySetupContext("partsort_1d_float32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -3210,24 +3210,24 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "partsort.pyx":258 - * def partsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=int8 along axis=0." + * def partsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":260 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ @@ -3237,7 +3237,7 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; @@ -3397,7 +3397,7 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje * j = r */ __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); /* "partsort.pyx":274 * while l < r: @@ -3435,7 +3435,7 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje */ while (1) { __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -3449,7 +3449,7 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje */ while (1) { __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -3472,7 +3472,7 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje * b[j] = tmp */ __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); /* "partsort.pyx":281 * if i <= j: @@ -3483,7 +3483,7 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje */ __pyx_t_12 = __pyx_v_j; __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); /* "partsort.pyx":282 * tmp = b[i] @@ -3493,7 +3493,7 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje * j -= 1 */ __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; /* "partsort.pyx":283 * b[i] = b[j] @@ -3593,8 +3593,8 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje /* "partsort.pyx":256 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int8 along axis=0." + * def partsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -3609,7 +3609,7 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3625,16 +3625,16 @@ static PyObject *__pyx_pf_8partsort_6partsort_1d_int8_axis0(CYTHON_UNUSED PyObje /* "partsort.pyx":292 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int32 along axis=0." + * def partsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_9partsort_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_8partsort_1d_int32_axis0[] = "partsort_1d_int32_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_9partsort_1d_int32_axis0 = {"partsort_1d_int32_axis0", (PyCFunction)__pyx_pw_8partsort_9partsort_1d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_8partsort_1d_int32_axis0}; -static PyObject *__pyx_pw_8partsort_9partsort_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_9partsort_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_8partsort_1d_float64_axis0[] = "partsort_1d_float64_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_9partsort_1d_float64_axis0 = {"partsort_1d_float64_axis0", (PyCFunction)__pyx_pw_8partsort_9partsort_1d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_8partsort_1d_float64_axis0}; +static PyObject *__pyx_pw_8partsort_9partsort_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -3642,7 +3642,7 @@ static PyObject *__pyx_pw_8partsort_9partsort_1d_int32_axis0(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_1d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_1d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -3663,11 +3663,11 @@ static PyObject *__pyx_pw_8partsort_9partsort_1d_int32_axis0(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_1d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -3680,14 +3680,14 @@ static PyObject *__pyx_pw_8partsort_9partsort_1d_int32_axis0(PyObject *__pyx_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_1d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_8partsort_1d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_8partsort_1d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -3698,14 +3698,14 @@ static PyObject *__pyx_pw_8partsort_9partsort_1d_int32_axis0(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_8partsort_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -3732,7 +3732,7 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_1d_int32_axis0", 0); + __Pyx_RefNannySetupContext("partsort_1d_float64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -3743,24 +3743,24 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "partsort.pyx":294 - * def partsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=int32 along axis=0." + * def partsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":296 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ @@ -3770,7 +3770,7 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; @@ -3930,7 +3930,7 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj * j = r */ __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); /* "partsort.pyx":310 * while l < r: @@ -3968,7 +3968,7 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj */ while (1) { __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -3982,7 +3982,7 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj */ while (1) { __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -4005,7 +4005,7 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj * b[j] = tmp */ __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); /* "partsort.pyx":317 * if i <= j: @@ -4016,7 +4016,7 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj */ __pyx_t_12 = __pyx_v_j; __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); /* "partsort.pyx":318 * tmp = b[i] @@ -4026,7 +4026,7 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj * j -= 1 */ __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; /* "partsort.pyx":319 * b[i] = b[j] @@ -4126,8 +4126,8 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj /* "partsort.pyx":292 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int32 along axis=0." + * def partsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -4142,7 +4142,7 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4158,16 +4158,16 @@ static PyObject *__pyx_pf_8partsort_8partsort_1d_int32_axis0(CYTHON_UNUSED PyObj /* "partsort.pyx":328 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int64 along axis=0." + * def partsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_11partsort_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_10partsort_1d_int64_axis0[] = "partsort_1d_int64_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_11partsort_1d_int64_axis0 = {"partsort_1d_int64_axis0", (PyCFunction)__pyx_pw_8partsort_11partsort_1d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_10partsort_1d_int64_axis0}; -static PyObject *__pyx_pw_8partsort_11partsort_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_11partsort_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_10partsort_2d_float_axis0[] = "partsort_2d_float_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_11partsort_2d_float_axis0 = {"partsort_2d_float_axis0", (PyCFunction)__pyx_pw_8partsort_11partsort_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_10partsort_2d_float_axis0}; +static PyObject *__pyx_pw_8partsort_11partsort_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -4175,7 +4175,7 @@ static PyObject *__pyx_pw_8partsort_11partsort_1d_int64_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_1d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -4196,11 +4196,11 @@ static PyObject *__pyx_pw_8partsort_11partsort_1d_int64_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_1d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4213,14 +4213,14 @@ static PyObject *__pyx_pw_8partsort_11partsort_1d_int64_axis0(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_1d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_10partsort_1d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_10partsort_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -4231,17 +4231,19 @@ static PyObject *__pyx_pw_8partsort_11partsort_1d_int64_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_10partsort_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -4255,17 +4257,26 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; - npy_intp __pyx_t_8; - npy_intp __pyx_t_9; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; npy_intp __pyx_t_10; - npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_11; npy_intp __pyx_t_12; - npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_13; npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_15; + npy_intp __pyx_t_16; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_1d_int64_axis0", 0); + __Pyx_RefNannySetupContext("partsort_2d_float_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -4276,25 +4287,25 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "partsort.pyx":330 - * def partsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=int64 along axis=0." + * def partsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":332 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -4303,10 +4314,10 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; @@ -4314,11 +4325,11 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb __pyx_t_1 = 0; /* "partsort.pyx":335 - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); @@ -4326,14 +4337,23 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * if n0 == 0: - * return b */ __pyx_v_n0 = (__pyx_v_dim[0]); /* "partsort.pyx":337 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * if n0 == 0: + * return b + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "partsort.pyx":338 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * if n0 == 0: # <<<<<<<<<<<<<< * return b * if (n < 1) or (n > n0): @@ -4341,8 +4361,8 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":338 - * cdef Py_ssize_t n0 = dim[0] + /* "partsort.pyx":339 + * cdef Py_ssize_t n1 = dim[1] * if n0 == 0: * return b # <<<<<<<<<<<<<< * if (n < 1) or (n > n0): @@ -4354,12 +4374,12 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":339 + /* "partsort.pyx":340 * if n0 == 0: * return b * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 + * for i1 in range(n1): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -4374,20 +4394,20 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":340 + /* "partsort.pyx":341 * return b * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * for i1 in range(n1): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -4395,256 +4415,242 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":341 + /* "partsort.pyx":342 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_v_l = 0; + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "partsort.pyx":342 + /* "partsort.pyx":343 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "partsort.pyx":343 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "partsort.pyx":344 + * for i1 in range(n1): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[k, i1] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":344 - * r = n0 - 1 - * with nogil: + /* "partsort.pyx":345 + * l = 0 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[k, i1] * i = l */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":345 - * with nogil: + /* "partsort.pyx":346 + * r = n0 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_10 = __pyx_v_k; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":346 + /* "partsort.pyx":347 * while l < r: - * x = b[k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":347 - * x = b[k] + /* "partsort.pyx":348 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":348 + /* "partsort.pyx":349 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ - while (1) { + while (1) { - /* "partsort.pyx":349 + /* "partsort.pyx":350 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_12 = __pyx_v_i; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":350 + /* "partsort.pyx":351 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i, i1] */ - while (1) { - __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_14 = __pyx_v_j; + __pyx_t_15 = __pyx_v_i1; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":351 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "partsort.pyx":352 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":352 - * while x < b[j]: j -= 1 + /* "partsort.pyx":353 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_16 = __pyx_v_i; + __pyx_t_17 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":353 + /* "partsort.pyx":354 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp * i += 1 */ - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":354 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":355 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":355 - * b[i] = b[j] - * b[j] = tmp + /* "partsort.pyx":356 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":356 - * b[j] = tmp + /* "partsort.pyx":357 + * b[j, i1] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L18; - } - __pyx_L18:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L17; + } + __pyx_L17:; - /* "partsort.pyx":357 + /* "partsort.pyx":358 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L13_break; - } - } - __pyx_L13_break:; + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L12_break; + } + } + __pyx_L12_break:; - /* "partsort.pyx":358 + /* "partsort.pyx":359 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L20; - } - __pyx_L20:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L19; + } + __pyx_L19:; - /* "partsort.pyx":359 + /* "partsort.pyx":360 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L21; - } - __pyx_L21:; - } - } - - /* "partsort.pyx":343 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] - */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L9; - } - __pyx_L9:; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L20; } + __pyx_L20:; + } } - /* "partsort.pyx":360 + /* "partsort.pyx":361 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -4659,8 +4665,8 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb /* "partsort.pyx":328 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int64 along axis=0." + * def partsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -4675,7 +4681,7 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4688,19 +4694,19 @@ static PyObject *__pyx_pf_8partsort_10partsort_1d_int64_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":364 +/* "partsort.pyx":365 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=0." + * def partsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_13partsort_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_12partsort_2d_int_axis0[] = "partsort_2d_int_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_13partsort_2d_int_axis0 = {"partsort_2d_int_axis0", (PyCFunction)__pyx_pw_8partsort_13partsort_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_12partsort_2d_int_axis0}; -static PyObject *__pyx_pw_8partsort_13partsort_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_13partsort_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_12partsort_2d_float_axis1[] = "partsort_2d_float_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_13partsort_2d_float_axis1 = {"partsort_2d_float_axis1", (PyCFunction)__pyx_pw_8partsort_13partsort_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_12partsort_2d_float_axis1}; +static PyObject *__pyx_pw_8partsort_13partsort_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -4708,7 +4714,7 @@ static PyObject *__pyx_pw_8partsort_13partsort_2d_int_axis0(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_float_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -4729,11 +4735,11 @@ static PyObject *__pyx_pw_8partsort_13partsort_2d_int_axis0(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -4742,18 +4748,18 @@ static PyObject *__pyx_pw_8partsort_13partsort_2d_int_axis0(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_12partsort_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_12partsort_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -4764,16 +4770,16 @@ static PyObject *__pyx_pw_8partsort_13partsort_2d_int_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_12partsort_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -4792,24 +4798,24 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - npy_intp __pyx_t_10; - Py_ssize_t __pyx_t_11; - npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; - npy_intp __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; + Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("partsort_2d_float_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -4820,36 +4826,36 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":366 - * def partsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int along axis=0." + /* "partsort.pyx":367 + * def partsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":368 + /* "partsort.pyx":369 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -4857,7 +4863,7 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":371 + /* "partsort.pyx":372 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4866,40 +4872,40 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":372 + /* "partsort.pyx":373 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * if n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":373 + /* "partsort.pyx":374 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 == 0: + * if n1 == 0: * return b */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":374 + /* "partsort.pyx":375 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":375 + /* "partsort.pyx":376 * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * if n1 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -4907,12 +4913,12 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje goto __pyx_L0; } - /* "partsort.pyx":376 - * if n0 == 0: + /* "partsort.pyx":377 + * if n1 == 0: * return b - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -4922,25 +4928,25 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":377 + /* "partsort.pyx":378 * return b - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -4948,187 +4954,187 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":378 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "partsort.pyx":379 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_t_8 = __pyx_v_n1; + __pyx_t_8 = __pyx_v_n0; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":379 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + /* "partsort.pyx":380 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "partsort.pyx":380 - * for i1 in range(n1): + /* "partsort.pyx":381 + * for i0 in range(n0): * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":381 + /* "partsort.pyx":382 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":382 - * r = n0 - 1 + /* "partsort.pyx":383 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_10 = __pyx_v_k; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":383 + /* "partsort.pyx":384 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":384 - * x = b[k, i1] + /* "partsort.pyx":385 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":385 + /* "partsort.pyx":386 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "partsort.pyx":386 + /* "partsort.pyx":387 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_12 = __pyx_v_i; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":387 + /* "partsort.pyx":388 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_14 = __pyx_v_j; - __pyx_t_15 = __pyx_v_i1; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":388 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":389 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":389 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":390 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_16 = __pyx_v_i; - __pyx_t_17 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":390 + /* "partsort.pyx":391 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp * i += 1 */ - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":391 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":392 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":392 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "partsort.pyx":393 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":393 - * b[j, i1] = tmp + /* "partsort.pyx":394 + * b[i0, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -5139,7 +5145,7 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje } __pyx_L17:; - /* "partsort.pyx":394 + /* "partsort.pyx":395 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -5153,7 +5159,7 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje } __pyx_L12_break:; - /* "partsort.pyx":395 + /* "partsort.pyx":396 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -5167,7 +5173,7 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje } __pyx_L19:; - /* "partsort.pyx":396 + /* "partsort.pyx":397 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -5183,7 +5189,7 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje } } - /* "partsort.pyx":397 + /* "partsort.pyx":398 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -5195,11 +5201,11 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":364 + /* "partsort.pyx":365 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=0." + * def partsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -5214,7 +5220,7 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5227,19 +5233,19 @@ static PyObject *__pyx_pf_8partsort_12partsort_2d_int_axis0(CYTHON_UNUSED PyObje return __pyx_r; } -/* "partsort.pyx":401 +/* "partsort.pyx":402 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=1." + * def partsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_15partsort_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_14partsort_2d_int_axis1[] = "partsort_2d_int_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_15partsort_2d_int_axis1 = {"partsort_2d_int_axis1", (PyCFunction)__pyx_pw_8partsort_15partsort_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_14partsort_2d_int_axis1}; -static PyObject *__pyx_pw_8partsort_15partsort_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_15partsort_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_14partsort_2d_float32_axis0[] = "partsort_2d_float32_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_15partsort_2d_float32_axis0 = {"partsort_2d_float32_axis0", (PyCFunction)__pyx_pw_8partsort_15partsort_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_14partsort_2d_float32_axis0}; +static PyObject *__pyx_pw_8partsort_15partsort_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -5247,7 +5253,7 @@ static PyObject *__pyx_pw_8partsort_15partsort_2d_int_axis1(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_int_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -5268,11 +5274,11 @@ static PyObject *__pyx_pw_8partsort_15partsort_2d_int_axis1(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5281,18 +5287,18 @@ static PyObject *__pyx_pw_8partsort_15partsort_2d_int_axis1(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_14partsort_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_14partsort_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -5303,16 +5309,16 @@ static PyObject *__pyx_pw_8partsort_15partsort_2d_int_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_14partsort_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -5331,24 +5337,24 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - npy_intp __pyx_t_11; - Py_ssize_t __pyx_t_12; - npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; - npy_intp __pyx_t_15; - Py_ssize_t __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; + npy_intp __pyx_t_10; + Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_12; + Py_ssize_t __pyx_t_13; + npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_15; + npy_intp __pyx_t_16; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("partsort_2d_float32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -5359,36 +5365,36 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":403 - * def partsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int along axis=1." + /* "partsort.pyx":404 + * def partsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":405 + /* "partsort.pyx":406 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -5396,7 +5402,7 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":408 + /* "partsort.pyx":409 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5405,40 +5411,40 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":409 + /* "partsort.pyx":410 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * if n0 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":410 + /* "partsort.pyx":411 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n1 == 0: + * if n0 == 0: * return b */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":411 + /* "partsort.pyx":412 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":412 + /* "partsort.pyx":413 * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * if n0 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -5446,12 +5452,12 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje goto __pyx_L0; } - /* "partsort.pyx":413 - * if n1 == 0: + /* "partsort.pyx":414 + * if n0 == 0: * return b - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -5461,25 +5467,25 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":414 + /* "partsort.pyx":415 * return b - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -5487,187 +5493,187 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":415 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "partsort.pyx":416 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< * l = 0 - * r = n1 - 1 + * r = n0 - 1 */ - __pyx_t_8 = __pyx_v_n0; + __pyx_t_8 = __pyx_v_n1; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_v_i1 = __pyx_t_9; - /* "partsort.pyx":416 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + /* "partsort.pyx":417 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 + * r = n0 - 1 * while l < r: */ __pyx_v_l = 0; - /* "partsort.pyx":417 - * for i0 in range(n0): + /* "partsort.pyx":418 + * for i1 in range(n1): * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[i0, k] + * x = b[k, i1] */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":418 + /* "partsort.pyx":419 * l = 0 - * r = n1 - 1 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] + * x = b[k, i1] * i = l */ while (1) { __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":419 - * r = n1 - 1 + /* "partsort.pyx":420 + * r = n0 - 1 * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_k; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":420 + /* "partsort.pyx":421 * while l < r: - * x = b[i0, k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":421 - * x = b[i0, k] + /* "partsort.pyx":422 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i0, i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":422 + /* "partsort.pyx":423 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ while (1) { - /* "partsort.pyx":423 + /* "partsort.pyx":424 * j = r * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_12 = __pyx_v_i; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":424 + /* "partsort.pyx":425 * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i0, i] + * tmp = b[i, i1] */ while (1) { - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_14 = __pyx_v_j; + __pyx_t_15 = __pyx_v_i1; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":425 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "partsort.pyx":426 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":426 - * while x < b[i0, j]: j -= 1 + /* "partsort.pyx":427 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i; + __pyx_t_17 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":427 + /* "partsort.pyx":428 * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp * i += 1 */ - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":428 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":429 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":429 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "partsort.pyx":430 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":430 - * b[i0, j] = tmp + /* "partsort.pyx":431 + * b[j, i1] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -5678,7 +5684,7 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje } __pyx_L17:; - /* "partsort.pyx":431 + /* "partsort.pyx":432 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -5692,7 +5698,7 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje } __pyx_L12_break:; - /* "partsort.pyx":432 + /* "partsort.pyx":433 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -5706,7 +5712,7 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje } __pyx_L19:; - /* "partsort.pyx":433 + /* "partsort.pyx":434 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -5722,7 +5728,7 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje } } - /* "partsort.pyx":434 + /* "partsort.pyx":435 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -5734,11 +5740,11 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":401 + /* "partsort.pyx":402 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=1." + * def partsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -5753,7 +5759,7 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5766,19 +5772,19 @@ static PyObject *__pyx_pf_8partsort_14partsort_2d_int_axis1(CYTHON_UNUSED PyObje return __pyx_r; } -/* "partsort.pyx":438 +/* "partsort.pyx":439 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=0." + * def partsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_17partsort_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_16partsort_2d_int8_axis0[] = "partsort_2d_int8_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_17partsort_2d_int8_axis0 = {"partsort_2d_int8_axis0", (PyCFunction)__pyx_pw_8partsort_17partsort_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_16partsort_2d_int8_axis0}; -static PyObject *__pyx_pw_8partsort_17partsort_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_17partsort_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_16partsort_2d_float32_axis1[] = "partsort_2d_float32_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float32 along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_17partsort_2d_float32_axis1 = {"partsort_2d_float32_axis1", (PyCFunction)__pyx_pw_8partsort_17partsort_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_16partsort_2d_float32_axis1}; +static PyObject *__pyx_pw_8partsort_17partsort_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -5786,7 +5792,7 @@ static PyObject *__pyx_pw_8partsort_17partsort_2d_int8_axis0(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_float32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -5807,11 +5813,11 @@ static PyObject *__pyx_pw_8partsort_17partsort_2d_int8_axis0(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5820,18 +5826,18 @@ static PyObject *__pyx_pw_8partsort_17partsort_2d_int8_axis0(PyObject *__pyx_sel values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_16partsort_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_16partsort_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -5842,16 +5848,16 @@ static PyObject *__pyx_pw_8partsort_17partsort_2d_int8_axis0(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_16partsort_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -5870,24 +5876,24 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - npy_intp __pyx_t_10; - Py_ssize_t __pyx_t_11; - npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; - npy_intp __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; + Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("partsort_2d_float32_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -5898,36 +5904,36 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":440 - * def partsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int8 along axis=0." + /* "partsort.pyx":441 + * def partsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":442 + /* "partsort.pyx":443 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -5935,7 +5941,7 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":445 + /* "partsort.pyx":446 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5944,40 +5950,40 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":446 + /* "partsort.pyx":447 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * if n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":447 + /* "partsort.pyx":448 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 == 0: + * if n1 == 0: * return b */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":448 + /* "partsort.pyx":449 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":449 + /* "partsort.pyx":450 * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * if n1 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -5985,12 +5991,12 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "partsort.pyx":450 - * if n0 == 0: + /* "partsort.pyx":451 + * if n1 == 0: * return b - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -6000,25 +6006,25 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":451 + /* "partsort.pyx":452 * return b - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -6026,187 +6032,187 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":452 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "partsort.pyx":453 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_t_8 = __pyx_v_n1; + __pyx_t_8 = __pyx_v_n0; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":453 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + /* "partsort.pyx":454 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "partsort.pyx":454 - * for i1 in range(n1): + /* "partsort.pyx":455 + * for i0 in range(n0): * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":455 + /* "partsort.pyx":456 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":456 - * r = n0 - 1 + /* "partsort.pyx":457 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_10 = __pyx_v_k; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":457 + /* "partsort.pyx":458 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":458 - * x = b[k, i1] + /* "partsort.pyx":459 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":459 + /* "partsort.pyx":460 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "partsort.pyx":460 + /* "partsort.pyx":461 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_12 = __pyx_v_i; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":461 + /* "partsort.pyx":462 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_14 = __pyx_v_j; - __pyx_t_15 = __pyx_v_i1; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":462 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":463 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":463 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":464 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_16 = __pyx_v_i; - __pyx_t_17 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":464 + /* "partsort.pyx":465 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp * i += 1 */ - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":465 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":466 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":466 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "partsort.pyx":467 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":467 - * b[j, i1] = tmp + /* "partsort.pyx":468 + * b[i0, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -6217,7 +6223,7 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj } __pyx_L17:; - /* "partsort.pyx":468 + /* "partsort.pyx":469 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -6231,7 +6237,7 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj } __pyx_L12_break:; - /* "partsort.pyx":469 + /* "partsort.pyx":470 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -6245,7 +6251,7 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj } __pyx_L19:; - /* "partsort.pyx":470 + /* "partsort.pyx":471 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -6261,7 +6267,7 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj } } - /* "partsort.pyx":471 + /* "partsort.pyx":472 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -6273,11 +6279,11 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":438 + /* "partsort.pyx":439 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=0." + * def partsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -6292,7 +6298,7 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6305,19 +6311,19 @@ static PyObject *__pyx_pf_8partsort_16partsort_2d_int8_axis0(CYTHON_UNUSED PyObj return __pyx_r; } -/* "partsort.pyx":475 +/* "partsort.pyx":476 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=1." + * def partsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_19partsort_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_18partsort_2d_int8_axis1[] = "partsort_2d_int8_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int8 along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_19partsort_2d_int8_axis1 = {"partsort_2d_int8_axis1", (PyCFunction)__pyx_pw_8partsort_19partsort_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_18partsort_2d_int8_axis1}; -static PyObject *__pyx_pw_8partsort_19partsort_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_19partsort_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_18partsort_2d_float64_axis0[] = "partsort_2d_float64_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_19partsort_2d_float64_axis0 = {"partsort_2d_float64_axis0", (PyCFunction)__pyx_pw_8partsort_19partsort_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_18partsort_2d_float64_axis0}; +static PyObject *__pyx_pw_8partsort_19partsort_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -6325,7 +6331,7 @@ static PyObject *__pyx_pw_8partsort_19partsort_2d_int8_axis1(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_int8_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -6346,11 +6352,11 @@ static PyObject *__pyx_pw_8partsort_19partsort_2d_int8_axis1(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6359,18 +6365,18 @@ static PyObject *__pyx_pw_8partsort_19partsort_2d_int8_axis1(PyObject *__pyx_sel values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_18partsort_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_18partsort_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -6381,16 +6387,16 @@ static PyObject *__pyx_pw_8partsort_19partsort_2d_int8_axis1(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_18partsort_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -6409,24 +6415,24 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - npy_intp __pyx_t_11; - Py_ssize_t __pyx_t_12; - npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; - npy_intp __pyx_t_15; - Py_ssize_t __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; + npy_intp __pyx_t_10; + Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_12; + Py_ssize_t __pyx_t_13; + npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_15; + npy_intp __pyx_t_16; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("partsort_2d_float64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -6437,36 +6443,36 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":477 - * def partsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int8 along axis=1." + /* "partsort.pyx":478 + * def partsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":479 + /* "partsort.pyx":480 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -6474,7 +6480,7 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":482 + /* "partsort.pyx":483 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6483,40 +6489,40 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":483 + /* "partsort.pyx":484 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * if n0 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":484 + /* "partsort.pyx":485 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n1 == 0: + * if n0 == 0: * return b */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":485 + /* "partsort.pyx":486 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":486 + /* "partsort.pyx":487 * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * if n0 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -6524,12 +6530,12 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "partsort.pyx":487 - * if n1 == 0: + /* "partsort.pyx":488 + * if n0 == 0: * return b - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -6539,25 +6545,25 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":488 + /* "partsort.pyx":489 * return b - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -6565,187 +6571,187 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":489 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + /* "partsort.pyx":490 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_t_8 = __pyx_v_n0; + __pyx_t_8 = __pyx_v_n1; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_v_i1 = __pyx_t_9; - /* "partsort.pyx":490 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + /* "partsort.pyx":491 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 + * r = n0 - 1 * while l < r: */ __pyx_v_l = 0; - /* "partsort.pyx":491 - * for i0 in range(n0): + /* "partsort.pyx":492 + * for i1 in range(n1): * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[i0, k] + * x = b[k, i1] */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":492 + /* "partsort.pyx":493 * l = 0 - * r = n1 - 1 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] + * x = b[k, i1] * i = l */ while (1) { __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":493 - * r = n1 - 1 + /* "partsort.pyx":494 + * r = n0 - 1 * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_k; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":494 + /* "partsort.pyx":495 * while l < r: - * x = b[i0, k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":495 - * x = b[i0, k] + /* "partsort.pyx":496 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i0, i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":496 + /* "partsort.pyx":497 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ while (1) { - /* "partsort.pyx":497 + /* "partsort.pyx":498 * j = r * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_12 = __pyx_v_i; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":498 + /* "partsort.pyx":499 * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i0, i] + * tmp = b[i, i1] */ while (1) { - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_14 = __pyx_v_j; + __pyx_t_15 = __pyx_v_i1; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":499 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "partsort.pyx":500 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":500 - * while x < b[i0, j]: j -= 1 + /* "partsort.pyx":501 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i; + __pyx_t_17 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":501 + /* "partsort.pyx":502 * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp * i += 1 */ - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":502 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":503 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":503 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "partsort.pyx":504 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":504 - * b[i0, j] = tmp + /* "partsort.pyx":505 + * b[j, i1] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -6756,7 +6762,7 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj } __pyx_L17:; - /* "partsort.pyx":505 + /* "partsort.pyx":506 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -6770,7 +6776,7 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj } __pyx_L12_break:; - /* "partsort.pyx":506 + /* "partsort.pyx":507 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -6784,7 +6790,7 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj } __pyx_L19:; - /* "partsort.pyx":507 + /* "partsort.pyx":508 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -6800,7 +6806,7 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj } } - /* "partsort.pyx":508 + /* "partsort.pyx":509 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -6812,11 +6818,11 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":475 + /* "partsort.pyx":476 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=1." + * def partsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -6831,7 +6837,7 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6844,19 +6850,19 @@ static PyObject *__pyx_pf_8partsort_18partsort_2d_int8_axis1(CYTHON_UNUSED PyObj return __pyx_r; } -/* "partsort.pyx":512 +/* "partsort.pyx":513 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=0." + * def partsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_21partsort_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_20partsort_2d_int32_axis0[] = "partsort_2d_int32_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_21partsort_2d_int32_axis0 = {"partsort_2d_int32_axis0", (PyCFunction)__pyx_pw_8partsort_21partsort_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_20partsort_2d_int32_axis0}; -static PyObject *__pyx_pw_8partsort_21partsort_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_21partsort_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_20partsort_2d_float64_axis1[] = "partsort_2d_float64_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float64 along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_21partsort_2d_float64_axis1 = {"partsort_2d_float64_axis1", (PyCFunction)__pyx_pw_8partsort_21partsort_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_20partsort_2d_float64_axis1}; +static PyObject *__pyx_pw_8partsort_21partsort_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -6864,7 +6870,7 @@ static PyObject *__pyx_pw_8partsort_21partsort_2d_int32_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_float64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -6885,11 +6891,11 @@ static PyObject *__pyx_pw_8partsort_21partsort_2d_int32_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6898,18 +6904,18 @@ static PyObject *__pyx_pw_8partsort_21partsort_2d_int32_axis0(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_20partsort_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_20partsort_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -6920,16 +6926,16 @@ static PyObject *__pyx_pw_8partsort_21partsort_2d_int32_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_20partsort_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -6948,24 +6954,24 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - npy_intp __pyx_t_10; - Py_ssize_t __pyx_t_11; - npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; - npy_intp __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; + Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("partsort_2d_float64_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -6976,36 +6982,36 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":514 - * def partsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int32 along axis=0." + /* "partsort.pyx":515 + * def partsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":516 + /* "partsort.pyx":517 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -7013,7 +7019,7 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":519 + /* "partsort.pyx":520 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7022,40 +7028,40 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":520 + /* "partsort.pyx":521 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * if n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":521 + /* "partsort.pyx":522 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 == 0: + * if n1 == 0: * return b */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":522 + /* "partsort.pyx":523 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":523 + /* "partsort.pyx":524 * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * if n1 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -7063,12 +7069,12 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":524 - * if n0 == 0: + /* "partsort.pyx":525 + * if n1 == 0: * return b - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -7078,25 +7084,25 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":525 + /* "partsort.pyx":526 * return b - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -7104,187 +7110,187 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":526 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "partsort.pyx":527 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_t_8 = __pyx_v_n1; + __pyx_t_8 = __pyx_v_n0; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":527 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + /* "partsort.pyx":528 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "partsort.pyx":528 - * for i1 in range(n1): + /* "partsort.pyx":529 + * for i0 in range(n0): * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":529 + /* "partsort.pyx":530 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":530 - * r = n0 - 1 + /* "partsort.pyx":531 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_10 = __pyx_v_k; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":531 + /* "partsort.pyx":532 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":532 - * x = b[k, i1] + /* "partsort.pyx":533 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":533 + /* "partsort.pyx":534 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "partsort.pyx":534 + /* "partsort.pyx":535 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_12 = __pyx_v_i; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":535 + /* "partsort.pyx":536 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_14 = __pyx_v_j; - __pyx_t_15 = __pyx_v_i1; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":536 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":537 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":537 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":538 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_16 = __pyx_v_i; - __pyx_t_17 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":538 + /* "partsort.pyx":539 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp * i += 1 */ - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":539 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":540 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":540 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "partsort.pyx":541 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":541 - * b[j, i1] = tmp + /* "partsort.pyx":542 + * b[i0, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -7295,7 +7301,7 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb } __pyx_L17:; - /* "partsort.pyx":542 + /* "partsort.pyx":543 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -7309,7 +7315,7 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb } __pyx_L12_break:; - /* "partsort.pyx":543 + /* "partsort.pyx":544 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -7323,7 +7329,7 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb } __pyx_L19:; - /* "partsort.pyx":544 + /* "partsort.pyx":545 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -7339,7 +7345,7 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb } } - /* "partsort.pyx":545 + /* "partsort.pyx":546 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -7351,11 +7357,11 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":512 + /* "partsort.pyx":513 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=0." + * def partsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -7370,7 +7376,7 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7383,19 +7389,19 @@ static PyObject *__pyx_pf_8partsort_20partsort_2d_int32_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":549 +/* "partsort.pyx":550 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=1." + * def partsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_23partsort_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_22partsort_2d_int32_axis1[] = "partsort_2d_int32_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int32 along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_23partsort_2d_int32_axis1 = {"partsort_2d_int32_axis1", (PyCFunction)__pyx_pw_8partsort_23partsort_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_22partsort_2d_int32_axis1}; -static PyObject *__pyx_pw_8partsort_23partsort_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_23partsort_3d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_22partsort_3d_float_axis0[] = "partsort_3d_float_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_23partsort_3d_float_axis0 = {"partsort_3d_float_axis0", (PyCFunction)__pyx_pw_8partsort_23partsort_3d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_22partsort_3d_float_axis0}; +static PyObject *__pyx_pw_8partsort_23partsort_3d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -7403,7 +7409,7 @@ static PyObject *__pyx_pw_8partsort_23partsort_2d_int32_axis1(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_int32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_float_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -7424,11 +7430,11 @@ static PyObject *__pyx_pw_8partsort_23partsort_2d_int32_axis1(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7437,18 +7443,18 @@ static PyObject *__pyx_pw_8partsort_23partsort_2d_int32_axis1(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_22partsort_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_22partsort_3d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -7459,19 +7465,21 @@ static PyObject *__pyx_pw_8partsort_23partsort_2d_int32_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_22partsort_3d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -7488,23 +7496,32 @@ static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyOb Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - npy_intp __pyx_t_11; - Py_ssize_t __pyx_t_12; - npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_12; + Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; npy_intp __pyx_t_15; Py_ssize_t __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; Py_ssize_t __pyx_t_20; npy_intp __pyx_t_21; Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_23; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; + Py_ssize_t __pyx_t_26; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; + Py_ssize_t __pyx_t_29; + npy_intp __pyx_t_30; + Py_ssize_t __pyx_t_31; + Py_ssize_t __pyx_t_32; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("partsort_3d_float_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -7515,45 +7532,45 @@ static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":551 - * def partsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int32 along axis=1." + /* "partsort.pyx":552 + * def partsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":553 + /* "partsort.pyx":554 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":556 - * cdef Py_ssize_t i0, i1 + /* "partsort.pyx":557 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -7561,40 +7578,49 @@ static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":557 + /* "partsort.pyx":558 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":558 + /* "partsort.pyx":559 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n1 == 0: - * return b + * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":559 + /* "partsort.pyx":560 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * if n0 == 0: * return b - * if (n < 1) or (n > n1): */ - __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_3) { + __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":560 + /* "partsort.pyx":561 * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: # <<<<<<<<<<<<<< + * return b + * if (n < 1) or (n > n0): + */ + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_3) { + + /* "partsort.pyx":562 + * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -7602,12 +7628,12 @@ static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":561 - * if n1 == 0: - * return b - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + /* "partsort.pyx":563 + * if n0 == 0: + * return b + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -7617,25 +7643,25 @@ static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyOb goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":562 + /* "partsort.pyx":564 * return b - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * l = 0 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -7643,244 +7669,263 @@ static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":563 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + /* "partsort.pyx":565 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * for i2 in range(n2): + * l = 0 */ - __pyx_t_8 = __pyx_v_n0; + __pyx_t_8 = __pyx_v_n1; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; - - /* "partsort.pyx":564 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: - */ - __pyx_v_l = 0; - - /* "partsort.pyx":565 - * for i0 in range(n0): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k] - */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_i1 = __pyx_t_9; /* "partsort.pyx":566 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] - * i = l + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): + * for i2 in range(n2): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_t_10 = __pyx_v_n2; + for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { + __pyx_v_i2 = __pyx_t_11; /* "partsort.pyx":567 - * r = n1 - 1 - * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< - * i = l - * j = r + * for i1 in range(n1): + * for i2 in range(n2): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * while l < r: */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_v_l = 0; /* "partsort.pyx":568 - * while l < r: - * x = b[i0, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + * for i2 in range(n2): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[k, i1, i2] */ - __pyx_v_i = __pyx_v_l; + __pyx_v_r = (__pyx_v_n0 - 1); /* "partsort.pyx":569 - * x = b[i0, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i] < x: i += 1 + * l = 0 + * r = n0 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[k, i1, i2] + * i = l */ - __pyx_v_j = __pyx_v_r; + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":570 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "partsort.pyx":570 + * r = n0 - 1 + * while l < r: + * x = b[k, i1, i2] # <<<<<<<<<<<<<< + * i = l + * j = r */ - while (1) { + __pyx_t_12 = __pyx_v_k; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_14 = __pyx_v_i2; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":571 - * j = r - * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 - * if i <= j: + * while l < r: + * x = b[k, i1, i2] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + __pyx_v_i = __pyx_v_l; /* "partsort.pyx":572 - * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i] + * x = b[k, i1, i2] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i, i1, i2] < x: i += 1 */ - while (1) { - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + __pyx_v_j = __pyx_v_r; /* "partsort.pyx":573 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + while (1) { /* "partsort.pyx":574 - * while x < b[i0, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * j = r + * while 1: + * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_15 = __pyx_v_i; + __pyx_t_16 = __pyx_v_i1; + __pyx_t_17 = __pyx_v_i2; + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } /* "partsort.pyx":575 - * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * i += 1 + * while 1: + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i, i1, i2] */ - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_i2; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } /* "partsort.pyx":576 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":577 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":577 + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: + * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_t_21 = __pyx_v_i; + __pyx_t_22 = __pyx_v_i1; + __pyx_t_23 = __pyx_v_i2; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":578 - * b[i0, j] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":578 + * if i <= j: + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< + * b[j, i1, i2] = tmp + * i += 1 */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L17; - } - __pyx_L17:; + __pyx_t_24 = __pyx_v_j; + __pyx_t_25 = __pyx_v_i1; + __pyx_t_26 = __pyx_v_i2; + __pyx_t_27 = __pyx_v_i; + __pyx_t_28 = __pyx_v_i1; + __pyx_t_29 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":579 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":579 + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L12_break; + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + + /* "partsort.pyx":580 + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break + */ + __pyx_v_i = (__pyx_v_i + 1); + + /* "partsort.pyx":581 + * b[j, i1, i2] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i + */ + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L19; + } + __pyx_L19:; + + /* "partsort.pyx":582 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j + */ + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L14_break; + } } - } - __pyx_L12_break:; + __pyx_L14_break:; - /* "partsort.pyx":580 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":583 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L19; - } - __pyx_L19:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L21; + } + __pyx_L21:; - /* "partsort.pyx":581 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "partsort.pyx":584 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L20; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L22; + } + __pyx_L22:; } - __pyx_L20:; } } - /* "partsort.pyx":582 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":585 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -7890,11 +7935,11 @@ static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":549 + /* "partsort.pyx":550 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=1." + * def partsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -7909,7 +7954,7 @@ static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7922,19 +7967,19 @@ static PyObject *__pyx_pf_8partsort_22partsort_2d_int32_axis1(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":586 +/* "partsort.pyx":589 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=0." + * def partsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_25partsort_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_24partsort_2d_int64_axis0[] = "partsort_2d_int64_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_25partsort_2d_int64_axis0 = {"partsort_2d_int64_axis0", (PyCFunction)__pyx_pw_8partsort_25partsort_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_24partsort_2d_int64_axis0}; -static PyObject *__pyx_pw_8partsort_25partsort_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_25partsort_3d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_24partsort_3d_float_axis1[] = "partsort_3d_float_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_25partsort_3d_float_axis1 = {"partsort_3d_float_axis1", (PyCFunction)__pyx_pw_8partsort_25partsort_3d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_24partsort_3d_float_axis1}; +static PyObject *__pyx_pw_8partsort_25partsort_3d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -7942,7 +7987,7 @@ static PyObject *__pyx_pw_8partsort_25partsort_2d_int64_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_float_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -7963,11 +8008,11 @@ static PyObject *__pyx_pw_8partsort_25partsort_2d_int64_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7976,18 +8021,18 @@ static PyObject *__pyx_pw_8partsort_25partsort_2d_int64_axis0(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_24partsort_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_24partsort_3d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -7998,19 +8043,21 @@ static PyObject *__pyx_pw_8partsort_25partsort_2d_int64_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_24partsort_3d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -8026,24 +8073,33 @@ static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyOb PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - npy_intp __pyx_t_10; + Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; Py_ssize_t __pyx_t_15; npy_intp __pyx_t_16; Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; Py_ssize_t __pyx_t_21; npy_intp __pyx_t_22; Py_ssize_t __pyx_t_23; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; + Py_ssize_t __pyx_t_26; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_29; + Py_ssize_t __pyx_t_30; + npy_intp __pyx_t_31; + Py_ssize_t __pyx_t_32; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_int64_axis0", 0); + __Pyx_RefNannySetupContext("partsort_3d_float_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -8054,45 +8110,45 @@ static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":588 - * def partsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int64 along axis=0." + /* "partsort.pyx":591 + * def partsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":590 + /* "partsort.pyx":593 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":593 - * cdef Py_ssize_t i0, i1 + /* "partsort.pyx":596 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -8100,40 +8156,49 @@ static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":594 + /* "partsort.pyx":597 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":595 + /* "partsort.pyx":598 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 == 0: - * return b + * cdef Py_ssize_t n2 = dim[2] + * if n1 == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":596 + /* "partsort.pyx":599 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * if n1 == 0: * return b - * if (n < 1) or (n > n0): */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_3) { + __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":597 + /* "partsort.pyx":600 * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * cdef Py_ssize_t n2 = dim[2] + * if n1 == 0: # <<<<<<<<<<<<<< + * return b + * if (n < 1) or (n > n1): + */ + __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_3) { + + /* "partsort.pyx":601 + * cdef Py_ssize_t n2 = dim[2] + * if n1 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -8141,12 +8206,12 @@ static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":598 - * if n0 == 0: + /* "partsort.pyx":602 + * if n1 == 0: * return b - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -8156,25 +8221,25 @@ static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyOb goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":599 + /* "partsort.pyx":603 * return b - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * l = 0 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -8182,244 +8247,263 @@ static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":600 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + /* "partsort.pyx":604 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i2 in range(n2): + * l = 0 */ - __pyx_t_8 = __pyx_v_n1; + __pyx_t_8 = __pyx_v_n0; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":601 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * while l < r: + /* "partsort.pyx":605 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): + * for i2 in range(n2): # <<<<<<<<<<<<<< + * l = 0 + * r = n1 - 1 */ - __pyx_v_l = 0; - - /* "partsort.pyx":602 - * for i1 in range(n1): - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[k, i1] + __pyx_t_10 = __pyx_v_n2; + for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { + __pyx_v_i2 = __pyx_t_11; + + /* "partsort.pyx":606 + * for i0 in range(n0): + * for i2 in range(n2): + * l = 0 # <<<<<<<<<<<<<< + * r = n1 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "partsort.pyx":603 - * l = 0 - * r = n0 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] - * i = l + /* "partsort.pyx":607 + * for i2 in range(n2): + * l = 0 + * r = n1 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[i0, k, i2] */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":604 - * r = n0 - 1 - * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "partsort.pyx":608 + * l = 0 + * r = n1 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[i0, k, i2] + * i = l */ - __pyx_t_10 = __pyx_v_k; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":605 - * while l < r: - * x = b[k, i1] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":609 + * r = n1 - 1 + * while l < r: + * x = b[i0, k, i2] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_k; + __pyx_t_14 = __pyx_v_i2; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":606 - * x = b[k, i1] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i, i1] < x: i += 1 + /* "partsort.pyx":610 + * while l < r: + * x = b[i0, k, i2] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":607 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":611 + * x = b[i0, k, i2] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i0, i, i2] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":608 - * j = r - * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 - * if i <= j: + /* "partsort.pyx":612 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 */ while (1) { - __pyx_t_12 = __pyx_v_i; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "partsort.pyx":609 - * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i, i1] + /* "partsort.pyx":613 + * j = r + * while 1: + * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_14 = __pyx_v_j; - __pyx_t_15 = __pyx_v_i1; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_15 = __pyx_v_i0; + __pyx_t_16 = __pyx_v_i; + __pyx_t_17 = __pyx_v_i2; + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":610 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + /* "partsort.pyx":614 + * while 1: + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i0, i, i2] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + while (1) { + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_20 = __pyx_v_i2; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":611 - * while x < b[j, i1]: j -= 1 - * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "partsort.pyx":615 + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] */ - __pyx_t_16 = __pyx_v_i; - __pyx_t_17 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":612 - * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp - * i += 1 + /* "partsort.pyx":616 + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: + * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp */ - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_21 = __pyx_v_i0; + __pyx_t_22 = __pyx_v_i; + __pyx_t_23 = __pyx_v_i2; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":613 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":617 + * if i <= j: + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< + * b[i0, j, i2] = tmp + * i += 1 */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_j; + __pyx_t_26 = __pyx_v_i2; + __pyx_t_27 = __pyx_v_i0; + __pyx_t_28 = __pyx_v_i; + __pyx_t_29 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":614 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":618 + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":615 - * b[j, i1] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":619 + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L17; - } - __pyx_L17:; + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":616 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":620 + * b[i0, j, i2] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L12_break; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L19; + } + __pyx_L19:; + + /* "partsort.pyx":621 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j + */ + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L14_break; + } } - } - __pyx_L12_break:; + __pyx_L14_break:; - /* "partsort.pyx":617 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":622 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L19; - } - __pyx_L19:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L21; + } + __pyx_L21:; - /* "partsort.pyx":618 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "partsort.pyx":623 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L20; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L22; + } + __pyx_L22:; } - __pyx_L20:; } } - /* "partsort.pyx":619 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":624 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -8429,11 +8513,11 @@ static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":586 + /* "partsort.pyx":589 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=0." + * def partsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -8448,7 +8532,7 @@ static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8461,19 +8545,19 @@ static PyObject *__pyx_pf_8partsort_24partsort_2d_int64_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":623 +/* "partsort.pyx":628 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=1." + * def partsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_27partsort_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_26partsort_2d_int64_axis1[] = "partsort_2d_int64_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int64 along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_27partsort_2d_int64_axis1 = {"partsort_2d_int64_axis1", (PyCFunction)__pyx_pw_8partsort_27partsort_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_26partsort_2d_int64_axis1}; -static PyObject *__pyx_pw_8partsort_27partsort_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_27partsort_3d_float_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_26partsort_3d_float_axis2[] = "partsort_3d_float_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=2."; +static PyMethodDef __pyx_mdef_8partsort_27partsort_3d_float_axis2 = {"partsort_3d_float_axis2", (PyCFunction)__pyx_pw_8partsort_27partsort_3d_float_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_26partsort_3d_float_axis2}; +static PyObject *__pyx_pw_8partsort_27partsort_3d_float_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -8481,7 +8565,7 @@ static PyObject *__pyx_pw_8partsort_27partsort_2d_int64_axis1(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_int64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_float_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -8502,11 +8586,11 @@ static PyObject *__pyx_pw_8partsort_27partsort_2d_int64_axis1(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -8515,18 +8599,18 @@ static PyObject *__pyx_pw_8partsort_27partsort_2d_int64_axis1(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_26partsort_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_26partsort_3d_float_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -8537,19 +8621,21 @@ static PyObject *__pyx_pw_8partsort_27partsort_2d_int64_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_26partsort_3d_float_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_float_t __pyx_v_x; + __pyx_t_5numpy_float_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -8566,23 +8652,32 @@ static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyOb Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; - npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; - npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_13; + npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_15; Py_ssize_t __pyx_t_16; npy_intp __pyx_t_17; Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; Py_ssize_t __pyx_t_22; npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_24; + Py_ssize_t __pyx_t_25; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; + Py_ssize_t __pyx_t_28; + npy_intp __pyx_t_29; + Py_ssize_t __pyx_t_30; + Py_ssize_t __pyx_t_31; + npy_intp __pyx_t_32; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_int64_axis1", 0); + __Pyx_RefNannySetupContext("partsort_3d_float_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -8593,45 +8688,45 @@ static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":625 - * def partsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=int64 along axis=1." + /* "partsort.pyx":630 + * def partsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":627 + /* "partsort.pyx":632 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.float_t x, tmp + * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":630 - * cdef Py_ssize_t i0, i1 + /* "partsort.pyx":635 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -8639,40 +8734,49 @@ static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":631 + /* "partsort.pyx":636 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":632 + /* "partsort.pyx":637 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n1 == 0: - * return b + * cdef Py_ssize_t n2 = dim[2] + * if n2 == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":633 + /* "partsort.pyx":638 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * if n2 == 0: * return b - * if (n < 1) or (n > n1): */ - __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_3) { + __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":634 + /* "partsort.pyx":639 * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * cdef Py_ssize_t n2 = dim[2] + * if n2 == 0: # <<<<<<<<<<<<<< + * return b + * if (n < 1) or (n > n2): + */ + __pyx_t_3 = ((__pyx_v_n2 == 0) != 0); + if (__pyx_t_3) { + + /* "partsort.pyx":640 + * cdef Py_ssize_t n2 = dim[2] + * if n2 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -8680,11 +8784,11 @@ static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":635 - * if n1 == 0: + /* "partsort.pyx":641 + * if n2 == 0: * return b - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); @@ -8695,25 +8799,25 @@ static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyOb goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n2) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":636 + /* "partsort.pyx":642 * return b - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< * for i0 in range(n0): - * l = 0 + * for i1 in range(n1): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -8721,244 +8825,263 @@ static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":637 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + /* "partsort.pyx":643 + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + * for i1 in range(n1): + * l = 0 */ __pyx_t_8 = __pyx_v_n0; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":638 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + /* "partsort.pyx":644 + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n2 - 1 */ - __pyx_v_l = 0; + __pyx_t_10 = __pyx_v_n1; + for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { + __pyx_v_i1 = __pyx_t_11; - /* "partsort.pyx":639 + /* "partsort.pyx":645 * for i0 in range(n0): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k] + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n2 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_l = 0; - /* "partsort.pyx":640 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] - * i = l + /* "partsort.pyx":646 + * for i1 in range(n1): + * l = 0 + * r = n2 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[i0, i1, k] */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_v_r = (__pyx_v_n2 - 1); - /* "partsort.pyx":641 - * r = n1 - 1 - * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "partsort.pyx":647 + * l = 0 + * r = n2 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[i0, i1, k] + * i = l */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":642 - * while l < r: - * x = b[i0, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":648 + * r = n2 - 1 + * while l < r: + * x = b[i0, i1, k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_14 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":643 - * x = b[i0, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i] < x: i += 1 + /* "partsort.pyx":649 + * while l < r: + * x = b[i0, i1, k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":644 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "partsort.pyx":650 + * x = b[i0, i1, k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i0, i1, i] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":645 - * j = r - * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 - * if i <= j: + /* "partsort.pyx":651 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 */ while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "partsort.pyx":646 - * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i] + /* "partsort.pyx":652 + * j = r + * while 1: + * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_15 = __pyx_v_i0; + __pyx_t_16 = __pyx_v_i1; + __pyx_t_17 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":647 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + /* "partsort.pyx":653 + * while 1: + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i0, i1, i] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + while (1) { + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":648 - * while x < b[i0, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "partsort.pyx":654 + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":649 - * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * i += 1 + /* "partsort.pyx":655 + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: + * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp */ - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_21 = __pyx_v_i0; + __pyx_t_22 = __pyx_v_i1; + __pyx_t_23 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":650 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":656 + * if i <= j: + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< + * b[i0, i1, j] = tmp + * i += 1 */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i1; + __pyx_t_26 = __pyx_v_j; + __pyx_t_27 = __pyx_v_i0; + __pyx_t_28 = __pyx_v_i1; + __pyx_t_29 = __pyx_v_i; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":651 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":657 + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_j; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":652 - * b[i0, j] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":658 + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L17; - } - __pyx_L17:; + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":653 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":659 + * b[i0, i1, j] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L12_break; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L19; + } + __pyx_L19:; + + /* "partsort.pyx":660 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j + */ + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L14_break; + } } - } - __pyx_L12_break:; + __pyx_L14_break:; - /* "partsort.pyx":654 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":661 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L19; - } - __pyx_L19:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L21; + } + __pyx_L21:; - /* "partsort.pyx":655 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "partsort.pyx":662 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L20; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L22; + } + __pyx_L22:; } - __pyx_L20:; } } - /* "partsort.pyx":656 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":663 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -8968,11 +9091,11 @@ static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":623 + /* "partsort.pyx":628 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=1." + * def partsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -8987,7 +9110,7 @@ static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9000,19 +9123,19 @@ static PyObject *__pyx_pf_8partsort_26partsort_2d_int64_axis1(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":660 +/* "partsort.pyx":667 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=0." + * def partsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_29partsort_3d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_28partsort_3d_int_axis0[] = "partsort_3d_int_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_29partsort_3d_int_axis0 = {"partsort_3d_int_axis0", (PyCFunction)__pyx_pw_8partsort_29partsort_3d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_28partsort_3d_int_axis0}; -static PyObject *__pyx_pw_8partsort_29partsort_3d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_29partsort_3d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_28partsort_3d_float32_axis0[] = "partsort_3d_float32_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_29partsort_3d_float32_axis0 = {"partsort_3d_float32_axis0", (PyCFunction)__pyx_pw_8partsort_29partsort_3d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_28partsort_3d_float32_axis0}; +static PyObject *__pyx_pw_8partsort_29partsort_3d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -9020,7 +9143,7 @@ static PyObject *__pyx_pw_8partsort_29partsort_3d_int_axis0(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_float32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -9041,11 +9164,11 @@ static PyObject *__pyx_pw_8partsort_29partsort_3d_int_axis0(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9054,18 +9177,18 @@ static PyObject *__pyx_pw_8partsort_29partsort_3d_int_axis0(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_28partsort_3d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_28partsort_3d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -9076,14 +9199,14 @@ static PyObject *__pyx_pw_8partsort_29partsort_3d_int_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_28partsort_3d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i1; Py_ssize_t __pyx_v_i2; @@ -9132,7 +9255,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int_axis0", 0); + __Pyx_RefNannySetupContext("partsort_3d_float32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -9143,36 +9266,36 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":662 - * def partsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int along axis=0." + /* "partsort.pyx":669 + * def partsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":664 + /* "partsort.pyx":671 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -9180,7 +9303,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":667 + /* "partsort.pyx":674 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9189,7 +9312,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":668 + /* "partsort.pyx":675 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -9198,7 +9321,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":669 + /* "partsort.pyx":676 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -9207,7 +9330,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":670 + /* "partsort.pyx":677 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -9216,7 +9339,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":671 + /* "partsort.pyx":678 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * if n0 == 0: # <<<<<<<<<<<<<< @@ -9226,7 +9349,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":672 + /* "partsort.pyx":679 * cdef Py_ssize_t n2 = dim[2] * if n0 == 0: * return b # <<<<<<<<<<<<<< @@ -9239,7 +9362,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje goto __pyx_L0; } - /* "partsort.pyx":673 + /* "partsort.pyx":680 * if n0 == 0: * return b * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< @@ -9259,20 +9382,20 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":674 + /* "partsort.pyx":681 * return b * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< * for i1 in range(n1): * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -9280,24 +9403,24 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":675 + /* "partsort.pyx":682 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -9308,7 +9431,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i1 = __pyx_t_9; - /* "partsort.pyx":676 + /* "partsort.pyx":683 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) * for i1 in range(n1): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -9319,7 +9442,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { __pyx_v_i2 = __pyx_t_11; - /* "partsort.pyx":677 + /* "partsort.pyx":684 * for i1 in range(n1): * for i2 in range(n2): * l = 0 # <<<<<<<<<<<<<< @@ -9328,7 +9451,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_l = 0; - /* "partsort.pyx":678 + /* "partsort.pyx":685 * for i2 in range(n2): * l = 0 * r = n0 - 1 # <<<<<<<<<<<<<< @@ -9337,7 +9460,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":679 + /* "partsort.pyx":686 * l = 0 * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -9348,7 +9471,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":680 + /* "partsort.pyx":687 * r = n0 - 1 * while l < r: * x = b[k, i1, i2] # <<<<<<<<<<<<<< @@ -9358,9 +9481,9 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_t_12 = __pyx_v_k; __pyx_t_13 = __pyx_v_i1; __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":681 + /* "partsort.pyx":688 * while l < r: * x = b[k, i1, i2] * i = l # <<<<<<<<<<<<<< @@ -9369,7 +9492,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":682 + /* "partsort.pyx":689 * x = b[k, i1, i2] * i = l * j = r # <<<<<<<<<<<<<< @@ -9378,7 +9501,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":683 + /* "partsort.pyx":690 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -9387,7 +9510,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje */ while (1) { - /* "partsort.pyx":684 + /* "partsort.pyx":691 * j = r * while 1: * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< @@ -9398,12 +9521,12 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_t_15 = __pyx_v_i; __pyx_t_16 = __pyx_v_i1; __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":685 + /* "partsort.pyx":692 * while 1: * while b[i, i1, i2] < x: i += 1 * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< @@ -9414,12 +9537,12 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_t_18 = __pyx_v_j; __pyx_t_19 = __pyx_v_i1; __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":686 + /* "partsort.pyx":693 * while b[i, i1, i2] < x: i += 1 * while x < b[j, i1, i2]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -9429,7 +9552,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":687 + /* "partsort.pyx":694 * while x < b[j, i1, i2]: j -= 1 * if i <= j: * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< @@ -9439,9 +9562,9 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_t_21 = __pyx_v_i; __pyx_t_22 = __pyx_v_i1; __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":688 + /* "partsort.pyx":695 * if i <= j: * tmp = b[i, i1, i2] * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< @@ -9454,9 +9577,9 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_t_27 = __pyx_v_i; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":689 + /* "partsort.pyx":696 * tmp = b[i, i1, i2] * b[i, i1, i2] = b[j, i1, i2] * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< @@ -9466,9 +9589,9 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_t_30 = __pyx_v_j; __pyx_t_31 = __pyx_v_i1; __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":690 + /* "partsort.pyx":697 * b[i, i1, i2] = b[j, i1, i2] * b[j, i1, i2] = tmp * i += 1 # <<<<<<<<<<<<<< @@ -9477,7 +9600,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":691 + /* "partsort.pyx":698 * b[j, i1, i2] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -9489,7 +9612,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje } __pyx_L19:; - /* "partsort.pyx":692 + /* "partsort.pyx":699 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -9503,7 +9626,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje } __pyx_L14_break:; - /* "partsort.pyx":693 + /* "partsort.pyx":700 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -9517,7 +9640,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje } __pyx_L21:; - /* "partsort.pyx":694 + /* "partsort.pyx":701 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -9534,7 +9657,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje } } - /* "partsort.pyx":695 + /* "partsort.pyx":702 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -9546,11 +9669,11 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":660 + /* "partsort.pyx":667 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=0." + * def partsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -9565,7 +9688,7 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9578,19 +9701,19 @@ static PyObject *__pyx_pf_8partsort_28partsort_3d_int_axis0(CYTHON_UNUSED PyObje return __pyx_r; } -/* "partsort.pyx":699 +/* "partsort.pyx":706 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=1." + * def partsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_31partsort_3d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_30partsort_3d_int_axis1[] = "partsort_3d_int_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_31partsort_3d_int_axis1 = {"partsort_3d_int_axis1", (PyCFunction)__pyx_pw_8partsort_31partsort_3d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_30partsort_3d_int_axis1}; -static PyObject *__pyx_pw_8partsort_31partsort_3d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_31partsort_3d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_30partsort_3d_float32_axis1[] = "partsort_3d_float32_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_31partsort_3d_float32_axis1 = {"partsort_3d_float32_axis1", (PyCFunction)__pyx_pw_8partsort_31partsort_3d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_30partsort_3d_float32_axis1}; +static PyObject *__pyx_pw_8partsort_31partsort_3d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -9598,7 +9721,7 @@ static PyObject *__pyx_pw_8partsort_31partsort_3d_int_axis1(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_float32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -9619,11 +9742,11 @@ static PyObject *__pyx_pw_8partsort_31partsort_3d_int_axis1(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9632,18 +9755,18 @@ static PyObject *__pyx_pw_8partsort_31partsort_3d_int_axis1(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_30partsort_3d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_30partsort_3d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -9654,14 +9777,14 @@ static PyObject *__pyx_pw_8partsort_31partsort_3d_int_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_30partsort_3d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i2; @@ -9710,7 +9833,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int_axis1", 0); + __Pyx_RefNannySetupContext("partsort_3d_float32_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -9721,36 +9844,36 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":701 - * def partsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int along axis=1." + /* "partsort.pyx":708 + * def partsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":703 + /* "partsort.pyx":710 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -9758,7 +9881,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":706 + /* "partsort.pyx":713 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9767,7 +9890,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":707 + /* "partsort.pyx":714 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -9776,7 +9899,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":708 + /* "partsort.pyx":715 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -9785,7 +9908,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":709 + /* "partsort.pyx":716 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -9794,7 +9917,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":710 + /* "partsort.pyx":717 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * if n1 == 0: # <<<<<<<<<<<<<< @@ -9804,7 +9927,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":711 + /* "partsort.pyx":718 * cdef Py_ssize_t n2 = dim[2] * if n1 == 0: * return b # <<<<<<<<<<<<<< @@ -9817,7 +9940,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje goto __pyx_L0; } - /* "partsort.pyx":712 + /* "partsort.pyx":719 * if n1 == 0: * return b * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< @@ -9837,20 +9960,20 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":713 + /* "partsort.pyx":720 * return b * if (n < 1) or (n > n1): * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< * for i0 in range(n0): * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -9858,24 +9981,24 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":714 + /* "partsort.pyx":721 * if (n < 1) or (n > n1): * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -9886,7 +10009,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":715 + /* "partsort.pyx":722 * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -9897,7 +10020,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { __pyx_v_i2 = __pyx_t_11; - /* "partsort.pyx":716 + /* "partsort.pyx":723 * for i0 in range(n0): * for i2 in range(n2): * l = 0 # <<<<<<<<<<<<<< @@ -9906,7 +10029,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_l = 0; - /* "partsort.pyx":717 + /* "partsort.pyx":724 * for i2 in range(n2): * l = 0 * r = n1 - 1 # <<<<<<<<<<<<<< @@ -9915,7 +10038,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":718 + /* "partsort.pyx":725 * l = 0 * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -9926,7 +10049,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":719 + /* "partsort.pyx":726 * r = n1 - 1 * while l < r: * x = b[i0, k, i2] # <<<<<<<<<<<<<< @@ -9936,9 +10059,9 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_k; __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":720 + /* "partsort.pyx":727 * while l < r: * x = b[i0, k, i2] * i = l # <<<<<<<<<<<<<< @@ -9947,7 +10070,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":721 + /* "partsort.pyx":728 * x = b[i0, k, i2] * i = l * j = r # <<<<<<<<<<<<<< @@ -9956,7 +10079,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":722 + /* "partsort.pyx":729 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -9965,7 +10088,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje */ while (1) { - /* "partsort.pyx":723 + /* "partsort.pyx":730 * j = r * while 1: * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< @@ -9976,12 +10099,12 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_15 = __pyx_v_i0; __pyx_t_16 = __pyx_v_i; __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":724 + /* "partsort.pyx":731 * while 1: * while b[i0, i, i2] < x: i += 1 * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< @@ -9992,12 +10115,12 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_j; __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":725 + /* "partsort.pyx":732 * while b[i0, i, i2] < x: i += 1 * while x < b[i0, j, i2]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -10007,7 +10130,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":726 + /* "partsort.pyx":733 * while x < b[i0, j, i2]: j -= 1 * if i <= j: * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< @@ -10017,9 +10140,9 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_21 = __pyx_v_i0; __pyx_t_22 = __pyx_v_i; __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":727 + /* "partsort.pyx":734 * if i <= j: * tmp = b[i0, i, i2] * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< @@ -10032,9 +10155,9 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_27 = __pyx_v_i0; __pyx_t_28 = __pyx_v_i; __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":728 + /* "partsort.pyx":735 * tmp = b[i0, i, i2] * b[i0, i, i2] = b[i0, j, i2] * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< @@ -10044,9 +10167,9 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_30 = __pyx_v_i0; __pyx_t_31 = __pyx_v_j; __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":729 + /* "partsort.pyx":736 * b[i0, i, i2] = b[i0, j, i2] * b[i0, j, i2] = tmp * i += 1 # <<<<<<<<<<<<<< @@ -10055,7 +10178,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":730 + /* "partsort.pyx":737 * b[i0, j, i2] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -10067,7 +10190,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje } __pyx_L19:; - /* "partsort.pyx":731 + /* "partsort.pyx":738 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -10081,7 +10204,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje } __pyx_L14_break:; - /* "partsort.pyx":732 + /* "partsort.pyx":739 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -10095,7 +10218,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje } __pyx_L21:; - /* "partsort.pyx":733 + /* "partsort.pyx":740 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -10112,7 +10235,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje } } - /* "partsort.pyx":734 + /* "partsort.pyx":741 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -10124,11 +10247,11 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":699 + /* "partsort.pyx":706 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=1." + * def partsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -10143,7 +10266,7 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -10156,19 +10279,19 @@ static PyObject *__pyx_pf_8partsort_30partsort_3d_int_axis1(CYTHON_UNUSED PyObje return __pyx_r; } -/* "partsort.pyx":738 +/* "partsort.pyx":745 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=2." + * def partsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_33partsort_3d_int_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_32partsort_3d_int_axis2[] = "partsort_3d_int_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=2."; -static PyMethodDef __pyx_mdef_8partsort_33partsort_3d_int_axis2 = {"partsort_3d_int_axis2", (PyCFunction)__pyx_pw_8partsort_33partsort_3d_int_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_32partsort_3d_int_axis2}; -static PyObject *__pyx_pw_8partsort_33partsort_3d_int_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_33partsort_3d_float32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_32partsort_3d_float32_axis2[] = "partsort_3d_float32_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=2."; +static PyMethodDef __pyx_mdef_8partsort_33partsort_3d_float32_axis2 = {"partsort_3d_float32_axis2", (PyCFunction)__pyx_pw_8partsort_33partsort_3d_float32_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_32partsort_3d_float32_axis2}; +static PyObject *__pyx_pw_8partsort_33partsort_3d_float32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -10176,7 +10299,7 @@ static PyObject *__pyx_pw_8partsort_33partsort_3d_int_axis2(PyObject *__pyx_self int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_float32_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -10197,11 +10320,11 @@ static PyObject *__pyx_pw_8partsort_33partsort_3d_int_axis2(PyObject *__pyx_self case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float32_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -10210,18 +10333,18 @@ static PyObject *__pyx_pw_8partsort_33partsort_3d_int_axis2(PyObject *__pyx_self values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_32partsort_3d_int_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_32partsort_3d_float32_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -10232,14 +10355,14 @@ static PyObject *__pyx_pw_8partsort_33partsort_3d_int_axis2(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_32partsort_3d_float32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int_t __pyx_v_x; - __pyx_t_5numpy_int_t __pyx_v_tmp; + __pyx_t_5numpy_float32_t __pyx_v_x; + __pyx_t_5numpy_float32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -10288,7 +10411,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int_axis2", 0); + __Pyx_RefNannySetupContext("partsort_3d_float32_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -10299,36 +10422,36 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":740 - * def partsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int along axis=2." + /* "partsort.pyx":747 + * def partsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":742 + /* "partsort.pyx":749 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int_t x, tmp - * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float32_t x, tmp + * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -10336,7 +10459,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":745 + /* "partsort.pyx":752 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10345,7 +10468,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":746 + /* "partsort.pyx":753 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -10354,7 +10477,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":747 + /* "partsort.pyx":754 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -10363,7 +10486,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":748 + /* "partsort.pyx":755 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -10372,7 +10495,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":749 + /* "partsort.pyx":756 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * if n2 == 0: # <<<<<<<<<<<<<< @@ -10382,7 +10505,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_t_3 = ((__pyx_v_n2 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":750 + /* "partsort.pyx":757 * cdef Py_ssize_t n2 = dim[2] * if n2 == 0: * return b # <<<<<<<<<<<<<< @@ -10395,7 +10518,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje goto __pyx_L0; } - /* "partsort.pyx":751 + /* "partsort.pyx":758 * if n2 == 0: * return b * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< @@ -10415,20 +10538,20 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":752 + /* "partsort.pyx":759 * return b * if (n < 1) or (n > n2): * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< * for i0 in range(n0): * for i1 in range(n1): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -10436,24 +10559,24 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":753 + /* "partsort.pyx":760 * if (n < 1) or (n > n2): * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -10464,7 +10587,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":754 + /* "partsort.pyx":761 * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -10475,7 +10598,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { __pyx_v_i1 = __pyx_t_11; - /* "partsort.pyx":755 + /* "partsort.pyx":762 * for i0 in range(n0): * for i1 in range(n1): * l = 0 # <<<<<<<<<<<<<< @@ -10484,7 +10607,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje */ __pyx_v_l = 0; - /* "partsort.pyx":756 + /* "partsort.pyx":763 * for i1 in range(n1): * l = 0 * r = n2 - 1 # <<<<<<<<<<<<<< @@ -10493,7 +10616,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje */ __pyx_v_r = (__pyx_v_n2 - 1); - /* "partsort.pyx":757 + /* "partsort.pyx":764 * l = 0 * r = n2 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -10504,7 +10627,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":758 + /* "partsort.pyx":765 * r = n2 - 1 * while l < r: * x = b[i0, i1, k] # <<<<<<<<<<<<<< @@ -10514,9 +10637,9 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_i1; __pyx_t_14 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":759 + /* "partsort.pyx":766 * while l < r: * x = b[i0, i1, k] * i = l # <<<<<<<<<<<<<< @@ -10525,7 +10648,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":760 + /* "partsort.pyx":767 * x = b[i0, i1, k] * i = l * j = r # <<<<<<<<<<<<<< @@ -10534,7 +10657,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":761 + /* "partsort.pyx":768 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -10543,7 +10666,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje */ while (1) { - /* "partsort.pyx":762 + /* "partsort.pyx":769 * j = r * while 1: * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< @@ -10554,12 +10677,12 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_t_15 = __pyx_v_i0; __pyx_t_16 = __pyx_v_i1; __pyx_t_17 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":763 + /* "partsort.pyx":770 * while 1: * while b[i0, i1, i] < x: i += 1 * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< @@ -10570,12 +10693,12 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_i1; __pyx_t_20 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":764 + /* "partsort.pyx":771 * while b[i0, i1, i] < x: i += 1 * while x < b[i0, i1, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -10585,7 +10708,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":765 + /* "partsort.pyx":772 * while x < b[i0, i1, j]: j -= 1 * if i <= j: * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< @@ -10595,9 +10718,9 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_t_21 = __pyx_v_i0; __pyx_t_22 = __pyx_v_i1; __pyx_t_23 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":766 + /* "partsort.pyx":773 * if i <= j: * tmp = b[i0, i1, i] * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< @@ -10610,9 +10733,9 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_t_27 = __pyx_v_i0; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":767 + /* "partsort.pyx":774 * tmp = b[i0, i1, i] * b[i0, i1, i] = b[i0, i1, j] * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< @@ -10622,9 +10745,9 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_t_30 = __pyx_v_i0; __pyx_t_31 = __pyx_v_i1; __pyx_t_32 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":768 + /* "partsort.pyx":775 * b[i0, i1, i] = b[i0, i1, j] * b[i0, i1, j] = tmp * i += 1 # <<<<<<<<<<<<<< @@ -10633,7 +10756,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":769 + /* "partsort.pyx":776 * b[i0, i1, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -10645,7 +10768,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje } __pyx_L19:; - /* "partsort.pyx":770 + /* "partsort.pyx":777 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -10659,7 +10782,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje } __pyx_L14_break:; - /* "partsort.pyx":771 + /* "partsort.pyx":778 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -10673,7 +10796,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje } __pyx_L21:; - /* "partsort.pyx":772 + /* "partsort.pyx":779 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -10690,7 +10813,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje } } - /* "partsort.pyx":773 + /* "partsort.pyx":780 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -10702,11 +10825,11 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":738 + /* "partsort.pyx":745 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=2." + * def partsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -10721,7 +10844,7 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -10734,19 +10857,19 @@ static PyObject *__pyx_pf_8partsort_32partsort_3d_int_axis2(CYTHON_UNUSED PyObje return __pyx_r; } -/* "partsort.pyx":777 +/* "partsort.pyx":784 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=0." + * def partsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_35partsort_3d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_34partsort_3d_int8_axis0[] = "partsort_3d_int8_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_35partsort_3d_int8_axis0 = {"partsort_3d_int8_axis0", (PyCFunction)__pyx_pw_8partsort_35partsort_3d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_34partsort_3d_int8_axis0}; -static PyObject *__pyx_pw_8partsort_35partsort_3d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_35partsort_3d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_34partsort_3d_float64_axis0[] = "partsort_3d_float64_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_35partsort_3d_float64_axis0 = {"partsort_3d_float64_axis0", (PyCFunction)__pyx_pw_8partsort_35partsort_3d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_34partsort_3d_float64_axis0}; +static PyObject *__pyx_pw_8partsort_35partsort_3d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -10754,7 +10877,7 @@ static PyObject *__pyx_pw_8partsort_35partsort_3d_int8_axis0(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_float64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -10775,11 +10898,11 @@ static PyObject *__pyx_pw_8partsort_35partsort_3d_int8_axis0(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -10788,18 +10911,18 @@ static PyObject *__pyx_pw_8partsort_35partsort_3d_int8_axis0(PyObject *__pyx_sel values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_34partsort_3d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_34partsort_3d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -10810,14 +10933,14 @@ static PyObject *__pyx_pw_8partsort_35partsort_3d_int8_axis0(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_34partsort_3d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i1; Py_ssize_t __pyx_v_i2; @@ -10866,7 +10989,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int8_axis0", 0); + __Pyx_RefNannySetupContext("partsort_3d_float64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -10877,36 +11000,36 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":779 - * def partsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int8 along axis=0." + /* "partsort.pyx":786 + * def partsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":781 + /* "partsort.pyx":788 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -10914,7 +11037,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":784 + /* "partsort.pyx":791 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -10923,7 +11046,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":785 + /* "partsort.pyx":792 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -10932,7 +11055,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":786 + /* "partsort.pyx":793 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -10941,7 +11064,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":787 + /* "partsort.pyx":794 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -10950,7 +11073,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":788 + /* "partsort.pyx":795 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * if n0 == 0: # <<<<<<<<<<<<<< @@ -10960,7 +11083,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":789 + /* "partsort.pyx":796 * cdef Py_ssize_t n2 = dim[2] * if n0 == 0: * return b # <<<<<<<<<<<<<< @@ -10973,7 +11096,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "partsort.pyx":790 + /* "partsort.pyx":797 * if n0 == 0: * return b * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< @@ -10993,20 +11116,20 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":791 + /* "partsort.pyx":798 * return b * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< * for i1 in range(n1): * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -11014,24 +11137,24 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":792 + /* "partsort.pyx":799 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -11042,7 +11165,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i1 = __pyx_t_9; - /* "partsort.pyx":793 + /* "partsort.pyx":800 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) * for i1 in range(n1): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -11053,7 +11176,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { __pyx_v_i2 = __pyx_t_11; - /* "partsort.pyx":794 + /* "partsort.pyx":801 * for i1 in range(n1): * for i2 in range(n2): * l = 0 # <<<<<<<<<<<<<< @@ -11062,7 +11185,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_l = 0; - /* "partsort.pyx":795 + /* "partsort.pyx":802 * for i2 in range(n2): * l = 0 * r = n0 - 1 # <<<<<<<<<<<<<< @@ -11071,7 +11194,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":796 + /* "partsort.pyx":803 * l = 0 * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -11082,7 +11205,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":797 + /* "partsort.pyx":804 * r = n0 - 1 * while l < r: * x = b[k, i1, i2] # <<<<<<<<<<<<<< @@ -11092,9 +11215,9 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_12 = __pyx_v_k; __pyx_t_13 = __pyx_v_i1; __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":798 + /* "partsort.pyx":805 * while l < r: * x = b[k, i1, i2] * i = l # <<<<<<<<<<<<<< @@ -11103,7 +11226,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":799 + /* "partsort.pyx":806 * x = b[k, i1, i2] * i = l * j = r # <<<<<<<<<<<<<< @@ -11112,7 +11235,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":800 + /* "partsort.pyx":807 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -11121,7 +11244,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj */ while (1) { - /* "partsort.pyx":801 + /* "partsort.pyx":808 * j = r * while 1: * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< @@ -11132,12 +11255,12 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_15 = __pyx_v_i; __pyx_t_16 = __pyx_v_i1; __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":802 + /* "partsort.pyx":809 * while 1: * while b[i, i1, i2] < x: i += 1 * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< @@ -11148,12 +11271,12 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_18 = __pyx_v_j; __pyx_t_19 = __pyx_v_i1; __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":803 + /* "partsort.pyx":810 * while b[i, i1, i2] < x: i += 1 * while x < b[j, i1, i2]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -11163,7 +11286,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":804 + /* "partsort.pyx":811 * while x < b[j, i1, i2]: j -= 1 * if i <= j: * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< @@ -11173,9 +11296,9 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_21 = __pyx_v_i; __pyx_t_22 = __pyx_v_i1; __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":805 + /* "partsort.pyx":812 * if i <= j: * tmp = b[i, i1, i2] * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< @@ -11188,9 +11311,9 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_27 = __pyx_v_i; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":806 + /* "partsort.pyx":813 * tmp = b[i, i1, i2] * b[i, i1, i2] = b[j, i1, i2] * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< @@ -11200,9 +11323,9 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_30 = __pyx_v_j; __pyx_t_31 = __pyx_v_i1; __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":807 + /* "partsort.pyx":814 * b[i, i1, i2] = b[j, i1, i2] * b[j, i1, i2] = tmp * i += 1 # <<<<<<<<<<<<<< @@ -11211,7 +11334,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":808 + /* "partsort.pyx":815 * b[j, i1, i2] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -11223,7 +11346,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj } __pyx_L19:; - /* "partsort.pyx":809 + /* "partsort.pyx":816 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -11237,7 +11360,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj } __pyx_L14_break:; - /* "partsort.pyx":810 + /* "partsort.pyx":817 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -11251,7 +11374,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj } __pyx_L21:; - /* "partsort.pyx":811 + /* "partsort.pyx":818 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -11268,7 +11391,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj } } - /* "partsort.pyx":812 + /* "partsort.pyx":819 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -11280,11 +11403,11 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":777 + /* "partsort.pyx":784 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=0." + * def partsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -11299,7 +11422,7 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -11312,19 +11435,19 @@ static PyObject *__pyx_pf_8partsort_34partsort_3d_int8_axis0(CYTHON_UNUSED PyObj return __pyx_r; } -/* "partsort.pyx":816 +/* "partsort.pyx":823 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=1." + * def partsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_37partsort_3d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_36partsort_3d_int8_axis1[] = "partsort_3d_int8_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_37partsort_3d_int8_axis1 = {"partsort_3d_int8_axis1", (PyCFunction)__pyx_pw_8partsort_37partsort_3d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_36partsort_3d_int8_axis1}; -static PyObject *__pyx_pw_8partsort_37partsort_3d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_37partsort_3d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_36partsort_3d_float64_axis1[] = "partsort_3d_float64_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_37partsort_3d_float64_axis1 = {"partsort_3d_float64_axis1", (PyCFunction)__pyx_pw_8partsort_37partsort_3d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_36partsort_3d_float64_axis1}; +static PyObject *__pyx_pw_8partsort_37partsort_3d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -11332,7 +11455,7 @@ static PyObject *__pyx_pw_8partsort_37partsort_3d_int8_axis1(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int8_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_float64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -11353,11 +11476,11 @@ static PyObject *__pyx_pw_8partsort_37partsort_3d_int8_axis1(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -11366,18 +11489,18 @@ static PyObject *__pyx_pw_8partsort_37partsort_3d_int8_axis1(PyObject *__pyx_sel values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_36partsort_3d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_36partsort_3d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -11388,14 +11511,14 @@ static PyObject *__pyx_pw_8partsort_37partsort_3d_int8_axis1(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_36partsort_3d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i2; @@ -11444,7 +11567,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int8_axis1", 0); + __Pyx_RefNannySetupContext("partsort_3d_float64_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -11455,36 +11578,36 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":818 - * def partsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int8 along axis=1." + /* "partsort.pyx":825 + * def partsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":820 + /* "partsort.pyx":827 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -11492,7 +11615,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":823 + /* "partsort.pyx":830 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -11501,7 +11624,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":824 + /* "partsort.pyx":831 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -11510,7 +11633,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":825 + /* "partsort.pyx":832 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -11519,7 +11642,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":826 + /* "partsort.pyx":833 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -11528,7 +11651,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":827 + /* "partsort.pyx":834 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * if n1 == 0: # <<<<<<<<<<<<<< @@ -11538,7 +11661,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":828 + /* "partsort.pyx":835 * cdef Py_ssize_t n2 = dim[2] * if n1 == 0: * return b # <<<<<<<<<<<<<< @@ -11551,7 +11674,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "partsort.pyx":829 + /* "partsort.pyx":836 * if n1 == 0: * return b * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< @@ -11571,20 +11694,20 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":830 + /* "partsort.pyx":837 * return b * if (n < 1) or (n > n1): * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< * for i0 in range(n0): * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -11592,24 +11715,24 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":831 + /* "partsort.pyx":838 * if (n < 1) or (n > n1): * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -11620,7 +11743,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":832 + /* "partsort.pyx":839 * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): * for i2 in range(n2): # <<<<<<<<<<<<<< @@ -11631,7 +11754,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { __pyx_v_i2 = __pyx_t_11; - /* "partsort.pyx":833 + /* "partsort.pyx":840 * for i0 in range(n0): * for i2 in range(n2): * l = 0 # <<<<<<<<<<<<<< @@ -11640,7 +11763,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_l = 0; - /* "partsort.pyx":834 + /* "partsort.pyx":841 * for i2 in range(n2): * l = 0 * r = n1 - 1 # <<<<<<<<<<<<<< @@ -11649,7 +11772,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":835 + /* "partsort.pyx":842 * l = 0 * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -11660,7 +11783,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":836 + /* "partsort.pyx":843 * r = n1 - 1 * while l < r: * x = b[i0, k, i2] # <<<<<<<<<<<<<< @@ -11670,9 +11793,9 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_k; __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":837 + /* "partsort.pyx":844 * while l < r: * x = b[i0, k, i2] * i = l # <<<<<<<<<<<<<< @@ -11681,7 +11804,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":838 + /* "partsort.pyx":845 * x = b[i0, k, i2] * i = l * j = r # <<<<<<<<<<<<<< @@ -11690,7 +11813,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":839 + /* "partsort.pyx":846 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -11699,7 +11822,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj */ while (1) { - /* "partsort.pyx":840 + /* "partsort.pyx":847 * j = r * while 1: * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< @@ -11710,12 +11833,12 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_15 = __pyx_v_i0; __pyx_t_16 = __pyx_v_i; __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":841 + /* "partsort.pyx":848 * while 1: * while b[i0, i, i2] < x: i += 1 * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< @@ -11726,12 +11849,12 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_j; __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":842 + /* "partsort.pyx":849 * while b[i0, i, i2] < x: i += 1 * while x < b[i0, j, i2]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -11741,7 +11864,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":843 + /* "partsort.pyx":850 * while x < b[i0, j, i2]: j -= 1 * if i <= j: * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< @@ -11751,9 +11874,9 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_21 = __pyx_v_i0; __pyx_t_22 = __pyx_v_i; __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":844 + /* "partsort.pyx":851 * if i <= j: * tmp = b[i0, i, i2] * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< @@ -11766,9 +11889,9 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_27 = __pyx_v_i0; __pyx_t_28 = __pyx_v_i; __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":845 + /* "partsort.pyx":852 * tmp = b[i0, i, i2] * b[i0, i, i2] = b[i0, j, i2] * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< @@ -11778,9 +11901,9 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_30 = __pyx_v_i0; __pyx_t_31 = __pyx_v_j; __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":846 + /* "partsort.pyx":853 * b[i0, i, i2] = b[i0, j, i2] * b[i0, j, i2] = tmp * i += 1 # <<<<<<<<<<<<<< @@ -11789,7 +11912,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":847 + /* "partsort.pyx":854 * b[i0, j, i2] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -11801,7 +11924,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj } __pyx_L19:; - /* "partsort.pyx":848 + /* "partsort.pyx":855 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -11815,7 +11938,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj } __pyx_L14_break:; - /* "partsort.pyx":849 + /* "partsort.pyx":856 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -11829,7 +11952,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj } __pyx_L21:; - /* "partsort.pyx":850 + /* "partsort.pyx":857 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -11846,7 +11969,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj } } - /* "partsort.pyx":851 + /* "partsort.pyx":858 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -11858,11 +11981,11 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":816 + /* "partsort.pyx":823 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=1." + * def partsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -11877,7 +12000,7 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -11890,19 +12013,19 @@ static PyObject *__pyx_pf_8partsort_36partsort_3d_int8_axis1(CYTHON_UNUSED PyObj return __pyx_r; } -/* "partsort.pyx":855 +/* "partsort.pyx":862 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=2." + * def partsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_39partsort_3d_int8_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_38partsort_3d_int8_axis2[] = "partsort_3d_int8_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=2."; -static PyMethodDef __pyx_mdef_8partsort_39partsort_3d_int8_axis2 = {"partsort_3d_int8_axis2", (PyCFunction)__pyx_pw_8partsort_39partsort_3d_int8_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_38partsort_3d_int8_axis2}; -static PyObject *__pyx_pw_8partsort_39partsort_3d_int8_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_39partsort_3d_float64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_38partsort_3d_float64_axis2[] = "partsort_3d_float64_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=2."; +static PyMethodDef __pyx_mdef_8partsort_39partsort_3d_float64_axis2 = {"partsort_3d_float64_axis2", (PyCFunction)__pyx_pw_8partsort_39partsort_3d_float64_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_38partsort_3d_float64_axis2}; +static PyObject *__pyx_pw_8partsort_39partsort_3d_float64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -11910,7 +12033,7 @@ static PyObject *__pyx_pw_8partsort_39partsort_3d_int8_axis2(PyObject *__pyx_sel int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int8_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_float64_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -11931,11 +12054,11 @@ static PyObject *__pyx_pw_8partsort_39partsort_3d_int8_axis2(PyObject *__pyx_sel case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int8_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float64_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -11944,18 +12067,18 @@ static PyObject *__pyx_pw_8partsort_39partsort_3d_int8_axis2(PyObject *__pyx_sel values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int8_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_38partsort_3d_int8_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_38partsort_3d_float64_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -11966,14 +12089,14 @@ static PyObject *__pyx_pw_8partsort_39partsort_3d_int8_axis2(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_38partsort_3d_float64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int8_t __pyx_v_x; - __pyx_t_5numpy_int8_t __pyx_v_tmp; + __pyx_t_5numpy_float64_t __pyx_v_x; + __pyx_t_5numpy_float64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -12022,7 +12145,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int8_axis2", 0); + __Pyx_RefNannySetupContext("partsort_3d_float64_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -12033,36 +12156,36 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":857 - * def partsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int8 along axis=2." + /* "partsort.pyx":864 + * def partsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=float64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":859 + /* "partsort.pyx":866 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int8_t x, tmp - * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.float64_t x, tmp + * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } @@ -12070,7 +12193,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":862 + /* "partsort.pyx":869 * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -12079,7 +12202,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":863 + /* "partsort.pyx":870 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -12088,7 +12211,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":864 + /* "partsort.pyx":871 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -12097,7 +12220,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":865 + /* "partsort.pyx":872 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< @@ -12106,7 +12229,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj */ __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":866 + /* "partsort.pyx":873 * cdef Py_ssize_t n1 = dim[1] * cdef Py_ssize_t n2 = dim[2] * if n2 == 0: # <<<<<<<<<<<<<< @@ -12116,7 +12239,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_t_3 = ((__pyx_v_n2 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":867 + /* "partsort.pyx":874 * cdef Py_ssize_t n2 = dim[2] * if n2 == 0: * return b # <<<<<<<<<<<<<< @@ -12129,7 +12252,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "partsort.pyx":868 + /* "partsort.pyx":875 * if n2 == 0: * return b * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< @@ -12149,20 +12272,20 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":869 + /* "partsort.pyx":876 * return b * if (n < 1) or (n > n2): * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< * for i0 in range(n0): * for i1 in range(n1): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -12170,24 +12293,24 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":870 + /* "partsort.pyx":877 * if (n < 1) or (n > n2): * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -12198,7 +12321,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":871 + /* "partsort.pyx":878 * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -12209,7 +12332,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { __pyx_v_i1 = __pyx_t_11; - /* "partsort.pyx":872 + /* "partsort.pyx":879 * for i0 in range(n0): * for i1 in range(n1): * l = 0 # <<<<<<<<<<<<<< @@ -12218,7 +12341,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj */ __pyx_v_l = 0; - /* "partsort.pyx":873 + /* "partsort.pyx":880 * for i1 in range(n1): * l = 0 * r = n2 - 1 # <<<<<<<<<<<<<< @@ -12227,7 +12350,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj */ __pyx_v_r = (__pyx_v_n2 - 1); - /* "partsort.pyx":874 + /* "partsort.pyx":881 * l = 0 * r = n2 - 1 * while l < r: # <<<<<<<<<<<<<< @@ -12238,7 +12361,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":875 + /* "partsort.pyx":882 * r = n2 - 1 * while l < r: * x = b[i0, i1, k] # <<<<<<<<<<<<<< @@ -12248,9 +12371,9 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_i1; __pyx_t_14 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":876 + /* "partsort.pyx":883 * while l < r: * x = b[i0, i1, k] * i = l # <<<<<<<<<<<<<< @@ -12259,7 +12382,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":877 + /* "partsort.pyx":884 * x = b[i0, i1, k] * i = l * j = r # <<<<<<<<<<<<<< @@ -12268,7 +12391,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":878 + /* "partsort.pyx":885 * i = l * j = r * while 1: # <<<<<<<<<<<<<< @@ -12277,7 +12400,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj */ while (1) { - /* "partsort.pyx":879 + /* "partsort.pyx":886 * j = r * while 1: * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< @@ -12288,12 +12411,12 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_t_15 = __pyx_v_i0; __pyx_t_16 = __pyx_v_i1; __pyx_t_17 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":880 + /* "partsort.pyx":887 * while 1: * while b[i0, i1, i] < x: i += 1 * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< @@ -12304,12 +12427,12 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_i1; __pyx_t_20 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":881 + /* "partsort.pyx":888 * while b[i0, i1, i] < x: i += 1 * while x < b[i0, i1, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< @@ -12319,7 +12442,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":882 + /* "partsort.pyx":889 * while x < b[i0, i1, j]: j -= 1 * if i <= j: * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< @@ -12329,9 +12452,9 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_t_21 = __pyx_v_i0; __pyx_t_22 = __pyx_v_i1; __pyx_t_23 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":883 + /* "partsort.pyx":890 * if i <= j: * tmp = b[i0, i1, i] * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< @@ -12344,9 +12467,9 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_t_27 = __pyx_v_i0; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":884 + /* "partsort.pyx":891 * tmp = b[i0, i1, i] * b[i0, i1, i] = b[i0, i1, j] * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< @@ -12356,9 +12479,9 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_t_30 = __pyx_v_i0; __pyx_t_31 = __pyx_v_i1; __pyx_t_32 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":885 + /* "partsort.pyx":892 * b[i0, i1, i] = b[i0, i1, j] * b[i0, i1, j] = tmp * i += 1 # <<<<<<<<<<<<<< @@ -12367,7 +12490,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":886 + /* "partsort.pyx":893 * b[i0, i1, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< @@ -12379,7 +12502,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj } __pyx_L19:; - /* "partsort.pyx":887 + /* "partsort.pyx":894 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -12393,7 +12516,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj } __pyx_L14_break:; - /* "partsort.pyx":888 + /* "partsort.pyx":895 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -12407,7 +12530,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj } __pyx_L21:; - /* "partsort.pyx":889 + /* "partsort.pyx":896 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -12424,7 +12547,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj } } - /* "partsort.pyx":890 + /* "partsort.pyx":897 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -12436,11 +12559,11 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":855 + /* "partsort.pyx":862 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=2." + * def partsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -12455,7 +12578,7 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int8_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_float64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -12468,19 +12591,19 @@ static PyObject *__pyx_pf_8partsort_38partsort_3d_int8_axis2(CYTHON_UNUSED PyObj return __pyx_r; } -/* "partsort.pyx":894 +/* "partsort.pyx":901 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=0." + * def partsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_41partsort_3d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_40partsort_3d_int32_axis0[] = "partsort_3d_int32_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_41partsort_3d_int32_axis0 = {"partsort_3d_int32_axis0", (PyCFunction)__pyx_pw_8partsort_41partsort_3d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_40partsort_3d_int32_axis0}; -static PyObject *__pyx_pw_8partsort_41partsort_3d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_41partsort_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_40partsort_1d_int_axis0[] = "partsort_1d_int_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_41partsort_1d_int_axis0 = {"partsort_1d_int_axis0", (PyCFunction)__pyx_pw_8partsort_41partsort_1d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_40partsort_1d_int_axis0}; +static PyObject *__pyx_pw_8partsort_41partsort_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -12488,7 +12611,7 @@ static PyObject *__pyx_pw_8partsort_41partsort_3d_int32_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_1d_int_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -12509,11 +12632,11 @@ static PyObject *__pyx_pw_8partsort_41partsort_3d_int32_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -12522,18 +12645,18 @@ static PyObject *__pyx_pw_8partsort_41partsort_3d_int32_axis0(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_40partsort_3d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_40partsort_1d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -12544,21 +12667,17 @@ static PyObject *__pyx_pw_8partsort_41partsort_3d_int32_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_40partsort_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; - Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -12572,35 +12691,17 @@ static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyOb PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_8; + npy_intp __pyx_t_9; + npy_intp __pyx_t_10; + npy_intp __pyx_t_11; npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; - npy_intp __pyx_t_15; - Py_ssize_t __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - Py_ssize_t __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; - Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; - Py_ssize_t __pyx_t_28; - Py_ssize_t __pyx_t_29; - npy_intp __pyx_t_30; - Py_ssize_t __pyx_t_31; - Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_13; + npy_intp __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int32_axis0", 0); + __Pyx_RefNannySetupContext("partsort_1d_int_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -12611,82 +12712,64 @@ static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "partsort.pyx":896 - * def partsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int32 along axis=0." + /* "partsort.pyx":903 + * def partsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":898 + /* "partsort.pyx":905 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":901 - * cdef Py_ssize_t i0, i1, i2 + /* "partsort.pyx":908 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":902 + /* "partsort.pyx":909 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: + * return b */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":903 + /* "partsort.pyx":910 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * if n0 == 0: - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "partsort.pyx":904 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * if n0 == 0: - * return b - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "partsort.pyx":905 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] * if n0 == 0: # <<<<<<<<<<<<<< * return b * if (n < 1) or (n > n0): @@ -12694,8 +12777,8 @@ static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyOb __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":906 - * cdef Py_ssize_t n2 = dim[2] + /* "partsort.pyx":911 + * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * return b # <<<<<<<<<<<<<< * if (n < 1) or (n > n0): @@ -12707,12 +12790,12 @@ static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":907 + /* "partsort.pyx":912 * if n0 == 0: * return b * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * l = 0 */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -12727,20 +12810,20 @@ static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyOb __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":908 + /* "partsort.pyx":913 * return b * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * for i2 in range(n2): + * l = 0 + * r = n0 - 1 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -12748,263 +12831,258 @@ static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":909 + /* "partsort.pyx":914 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * l = 0 + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_l = 0; - /* "partsort.pyx":910 + /* "partsort.pyx":915 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: + * while l < r: */ - __pyx_t_10 = __pyx_v_n2; - for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { - __pyx_v_i2 = __pyx_t_11; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":911 - * for i1 in range(n1): - * for i2 in range(n2): - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * while l < r: + /* "partsort.pyx":916 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_v_l = 0; + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { - /* "partsort.pyx":912 - * for i2 in range(n2): - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[k, i1, i2] + /* "partsort.pyx":917 + * r = n0 - 1 + * with nogil: + * while l < r: # <<<<<<<<<<<<<< + * x = b[k] + * i = l */ - __pyx_v_r = (__pyx_v_n0 - 1); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":913 - * l = 0 - * r = n0 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1, i2] - * i = l + /* "partsort.pyx":918 + * with nogil: + * while l < r: + * x = b[k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_t_8 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":914 - * r = n0 - 1 - * while l < r: - * x = b[k, i1, i2] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "partsort.pyx":919 + * while l < r: + * x = b[k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_t_12 = __pyx_v_k; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":915 - * while l < r: - * x = b[k, i1, i2] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":920 + * x = b[k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i] < x: i += 1 */ - __pyx_v_i = __pyx_v_l; + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":916 - * x = b[k, i1, i2] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i, i1, i2] < x: i += 1 + /* "partsort.pyx":921 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ - __pyx_v_j = __pyx_v_r; + while (1) { - /* "partsort.pyx":917 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 + /* "partsort.pyx":922 + * j = r + * while 1: + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 + * if i <= j: */ - while (1) { + while (1) { + __pyx_t_9 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":918 - * j = r - * while 1: - * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: + /* "partsort.pyx":923 + * while 1: + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i] */ - while (1) { - __pyx_t_15 = __pyx_v_i; - __pyx_t_16 = __pyx_v_i1; - __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_10 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":919 - * while 1: - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i, i1, i2] + /* "partsort.pyx":924 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i] + * b[i] = b[j] */ - while (1) { - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":920 - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] + /* "partsort.pyx":925 + * while x < b[j]: j -= 1 + * if i <= j: + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_11 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":921 - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: - * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp + /* "partsort.pyx":926 + * if i <= j: + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp + * i += 1 */ - __pyx_t_21 = __pyx_v_i; - __pyx_t_22 = __pyx_v_i1; - __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":922 - * if i <= j: - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< - * b[j, i1, i2] = tmp - * i += 1 + /* "partsort.pyx":927 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_24 = __pyx_v_j; - __pyx_t_25 = __pyx_v_i1; - __pyx_t_26 = __pyx_v_i2; - __pyx_t_27 = __pyx_v_i; - __pyx_t_28 = __pyx_v_i1; - __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_14 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "partsort.pyx":923 - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":928 + * b[i] = b[j] + * b[j] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":924 - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":929 + * b[j] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L18; + } + __pyx_L18:; - /* "partsort.pyx":925 - * b[j, i1, i2] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":930 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L19; + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L13_break; + } } - __pyx_L19:; + __pyx_L13_break:; - /* "partsort.pyx":926 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":931 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j + * return b */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); if (__pyx_t_3) { - goto __pyx_L14_break; + __pyx_v_l = __pyx_v_i; + goto __pyx_L20; } - } - __pyx_L14_break:; + __pyx_L20:; - /* "partsort.pyx":927 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":932 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b + * */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L21; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L21; + } + __pyx_L21:; } - __pyx_L21:; + } - /* "partsort.pyx":928 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< - * return b - * + /* "partsort.pyx":916 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L22; + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L9; } - __pyx_L22:; + __pyx_L9:; } - } } - /* "partsort.pyx":929 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":933 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -13014,11 +13092,11 @@ static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":894 + /* "partsort.pyx":901 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=0." + * def partsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -13033,7 +13111,7 @@ static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -13046,19 +13124,19 @@ static PyObject *__pyx_pf_8partsort_40partsort_3d_int32_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":933 +/* "partsort.pyx":937 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=1." + * def partsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_43partsort_3d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_42partsort_3d_int32_axis1[] = "partsort_3d_int32_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_43partsort_3d_int32_axis1 = {"partsort_3d_int32_axis1", (PyCFunction)__pyx_pw_8partsort_43partsort_3d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_42partsort_3d_int32_axis1}; -static PyObject *__pyx_pw_8partsort_43partsort_3d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_43partsort_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_42partsort_1d_int8_axis0[] = "partsort_1d_int8_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_43partsort_1d_int8_axis0 = {"partsort_1d_int8_axis0", (PyCFunction)__pyx_pw_8partsort_43partsort_1d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_42partsort_1d_int8_axis0}; +static PyObject *__pyx_pw_8partsort_43partsort_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -13066,7 +13144,7 @@ static PyObject *__pyx_pw_8partsort_43partsort_3d_int32_axis1(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_1d_int8_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -13087,11 +13165,11 @@ static PyObject *__pyx_pw_8partsort_43partsort_3d_int32_axis1(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -13100,18 +13178,18 @@ static PyObject *__pyx_pw_8partsort_43partsort_3d_int32_axis1(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_42partsort_3d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_42partsort_1d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -13122,21 +13200,17 @@ static PyObject *__pyx_pw_8partsort_43partsort_3d_int32_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_42partsort_3d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_42partsort_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int32_t __pyx_v_x; - __pyx_t_5numpy_int32_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -13150,35 +13224,17 @@ static PyObject *__pyx_pf_8partsort_42partsort_3d_int32_axis1(CYTHON_UNUSED PyOb PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_8; + npy_intp __pyx_t_9; + npy_intp __pyx_t_10; + npy_intp __pyx_t_11; + npy_intp __pyx_t_12; npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; - Py_ssize_t __pyx_t_15; - npy_intp __pyx_t_16; - Py_ssize_t __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; - Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; - Py_ssize_t __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; - Py_ssize_t __pyx_t_29; - Py_ssize_t __pyx_t_30; - npy_intp __pyx_t_31; - Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int32_axis1", 0); + __Pyx_RefNannySetupContext("partsort_1d_int8_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -13189,95 +13245,77 @@ static PyObject *__pyx_pf_8partsort_42partsort_3d_int32_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "partsort.pyx":935 - * def partsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int32 along axis=1." + /* "partsort.pyx":939 + * def partsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":937 + /* "partsort.pyx":941 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":940 - * cdef Py_ssize_t i0, i1, i2 + /* "partsort.pyx":944 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":941 + /* "partsort.pyx":945 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: + * return b */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":942 + /* "partsort.pyx":946 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * if n1 == 0: - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "partsort.pyx":943 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * if n1 == 0: - * return b - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "partsort.pyx":944 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":945 - * cdef Py_ssize_t n2 = dim[2] - * if n1 == 0: + /* "partsort.pyx":947 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -13285,12 +13323,12 @@ static PyObject *__pyx_pf_8partsort_42partsort_3d_int32_axis1(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":946 - * if n1 == 0: + /* "partsort.pyx":948 + * if n0 == 0: * return b - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -13300,25 +13338,25 @@ static PyObject *__pyx_pf_8partsort_42partsort_3d_int32_axis1(CYTHON_UNUSED PyOb goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":947 + /* "partsort.pyx":949 * return b - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i2 in range(n2): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -13326,263 +13364,258 @@ static PyObject *__pyx_pf_8partsort_42partsort_3d_int32_axis1(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":948 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * l = 0 - */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; - - /* "partsort.pyx":949 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 - */ - __pyx_t_10 = __pyx_v_n2; - for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { - __pyx_v_i2 = __pyx_t_11; - - /* "partsort.pyx":950 - * for i0 in range(n0): - * for i2 in range(n2): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + /* "partsort.pyx":950 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_v_l = 0; + __pyx_v_l = 0; - /* "partsort.pyx":951 - * for i2 in range(n2): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k, i2] + /* "partsort.pyx":951 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: + * while l < r: */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":952 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k, i2] - * i = l + /* "partsort.pyx":952 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { /* "partsort.pyx":953 - * r = n1 - 1 - * while l < r: - * x = b[i0, k, i2] # <<<<<<<<<<<<<< - * i = l - * j = r + * r = n0 - 1 + * with nogil: + * while l < r: # <<<<<<<<<<<<<< + * x = b[k] + * i = l */ - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_k; - __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":954 - * while l < r: - * x = b[i0, k, i2] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":954 + * with nogil: + * while l < r: + * x = b[k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_8 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":955 - * x = b[i0, k, i2] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i, i2] < x: i += 1 + /* "partsort.pyx":955 + * while l < r: + * x = b[k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":956 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 + /* "partsort.pyx":956 + * x = b[k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; /* "partsort.pyx":957 - * j = r - * while 1: - * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ while (1) { - __pyx_t_15 = __pyx_v_i0; - __pyx_t_16 = __pyx_v_i; - __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "partsort.pyx":958 - * while 1: - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i, i2] + /* "partsort.pyx":958 + * j = r + * while 1: + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_9 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":959 - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] + /* "partsort.pyx":959 + * while 1: + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + while (1) { + __pyx_t_10 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } /* "partsort.pyx":960 - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: - * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i] + * b[i] = b[j] */ - __pyx_t_21 = __pyx_v_i0; - __pyx_t_22 = __pyx_v_i; - __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":961 - * if i <= j: - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< - * b[i0, j, i2] = tmp - * i += 1 + /* "partsort.pyx":961 + * while x < b[j]: j -= 1 + * if i <= j: + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_j; - __pyx_t_26 = __pyx_v_i2; - __pyx_t_27 = __pyx_v_i0; - __pyx_t_28 = __pyx_v_i; - __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_11 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":962 - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":962 + * if i <= j: + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp + * i += 1 */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":963 - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":963 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_t_14 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "partsort.pyx":964 - * b[i0, j, i2] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":964 + * b[i] = b[j] + * b[j] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L19; + __pyx_v_i = (__pyx_v_i + 1); + + /* "partsort.pyx":965 + * b[j] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i + */ + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L18; + } + __pyx_L18:; + + /* "partsort.pyx":966 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j + */ + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L13_break; + } } - __pyx_L19:; + __pyx_L13_break:; - /* "partsort.pyx":965 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":967 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j + * return b */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); if (__pyx_t_3) { - goto __pyx_L14_break; + __pyx_v_l = __pyx_v_i; + goto __pyx_L20; } - } - __pyx_L14_break:; + __pyx_L20:; - /* "partsort.pyx":966 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":968 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b + * */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L21; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L21; + } + __pyx_L21:; } - __pyx_L21:; + } - /* "partsort.pyx":967 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< - * return b - * + /* "partsort.pyx":952 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L22; + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L9; } - __pyx_L22:; + __pyx_L9:; } - } } - /* "partsort.pyx":968 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":969 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -13592,11 +13625,11 @@ static PyObject *__pyx_pf_8partsort_42partsort_3d_int32_axis1(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":933 + /* "partsort.pyx":937 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=1." + * def partsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -13611,7 +13644,7 @@ static PyObject *__pyx_pf_8partsort_42partsort_3d_int32_axis1(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -13624,19 +13657,19 @@ static PyObject *__pyx_pf_8partsort_42partsort_3d_int32_axis1(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":972 +/* "partsort.pyx":973 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=2." + * def partsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_45partsort_3d_int32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_44partsort_3d_int32_axis2[] = "partsort_3d_int32_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=2."; -static PyMethodDef __pyx_mdef_8partsort_45partsort_3d_int32_axis2 = {"partsort_3d_int32_axis2", (PyCFunction)__pyx_pw_8partsort_45partsort_3d_int32_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_44partsort_3d_int32_axis2}; -static PyObject *__pyx_pw_8partsort_45partsort_3d_int32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_45partsort_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_44partsort_1d_int32_axis0[] = "partsort_1d_int32_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_45partsort_1d_int32_axis0 = {"partsort_1d_int32_axis0", (PyCFunction)__pyx_pw_8partsort_45partsort_1d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_44partsort_1d_int32_axis0}; +static PyObject *__pyx_pw_8partsort_45partsort_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -13644,7 +13677,7 @@ static PyObject *__pyx_pw_8partsort_45partsort_3d_int32_axis2(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int32_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_1d_int32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -13665,11 +13698,11 @@ static PyObject *__pyx_pw_8partsort_45partsort_3d_int32_axis2(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int32_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -13678,18 +13711,18 @@ static PyObject *__pyx_pw_8partsort_45partsort_3d_int32_axis2(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_44partsort_3d_int32_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_44partsort_1d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -13700,7 +13733,7 @@ static PyObject *__pyx_pw_8partsort_45partsort_3d_int32_axis2(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_44partsort_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; @@ -13709,12 +13742,8 @@ static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyOb __pyx_t_5numpy_int32_t __pyx_v_x; __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -13728,35 +13757,17 @@ static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyOb PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; + npy_intp __pyx_t_8; + npy_intp __pyx_t_9; + npy_intp __pyx_t_10; + npy_intp __pyx_t_11; + npy_intp __pyx_t_12; + npy_intp __pyx_t_13; npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; - Py_ssize_t __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - Py_ssize_t __pyx_t_28; - npy_intp __pyx_t_29; - Py_ssize_t __pyx_t_30; - Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int32_axis2", 0); + __Pyx_RefNannySetupContext("partsort_1d_int32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -13767,95 +13778,77 @@ static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "partsort.pyx":974 - * def partsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int32 along axis=2." + /* "partsort.pyx":975 + * def partsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":976 + /* "partsort.pyx":977 * cdef np.npy_intp i, j = 0, l, r, k = n-1 * cdef np.int32_t x, tmp - * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.ndarray[np.int32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":979 - * cdef Py_ssize_t i0, i1, i2 + /* "partsort.pyx":980 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":980 + /* "partsort.pyx":981 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: + * return b */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":981 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * if n2 == 0: - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":982 + * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * if n2 == 0: - * return b - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "partsort.pyx":983 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] - * if n2 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n2): + * if (n < 1) or (n > n0): */ - __pyx_t_3 = ((__pyx_v_n2 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":984 - * cdef Py_ssize_t n2 = dim[2] - * if n2 == 0: + /* "partsort.pyx":983 + * cdef Py_ssize_t n0 = dim[0] + * if n0 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -13863,12 +13856,12 @@ static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":985 - * if n2 == 0: + /* "partsort.pyx":984 + * if n0 == 0: * return b - * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -13878,25 +13871,25 @@ static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyOb goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n2) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":986 + /* "partsort.pyx":985 * return b - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -13904,263 +13897,258 @@ static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":987 - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * l = 0 + /* "partsort.pyx":986 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_t_8 = __pyx_v_n0; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_v_l = 0; - /* "partsort.pyx":988 - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * l = 0 - * r = n2 - 1 + /* "partsort.pyx":987 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: + * while l < r: */ - __pyx_t_10 = __pyx_v_n1; - for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { - __pyx_v_i1 = __pyx_t_11; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":989 - * for i0 in range(n0): - * for i1 in range(n1): - * l = 0 # <<<<<<<<<<<<<< - * r = n2 - 1 - * while l < r: + /* "partsort.pyx":988 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_v_l = 0; + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { - /* "partsort.pyx":990 - * for i1 in range(n1): - * l = 0 - * r = n2 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, i1, k] + /* "partsort.pyx":989 + * r = n0 - 1 + * with nogil: + * while l < r: # <<<<<<<<<<<<<< + * x = b[k] + * i = l */ - __pyx_v_r = (__pyx_v_n2 - 1); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":991 - * l = 0 - * r = n2 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, i1, k] - * i = l + /* "partsort.pyx":990 + * with nogil: + * while l < r: + * x = b[k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_t_8 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":992 - * r = n2 - 1 - * while l < r: - * x = b[i0, i1, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "partsort.pyx":991 + * while l < r: + * x = b[k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_14 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":993 - * while l < r: - * x = b[i0, i1, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":992 + * x = b[k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i] < x: i += 1 */ - __pyx_v_i = __pyx_v_l; + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":994 - * x = b[i0, i1, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i1, i] < x: i += 1 + /* "partsort.pyx":993 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ - __pyx_v_j = __pyx_v_r; + while (1) { - /* "partsort.pyx":995 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 + /* "partsort.pyx":994 + * j = r + * while 1: + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 + * if i <= j: */ - while (1) { + while (1) { + __pyx_t_9 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":996 - * j = r - * while 1: - * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: + /* "partsort.pyx":995 + * while 1: + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i] */ - while (1) { - __pyx_t_15 = __pyx_v_i0; - __pyx_t_16 = __pyx_v_i1; - __pyx_t_17 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_10 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":997 - * while 1: - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i1, i] + /* "partsort.pyx":996 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i] + * b[i] = b[j] */ - while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":998 - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] + /* "partsort.pyx":997 + * while x < b[j]: j -= 1 + * if i <= j: + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_11 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":999 - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp + /* "partsort.pyx":998 + * if i <= j: + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp + * i += 1 */ - __pyx_t_21 = __pyx_v_i0; - __pyx_t_22 = __pyx_v_i1; - __pyx_t_23 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":1000 - * if i <= j: - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< - * b[i0, i1, j] = tmp - * i += 1 + /* "partsort.pyx":999 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i1; - __pyx_t_26 = __pyx_v_j; - __pyx_t_27 = __pyx_v_i0; - __pyx_t_28 = __pyx_v_i1; - __pyx_t_29 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_14 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "partsort.pyx":1001 - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":1000 + * b[i] = b[j] + * b[j] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1002 - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":1001 + * b[j] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L18; + } + __pyx_L18:; - /* "partsort.pyx":1003 - * b[i0, i1, j] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":1002 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L19; + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L13_break; + } } - __pyx_L19:; + __pyx_L13_break:; - /* "partsort.pyx":1004 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1003 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j + * return b */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); if (__pyx_t_3) { - goto __pyx_L14_break; + __pyx_v_l = __pyx_v_i; + goto __pyx_L20; } - } - __pyx_L14_break:; + __pyx_L20:; - /* "partsort.pyx":1005 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":1004 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b + * */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L21; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L21; + } + __pyx_L21:; } - __pyx_L21:; + } - /* "partsort.pyx":1006 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< - * return b - * + /* "partsort.pyx":988 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L22; + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L9; } - __pyx_L22:; + __pyx_L9:; } - } } - /* "partsort.pyx":1007 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1005 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -14170,11 +14158,11 @@ static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":972 + /* "partsort.pyx":973 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=2." + * def partsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -14189,7 +14177,7 @@ static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -14202,19 +14190,19 @@ static PyObject *__pyx_pf_8partsort_44partsort_3d_int32_axis2(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":1011 +/* "partsort.pyx":1009 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=0." + * def partsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_47partsort_3d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_46partsort_3d_int64_axis0[] = "partsort_3d_int64_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_47partsort_3d_int64_axis0 = {"partsort_3d_int64_axis0", (PyCFunction)__pyx_pw_8partsort_47partsort_3d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_46partsort_3d_int64_axis0}; -static PyObject *__pyx_pw_8partsort_47partsort_3d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_47partsort_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_46partsort_1d_int64_axis0[] = "partsort_1d_int64_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_47partsort_1d_int64_axis0 = {"partsort_1d_int64_axis0", (PyCFunction)__pyx_pw_8partsort_47partsort_1d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_46partsort_1d_int64_axis0}; +static PyObject *__pyx_pw_8partsort_47partsort_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -14222,7 +14210,7 @@ static PyObject *__pyx_pw_8partsort_47partsort_3d_int64_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_1d_int64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -14243,11 +14231,11 @@ static PyObject *__pyx_pw_8partsort_47partsort_3d_int64_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -14256,18 +14244,18 @@ static PyObject *__pyx_pw_8partsort_47partsort_3d_int64_axis0(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_1d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_46partsort_3d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_46partsort_1d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -14278,7 +14266,7 @@ static PyObject *__pyx_pw_8partsort_47partsort_3d_int64_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_46partsort_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; @@ -14287,12 +14275,8 @@ static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyOb __pyx_t_5numpy_int64_t __pyx_v_x; __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; - Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -14306,35 +14290,17 @@ static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyOb PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_8; + npy_intp __pyx_t_9; + npy_intp __pyx_t_10; + npy_intp __pyx_t_11; npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; - npy_intp __pyx_t_15; - Py_ssize_t __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - Py_ssize_t __pyx_t_23; - npy_intp __pyx_t_24; - Py_ssize_t __pyx_t_25; - Py_ssize_t __pyx_t_26; - npy_intp __pyx_t_27; - Py_ssize_t __pyx_t_28; - Py_ssize_t __pyx_t_29; - npy_intp __pyx_t_30; - Py_ssize_t __pyx_t_31; - Py_ssize_t __pyx_t_32; + npy_intp __pyx_t_13; + npy_intp __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int64_axis0", 0); + __Pyx_RefNannySetupContext("partsort_1d_int64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -14345,82 +14311,64 @@ static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "partsort.pyx":1013 - * def partsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int64 along axis=0." + /* "partsort.pyx":1011 + * def partsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): + * "Partial sort of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1015 + /* "partsort.pyx":1013 * cdef np.npy_intp i, j = 0, l, r, k = n-1 * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.ndarray[np.int64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1018 - * cdef Py_ssize_t i0, i1, i2 + /* "partsort.pyx":1016 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1019 + /* "partsort.pyx":1017 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: + * return b */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1020 + /* "partsort.pyx":1018 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * if n0 == 0: - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "partsort.pyx":1021 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * if n0 == 0: - * return b - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "partsort.pyx":1022 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] * if n0 == 0: # <<<<<<<<<<<<<< * return b * if (n < 1) or (n > n0): @@ -14428,8 +14376,8 @@ static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyOb __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1023 - * cdef Py_ssize_t n2 = dim[2] + /* "partsort.pyx":1019 + * cdef Py_ssize_t n0 = dim[0] * if n0 == 0: * return b # <<<<<<<<<<<<<< * if (n < 1) or (n > n0): @@ -14441,12 +14389,12 @@ static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":1024 + /* "partsort.pyx":1020 * if n0 == 0: * return b * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * l = 0 */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -14461,20 +14409,20 @@ static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyOb __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1025 + /* "partsort.pyx":1021 * return b * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * for i2 in range(n2): + * l = 0 + * r = n0 - 1 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -14482,263 +14430,258 @@ static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1026 + /* "partsort.pyx":1022 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * l = 0 + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * with nogil: */ - __pyx_t_8 = __pyx_v_n1; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_l = 0; - /* "partsort.pyx":1027 + /* "partsort.pyx":1023 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * with nogil: + * while l < r: */ - __pyx_t_10 = __pyx_v_n2; - for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { - __pyx_v_i2 = __pyx_t_11; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":1028 - * for i1 in range(n1): - * for i2 in range(n2): - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * while l < r: + /* "partsort.pyx":1024 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_v_l = 0; + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + #endif + /*try:*/ { - /* "partsort.pyx":1029 - * for i2 in range(n2): - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[k, i1, i2] + /* "partsort.pyx":1025 + * r = n0 - 1 + * with nogil: + * while l < r: # <<<<<<<<<<<<<< + * x = b[k] + * i = l */ - __pyx_v_r = (__pyx_v_n0 - 1); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":1030 - * l = 0 - * r = n0 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1, i2] - * i = l + /* "partsort.pyx":1026 + * with nogil: + * while l < r: + * x = b[k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_t_8 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":1031 - * r = n0 - 1 - * while l < r: - * x = b[k, i1, i2] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "partsort.pyx":1027 + * while l < r: + * x = b[k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_t_12 = __pyx_v_k; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1032 - * while l < r: - * x = b[k, i1, i2] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":1028 + * x = b[k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i] < x: i += 1 */ - __pyx_v_i = __pyx_v_l; + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1033 - * x = b[k, i1, i2] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i, i1, i2] < x: i += 1 + /* "partsort.pyx":1029 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 */ - __pyx_v_j = __pyx_v_r; + while (1) { - /* "partsort.pyx":1034 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 + /* "partsort.pyx":1030 + * j = r + * while 1: + * while b[i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j]: j -= 1 + * if i <= j: */ - while (1) { + while (1) { + __pyx_t_9 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":1035 - * j = r - * while 1: - * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: + /* "partsort.pyx":1031 + * while 1: + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i] */ - while (1) { - __pyx_t_15 = __pyx_v_i; - __pyx_t_16 = __pyx_v_i1; - __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_10 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":1036 - * while 1: - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i, i1, i2] + /* "partsort.pyx":1032 + * while b[i] < x: i += 1 + * while x < b[j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i] + * b[i] = b[j] */ - while (1) { - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":1037 - * while b[i, i1, i2] < x: i += 1 - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] + /* "partsort.pyx":1033 + * while x < b[j]: j -= 1 + * if i <= j: + * tmp = b[i] # <<<<<<<<<<<<<< + * b[i] = b[j] + * b[j] = tmp */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_11 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":1038 - * while x < b[j, i1, i2]: j -= 1 - * if i <= j: - * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp + /* "partsort.pyx":1034 + * if i <= j: + * tmp = b[i] + * b[i] = b[j] # <<<<<<<<<<<<<< + * b[j] = tmp + * i += 1 */ - __pyx_t_21 = __pyx_v_i; - __pyx_t_22 = __pyx_v_i1; - __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_12 = __pyx_v_j; + __pyx_t_13 = __pyx_v_i; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); - /* "partsort.pyx":1039 - * if i <= j: - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< - * b[j, i1, i2] = tmp - * i += 1 + /* "partsort.pyx":1035 + * tmp = b[i] + * b[i] = b[j] + * b[j] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_24 = __pyx_v_j; - __pyx_t_25 = __pyx_v_i1; - __pyx_t_26 = __pyx_v_i2; - __pyx_t_27 = __pyx_v_i; - __pyx_t_28 = __pyx_v_i1; - __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_14 = __pyx_v_j; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; - /* "partsort.pyx":1040 - * tmp = b[i, i1, i2] - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":1036 + * b[i] = b[j] + * b[j] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_t_30 = __pyx_v_j; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1041 - * b[i, i1, i2] = b[j, i1, i2] - * b[j, i1, i2] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":1037 + * b[j] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L18; + } + __pyx_L18:; - /* "partsort.pyx":1042 - * b[j, i1, i2] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":1038 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L19; + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L13_break; + } } - __pyx_L19:; + __pyx_L13_break:; - /* "partsort.pyx":1043 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1039 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j + * return b */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); if (__pyx_t_3) { - goto __pyx_L14_break; + __pyx_v_l = __pyx_v_i; + goto __pyx_L20; } - } - __pyx_L14_break:; + __pyx_L20:; - /* "partsort.pyx":1044 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":1040 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b + * */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L21; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L21; + } + __pyx_L21:; } - __pyx_L21:; + } - /* "partsort.pyx":1045 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< - * return b - * + /* "partsort.pyx":1024 + * l = 0 + * r = n0 - 1 + * with nogil: # <<<<<<<<<<<<<< + * while l < r: + * x = b[k] */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L22; + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + Py_BLOCK_THREADS + #endif + goto __pyx_L9; } - __pyx_L22:; + __pyx_L9:; } - } } - /* "partsort.pyx":1046 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1041 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -14748,11 +14691,11 @@ static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1011 + /* "partsort.pyx":1009 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=0." + * def partsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -14767,7 +14710,7 @@ static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -14780,19 +14723,19 @@ static PyObject *__pyx_pf_8partsort_46partsort_3d_int64_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":1050 +/* "partsort.pyx":1045 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=1." + * def partsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_49partsort_3d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_48partsort_3d_int64_axis1[] = "partsort_3d_int64_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_49partsort_3d_int64_axis1 = {"partsort_3d_int64_axis1", (PyCFunction)__pyx_pw_8partsort_49partsort_3d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_48partsort_3d_int64_axis1}; -static PyObject *__pyx_pw_8partsort_49partsort_3d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_49partsort_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_48partsort_2d_int_axis0[] = "partsort_2d_int_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_49partsort_2d_int_axis0 = {"partsort_2d_int_axis0", (PyCFunction)__pyx_pw_8partsort_49partsort_2d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_48partsort_2d_int_axis0}; +static PyObject *__pyx_pw_8partsort_49partsort_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -14800,7 +14743,7 @@ static PyObject *__pyx_pw_8partsort_49partsort_3d_int64_axis1(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_int_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -14821,11 +14764,11 @@ static PyObject *__pyx_pw_8partsort_49partsort_3d_int64_axis1(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -14834,18 +14777,18 @@ static PyObject *__pyx_pw_8partsort_49partsort_3d_int64_axis1(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_48partsort_3d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_48partsort_2d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -14856,21 +14799,19 @@ static PyObject *__pyx_pw_8partsort_49partsort_3d_int64_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_48partsort_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i2; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -14886,33 +14827,24 @@ static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyOb PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_10; Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_12; + Py_ssize_t __pyx_t_13; + npy_intp __pyx_t_14; Py_ssize_t __pyx_t_15; npy_intp __pyx_t_16; Py_ssize_t __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; Py_ssize_t __pyx_t_21; npy_intp __pyx_t_22; Py_ssize_t __pyx_t_23; - Py_ssize_t __pyx_t_24; - npy_intp __pyx_t_25; - Py_ssize_t __pyx_t_26; - Py_ssize_t __pyx_t_27; - npy_intp __pyx_t_28; - Py_ssize_t __pyx_t_29; - Py_ssize_t __pyx_t_30; - npy_intp __pyx_t_31; - Py_ssize_t __pyx_t_32; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int64_axis1", 0); + __Pyx_RefNannySetupContext("partsort_2d_int_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -14923,45 +14855,45 @@ static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":1052 - * def partsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int64 along axis=1." + /* "partsort.pyx":1047 + * def partsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1054 + /* "partsort.pyx":1049 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1057 - * cdef Py_ssize_t i0, i1, i2 + /* "partsort.pyx":1052 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -14969,49 +14901,40 @@ static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1058 + /* "partsort.pyx":1053 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1059 + /* "partsort.pyx":1054 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * if n1 == 0: + * if n0 == 0: + * return b */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":1060 + /* "partsort.pyx":1055 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * if n1 == 0: - * return b - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "partsort.pyx":1061 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] - * if n1 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1062 - * cdef Py_ssize_t n2 = dim[2] - * if n1 == 0: + /* "partsort.pyx":1056 + * cdef Py_ssize_t n1 = dim[1] + * if n0 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -15019,12 +14942,12 @@ static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":1063 - * if n1 == 0: + /* "partsort.pyx":1057 + * if n0 == 0: * return b - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -15034,25 +14957,25 @@ static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyOb goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1064 + /* "partsort.pyx":1058 * return b - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i2 in range(n2): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -15060,263 +14983,244 @@ static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1065 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i2 in range(n2): - * l = 0 + /* "partsort.pyx":1059 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_t_8 = __pyx_v_n0; + __pyx_t_8 = __pyx_v_n1; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_v_i1 = __pyx_t_9; - /* "partsort.pyx":1066 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): - * for i2 in range(n2): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + /* "partsort.pyx":1060 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * while l < r: */ - __pyx_t_10 = __pyx_v_n2; - for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { - __pyx_v_i2 = __pyx_t_11; + __pyx_v_l = 0; - /* "partsort.pyx":1067 - * for i0 in range(n0): - * for i2 in range(n2): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + /* "partsort.pyx":1061 + * for i1 in range(n1): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[k, i1] */ - __pyx_v_l = 0; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":1068 - * for i2 in range(n2): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k, i2] + /* "partsort.pyx":1062 + * l = 0 + * r = n0 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[k, i1] + * i = l */ - __pyx_v_r = (__pyx_v_n1 - 1); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":1069 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k, i2] - * i = l + /* "partsort.pyx":1063 + * r = n0 - 1 + * while l < r: + * x = b[k, i1] # <<<<<<<<<<<<<< + * i = l + * j = r */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_t_10 = __pyx_v_k; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1070 - * r = n1 - 1 - * while l < r: - * x = b[i0, k, i2] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "partsort.pyx":1064 + * while l < r: + * x = b[k, i1] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_k; - __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1071 - * while l < r: - * x = b[i0, k, i2] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":1065 + * x = b[k, i1] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i, i1] < x: i += 1 */ - __pyx_v_i = __pyx_v_l; + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1072 - * x = b[i0, k, i2] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i, i2] < x: i += 1 + /* "partsort.pyx":1066 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ - __pyx_v_j = __pyx_v_r; + while (1) { - /* "partsort.pyx":1073 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 + /* "partsort.pyx":1067 + * j = r + * while 1: + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 + * if i <= j: */ while (1) { + __pyx_t_12 = __pyx_v_i; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":1074 - * j = r - * while 1: - * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: - */ - while (1) { - __pyx_t_15 = __pyx_v_i0; - __pyx_t_16 = __pyx_v_i; - __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } - - /* "partsort.pyx":1075 - * while 1: - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i, i2] + /* "partsort.pyx":1068 + * while 1: + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i, i1] */ - while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_14 = __pyx_v_j; + __pyx_t_15 = __pyx_v_i1; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":1076 - * while b[i0, i, i2] < x: i += 1 - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] + /* "partsort.pyx":1069 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":1077 - * while x < b[i0, j, i2]: j -= 1 - * if i <= j: - * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp + /* "partsort.pyx":1070 + * while x < b[j, i1]: j -= 1 + * if i <= j: + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_21 = __pyx_v_i0; - __pyx_t_22 = __pyx_v_i; - __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_16 = __pyx_v_i; + __pyx_t_17 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1078 - * if i <= j: - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< - * b[i0, j, i2] = tmp - * i += 1 + /* "partsort.pyx":1071 + * if i <= j: + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp + * i += 1 */ - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_j; - __pyx_t_26 = __pyx_v_i2; - __pyx_t_27 = __pyx_v_i0; - __pyx_t_28 = __pyx_v_i; - __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1079 - * tmp = b[i0, i, i2] - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":1072 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_j; - __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":1080 - * b[i0, i, i2] = b[i0, j, i2] - * b[i0, j, i2] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":1073 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1081 - * b[i0, j, i2] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":1074 + * b[j, i1] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L19; - } - __pyx_L19:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L17; + } + __pyx_L17:; - /* "partsort.pyx":1082 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1075 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L14_break; - } + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L12_break; } - __pyx_L14_break:; + } + __pyx_L12_break:; - /* "partsort.pyx":1083 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":1076 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L21; - } - __pyx_L21:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L19; + } + __pyx_L19:; - /* "partsort.pyx":1084 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "partsort.pyx":1077 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L22; - } - __pyx_L22:; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L20; } + __pyx_L20:; } } - /* "partsort.pyx":1085 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1078 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -15326,11 +15230,11 @@ static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1050 + /* "partsort.pyx":1045 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=1." + * def partsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -15345,7 +15249,7 @@ static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -15358,19 +15262,19 @@ static PyObject *__pyx_pf_8partsort_48partsort_3d_int64_axis1(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":1089 +/* "partsort.pyx":1082 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=2." + * def partsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_51partsort_3d_int64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_50partsort_3d_int64_axis2[] = "partsort_3d_int64_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=2."; -static PyMethodDef __pyx_mdef_8partsort_51partsort_3d_int64_axis2 = {"partsort_3d_int64_axis2", (PyCFunction)__pyx_pw_8partsort_51partsort_3d_int64_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_50partsort_3d_int64_axis2}; -static PyObject *__pyx_pw_8partsort_51partsort_3d_int64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_51partsort_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_50partsort_2d_int_axis1[] = "partsort_2d_int_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_51partsort_2d_int_axis1 = {"partsort_2d_int_axis1", (PyCFunction)__pyx_pw_8partsort_51partsort_2d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_50partsort_2d_int_axis1}; +static PyObject *__pyx_pw_8partsort_51partsort_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -15378,7 +15282,7 @@ static PyObject *__pyx_pw_8partsort_51partsort_3d_int64_axis2(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_int64_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_int_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -15399,11 +15303,11 @@ static PyObject *__pyx_pw_8partsort_51partsort_3d_int64_axis2(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int64_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -15412,18 +15316,18 @@ static PyObject *__pyx_pw_8partsort_51partsort_3d_int64_axis2(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_int64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_50partsort_3d_int64_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_50partsort_2d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -15434,21 +15338,19 @@ static PyObject *__pyx_pw_8partsort_51partsort_3d_int64_axis2(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_50partsort_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_int64_t __pyx_v_x; - __pyx_t_5numpy_int64_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -15465,32 +15367,23 @@ static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyOb Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_11; Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_15; Py_ssize_t __pyx_t_16; npy_intp __pyx_t_17; Py_ssize_t __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; Py_ssize_t __pyx_t_22; npy_intp __pyx_t_23; - Py_ssize_t __pyx_t_24; - Py_ssize_t __pyx_t_25; - npy_intp __pyx_t_26; - Py_ssize_t __pyx_t_27; - Py_ssize_t __pyx_t_28; - npy_intp __pyx_t_29; - Py_ssize_t __pyx_t_30; - Py_ssize_t __pyx_t_31; - npy_intp __pyx_t_32; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_int64_axis2", 0); + __Pyx_RefNannySetupContext("partsort_2d_int_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -15501,45 +15394,45 @@ static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":1091 - * def partsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=int64 along axis=2." + /* "partsort.pyx":1084 + * def partsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1093 + /* "partsort.pyx":1086 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.int64_t x, tmp - * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1, i2 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1093; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1093; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1093; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1096 - * cdef Py_ssize_t i0, i1, i2 + /* "partsort.pyx":1089 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -15547,49 +15440,40 @@ static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1097 + /* "partsort.pyx":1090 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] + * if n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1098 + /* "partsort.pyx":1091 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n2 = dim[2] - * if n2 == 0: + * if n1 == 0: + * return b */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":1099 + /* "partsort.pyx":1092 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< - * if n2 == 0: - * return b - */ - __pyx_v_n2 = (__pyx_v_dim[2]); - - /* "partsort.pyx":1100 - * cdef Py_ssize_t n1 = dim[1] - * cdef Py_ssize_t n2 = dim[2] - * if n2 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n2): + * if (n < 1) or (n > n1): */ - __pyx_t_3 = ((__pyx_v_n2 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1101 - * cdef Py_ssize_t n2 = dim[2] - * if n2 == 0: + /* "partsort.pyx":1093 + * cdef Py_ssize_t n1 = dim[1] + * if n1 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -15597,11 +15481,11 @@ static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":1102 - * if n2 == 0: + /* "partsort.pyx":1094 + * if n1 == 0: * return b - * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); @@ -15612,25 +15496,25 @@ static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyOb goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n2) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1103 + /* "partsort.pyx":1095 * return b - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -15638,263 +15522,244 @@ static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1104 - * if (n < 1) or (n > n2): - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) + /* "partsort.pyx":1096 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * l = 0 + * l = 0 + * r = n1 - 1 */ __pyx_t_8 = __pyx_v_n0; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":1105 - * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * l = 0 - * r = n2 - 1 - */ - __pyx_t_10 = __pyx_v_n1; - for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { - __pyx_v_i1 = __pyx_t_11; - - /* "partsort.pyx":1106 + /* "partsort.pyx":1097 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) * for i0 in range(n0): - * for i1 in range(n1): - * l = 0 # <<<<<<<<<<<<<< - * r = n2 - 1 - * while l < r: - */ - __pyx_v_l = 0; - - /* "partsort.pyx":1107 - * for i1 in range(n1): - * l = 0 - * r = n2 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, i1, k] + * l = 0 # <<<<<<<<<<<<<< + * r = n1 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n2 - 1); + __pyx_v_l = 0; - /* "partsort.pyx":1108 - * l = 0 - * r = n2 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, i1, k] - * i = l + /* "partsort.pyx":1098 + * for i0 in range(n0): + * l = 0 + * r = n1 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[i0, k] */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":1109 - * r = n2 - 1 - * while l < r: - * x = b[i0, i1, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "partsort.pyx":1099 + * l = 0 + * r = n1 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[i0, k] + * i = l */ - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_14 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":1110 - * while l < r: - * x = b[i0, i1, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":1100 + * r = n1 - 1 + * while l < r: + * x = b[i0, k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1111 - * x = b[i0, i1, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i1, i] < x: i += 1 + /* "partsort.pyx":1101 + * while l < r: + * x = b[i0, k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1112 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 + /* "partsort.pyx":1102 + * x = b[i0, k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i0, i] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1113 - * j = r - * while 1: - * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: + /* "partsort.pyx":1103 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ - while (1) { - __pyx_t_15 = __pyx_v_i0; - __pyx_t_16 = __pyx_v_i1; - __pyx_t_17 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { - /* "partsort.pyx":1114 - * while 1: - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i1, i] + /* "partsort.pyx":1104 + * j = r + * while 1: + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":1115 - * while b[i0, i1, i] < x: i += 1 - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] + /* "partsort.pyx":1105 + * while 1: + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i0, i] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + while (1) { + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":1116 - * while x < b[i0, i1, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp + /* "partsort.pyx":1106 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ - __pyx_t_21 = __pyx_v_i0; - __pyx_t_22 = __pyx_v_i1; - __pyx_t_23 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":1117 - * if i <= j: - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< - * b[i0, i1, j] = tmp - * i += 1 + /* "partsort.pyx":1107 + * while x < b[i0, j]: j -= 1 + * if i <= j: + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_24 = __pyx_v_i0; - __pyx_t_25 = __pyx_v_i1; - __pyx_t_26 = __pyx_v_j; - __pyx_t_27 = __pyx_v_i0; - __pyx_t_28 = __pyx_v_i1; - __pyx_t_29 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1118 - * tmp = b[i0, i1, i] - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":1108 + * if i <= j: + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp + * i += 1 */ - __pyx_t_30 = __pyx_v_i0; - __pyx_t_31 = __pyx_v_i1; - __pyx_t_32 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1119 - * b[i0, i1, i] = b[i0, i1, j] - * b[i0, i1, j] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":1109 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":1120 - * b[i0, i1, j] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":1110 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L19; - } - __pyx_L19:; + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1121 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1111 + * b[i0, j] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L14_break; - } + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L17; } - __pyx_L14_break:; + __pyx_L17:; - /* "partsort.pyx":1122 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j - * return b + /* "partsort.pyx":1112 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L21; + goto __pyx_L12_break; } - __pyx_L21:; + } + __pyx_L12_break:; - /* "partsort.pyx":1123 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "partsort.pyx":1113 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j + * return b + */ + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L19; + } + __pyx_L19:; + + /* "partsort.pyx":1114 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L22; - } - __pyx_L22:; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L20; } + __pyx_L20:; } } - /* "partsort.pyx":1124 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1115 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -15904,11 +15769,11 @@ static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1089 + /* "partsort.pyx":1082 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=2." + * def partsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -15923,7 +15788,7 @@ static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_int64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -15936,19 +15801,19 @@ static PyObject *__pyx_pf_8partsort_50partsort_3d_int64_axis2(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":1128 +/* "partsort.pyx":1119 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float along axis=0." + * def partsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_53partsort_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_52partsort_1d_float_axis0[] = "partsort_1d_float_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_53partsort_1d_float_axis0 = {"partsort_1d_float_axis0", (PyCFunction)__pyx_pw_8partsort_53partsort_1d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_52partsort_1d_float_axis0}; -static PyObject *__pyx_pw_8partsort_53partsort_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_53partsort_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_52partsort_2d_int8_axis0[] = "partsort_2d_int8_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_53partsort_2d_int8_axis0 = {"partsort_2d_int8_axis0", (PyCFunction)__pyx_pw_8partsort_53partsort_2d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_52partsort_2d_int8_axis0}; +static PyObject *__pyx_pw_8partsort_53partsort_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -15956,7 +15821,7 @@ static PyObject *__pyx_pw_8partsort_53partsort_1d_float_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_1d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_int8_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -15977,11 +15842,11 @@ static PyObject *__pyx_pw_8partsort_53partsort_1d_float_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_1d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -15990,18 +15855,18 @@ static PyObject *__pyx_pw_8partsort_53partsort_1d_float_axis0(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_1d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_52partsort_1d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_52partsort_2d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -16012,17 +15877,19 @@ static PyObject *__pyx_pw_8partsort_53partsort_1d_float_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_52partsort_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -16036,17 +15903,26 @@ static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyOb PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; - npy_intp __pyx_t_8; - npy_intp __pyx_t_9; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; npy_intp __pyx_t_10; - npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_11; npy_intp __pyx_t_12; - npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_13; npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_15; + npy_intp __pyx_t_16; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_1d_float_axis0", 0); + __Pyx_RefNannySetupContext("partsort_2d_int8_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -16057,64 +15933,73 @@ static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":1130 - * def partsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=float along axis=0." + /* "partsort.pyx":1121 + * def partsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1132 + /* "partsort.pyx":1123 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1135 - * cdef Py_ssize_t i0 + /* "partsort.pyx":1126 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1136 + /* "partsort.pyx":1127 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * if n0 == 0: - * return b */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1137 + /* "partsort.pyx":1128 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * if n0 == 0: + * return b + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "partsort.pyx":1129 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * if n0 == 0: # <<<<<<<<<<<<<< * return b * if (n < 1) or (n > n0): @@ -16122,8 +16007,8 @@ static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1138 - * cdef Py_ssize_t n0 = dim[0] + /* "partsort.pyx":1130 + * cdef Py_ssize_t n1 = dim[1] * if n0 == 0: * return b # <<<<<<<<<<<<<< * if (n < 1) or (n > n0): @@ -16135,12 +16020,12 @@ static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":1139 + /* "partsort.pyx":1131 * if n0 == 0: * return b * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 + * for i1 in range(n1): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -16155,20 +16040,20 @@ static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1140 + /* "partsort.pyx":1132 * return b * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * for i1 in range(n1): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -16176,256 +16061,242 @@ static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1141 + /* "partsort.pyx":1133 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_v_l = 0; + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "partsort.pyx":1142 + /* "partsort.pyx":1134 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "partsort.pyx":1143 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "partsort.pyx":1135 + * for i1 in range(n1): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[k, i1] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":1144 - * r = n0 - 1 - * with nogil: + /* "partsort.pyx":1136 + * l = 0 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[k, i1] * i = l */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":1145 - * with nogil: + /* "partsort.pyx":1137 + * r = n0 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_10 = __pyx_v_k; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1146 + /* "partsort.pyx":1138 * while l < r: - * x = b[k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1147 - * x = b[k] + /* "partsort.pyx":1139 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1148 + /* "partsort.pyx":1140 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ - while (1) { + while (1) { - /* "partsort.pyx":1149 + /* "partsort.pyx":1141 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_12 = __pyx_v_i; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":1150 + /* "partsort.pyx":1142 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i, i1] */ - while (1) { - __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_14 = __pyx_v_j; + __pyx_t_15 = __pyx_v_i1; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":1151 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "partsort.pyx":1143 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":1152 - * while x < b[j]: j -= 1 + /* "partsort.pyx":1144 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_16 = __pyx_v_i; + __pyx_t_17 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1153 + /* "partsort.pyx":1145 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp * i += 1 */ - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1154 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":1146 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":1155 - * b[i] = b[j] - * b[j] = tmp + /* "partsort.pyx":1147 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1156 - * b[j] = tmp + /* "partsort.pyx":1148 + * b[j, i1] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L18; - } - __pyx_L18:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L17; + } + __pyx_L17:; - /* "partsort.pyx":1157 + /* "partsort.pyx":1149 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L13_break; - } - } - __pyx_L13_break:; + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L12_break; + } + } + __pyx_L12_break:; - /* "partsort.pyx":1158 + /* "partsort.pyx":1150 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L20; - } - __pyx_L20:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L19; + } + __pyx_L19:; - /* "partsort.pyx":1159 + /* "partsort.pyx":1151 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L21; - } - __pyx_L21:; - } - } - - /* "partsort.pyx":1143 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] - */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L9; - } - __pyx_L9:; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L20; } + __pyx_L20:; + } } - /* "partsort.pyx":1160 + /* "partsort.pyx":1152 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -16437,11 +16308,11 @@ static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1128 + /* "partsort.pyx":1119 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float along axis=0." + * def partsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -16456,7 +16327,7 @@ static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -16469,19 +16340,19 @@ static PyObject *__pyx_pf_8partsort_52partsort_1d_float_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":1164 +/* "partsort.pyx":1156 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float32 along axis=0." + * def partsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_55partsort_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_54partsort_1d_float32_axis0[] = "partsort_1d_float32_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_55partsort_1d_float32_axis0 = {"partsort_1d_float32_axis0", (PyCFunction)__pyx_pw_8partsort_55partsort_1d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_54partsort_1d_float32_axis0}; -static PyObject *__pyx_pw_8partsort_55partsort_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_55partsort_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_54partsort_2d_int8_axis1[] = "partsort_2d_int8_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int8 along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_55partsort_2d_int8_axis1 = {"partsort_2d_int8_axis1", (PyCFunction)__pyx_pw_8partsort_55partsort_2d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_54partsort_2d_int8_axis1}; +static PyObject *__pyx_pw_8partsort_55partsort_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -16489,7 +16360,7 @@ static PyObject *__pyx_pw_8partsort_55partsort_1d_float32_axis0(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_1d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_int8_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -16510,11 +16381,11 @@ static PyObject *__pyx_pw_8partsort_55partsort_1d_float32_axis0(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_1d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -16523,18 +16394,18 @@ static PyObject *__pyx_pw_8partsort_55partsort_1d_float32_axis0(PyObject *__pyx_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_1d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_54partsort_1d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_54partsort_2d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -16545,17 +16416,19 @@ static PyObject *__pyx_pw_8partsort_55partsort_1d_float32_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_54partsort_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_54partsort_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -16569,17 +16442,26 @@ static PyObject *__pyx_pf_8partsort_54partsort_1d_float32_axis0(CYTHON_UNUSED Py PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; - npy_intp __pyx_t_8; - npy_intp __pyx_t_9; - npy_intp __pyx_t_10; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; npy_intp __pyx_t_11; - npy_intp __pyx_t_12; + Py_ssize_t __pyx_t_12; npy_intp __pyx_t_13; - npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_1d_float32_axis0", 0); + __Pyx_RefNannySetupContext("partsort_2d_int8_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -16590,77 +16472,86 @@ static PyObject *__pyx_pf_8partsort_54partsort_1d_float32_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":1166 - * def partsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=float32 along axis=0." + /* "partsort.pyx":1158 + * def partsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1168 + /* "partsort.pyx":1160 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1171 - * cdef Py_ssize_t i0 + /* "partsort.pyx":1163 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1172 + /* "partsort.pyx":1164 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * if n0 == 0: - * return b + * cdef Py_ssize_t n1 = dim[1] + * if n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1173 + /* "partsort.pyx":1165 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * if n1 == 0: * return b - * if (n < 1) or (n > n0): */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_3) { + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":1174 + /* "partsort.pyx":1166 * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] + * if n1 == 0: # <<<<<<<<<<<<<< + * return b + * if (n < 1) or (n > n1): + */ + __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_3) { + + /* "partsort.pyx":1167 + * cdef Py_ssize_t n1 = dim[1] + * if n1 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -16668,12 +16559,12 @@ static PyObject *__pyx_pf_8partsort_54partsort_1d_float32_axis0(CYTHON_UNUSED Py goto __pyx_L0; } - /* "partsort.pyx":1175 - * if n0 == 0: + /* "partsort.pyx":1168 + * if n1 == 0: * return b - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -16683,25 +16574,25 @@ static PyObject *__pyx_pf_8partsort_54partsort_1d_float32_axis0(CYTHON_UNUSED Py goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1176 + /* "partsort.pyx":1169 * return b - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -16709,256 +16600,242 @@ static PyObject *__pyx_pf_8partsort_54partsort_1d_float32_axis0(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1177 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + /* "partsort.pyx":1170 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * l = 0 + * r = n1 - 1 */ - __pyx_v_l = 0; + __pyx_t_8 = __pyx_v_n0; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":1178 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + /* "partsort.pyx":1171 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): + * l = 0 # <<<<<<<<<<<<<< + * r = n1 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "partsort.pyx":1179 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "partsort.pyx":1172 + * for i0 in range(n0): + * l = 0 + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[i0, k] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":1180 - * r = n0 - 1 - * with nogil: + /* "partsort.pyx":1173 + * l = 0 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[i0, k] * i = l */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":1181 - * with nogil: + /* "partsort.pyx":1174 + * r = n1 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1182 + /* "partsort.pyx":1175 * while l < r: - * x = b[k] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1183 - * x = b[k] + /* "partsort.pyx":1176 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i0, i] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1184 + /* "partsort.pyx":1177 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ - while (1) { + while (1) { - /* "partsort.pyx":1185 + /* "partsort.pyx":1178 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":1186 + /* "partsort.pyx":1179 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i0, i] */ - while (1) { - __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":1187 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "partsort.pyx":1180 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":1188 - * while x < b[j]: j -= 1 + /* "partsort.pyx":1181 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1189 + /* "partsort.pyx":1182 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp * i += 1 */ - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1190 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":1183 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":1191 - * b[i] = b[j] - * b[j] = tmp + /* "partsort.pyx":1184 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1192 - * b[j] = tmp + /* "partsort.pyx":1185 + * b[i0, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L18; - } - __pyx_L18:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L17; + } + __pyx_L17:; - /* "partsort.pyx":1193 + /* "partsort.pyx":1186 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L13_break; - } - } - __pyx_L13_break:; + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L12_break; + } + } + __pyx_L12_break:; - /* "partsort.pyx":1194 + /* "partsort.pyx":1187 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L20; - } - __pyx_L20:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L19; + } + __pyx_L19:; - /* "partsort.pyx":1195 + /* "partsort.pyx":1188 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L21; - } - __pyx_L21:; - } - } - - /* "partsort.pyx":1179 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] - */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L9; - } - __pyx_L9:; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L20; } + __pyx_L20:; + } } - /* "partsort.pyx":1196 + /* "partsort.pyx":1189 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -16970,11 +16847,11 @@ static PyObject *__pyx_pf_8partsort_54partsort_1d_float32_axis0(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1164 + /* "partsort.pyx":1156 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float32 along axis=0." + * def partsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -16989,7 +16866,7 @@ static PyObject *__pyx_pf_8partsort_54partsort_1d_float32_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -17002,19 +16879,19 @@ static PyObject *__pyx_pf_8partsort_54partsort_1d_float32_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "partsort.pyx":1200 +/* "partsort.pyx":1193 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float64 along axis=0." + * def partsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_57partsort_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_56partsort_1d_float64_axis0[] = "partsort_1d_float64_axis0(ndarray a, int n)\nPartial sort of 1d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_57partsort_1d_float64_axis0 = {"partsort_1d_float64_axis0", (PyCFunction)__pyx_pw_8partsort_57partsort_1d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_56partsort_1d_float64_axis0}; -static PyObject *__pyx_pw_8partsort_57partsort_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_57partsort_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_56partsort_2d_int32_axis0[] = "partsort_2d_int32_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_57partsort_2d_int32_axis0 = {"partsort_2d_int32_axis0", (PyCFunction)__pyx_pw_8partsort_57partsort_2d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_56partsort_2d_int32_axis0}; +static PyObject *__pyx_pw_8partsort_57partsort_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -17022,7 +16899,7 @@ static PyObject *__pyx_pw_8partsort_57partsort_1d_float64_axis0(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_1d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_int32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -17043,11 +16920,11 @@ static PyObject *__pyx_pw_8partsort_57partsort_1d_float64_axis0(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_1d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_1d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -17056,18 +16933,18 @@ static PyObject *__pyx_pw_8partsort_57partsort_1d_float64_axis0(PyObject *__pyx_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_1d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_56partsort_1d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_56partsort_2d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -17078,17 +16955,19 @@ static PyObject *__pyx_pw_8partsort_57partsort_1d_float64_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_56partsort_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -17102,17 +16981,26 @@ static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED Py PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; - npy_intp __pyx_t_8; - npy_intp __pyx_t_9; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; npy_intp __pyx_t_10; - npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_11; npy_intp __pyx_t_12; - npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_13; npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_15; + npy_intp __pyx_t_16; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_1d_float64_axis0", 0); + __Pyx_RefNannySetupContext("partsort_2d_int32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -17123,64 +17011,73 @@ static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":1202 - * def partsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): - * "Partial sort of 1d array with dtype=float64 along axis=0." + /* "partsort.pyx":1195 + * def partsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1204 + /* "partsort.pyx":1197 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=1] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1207 - * cdef Py_ssize_t i0 + /* "partsort.pyx":1200 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * if n0 == 0: + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1208 + /* "partsort.pyx":1201 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * if n0 == 0: - * return b */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1209 + /* "partsort.pyx":1202 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * if n0 == 0: + * return b + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "partsort.pyx":1203 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * if n0 == 0: # <<<<<<<<<<<<<< * return b * if (n < 1) or (n > n0): @@ -17188,8 +17085,8 @@ static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED Py __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1210 - * cdef Py_ssize_t n0 = dim[0] + /* "partsort.pyx":1204 + * cdef Py_ssize_t n1 = dim[1] * if n0 == 0: * return b # <<<<<<<<<<<<<< * if (n < 1) or (n > n0): @@ -17201,12 +17098,12 @@ static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED Py goto __pyx_L0; } - /* "partsort.pyx":1211 + /* "partsort.pyx":1205 * if n0 == 0: * return b * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 + * for i1 in range(n1): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -17221,20 +17118,20 @@ static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED Py __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1212 + /* "partsort.pyx":1206 * return b * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + * for i1 in range(n1): + * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -17242,256 +17139,242 @@ static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1213 + /* "partsort.pyx":1207 * if (n < 1) or (n > n0): * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * with nogil: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_v_l = 0; + __pyx_t_8 = __pyx_v_n1; + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i1 = __pyx_t_9; - /* "partsort.pyx":1214 + /* "partsort.pyx":1208 * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * with nogil: + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "partsort.pyx":1215 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< + /* "partsort.pyx":1209 + * for i1 in range(n1): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k] + * x = b[k, i1] */ - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - #endif - /*try:*/ { + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":1216 - * r = n0 - 1 - * with nogil: + /* "partsort.pyx":1210 + * l = 0 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k] + * x = b[k, i1] * i = l */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":1217 - * with nogil: + /* "partsort.pyx":1211 + * r = n0 - 1 * while l < r: - * x = b[k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_8 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_10 = __pyx_v_k; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1218 + /* "partsort.pyx":1212 * while l < r: - * x = b[k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ - __pyx_v_i = __pyx_v_l; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1219 - * x = b[k] + /* "partsort.pyx":1213 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ - __pyx_v_j = __pyx_v_r; + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1220 + /* "partsort.pyx":1214 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ - while (1) { + while (1) { - /* "partsort.pyx":1221 + /* "partsort.pyx":1215 * j = r * while 1: - * while b[i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ - while (1) { - __pyx_t_9 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_b.diminfo[0].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } + while (1) { + __pyx_t_12 = __pyx_v_i; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":1222 + /* "partsort.pyx":1216 * while 1: - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i] + * tmp = b[i, i1] */ - while (1) { - __pyx_t_10 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_14 = __pyx_v_j; + __pyx_t_15 = __pyx_v_i1; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":1223 - * while b[i] < x: i += 1 - * while x < b[j]: j -= 1 + /* "partsort.pyx":1217 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i] - * b[i] = b[j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":1224 - * while x < b[j]: j -= 1 + /* "partsort.pyx":1218 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i] # <<<<<<<<<<<<<< - * b[i] = b[j] - * b[j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_11 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_16 = __pyx_v_i; + __pyx_t_17 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1225 + /* "partsort.pyx":1219 * if i <= j: - * tmp = b[i] - * b[i] = b[j] # <<<<<<<<<<<<<< - * b[j] = tmp + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp * i += 1 */ - __pyx_t_12 = __pyx_v_j; - __pyx_t_13 = __pyx_v_i; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_13, __pyx_pybuffernd_b.diminfo[0].strides) = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides)); + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1226 - * tmp = b[i] - * b[i] = b[j] - * b[j] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":1220 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_14 = __pyx_v_j; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":1227 - * b[i] = b[j] - * b[j] = tmp + /* "partsort.pyx":1221 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1228 - * b[j] = tmp + /* "partsort.pyx":1222 + * b[j, i1] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break * if j < k: l = i */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L18; - } - __pyx_L18:; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L17; + } + __pyx_L17:; - /* "partsort.pyx":1229 + /* "partsort.pyx":1223 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< * if j < k: l = i * if k < i: r = j */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L13_break; - } - } - __pyx_L13_break:; + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L12_break; + } + } + __pyx_L12_break:; - /* "partsort.pyx":1230 + /* "partsort.pyx":1224 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L20; - } - __pyx_L20:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L19; + } + __pyx_L19:; - /* "partsort.pyx":1231 + /* "partsort.pyx":1225 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L21; - } - __pyx_L21:; - } - } - - /* "partsort.pyx":1215 - * l = 0 - * r = n0 - 1 - * with nogil: # <<<<<<<<<<<<<< - * while l < r: - * x = b[k] - */ - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - Py_BLOCK_THREADS - #endif - goto __pyx_L9; - } - __pyx_L9:; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L20; } + __pyx_L20:; + } } - /* "partsort.pyx":1232 + /* "partsort.pyx":1226 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -17503,11 +17386,11 @@ static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1200 + /* "partsort.pyx":1193 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float64 along axis=0." + * def partsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -17522,7 +17405,7 @@ static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -17535,19 +17418,19 @@ static PyObject *__pyx_pf_8partsort_56partsort_1d_float64_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "partsort.pyx":1236 +/* "partsort.pyx":1230 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=0." + * def partsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_59partsort_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_58partsort_2d_float_axis0[] = "partsort_2d_float_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_59partsort_2d_float_axis0 = {"partsort_2d_float_axis0", (PyCFunction)__pyx_pw_8partsort_59partsort_2d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_58partsort_2d_float_axis0}; -static PyObject *__pyx_pw_8partsort_59partsort_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_59partsort_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_58partsort_2d_int32_axis1[] = "partsort_2d_int32_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int32 along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_59partsort_2d_int32_axis1 = {"partsort_2d_int32_axis1", (PyCFunction)__pyx_pw_8partsort_59partsort_2d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_58partsort_2d_int32_axis1}; +static PyObject *__pyx_pw_8partsort_59partsort_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -17555,7 +17438,7 @@ static PyObject *__pyx_pw_8partsort_59partsort_2d_float_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_int32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -17576,11 +17459,11 @@ static PyObject *__pyx_pw_8partsort_59partsort_2d_float_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -17589,18 +17472,18 @@ static PyObject *__pyx_pw_8partsort_59partsort_2d_float_axis0(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_58partsort_2d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_58partsort_2d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -17611,16 +17494,16 @@ static PyObject *__pyx_pw_8partsort_59partsort_2d_float_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_58partsort_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -17639,24 +17522,24 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - npy_intp __pyx_t_10; - Py_ssize_t __pyx_t_11; - npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; - npy_intp __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; + Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_float_axis0", 0); + __Pyx_RefNannySetupContext("partsort_2d_int32_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -17667,36 +17550,36 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":1238 - * def partsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float along axis=0." + /* "partsort.pyx":1232 + * def partsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1240 + /* "partsort.pyx":1234 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -17704,7 +17587,7 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1243 + /* "partsort.pyx":1237 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -17713,40 +17596,40 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1244 + /* "partsort.pyx":1238 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * if n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1245 + /* "partsort.pyx":1239 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 == 0: + * if n1 == 0: * return b */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":1246 + /* "partsort.pyx":1240 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1247 + /* "partsort.pyx":1241 * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * if n1 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -17754,12 +17637,12 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":1248 - * if n0 == 0: + /* "partsort.pyx":1242 + * if n1 == 0: * return b - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -17769,25 +17652,25 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1249 + /* "partsort.pyx":1243 * return b - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -17795,187 +17678,187 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1250 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "partsort.pyx":1244 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_t_8 = __pyx_v_n1; + __pyx_t_8 = __pyx_v_n0; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":1251 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + /* "partsort.pyx":1245 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "partsort.pyx":1252 - * for i1 in range(n1): + /* "partsort.pyx":1246 + * for i0 in range(n0): * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":1253 + /* "partsort.pyx":1247 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":1254 - * r = n0 - 1 + /* "partsort.pyx":1248 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_10 = __pyx_v_k; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1255 + /* "partsort.pyx":1249 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1256 - * x = b[k, i1] + /* "partsort.pyx":1250 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1257 + /* "partsort.pyx":1251 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "partsort.pyx":1258 + /* "partsort.pyx":1252 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_12 = __pyx_v_i; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":1259 + /* "partsort.pyx":1253 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_14 = __pyx_v_j; - __pyx_t_15 = __pyx_v_i1; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":1260 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":1254 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1261 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":1255 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_16 = __pyx_v_i; - __pyx_t_17 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1262 + /* "partsort.pyx":1256 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp * i += 1 */ - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1263 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":1257 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":1264 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "partsort.pyx":1258 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1265 - * b[j, i1] = tmp + /* "partsort.pyx":1259 + * b[i0, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -17986,7 +17869,7 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb } __pyx_L17:; - /* "partsort.pyx":1266 + /* "partsort.pyx":1260 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -18000,7 +17883,7 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb } __pyx_L12_break:; - /* "partsort.pyx":1267 + /* "partsort.pyx":1261 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -18014,7 +17897,7 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb } __pyx_L19:; - /* "partsort.pyx":1268 + /* "partsort.pyx":1262 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -18030,7 +17913,7 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb } } - /* "partsort.pyx":1269 + /* "partsort.pyx":1263 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -18042,11 +17925,11 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1236 + /* "partsort.pyx":1230 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=0." + * def partsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -18061,7 +17944,7 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -18074,19 +17957,19 @@ static PyObject *__pyx_pf_8partsort_58partsort_2d_float_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":1273 +/* "partsort.pyx":1267 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=1." + * def partsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_61partsort_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_60partsort_2d_float_axis1[] = "partsort_2d_float_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_61partsort_2d_float_axis1 = {"partsort_2d_float_axis1", (PyCFunction)__pyx_pw_8partsort_61partsort_2d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_60partsort_2d_float_axis1}; -static PyObject *__pyx_pw_8partsort_61partsort_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_61partsort_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_60partsort_2d_int64_axis0[] = "partsort_2d_int64_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_61partsort_2d_int64_axis0 = {"partsort_2d_int64_axis0", (PyCFunction)__pyx_pw_8partsort_61partsort_2d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_60partsort_2d_int64_axis0}; +static PyObject *__pyx_pw_8partsort_61partsort_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -18094,7 +17977,7 @@ static PyObject *__pyx_pw_8partsort_61partsort_2d_float_axis1(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_int64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -18115,11 +17998,11 @@ static PyObject *__pyx_pw_8partsort_61partsort_2d_float_axis1(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -18128,18 +18011,18 @@ static PyObject *__pyx_pw_8partsort_61partsort_2d_float_axis1(PyObject *__pyx_se values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_60partsort_2d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_60partsort_2d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -18150,16 +18033,16 @@ static PyObject *__pyx_pw_8partsort_61partsort_2d_float_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_60partsort_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -18178,24 +18061,24 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - npy_intp __pyx_t_11; - Py_ssize_t __pyx_t_12; - npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; - npy_intp __pyx_t_15; - Py_ssize_t __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; - Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; + npy_intp __pyx_t_10; + Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_12; + Py_ssize_t __pyx_t_13; + npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_15; + npy_intp __pyx_t_16; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; + npy_intp __pyx_t_22; + Py_ssize_t __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_float_axis1", 0); + __Pyx_RefNannySetupContext("partsort_2d_int64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -18206,36 +18089,36 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":1275 - * def partsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float along axis=1." + /* "partsort.pyx":1269 + * def partsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1277 + /* "partsort.pyx":1271 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -18243,7 +18126,7 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1280 + /* "partsort.pyx":1274 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -18252,40 +18135,40 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1281 + /* "partsort.pyx":1275 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * if n0 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1282 + /* "partsort.pyx":1276 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n1 == 0: + * if n0 == 0: * return b */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":1283 + /* "partsort.pyx":1277 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n1): + * if (n < 1) or (n > n0): */ - __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1284 + /* "partsort.pyx":1278 * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * if n0 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -18293,12 +18176,12 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "partsort.pyx":1285 - * if n1 == 0: + /* "partsort.pyx":1279 + * if n0 == 0: * return b - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -18308,25 +18191,25 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1286 + /* "partsort.pyx":1280 * return b - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -18334,187 +18217,187 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1287 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "partsort.pyx":1281 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< * l = 0 - * r = n1 - 1 + * r = n0 - 1 */ - __pyx_t_8 = __pyx_v_n0; + __pyx_t_8 = __pyx_v_n1; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_v_i1 = __pyx_t_9; - /* "partsort.pyx":1288 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + /* "partsort.pyx":1282 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 + * r = n0 - 1 * while l < r: */ __pyx_v_l = 0; - /* "partsort.pyx":1289 - * for i0 in range(n0): + /* "partsort.pyx":1283 + * for i1 in range(n1): * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< + * r = n0 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[i0, k] + * x = b[k, i1] */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":1290 + /* "partsort.pyx":1284 * l = 0 - * r = n1 - 1 + * r = n0 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] + * x = b[k, i1] * i = l */ while (1) { __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":1291 - * r = n1 - 1 + /* "partsort.pyx":1285 + * r = n0 - 1 * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< + * x = b[k, i1] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_k; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1292 + /* "partsort.pyx":1286 * while l < r: - * x = b[i0, k] + * x = b[k, i1] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1293 - * x = b[i0, k] + /* "partsort.pyx":1287 + * x = b[k, i1] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i0, i] < x: i += 1 + * while b[i, i1] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1294 + /* "partsort.pyx":1288 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 */ while (1) { - /* "partsort.pyx":1295 + /* "partsort.pyx":1289 * j = r * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 + * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_12 = __pyx_v_i; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":1296 + /* "partsort.pyx":1290 * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i0, i] + * tmp = b[i, i1] */ while (1) { - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_14 = __pyx_v_j; + __pyx_t_15 = __pyx_v_i1; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":1297 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "partsort.pyx":1291 + * while b[i, i1] < x: i += 1 + * while x < b[j, i1]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] */ __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1298 - * while x < b[i0, j]: j -= 1 + /* "partsort.pyx":1292 + * while x < b[j, i1]: j -= 1 * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + * tmp = b[i, i1] # <<<<<<<<<<<<<< + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i; + __pyx_t_17 = __pyx_v_i1; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1299 + /* "partsort.pyx":1293 * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< + * b[j, i1] = tmp * i += 1 */ - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_i; + __pyx_t_21 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1300 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":1294 + * tmp = b[i, i1] + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_j; + __pyx_t_23 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":1301 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "partsort.pyx":1295 + * b[i, i1] = b[j, i1] + * b[j, i1] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1302 - * b[i0, j] = tmp + /* "partsort.pyx":1296 + * b[j, i1] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -18525,7 +18408,7 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb } __pyx_L17:; - /* "partsort.pyx":1303 + /* "partsort.pyx":1297 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -18539,7 +18422,7 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb } __pyx_L12_break:; - /* "partsort.pyx":1304 + /* "partsort.pyx":1298 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -18553,7 +18436,7 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb } __pyx_L19:; - /* "partsort.pyx":1305 + /* "partsort.pyx":1299 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -18569,7 +18452,7 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb } } - /* "partsort.pyx":1306 + /* "partsort.pyx":1300 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -18581,11 +18464,11 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1273 + /* "partsort.pyx":1267 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=1." + * def partsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -18600,7 +18483,7 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -18613,19 +18496,19 @@ static PyObject *__pyx_pf_8partsort_60partsort_2d_float_axis1(CYTHON_UNUSED PyOb return __pyx_r; } -/* "partsort.pyx":1310 +/* "partsort.pyx":1304 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=0." + * def partsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_63partsort_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_62partsort_2d_float32_axis0[] = "partsort_2d_float32_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_63partsort_2d_float32_axis0 = {"partsort_2d_float32_axis0", (PyCFunction)__pyx_pw_8partsort_63partsort_2d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_62partsort_2d_float32_axis0}; -static PyObject *__pyx_pw_8partsort_63partsort_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_63partsort_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_62partsort_2d_int64_axis1[] = "partsort_2d_int64_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=int64 along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_63partsort_2d_int64_axis1 = {"partsort_2d_int64_axis1", (PyCFunction)__pyx_pw_8partsort_63partsort_2d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_62partsort_2d_int64_axis1}; +static PyObject *__pyx_pw_8partsort_63partsort_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -18633,7 +18516,7 @@ static PyObject *__pyx_pw_8partsort_63partsort_2d_float32_axis0(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_2d_int64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -18654,11 +18537,11 @@ static PyObject *__pyx_pw_8partsort_63partsort_2d_float32_axis0(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -18667,18 +18550,18 @@ static PyObject *__pyx_pw_8partsort_63partsort_2d_float32_axis0(PyObject *__pyx_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_2d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_62partsort_2d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_62partsort_2d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -18689,16 +18572,16 @@ static PyObject *__pyx_pw_8partsort_63partsort_2d_float32_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_62partsort_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; @@ -18717,24 +18600,24 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - npy_intp __pyx_t_10; - Py_ssize_t __pyx_t_11; - npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; - Py_ssize_t __pyx_t_15; - npy_intp __pyx_t_16; - Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; - Py_ssize_t __pyx_t_21; - npy_intp __pyx_t_22; - Py_ssize_t __pyx_t_23; + Py_ssize_t __pyx_t_10; + npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; + npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_16; + npy_intp __pyx_t_17; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; + npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_22; + npy_intp __pyx_t_23; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_float32_axis0", 0); + __Pyx_RefNannySetupContext("partsort_2d_int64_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -18745,36 +18628,36 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "partsort.pyx":1312 - * def partsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float32 along axis=0." + /* "partsort.pyx":1306 + * def partsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): + * "Partial sort of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1314 + /* "partsort.pyx":1308 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; } } @@ -18782,7 +18665,7 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1317 + /* "partsort.pyx":1311 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -18791,40 +18674,40 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1318 + /* "partsort.pyx":1312 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * if n1 == 0: */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1319 + /* "partsort.pyx":1313 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 == 0: + * if n1 == 0: * return b */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":1320 + /* "partsort.pyx":1314 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * return b - * if (n < 1) or (n > n0): + * if (n < 1) or (n > n1): */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1321 + /* "partsort.pyx":1315 * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * if n1 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -18832,12 +18715,12 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py goto __pyx_L0; } - /* "partsort.pyx":1322 - * if n0 == 0: + /* "partsort.pyx":1316 + * if n1 == 0: * return b - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -18847,25 +18730,25 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1323 + /* "partsort.pyx":1317 * return b - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): * l = 0 */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -18873,187 +18756,187 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1324 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "partsort.pyx":1318 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< * l = 0 - * r = n0 - 1 + * r = n1 - 1 */ - __pyx_t_8 = __pyx_v_n1; + __pyx_t_8 = __pyx_v_n0; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":1325 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + /* "partsort.pyx":1319 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 + * r = n1 - 1 * while l < r: */ __pyx_v_l = 0; - /* "partsort.pyx":1326 - * for i1 in range(n1): + /* "partsort.pyx":1320 + * for i0 in range(n0): * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< + * r = n1 - 1 # <<<<<<<<<<<<<< * while l < r: - * x = b[k, i1] + * x = b[i0, k] */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":1327 + /* "partsort.pyx":1321 * l = 0 - * r = n0 - 1 + * r = n1 - 1 * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] + * x = b[i0, k] * i = l */ while (1) { __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); if (!__pyx_t_3) break; - /* "partsort.pyx":1328 - * r = n0 - 1 + /* "partsort.pyx":1322 + * r = n1 - 1 * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< + * x = b[i0, k] # <<<<<<<<<<<<<< * i = l * j = r */ - __pyx_t_10 = __pyx_v_k; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1329 + /* "partsort.pyx":1323 * while l < r: - * x = b[k, i1] + * x = b[i0, k] * i = l # <<<<<<<<<<<<<< * j = r * while 1: */ __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1330 - * x = b[k, i1] + /* "partsort.pyx":1324 + * x = b[i0, k] * i = l * j = r # <<<<<<<<<<<<<< * while 1: - * while b[i, i1] < x: i += 1 + * while b[i0, i] < x: i += 1 */ __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1331 + /* "partsort.pyx":1325 * i = l * j = r * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 */ while (1) { - /* "partsort.pyx":1332 + /* "partsort.pyx":1326 * j = r * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 + * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j]: j -= 1 * if i <= j: */ while (1) { - __pyx_t_12 = __pyx_v_i; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } - /* "partsort.pyx":1333 + /* "partsort.pyx":1327 * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< * if i <= j: - * tmp = b[i, i1] + * tmp = b[i0, i] */ while (1) { - __pyx_t_14 = __pyx_v_j; - __pyx_t_15 = __pyx_v_i1; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } - /* "partsort.pyx":1334 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":1328 + * while b[i0, i] < x: i += 1 + * while x < b[i0, j]: j -= 1 * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] */ __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); if (__pyx_t_3) { - /* "partsort.pyx":1335 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":1329 + * while x < b[i0, j]: j -= 1 * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + * tmp = b[i0, i] # <<<<<<<<<<<<<< + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp */ - __pyx_t_16 = __pyx_v_i; - __pyx_t_17 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1336 + /* "partsort.pyx":1330 * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< + * b[i0, j] = tmp * i += 1 */ - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_21 = __pyx_v_i; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); - /* "partsort.pyx":1337 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< + /* "partsort.pyx":1331 + * tmp = b[i0, i] + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp # <<<<<<<<<<<<<< * i += 1 * j -= 1 */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_22 = __pyx_v_i0; + __pyx_t_23 = __pyx_v_j; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; - /* "partsort.pyx":1338 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "partsort.pyx":1332 + * b[i0, i] = b[i0, j] + * b[i0, j] = tmp * i += 1 # <<<<<<<<<<<<<< * j -= 1 * if i > j: break */ __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1339 - * b[j, i1] = tmp + /* "partsort.pyx":1333 + * b[i0, j] = tmp * i += 1 * j -= 1 # <<<<<<<<<<<<<< * if i > j: break @@ -19064,7 +18947,7 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py } __pyx_L17:; - /* "partsort.pyx":1340 + /* "partsort.pyx":1334 * i += 1 * j -= 1 * if i > j: break # <<<<<<<<<<<<<< @@ -19078,7 +18961,7 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py } __pyx_L12_break:; - /* "partsort.pyx":1341 + /* "partsort.pyx":1335 * j -= 1 * if i > j: break * if j < k: l = i # <<<<<<<<<<<<<< @@ -19092,7 +18975,7 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py } __pyx_L19:; - /* "partsort.pyx":1342 + /* "partsort.pyx":1336 * if i > j: break * if j < k: l = i * if k < i: r = j # <<<<<<<<<<<<<< @@ -19108,7 +18991,7 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py } } - /* "partsort.pyx":1343 + /* "partsort.pyx":1337 * if j < k: l = i * if k < i: r = j * return b # <<<<<<<<<<<<<< @@ -19120,11 +19003,11 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1310 + /* "partsort.pyx":1304 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=0." + * def partsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -19139,7 +19022,7 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -19152,19 +19035,19 @@ static PyObject *__pyx_pf_8partsort_62partsort_2d_float32_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "partsort.pyx":1347 +/* "partsort.pyx":1341 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=1." + * def partsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_65partsort_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_64partsort_2d_float32_axis1[] = "partsort_2d_float32_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float32 along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_65partsort_2d_float32_axis1 = {"partsort_2d_float32_axis1", (PyCFunction)__pyx_pw_8partsort_65partsort_2d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_64partsort_2d_float32_axis1}; -static PyObject *__pyx_pw_8partsort_65partsort_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_65partsort_3d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_64partsort_3d_int_axis0[] = "partsort_3d_int_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_65partsort_3d_int_axis0 = {"partsort_3d_int_axis0", (PyCFunction)__pyx_pw_8partsort_65partsort_3d_int_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_64partsort_3d_int_axis0}; +static PyObject *__pyx_pw_8partsort_65partsort_3d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -19172,7 +19055,7 @@ static PyObject *__pyx_pw_8partsort_65partsort_2d_float32_axis1(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -19193,11 +19076,11 @@ static PyObject *__pyx_pw_8partsort_65partsort_2d_float32_axis1(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -19206,18 +19089,18 @@ static PyObject *__pyx_pw_8partsort_65partsort_2d_float32_axis1(PyObject *__pyx_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_64partsort_2d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_64partsort_3d_int_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -19228,19 +19111,21 @@ static PyObject *__pyx_pw_8partsort_65partsort_2d_float32_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_64partsort_3d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -19257,23 +19142,32 @@ static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED Py Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - npy_intp __pyx_t_11; - Py_ssize_t __pyx_t_12; - npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_11; + npy_intp __pyx_t_12; + Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; npy_intp __pyx_t_15; Py_ssize_t __pyx_t_16; - npy_intp __pyx_t_17; - Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_17; + npy_intp __pyx_t_18; + Py_ssize_t __pyx_t_19; Py_ssize_t __pyx_t_20; npy_intp __pyx_t_21; Py_ssize_t __pyx_t_22; - npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_23; + npy_intp __pyx_t_24; + Py_ssize_t __pyx_t_25; + Py_ssize_t __pyx_t_26; + npy_intp __pyx_t_27; + Py_ssize_t __pyx_t_28; + Py_ssize_t __pyx_t_29; + npy_intp __pyx_t_30; + Py_ssize_t __pyx_t_31; + Py_ssize_t __pyx_t_32; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_float32_axis1", 0); + __Pyx_RefNannySetupContext("partsort_3d_int_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -19284,45 +19178,45 @@ static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":1349 - * def partsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float32 along axis=1." + /* "partsort.pyx":1343 + * def partsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1351 + /* "partsort.pyx":1345 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1354 - * cdef Py_ssize_t i0, i1 + /* "partsort.pyx":1348 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -19330,40 +19224,49 @@ static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1355 + /* "partsort.pyx":1349 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1356 + /* "partsort.pyx":1350 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n1 == 0: - * return b + * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":1357 + /* "partsort.pyx":1351 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * if n0 == 0: * return b - * if (n < 1) or (n > n1): */ - __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_3) { + __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":1358 + /* "partsort.pyx":1352 * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: # <<<<<<<<<<<<<< + * return b + * if (n < 1) or (n > n0): + */ + __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_3) { + + /* "partsort.pyx":1353 + * cdef Py_ssize_t n2 = dim[2] + * if n0 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -19371,12 +19274,12 @@ static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED Py goto __pyx_L0; } - /* "partsort.pyx":1359 - * if n1 == 0: + /* "partsort.pyx":1354 + * if n0 == 0: * return b - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): + * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -19386,25 +19289,25 @@ static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED Py goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1360 + /* "partsort.pyx":1355 * return b - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< - * for i0 in range(n0): - * l = 0 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< + * for i1 in range(n1): + * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -19412,244 +19315,263 @@ static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1361 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + /* "partsort.pyx":1356 + * if (n < 1) or (n > n0): + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * for i2 in range(n2): + * l = 0 */ - __pyx_t_8 = __pyx_v_n0; + __pyx_t_8 = __pyx_v_n1; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_v_i1 = __pyx_t_9; - /* "partsort.pyx":1362 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) - * for i0 in range(n0): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + /* "partsort.pyx":1357 + * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * for i1 in range(n1): + * for i2 in range(n2): # <<<<<<<<<<<<<< + * l = 0 + * r = n0 - 1 */ - __pyx_v_l = 0; + __pyx_t_10 = __pyx_v_n2; + for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { + __pyx_v_i2 = __pyx_t_11; - /* "partsort.pyx":1363 - * for i0 in range(n0): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k] + /* "partsort.pyx":1358 + * for i1 in range(n1): + * for i2 in range(n2): + * l = 0 # <<<<<<<<<<<<<< + * r = n0 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_l = 0; - /* "partsort.pyx":1364 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] - * i = l + /* "partsort.pyx":1359 + * for i2 in range(n2): + * l = 0 + * r = n0 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[k, i1, i2] */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_v_r = (__pyx_v_n0 - 1); - /* "partsort.pyx":1365 - * r = n1 - 1 - * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "partsort.pyx":1360 + * l = 0 + * r = n0 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[k, i1, i2] + * i = l */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":1366 - * while l < r: - * x = b[i0, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":1361 + * r = n0 - 1 + * while l < r: + * x = b[k, i1, i2] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_12 = __pyx_v_k; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_14 = __pyx_v_i2; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":1367 - * x = b[i0, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i] < x: i += 1 + /* "partsort.pyx":1362 + * while l < r: + * x = b[k, i1, i2] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1368 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "partsort.pyx":1363 + * x = b[k, i1, i2] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i, i1, i2] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1369 - * j = r - * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 - * if i <= j: + /* "partsort.pyx":1364 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 */ while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "partsort.pyx":1370 - * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i] + /* "partsort.pyx":1365 + * j = r + * while 1: + * while b[i, i1, i2] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_15 = __pyx_v_i; + __pyx_t_16 = __pyx_v_i1; + __pyx_t_17 = __pyx_v_i2; + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":1371 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + /* "partsort.pyx":1366 + * while 1: + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i, i1, i2] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + while (1) { + __pyx_t_18 = __pyx_v_j; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_i2; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":1372 - * while x < b[i0, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "partsort.pyx":1367 + * while b[i, i1, i2] < x: i += 1 + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":1373 - * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * i += 1 + /* "partsort.pyx":1368 + * while x < b[j, i1, i2]: j -= 1 + * if i <= j: + * tmp = b[i, i1, i2] # <<<<<<<<<<<<<< + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp */ - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_21 = __pyx_v_i; + __pyx_t_22 = __pyx_v_i1; + __pyx_t_23 = __pyx_v_i2; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":1374 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":1369 + * if i <= j: + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] # <<<<<<<<<<<<<< + * b[j, i1, i2] = tmp + * i += 1 */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_24 = __pyx_v_j; + __pyx_t_25 = __pyx_v_i1; + __pyx_t_26 = __pyx_v_i2; + __pyx_t_27 = __pyx_v_i; + __pyx_t_28 = __pyx_v_i1; + __pyx_t_29 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":1375 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":1370 + * tmp = b[i, i1, i2] + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_t_30 = __pyx_v_j; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":1376 - * b[i0, j] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":1371 + * b[i, i1, i2] = b[j, i1, i2] + * b[j, i1, i2] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L17; - } - __pyx_L17:; + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1377 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1372 + * b[j, i1, i2] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L12_break; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L19; + } + __pyx_L19:; + + /* "partsort.pyx":1373 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j + */ + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L14_break; + } } - } - __pyx_L12_break:; + __pyx_L14_break:; - /* "partsort.pyx":1378 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":1374 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L19; - } - __pyx_L19:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L21; + } + __pyx_L21:; - /* "partsort.pyx":1379 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "partsort.pyx":1375 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L20; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L22; + } + __pyx_L22:; } - __pyx_L20:; } } - /* "partsort.pyx":1380 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1376 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -19659,11 +19581,11 @@ static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1347 + /* "partsort.pyx":1341 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=1." + * def partsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -19678,7 +19600,7 @@ static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -19691,19 +19613,19 @@ static PyObject *__pyx_pf_8partsort_64partsort_2d_float32_axis1(CYTHON_UNUSED Py return __pyx_r; } -/* "partsort.pyx":1384 +/* "partsort.pyx":1380 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=0." + * def partsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_67partsort_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_66partsort_2d_float64_axis0[] = "partsort_2d_float64_axis0(ndarray a, int n)\nPartial sort of 2d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_67partsort_2d_float64_axis0 = {"partsort_2d_float64_axis0", (PyCFunction)__pyx_pw_8partsort_67partsort_2d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_66partsort_2d_float64_axis0}; -static PyObject *__pyx_pw_8partsort_67partsort_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_67partsort_3d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_66partsort_3d_int_axis1[] = "partsort_3d_int_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_67partsort_3d_int_axis1 = {"partsort_3d_int_axis1", (PyCFunction)__pyx_pw_8partsort_67partsort_3d_int_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_66partsort_3d_int_axis1}; +static PyObject *__pyx_pw_8partsort_67partsort_3d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -19711,7 +19633,7 @@ static PyObject *__pyx_pw_8partsort_67partsort_2d_float64_axis0(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -19732,11 +19654,11 @@ static PyObject *__pyx_pw_8partsort_67partsort_2d_float64_axis0(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -19745,18 +19667,18 @@ static PyObject *__pyx_pw_8partsort_67partsort_2d_float64_axis0(PyObject *__pyx_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_66partsort_2d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_66partsort_3d_int_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -19767,19 +19689,21 @@ static PyObject *__pyx_pw_8partsort_67partsort_2d_float64_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_66partsort_3d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; - Py_ssize_t __pyx_v_i1; + Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i2; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -19795,24 +19719,33 @@ static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED Py PyObject *__pyx_t_7 = NULL; Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; - npy_intp __pyx_t_10; + Py_ssize_t __pyx_t_10; Py_ssize_t __pyx_t_11; - npy_intp __pyx_t_12; - Py_ssize_t __pyx_t_13; - npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_12; + npy_intp __pyx_t_13; + Py_ssize_t __pyx_t_14; Py_ssize_t __pyx_t_15; npy_intp __pyx_t_16; Py_ssize_t __pyx_t_17; - npy_intp __pyx_t_18; - Py_ssize_t __pyx_t_19; - npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_18; + npy_intp __pyx_t_19; + Py_ssize_t __pyx_t_20; Py_ssize_t __pyx_t_21; npy_intp __pyx_t_22; Py_ssize_t __pyx_t_23; + Py_ssize_t __pyx_t_24; + npy_intp __pyx_t_25; + Py_ssize_t __pyx_t_26; + Py_ssize_t __pyx_t_27; + npy_intp __pyx_t_28; + Py_ssize_t __pyx_t_29; + Py_ssize_t __pyx_t_30; + npy_intp __pyx_t_31; + Py_ssize_t __pyx_t_32; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_float64_axis0", 0); + __Pyx_RefNannySetupContext("partsort_3d_int_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -19823,45 +19756,45 @@ static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":1386 - * def partsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float64 along axis=0." + /* "partsort.pyx":1382 + * def partsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1388 - * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "partsort.pyx":1384 + * cdef np.npy_intp i, j = 0, l, r, k = n-1 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1391 - * cdef Py_ssize_t i0, i1 + /* "partsort.pyx":1387 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -19869,40 +19802,49 @@ static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1392 + /* "partsort.pyx":1388 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1393 + /* "partsort.pyx":1389 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n0 == 0: - * return b + * cdef Py_ssize_t n2 = dim[2] + * if n1 == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":1394 + /* "partsort.pyx":1390 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * if n1 == 0: * return b - * if (n < 1) or (n > n0): */ - __pyx_t_3 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_3) { + __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":1395 + /* "partsort.pyx":1391 * cdef Py_ssize_t n1 = dim[1] - * if n0 == 0: + * cdef Py_ssize_t n2 = dim[2] + * if n1 == 0: # <<<<<<<<<<<<<< + * return b + * if (n < 1) or (n > n1): + */ + __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); + if (__pyx_t_3) { + + /* "partsort.pyx":1392 + * cdef Py_ssize_t n2 = dim[2] + * if n1 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -19910,12 +19852,12 @@ static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED Py goto __pyx_L0; } - /* "partsort.pyx":1396 - * if n0 == 0: + /* "partsort.pyx":1393 + * if n1 == 0: * return b - * if (n < 1) or (n > n0): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): + * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); if (!__pyx_t_4) { @@ -19925,25 +19867,25 @@ static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED Py goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n0) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1397 + /* "partsort.pyx":1394 * return b - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) # <<<<<<<<<<<<<< - * for i1 in range(n1): - * l = 0 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i2 in range(n2): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -19951,244 +19893,263 @@ static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1398 - * if (n < 1) or (n > n0): - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * l = 0 - * r = n0 - 1 + /* "partsort.pyx":1395 + * if (n < 1) or (n > n1): + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i2 in range(n2): + * l = 0 */ - __pyx_t_8 = __pyx_v_n1; + __pyx_t_8 = __pyx_v_n0; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i1 = __pyx_t_9; + __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":1399 - * raise ValueError(PARTSORT_ERR_MSG % (n, n0)) - * for i1 in range(n1): - * l = 0 # <<<<<<<<<<<<<< - * r = n0 - 1 - * while l < r: + /* "partsort.pyx":1396 + * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * for i0 in range(n0): + * for i2 in range(n2): # <<<<<<<<<<<<<< + * l = 0 + * r = n1 - 1 */ - __pyx_v_l = 0; + __pyx_t_10 = __pyx_v_n2; + for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { + __pyx_v_i2 = __pyx_t_11; - /* "partsort.pyx":1400 - * for i1 in range(n1): - * l = 0 - * r = n0 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[k, i1] + /* "partsort.pyx":1397 + * for i0 in range(n0): + * for i2 in range(n2): + * l = 0 # <<<<<<<<<<<<<< + * r = n1 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n0 - 1); + __pyx_v_l = 0; - /* "partsort.pyx":1401 - * l = 0 - * r = n0 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[k, i1] - * i = l + /* "partsort.pyx":1398 + * for i2 in range(n2): + * l = 0 + * r = n1 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[i0, k, i2] */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_v_r = (__pyx_v_n1 - 1); - /* "partsort.pyx":1402 - * r = n0 - 1 - * while l < r: - * x = b[k, i1] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "partsort.pyx":1399 + * l = 0 + * r = n1 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[i0, k, i2] + * i = l */ - __pyx_t_10 = __pyx_v_k; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":1403 - * while l < r: - * x = b[k, i1] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":1400 + * r = n1 - 1 + * while l < r: + * x = b[i0, k, i2] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_k; + __pyx_t_14 = __pyx_v_i2; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":1404 - * x = b[k, i1] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i, i1] < x: i += 1 + /* "partsort.pyx":1401 + * while l < r: + * x = b[i0, k, i2] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1405 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 + /* "partsort.pyx":1402 + * x = b[i0, k, i2] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i0, i, i2] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1406 - * j = r - * while 1: - * while b[i, i1] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[j, i1]: j -= 1 - * if i <= j: + /* "partsort.pyx":1403 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 */ while (1) { - __pyx_t_12 = __pyx_v_i; - __pyx_t_13 = __pyx_v_i1; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "partsort.pyx":1407 - * while 1: - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i, i1] + /* "partsort.pyx":1404 + * j = r + * while 1: + * while b[i0, i, i2] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_14 = __pyx_v_j; - __pyx_t_15 = __pyx_v_i1; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_15 = __pyx_v_i0; + __pyx_t_16 = __pyx_v_i; + __pyx_t_17 = __pyx_v_i2; + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":1408 - * while b[i, i1] < x: i += 1 - * while x < b[j, i1]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] + /* "partsort.pyx":1405 + * while 1: + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i0, i, i2] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + while (1) { + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_j; + __pyx_t_20 = __pyx_v_i2; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":1409 - * while x < b[j, i1]: j -= 1 - * if i <= j: - * tmp = b[i, i1] # <<<<<<<<<<<<<< - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp + /* "partsort.pyx":1406 + * while b[i0, i, i2] < x: i += 1 + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] */ - __pyx_t_16 = __pyx_v_i; - __pyx_t_17 = __pyx_v_i1; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":1410 - * if i <= j: - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] # <<<<<<<<<<<<<< - * b[j, i1] = tmp - * i += 1 + /* "partsort.pyx":1407 + * while x < b[i0, j, i2]: j -= 1 + * if i <= j: + * tmp = b[i0, i, i2] # <<<<<<<<<<<<<< + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp */ - __pyx_t_18 = __pyx_v_j; - __pyx_t_19 = __pyx_v_i1; - __pyx_t_20 = __pyx_v_i; - __pyx_t_21 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_21 = __pyx_v_i0; + __pyx_t_22 = __pyx_v_i; + __pyx_t_23 = __pyx_v_i2; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":1411 - * tmp = b[i, i1] - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":1408 + * if i <= j: + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] # <<<<<<<<<<<<<< + * b[i0, j, i2] = tmp + * i += 1 */ - __pyx_t_22 = __pyx_v_j; - __pyx_t_23 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_j; + __pyx_t_26 = __pyx_v_i2; + __pyx_t_27 = __pyx_v_i0; + __pyx_t_28 = __pyx_v_i; + __pyx_t_29 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":1412 - * b[i, i1] = b[j, i1] - * b[j, i1] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":1409 + * tmp = b[i0, i, i2] + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_j; + __pyx_t_32 = __pyx_v_i2; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":1413 - * b[j, i1] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":1410 + * b[i0, i, i2] = b[i0, j, i2] + * b[i0, j, i2] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L17; - } - __pyx_L17:; + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1414 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1411 + * b[i0, j, i2] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L12_break; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L19; + } + __pyx_L19:; + + /* "partsort.pyx":1412 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j + */ + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L14_break; + } } - } - __pyx_L12_break:; + __pyx_L14_break:; - /* "partsort.pyx":1415 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":1413 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L19; - } - __pyx_L19:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L21; + } + __pyx_L21:; - /* "partsort.pyx":1416 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "partsort.pyx":1414 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L20; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L22; + } + __pyx_L22:; } - __pyx_L20:; } } - /* "partsort.pyx":1417 - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1415 + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -20198,11 +20159,11 @@ static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1384 + /* "partsort.pyx":1380 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=0." + * def partsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -20217,7 +20178,7 @@ static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -20230,19 +20191,19 @@ static PyObject *__pyx_pf_8partsort_66partsort_2d_float64_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "partsort.pyx":1421 +/* "partsort.pyx":1419 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=1." + * def partsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_69partsort_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_68partsort_2d_float64_axis1[] = "partsort_2d_float64_axis1(ndarray a, int n)\nPartial sort of 2d array with dtype=float64 along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_69partsort_2d_float64_axis1 = {"partsort_2d_float64_axis1", (PyCFunction)__pyx_pw_8partsort_69partsort_2d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_68partsort_2d_float64_axis1}; -static PyObject *__pyx_pw_8partsort_69partsort_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_69partsort_3d_int_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_68partsort_3d_int_axis2[] = "partsort_3d_int_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int along axis=2."; +static PyMethodDef __pyx_mdef_8partsort_69partsort_3d_int_axis2 = {"partsort_3d_int_axis2", (PyCFunction)__pyx_pw_8partsort_69partsort_3d_int_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_68partsort_3d_int_axis2}; +static PyObject *__pyx_pw_8partsort_69partsort_3d_int_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -20250,7 +20211,7 @@ static PyObject *__pyx_pw_8partsort_69partsort_2d_float64_axis1(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_2d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -20271,11 +20232,11 @@ static PyObject *__pyx_pw_8partsort_69partsort_2d_float64_axis1(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_2d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_2d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -20284,18 +20245,18 @@ static PyObject *__pyx_pw_8partsort_69partsort_2d_float64_axis1(PyObject *__pyx_ values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_n = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_2d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_68partsort_2d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8partsort_68partsort_3d_int_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -20306,19 +20267,21 @@ static PyObject *__pyx_pw_8partsort_69partsort_2d_float64_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_68partsort_3d_int_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int_t __pyx_v_x; + __pyx_t_5numpy_int_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + Py_ssize_t __pyx_v_n2; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; __Pyx_LocalBuf_ND __pyx_pybuffernd_b; @@ -20335,23 +20298,32 @@ static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED Py Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - npy_intp __pyx_t_11; + Py_ssize_t __pyx_t_11; Py_ssize_t __pyx_t_12; - npy_intp __pyx_t_13; - Py_ssize_t __pyx_t_14; - npy_intp __pyx_t_15; + Py_ssize_t __pyx_t_13; + npy_intp __pyx_t_14; + Py_ssize_t __pyx_t_15; Py_ssize_t __pyx_t_16; npy_intp __pyx_t_17; Py_ssize_t __pyx_t_18; - npy_intp __pyx_t_19; - Py_ssize_t __pyx_t_20; - npy_intp __pyx_t_21; + Py_ssize_t __pyx_t_19; + npy_intp __pyx_t_20; + Py_ssize_t __pyx_t_21; Py_ssize_t __pyx_t_22; npy_intp __pyx_t_23; + Py_ssize_t __pyx_t_24; + Py_ssize_t __pyx_t_25; + npy_intp __pyx_t_26; + Py_ssize_t __pyx_t_27; + Py_ssize_t __pyx_t_28; + npy_intp __pyx_t_29; + Py_ssize_t __pyx_t_30; + Py_ssize_t __pyx_t_31; + npy_intp __pyx_t_32; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_2d_float64_axis1", 0); + __Pyx_RefNannySetupContext("partsort_3d_int_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -20362,45 +20334,45 @@ static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; - /* "partsort.pyx":1423 - * def partsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): - * "Partial sort of 2d array with dtype=float64 along axis=1." + /* "partsort.pyx":1421 + * def partsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); - /* "partsort.pyx":1425 + /* "partsort.pyx":1423 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=2] b = PyArray_Copy(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef np.int_t x, tmp + * cdef np.ndarray[np.int_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ - __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Copy(((PyArrayObject *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; } } __pyx_t_2 = 0; __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "partsort.pyx":1428 - * cdef Py_ssize_t i0, i1 + /* "partsort.pyx":1426 + * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] @@ -20408,40 +20380,49 @@ static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED Py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "partsort.pyx":1429 + /* "partsort.pyx":1427 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * cdef Py_ssize_t n2 = dim[2] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "partsort.pyx":1430 + /* "partsort.pyx":1428 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * if n1 == 0: - * return b + * cdef Py_ssize_t n2 = dim[2] + * if n2 == 0: */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "partsort.pyx":1431 + /* "partsort.pyx":1429 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: # <<<<<<<<<<<<<< + * cdef Py_ssize_t n2 = dim[2] # <<<<<<<<<<<<<< + * if n2 == 0: * return b - * if (n < 1) or (n > n1): */ - __pyx_t_3 = ((__pyx_v_n1 == 0) != 0); - if (__pyx_t_3) { + __pyx_v_n2 = (__pyx_v_dim[2]); - /* "partsort.pyx":1432 + /* "partsort.pyx":1430 * cdef Py_ssize_t n1 = dim[1] - * if n1 == 0: + * cdef Py_ssize_t n2 = dim[2] + * if n2 == 0: # <<<<<<<<<<<<<< + * return b + * if (n < 1) or (n > n2): + */ + __pyx_t_3 = ((__pyx_v_n2 == 0) != 0); + if (__pyx_t_3) { + + /* "partsort.pyx":1431 + * cdef Py_ssize_t n2 = dim[2] + * if n2 == 0: * return b # <<<<<<<<<<<<<< - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_b)); @@ -20449,11 +20430,11 @@ static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED Py goto __pyx_L0; } - /* "partsort.pyx":1433 - * if n1 == 0: + /* "partsort.pyx":1432 + * if n2 == 0: * return b - * if (n < 1) or (n > n1): # <<<<<<<<<<<<<< - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + * if (n < 1) or (n > n2): # <<<<<<<<<<<<<< + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): */ __pyx_t_4 = ((__pyx_v_n < 1) != 0); @@ -20464,25 +20445,25 @@ static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED Py goto __pyx_L5_bool_binop_done; } __pyx_L6_next_or:; - __pyx_t_4 = ((__pyx_v_n > __pyx_v_n1) != 0); + __pyx_t_4 = ((__pyx_v_n > __pyx_v_n2) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { - /* "partsort.pyx":1434 + /* "partsort.pyx":1433 * return b - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) # <<<<<<<<<<<<<< + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) # <<<<<<<<<<<<<< * for i0 in range(n0): - * l = 0 + * for i1 in range(n1): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PARTSORT_ERR_MSG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_n2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); @@ -20490,244 +20471,263 @@ static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED Py __Pyx_GIVEREF(__pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "partsort.pyx":1435 - * if (n < 1) or (n > n1): - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + /* "partsort.pyx":1434 + * if (n < 1) or (n > n2): + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): # <<<<<<<<<<<<<< - * l = 0 - * r = n1 - 1 + * for i1 in range(n1): + * l = 0 */ __pyx_t_8 = __pyx_v_n0; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "partsort.pyx":1436 - * raise ValueError(PARTSORT_ERR_MSG % (n, n1)) + /* "partsort.pyx":1435 + * raise ValueError(PARTSORT_ERR_MSG % (n, n2)) * for i0 in range(n0): - * l = 0 # <<<<<<<<<<<<<< - * r = n1 - 1 - * while l < r: + * for i1 in range(n1): # <<<<<<<<<<<<<< + * l = 0 + * r = n2 - 1 */ - __pyx_v_l = 0; + __pyx_t_10 = __pyx_v_n1; + for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { + __pyx_v_i1 = __pyx_t_11; - /* "partsort.pyx":1437 + /* "partsort.pyx":1436 * for i0 in range(n0): - * l = 0 - * r = n1 - 1 # <<<<<<<<<<<<<< - * while l < r: - * x = b[i0, k] + * for i1 in range(n1): + * l = 0 # <<<<<<<<<<<<<< + * r = n2 - 1 + * while l < r: */ - __pyx_v_r = (__pyx_v_n1 - 1); + __pyx_v_l = 0; - /* "partsort.pyx":1438 - * l = 0 - * r = n1 - 1 - * while l < r: # <<<<<<<<<<<<<< - * x = b[i0, k] - * i = l + /* "partsort.pyx":1437 + * for i1 in range(n1): + * l = 0 + * r = n2 - 1 # <<<<<<<<<<<<<< + * while l < r: + * x = b[i0, i1, k] */ - while (1) { - __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); - if (!__pyx_t_3) break; + __pyx_v_r = (__pyx_v_n2 - 1); - /* "partsort.pyx":1439 - * r = n1 - 1 - * while l < r: - * x = b[i0, k] # <<<<<<<<<<<<<< - * i = l - * j = r + /* "partsort.pyx":1438 + * l = 0 + * r = n2 - 1 + * while l < r: # <<<<<<<<<<<<<< + * x = b[i0, i1, k] + * i = l */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_b.diminfo[1].strides)); + while (1) { + __pyx_t_3 = ((__pyx_v_l < __pyx_v_r) != 0); + if (!__pyx_t_3) break; - /* "partsort.pyx":1440 - * while l < r: - * x = b[i0, k] - * i = l # <<<<<<<<<<<<<< - * j = r - * while 1: + /* "partsort.pyx":1439 + * r = n2 - 1 + * while l < r: + * x = b[i0, i1, k] # <<<<<<<<<<<<<< + * i = l + * j = r */ - __pyx_v_i = __pyx_v_l; + __pyx_t_12 = __pyx_v_i0; + __pyx_t_13 = __pyx_v_i1; + __pyx_t_14 = __pyx_v_k; + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":1441 - * x = b[i0, k] - * i = l - * j = r # <<<<<<<<<<<<<< - * while 1: - * while b[i0, i] < x: i += 1 + /* "partsort.pyx":1440 + * while l < r: + * x = b[i0, i1, k] + * i = l # <<<<<<<<<<<<<< + * j = r + * while 1: */ - __pyx_v_j = __pyx_v_r; + __pyx_v_i = __pyx_v_l; - /* "partsort.pyx":1442 - * i = l - * j = r - * while 1: # <<<<<<<<<<<<<< - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 + /* "partsort.pyx":1441 + * x = b[i0, i1, k] + * i = l + * j = r # <<<<<<<<<<<<<< + * while 1: + * while b[i0, i1, i] < x: i += 1 */ - while (1) { + __pyx_v_j = __pyx_v_r; - /* "partsort.pyx":1443 - * j = r - * while 1: - * while b[i0, i] < x: i += 1 # <<<<<<<<<<<<<< - * while x < b[i0, j]: j -= 1 - * if i <= j: + /* "partsort.pyx":1442 + * i = l + * j = r + * while 1: # <<<<<<<<<<<<<< + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 */ while (1) { - __pyx_t_12 = __pyx_v_i0; - __pyx_t_13 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides)) < __pyx_v_x) != 0); - if (!__pyx_t_3) break; - __pyx_v_i = (__pyx_v_i + 1); - } - /* "partsort.pyx":1444 - * while 1: - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 # <<<<<<<<<<<<<< - * if i <= j: - * tmp = b[i0, i] + /* "partsort.pyx":1443 + * j = r + * while 1: + * while b[i0, i1, i] < x: i += 1 # <<<<<<<<<<<<<< + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: */ - while (1) { - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_b.diminfo[1].strides))) != 0); - if (!__pyx_t_3) break; - __pyx_v_j = (__pyx_v_j - 1); - } + while (1) { + __pyx_t_15 = __pyx_v_i0; + __pyx_t_16 = __pyx_v_i1; + __pyx_t_17 = __pyx_v_i; + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + if (!__pyx_t_3) break; + __pyx_v_i = (__pyx_v_i + 1); + } - /* "partsort.pyx":1445 - * while b[i0, i] < x: i += 1 - * while x < b[i0, j]: j -= 1 - * if i <= j: # <<<<<<<<<<<<<< - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] + /* "partsort.pyx":1444 + * while 1: + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 # <<<<<<<<<<<<<< + * if i <= j: + * tmp = b[i0, i1, i] */ - __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); - if (__pyx_t_3) { + while (1) { + __pyx_t_18 = __pyx_v_i0; + __pyx_t_19 = __pyx_v_i1; + __pyx_t_20 = __pyx_v_j; + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + if (!__pyx_t_3) break; + __pyx_v_j = (__pyx_v_j - 1); + } - /* "partsort.pyx":1446 - * while x < b[i0, j]: j -= 1 - * if i <= j: - * tmp = b[i0, i] # <<<<<<<<<<<<<< - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp + /* "partsort.pyx":1445 + * while b[i0, i1, i] < x: i += 1 + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: # <<<<<<<<<<<<<< + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_3 = ((__pyx_v_i <= __pyx_v_j) != 0); + if (__pyx_t_3) { - /* "partsort.pyx":1447 - * if i <= j: - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] # <<<<<<<<<<<<<< - * b[i0, j] = tmp - * i += 1 + /* "partsort.pyx":1446 + * while x < b[i0, i1, j]: j -= 1 + * if i <= j: + * tmp = b[i0, i1, i] # <<<<<<<<<<<<<< + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp */ - __pyx_t_18 = __pyx_v_i0; - __pyx_t_19 = __pyx_v_j; - __pyx_t_20 = __pyx_v_i0; - __pyx_t_21 = __pyx_v_i; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_b.diminfo[1].strides) = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides)); + __pyx_t_21 = __pyx_v_i0; + __pyx_t_22 = __pyx_v_i1; + __pyx_t_23 = __pyx_v_i; + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":1448 - * tmp = b[i0, i] - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp # <<<<<<<<<<<<<< - * i += 1 - * j -= 1 + /* "partsort.pyx":1447 + * if i <= j: + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] # <<<<<<<<<<<<<< + * b[i0, i1, j] = tmp + * i += 1 */ - __pyx_t_22 = __pyx_v_i0; - __pyx_t_23 = __pyx_v_j; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[1].strides) = __pyx_v_tmp; + __pyx_t_24 = __pyx_v_i0; + __pyx_t_25 = __pyx_v_i1; + __pyx_t_26 = __pyx_v_j; + __pyx_t_27 = __pyx_v_i0; + __pyx_t_28 = __pyx_v_i1; + __pyx_t_29 = __pyx_v_i; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); - /* "partsort.pyx":1449 - * b[i0, i] = b[i0, j] - * b[i0, j] = tmp - * i += 1 # <<<<<<<<<<<<<< - * j -= 1 - * if i > j: break + /* "partsort.pyx":1448 + * tmp = b[i0, i1, i] + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp # <<<<<<<<<<<<<< + * i += 1 + * j -= 1 */ - __pyx_v_i = (__pyx_v_i + 1); + __pyx_t_30 = __pyx_v_i0; + __pyx_t_31 = __pyx_v_i1; + __pyx_t_32 = __pyx_v_j; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; - /* "partsort.pyx":1450 - * b[i0, j] = tmp - * i += 1 - * j -= 1 # <<<<<<<<<<<<<< - * if i > j: break - * if j < k: l = i + /* "partsort.pyx":1449 + * b[i0, i1, i] = b[i0, i1, j] + * b[i0, i1, j] = tmp + * i += 1 # <<<<<<<<<<<<<< + * j -= 1 + * if i > j: break */ - __pyx_v_j = (__pyx_v_j - 1); - goto __pyx_L17; - } - __pyx_L17:; + __pyx_v_i = (__pyx_v_i + 1); - /* "partsort.pyx":1451 - * i += 1 - * j -= 1 - * if i > j: break # <<<<<<<<<<<<<< - * if j < k: l = i - * if k < i: r = j + /* "partsort.pyx":1450 + * b[i0, i1, j] = tmp + * i += 1 + * j -= 1 # <<<<<<<<<<<<<< + * if i > j: break + * if j < k: l = i */ - __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); - if (__pyx_t_3) { - goto __pyx_L12_break; + __pyx_v_j = (__pyx_v_j - 1); + goto __pyx_L19; + } + __pyx_L19:; + + /* "partsort.pyx":1451 + * i += 1 + * j -= 1 + * if i > j: break # <<<<<<<<<<<<<< + * if j < k: l = i + * if k < i: r = j + */ + __pyx_t_3 = ((__pyx_v_i > __pyx_v_j) != 0); + if (__pyx_t_3) { + goto __pyx_L14_break; + } } - } - __pyx_L12_break:; + __pyx_L14_break:; - /* "partsort.pyx":1452 - * j -= 1 - * if i > j: break - * if j < k: l = i # <<<<<<<<<<<<<< - * if k < i: r = j + /* "partsort.pyx":1452 + * j -= 1 + * if i > j: break + * if j < k: l = i # <<<<<<<<<<<<<< + * if k < i: r = j * return b */ - __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); - if (__pyx_t_3) { - __pyx_v_l = __pyx_v_i; - goto __pyx_L19; - } - __pyx_L19:; + __pyx_t_3 = ((__pyx_v_j < __pyx_v_k) != 0); + if (__pyx_t_3) { + __pyx_v_l = __pyx_v_i; + goto __pyx_L21; + } + __pyx_L21:; - /* "partsort.pyx":1453 - * if i > j: break - * if j < k: l = i - * if k < i: r = j # <<<<<<<<<<<<<< + /* "partsort.pyx":1453 + * if i > j: break + * if j < k: l = i + * if k < i: r = j # <<<<<<<<<<<<<< * return b * */ - __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); - if (__pyx_t_3) { - __pyx_v_r = __pyx_v_j; - goto __pyx_L20; + __pyx_t_3 = ((__pyx_v_k < __pyx_v_i) != 0); + if (__pyx_t_3) { + __pyx_v_r = __pyx_v_j; + goto __pyx_L22; + } + __pyx_L22:; } - __pyx_L20:; } } /* "partsort.pyx":1454 - * if j < k: l = i - * if k < i: r = j + * if j < k: l = i + * if k < i: r = j * return b # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -20737,11 +20737,11 @@ static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_b); goto __pyx_L0; - /* "partsort.pyx":1421 + /* "partsort.pyx":1419 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=1." + * def partsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -20756,7 +20756,7 @@ static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -20772,16 +20772,16 @@ static PyObject *__pyx_pf_8partsort_68partsort_2d_float64_axis1(CYTHON_UNUSED Py /* "partsort.pyx":1458 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=0." + * def partsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_71partsort_3d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_70partsort_3d_float_axis0[] = "partsort_3d_float_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_71partsort_3d_float_axis0 = {"partsort_3d_float_axis0", (PyCFunction)__pyx_pw_8partsort_71partsort_3d_float_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_70partsort_3d_float_axis0}; -static PyObject *__pyx_pw_8partsort_71partsort_3d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_71partsort_3d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_70partsort_3d_int8_axis0[] = "partsort_3d_int8_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_71partsort_3d_int8_axis0 = {"partsort_3d_int8_axis0", (PyCFunction)__pyx_pw_8partsort_71partsort_3d_int8_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_70partsort_3d_int8_axis0}; +static PyObject *__pyx_pw_8partsort_71partsort_3d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -20789,7 +20789,7 @@ static PyObject *__pyx_pw_8partsort_71partsort_3d_float_axis0(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int8_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -20810,11 +20810,11 @@ static PyObject *__pyx_pw_8partsort_71partsort_3d_float_axis0(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int8_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -20827,14 +20827,14 @@ static PyObject *__pyx_pw_8partsort_71partsort_3d_float_axis0(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_70partsort_3d_float_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_70partsort_3d_int8_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -20845,14 +20845,14 @@ static PyObject *__pyx_pw_8partsort_71partsort_3d_float_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_70partsort_3d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i1; Py_ssize_t __pyx_v_i2; @@ -20901,7 +20901,7 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_float_axis0", 0); + __Pyx_RefNannySetupContext("partsort_3d_int8_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -20912,24 +20912,24 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "partsort.pyx":1460 - * def partsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float along axis=0." + * def partsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":1462 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -20939,7 +20939,7 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -21127,7 +21127,7 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_12 = __pyx_v_k; __pyx_t_13 = __pyx_v_i1; __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1479 * while l < r: @@ -21167,7 +21167,7 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_15 = __pyx_v_i; __pyx_t_16 = __pyx_v_i1; __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -21183,7 +21183,7 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_18 = __pyx_v_j; __pyx_t_19 = __pyx_v_i1; __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -21208,7 +21208,7 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_21 = __pyx_v_i; __pyx_t_22 = __pyx_v_i1; __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1486 * if i <= j: @@ -21223,7 +21223,7 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_27 = __pyx_v_i; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1487 * tmp = b[i, i1, i2] @@ -21235,7 +21235,7 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_30 = __pyx_v_j; __pyx_t_31 = __pyx_v_i1; __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "partsort.pyx":1488 * b[i, i1, i2] = b[j, i1, i2] @@ -21318,8 +21318,8 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb /* "partsort.pyx":1458 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=0." + * def partsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -21334,7 +21334,7 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -21350,16 +21350,16 @@ static PyObject *__pyx_pf_8partsort_70partsort_3d_float_axis0(CYTHON_UNUSED PyOb /* "partsort.pyx":1497 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=1." + * def partsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_73partsort_3d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_72partsort_3d_float_axis1[] = "partsort_3d_float_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_73partsort_3d_float_axis1 = {"partsort_3d_float_axis1", (PyCFunction)__pyx_pw_8partsort_73partsort_3d_float_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_72partsort_3d_float_axis1}; -static PyObject *__pyx_pw_8partsort_73partsort_3d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_73partsort_3d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_72partsort_3d_int8_axis1[] = "partsort_3d_int8_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_73partsort_3d_int8_axis1 = {"partsort_3d_int8_axis1", (PyCFunction)__pyx_pw_8partsort_73partsort_3d_int8_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_72partsort_3d_int8_axis1}; +static PyObject *__pyx_pw_8partsort_73partsort_3d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -21367,7 +21367,7 @@ static PyObject *__pyx_pw_8partsort_73partsort_3d_float_axis1(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int8_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -21388,11 +21388,11 @@ static PyObject *__pyx_pw_8partsort_73partsort_3d_float_axis1(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int8_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -21405,14 +21405,14 @@ static PyObject *__pyx_pw_8partsort_73partsort_3d_float_axis1(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_72partsort_3d_float_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_72partsort_3d_int8_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -21423,14 +21423,14 @@ static PyObject *__pyx_pw_8partsort_73partsort_3d_float_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_72partsort_3d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i2; @@ -21479,7 +21479,7 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_float_axis1", 0); + __Pyx_RefNannySetupContext("partsort_3d_int8_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -21490,24 +21490,24 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "partsort.pyx":1499 - * def partsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float along axis=1." + * def partsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":1501 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -21517,7 +21517,7 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -21705,7 +21705,7 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_k; __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1518 * while l < r: @@ -21745,7 +21745,7 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb __pyx_t_15 = __pyx_v_i0; __pyx_t_16 = __pyx_v_i; __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -21761,7 +21761,7 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_j; __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -21786,7 +21786,7 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb __pyx_t_21 = __pyx_v_i0; __pyx_t_22 = __pyx_v_i; __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1525 * if i <= j: @@ -21801,7 +21801,7 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb __pyx_t_27 = __pyx_v_i0; __pyx_t_28 = __pyx_v_i; __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1526 * tmp = b[i0, i, i2] @@ -21813,7 +21813,7 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb __pyx_t_30 = __pyx_v_i0; __pyx_t_31 = __pyx_v_j; __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "partsort.pyx":1527 * b[i0, i, i2] = b[i0, j, i2] @@ -21896,8 +21896,8 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb /* "partsort.pyx":1497 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=1." + * def partsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -21912,7 +21912,7 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -21928,16 +21928,16 @@ static PyObject *__pyx_pf_8partsort_72partsort_3d_float_axis1(CYTHON_UNUSED PyOb /* "partsort.pyx":1536 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=2." + * def partsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_75partsort_3d_float_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_74partsort_3d_float_axis2[] = "partsort_3d_float_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float along axis=2."; -static PyMethodDef __pyx_mdef_8partsort_75partsort_3d_float_axis2 = {"partsort_3d_float_axis2", (PyCFunction)__pyx_pw_8partsort_75partsort_3d_float_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_74partsort_3d_float_axis2}; -static PyObject *__pyx_pw_8partsort_75partsort_3d_float_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_75partsort_3d_int8_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_74partsort_3d_int8_axis2[] = "partsort_3d_int8_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int8 along axis=2."; +static PyMethodDef __pyx_mdef_8partsort_75partsort_3d_int8_axis2 = {"partsort_3d_int8_axis2", (PyCFunction)__pyx_pw_8partsort_75partsort_3d_int8_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_74partsort_3d_int8_axis2}; +static PyObject *__pyx_pw_8partsort_75partsort_3d_int8_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -21945,7 +21945,7 @@ static PyObject *__pyx_pw_8partsort_75partsort_3d_float_axis2(PyObject *__pyx_se int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_float_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int8_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -21966,11 +21966,11 @@ static PyObject *__pyx_pw_8partsort_75partsort_3d_float_axis2(PyObject *__pyx_se case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int8_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -21983,14 +21983,14 @@ static PyObject *__pyx_pw_8partsort_75partsort_3d_float_axis2(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_float_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int8_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_float_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int8_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_74partsort_3d_float_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_74partsort_3d_int8_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -22001,14 +22001,14 @@ static PyObject *__pyx_pw_8partsort_75partsort_3d_float_axis2(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_74partsort_3d_int8_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float_t __pyx_v_x; - __pyx_t_5numpy_float_t __pyx_v_tmp; + __pyx_t_5numpy_int8_t __pyx_v_x; + __pyx_t_5numpy_int8_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -22057,7 +22057,7 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_float_axis2", 0); + __Pyx_RefNannySetupContext("partsort_3d_int8_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -22068,24 +22068,24 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "partsort.pyx":1538 - * def partsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float along axis=2." + * def partsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int8 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":1540 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float_t x, tmp - * cdef np.ndarray[np.float_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int8_t x, tmp + * cdef np.ndarray[np.int8_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -22095,7 +22095,7 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -22283,7 +22283,7 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_i1; __pyx_t_14 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1557 * while l < r: @@ -22323,7 +22323,7 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb __pyx_t_15 = __pyx_v_i0; __pyx_t_16 = __pyx_v_i1; __pyx_t_17 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -22339,7 +22339,7 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_i1; __pyx_t_20 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -22364,7 +22364,7 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb __pyx_t_21 = __pyx_v_i0; __pyx_t_22 = __pyx_v_i1; __pyx_t_23 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1564 * if i <= j: @@ -22379,7 +22379,7 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb __pyx_t_27 = __pyx_v_i0; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1565 * tmp = b[i0, i1, i] @@ -22391,7 +22391,7 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb __pyx_t_30 = __pyx_v_i0; __pyx_t_31 = __pyx_v_i1; __pyx_t_32 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "partsort.pyx":1566 * b[i0, i1, i] = b[i0, i1, j] @@ -22474,8 +22474,8 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb /* "partsort.pyx":1536 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=2." + * def partsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -22490,7 +22490,7 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_float_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int8_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -22506,16 +22506,16 @@ static PyObject *__pyx_pf_8partsort_74partsort_3d_float_axis2(CYTHON_UNUSED PyOb /* "partsort.pyx":1575 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=0." + * def partsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_77partsort_3d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_76partsort_3d_float32_axis0[] = "partsort_3d_float32_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_77partsort_3d_float32_axis0 = {"partsort_3d_float32_axis0", (PyCFunction)__pyx_pw_8partsort_77partsort_3d_float32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_76partsort_3d_float32_axis0}; -static PyObject *__pyx_pw_8partsort_77partsort_3d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_77partsort_3d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_76partsort_3d_int32_axis0[] = "partsort_3d_int32_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_77partsort_3d_int32_axis0 = {"partsort_3d_int32_axis0", (PyCFunction)__pyx_pw_8partsort_77partsort_3d_int32_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_76partsort_3d_int32_axis0}; +static PyObject *__pyx_pw_8partsort_77partsort_3d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -22523,7 +22523,7 @@ static PyObject *__pyx_pw_8partsort_77partsort_3d_float32_axis0(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int32_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -22544,11 +22544,11 @@ static PyObject *__pyx_pw_8partsort_77partsort_3d_float32_axis0(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int32_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -22561,14 +22561,14 @@ static PyObject *__pyx_pw_8partsort_77partsort_3d_float32_axis0(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_76partsort_3d_float32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_76partsort_3d_int32_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -22579,14 +22579,14 @@ static PyObject *__pyx_pw_8partsort_77partsort_3d_float32_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_76partsort_3d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i1; Py_ssize_t __pyx_v_i2; @@ -22635,7 +22635,7 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_float32_axis0", 0); + __Pyx_RefNannySetupContext("partsort_3d_int32_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -22646,24 +22646,24 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "partsort.pyx":1577 - * def partsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float32 along axis=0." + * def partsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":1579 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -22673,7 +22673,7 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1579; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -22861,7 +22861,7 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py __pyx_t_12 = __pyx_v_k; __pyx_t_13 = __pyx_v_i1; __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1596 * while l < r: @@ -22901,7 +22901,7 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py __pyx_t_15 = __pyx_v_i; __pyx_t_16 = __pyx_v_i1; __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -22917,7 +22917,7 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py __pyx_t_18 = __pyx_v_j; __pyx_t_19 = __pyx_v_i1; __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -22942,7 +22942,7 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py __pyx_t_21 = __pyx_v_i; __pyx_t_22 = __pyx_v_i1; __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1603 * if i <= j: @@ -22957,7 +22957,7 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py __pyx_t_27 = __pyx_v_i; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1604 * tmp = b[i, i1, i2] @@ -22969,7 +22969,7 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py __pyx_t_30 = __pyx_v_j; __pyx_t_31 = __pyx_v_i1; __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "partsort.pyx":1605 * b[i, i1, i2] = b[j, i1, i2] @@ -23052,8 +23052,8 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py /* "partsort.pyx":1575 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=0." + * def partsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -23068,7 +23068,7 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -23084,16 +23084,16 @@ static PyObject *__pyx_pf_8partsort_76partsort_3d_float32_axis0(CYTHON_UNUSED Py /* "partsort.pyx":1614 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=1." + * def partsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_79partsort_3d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_78partsort_3d_float32_axis1[] = "partsort_3d_float32_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_79partsort_3d_float32_axis1 = {"partsort_3d_float32_axis1", (PyCFunction)__pyx_pw_8partsort_79partsort_3d_float32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_78partsort_3d_float32_axis1}; -static PyObject *__pyx_pw_8partsort_79partsort_3d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_79partsort_3d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_78partsort_3d_int32_axis1[] = "partsort_3d_int32_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_79partsort_3d_int32_axis1 = {"partsort_3d_int32_axis1", (PyCFunction)__pyx_pw_8partsort_79partsort_3d_int32_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_78partsort_3d_int32_axis1}; +static PyObject *__pyx_pw_8partsort_79partsort_3d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -23101,7 +23101,7 @@ static PyObject *__pyx_pw_8partsort_79partsort_3d_float32_axis1(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int32_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -23122,11 +23122,11 @@ static PyObject *__pyx_pw_8partsort_79partsort_3d_float32_axis1(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int32_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -23139,14 +23139,14 @@ static PyObject *__pyx_pw_8partsort_79partsort_3d_float32_axis1(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_78partsort_3d_float32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_78partsort_3d_int32_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -23157,14 +23157,14 @@ static PyObject *__pyx_pw_8partsort_79partsort_3d_float32_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_78partsort_3d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i2; @@ -23213,7 +23213,7 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_float32_axis1", 0); + __Pyx_RefNannySetupContext("partsort_3d_int32_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -23224,24 +23224,24 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "partsort.pyx":1616 - * def partsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float32 along axis=1." + * def partsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":1618 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -23251,7 +23251,7 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -23439,7 +23439,7 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_k; __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1635 * while l < r: @@ -23479,7 +23479,7 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py __pyx_t_15 = __pyx_v_i0; __pyx_t_16 = __pyx_v_i; __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -23495,7 +23495,7 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_j; __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -23520,7 +23520,7 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py __pyx_t_21 = __pyx_v_i0; __pyx_t_22 = __pyx_v_i; __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1642 * if i <= j: @@ -23535,7 +23535,7 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py __pyx_t_27 = __pyx_v_i0; __pyx_t_28 = __pyx_v_i; __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1643 * tmp = b[i0, i, i2] @@ -23547,7 +23547,7 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py __pyx_t_30 = __pyx_v_i0; __pyx_t_31 = __pyx_v_j; __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "partsort.pyx":1644 * b[i0, i, i2] = b[i0, j, i2] @@ -23630,8 +23630,8 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py /* "partsort.pyx":1614 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=1." + * def partsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -23646,7 +23646,7 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -23662,16 +23662,16 @@ static PyObject *__pyx_pf_8partsort_78partsort_3d_float32_axis1(CYTHON_UNUSED Py /* "partsort.pyx":1653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=2." + * def partsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_81partsort_3d_float32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_80partsort_3d_float32_axis2[] = "partsort_3d_float32_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float32 along axis=2."; -static PyMethodDef __pyx_mdef_8partsort_81partsort_3d_float32_axis2 = {"partsort_3d_float32_axis2", (PyCFunction)__pyx_pw_8partsort_81partsort_3d_float32_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_80partsort_3d_float32_axis2}; -static PyObject *__pyx_pw_8partsort_81partsort_3d_float32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_81partsort_3d_int32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_80partsort_3d_int32_axis2[] = "partsort_3d_int32_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int32 along axis=2."; +static PyMethodDef __pyx_mdef_8partsort_81partsort_3d_int32_axis2 = {"partsort_3d_int32_axis2", (PyCFunction)__pyx_pw_8partsort_81partsort_3d_int32_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_80partsort_3d_int32_axis2}; +static PyObject *__pyx_pw_8partsort_81partsort_3d_int32_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -23679,7 +23679,7 @@ static PyObject *__pyx_pw_8partsort_81partsort_3d_float32_axis2(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_float32_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int32_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -23700,11 +23700,11 @@ static PyObject *__pyx_pw_8partsort_81partsort_3d_float32_axis2(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float32_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int32_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -23717,14 +23717,14 @@ static PyObject *__pyx_pw_8partsort_81partsort_3d_float32_axis2(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_float32_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int32_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_float32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_80partsort_3d_float32_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_80partsort_3d_int32_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -23735,14 +23735,14 @@ static PyObject *__pyx_pw_8partsort_81partsort_3d_float32_axis2(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_80partsort_3d_int32_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float32_t __pyx_v_x; - __pyx_t_5numpy_float32_t __pyx_v_tmp; + __pyx_t_5numpy_int32_t __pyx_v_x; + __pyx_t_5numpy_int32_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -23791,7 +23791,7 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_float32_axis2", 0); + __Pyx_RefNannySetupContext("partsort_3d_int32_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -23802,24 +23802,24 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "partsort.pyx":1655 - * def partsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float32 along axis=2." + * def partsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":1657 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float32_t x, tmp - * cdef np.ndarray[np.float32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int32_t x, tmp + * cdef np.ndarray[np.int32_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -23829,7 +23829,7 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -24017,7 +24017,7 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_i1; __pyx_t_14 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1674 * while l < r: @@ -24057,7 +24057,7 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py __pyx_t_15 = __pyx_v_i0; __pyx_t_16 = __pyx_v_i1; __pyx_t_17 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -24073,7 +24073,7 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_i1; __pyx_t_20 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -24098,7 +24098,7 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py __pyx_t_21 = __pyx_v_i0; __pyx_t_22 = __pyx_v_i1; __pyx_t_23 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1681 * if i <= j: @@ -24113,7 +24113,7 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py __pyx_t_27 = __pyx_v_i0; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1682 * tmp = b[i0, i1, i] @@ -24125,7 +24125,7 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py __pyx_t_30 = __pyx_v_i0; __pyx_t_31 = __pyx_v_i1; __pyx_t_32 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "partsort.pyx":1683 * b[i0, i1, i] = b[i0, i1, j] @@ -24208,8 +24208,8 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py /* "partsort.pyx":1653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=2." + * def partsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -24224,7 +24224,7 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_float32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int32_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -24240,16 +24240,16 @@ static PyObject *__pyx_pf_8partsort_80partsort_3d_float32_axis2(CYTHON_UNUSED Py /* "partsort.pyx":1692 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=0." + * def partsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_83partsort_3d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_82partsort_3d_float64_axis0[] = "partsort_3d_float64_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_8partsort_83partsort_3d_float64_axis0 = {"partsort_3d_float64_axis0", (PyCFunction)__pyx_pw_8partsort_83partsort_3d_float64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_82partsort_3d_float64_axis0}; -static PyObject *__pyx_pw_8partsort_83partsort_3d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_83partsort_3d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_82partsort_3d_int64_axis0[] = "partsort_3d_int64_axis0(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_8partsort_83partsort_3d_int64_axis0 = {"partsort_3d_int64_axis0", (PyCFunction)__pyx_pw_8partsort_83partsort_3d_int64_axis0, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_82partsort_3d_int64_axis0}; +static PyObject *__pyx_pw_8partsort_83partsort_3d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -24257,7 +24257,7 @@ static PyObject *__pyx_pw_8partsort_83partsort_3d_float64_axis0(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int64_axis0 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -24278,11 +24278,11 @@ static PyObject *__pyx_pw_8partsort_83partsort_3d_float64_axis0(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis0", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int64_axis0") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -24295,14 +24295,14 @@ static PyObject *__pyx_pw_8partsort_83partsort_3d_float64_axis0(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis0", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_82partsort_3d_float64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_82partsort_3d_int64_axis0(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -24313,14 +24313,14 @@ static PyObject *__pyx_pw_8partsort_83partsort_3d_float64_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_82partsort_3d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i1; Py_ssize_t __pyx_v_i2; @@ -24369,7 +24369,7 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_float64_axis0", 0); + __Pyx_RefNannySetupContext("partsort_3d_int64_axis0", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -24380,24 +24380,24 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "partsort.pyx":1694 - * def partsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float64 along axis=0." + * def partsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":1696 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -24407,7 +24407,7 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -24595,7 +24595,7 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py __pyx_t_12 = __pyx_v_k; __pyx_t_13 = __pyx_v_i1; __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1713 * while l < r: @@ -24635,7 +24635,7 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py __pyx_t_15 = __pyx_v_i; __pyx_t_16 = __pyx_v_i1; __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -24651,7 +24651,7 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py __pyx_t_18 = __pyx_v_j; __pyx_t_19 = __pyx_v_i1; __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -24676,7 +24676,7 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py __pyx_t_21 = __pyx_v_i; __pyx_t_22 = __pyx_v_i1; __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1720 * if i <= j: @@ -24691,7 +24691,7 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py __pyx_t_27 = __pyx_v_i; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1721 * tmp = b[i, i1, i2] @@ -24703,7 +24703,7 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py __pyx_t_30 = __pyx_v_j; __pyx_t_31 = __pyx_v_i1; __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "partsort.pyx":1722 * b[i, i1, i2] = b[j, i1, i2] @@ -24786,8 +24786,8 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py /* "partsort.pyx":1692 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=0." + * def partsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -24802,7 +24802,7 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -24818,16 +24818,16 @@ static PyObject *__pyx_pf_8partsort_82partsort_3d_float64_axis0(CYTHON_UNUSED Py /* "partsort.pyx":1731 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=1." + * def partsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_85partsort_3d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_84partsort_3d_float64_axis1[] = "partsort_3d_float64_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=1."; -static PyMethodDef __pyx_mdef_8partsort_85partsort_3d_float64_axis1 = {"partsort_3d_float64_axis1", (PyCFunction)__pyx_pw_8partsort_85partsort_3d_float64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_84partsort_3d_float64_axis1}; -static PyObject *__pyx_pw_8partsort_85partsort_3d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_85partsort_3d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_84partsort_3d_int64_axis1[] = "partsort_3d_int64_axis1(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=1."; +static PyMethodDef __pyx_mdef_8partsort_85partsort_3d_int64_axis1 = {"partsort_3d_int64_axis1", (PyCFunction)__pyx_pw_8partsort_85partsort_3d_int64_axis1, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_84partsort_3d_int64_axis1}; +static PyObject *__pyx_pw_8partsort_85partsort_3d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -24835,7 +24835,7 @@ static PyObject *__pyx_pw_8partsort_85partsort_3d_float64_axis1(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int64_axis1 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -24856,11 +24856,11 @@ static PyObject *__pyx_pw_8partsort_85partsort_3d_float64_axis1(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis1", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int64_axis1") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -24873,14 +24873,14 @@ static PyObject *__pyx_pw_8partsort_85partsort_3d_float64_axis1(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis1", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_84partsort_3d_float64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_84partsort_3d_int64_axis1(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -24891,14 +24891,14 @@ static PyObject *__pyx_pw_8partsort_85partsort_3d_float64_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_84partsort_3d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i2; @@ -24947,7 +24947,7 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_float64_axis1", 0); + __Pyx_RefNannySetupContext("partsort_3d_int64_axis1", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -24958,24 +24958,24 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "partsort.pyx":1733 - * def partsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float64 along axis=1." + * def partsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":1735 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -24985,7 +24985,7 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1735; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -25173,7 +25173,7 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_k; __pyx_t_14 = __pyx_v_i2; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1752 * while l < r: @@ -25213,7 +25213,7 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py __pyx_t_15 = __pyx_v_i0; __pyx_t_16 = __pyx_v_i; __pyx_t_17 = __pyx_v_i2; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -25229,7 +25229,7 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_j; __pyx_t_20 = __pyx_v_i2; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -25254,7 +25254,7 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py __pyx_t_21 = __pyx_v_i0; __pyx_t_22 = __pyx_v_i; __pyx_t_23 = __pyx_v_i2; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1759 * if i <= j: @@ -25269,7 +25269,7 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py __pyx_t_27 = __pyx_v_i0; __pyx_t_28 = __pyx_v_i; __pyx_t_29 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1760 * tmp = b[i0, i, i2] @@ -25281,7 +25281,7 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py __pyx_t_30 = __pyx_v_i0; __pyx_t_31 = __pyx_v_j; __pyx_t_32 = __pyx_v_i2; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "partsort.pyx":1761 * b[i0, i, i2] = b[i0, j, i2] @@ -25364,8 +25364,8 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py /* "partsort.pyx":1731 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=1." + * def partsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -25380,7 +25380,7 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -25396,16 +25396,16 @@ static PyObject *__pyx_pf_8partsort_84partsort_3d_float64_axis1(CYTHON_UNUSED Py /* "partsort.pyx":1770 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=2." + * def partsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ /* Python wrapper */ -static PyObject *__pyx_pw_8partsort_87partsort_3d_float64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_8partsort_86partsort_3d_float64_axis2[] = "partsort_3d_float64_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=float64 along axis=2."; -static PyMethodDef __pyx_mdef_8partsort_87partsort_3d_float64_axis2 = {"partsort_3d_float64_axis2", (PyCFunction)__pyx_pw_8partsort_87partsort_3d_float64_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_86partsort_3d_float64_axis2}; -static PyObject *__pyx_pw_8partsort_87partsort_3d_float64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_8partsort_87partsort_3d_int64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_8partsort_86partsort_3d_int64_axis2[] = "partsort_3d_int64_axis2(ndarray a, int n)\nPartial sort of 3d array with dtype=int64 along axis=2."; +static PyMethodDef __pyx_mdef_8partsort_87partsort_3d_int64_axis2 = {"partsort_3d_int64_axis2", (PyCFunction)__pyx_pw_8partsort_87partsort_3d_int64_axis2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8partsort_86partsort_3d_int64_axis2}; +static PyObject *__pyx_pw_8partsort_87partsort_3d_int64_axis2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_a = 0; int __pyx_v_n; int __pyx_lineno = 0; @@ -25413,7 +25413,7 @@ static PyObject *__pyx_pw_8partsort_87partsort_3d_float64_axis2(PyObject *__pyx_ int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("partsort_3d_float64_axis2 (wrapper)", 0); + __Pyx_RefNannySetupContext("partsort_3d_int64_axis2 (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_n,0}; PyObject* values[2] = {0,0}; @@ -25434,11 +25434,11 @@ static PyObject *__pyx_pw_8partsort_87partsort_3d_float64_axis2(PyObject *__pyx_ case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis2", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_float64_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "partsort_3d_int64_axis2") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -25451,14 +25451,14 @@ static PyObject *__pyx_pw_8partsort_87partsort_3d_float64_axis2(PyObject *__pyx_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("partsort_3d_float64_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("partsort_3d_int64_axis2", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; - __Pyx_AddTraceback("partsort.partsort_3d_float64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8partsort_86partsort_3d_float64_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); + __pyx_r = __pyx_pf_8partsort_86partsort_3d_int64_axis2(__pyx_self, __pyx_v_a, __pyx_v_n); /* function exit code */ goto __pyx_L0; @@ -25469,14 +25469,14 @@ static PyObject *__pyx_pw_8partsort_87partsort_3d_float64_axis2(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { +static PyObject *__pyx_pf_8partsort_86partsort_3d_int64_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, int __pyx_v_n) { npy_intp __pyx_v_i; npy_intp __pyx_v_j; npy_intp __pyx_v_l; npy_intp __pyx_v_r; npy_intp __pyx_v_k; - __pyx_t_5numpy_float64_t __pyx_v_x; - __pyx_t_5numpy_float64_t __pyx_v_tmp; + __pyx_t_5numpy_int64_t __pyx_v_x; + __pyx_t_5numpy_int64_t __pyx_v_tmp; PyArrayObject *__pyx_v_b = 0; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; @@ -25525,7 +25525,7 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("partsort_3d_float64_axis2", 0); + __Pyx_RefNannySetupContext("partsort_3d_int64_axis2", 0); __pyx_pybuffer_b.pybuffer.buf = NULL; __pyx_pybuffer_b.refcount = 0; __pyx_pybuffernd_b.data = NULL; @@ -25536,24 +25536,24 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_a.diminfo[2].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_a.diminfo[2].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[2]; /* "partsort.pyx":1772 - * def partsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): - * "Partial sort of 3d array with dtype=float64 along axis=2." + * def partsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): + * "Partial sort of 3d array with dtype=int64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 # <<<<<<<<<<<<<< - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) */ __pyx_v_j = 0; __pyx_v_k = (__pyx_v_n - 1); /* "partsort.pyx":1774 * cdef np.npy_intp i, j = 0, l, r, k = n-1 - * cdef np.float64_t x, tmp - * cdef np.ndarray[np.float64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< + * cdef np.int64_t x, tmp + * cdef np.ndarray[np.int64_t, ndim=3] b = PyArray_Copy(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1, i2 * cdef np.npy_intp *dim */ @@ -25563,7 +25563,7 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_b.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) { __pyx_v_b = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_b.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_b.diminfo[0].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_b.diminfo[0].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_b.diminfo[1].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_b.diminfo[1].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_b.diminfo[2].strides = __pyx_pybuffernd_b.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_b.diminfo[2].shape = __pyx_pybuffernd_b.rcbuffer->pybuffer.shape[2]; @@ -25751,7 +25751,7 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py __pyx_t_12 = __pyx_v_i0; __pyx_t_13 = __pyx_v_i1; __pyx_t_14 = __pyx_v_k; - __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_x = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_14, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1791 * while l < r: @@ -25791,7 +25791,7 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py __pyx_t_15 = __pyx_v_i0; __pyx_t_16 = __pyx_v_i1; __pyx_t_17 = __pyx_v_i; - __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); + __pyx_t_3 = (((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_15, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_16, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_17, __pyx_pybuffernd_b.diminfo[2].strides)) < __pyx_v_x) != 0); if (!__pyx_t_3) break; __pyx_v_i = (__pyx_v_i + 1); } @@ -25807,7 +25807,7 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py __pyx_t_18 = __pyx_v_i0; __pyx_t_19 = __pyx_v_i1; __pyx_t_20 = __pyx_v_j; - __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); + __pyx_t_3 = ((__pyx_v_x < (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_19, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_20, __pyx_pybuffernd_b.diminfo[2].strides))) != 0); if (!__pyx_t_3) break; __pyx_v_j = (__pyx_v_j - 1); } @@ -25832,7 +25832,7 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py __pyx_t_21 = __pyx_v_i0; __pyx_t_22 = __pyx_v_i1; __pyx_t_23 = __pyx_v_i; - __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); + __pyx_v_tmp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_23, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1798 * if i <= j: @@ -25847,7 +25847,7 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py __pyx_t_27 = __pyx_v_i0; __pyx_t_28 = __pyx_v_i1; __pyx_t_29 = __pyx_v_i; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_29, __pyx_pybuffernd_b.diminfo[2].strides) = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_25, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_26, __pyx_pybuffernd_b.diminfo[2].strides)); /* "partsort.pyx":1799 * tmp = b[i0, i1, i] @@ -25859,7 +25859,7 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py __pyx_t_30 = __pyx_v_i0; __pyx_t_31 = __pyx_v_i1; __pyx_t_32 = __pyx_v_j; - *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; + *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_b.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_b.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_b.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_b.diminfo[2].strides) = __pyx_v_tmp; /* "partsort.pyx":1800 * b[i0, i1, i] = b[i0, i1, j] @@ -25942,8 +25942,8 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py /* "partsort.pyx":1770 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=2." + * def partsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ @@ -25958,7 +25958,7 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_b.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("partsort.partsort_3d_float64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("partsort.partsort_3d_int64_axis2", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -25972,7 +25972,7 @@ static PyObject *__pyx_pf_8partsort_86partsort_3d_float64_axis2(CYTHON_UNUSED Py } /* "partsort.pyx":1851 - * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 + * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 * * def partsort_slow_axis0(arr, n): # <<<<<<<<<<<<<< * "Unaccelerated (slow) partsort along axis 0." @@ -26091,7 +26091,7 @@ static PyObject *__pyx_pf_8partsort_88partsort_slow_axis0(CYTHON_UNUSED PyObject goto __pyx_L0; /* "partsort.pyx":1851 - * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 + * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 * * def partsort_slow_axis0(arr, n): # <<<<<<<<<<<<<< * "Unaccelerated (slow) partsort along axis 0." @@ -30765,7 +30765,7 @@ static PyObject *__pyx_pf_8partsort_154partsort_slow_axisNone(CYTHON_UNUSED PyOb return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -30815,7 +30815,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -30828,7 +30828,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -30837,7 +30837,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -30846,7 +30846,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -30855,7 +30855,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -30865,7 +30865,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -30877,7 +30877,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -30888,7 +30888,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -30904,7 +30904,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -30916,7 +30916,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -30930,7 +30930,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -30946,7 +30946,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -30958,7 +30958,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -30972,7 +30972,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -30981,7 +30981,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -30990,7 +30990,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -31000,7 +31000,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -31009,7 +31009,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -31018,7 +31018,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -31029,7 +31029,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -31038,7 +31038,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -31051,7 +31051,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -31060,7 +31060,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -31071,7 +31071,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -31080,7 +31080,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -31089,7 +31089,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -31098,7 +31098,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -31107,7 +31107,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -31119,7 +31119,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -31128,7 +31128,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -31148,7 +31148,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -31164,7 +31164,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -31179,7 +31179,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -31189,7 +31189,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -31199,7 +31199,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -31222,7 +31222,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -31242,7 +31242,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -31256,7 +31256,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -31265,7 +31265,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -31276,7 +31276,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -31287,7 +31287,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -31298,7 +31298,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -31309,7 +31309,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -31320,7 +31320,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -31331,7 +31331,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -31342,7 +31342,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -31353,7 +31353,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -31364,7 +31364,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -31375,7 +31375,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -31386,7 +31386,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -31397,7 +31397,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -31408,7 +31408,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -31419,7 +31419,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -31430,7 +31430,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -31441,7 +31441,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -31453,7 +31453,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -31479,7 +31479,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -31488,7 +31488,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -31500,7 +31500,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -31509,7 +31509,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -31518,7 +31518,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -31527,7 +31527,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -31537,7 +31537,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -31547,7 +31547,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -31579,7 +31579,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -31603,7 +31603,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -31613,7 +31613,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -31625,7 +31625,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -31635,7 +31635,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -31647,7 +31647,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -31659,7 +31659,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -31676,7 +31676,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -31690,7 +31690,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -31709,7 +31709,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -31726,7 +31726,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -31740,7 +31740,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -31759,7 +31759,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -31776,7 +31776,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -31790,7 +31790,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -31809,7 +31809,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -31826,7 +31826,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -31840,7 +31840,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -31859,7 +31859,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -31876,7 +31876,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -31890,7 +31890,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -31909,7 +31909,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -31941,7 +31941,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -31950,7 +31950,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -31959,7 +31959,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -31981,7 +31981,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -31994,7 +31994,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -32033,7 +32033,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -32050,7 +32050,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -32064,7 +32064,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -32087,7 +32087,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -32107,7 +32107,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -32121,7 +32121,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -32137,7 +32137,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -32146,7 +32146,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -32155,7 +32155,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -32166,7 +32166,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -32176,7 +32176,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -32186,7 +32186,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -32198,7 +32198,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -32208,7 +32208,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -32222,7 +32222,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -32240,7 +32240,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -32258,7 +32258,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -32276,7 +32276,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -32294,7 +32294,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -32312,7 +32312,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -32330,7 +32330,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -32348,7 +32348,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -32366,7 +32366,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -32384,7 +32384,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -32402,7 +32402,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -32420,7 +32420,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -32438,7 +32438,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -32456,7 +32456,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -32476,7 +32476,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -32496,7 +32496,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -32516,7 +32516,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -32535,7 +32535,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -32558,7 +32558,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -32570,7 +32570,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -32582,7 +32582,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -32592,7 +32592,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -32602,7 +32602,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -32627,7 +32627,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -32642,7 +32642,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -32653,7 +32653,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -32665,7 +32665,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -32674,7 +32674,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -32685,7 +32685,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -32694,7 +32694,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -32703,7 +32703,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -32715,7 +32715,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -32729,7 +32729,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -32739,7 +32739,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -32753,7 +32753,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -32764,7 +32764,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -32802,7 +32802,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -32816,6 +32815,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -32959,7 +32959,7 @@ static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; @@ -32969,7 +32969,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -32980,7 +32980,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -32991,7 +32991,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -33002,7 +33002,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -33013,7 +33013,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -33024,7 +33024,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -33056,7 +33056,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_n, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort, 84, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort, 84, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":142 * return func(arr, n) @@ -33068,514 +33068,514 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_key, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_selector, 142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_selector, 142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":220 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int along axis=0." + * def partsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__13 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_1d_int_axis0, 220, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_1d_float_axis0, 220, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":256 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int8 along axis=0." + * def partsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__15 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_1d_int8_axis0, 256, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_1d_float32_axis0, 256, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":292 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int32 along axis=0." + * def partsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__17 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_1d_int32_axis0, 292, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_1d_float64_axis0, 292, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":328 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int64 along axis=0." + * def partsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__19 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_1d_int64_axis0, 328, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_float_axis0, 328, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":364 + /* "partsort.pyx":365 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=0." + * def partsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__21 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_int_axis0, 364, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_float_axis1, 365, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":401 + /* "partsort.pyx":402 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=1." + * def partsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__23 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_int_axis1, 401, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_float32_axis0, 402, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":438 + /* "partsort.pyx":439 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=0." + * def partsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__25 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_int8_axis0, 438, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_float32_axis1, 439, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":475 + /* "partsort.pyx":476 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=1." + * def partsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__27 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_int8_axis1, 475, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_float64_axis0, 476, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":512 + /* "partsort.pyx":513 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=0." + * def partsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__29 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_int32_axis0, 512, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_float64_axis1, 513, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":549 + /* "partsort.pyx":550 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=1." + * def partsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__31 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_int32_axis1, 549, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_float_axis0, 550, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":586 + /* "partsort.pyx":589 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=0." + * def partsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__33 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_int64_axis0, 586, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_float_axis1, 589, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":623 + /* "partsort.pyx":628 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=1." + * def partsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__35 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_int64_axis1, 623, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_float_axis2, 628, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":660 + /* "partsort.pyx":667 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=0." + * def partsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__37 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int_axis0, 660, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_float32_axis0, 667, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":699 + /* "partsort.pyx":706 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=1." + * def partsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__39 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int_axis1, 699, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_float32_axis1, 706, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":738 + /* "partsort.pyx":745 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=2." + * def partsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__41 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int_axis2, 738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_float32_axis2, 745, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":777 + /* "partsort.pyx":784 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=0." + * def partsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__43 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int8_axis0, 777, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_float64_axis0, 784, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":816 + /* "partsort.pyx":823 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=1." + * def partsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__45 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int8_axis1, 816, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_float64_axis1, 823, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":855 + /* "partsort.pyx":862 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=2." + * def partsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__47 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int8_axis2, 855, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_float64_axis2, 862, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":894 + /* "partsort.pyx":901 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=0." + * def partsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__49 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int32_axis0, 894, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_1d_int_axis0, 901, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":933 + /* "partsort.pyx":937 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=1." + * def partsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__51 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int32_axis1, 933, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_1d_int8_axis0, 937, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":972 + /* "partsort.pyx":973 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=2." + * def partsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__53 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int32_axis2, 972, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_1d_int32_axis0, 973, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1011 + /* "partsort.pyx":1009 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=0." + * def partsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__55 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int64_axis0, 1011, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_1d_int64_axis0, 1009, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1050 + /* "partsort.pyx":1045 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=1." + * def partsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__57 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int64_axis1, 1050, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_int_axis0, 1045, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1089 + /* "partsort.pyx":1082 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=2." + * def partsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__59 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_int64_axis2, 1089, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_int_axis1, 1082, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1128 + /* "partsort.pyx":1119 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float along axis=0." + * def partsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__61 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_1d_float_axis0, 1128, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_int8_axis0, 1119, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1164 + /* "partsort.pyx":1156 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float32 along axis=0." + * def partsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__63 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_1d_float32_axis0, 1164, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_int8_axis1, 1156, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1200 + /* "partsort.pyx":1193 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float64 along axis=0." + * def partsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__65 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_1d_float64_axis0, 1200, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_int32_axis0, 1193, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1236 + /* "partsort.pyx":1230 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=0." + * def partsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__67 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_float_axis0, 1236, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_int32_axis1, 1230, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1273 + /* "partsort.pyx":1267 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=1." + * def partsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__69 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__69 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_float_axis1, 1273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_int64_axis0, 1267, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1310 + /* "partsort.pyx":1304 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=0." + * def partsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__71 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__71 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_float32_axis0, 1310, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_2d_int64_axis1, 1304, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1347 + /* "partsort.pyx":1341 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=1." + * def partsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__73 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__73 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_float32_axis1, 1347, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int_axis0, 1341, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1384 + /* "partsort.pyx":1380 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=0." + * def partsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__75 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__75 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_float64_axis0, 1384, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int_axis1, 1380, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "partsort.pyx":1421 + /* "partsort.pyx":1419 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=1." + * def partsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_tuple__77 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__77 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_2d_float64_axis1, 1421, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int_axis2, 1419, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1458 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=0." + * def partsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__79 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_float_axis0, 1458, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int8_axis0, 1458, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1497 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=1." + * def partsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__81 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_float_axis1, 1497, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int8_axis1, 1497, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1536 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=2." + * def partsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__83 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_float_axis2, 1536, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int8_axis2, 1536, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1575 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=0." + * def partsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__85 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_float32_axis0, 1575, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int32_axis0, 1575, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1614 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=1." + * def partsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__87 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_float32_axis1, 1614, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int32_axis1, 1614, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=2." + * def partsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__89 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_float32_axis2, 1653, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int32_axis2, 1653, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1692 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=0." + * def partsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__91 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_float64_axis0, 1692, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int64_axis0, 1692, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1731 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=1." + * def partsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__93 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_float64_axis1, 1731, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int64_axis1, 1731, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1770 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=2." + * def partsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ __pyx_tuple__95 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_n, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_l, __pyx_n_s_r, __pyx_n_s_k, __pyx_n_s_x, __pyx_n_s_tmp, __pyx_n_s_b, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_i2, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_n2); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_3d_float64_axis2, 1770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_3d_int64_axis2, 1770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1851 - * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 + * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 * * def partsort_slow_axis0(arr, n): # <<<<<<<<<<<<<< * "Unaccelerated (slow) partsort along axis 0." @@ -33584,7 +33584,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis0, 1851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis0, 1851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1851; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1855 * return bn.slow.partsort(arr, n, axis=0) @@ -33596,7 +33596,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis1, 1855, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis1, 1855, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1859 * return bn.slow.partsort(arr, n, axis=1) @@ -33608,7 +33608,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis2, 1859, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis2, 1859, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1863 * return bn.slow.partsort(arr, n, axis=2) @@ -33620,7 +33620,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis3, 1863, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis3, 1863, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1863; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1867 * return bn.slow.partsort(arr, n, axis=3) @@ -33632,7 +33632,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis4, 1867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis4, 1867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1871 * return bn.slow.partsort(arr, n, axis=4) @@ -33644,7 +33644,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis5, 1871, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis5, 1871, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1875 * return bn.slow.partsort(arr, n, axis=5) @@ -33656,7 +33656,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis6, 1875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis6, 1875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1879 * return bn.slow.partsort(arr, n, axis=6) @@ -33668,7 +33668,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis7, 1879, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis7, 1879, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1883 * return bn.slow.partsort(arr, n, axis=7) @@ -33680,7 +33680,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis8, 1883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis8, 1883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1887 * return bn.slow.partsort(arr, n, axis=8) @@ -33692,7 +33692,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis9, 1887, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis9, 1887, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1891 * return bn.slow.partsort(arr, n, axis=9) @@ -33704,7 +33704,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis10, 1891, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis10, 1891, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1891; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1895 * return bn.slow.partsort(arr, n, axis=10) @@ -33716,7 +33716,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis11, 1895, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis11, 1895, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1899 * return bn.slow.partsort(arr, n, axis=11) @@ -33728,7 +33728,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis12, 1899, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis12, 1899, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1899; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1903 * return bn.slow.partsort(arr, n, axis=12) @@ -33740,7 +33740,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis13, 1903, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis13, 1903, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1907 * return bn.slow.partsort(arr, n, axis=13) @@ -33752,7 +33752,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis14, 1907, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis14, 1907, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1911 * return bn.slow.partsort(arr, n, axis=14) @@ -33764,7 +33764,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis15, 1911, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis15, 1911, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1911; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1915 * return bn.slow.partsort(arr, n, axis=15) @@ -33776,7 +33776,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis16, 1915, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis16, 1915, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1915; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1919 * return bn.slow.partsort(arr, n, axis=16) @@ -33788,7 +33788,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis17, 1919, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis17, 1919, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1919; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1923 * return bn.slow.partsort(arr, n, axis=17) @@ -33800,7 +33800,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis18, 1923, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis18, 1923, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1923; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1927 * return bn.slow.partsort(arr, n, axis=18) @@ -33812,7 +33812,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis19, 1927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis19, 1927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1927; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1931 * return bn.slow.partsort(arr, n, axis=19) @@ -33824,7 +33824,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__137 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__137); __Pyx_GIVEREF(__pyx_tuple__137); - __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis20, 1931, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis20, 1931, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1931; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1935 * return bn.slow.partsort(arr, n, axis=20) @@ -33836,7 +33836,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__139 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__139); __Pyx_GIVEREF(__pyx_tuple__139); - __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis21, 1935, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis21, 1935, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1935; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1939 * return bn.slow.partsort(arr, n, axis=21) @@ -33848,7 +33848,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__141 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__141); __Pyx_GIVEREF(__pyx_tuple__141); - __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis22, 1939, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis22, 1939, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1939; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1943 * return bn.slow.partsort(arr, n, axis=22) @@ -33860,7 +33860,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__143 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__143); __Pyx_GIVEREF(__pyx_tuple__143); - __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis23, 1943, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis23, 1943, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1943; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1947 * return bn.slow.partsort(arr, n, axis=23) @@ -33872,7 +33872,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__145 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__145); __Pyx_GIVEREF(__pyx_tuple__145); - __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis24, 1947, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis24, 1947, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1947; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1951 * return bn.slow.partsort(arr, n, axis=24) @@ -33884,7 +33884,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__147 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1951; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__147); __Pyx_GIVEREF(__pyx_tuple__147); - __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis25, 1951, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1951; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis25, 1951, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1951; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1955 * return bn.slow.partsort(arr, n, axis=25) @@ -33896,7 +33896,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__149 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1955; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__149); __Pyx_GIVEREF(__pyx_tuple__149); - __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis26, 1955, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1955; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis26, 1955, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1955; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1959 * return bn.slow.partsort(arr, n, axis=26) @@ -33908,7 +33908,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__151 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__151); __Pyx_GIVEREF(__pyx_tuple__151); - __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis27, 1959, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis27, 1959, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1963 * return bn.slow.partsort(arr, n, axis=27) @@ -33920,7 +33920,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__153 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__153); __Pyx_GIVEREF(__pyx_tuple__153); - __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis28, 1963, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis28, 1963, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1963; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1967 * return bn.slow.partsort(arr, n, axis=28) @@ -33932,7 +33932,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__155 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1967; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__155); __Pyx_GIVEREF(__pyx_tuple__155); - __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis29, 1967, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1967; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis29, 1967, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1967; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1971 * return bn.slow.partsort(arr, n, axis=29) @@ -33944,7 +33944,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__157 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1971; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__157); __Pyx_GIVEREF(__pyx_tuple__157); - __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis30, 1971, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1971; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis30, 1971, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1971; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1975 * return bn.slow.partsort(arr, n, axis=30) @@ -33956,7 +33956,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__159 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1975; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__159); __Pyx_GIVEREF(__pyx_tuple__159); - __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis31, 1975, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1975; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis31, 1975, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1975; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1979 * return bn.slow.partsort(arr, n, axis=31) @@ -33968,7 +33968,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__161 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1979; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__161); __Pyx_GIVEREF(__pyx_tuple__161); - __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axis32, 1979, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1979; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axis32, 1979, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1979; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "partsort.pyx":1983 * return bn.slow.partsort(arr, n, axis=32) @@ -33980,7 +33980,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__163 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_n); if (unlikely(!__pyx_tuple__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__163); __Pyx_GIVEREF(__pyx_tuple__163); - __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_partsort_slow_axisNone, 1983, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_partsort_slow_axisNone, 1983, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1983; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -34947,513 +34947,513 @@ PyMODINIT_FUNC PyInit_partsort(void) /* "partsort.pyx":220 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int along axis=0." + * def partsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_5partsort_1d_int_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_5partsort_1d_float_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":256 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int8 along axis=0." + * def partsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_7partsort_1d_int8_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_7partsort_1d_float32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":292 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int32 along axis=0." + * def partsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_9partsort_1d_int32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_9partsort_1d_float64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":328 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=int64 along axis=0." + * def partsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_11partsort_1d_int64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_11partsort_2d_float_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":364 + /* "partsort.pyx":365 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=0." + * def partsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_13partsort_2d_int_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_13partsort_2d_float_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":401 + /* "partsort.pyx":402 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int along axis=1." + * def partsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_15partsort_2d_int_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_15partsort_2d_float32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":438 + /* "partsort.pyx":439 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=0." + * def partsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_17partsort_2d_int8_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_17partsort_2d_float32_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":475 + /* "partsort.pyx":476 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int8 along axis=1." + * def partsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_19partsort_2d_int8_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_19partsort_2d_float64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":512 + /* "partsort.pyx":513 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=0." + * def partsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_21partsort_2d_int32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_21partsort_2d_float64_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":549 + /* "partsort.pyx":550 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int32 along axis=1." + * def partsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_23partsort_2d_int32_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_23partsort_3d_float_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":586 + /* "partsort.pyx":589 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=0." + * def partsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_25partsort_2d_int64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_25partsort_3d_float_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":623 + /* "partsort.pyx":628 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=int64 along axis=1." + * def partsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_27partsort_2d_int64_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_27partsort_3d_float_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":660 + /* "partsort.pyx":667 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=0." + * def partsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_29partsort_3d_int_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_29partsort_3d_float32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":699 + /* "partsort.pyx":706 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=1." + * def partsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_31partsort_3d_int_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_31partsort_3d_float32_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":738 + /* "partsort.pyx":745 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int along axis=2." + * def partsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_33partsort_3d_int_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_33partsort_3d_float32_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float32_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":777 + /* "partsort.pyx":784 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=0." + * def partsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_35partsort_3d_int8_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_35partsort_3d_float64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":816 + /* "partsort.pyx":823 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=1." + * def partsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_37partsort_3d_int8_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_37partsort_3d_float64_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":855 + /* "partsort.pyx":862 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int8 along axis=2." + * def partsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=float64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_39partsort_3d_int8_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_39partsort_3d_float64_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int8_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float64_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":894 + /* "partsort.pyx":901 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=0." + * def partsort_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_41partsort_3d_int32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_41partsort_1d_int_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":933 + /* "partsort.pyx":937 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=1." + * def partsort_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_43partsort_3d_int32_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_43partsort_1d_int8_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":972 + /* "partsort.pyx":973 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int32 along axis=2." + * def partsort_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_45partsort_3d_int32_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_45partsort_1d_int32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int32_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1011 + /* "partsort.pyx":1009 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=0." + * def partsort_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 1d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_47partsort_3d_int64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_47partsort_1d_int64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1050 + /* "partsort.pyx":1045 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=1." + * def partsort_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_49partsort_3d_int64_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_49partsort_2d_int_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1089 + /* "partsort.pyx":1082 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=int64 along axis=2." + * def partsort_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_51partsort_3d_int64_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_51partsort_2d_int_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int64_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1128 + /* "partsort.pyx":1119 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float along axis=0." + * def partsort_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_53partsort_1d_float_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_53partsort_2d_int8_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1164 + /* "partsort.pyx":1156 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float32 along axis=0." + * def partsort_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_55partsort_1d_float32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_55partsort_2d_int8_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1200 + /* "partsort.pyx":1193 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 1d array with dtype=float64 along axis=0." + * def partsort_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_57partsort_1d_float64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_57partsort_2d_int32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1236 + /* "partsort.pyx":1230 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=0." + * def partsort_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_59partsort_2d_float_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_59partsort_2d_int32_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1273 + /* "partsort.pyx":1267 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float along axis=1." + * def partsort_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_61partsort_2d_float_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_61partsort_2d_int64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1310 + /* "partsort.pyx":1304 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=0." + * def partsort_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 2d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_63partsort_2d_float32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_63partsort_2d_int64_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1347 + /* "partsort.pyx":1341 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float32 along axis=1." + * def partsort_3d_int_axis0(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_65partsort_2d_float32_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_65partsort_3d_int_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1384 + /* "partsort.pyx":1380 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=0." + * def partsort_3d_int_axis1(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_67partsort_2d_float64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_67partsort_3d_int_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1421 + /* "partsort.pyx":1419 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 2d array with dtype=float64 along axis=1." + * def partsort_3d_int_axis2(np.ndarray[np.int_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_69partsort_2d_float64_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_69partsort_3d_int_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1458 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis0(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=0." + * def partsort_3d_int8_axis0(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_71partsort_3d_float_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_71partsort_3d_int8_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1497 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis1(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=1." + * def partsort_3d_int8_axis1(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_73partsort_3d_float_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_73partsort_3d_int8_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1536 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float_axis2(np.ndarray[np.float_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float along axis=2." + * def partsort_3d_int8_axis2(np.ndarray[np.int8_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int8 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_75partsort_3d_float_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_75partsort_3d_int8_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int8_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1575 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis0(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=0." + * def partsort_3d_int32_axis0(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_77partsort_3d_float32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_77partsort_3d_int32_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1614 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis1(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=1." + * def partsort_3d_int32_axis1(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_79partsort_3d_float32_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_79partsort_3d_int32_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float32_axis2(np.ndarray[np.float32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float32 along axis=2." + * def partsort_3d_int32_axis2(np.ndarray[np.int32_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int32 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_81partsort_3d_float32_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_81partsort_3d_int32_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float32_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int32_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1692 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis0(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=0." + * def partsort_3d_int64_axis0(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=0." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_83partsort_3d_float64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_83partsort_3d_int64_axis0, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1731 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis1(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=1." + * def partsort_3d_int64_axis1(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=1." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_85partsort_3d_float64_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_85partsort_3d_int64_axis1, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1770 * @cython.boundscheck(False) * @cython.wraparound(False) - * def partsort_3d_float64_axis2(np.ndarray[np.float64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< - * "Partial sort of 3d array with dtype=float64 along axis=2." + * def partsort_3d_int64_axis2(np.ndarray[np.int64_t, ndim=3] a, int n): # <<<<<<<<<<<<<< + * "Partial sort of 3d array with dtype=int64 along axis=2." * cdef np.npy_intp i, j = 0, l, r, k = n-1 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_87partsort_3d_float64_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8partsort_87partsort_3d_int64_axis2, NULL, __pyx_n_s_partsort); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_float64_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_partsort_3d_int64_axis2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1807 * return b * * cdef dict partsort_dict = {} # <<<<<<<<<<<<<< - * partsort_dict[(1, NPY_int, 0)] = partsort_1d_int_axis0 - * partsort_dict[(1, NPY_int8, 0)] = partsort_1d_int8_axis0 + * partsort_dict[(1, NPY_float, 0)] = partsort_1d_float_axis0 + * partsort_dict[(1, NPY_float32, 0)] = partsort_1d_float32_axis0 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -35465,17 +35465,17 @@ PyMODINIT_FUNC PyInit_partsort(void) /* "partsort.pyx":1808 * * cdef dict partsort_dict = {} - * partsort_dict[(1, NPY_int, 0)] = partsort_1d_int_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(1, NPY_int8, 0)] = partsort_1d_int8_axis0 - * partsort_dict[(1, NPY_int32, 0)] = partsort_1d_int32_axis0 + * partsort_dict[(1, NPY_float, 0)] = partsort_1d_float_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(1, NPY_float32, 0)] = partsort_1d_float32_axis0 + * partsort_dict[(1, NPY_float64, 0)] = partsort_1d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35494,18 +35494,18 @@ PyMODINIT_FUNC PyInit_partsort(void) /* "partsort.pyx":1809 * cdef dict partsort_dict = {} - * partsort_dict[(1, NPY_int, 0)] = partsort_1d_int_axis0 - * partsort_dict[(1, NPY_int8, 0)] = partsort_1d_int8_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(1, NPY_int32, 0)] = partsort_1d_int32_axis0 - * partsort_dict[(1, NPY_int64, 0)] = partsort_1d_int64_axis0 + * partsort_dict[(1, NPY_float, 0)] = partsort_1d_float_axis0 + * partsort_dict[(1, NPY_float32, 0)] = partsort_1d_float32_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(1, NPY_float64, 0)] = partsort_1d_float64_axis0 + * partsort_dict[(2, NPY_float, 0)] = partsort_2d_float_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -35523,19 +35523,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1810 - * partsort_dict[(1, NPY_int, 0)] = partsort_1d_int_axis0 - * partsort_dict[(1, NPY_int8, 0)] = partsort_1d_int8_axis0 - * partsort_dict[(1, NPY_int32, 0)] = partsort_1d_int32_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(1, NPY_int64, 0)] = partsort_1d_int64_axis0 - * partsort_dict[(2, NPY_int, 0)] = partsort_2d_int_axis0 + * partsort_dict[(1, NPY_float, 0)] = partsort_1d_float_axis0 + * partsort_dict[(1, NPY_float32, 0)] = partsort_1d_float32_axis0 + * partsort_dict[(1, NPY_float64, 0)] = partsort_1d_float64_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_float, 0)] = partsort_2d_float_axis0 + * partsort_dict[(2, NPY_float, 1)] = partsort_2d_float_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35553,25 +35553,25 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1811 - * partsort_dict[(1, NPY_int8, 0)] = partsort_1d_int8_axis0 - * partsort_dict[(1, NPY_int32, 0)] = partsort_1d_int32_axis0 - * partsort_dict[(1, NPY_int64, 0)] = partsort_1d_int64_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_int, 0)] = partsort_2d_int_axis0 - * partsort_dict[(2, NPY_int, 1)] = partsort_2d_int_axis1 + * partsort_dict[(1, NPY_float32, 0)] = partsort_1d_float32_axis0 + * partsort_dict[(1, NPY_float64, 0)] = partsort_1d_float64_axis0 + * partsort_dict[(2, NPY_float, 0)] = partsort_2d_float_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_float, 1)] = partsort_2d_float_axis1 + * partsort_dict[(2, NPY_float32, 0)] = partsort_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -35583,19 +35583,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1812 - * partsort_dict[(1, NPY_int32, 0)] = partsort_1d_int32_axis0 - * partsort_dict[(1, NPY_int64, 0)] = partsort_1d_int64_axis0 - * partsort_dict[(2, NPY_int, 0)] = partsort_2d_int_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_int, 1)] = partsort_2d_int_axis1 - * partsort_dict[(2, NPY_int8, 0)] = partsort_2d_int8_axis0 + * partsort_dict[(1, NPY_float64, 0)] = partsort_1d_float64_axis0 + * partsort_dict[(2, NPY_float, 0)] = partsort_2d_float_axis0 + * partsort_dict[(2, NPY_float, 1)] = partsort_2d_float_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_float32, 0)] = partsort_2d_float32_axis0 + * partsort_dict[(2, NPY_float32, 1)] = partsort_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35604,28 +35604,28 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1813 - * partsort_dict[(1, NPY_int64, 0)] = partsort_1d_int64_axis0 - * partsort_dict[(2, NPY_int, 0)] = partsort_2d_int_axis0 - * partsort_dict[(2, NPY_int, 1)] = partsort_2d_int_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_int8, 0)] = partsort_2d_int8_axis0 - * partsort_dict[(2, NPY_int8, 1)] = partsort_2d_int8_axis1 + * partsort_dict[(2, NPY_float, 0)] = partsort_2d_float_axis0 + * partsort_dict[(2, NPY_float, 1)] = partsort_2d_float_axis1 + * partsort_dict[(2, NPY_float32, 0)] = partsort_2d_float32_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_float32, 1)] = partsort_2d_float32_axis1 + * partsort_dict[(2, NPY_float64, 0)] = partsort_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -35634,28 +35634,28 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1814 - * partsort_dict[(2, NPY_int, 0)] = partsort_2d_int_axis0 - * partsort_dict[(2, NPY_int, 1)] = partsort_2d_int_axis1 - * partsort_dict[(2, NPY_int8, 0)] = partsort_2d_int8_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_int8, 1)] = partsort_2d_int8_axis1 - * partsort_dict[(2, NPY_int32, 0)] = partsort_2d_int32_axis0 + * partsort_dict[(2, NPY_float, 1)] = partsort_2d_float_axis1 + * partsort_dict[(2, NPY_float32, 0)] = partsort_2d_float32_axis0 + * partsort_dict[(2, NPY_float32, 1)] = partsort_2d_float32_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_float64, 0)] = partsort_2d_float64_axis0 + * partsort_dict[(2, NPY_float64, 1)] = partsort_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35664,28 +35664,28 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1815 - * partsort_dict[(2, NPY_int, 1)] = partsort_2d_int_axis1 - * partsort_dict[(2, NPY_int8, 0)] = partsort_2d_int8_axis0 - * partsort_dict[(2, NPY_int8, 1)] = partsort_2d_int8_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_int32, 0)] = partsort_2d_int32_axis0 - * partsort_dict[(2, NPY_int32, 1)] = partsort_2d_int32_axis1 + * partsort_dict[(2, NPY_float32, 0)] = partsort_2d_float32_axis0 + * partsort_dict[(2, NPY_float32, 1)] = partsort_2d_float32_axis1 + * partsort_dict[(2, NPY_float64, 0)] = partsort_2d_float64_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_float64, 1)] = partsort_2d_float64_axis1 + * partsort_dict[(3, NPY_float, 0)] = partsort_3d_float_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -35694,28 +35694,28 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "partsort.pyx":1816 - * partsort_dict[(2, NPY_int8, 0)] = partsort_2d_int8_axis0 - * partsort_dict[(2, NPY_int8, 1)] = partsort_2d_int8_axis1 - * partsort_dict[(2, NPY_int32, 0)] = partsort_2d_int32_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_int32, 1)] = partsort_2d_int32_axis1 - * partsort_dict[(2, NPY_int64, 0)] = partsort_2d_int64_axis0 + /* "partsort.pyx":1816 + * partsort_dict[(2, NPY_float32, 1)] = partsort_2d_float32_axis1 + * partsort_dict[(2, NPY_float64, 0)] = partsort_2d_float64_axis0 + * partsort_dict[(2, NPY_float64, 1)] = partsort_2d_float64_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_float, 0)] = partsort_3d_float_axis0 + * partsort_dict[(3, NPY_float, 1)] = partsort_3d_float_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35724,118 +35724,118 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1817 - * partsort_dict[(2, NPY_int8, 1)] = partsort_2d_int8_axis1 - * partsort_dict[(2, NPY_int32, 0)] = partsort_2d_int32_axis0 - * partsort_dict[(2, NPY_int32, 1)] = partsort_2d_int32_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_int64, 0)] = partsort_2d_int64_axis0 - * partsort_dict[(2, NPY_int64, 1)] = partsort_2d_int64_axis1 + * partsort_dict[(2, NPY_float64, 0)] = partsort_2d_float64_axis0 + * partsort_dict[(2, NPY_float64, 1)] = partsort_2d_float64_axis1 + * partsort_dict[(3, NPY_float, 0)] = partsort_3d_float_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_float, 1)] = partsort_3d_float_axis1 + * partsort_dict[(3, NPY_float, 2)] = partsort_3d_float_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1818 - * partsort_dict[(2, NPY_int32, 0)] = partsort_2d_int32_axis0 - * partsort_dict[(2, NPY_int32, 1)] = partsort_2d_int32_axis1 - * partsort_dict[(2, NPY_int64, 0)] = partsort_2d_int64_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_int64, 1)] = partsort_2d_int64_axis1 - * partsort_dict[(3, NPY_int, 0)] = partsort_3d_int_axis0 + * partsort_dict[(2, NPY_float64, 1)] = partsort_2d_float64_axis1 + * partsort_dict[(3, NPY_float, 0)] = partsort_3d_float_axis0 + * partsort_dict[(3, NPY_float, 1)] = partsort_3d_float_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_float, 2)] = partsort_3d_float_axis2 + * partsort_dict[(3, NPY_float32, 0)] = partsort_3d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1819 - * partsort_dict[(2, NPY_int32, 1)] = partsort_2d_int32_axis1 - * partsort_dict[(2, NPY_int64, 0)] = partsort_2d_int64_axis0 - * partsort_dict[(2, NPY_int64, 1)] = partsort_2d_int64_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int, 0)] = partsort_3d_int_axis0 - * partsort_dict[(3, NPY_int, 1)] = partsort_3d_int_axis1 + * partsort_dict[(3, NPY_float, 0)] = partsort_3d_float_axis0 + * partsort_dict[(3, NPY_float, 1)] = partsort_3d_float_axis1 + * partsort_dict[(3, NPY_float, 2)] = partsort_3d_float_axis2 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_float32, 0)] = partsort_3d_float32_axis0 + * partsort_dict[(3, NPY_float32, 1)] = partsort_3d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1820 - * partsort_dict[(2, NPY_int64, 0)] = partsort_2d_int64_axis0 - * partsort_dict[(2, NPY_int64, 1)] = partsort_2d_int64_axis1 - * partsort_dict[(3, NPY_int, 0)] = partsort_3d_int_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int, 1)] = partsort_3d_int_axis1 - * partsort_dict[(3, NPY_int, 2)] = partsort_3d_int_axis2 + * partsort_dict[(3, NPY_float, 1)] = partsort_3d_float_axis1 + * partsort_dict[(3, NPY_float, 2)] = partsort_3d_float_axis2 + * partsort_dict[(3, NPY_float32, 0)] = partsort_3d_float32_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_float32, 1)] = partsort_3d_float32_axis1 + * partsort_dict[(3, NPY_float32, 2)] = partsort_3d_float32_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35853,19 +35853,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1821 - * partsort_dict[(2, NPY_int64, 1)] = partsort_2d_int64_axis1 - * partsort_dict[(3, NPY_int, 0)] = partsort_3d_int_axis0 - * partsort_dict[(3, NPY_int, 1)] = partsort_3d_int_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int, 2)] = partsort_3d_int_axis2 - * partsort_dict[(3, NPY_int8, 0)] = partsort_3d_int8_axis0 + * partsort_dict[(3, NPY_float, 2)] = partsort_3d_float_axis2 + * partsort_dict[(3, NPY_float32, 0)] = partsort_3d_float32_axis0 + * partsort_dict[(3, NPY_float32, 1)] = partsort_3d_float32_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_float32, 2)] = partsort_3d_float32_axis2 + * partsort_dict[(3, NPY_float64, 0)] = partsort_3d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -35883,19 +35883,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1822 - * partsort_dict[(3, NPY_int, 0)] = partsort_3d_int_axis0 - * partsort_dict[(3, NPY_int, 1)] = partsort_3d_int_axis1 - * partsort_dict[(3, NPY_int, 2)] = partsort_3d_int_axis2 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int8, 0)] = partsort_3d_int8_axis0 - * partsort_dict[(3, NPY_int8, 1)] = partsort_3d_int8_axis1 + * partsort_dict[(3, NPY_float32, 0)] = partsort_3d_float32_axis0 + * partsort_dict[(3, NPY_float32, 1)] = partsort_3d_float32_axis1 + * partsort_dict[(3, NPY_float32, 2)] = partsort_3d_float32_axis2 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_float64, 0)] = partsort_3d_float64_axis0 + * partsort_dict[(3, NPY_float64, 1)] = partsort_3d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float32_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35913,19 +35913,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1823 - * partsort_dict[(3, NPY_int, 1)] = partsort_3d_int_axis1 - * partsort_dict[(3, NPY_int, 2)] = partsort_3d_int_axis2 - * partsort_dict[(3, NPY_int8, 0)] = partsort_3d_int8_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int8, 1)] = partsort_3d_int8_axis1 - * partsort_dict[(3, NPY_int8, 2)] = partsort_3d_int8_axis2 + * partsort_dict[(3, NPY_float32, 1)] = partsort_3d_float32_axis1 + * partsort_dict[(3, NPY_float32, 2)] = partsort_3d_float32_axis2 + * partsort_dict[(3, NPY_float64, 0)] = partsort_3d_float64_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_float64, 1)] = partsort_3d_float64_axis1 + * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -35943,19 +35943,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1824 - * partsort_dict[(3, NPY_int, 2)] = partsort_3d_int_axis2 - * partsort_dict[(3, NPY_int8, 0)] = partsort_3d_int8_axis0 - * partsort_dict[(3, NPY_int8, 1)] = partsort_3d_int8_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int8, 2)] = partsort_3d_int8_axis2 - * partsort_dict[(3, NPY_int32, 0)] = partsort_3d_int32_axis0 + * partsort_dict[(3, NPY_float32, 2)] = partsort_3d_float32_axis2 + * partsort_dict[(3, NPY_float64, 0)] = partsort_3d_float64_axis0 + * partsort_dict[(3, NPY_float64, 1)] = partsort_3d_float64_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 + * partsort_dict[(1, NPY_int, 0)] = partsort_1d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -35973,19 +35973,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1825 - * partsort_dict[(3, NPY_int8, 0)] = partsort_3d_int8_axis0 - * partsort_dict[(3, NPY_int8, 1)] = partsort_3d_int8_axis1 - * partsort_dict[(3, NPY_int8, 2)] = partsort_3d_int8_axis2 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int32, 0)] = partsort_3d_int32_axis0 - * partsort_dict[(3, NPY_int32, 1)] = partsort_3d_int32_axis1 + * partsort_dict[(3, NPY_float64, 0)] = partsort_3d_float64_axis0 + * partsort_dict[(3, NPY_float64, 1)] = partsort_3d_float64_axis1 + * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 # <<<<<<<<<<<<<< + * partsort_dict[(1, NPY_int, 0)] = partsort_1d_int_axis0 + * partsort_dict[(1, NPY_int8, 0)] = partsort_1d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int8_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float64_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36003,25 +36003,25 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1826 - * partsort_dict[(3, NPY_int8, 1)] = partsort_3d_int8_axis1 - * partsort_dict[(3, NPY_int8, 2)] = partsort_3d_int8_axis2 - * partsort_dict[(3, NPY_int32, 0)] = partsort_3d_int32_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int32, 1)] = partsort_3d_int32_axis1 - * partsort_dict[(3, NPY_int32, 2)] = partsort_3d_int32_axis2 + * partsort_dict[(3, NPY_float64, 1)] = partsort_3d_float64_axis1 + * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 + * partsort_dict[(1, NPY_int, 0)] = partsort_1d_int_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(1, NPY_int8, 0)] = partsort_1d_int8_axis0 + * partsort_dict[(1, NPY_int32, 0)] = partsort_1d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -36033,43 +36033,43 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1827 - * partsort_dict[(3, NPY_int8, 2)] = partsort_3d_int8_axis2 - * partsort_dict[(3, NPY_int32, 0)] = partsort_3d_int32_axis0 - * partsort_dict[(3, NPY_int32, 1)] = partsort_3d_int32_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int32, 2)] = partsort_3d_int32_axis2 - * partsort_dict[(3, NPY_int64, 0)] = partsort_3d_int64_axis0 + * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 + * partsort_dict[(1, NPY_int, 0)] = partsort_1d_int_axis0 + * partsort_dict[(1, NPY_int8, 0)] = partsort_1d_int8_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(1, NPY_int32, 0)] = partsort_1d_int32_axis0 + * partsort_dict[(1, NPY_int64, 0)] = partsort_1d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1828 - * partsort_dict[(3, NPY_int32, 0)] = partsort_3d_int32_axis0 - * partsort_dict[(3, NPY_int32, 1)] = partsort_3d_int32_axis1 - * partsort_dict[(3, NPY_int32, 2)] = partsort_3d_int32_axis2 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int64, 0)] = partsort_3d_int64_axis0 - * partsort_dict[(3, NPY_int64, 1)] = partsort_3d_int64_axis1 + * partsort_dict[(1, NPY_int, 0)] = partsort_1d_int_axis0 + * partsort_dict[(1, NPY_int8, 0)] = partsort_1d_int8_axis0 + * partsort_dict[(1, NPY_int32, 0)] = partsort_1d_int32_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(1, NPY_int64, 0)] = partsort_1d_int64_axis0 + * partsort_dict[(2, NPY_int, 0)] = partsort_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int32_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -36079,27 +36079,27 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1829 - * partsort_dict[(3, NPY_int32, 1)] = partsort_3d_int32_axis1 - * partsort_dict[(3, NPY_int32, 2)] = partsort_3d_int32_axis2 - * partsort_dict[(3, NPY_int64, 0)] = partsort_3d_int64_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int64, 1)] = partsort_3d_int64_axis1 - * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 + * partsort_dict[(1, NPY_int8, 0)] = partsort_1d_int8_axis0 + * partsort_dict[(1, NPY_int32, 0)] = partsort_1d_int32_axis0 + * partsort_dict[(1, NPY_int64, 0)] = partsort_1d_int64_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_int, 0)] = partsort_2d_int_axis0 + * partsort_dict[(2, NPY_int, 1)] = partsort_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -36109,9 +36109,9 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -36123,85 +36123,85 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1830 - * partsort_dict[(3, NPY_int32, 2)] = partsort_3d_int32_axis2 - * partsort_dict[(3, NPY_int64, 0)] = partsort_3d_int64_axis0 - * partsort_dict[(3, NPY_int64, 1)] = partsort_3d_int64_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 - * partsort_dict[(1, NPY_float, 0)] = partsort_1d_float_axis0 + * partsort_dict[(1, NPY_int32, 0)] = partsort_1d_int32_axis0 + * partsort_dict[(1, NPY_int64, 0)] = partsort_1d_int64_axis0 + * partsort_dict[(2, NPY_int, 0)] = partsort_2d_int_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_int, 1)] = partsort_2d_int_axis1 + * partsort_dict[(2, NPY_int8, 0)] = partsort_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1831 - * partsort_dict[(3, NPY_int64, 0)] = partsort_3d_int64_axis0 - * partsort_dict[(3, NPY_int64, 1)] = partsort_3d_int64_axis1 - * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 # <<<<<<<<<<<<<< - * partsort_dict[(1, NPY_float, 0)] = partsort_1d_float_axis0 - * partsort_dict[(1, NPY_float32, 0)] = partsort_1d_float32_axis0 + * partsort_dict[(1, NPY_int64, 0)] = partsort_1d_int64_axis0 + * partsort_dict[(2, NPY_int, 0)] = partsort_2d_int_axis0 + * partsort_dict[(2, NPY_int, 1)] = partsort_2d_int_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_int8, 0)] = partsort_2d_int8_axis0 + * partsort_dict[(2, NPY_int8, 1)] = partsort_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int64_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1832 - * partsort_dict[(3, NPY_int64, 1)] = partsort_3d_int64_axis1 - * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 - * partsort_dict[(1, NPY_float, 0)] = partsort_1d_float_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(1, NPY_float32, 0)] = partsort_1d_float32_axis0 - * partsort_dict[(1, NPY_float64, 0)] = partsort_1d_float64_axis0 + * partsort_dict[(2, NPY_int, 0)] = partsort_2d_int_axis0 + * partsort_dict[(2, NPY_int, 1)] = partsort_2d_int_axis1 + * partsort_dict[(2, NPY_int8, 0)] = partsort_2d_int8_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_int8, 1)] = partsort_2d_int8_axis1 + * partsort_dict[(2, NPY_int32, 0)] = partsort_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -36213,55 +36213,55 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1833 - * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 - * partsort_dict[(1, NPY_float, 0)] = partsort_1d_float_axis0 - * partsort_dict[(1, NPY_float32, 0)] = partsort_1d_float32_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(1, NPY_float64, 0)] = partsort_1d_float64_axis0 - * partsort_dict[(2, NPY_float, 0)] = partsort_2d_float_axis0 + * partsort_dict[(2, NPY_int, 1)] = partsort_2d_int_axis1 + * partsort_dict[(2, NPY_int8, 0)] = partsort_2d_int8_axis0 + * partsort_dict[(2, NPY_int8, 1)] = partsort_2d_int8_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_int32, 0)] = partsort_2d_int32_axis0 + * partsort_dict[(2, NPY_int32, 1)] = partsort_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1834 - * partsort_dict[(1, NPY_float, 0)] = partsort_1d_float_axis0 - * partsort_dict[(1, NPY_float32, 0)] = partsort_1d_float32_axis0 - * partsort_dict[(1, NPY_float64, 0)] = partsort_1d_float64_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_float, 0)] = partsort_2d_float_axis0 - * partsort_dict[(2, NPY_float, 1)] = partsort_2d_float_axis1 + * partsort_dict[(2, NPY_int8, 0)] = partsort_2d_int8_axis0 + * partsort_dict[(2, NPY_int8, 1)] = partsort_2d_int8_axis1 + * partsort_dict[(2, NPY_int32, 0)] = partsort_2d_int32_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_int32, 1)] = partsort_2d_int32_axis1 + * partsort_dict[(2, NPY_int64, 0)] = partsort_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -36273,19 +36273,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1835 - * partsort_dict[(1, NPY_float32, 0)] = partsort_1d_float32_axis0 - * partsort_dict[(1, NPY_float64, 0)] = partsort_1d_float64_axis0 - * partsort_dict[(2, NPY_float, 0)] = partsort_2d_float_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_float, 1)] = partsort_2d_float_axis1 - * partsort_dict[(2, NPY_float32, 0)] = partsort_2d_float32_axis0 + * partsort_dict[(2, NPY_int8, 1)] = partsort_2d_int8_axis1 + * partsort_dict[(2, NPY_int32, 0)] = partsort_2d_int32_axis0 + * partsort_dict[(2, NPY_int32, 1)] = partsort_2d_int32_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_int64, 0)] = partsort_2d_int64_axis0 + * partsort_dict[(2, NPY_int64, 1)] = partsort_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36294,28 +36294,28 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1836 - * partsort_dict[(1, NPY_float64, 0)] = partsort_1d_float64_axis0 - * partsort_dict[(2, NPY_float, 0)] = partsort_2d_float_axis0 - * partsort_dict[(2, NPY_float, 1)] = partsort_2d_float_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_float32, 0)] = partsort_2d_float32_axis0 - * partsort_dict[(2, NPY_float32, 1)] = partsort_2d_float32_axis1 + * partsort_dict[(2, NPY_int32, 0)] = partsort_2d_int32_axis0 + * partsort_dict[(2, NPY_int32, 1)] = partsort_2d_int32_axis1 + * partsort_dict[(2, NPY_int64, 0)] = partsort_2d_int64_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(2, NPY_int64, 1)] = partsort_2d_int64_axis1 + * partsort_dict[(3, NPY_int, 0)] = partsort_3d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -36324,28 +36324,28 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1837 - * partsort_dict[(2, NPY_float, 0)] = partsort_2d_float_axis0 - * partsort_dict[(2, NPY_float, 1)] = partsort_2d_float_axis1 - * partsort_dict[(2, NPY_float32, 0)] = partsort_2d_float32_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_float32, 1)] = partsort_2d_float32_axis1 - * partsort_dict[(2, NPY_float64, 0)] = partsort_2d_float64_axis0 + * partsort_dict[(2, NPY_int32, 1)] = partsort_2d_int32_axis1 + * partsort_dict[(2, NPY_int64, 0)] = partsort_2d_int64_axis0 + * partsort_dict[(2, NPY_int64, 1)] = partsort_2d_int64_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int, 0)] = partsort_3d_int_axis0 + * partsort_dict[(3, NPY_int, 1)] = partsort_3d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36354,118 +36354,118 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1838 - * partsort_dict[(2, NPY_float, 1)] = partsort_2d_float_axis1 - * partsort_dict[(2, NPY_float32, 0)] = partsort_2d_float32_axis0 - * partsort_dict[(2, NPY_float32, 1)] = partsort_2d_float32_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_float64, 0)] = partsort_2d_float64_axis0 - * partsort_dict[(2, NPY_float64, 1)] = partsort_2d_float64_axis1 + * partsort_dict[(2, NPY_int64, 0)] = partsort_2d_int64_axis0 + * partsort_dict[(2, NPY_int64, 1)] = partsort_2d_int64_axis1 + * partsort_dict[(3, NPY_int, 0)] = partsort_3d_int_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int, 1)] = partsort_3d_int_axis1 + * partsort_dict[(3, NPY_int, 2)] = partsort_3d_int_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1839 - * partsort_dict[(2, NPY_float32, 0)] = partsort_2d_float32_axis0 - * partsort_dict[(2, NPY_float32, 1)] = partsort_2d_float32_axis1 - * partsort_dict[(2, NPY_float64, 0)] = partsort_2d_float64_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(2, NPY_float64, 1)] = partsort_2d_float64_axis1 - * partsort_dict[(3, NPY_float, 0)] = partsort_3d_float_axis0 + * partsort_dict[(2, NPY_int64, 1)] = partsort_2d_int64_axis1 + * partsort_dict[(3, NPY_int, 0)] = partsort_3d_int_axis0 + * partsort_dict[(3, NPY_int, 1)] = partsort_3d_int_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int, 2)] = partsort_3d_int_axis2 + * partsort_dict[(3, NPY_int8, 0)] = partsort_3d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1840 - * partsort_dict[(2, NPY_float32, 1)] = partsort_2d_float32_axis1 - * partsort_dict[(2, NPY_float64, 0)] = partsort_2d_float64_axis0 - * partsort_dict[(2, NPY_float64, 1)] = partsort_2d_float64_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_float, 0)] = partsort_3d_float_axis0 - * partsort_dict[(3, NPY_float, 1)] = partsort_3d_float_axis1 + * partsort_dict[(3, NPY_int, 0)] = partsort_3d_int_axis0 + * partsort_dict[(3, NPY_int, 1)] = partsort_3d_int_axis1 + * partsort_dict[(3, NPY_int, 2)] = partsort_3d_int_axis2 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int8, 0)] = partsort_3d_int8_axis0 + * partsort_dict[(3, NPY_int8, 1)] = partsort_3d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8partsort_partsort_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1841 - * partsort_dict[(2, NPY_float64, 0)] = partsort_2d_float64_axis0 - * partsort_dict[(2, NPY_float64, 1)] = partsort_2d_float64_axis1 - * partsort_dict[(3, NPY_float, 0)] = partsort_3d_float_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_float, 1)] = partsort_3d_float_axis1 - * partsort_dict[(3, NPY_float, 2)] = partsort_3d_float_axis2 + * partsort_dict[(3, NPY_int, 1)] = partsort_3d_int_axis1 + * partsort_dict[(3, NPY_int, 2)] = partsort_3d_int_axis2 + * partsort_dict[(3, NPY_int8, 0)] = partsort_3d_int8_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int8, 1)] = partsort_3d_int8_axis1 + * partsort_dict[(3, NPY_int8, 2)] = partsort_3d_int8_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36483,19 +36483,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1842 - * partsort_dict[(2, NPY_float64, 1)] = partsort_2d_float64_axis1 - * partsort_dict[(3, NPY_float, 0)] = partsort_3d_float_axis0 - * partsort_dict[(3, NPY_float, 1)] = partsort_3d_float_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_float, 2)] = partsort_3d_float_axis2 - * partsort_dict[(3, NPY_float32, 0)] = partsort_3d_float32_axis0 + * partsort_dict[(3, NPY_int, 2)] = partsort_3d_int_axis2 + * partsort_dict[(3, NPY_int8, 0)] = partsort_3d_int8_axis0 + * partsort_dict[(3, NPY_int8, 1)] = partsort_3d_int8_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int8, 2)] = partsort_3d_int8_axis2 + * partsort_dict[(3, NPY_int32, 0)] = partsort_3d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -36513,19 +36513,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1843 - * partsort_dict[(3, NPY_float, 0)] = partsort_3d_float_axis0 - * partsort_dict[(3, NPY_float, 1)] = partsort_3d_float_axis1 - * partsort_dict[(3, NPY_float, 2)] = partsort_3d_float_axis2 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_float32, 0)] = partsort_3d_float32_axis0 - * partsort_dict[(3, NPY_float32, 1)] = partsort_3d_float32_axis1 + * partsort_dict[(3, NPY_int8, 0)] = partsort_3d_int8_axis0 + * partsort_dict[(3, NPY_int8, 1)] = partsort_3d_int8_axis1 + * partsort_dict[(3, NPY_int8, 2)] = partsort_3d_int8_axis2 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int32, 0)] = partsort_3d_int32_axis0 + * partsort_dict[(3, NPY_int32, 1)] = partsort_3d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int8_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1843; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36543,19 +36543,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1844 - * partsort_dict[(3, NPY_float, 1)] = partsort_3d_float_axis1 - * partsort_dict[(3, NPY_float, 2)] = partsort_3d_float_axis2 - * partsort_dict[(3, NPY_float32, 0)] = partsort_3d_float32_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_float32, 1)] = partsort_3d_float32_axis1 - * partsort_dict[(3, NPY_float32, 2)] = partsort_3d_float32_axis2 + * partsort_dict[(3, NPY_int8, 1)] = partsort_3d_int8_axis1 + * partsort_dict[(3, NPY_int8, 2)] = partsort_3d_int8_axis2 + * partsort_dict[(3, NPY_int32, 0)] = partsort_3d_int32_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int32, 1)] = partsort_3d_int32_axis1 + * partsort_dict[(3, NPY_int32, 2)] = partsort_3d_int32_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -36573,19 +36573,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1845 - * partsort_dict[(3, NPY_float, 2)] = partsort_3d_float_axis2 - * partsort_dict[(3, NPY_float32, 0)] = partsort_3d_float32_axis0 - * partsort_dict[(3, NPY_float32, 1)] = partsort_3d_float32_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_float32, 2)] = partsort_3d_float32_axis2 - * partsort_dict[(3, NPY_float64, 0)] = partsort_3d_float64_axis0 + * partsort_dict[(3, NPY_int8, 2)] = partsort_3d_int8_axis2 + * partsort_dict[(3, NPY_int32, 0)] = partsort_3d_int32_axis0 + * partsort_dict[(3, NPY_int32, 1)] = partsort_3d_int32_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int32, 2)] = partsort_3d_int32_axis2 + * partsort_dict[(3, NPY_int64, 0)] = partsort_3d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36603,19 +36603,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1846 - * partsort_dict[(3, NPY_float32, 0)] = partsort_3d_float32_axis0 - * partsort_dict[(3, NPY_float32, 1)] = partsort_3d_float32_axis1 - * partsort_dict[(3, NPY_float32, 2)] = partsort_3d_float32_axis2 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_float64, 0)] = partsort_3d_float64_axis0 - * partsort_dict[(3, NPY_float64, 1)] = partsort_3d_float64_axis1 + * partsort_dict[(3, NPY_int32, 0)] = partsort_3d_int32_axis0 + * partsort_dict[(3, NPY_int32, 1)] = partsort_3d_int32_axis1 + * partsort_dict[(3, NPY_int32, 2)] = partsort_3d_int32_axis2 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int64, 0)] = partsort_3d_int64_axis0 + * partsort_dict[(3, NPY_int64, 1)] = partsort_3d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float32_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int32_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -36633,19 +36633,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1847 - * partsort_dict[(3, NPY_float32, 1)] = partsort_3d_float32_axis1 - * partsort_dict[(3, NPY_float32, 2)] = partsort_3d_float32_axis2 - * partsort_dict[(3, NPY_float64, 0)] = partsort_3d_float64_axis0 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_float64, 1)] = partsort_3d_float64_axis1 - * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 + * partsort_dict[(3, NPY_int32, 1)] = partsort_3d_int32_axis1 + * partsort_dict[(3, NPY_int32, 2)] = partsort_3d_int32_axis2 + * partsort_dict[(3, NPY_int64, 0)] = partsort_3d_int64_axis0 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int64, 1)] = partsort_3d_int64_axis1 + * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1847; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36663,19 +36663,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1848 - * partsort_dict[(3, NPY_float32, 2)] = partsort_3d_float32_axis2 - * partsort_dict[(3, NPY_float64, 0)] = partsort_3d_float64_axis0 - * partsort_dict[(3, NPY_float64, 1)] = partsort_3d_float64_axis1 # <<<<<<<<<<<<<< - * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 + * partsort_dict[(3, NPY_int32, 2)] = partsort_3d_int32_axis2 + * partsort_dict[(3, NPY_int64, 0)] = partsort_3d_int64_axis0 + * partsort_dict[(3, NPY_int64, 1)] = partsort_3d_int64_axis1 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -36693,19 +36693,19 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1849 - * partsort_dict[(3, NPY_float64, 0)] = partsort_3d_float64_axis0 - * partsort_dict[(3, NPY_float64, 1)] = partsort_3d_float64_axis1 - * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 # <<<<<<<<<<<<<< + * partsort_dict[(3, NPY_int64, 0)] = partsort_3d_int64_axis0 + * partsort_dict[(3, NPY_int64, 1)] = partsort_3d_int64_axis1 + * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 # <<<<<<<<<<<<<< * * def partsort_slow_axis0(arr, n): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_float64_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_partsort_3d_int64_axis2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8partsort_partsort_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -36723,7 +36723,7 @@ PyMODINIT_FUNC PyInit_partsort(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "partsort.pyx":1851 - * partsort_dict[(3, NPY_float64, 2)] = partsort_3d_float64_axis2 + * partsort_dict[(3, NPY_int64, 2)] = partsort_3d_int64_axis2 * * def partsort_slow_axis0(arr, n): # <<<<<<<<<<<<<< * "Unaccelerated (slow) partsort along axis 0." @@ -37697,7 +37697,7 @@ PyMODINIT_FUNC PyInit_partsort(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/rankdata.c b/bottlechest/src/func/64bit/rankdata.c index b17b243926..66f699a863 100644 --- a/bottlechest/src/func/64bit/rankdata.c +++ b/bottlechest/src/func/64bit/rankdata.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1098,14 +1098,14 @@ static PyObject *__pyx_v_8rankdata_rankdata_dict = 0; static PyObject *__pyx_v_8rankdata_rankdata_slow_dict = 0; static PyObject *__pyx_v_8rankdata_nanrankdata_dict = 0; static PyObject *__pyx_v_8rankdata_nanrankdata_slow_dict = 0; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t = { "intp_t", NULL, sizeof(__pyx_t_5numpy_intp_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_intp_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_intp_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "rankdata" int __pyx_module_is_main_rankdata = 0; @@ -1118,27 +1118,27 @@ static PyObject *__pyx_builtin_xrange; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_8rankdata_rankdata(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_8rankdata_2rankdata_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_8rankdata_4rankdata_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_6rankdata_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_8rankdata_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_10rankdata_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_12rankdata_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_24rankdata_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_26rankdata_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_30rankdata_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_32rankdata_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_34rankdata_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_36rankdata_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_38rankdata_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_40rankdata_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_42rankdata_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_8rankdata_44rankdata_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_4rankdata_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_6rankdata_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_8rankdata_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_10rankdata_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_12rankdata_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_14rankdata_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_16rankdata_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_18rankdata_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_20rankdata_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_22rankdata_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_24rankdata_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_26rankdata_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_28rankdata_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_30rankdata_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_32rankdata_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_34rankdata_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_36rankdata_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_38rankdata_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_40rankdata_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_42rankdata_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_8rankdata_44rankdata_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_8rankdata_46rankdata_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_8rankdata_48rankdata_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_8rankdata_50rankdata_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1407,16 +1407,15 @@ static char __pyx_k_Ranks_the_data_dealing_with_tie[] = "\n Ranks the data, d static char __pyx_k_Return_nanrankdata_function_and[] = "\n Return nanrankdata function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.nanrankdata() is in checking that `axis` is within range, converting\n `arr` into an array (if it is not already an array), and selecting the\n function to use to rank the elements.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which to rank the elements of the array.\n \n Returns\n -------\n func : function\n The nanrankdata function that matches the number of dimensions and\n dtype of the input array and the axis along which you wish to rank.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([np.nan, 2, 2, 3])\n \n Obtain the function needed to rank the elements of `arr` along axis=0:\n\n >>> func, a = bn.func.nanrankdata_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array:\n\n >>> func(a)\n array([ nan, 1.5, 1.5, 3. ])\n\n "; static char __pyx_k_Return_rankdata_function_and_ar[] = "\n Return rankdata function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.rankdata() is in checking that `axis` is within range, converting `arr`\n into an array (if it is not already an array), and selecting the function\n to use to rank the elements.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using the this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which to rank the elements of the array.\n \n Returns\n -------\n func : function\n The rankdata function that matches the number of dimensions and dtype\n of the input array and the axis along which you wish to rank.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([0, 2, 2, 3])\n \n Obtain the function needed to rank the elements of `arr` along axis=0:\n\n >>> func, a = bn.func.rankdata_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array:\n\n >>> func(a)\n array([ 1. , 2.5, 2.5, 4. ])\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/rankdata.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\rankdata.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Ranks_the_data_dealing_with_tie_2[] = "\n Ranks the data, dealing with ties and NaNs appropriately.\n\n Equal values are assigned a rank that is the average of the ranks that\n would have been otherwise assigned to all of the values within that set.\n Ranks begin at 1, not 0.\n\n NaNs in the input array are returned as NaNs.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}, optional\n Axis along which the elements of the array are ranked. The default\n (axis=None) is to rank the elements of the flattened array.\n\n Returns\n -------\n y : ndarray\n An array with the same shape as `arr`. The dtype is 'float64'.\n \n See also\n --------\n bottlechest.rankdata: Ranks the data, dealing with ties and appropriately.\n \n Examples\n --------\n >>> bn.nanrankdata([np.nan, 2, 2, 3])\n array([ nan, 1.5, 1.5, 3. ])\n >>> bn.nanrankdata([[np.nan, 2], [2, 3]])\n array([ nan, 1.5, 1.5, 3. ])\n >>> bn.nanrankdata([[np.nan, 2], [2, 3]], axis=0)\n array([[ nan, 1.],\n [ 1., 2.]])\n >>> bn.nanrankdata([[np.nan, 2], [2, 3]], axis=1)\n array([[ nan, 1.],\n [ 1., 2.]])\n \n "; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1432,6 +1431,7 @@ static PyObject *__pyx_kp_u_Return_rankdata_function_and_ar; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__7; static PyObject *__pyx_n_s_a; @@ -2679,24 +2679,24 @@ static PyObject *__pyx_pf_8rankdata_2rankdata_selector(CYTHON_UNUSED PyObject *_ /* "rankdata.pyx":187 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int along axis=0, dealing with ties." + * def rankdata_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_5rankdata_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_4rankdata_1d_int_axis0[] = "rankdata_1d_int_axis0(ndarray a)\nRanks n1d array with dtype=int along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_5rankdata_1d_int_axis0 = {"rankdata_1d_int_axis0", (PyCFunction)__pyx_pw_8rankdata_5rankdata_1d_int_axis0, METH_O, __pyx_doc_8rankdata_4rankdata_1d_int_axis0}; -static PyObject *__pyx_pw_8rankdata_5rankdata_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_5rankdata_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_4rankdata_1d_float_axis0[] = "rankdata_1d_float_axis0(ndarray a)\nRanks n1d array with dtype=float along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_5rankdata_1d_float_axis0 = {"rankdata_1d_float_axis0", (PyCFunction)__pyx_pw_8rankdata_5rankdata_1d_float_axis0, METH_O, __pyx_doc_8rankdata_4rankdata_1d_float_axis0}; +static PyObject *__pyx_pw_8rankdata_5rankdata_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_1d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("rankdata_1d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_4rankdata_1d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_8rankdata_4rankdata_1d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2707,7 +2707,7 @@ static PyObject *__pyx_pw_8rankdata_5rankdata_1d_int_axis0(PyObject *__pyx_self, return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_4rankdata_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_4rankdata_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -2751,7 +2751,7 @@ static PyObject *__pyx_pf_8rankdata_4rankdata_1d_int_axis0(CYTHON_UNUSED PyObjec int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_1d_int_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_1d_float_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -2766,13 +2766,13 @@ static PyObject *__pyx_pf_8rankdata_4rankdata_1d_int_axis0(CYTHON_UNUSED PyObjec __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "rankdata.pyx":189 - * def rankdata_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): - * "Ranks n1d array with dtype=int along axis=0, dealing with ties." + * def rankdata_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): + * "Ranks n1d array with dtype=float along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) @@ -2907,7 +2907,7 @@ static PyObject *__pyx_pf_8rankdata_4rankdata_1d_int_axis0(CYTHON_UNUSED PyObjec */ __pyx_t_6 = 0; __pyx_t_7 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); /* "rankdata.pyx":204 * return y @@ -2959,7 +2959,7 @@ static PyObject *__pyx_pf_8rankdata_4rankdata_1d_int_axis0(CYTHON_UNUSED PyObjec */ __pyx_t_10 = __pyx_v_k; __pyx_t_11 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); /* "rankdata.pyx":209 * k = i0 + 1 @@ -3137,8 +3137,8 @@ static PyObject *__pyx_pf_8rankdata_4rankdata_1d_int_axis0(CYTHON_UNUSED PyObjec /* "rankdata.pyx":187 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int along axis=0, dealing with ties." + * def rankdata_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float along axis=0, dealing with ties." * cdef dupcount = 0 */ @@ -3152,7 +3152,7 @@ static PyObject *__pyx_pf_8rankdata_4rankdata_1d_int_axis0(CYTHON_UNUSED PyObjec __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3171,24 +3171,24 @@ static PyObject *__pyx_pf_8rankdata_4rankdata_1d_int_axis0(CYTHON_UNUSED PyObjec /* "rankdata.pyx":225 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int8 along axis=0, dealing with ties." + * def rankdata_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float32 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_7rankdata_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_6rankdata_1d_int8_axis0[] = "rankdata_1d_int8_axis0(ndarray a)\nRanks n1d array with dtype=int8 along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_7rankdata_1d_int8_axis0 = {"rankdata_1d_int8_axis0", (PyCFunction)__pyx_pw_8rankdata_7rankdata_1d_int8_axis0, METH_O, __pyx_doc_8rankdata_6rankdata_1d_int8_axis0}; -static PyObject *__pyx_pw_8rankdata_7rankdata_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_7rankdata_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_6rankdata_1d_float32_axis0[] = "rankdata_1d_float32_axis0(ndarray a)\nRanks n1d array with dtype=float32 along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_7rankdata_1d_float32_axis0 = {"rankdata_1d_float32_axis0", (PyCFunction)__pyx_pw_8rankdata_7rankdata_1d_float32_axis0, METH_O, __pyx_doc_8rankdata_6rankdata_1d_float32_axis0}; +static PyObject *__pyx_pw_8rankdata_7rankdata_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_1d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("rankdata_1d_float32_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_6rankdata_1d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_8rankdata_6rankdata_1d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3199,7 +3199,7 @@ static PyObject *__pyx_pw_8rankdata_7rankdata_1d_int8_axis0(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_6rankdata_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_6rankdata_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -3243,7 +3243,7 @@ static PyObject *__pyx_pf_8rankdata_6rankdata_1d_int8_axis0(CYTHON_UNUSED PyObje int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_1d_int8_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_1d_float32_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -3258,13 +3258,13 @@ static PyObject *__pyx_pf_8rankdata_6rankdata_1d_int8_axis0(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "rankdata.pyx":227 - * def rankdata_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): - * "Ranks n1d array with dtype=int8 along axis=0, dealing with ties." + * def rankdata_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): + * "Ranks n1d array with dtype=float32 along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) @@ -3399,7 +3399,7 @@ static PyObject *__pyx_pf_8rankdata_6rankdata_1d_int8_axis0(CYTHON_UNUSED PyObje */ __pyx_t_6 = 0; __pyx_t_7 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); /* "rankdata.pyx":242 * return y @@ -3451,7 +3451,7 @@ static PyObject *__pyx_pf_8rankdata_6rankdata_1d_int8_axis0(CYTHON_UNUSED PyObje */ __pyx_t_10 = __pyx_v_k; __pyx_t_11 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); /* "rankdata.pyx":247 * k = i0 + 1 @@ -3629,8 +3629,8 @@ static PyObject *__pyx_pf_8rankdata_6rankdata_1d_int8_axis0(CYTHON_UNUSED PyObje /* "rankdata.pyx":225 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int8 along axis=0, dealing with ties." + * def rankdata_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float32 along axis=0, dealing with ties." * cdef dupcount = 0 */ @@ -3644,7 +3644,7 @@ static PyObject *__pyx_pf_8rankdata_6rankdata_1d_int8_axis0(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3663,24 +3663,24 @@ static PyObject *__pyx_pf_8rankdata_6rankdata_1d_int8_axis0(CYTHON_UNUSED PyObje /* "rankdata.pyx":263 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int32 along axis=0, dealing with ties." + * def rankdata_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float64 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_9rankdata_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_8rankdata_1d_int32_axis0[] = "rankdata_1d_int32_axis0(ndarray a)\nRanks n1d array with dtype=int32 along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_9rankdata_1d_int32_axis0 = {"rankdata_1d_int32_axis0", (PyCFunction)__pyx_pw_8rankdata_9rankdata_1d_int32_axis0, METH_O, __pyx_doc_8rankdata_8rankdata_1d_int32_axis0}; -static PyObject *__pyx_pw_8rankdata_9rankdata_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_9rankdata_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_8rankdata_1d_float64_axis0[] = "rankdata_1d_float64_axis0(ndarray a)\nRanks n1d array with dtype=float64 along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_9rankdata_1d_float64_axis0 = {"rankdata_1d_float64_axis0", (PyCFunction)__pyx_pw_8rankdata_9rankdata_1d_float64_axis0, METH_O, __pyx_doc_8rankdata_8rankdata_1d_float64_axis0}; +static PyObject *__pyx_pw_8rankdata_9rankdata_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_1d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("rankdata_1d_float64_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_8rankdata_1d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_8rankdata_8rankdata_1d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3691,7 +3691,7 @@ static PyObject *__pyx_pw_8rankdata_9rankdata_1d_int32_axis0(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_8rankdata_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_8rankdata_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -3735,7 +3735,7 @@ static PyObject *__pyx_pf_8rankdata_8rankdata_1d_int32_axis0(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_1d_int32_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_1d_float64_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -3750,13 +3750,13 @@ static PyObject *__pyx_pf_8rankdata_8rankdata_1d_int32_axis0(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "rankdata.pyx":265 - * def rankdata_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): - * "Ranks n1d array with dtype=int32 along axis=0, dealing with ties." + * def rankdata_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): + * "Ranks n1d array with dtype=float64 along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) @@ -3891,7 +3891,7 @@ static PyObject *__pyx_pf_8rankdata_8rankdata_1d_int32_axis0(CYTHON_UNUSED PyObj */ __pyx_t_6 = 0; __pyx_t_7 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); /* "rankdata.pyx":280 * return y @@ -3943,7 +3943,7 @@ static PyObject *__pyx_pf_8rankdata_8rankdata_1d_int32_axis0(CYTHON_UNUSED PyObj */ __pyx_t_10 = __pyx_v_k; __pyx_t_11 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); /* "rankdata.pyx":285 * k = i0 + 1 @@ -4121,8 +4121,8 @@ static PyObject *__pyx_pf_8rankdata_8rankdata_1d_int32_axis0(CYTHON_UNUSED PyObj /* "rankdata.pyx":263 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int32 along axis=0, dealing with ties." + * def rankdata_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float64 along axis=0, dealing with ties." * cdef dupcount = 0 */ @@ -4136,7 +4136,7 @@ static PyObject *__pyx_pf_8rankdata_8rankdata_1d_int32_axis0(CYTHON_UNUSED PyObj __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4155,24 +4155,24 @@ static PyObject *__pyx_pf_8rankdata_8rankdata_1d_int32_axis0(CYTHON_UNUSED PyObj /* "rankdata.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int64 along axis=0, dealing with ties." + * def rankdata_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_11rankdata_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_10rankdata_1d_int64_axis0[] = "rankdata_1d_int64_axis0(ndarray a)\nRanks n1d array with dtype=int64 along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_11rankdata_1d_int64_axis0 = {"rankdata_1d_int64_axis0", (PyCFunction)__pyx_pw_8rankdata_11rankdata_1d_int64_axis0, METH_O, __pyx_doc_8rankdata_10rankdata_1d_int64_axis0}; -static PyObject *__pyx_pw_8rankdata_11rankdata_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_11rankdata_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_10rankdata_2d_float_axis0[] = "rankdata_2d_float_axis0(ndarray a)\nRanks n2d array with dtype=float along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_11rankdata_2d_float_axis0 = {"rankdata_2d_float_axis0", (PyCFunction)__pyx_pw_8rankdata_11rankdata_2d_float_axis0, METH_O, __pyx_doc_8rankdata_10rankdata_2d_float_axis0}; +static PyObject *__pyx_pw_8rankdata_11rankdata_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_1d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("rankdata_2d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_10rankdata_1d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_8rankdata_10rankdata_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4183,18 +4183,21 @@ static PyObject *__pyx_pw_8rankdata_11rankdata_1d_int64_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_10rankdata_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_10rankdata_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; + Py_ssize_t __pyx_v_idx; PyArrayObject *__pyx_v_ivec = 0; __pyx_t_5numpy_float64_t __pyx_v_old; __pyx_t_5numpy_float64_t __pyx_v_new; __pyx_t_5numpy_float64_t __pyx_v_averank; __pyx_t_5numpy_float64_t __pyx_v_sumranks; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -4207,27 +4210,36 @@ static PyObject *__pyx_pf_8rankdata_10rankdata_1d_int64_axis0(CYTHON_UNUSED PyOb __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[1]; + npy_intp __pyx_t_3[2]; PyArrayObject *__pyx_t_4 = NULL; int __pyx_t_5; - long __pyx_t_6; - __pyx_t_5numpy_intp_t __pyx_t_7; - Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + long __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - __pyx_t_5numpy_intp_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - __pyx_t_5numpy_float64_t __pyx_t_13; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; - long __pyx_t_15; + Py_ssize_t __pyx_t_15; Py_ssize_t __pyx_t_16; Py_ssize_t __pyx_t_17; - __pyx_t_5numpy_intp_t __pyx_t_18; - __pyx_t_5numpy_intp_t __pyx_t_19; + PyObject *__pyx_t_18 = NULL; + __pyx_t_5numpy_float64_t __pyx_t_19; + Py_ssize_t __pyx_t_20; + long __pyx_t_21; + Py_ssize_t __pyx_t_22; + Py_ssize_t __pyx_t_23; + Py_ssize_t __pyx_t_24; + Py_ssize_t __pyx_t_25; + Py_ssize_t __pyx_t_26; + Py_ssize_t __pyx_t_27; + Py_ssize_t __pyx_t_28; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_1d_int64_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_2d_float_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -4242,16 +4254,16 @@ static PyObject *__pyx_pf_8rankdata_10rankdata_1d_int64_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "rankdata.pyx":303 - * def rankdata_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): - * "Ranks n1d array with dtype=int64 along axis=0, dealing with ties." + * def rankdata_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Ranks n2d array with dtype=float along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) + * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) */ __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; @@ -4259,9 +4271,9 @@ static PyObject *__pyx_pf_8rankdata_10rankdata_1d_int64_axis0(CYTHON_UNUSED PyOb /* "rankdata.pyx":305 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 */ __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -4269,10 +4281,10 @@ static PyObject *__pyx_pf_8rankdata_10rankdata_1d_int64_axis0(CYTHON_UNUSED PyOb __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; + } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; @@ -4281,19 +4293,19 @@ static PyObject *__pyx_pf_8rankdata_10rankdata_1d_int64_axis0(CYTHON_UNUSED PyOb /* "rankdata.pyx":306 * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) + * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_sumranks = 0.0; /* "rankdata.pyx":309 - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); @@ -4301,46 +4313,56 @@ static PyObject *__pyx_pf_8rankdata_10rankdata_1d_int64_axis0(CYTHON_UNUSED PyOb * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); /* "rankdata.pyx":311 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "rankdata.pyx":312 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) */ __pyx_t_3[0] = __pyx_v_n0; + __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":312 - * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + /* "rankdata.pyx":313 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":314 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + /* "rankdata.pyx":315 + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) @@ -4349,24 +4371,24 @@ static PyObject *__pyx_pf_8rankdata_10rankdata_1d_int64_axis0(CYTHON_UNUSED PyOb __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":315 + /* "rankdata.pyx":316 * NPY_float64, 0) * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y - * old = a[ivec[0]] + * for i1 in xrange(n1): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":316 + /* "rankdata.pyx":317 * if n0 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< - * old = a[ivec[0]] - * for i0 in xrange(n0-1): + * for i1 in xrange(n1): + * idx = ivec[0, i1] */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -4374,738 +4396,224 @@ static PyObject *__pyx_pf_8rankdata_10rankdata_1d_int64_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "rankdata.pyx":317 - * PyArray_FillWithScalar(y, NAN) - * return y - * old = a[ivec[0]] # <<<<<<<<<<<<<< - * for i0 in xrange(n0-1): - * sumranks += i0 - */ - __pyx_t_6 = 0; - __pyx_t_7 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "rankdata.pyx":318 + * PyArray_FillWithScalar(y, NAN) * return y - * old = a[ivec[0]] - * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< - * sumranks += i0 - * dupcount += 1 + * for i1 in xrange(n1): # <<<<<<<<<<<<<< + * idx = ivec[0, i1] + * old = a[idx, i1] */ - __pyx_t_8 = (__pyx_v_n0 - 1); - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; /* "rankdata.pyx":319 - * old = a[ivec[0]] - * for i0 in xrange(n0-1): - * sumranks += i0 # <<<<<<<<<<<<<< - * dupcount += 1 - * k = i0 + 1 + * return y + * for i1 in xrange(n1): + * idx = ivec[0, i1] # <<<<<<<<<<<<<< + * old = a[idx, i1] + * sumranks = 0 */ - __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); + __pyx_t_8 = 0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); /* "rankdata.pyx":320 - * for i0 in xrange(n0-1): - * sumranks += i0 - * dupcount += 1 # <<<<<<<<<<<<<< - * k = i0 + 1 - * new = a[ivec[k]] + * for i1 in xrange(n1): + * idx = ivec[0, i1] + * old = a[idx, i1] # <<<<<<<<<<<<<< + * sumranks = 0 + * dupcount = 0 */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); - __pyx_t_1 = 0; + __pyx_t_10 = __pyx_v_idx; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":321 - * sumranks += i0 - * dupcount += 1 - * k = i0 + 1 # <<<<<<<<<<<<<< - * new = a[ivec[k]] - * if old != new: + * idx = ivec[0, i1] + * old = a[idx, i1] + * sumranks = 0 # <<<<<<<<<<<<<< + * dupcount = 0 + * for i0 in xrange(n0-1): */ - __pyx_v_k = (__pyx_v_i0 + 1); + __pyx_v_sumranks = 0.0; /* "rankdata.pyx":322 - * dupcount += 1 - * k = i0 + 1 - * new = a[ivec[k]] # <<<<<<<<<<<<<< - * if old != new: - * averank = sumranks / dupcount + 1 + * old = a[idx, i1] + * sumranks = 0 + * dupcount = 0 # <<<<<<<<<<<<<< + * for i0 in xrange(n0-1): + * sumranks += i0 */ - __pyx_t_10 = __pyx_v_k; - __pyx_t_11 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); + __Pyx_INCREF(__pyx_int_0); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); /* "rankdata.pyx":323 - * k = i0 + 1 - * new = a[ivec[k]] - * if old != new: # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): + * sumranks = 0 + * dupcount = 0 + * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< + * sumranks += i0 + * dupcount += 1 */ - __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); - if (__pyx_t_5) { + __pyx_t_12 = (__pyx_v_n0 - 1); + for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { + __pyx_v_i0 = __pyx_t_13; /* "rankdata.pyx":324 - * new = a[ivec[k]] - * if old != new: - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(k - dupcount, k): - * y[ivec[j]] = averank + * dupcount = 0 + * for i0 in xrange(n0-1): + * sumranks += i0 # <<<<<<<<<<<<<< + * dupcount += 1 + * k = i0 + 1 */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_12, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_averank = __pyx_t_13; + __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); /* "rankdata.pyx":325 - * if old != new: - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< - * y[ivec[j]] = averank - * sumranks = 0 + * for i0 in xrange(n0-1): + * sumranks += i0 + * dupcount += 1 # <<<<<<<<<<<<<< + * k = i0 + 1 + * idx = ivec[k, i1] */ - __pyx_t_14 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_12); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - for (__pyx_t_16 = __pyx_t_15; __pyx_t_16 < __pyx_t_14; __pyx_t_16+=1) { - __pyx_v_j = __pyx_t_16; + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); + __pyx_t_1 = 0; - /* "rankdata.pyx":326 - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): - * y[ivec[j]] = averank # <<<<<<<<<<<<<< - * sumranks = 0 - * dupcount = 0 + /* "rankdata.pyx":326 + * sumranks += i0 + * dupcount += 1 + * k = i0 + 1 # <<<<<<<<<<<<<< + * idx = ivec[k, i1] + * new = a[idx, i1] */ - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_ivec.diminfo[0].strides)); - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; - } + __pyx_v_k = (__pyx_v_i0 + 1); /* "rankdata.pyx":327 - * for j in xrange(k - dupcount, k): - * y[ivec[j]] = averank - * sumranks = 0 # <<<<<<<<<<<<<< - * dupcount = 0 - * old = new + * dupcount += 1 + * k = i0 + 1 + * idx = ivec[k, i1] # <<<<<<<<<<<<<< + * new = a[idx, i1] + * if old != new: */ - __pyx_v_sumranks = 0.0; + __pyx_t_14 = __pyx_v_k; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); /* "rankdata.pyx":328 - * y[ivec[j]] = averank - * sumranks = 0 - * dupcount = 0 # <<<<<<<<<<<<<< - * old = new - * sumranks += (n0 - 1) + * k = i0 + 1 + * idx = ivec[k, i1] + * new = a[idx, i1] # <<<<<<<<<<<<<< + * if old != new: + * averank = sumranks / dupcount + 1 */ - __Pyx_INCREF(__pyx_int_0); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - goto __pyx_L6; - } - __pyx_L6:; + __pyx_t_16 = __pyx_v_idx; + __pyx_t_17 = __pyx_v_i1; + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":329 - * sumranks = 0 - * dupcount = 0 - * old = new # <<<<<<<<<<<<<< - * sumranks += (n0 - 1) - * dupcount += 1 + /* "rankdata.pyx":329 + * idx = ivec[k, i1] + * new = a[idx, i1] + * if old != new: # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): */ - __pyx_v_old = __pyx_v_new; - } + __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); + if (__pyx_t_5) { - /* "rankdata.pyx":330 - * dupcount = 0 - * old = new - * sumranks += (n0 - 1) # <<<<<<<<<<<<<< - * dupcount += 1 - * averank = sumranks / dupcount + 1 + /* "rankdata.pyx":330 + * new = a[idx, i1] + * if old != new: + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(k - dupcount, k): + * idx = ivec[j, i1] */ - __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":331 - * old = new - * sumranks += (n0 - 1) - * dupcount += 1 # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): + /* "rankdata.pyx":331 + * if old != new: + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< + * idx = ivec[j, i1] + * y[idx, i1] = averank */ - __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_12); - __pyx_t_12 = 0; + __pyx_t_20 = __pyx_v_k; + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { + __pyx_v_j = __pyx_t_22; - /* "rankdata.pyx":332 - * sumranks += (n0 - 1) - * dupcount += 1 - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(n0 - dupcount, n0): - * y[ivec[j]] = averank + /* "rankdata.pyx":332 + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): + * idx = ivec[j, i1] # <<<<<<<<<<<<<< + * y[idx, i1] = averank + * sumranks = 0 */ - __pyx_t_12 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_v_averank = __pyx_t_13; + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i1; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":333 - * dupcount += 1 - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< - * y[ivec[j]] = averank - * return y + /* "rankdata.pyx":333 + * for j in xrange(k - dupcount, k): + * idx = ivec[j, i1] + * y[idx, i1] = averank # <<<<<<<<<<<<<< + * sumranks = 0 + * dupcount = 0 */ - __pyx_t_8 = __pyx_v_n0; - __pyx_t_12 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (__pyx_t_9 = __pyx_t_15; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_j = __pyx_t_9; + __pyx_t_25 = __pyx_v_idx; + __pyx_t_26 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; + } - /* "rankdata.pyx":334 - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): - * y[ivec[j]] = averank # <<<<<<<<<<<<<< - * return y - * + /* "rankdata.pyx":334 + * idx = ivec[j, i1] + * y[idx, i1] = averank + * sumranks = 0 # <<<<<<<<<<<<<< + * dupcount = 0 + * old = new */ - __pyx_t_14 = __pyx_v_j; - __pyx_t_19 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides)); - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; - } + __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":335 - * for j in xrange(n0 - dupcount, n0): - * y[ivec[j]] = averank - * return y # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + /* "rankdata.pyx":335 + * y[idx, i1] = averank + * sumranks = 0 + * dupcount = 0 # <<<<<<<<<<<<<< + * old = new + * sumranks += (n0 - 1) */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; + __Pyx_INCREF(__pyx_int_0); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); + goto __pyx_L8; + } + __pyx_L8:; - /* "rankdata.pyx":301 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def rankdata_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int64 along axis=0, dealing with ties." - * cdef dupcount = 0 + /* "rankdata.pyx":336 + * sumranks = 0 + * dupcount = 0 + * old = new # <<<<<<<<<<<<<< + * sumranks += (n0 - 1) + * dupcount += 1 */ + __pyx_v_old = __pyx_v_new; + } - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_12); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; - __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - goto __pyx_L2; - __pyx_L0:; - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); - __pyx_L2:; - __Pyx_XDECREF(__pyx_v_dupcount); - __Pyx_XDECREF((PyObject *)__pyx_v_ivec); - __Pyx_XDECREF((PyObject *)__pyx_v_y); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "rankdata.pyx":339 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def rankdata_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int along axis=0, dealing with ties." - * cdef dupcount = 0 - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_13rankdata_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_12rankdata_2d_int_axis0[] = "rankdata_2d_int_axis0(ndarray a)\nRanks n2d array with dtype=int along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_13rankdata_2d_int_axis0 = {"rankdata_2d_int_axis0", (PyCFunction)__pyx_pw_8rankdata_13rankdata_2d_int_axis0, METH_O, __pyx_doc_8rankdata_12rankdata_2d_int_axis0}; -static PyObject *__pyx_pw_8rankdata_13rankdata_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { - CYTHON_UNUSED int __pyx_lineno = 0; - CYTHON_UNUSED const char *__pyx_filename = NULL; - CYTHON_UNUSED int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_int_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_12rankdata_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8rankdata_12rankdata_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - PyObject *__pyx_v_dupcount = 0; - Py_ssize_t __pyx_v_j; - Py_ssize_t __pyx_v_k; - Py_ssize_t __pyx_v_idx; - PyArrayObject *__pyx_v_ivec = 0; - __pyx_t_5numpy_float64_t __pyx_v_old; - __pyx_t_5numpy_float64_t __pyx_v_new; - __pyx_t_5numpy_float64_t __pyx_v_averank; - __pyx_t_5numpy_float64_t __pyx_v_sumranks; - Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; - npy_intp *__pyx_v_dim; - Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; - __Pyx_LocalBuf_ND __pyx_pybuffernd_a; - __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_ivec; - __Pyx_Buffer __pyx_pybuffer_ivec; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[2]; - PyArrayObject *__pyx_t_4 = NULL; - int __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - long __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; - Py_ssize_t __pyx_t_15; - Py_ssize_t __pyx_t_16; - Py_ssize_t __pyx_t_17; - PyObject *__pyx_t_18 = NULL; - __pyx_t_5numpy_float64_t __pyx_t_19; - Py_ssize_t __pyx_t_20; - long __pyx_t_21; - Py_ssize_t __pyx_t_22; - Py_ssize_t __pyx_t_23; - Py_ssize_t __pyx_t_24; - Py_ssize_t __pyx_t_25; - Py_ssize_t __pyx_t_26; - Py_ssize_t __pyx_t_27; - Py_ssize_t __pyx_t_28; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_int_axis0", 0); - __pyx_pybuffer_ivec.pybuffer.buf = NULL; - __pyx_pybuffer_ivec.refcount = 0; - __pyx_pybuffernd_ivec.data = NULL; - __pyx_pybuffernd_ivec.rcbuffer = &__pyx_pybuffer_ivec; - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; - __pyx_pybuffer_a.pybuffer.buf = NULL; - __pyx_pybuffer_a.refcount = 0; - __pyx_pybuffernd_a.data = NULL; - __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - - /* "rankdata.pyx":341 - * def rankdata_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Ranks n2d array with dtype=int along axis=0, dealing with ties." - * cdef dupcount = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) - */ - __Pyx_INCREF(__pyx_int_0); - __pyx_v_dupcount = __pyx_int_0; - - /* "rankdata.pyx":343 - * cdef dupcount = 0 - * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< - * cdef np.float64_t old, new, averank, sumranks = 0 - * cdef Py_ssize_t i0, i1 - */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { - __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; - } - } - __pyx_t_2 = 0; - __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "rankdata.pyx":344 - * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) - * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - */ - __pyx_v_sumranks = 0.0; - - /* "rankdata.pyx":347 - * cdef Py_ssize_t i0, i1 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - */ - __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - - /* "rankdata.pyx":348 - * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "rankdata.pyx":349 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "rankdata.pyx":350 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, - * NPY_float64, 0) - */ - __pyx_t_3[0] = __pyx_v_n0; - __pyx_t_3[1] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_3; - - /* "rankdata.pyx":351 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * if n0 == 0: - */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; - } - } - __pyx_t_4 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "rankdata.pyx":353 - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, - * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< - * PyArray_FillWithScalar(y, NAN) - * return y - */ - __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); - if (__pyx_t_5) { - - /* "rankdata.pyx":354 - * NPY_float64, 0) - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< - * return y - * for i1 in xrange(n1): - */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "rankdata.pyx":355 - * if n0 == 0: - * PyArray_FillWithScalar(y, NAN) - * return y # <<<<<<<<<<<<<< - * for i1 in xrange(n1): - * idx = ivec[0, i1] - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - } - - /* "rankdata.pyx":356 - * PyArray_FillWithScalar(y, NAN) - * return y - * for i1 in xrange(n1): # <<<<<<<<<<<<<< - * idx = ivec[0, i1] - * old = a[idx, i1] - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "rankdata.pyx":357 - * return y - * for i1 in xrange(n1): - * idx = ivec[0, i1] # <<<<<<<<<<<<<< - * old = a[idx, i1] - * sumranks = 0 - */ - __pyx_t_8 = 0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); - - /* "rankdata.pyx":358 - * for i1 in xrange(n1): - * idx = ivec[0, i1] - * old = a[idx, i1] # <<<<<<<<<<<<<< - * sumranks = 0 - * dupcount = 0 - */ - __pyx_t_10 = __pyx_v_idx; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "rankdata.pyx":359 - * idx = ivec[0, i1] - * old = a[idx, i1] - * sumranks = 0 # <<<<<<<<<<<<<< - * dupcount = 0 - * for i0 in xrange(n0-1): - */ - __pyx_v_sumranks = 0.0; - - /* "rankdata.pyx":360 - * old = a[idx, i1] - * sumranks = 0 - * dupcount = 0 # <<<<<<<<<<<<<< - * for i0 in xrange(n0-1): - * sumranks += i0 - */ - __Pyx_INCREF(__pyx_int_0); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - - /* "rankdata.pyx":361 - * sumranks = 0 - * dupcount = 0 - * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< - * sumranks += i0 - * dupcount += 1 - */ - __pyx_t_12 = (__pyx_v_n0 - 1); - for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { - __pyx_v_i0 = __pyx_t_13; - - /* "rankdata.pyx":362 - * dupcount = 0 - * for i0 in xrange(n0-1): - * sumranks += i0 # <<<<<<<<<<<<<< - * dupcount += 1 - * k = i0 + 1 - */ - __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); - - /* "rankdata.pyx":363 - * for i0 in xrange(n0-1): - * sumranks += i0 - * dupcount += 1 # <<<<<<<<<<<<<< - * k = i0 + 1 - * idx = ivec[k, i1] - */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); - __pyx_t_1 = 0; - - /* "rankdata.pyx":364 - * sumranks += i0 - * dupcount += 1 - * k = i0 + 1 # <<<<<<<<<<<<<< - * idx = ivec[k, i1] - * new = a[idx, i1] - */ - __pyx_v_k = (__pyx_v_i0 + 1); - - /* "rankdata.pyx":365 - * dupcount += 1 - * k = i0 + 1 - * idx = ivec[k, i1] # <<<<<<<<<<<<<< - * new = a[idx, i1] - * if old != new: - */ - __pyx_t_14 = __pyx_v_k; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); - - /* "rankdata.pyx":366 - * k = i0 + 1 - * idx = ivec[k, i1] - * new = a[idx, i1] # <<<<<<<<<<<<<< - * if old != new: - * averank = sumranks / dupcount + 1 - */ - __pyx_t_16 = __pyx_v_idx; - __pyx_t_17 = __pyx_v_i1; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "rankdata.pyx":367 - * idx = ivec[k, i1] - * new = a[idx, i1] - * if old != new: # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): - */ - __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); - if (__pyx_t_5) { - - /* "rankdata.pyx":368 - * new = a[idx, i1] - * if old != new: - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(k - dupcount, k): - * idx = ivec[j, i1] - */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_averank = __pyx_t_19; - - /* "rankdata.pyx":369 - * if old != new: - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< - * idx = ivec[j, i1] - * y[idx, i1] = averank - */ - __pyx_t_20 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { - __pyx_v_j = __pyx_t_22; - - /* "rankdata.pyx":370 - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): - * idx = ivec[j, i1] # <<<<<<<<<<<<<< - * y[idx, i1] = averank - * sumranks = 0 - */ - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i1; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); - - /* "rankdata.pyx":371 - * for j in xrange(k - dupcount, k): - * idx = ivec[j, i1] - * y[idx, i1] = averank # <<<<<<<<<<<<<< - * sumranks = 0 - * dupcount = 0 - */ - __pyx_t_25 = __pyx_v_idx; - __pyx_t_26 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; - } - - /* "rankdata.pyx":372 - * idx = ivec[j, i1] - * y[idx, i1] = averank - * sumranks = 0 # <<<<<<<<<<<<<< - * dupcount = 0 - * old = new - */ - __pyx_v_sumranks = 0.0; - - /* "rankdata.pyx":373 - * y[idx, i1] = averank - * sumranks = 0 - * dupcount = 0 # <<<<<<<<<<<<<< - * old = new - * sumranks += (n0 - 1) - */ - __Pyx_INCREF(__pyx_int_0); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - goto __pyx_L8; - } - __pyx_L8:; - - /* "rankdata.pyx":374 - * sumranks = 0 - * dupcount = 0 - * old = new # <<<<<<<<<<<<<< - * sumranks += (n0 - 1) - * dupcount += 1 - */ - __pyx_v_old = __pyx_v_new; - } - - /* "rankdata.pyx":375 + /* "rankdata.pyx":337 * dupcount = 0 * old = new * sumranks += (n0 - 1) # <<<<<<<<<<<<<< @@ -5114,38 +4622,38 @@ static PyObject *__pyx_pf_8rankdata_12rankdata_2d_int_axis0(CYTHON_UNUSED PyObje */ __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); - /* "rankdata.pyx":376 + /* "rankdata.pyx":338 * old = new * sumranks += (n0 - 1) * dupcount += 1 # <<<<<<<<<<<<<< * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): */ - __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_18); __pyx_t_18 = 0; - /* "rankdata.pyx":377 + /* "rankdata.pyx":339 * sumranks += (n0 - 1) * dupcount += 1 * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(n0 - dupcount, n0): * idx = ivec[j, i1] */ - __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":378 + /* "rankdata.pyx":340 * dupcount += 1 * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< @@ -5153,17 +4661,17 @@ static PyObject *__pyx_pf_8rankdata_12rankdata_2d_int_axis0(CYTHON_UNUSED PyObje * y[idx, i1] = averank */ __pyx_t_12 = __pyx_v_n0; - __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (__pyx_t_13 = __pyx_t_21; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_j = __pyx_t_13; - /* "rankdata.pyx":379 + /* "rankdata.pyx":341 * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): * idx = ivec[j, i1] # <<<<<<<<<<<<<< @@ -5174,7 +4682,7 @@ static PyObject *__pyx_pf_8rankdata_12rankdata_2d_int_axis0(CYTHON_UNUSED PyObje __pyx_t_22 = __pyx_v_i1; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":380 + /* "rankdata.pyx":342 * for j in xrange(n0 - dupcount, n0): * idx = ivec[j, i1] * y[idx, i1] = averank # <<<<<<<<<<<<<< @@ -5187,7 +4695,7 @@ static PyObject *__pyx_pf_8rankdata_12rankdata_2d_int_axis0(CYTHON_UNUSED PyObje } } - /* "rankdata.pyx":381 + /* "rankdata.pyx":343 * idx = ivec[j, i1] * y[idx, i1] = averank * return y # <<<<<<<<<<<<<< @@ -5199,11 +4707,11 @@ static PyObject *__pyx_pf_8rankdata_12rankdata_2d_int_axis0(CYTHON_UNUSED PyObje __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "rankdata.pyx":339 + /* "rankdata.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int along axis=0, dealing with ties." + * def rankdata_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float along axis=0, dealing with ties." * cdef dupcount = 0 */ @@ -5217,7 +4725,7 @@ static PyObject *__pyx_pf_8rankdata_12rankdata_2d_int_axis0(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5233,27 +4741,27 @@ static PyObject *__pyx_pf_8rankdata_12rankdata_2d_int_axis0(CYTHON_UNUSED PyObje return __pyx_r; } -/* "rankdata.pyx":385 +/* "rankdata.pyx":347 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int along axis=1, dealing with ties." + * def rankdata_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float along axis=1, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_15rankdata_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_14rankdata_2d_int_axis1[] = "rankdata_2d_int_axis1(ndarray a)\nRanks n2d array with dtype=int along axis=1, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_15rankdata_2d_int_axis1 = {"rankdata_2d_int_axis1", (PyCFunction)__pyx_pw_8rankdata_15rankdata_2d_int_axis1, METH_O, __pyx_doc_8rankdata_14rankdata_2d_int_axis1}; -static PyObject *__pyx_pw_8rankdata_15rankdata_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_13rankdata_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_12rankdata_2d_float_axis1[] = "rankdata_2d_float_axis1(ndarray a)\nRanks n2d array with dtype=float along axis=1, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_13rankdata_2d_float_axis1 = {"rankdata_2d_float_axis1", (PyCFunction)__pyx_pw_8rankdata_13rankdata_2d_float_axis1, METH_O, __pyx_doc_8rankdata_12rankdata_2d_float_axis1}; +static PyObject *__pyx_pw_8rankdata_13rankdata_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_int_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_14rankdata_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("rankdata_2d_float_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_12rankdata_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5264,7 +4772,7 @@ static PyObject *__pyx_pw_8rankdata_15rankdata_2d_int_axis1(PyObject *__pyx_self return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_12rankdata_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -5320,7 +4828,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("rankdata_2d_float_axis1", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -5335,13 +4843,13 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "rankdata.pyx":387 - * def rankdata_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Ranks n2d array with dtype=int along axis=1, dealing with ties." + /* "rankdata.pyx":349 + * def rankdata_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Ranks n2d array with dtype=float along axis=1, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) @@ -5349,22 +4857,22 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; - /* "rankdata.pyx":389 + /* "rankdata.pyx":351 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 * cdef Py_ssize_t i0, i1 */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 1, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 1, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; } } @@ -5372,7 +4880,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":390 + /* "rankdata.pyx":352 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< @@ -5381,7 +4889,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":393 + /* "rankdata.pyx":355 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5390,7 +4898,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":394 + /* "rankdata.pyx":356 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5399,7 +4907,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "rankdata.pyx":395 + /* "rankdata.pyx":357 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5408,7 +4916,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "rankdata.pyx":396 + /* "rankdata.pyx":358 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -5419,22 +4927,22 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":397 + /* "rankdata.pyx":359 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) * if n1 == 0: */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -5442,7 +4950,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":399 + /* "rankdata.pyx":361 * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) * if n1 == 0: # <<<<<<<<<<<<<< @@ -5452,19 +4960,19 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":400 + /* "rankdata.pyx":362 * NPY_float64, 0) * if n1 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y * for i0 in xrange(n0): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":401 + /* "rankdata.pyx":363 * if n1 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< @@ -5477,7 +4985,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje goto __pyx_L0; } - /* "rankdata.pyx":402 + /* "rankdata.pyx":364 * PyArray_FillWithScalar(y, NAN) * return y * for i0 in xrange(n0): # <<<<<<<<<<<<<< @@ -5488,7 +4996,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "rankdata.pyx":403 + /* "rankdata.pyx":365 * return y * for i0 in xrange(n0): * idx = ivec[i0, 0] # <<<<<<<<<<<<<< @@ -5499,7 +5007,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_9 = 0; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":404 + /* "rankdata.pyx":366 * for i0 in xrange(n0): * idx = ivec[i0, 0] * old = a[i0, idx] # <<<<<<<<<<<<<< @@ -5508,9 +5016,9 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_idx; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":405 + /* "rankdata.pyx":367 * idx = ivec[i0, 0] * old = a[i0, idx] * sumranks = 0 # <<<<<<<<<<<<<< @@ -5519,7 +5027,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":406 + /* "rankdata.pyx":368 * old = a[i0, idx] * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -5529,7 +5037,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __Pyx_INCREF(__pyx_int_0); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - /* "rankdata.pyx":407 + /* "rankdata.pyx":369 * sumranks = 0 * dupcount = 0 * for i1 in xrange(n1-1): # <<<<<<<<<<<<<< @@ -5540,7 +5048,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_i1 = __pyx_t_13; - /* "rankdata.pyx":408 + /* "rankdata.pyx":370 * dupcount = 0 * for i1 in xrange(n1-1): * sumranks += i1 # <<<<<<<<<<<<<< @@ -5549,19 +5057,19 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i1); - /* "rankdata.pyx":409 + /* "rankdata.pyx":371 * for i1 in xrange(n1-1): * sumranks += i1 * dupcount += 1 # <<<<<<<<<<<<<< * k = i1 + 1 * idx = ivec[i0, k] */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":410 + /* "rankdata.pyx":372 * sumranks += i1 * dupcount += 1 * k = i1 + 1 # <<<<<<<<<<<<<< @@ -5570,7 +5078,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_k = (__pyx_v_i1 + 1); - /* "rankdata.pyx":411 + /* "rankdata.pyx":373 * dupcount += 1 * k = i1 + 1 * idx = ivec[i0, k] # <<<<<<<<<<<<<< @@ -5581,7 +5089,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_15 = __pyx_v_k; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":412 + /* "rankdata.pyx":374 * k = i1 + 1 * idx = ivec[i0, k] * new = a[i0, idx] # <<<<<<<<<<<<<< @@ -5590,9 +5098,9 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_t_16 = __pyx_v_i0; __pyx_t_17 = __pyx_v_idx; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":413 + /* "rankdata.pyx":375 * idx = ivec[i0, k] * new = a[i0, idx] * if old != new: # <<<<<<<<<<<<<< @@ -5602,26 +5110,26 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":414 + /* "rankdata.pyx":376 * new = a[i0, idx] * if old != new: * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(k - dupcount, k): * idx = ivec[i0, j] */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":415 + /* "rankdata.pyx":377 * if old != new: * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< @@ -5629,17 +5137,17 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje * y[i0, idx] = averank */ __pyx_t_20 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { __pyx_v_j = __pyx_t_22; - /* "rankdata.pyx":416 + /* "rankdata.pyx":378 * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): * idx = ivec[i0, j] # <<<<<<<<<<<<<< @@ -5650,7 +5158,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_24 = __pyx_v_j; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":417 + /* "rankdata.pyx":379 * for j in xrange(k - dupcount, k): * idx = ivec[i0, j] * y[i0, idx] = averank # <<<<<<<<<<<<<< @@ -5662,7 +5170,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; } - /* "rankdata.pyx":418 + /* "rankdata.pyx":380 * idx = ivec[i0, j] * y[i0, idx] = averank * sumranks = 0 # <<<<<<<<<<<<<< @@ -5671,7 +5179,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":419 + /* "rankdata.pyx":381 * y[i0, idx] = averank * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -5684,7 +5192,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje } __pyx_L8:; - /* "rankdata.pyx":420 + /* "rankdata.pyx":382 * sumranks = 0 * dupcount = 0 * old = new # <<<<<<<<<<<<<< @@ -5694,7 +5202,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_v_old = __pyx_v_new; } - /* "rankdata.pyx":421 + /* "rankdata.pyx":383 * dupcount = 0 * old = new * sumranks += (n1 - 1) # <<<<<<<<<<<<<< @@ -5703,38 +5211,38 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje */ __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n1 - 1)); - /* "rankdata.pyx":422 + /* "rankdata.pyx":384 * old = new * sumranks += (n1 - 1) * dupcount += 1 # <<<<<<<<<<<<<< * averank = sumranks / dupcount + 1 * for j in xrange(n1 - dupcount, n1): */ - __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_18); __pyx_t_18 = 0; - /* "rankdata.pyx":423 + /* "rankdata.pyx":385 * sumranks += (n1 - 1) * dupcount += 1 * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(n1 - dupcount, n1): * idx = ivec[i0, j] */ - __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":424 + /* "rankdata.pyx":386 * dupcount += 1 * averank = sumranks / dupcount + 1 * for j in xrange(n1 - dupcount, n1): # <<<<<<<<<<<<<< @@ -5742,17 +5250,17 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje * y[i0, idx] = averank */ __pyx_t_12 = __pyx_v_n1; - __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (__pyx_t_13 = __pyx_t_21; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_j = __pyx_t_13; - /* "rankdata.pyx":425 + /* "rankdata.pyx":387 * averank = sumranks / dupcount + 1 * for j in xrange(n1 - dupcount, n1): * idx = ivec[i0, j] # <<<<<<<<<<<<<< @@ -5763,7 +5271,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_t_22 = __pyx_v_j; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":426 + /* "rankdata.pyx":388 * for j in xrange(n1 - dupcount, n1): * idx = ivec[i0, j] * y[i0, idx] = averank # <<<<<<<<<<<<<< @@ -5776,7 +5284,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje } } - /* "rankdata.pyx":427 + /* "rankdata.pyx":389 * idx = ivec[i0, j] * y[i0, idx] = averank * return y # <<<<<<<<<<<<<< @@ -5788,11 +5296,11 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "rankdata.pyx":385 + /* "rankdata.pyx":347 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int along axis=1, dealing with ties." + * def rankdata_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float along axis=1, dealing with ties." * cdef dupcount = 0 */ @@ -5806,7 +5314,7 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5822,27 +5330,27 @@ static PyObject *__pyx_pf_8rankdata_14rankdata_2d_int_axis1(CYTHON_UNUSED PyObje return __pyx_r; } -/* "rankdata.pyx":431 +/* "rankdata.pyx":393 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int8 along axis=0, dealing with ties." + * def rankdata_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float32 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_17rankdata_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_16rankdata_2d_int8_axis0[] = "rankdata_2d_int8_axis0(ndarray a)\nRanks n2d array with dtype=int8 along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_17rankdata_2d_int8_axis0 = {"rankdata_2d_int8_axis0", (PyCFunction)__pyx_pw_8rankdata_17rankdata_2d_int8_axis0, METH_O, __pyx_doc_8rankdata_16rankdata_2d_int8_axis0}; -static PyObject *__pyx_pw_8rankdata_17rankdata_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_15rankdata_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_14rankdata_2d_float32_axis0[] = "rankdata_2d_float32_axis0(ndarray a)\nRanks n2d array with dtype=float32 along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_15rankdata_2d_float32_axis0 = {"rankdata_2d_float32_axis0", (PyCFunction)__pyx_pw_8rankdata_15rankdata_2d_float32_axis0, METH_O, __pyx_doc_8rankdata_14rankdata_2d_float32_axis0}; +static PyObject *__pyx_pw_8rankdata_15rankdata_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_int8_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_16rankdata_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("rankdata_2d_float32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_14rankdata_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5853,7 +5361,7 @@ static PyObject *__pyx_pw_8rankdata_17rankdata_2d_int8_axis0(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_14rankdata_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -5909,7 +5417,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_2d_float32_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -5924,13 +5432,13 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "rankdata.pyx":433 - * def rankdata_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Ranks n2d array with dtype=int8 along axis=0, dealing with ties." + /* "rankdata.pyx":395 + * def rankdata_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Ranks n2d array with dtype=float32 along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) @@ -5938,22 +5446,22 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; - /* "rankdata.pyx":435 + /* "rankdata.pyx":397 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 * cdef Py_ssize_t i0, i1 */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; } } @@ -5961,7 +5469,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":436 + /* "rankdata.pyx":398 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< @@ -5970,7 +5478,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":439 + /* "rankdata.pyx":401 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5979,7 +5487,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":440 + /* "rankdata.pyx":402 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5988,7 +5496,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "rankdata.pyx":441 + /* "rankdata.pyx":403 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5997,7 +5505,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "rankdata.pyx":442 + /* "rankdata.pyx":404 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -6008,22 +5516,22 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":443 + /* "rankdata.pyx":405 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -6031,7 +5539,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":445 + /* "rankdata.pyx":407 * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< @@ -6041,19 +5549,19 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":446 + /* "rankdata.pyx":408 * NPY_float64, 0) * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y * for i1 in xrange(n1): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":447 + /* "rankdata.pyx":409 * if n0 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< @@ -6066,7 +5574,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "rankdata.pyx":448 + /* "rankdata.pyx":410 * PyArray_FillWithScalar(y, NAN) * return y * for i1 in xrange(n1): # <<<<<<<<<<<<<< @@ -6077,7 +5585,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "rankdata.pyx":449 + /* "rankdata.pyx":411 * return y * for i1 in xrange(n1): * idx = ivec[0, i1] # <<<<<<<<<<<<<< @@ -6088,7 +5596,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_9 = __pyx_v_i1; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":450 + /* "rankdata.pyx":412 * for i1 in xrange(n1): * idx = ivec[0, i1] * old = a[idx, i1] # <<<<<<<<<<<<<< @@ -6097,9 +5605,9 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_t_10 = __pyx_v_idx; __pyx_t_11 = __pyx_v_i1; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":451 + /* "rankdata.pyx":413 * idx = ivec[0, i1] * old = a[idx, i1] * sumranks = 0 # <<<<<<<<<<<<<< @@ -6108,7 +5616,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":452 + /* "rankdata.pyx":414 * old = a[idx, i1] * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -6118,7 +5626,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __Pyx_INCREF(__pyx_int_0); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - /* "rankdata.pyx":453 + /* "rankdata.pyx":415 * sumranks = 0 * dupcount = 0 * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< @@ -6129,7 +5637,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_i0 = __pyx_t_13; - /* "rankdata.pyx":454 + /* "rankdata.pyx":416 * dupcount = 0 * for i0 in xrange(n0-1): * sumranks += i0 # <<<<<<<<<<<<<< @@ -6138,19 +5646,19 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); - /* "rankdata.pyx":455 + /* "rankdata.pyx":417 * for i0 in xrange(n0-1): * sumranks += i0 * dupcount += 1 # <<<<<<<<<<<<<< * k = i0 + 1 * idx = ivec[k, i1] */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":456 + /* "rankdata.pyx":418 * sumranks += i0 * dupcount += 1 * k = i0 + 1 # <<<<<<<<<<<<<< @@ -6159,7 +5667,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_k = (__pyx_v_i0 + 1); - /* "rankdata.pyx":457 + /* "rankdata.pyx":419 * dupcount += 1 * k = i0 + 1 * idx = ivec[k, i1] # <<<<<<<<<<<<<< @@ -6170,7 +5678,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_15 = __pyx_v_i1; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":458 + /* "rankdata.pyx":420 * k = i0 + 1 * idx = ivec[k, i1] * new = a[idx, i1] # <<<<<<<<<<<<<< @@ -6179,9 +5687,9 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_t_16 = __pyx_v_idx; __pyx_t_17 = __pyx_v_i1; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":459 + /* "rankdata.pyx":421 * idx = ivec[k, i1] * new = a[idx, i1] * if old != new: # <<<<<<<<<<<<<< @@ -6191,26 +5699,26 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":460 + /* "rankdata.pyx":422 * new = a[idx, i1] * if old != new: * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(k - dupcount, k): * idx = ivec[j, i1] */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":461 + /* "rankdata.pyx":423 * if old != new: * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< @@ -6218,17 +5726,17 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj * y[idx, i1] = averank */ __pyx_t_20 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { __pyx_v_j = __pyx_t_22; - /* "rankdata.pyx":462 + /* "rankdata.pyx":424 * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): * idx = ivec[j, i1] # <<<<<<<<<<<<<< @@ -6239,7 +5747,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_24 = __pyx_v_i1; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":463 + /* "rankdata.pyx":425 * for j in xrange(k - dupcount, k): * idx = ivec[j, i1] * y[idx, i1] = averank # <<<<<<<<<<<<<< @@ -6251,7 +5759,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; } - /* "rankdata.pyx":464 + /* "rankdata.pyx":426 * idx = ivec[j, i1] * y[idx, i1] = averank * sumranks = 0 # <<<<<<<<<<<<<< @@ -6260,7 +5768,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":465 + /* "rankdata.pyx":427 * y[idx, i1] = averank * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -6273,7 +5781,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj } __pyx_L8:; - /* "rankdata.pyx":466 + /* "rankdata.pyx":428 * sumranks = 0 * dupcount = 0 * old = new # <<<<<<<<<<<<<< @@ -6283,7 +5791,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_v_old = __pyx_v_new; } - /* "rankdata.pyx":467 + /* "rankdata.pyx":429 * dupcount = 0 * old = new * sumranks += (n0 - 1) # <<<<<<<<<<<<<< @@ -6292,38 +5800,38 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj */ __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); - /* "rankdata.pyx":468 + /* "rankdata.pyx":430 * old = new * sumranks += (n0 - 1) * dupcount += 1 # <<<<<<<<<<<<<< * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): */ - __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_18); __pyx_t_18 = 0; - /* "rankdata.pyx":469 + /* "rankdata.pyx":431 * sumranks += (n0 - 1) * dupcount += 1 * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(n0 - dupcount, n0): * idx = ivec[j, i1] */ - __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":470 + /* "rankdata.pyx":432 * dupcount += 1 * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< @@ -6331,17 +5839,17 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj * y[idx, i1] = averank */ __pyx_t_12 = __pyx_v_n0; - __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (__pyx_t_13 = __pyx_t_21; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_j = __pyx_t_13; - /* "rankdata.pyx":471 + /* "rankdata.pyx":433 * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): * idx = ivec[j, i1] # <<<<<<<<<<<<<< @@ -6352,7 +5860,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_t_22 = __pyx_v_i1; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":472 + /* "rankdata.pyx":434 * for j in xrange(n0 - dupcount, n0): * idx = ivec[j, i1] * y[idx, i1] = averank # <<<<<<<<<<<<<< @@ -6365,7 +5873,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj } } - /* "rankdata.pyx":473 + /* "rankdata.pyx":435 * idx = ivec[j, i1] * y[idx, i1] = averank * return y # <<<<<<<<<<<<<< @@ -6377,11 +5885,11 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "rankdata.pyx":431 + /* "rankdata.pyx":393 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int8 along axis=0, dealing with ties." + * def rankdata_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float32 along axis=0, dealing with ties." * cdef dupcount = 0 */ @@ -6395,7 +5903,7 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -6411,27 +5919,27 @@ static PyObject *__pyx_pf_8rankdata_16rankdata_2d_int8_axis0(CYTHON_UNUSED PyObj return __pyx_r; } -/* "rankdata.pyx":477 +/* "rankdata.pyx":439 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int8 along axis=1, dealing with ties." + * def rankdata_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float32 along axis=1, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_19rankdata_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_18rankdata_2d_int8_axis1[] = "rankdata_2d_int8_axis1(ndarray a)\nRanks n2d array with dtype=int8 along axis=1, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_19rankdata_2d_int8_axis1 = {"rankdata_2d_int8_axis1", (PyCFunction)__pyx_pw_8rankdata_19rankdata_2d_int8_axis1, METH_O, __pyx_doc_8rankdata_18rankdata_2d_int8_axis1}; -static PyObject *__pyx_pw_8rankdata_19rankdata_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_17rankdata_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_16rankdata_2d_float32_axis1[] = "rankdata_2d_float32_axis1(ndarray a)\nRanks n2d array with dtype=float32 along axis=1, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_17rankdata_2d_float32_axis1 = {"rankdata_2d_float32_axis1", (PyCFunction)__pyx_pw_8rankdata_17rankdata_2d_float32_axis1, METH_O, __pyx_doc_8rankdata_16rankdata_2d_float32_axis1}; +static PyObject *__pyx_pw_8rankdata_17rankdata_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_int8_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_18rankdata_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("rankdata_2d_float32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_16rankdata_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6442,7 +5950,7 @@ static PyObject *__pyx_pw_8rankdata_19rankdata_2d_int8_axis1(PyObject *__pyx_sel return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_16rankdata_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -6498,7 +6006,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("rankdata_2d_float32_axis1", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -6513,13 +6021,13 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "rankdata.pyx":479 - * def rankdata_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Ranks n2d array with dtype=int8 along axis=1, dealing with ties." + /* "rankdata.pyx":441 + * def rankdata_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Ranks n2d array with dtype=float32 along axis=1, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) @@ -6527,22 +6035,22 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; - /* "rankdata.pyx":481 + /* "rankdata.pyx":443 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 * cdef Py_ssize_t i0, i1 */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 1, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 1, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; } } @@ -6550,7 +6058,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":482 + /* "rankdata.pyx":444 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< @@ -6559,7 +6067,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":485 + /* "rankdata.pyx":447 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6568,7 +6076,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":486 + /* "rankdata.pyx":448 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -6577,7 +6085,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "rankdata.pyx":487 + /* "rankdata.pyx":449 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -6586,7 +6094,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "rankdata.pyx":488 + /* "rankdata.pyx":450 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -6597,22 +6105,22 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":489 + /* "rankdata.pyx":451 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) * if n1 == 0: */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -6620,7 +6128,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":491 + /* "rankdata.pyx":453 * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) * if n1 == 0: # <<<<<<<<<<<<<< @@ -6630,19 +6138,19 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":492 + /* "rankdata.pyx":454 * NPY_float64, 0) * if n1 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y * for i0 in xrange(n0): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":493 + /* "rankdata.pyx":455 * if n1 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< @@ -6655,7 +6163,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj goto __pyx_L0; } - /* "rankdata.pyx":494 + /* "rankdata.pyx":456 * PyArray_FillWithScalar(y, NAN) * return y * for i0 in xrange(n0): # <<<<<<<<<<<<<< @@ -6666,7 +6174,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "rankdata.pyx":495 + /* "rankdata.pyx":457 * return y * for i0 in xrange(n0): * idx = ivec[i0, 0] # <<<<<<<<<<<<<< @@ -6677,7 +6185,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_9 = 0; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":496 + /* "rankdata.pyx":458 * for i0 in xrange(n0): * idx = ivec[i0, 0] * old = a[i0, idx] # <<<<<<<<<<<<<< @@ -6686,9 +6194,9 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_idx; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":497 + /* "rankdata.pyx":459 * idx = ivec[i0, 0] * old = a[i0, idx] * sumranks = 0 # <<<<<<<<<<<<<< @@ -6697,7 +6205,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":498 + /* "rankdata.pyx":460 * old = a[i0, idx] * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -6707,7 +6215,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __Pyx_INCREF(__pyx_int_0); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - /* "rankdata.pyx":499 + /* "rankdata.pyx":461 * sumranks = 0 * dupcount = 0 * for i1 in xrange(n1-1): # <<<<<<<<<<<<<< @@ -6718,7 +6226,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_i1 = __pyx_t_13; - /* "rankdata.pyx":500 + /* "rankdata.pyx":462 * dupcount = 0 * for i1 in xrange(n1-1): * sumranks += i1 # <<<<<<<<<<<<<< @@ -6727,19 +6235,19 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i1); - /* "rankdata.pyx":501 + /* "rankdata.pyx":463 * for i1 in xrange(n1-1): * sumranks += i1 * dupcount += 1 # <<<<<<<<<<<<<< * k = i1 + 1 * idx = ivec[i0, k] */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":502 + /* "rankdata.pyx":464 * sumranks += i1 * dupcount += 1 * k = i1 + 1 # <<<<<<<<<<<<<< @@ -6748,7 +6256,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_k = (__pyx_v_i1 + 1); - /* "rankdata.pyx":503 + /* "rankdata.pyx":465 * dupcount += 1 * k = i1 + 1 * idx = ivec[i0, k] # <<<<<<<<<<<<<< @@ -6759,7 +6267,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_15 = __pyx_v_k; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":504 + /* "rankdata.pyx":466 * k = i1 + 1 * idx = ivec[i0, k] * new = a[i0, idx] # <<<<<<<<<<<<<< @@ -6768,9 +6276,9 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_t_16 = __pyx_v_i0; __pyx_t_17 = __pyx_v_idx; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":505 + /* "rankdata.pyx":467 * idx = ivec[i0, k] * new = a[i0, idx] * if old != new: # <<<<<<<<<<<<<< @@ -6780,26 +6288,26 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":506 + /* "rankdata.pyx":468 * new = a[i0, idx] * if old != new: * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(k - dupcount, k): * idx = ivec[i0, j] */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":507 + /* "rankdata.pyx":469 * if old != new: * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< @@ -6807,17 +6315,17 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj * y[i0, idx] = averank */ __pyx_t_20 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { __pyx_v_j = __pyx_t_22; - /* "rankdata.pyx":508 + /* "rankdata.pyx":470 * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): * idx = ivec[i0, j] # <<<<<<<<<<<<<< @@ -6828,7 +6336,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_24 = __pyx_v_j; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":509 + /* "rankdata.pyx":471 * for j in xrange(k - dupcount, k): * idx = ivec[i0, j] * y[i0, idx] = averank # <<<<<<<<<<<<<< @@ -6840,7 +6348,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; } - /* "rankdata.pyx":510 + /* "rankdata.pyx":472 * idx = ivec[i0, j] * y[i0, idx] = averank * sumranks = 0 # <<<<<<<<<<<<<< @@ -6849,7 +6357,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":511 + /* "rankdata.pyx":473 * y[i0, idx] = averank * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -6862,7 +6370,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj } __pyx_L8:; - /* "rankdata.pyx":512 + /* "rankdata.pyx":474 * sumranks = 0 * dupcount = 0 * old = new # <<<<<<<<<<<<<< @@ -6872,7 +6380,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_v_old = __pyx_v_new; } - /* "rankdata.pyx":513 + /* "rankdata.pyx":475 * dupcount = 0 * old = new * sumranks += (n1 - 1) # <<<<<<<<<<<<<< @@ -6881,38 +6389,38 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj */ __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n1 - 1)); - /* "rankdata.pyx":514 + /* "rankdata.pyx":476 * old = new * sumranks += (n1 - 1) * dupcount += 1 # <<<<<<<<<<<<<< * averank = sumranks / dupcount + 1 * for j in xrange(n1 - dupcount, n1): */ - __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_18); __pyx_t_18 = 0; - /* "rankdata.pyx":515 + /* "rankdata.pyx":477 * sumranks += (n1 - 1) * dupcount += 1 * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(n1 - dupcount, n1): * idx = ivec[i0, j] */ - __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":516 + /* "rankdata.pyx":478 * dupcount += 1 * averank = sumranks / dupcount + 1 * for j in xrange(n1 - dupcount, n1): # <<<<<<<<<<<<<< @@ -6920,17 +6428,17 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj * y[i0, idx] = averank */ __pyx_t_12 = __pyx_v_n1; - __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (__pyx_t_13 = __pyx_t_21; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_j = __pyx_t_13; - /* "rankdata.pyx":517 + /* "rankdata.pyx":479 * averank = sumranks / dupcount + 1 * for j in xrange(n1 - dupcount, n1): * idx = ivec[i0, j] # <<<<<<<<<<<<<< @@ -6941,7 +6449,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_t_22 = __pyx_v_j; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":518 + /* "rankdata.pyx":480 * for j in xrange(n1 - dupcount, n1): * idx = ivec[i0, j] * y[i0, idx] = averank # <<<<<<<<<<<<<< @@ -6954,7 +6462,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj } } - /* "rankdata.pyx":519 + /* "rankdata.pyx":481 * idx = ivec[i0, j] * y[i0, idx] = averank * return y # <<<<<<<<<<<<<< @@ -6966,11 +6474,11 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "rankdata.pyx":477 + /* "rankdata.pyx":439 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int8 along axis=1, dealing with ties." + * def rankdata_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float32 along axis=1, dealing with ties." * cdef dupcount = 0 */ @@ -6984,7 +6492,7 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7000,27 +6508,27 @@ static PyObject *__pyx_pf_8rankdata_18rankdata_2d_int8_axis1(CYTHON_UNUSED PyObj return __pyx_r; } -/* "rankdata.pyx":523 +/* "rankdata.pyx":485 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int32 along axis=0, dealing with ties." + * def rankdata_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float64 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_21rankdata_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_20rankdata_2d_int32_axis0[] = "rankdata_2d_int32_axis0(ndarray a)\nRanks n2d array with dtype=int32 along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_21rankdata_2d_int32_axis0 = {"rankdata_2d_int32_axis0", (PyCFunction)__pyx_pw_8rankdata_21rankdata_2d_int32_axis0, METH_O, __pyx_doc_8rankdata_20rankdata_2d_int32_axis0}; -static PyObject *__pyx_pw_8rankdata_21rankdata_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_19rankdata_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_18rankdata_2d_float64_axis0[] = "rankdata_2d_float64_axis0(ndarray a)\nRanks n2d array with dtype=float64 along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_19rankdata_2d_float64_axis0 = {"rankdata_2d_float64_axis0", (PyCFunction)__pyx_pw_8rankdata_19rankdata_2d_float64_axis0, METH_O, __pyx_doc_8rankdata_18rankdata_2d_float64_axis0}; +static PyObject *__pyx_pw_8rankdata_19rankdata_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_int32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_20rankdata_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("rankdata_2d_float64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_18rankdata_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7031,7 +6539,7 @@ static PyObject *__pyx_pw_8rankdata_21rankdata_2d_int32_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_18rankdata_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -7087,7 +6595,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_2d_float64_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -7102,13 +6610,13 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "rankdata.pyx":525 - * def rankdata_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Ranks n2d array with dtype=int32 along axis=0, dealing with ties." + /* "rankdata.pyx":487 + * def rankdata_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Ranks n2d array with dtype=float64 along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) @@ -7116,22 +6624,22 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; - /* "rankdata.pyx":527 + /* "rankdata.pyx":489 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 * cdef Py_ssize_t i0, i1 */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; } } @@ -7139,7 +6647,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":528 + /* "rankdata.pyx":490 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< @@ -7148,7 +6656,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":531 + /* "rankdata.pyx":493 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7157,7 +6665,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":532 + /* "rankdata.pyx":494 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7166,7 +6674,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "rankdata.pyx":533 + /* "rankdata.pyx":495 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7175,7 +6683,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "rankdata.pyx":534 + /* "rankdata.pyx":496 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -7186,22 +6694,22 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":535 + /* "rankdata.pyx":497 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -7209,7 +6717,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":537 + /* "rankdata.pyx":499 * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< @@ -7219,19 +6727,19 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":538 + /* "rankdata.pyx":500 * NPY_float64, 0) * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y * for i1 in xrange(n1): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":539 + /* "rankdata.pyx":501 * if n0 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< @@ -7244,7 +6752,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "rankdata.pyx":540 + /* "rankdata.pyx":502 * PyArray_FillWithScalar(y, NAN) * return y * for i1 in xrange(n1): # <<<<<<<<<<<<<< @@ -7255,7 +6763,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i1 = __pyx_t_7; - /* "rankdata.pyx":541 + /* "rankdata.pyx":503 * return y * for i1 in xrange(n1): * idx = ivec[0, i1] # <<<<<<<<<<<<<< @@ -7266,7 +6774,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_t_9 = __pyx_v_i1; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":542 + /* "rankdata.pyx":504 * for i1 in xrange(n1): * idx = ivec[0, i1] * old = a[idx, i1] # <<<<<<<<<<<<<< @@ -7275,9 +6783,9 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_t_10 = __pyx_v_idx; __pyx_t_11 = __pyx_v_i1; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":543 + /* "rankdata.pyx":505 * idx = ivec[0, i1] * old = a[idx, i1] * sumranks = 0 # <<<<<<<<<<<<<< @@ -7286,7 +6794,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":544 + /* "rankdata.pyx":506 * old = a[idx, i1] * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -7296,7 +6804,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __Pyx_INCREF(__pyx_int_0); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - /* "rankdata.pyx":545 + /* "rankdata.pyx":507 * sumranks = 0 * dupcount = 0 * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< @@ -7307,7 +6815,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_i0 = __pyx_t_13; - /* "rankdata.pyx":546 + /* "rankdata.pyx":508 * dupcount = 0 * for i0 in xrange(n0-1): * sumranks += i0 # <<<<<<<<<<<<<< @@ -7316,19 +6824,19 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); - /* "rankdata.pyx":547 + /* "rankdata.pyx":509 * for i0 in xrange(n0-1): * sumranks += i0 * dupcount += 1 # <<<<<<<<<<<<<< * k = i0 + 1 * idx = ivec[k, i1] */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":548 + /* "rankdata.pyx":510 * sumranks += i0 * dupcount += 1 * k = i0 + 1 # <<<<<<<<<<<<<< @@ -7337,7 +6845,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_v_k = (__pyx_v_i0 + 1); - /* "rankdata.pyx":549 + /* "rankdata.pyx":511 * dupcount += 1 * k = i0 + 1 * idx = ivec[k, i1] # <<<<<<<<<<<<<< @@ -7348,7 +6856,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_t_15 = __pyx_v_i1; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":550 + /* "rankdata.pyx":512 * k = i0 + 1 * idx = ivec[k, i1] * new = a[idx, i1] # <<<<<<<<<<<<<< @@ -7357,9 +6865,9 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_t_16 = __pyx_v_idx; __pyx_t_17 = __pyx_v_i1; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":551 + /* "rankdata.pyx":513 * idx = ivec[k, i1] * new = a[idx, i1] * if old != new: # <<<<<<<<<<<<<< @@ -7369,26 +6877,26 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":552 + /* "rankdata.pyx":514 * new = a[idx, i1] * if old != new: * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(k - dupcount, k): * idx = ivec[j, i1] */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":553 + /* "rankdata.pyx":515 * if old != new: * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< @@ -7396,17 +6904,17 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb * y[idx, i1] = averank */ __pyx_t_20 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { __pyx_v_j = __pyx_t_22; - /* "rankdata.pyx":554 + /* "rankdata.pyx":516 * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): * idx = ivec[j, i1] # <<<<<<<<<<<<<< @@ -7417,7 +6925,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_t_24 = __pyx_v_i1; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":555 + /* "rankdata.pyx":517 * for j in xrange(k - dupcount, k): * idx = ivec[j, i1] * y[idx, i1] = averank # <<<<<<<<<<<<<< @@ -7429,7 +6937,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; } - /* "rankdata.pyx":556 + /* "rankdata.pyx":518 * idx = ivec[j, i1] * y[idx, i1] = averank * sumranks = 0 # <<<<<<<<<<<<<< @@ -7438,7 +6946,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":557 + /* "rankdata.pyx":519 * y[idx, i1] = averank * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -7451,7 +6959,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb } __pyx_L8:; - /* "rankdata.pyx":558 + /* "rankdata.pyx":520 * sumranks = 0 * dupcount = 0 * old = new # <<<<<<<<<<<<<< @@ -7461,7 +6969,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_v_old = __pyx_v_new; } - /* "rankdata.pyx":559 + /* "rankdata.pyx":521 * dupcount = 0 * old = new * sumranks += (n0 - 1) # <<<<<<<<<<<<<< @@ -7470,38 +6978,38 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); - /* "rankdata.pyx":560 + /* "rankdata.pyx":522 * old = new * sumranks += (n0 - 1) * dupcount += 1 # <<<<<<<<<<<<<< * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): */ - __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_18); __pyx_t_18 = 0; - /* "rankdata.pyx":561 + /* "rankdata.pyx":523 * sumranks += (n0 - 1) * dupcount += 1 * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(n0 - dupcount, n0): * idx = ivec[j, i1] */ - __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":562 + /* "rankdata.pyx":524 * dupcount += 1 * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< @@ -7509,17 +7017,17 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb * y[idx, i1] = averank */ __pyx_t_12 = __pyx_v_n0; - __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (__pyx_t_13 = __pyx_t_21; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_j = __pyx_t_13; - /* "rankdata.pyx":563 + /* "rankdata.pyx":525 * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): * idx = ivec[j, i1] # <<<<<<<<<<<<<< @@ -7530,7 +7038,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_t_22 = __pyx_v_i1; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":564 + /* "rankdata.pyx":526 * for j in xrange(n0 - dupcount, n0): * idx = ivec[j, i1] * y[idx, i1] = averank # <<<<<<<<<<<<<< @@ -7543,7 +7051,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb } } - /* "rankdata.pyx":565 + /* "rankdata.pyx":527 * idx = ivec[j, i1] * y[idx, i1] = averank * return y # <<<<<<<<<<<<<< @@ -7555,11 +7063,11 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "rankdata.pyx":523 + /* "rankdata.pyx":485 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int32 along axis=0, dealing with ties." + * def rankdata_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float64 along axis=0, dealing with ties." * cdef dupcount = 0 */ @@ -7573,7 +7081,7 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -7589,27 +7097,27 @@ static PyObject *__pyx_pf_8rankdata_20rankdata_2d_int32_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "rankdata.pyx":569 +/* "rankdata.pyx":531 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int32 along axis=1, dealing with ties." + * def rankdata_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float64 along axis=1, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_23rankdata_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_22rankdata_2d_int32_axis1[] = "rankdata_2d_int32_axis1(ndarray a)\nRanks n2d array with dtype=int32 along axis=1, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_23rankdata_2d_int32_axis1 = {"rankdata_2d_int32_axis1", (PyCFunction)__pyx_pw_8rankdata_23rankdata_2d_int32_axis1, METH_O, __pyx_doc_8rankdata_22rankdata_2d_int32_axis1}; -static PyObject *__pyx_pw_8rankdata_23rankdata_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_21rankdata_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_20rankdata_2d_float64_axis1[] = "rankdata_2d_float64_axis1(ndarray a)\nRanks n2d array with dtype=float64 along axis=1, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_21rankdata_2d_float64_axis1 = {"rankdata_2d_float64_axis1", (PyCFunction)__pyx_pw_8rankdata_21rankdata_2d_float64_axis1, METH_O, __pyx_doc_8rankdata_20rankdata_2d_float64_axis1}; +static PyObject *__pyx_pw_8rankdata_21rankdata_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_int32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_22rankdata_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("rankdata_2d_float64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_20rankdata_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7620,7 +7128,7 @@ static PyObject *__pyx_pw_8rankdata_23rankdata_2d_int32_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_20rankdata_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -7676,7 +7184,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("rankdata_2d_float64_axis1", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -7691,13 +7199,13 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "rankdata.pyx":571 - * def rankdata_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Ranks n2d array with dtype=int32 along axis=1, dealing with ties." + /* "rankdata.pyx":533 + * def rankdata_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Ranks n2d array with dtype=float64 along axis=1, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) @@ -7705,22 +7213,22 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; - /* "rankdata.pyx":573 + /* "rankdata.pyx":535 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 * cdef Py_ssize_t i0, i1 */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 1, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 1, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; } } @@ -7728,7 +7236,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":574 + /* "rankdata.pyx":536 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< @@ -7737,7 +7245,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":577 + /* "rankdata.pyx":539 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7746,7 +7254,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":578 + /* "rankdata.pyx":540 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -7755,7 +7263,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "rankdata.pyx":579 + /* "rankdata.pyx":541 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -7764,7 +7272,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "rankdata.pyx":580 + /* "rankdata.pyx":542 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< @@ -7775,22 +7283,22 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":581 + /* "rankdata.pyx":543 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0, n1] * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) * if n1 == 0: */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } @@ -7798,7 +7306,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":583 + /* "rankdata.pyx":545 * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) * if n1 == 0: # <<<<<<<<<<<<<< @@ -7808,19 +7316,19 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":584 + /* "rankdata.pyx":546 * NPY_float64, 0) * if n1 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y * for i0 in xrange(n0): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":585 + /* "rankdata.pyx":547 * if n1 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< @@ -7833,7 +7341,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "rankdata.pyx":586 + /* "rankdata.pyx":548 * PyArray_FillWithScalar(y, NAN) * return y * for i0 in xrange(n0): # <<<<<<<<<<<<<< @@ -7844,7 +7352,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i0 = __pyx_t_7; - /* "rankdata.pyx":587 + /* "rankdata.pyx":549 * return y * for i0 in xrange(n0): * idx = ivec[i0, 0] # <<<<<<<<<<<<<< @@ -7855,7 +7363,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_t_9 = 0; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":588 + /* "rankdata.pyx":550 * for i0 in xrange(n0): * idx = ivec[i0, 0] * old = a[i0, idx] # <<<<<<<<<<<<<< @@ -7864,9 +7372,9 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_idx; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":589 + /* "rankdata.pyx":551 * idx = ivec[i0, 0] * old = a[i0, idx] * sumranks = 0 # <<<<<<<<<<<<<< @@ -7875,7 +7383,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":590 + /* "rankdata.pyx":552 * old = a[i0, idx] * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -7885,7 +7393,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __Pyx_INCREF(__pyx_int_0); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - /* "rankdata.pyx":591 + /* "rankdata.pyx":553 * sumranks = 0 * dupcount = 0 * for i1 in xrange(n1-1): # <<<<<<<<<<<<<< @@ -7896,7 +7404,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_i1 = __pyx_t_13; - /* "rankdata.pyx":592 + /* "rankdata.pyx":554 * dupcount = 0 * for i1 in xrange(n1-1): * sumranks += i1 # <<<<<<<<<<<<<< @@ -7905,19 +7413,19 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i1); - /* "rankdata.pyx":593 + /* "rankdata.pyx":555 * for i1 in xrange(n1-1): * sumranks += i1 * dupcount += 1 # <<<<<<<<<<<<<< * k = i1 + 1 * idx = ivec[i0, k] */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":594 + /* "rankdata.pyx":556 * sumranks += i1 * dupcount += 1 * k = i1 + 1 # <<<<<<<<<<<<<< @@ -7926,7 +7434,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_k = (__pyx_v_i1 + 1); - /* "rankdata.pyx":595 + /* "rankdata.pyx":557 * dupcount += 1 * k = i1 + 1 * idx = ivec[i0, k] # <<<<<<<<<<<<<< @@ -7937,7 +7445,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_t_15 = __pyx_v_k; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":596 + /* "rankdata.pyx":558 * k = i1 + 1 * idx = ivec[i0, k] * new = a[i0, idx] # <<<<<<<<<<<<<< @@ -7946,9 +7454,9 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_t_16 = __pyx_v_i0; __pyx_t_17 = __pyx_v_idx; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":597 + /* "rankdata.pyx":559 * idx = ivec[i0, k] * new = a[i0, idx] * if old != new: # <<<<<<<<<<<<<< @@ -7958,26 +7466,26 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":598 + /* "rankdata.pyx":560 * new = a[i0, idx] * if old != new: * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(k - dupcount, k): * idx = ivec[i0, j] */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":599 + /* "rankdata.pyx":561 * if old != new: * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< @@ -7985,17 +7493,17 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb * y[i0, idx] = averank */ __pyx_t_20 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { __pyx_v_j = __pyx_t_22; - /* "rankdata.pyx":600 + /* "rankdata.pyx":562 * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): * idx = ivec[i0, j] # <<<<<<<<<<<<<< @@ -8006,7 +7514,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_t_24 = __pyx_v_j; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":601 + /* "rankdata.pyx":563 * for j in xrange(k - dupcount, k): * idx = ivec[i0, j] * y[i0, idx] = averank # <<<<<<<<<<<<<< @@ -8018,7 +7526,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; } - /* "rankdata.pyx":602 + /* "rankdata.pyx":564 * idx = ivec[i0, j] * y[i0, idx] = averank * sumranks = 0 # <<<<<<<<<<<<<< @@ -8027,7 +7535,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":603 + /* "rankdata.pyx":565 * y[i0, idx] = averank * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -8040,7 +7548,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb } __pyx_L8:; - /* "rankdata.pyx":604 + /* "rankdata.pyx":566 * sumranks = 0 * dupcount = 0 * old = new # <<<<<<<<<<<<<< @@ -8050,7 +7558,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_v_old = __pyx_v_new; } - /* "rankdata.pyx":605 + /* "rankdata.pyx":567 * dupcount = 0 * old = new * sumranks += (n1 - 1) # <<<<<<<<<<<<<< @@ -8059,38 +7567,38 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n1 - 1)); - /* "rankdata.pyx":606 + /* "rankdata.pyx":568 * old = new * sumranks += (n1 - 1) * dupcount += 1 # <<<<<<<<<<<<<< * averank = sumranks / dupcount + 1 * for j in xrange(n1 - dupcount, n1): */ - __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_18); __pyx_t_18 = 0; - /* "rankdata.pyx":607 + /* "rankdata.pyx":569 * sumranks += (n1 - 1) * dupcount += 1 * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(n1 - dupcount, n1): * idx = ivec[i0, j] */ - __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":608 + /* "rankdata.pyx":570 * dupcount += 1 * averank = sumranks / dupcount + 1 * for j in xrange(n1 - dupcount, n1): # <<<<<<<<<<<<<< @@ -8098,17 +7606,17 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb * y[i0, idx] = averank */ __pyx_t_12 = __pyx_v_n1; - __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (__pyx_t_13 = __pyx_t_21; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { __pyx_v_j = __pyx_t_13; - /* "rankdata.pyx":609 + /* "rankdata.pyx":571 * averank = sumranks / dupcount + 1 * for j in xrange(n1 - dupcount, n1): * idx = ivec[i0, j] # <<<<<<<<<<<<<< @@ -8119,7 +7627,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_t_22 = __pyx_v_j; __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":610 + /* "rankdata.pyx":572 * for j in xrange(n1 - dupcount, n1): * idx = ivec[i0, j] * y[i0, idx] = averank # <<<<<<<<<<<<<< @@ -8132,7 +7640,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb } } - /* "rankdata.pyx":611 + /* "rankdata.pyx":573 * idx = ivec[i0, j] * y[i0, idx] = averank * return y # <<<<<<<<<<<<<< @@ -8144,11 +7652,11 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "rankdata.pyx":569 + /* "rankdata.pyx":531 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int32 along axis=1, dealing with ties." + * def rankdata_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float64 along axis=1, dealing with ties." * cdef dupcount = 0 */ @@ -8162,7 +7670,7 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8178,27 +7686,27 @@ static PyObject *__pyx_pf_8rankdata_22rankdata_2d_int32_axis1(CYTHON_UNUSED PyOb return __pyx_r; } -/* "rankdata.pyx":615 +/* "rankdata.pyx":577 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int64 along axis=0, dealing with ties." + * def rankdata_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_25rankdata_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_24rankdata_2d_int64_axis0[] = "rankdata_2d_int64_axis0(ndarray a)\nRanks n2d array with dtype=int64 along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_25rankdata_2d_int64_axis0 = {"rankdata_2d_int64_axis0", (PyCFunction)__pyx_pw_8rankdata_25rankdata_2d_int64_axis0, METH_O, __pyx_doc_8rankdata_24rankdata_2d_int64_axis0}; -static PyObject *__pyx_pw_8rankdata_25rankdata_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_23rankdata_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_22rankdata_1d_int_axis0[] = "rankdata_1d_int_axis0(ndarray a)\nRanks n1d array with dtype=int along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_23rankdata_1d_int_axis0 = {"rankdata_1d_int_axis0", (PyCFunction)__pyx_pw_8rankdata_23rankdata_1d_int_axis0, METH_O, __pyx_doc_8rankdata_22rankdata_1d_int_axis0}; +static PyObject *__pyx_pw_8rankdata_23rankdata_1d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_int64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_24rankdata_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("rankdata_1d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_22rankdata_1d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8209,21 +7717,18 @@ static PyObject *__pyx_pw_8rankdata_25rankdata_2d_int64_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_24rankdata_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_22rankdata_1d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; - Py_ssize_t __pyx_v_idx; PyArrayObject *__pyx_v_ivec = 0; __pyx_t_5numpy_float64_t __pyx_v_old; __pyx_t_5numpy_float64_t __pyx_v_new; __pyx_t_5numpy_float64_t __pyx_v_averank; __pyx_t_5numpy_float64_t __pyx_v_sumranks; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -8236,36 +7741,27 @@ static PyObject *__pyx_pf_8rankdata_24rankdata_2d_int64_axis0(CYTHON_UNUSED PyOb __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[2]; + npy_intp __pyx_t_3[1]; PyArrayObject *__pyx_t_4 = NULL; int __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - long __pyx_t_8; + long __pyx_t_6; + __pyx_t_5numpy_intp_t __pyx_t_7; + Py_ssize_t __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; + __pyx_t_5numpy_intp_t __pyx_t_11; + PyObject *__pyx_t_12 = NULL; + __pyx_t_5numpy_float64_t __pyx_t_13; Py_ssize_t __pyx_t_14; - Py_ssize_t __pyx_t_15; + long __pyx_t_15; Py_ssize_t __pyx_t_16; Py_ssize_t __pyx_t_17; - PyObject *__pyx_t_18 = NULL; - __pyx_t_5numpy_float64_t __pyx_t_19; - Py_ssize_t __pyx_t_20; - long __pyx_t_21; - Py_ssize_t __pyx_t_22; - Py_ssize_t __pyx_t_23; - Py_ssize_t __pyx_t_24; - Py_ssize_t __pyx_t_25; - Py_ssize_t __pyx_t_26; - Py_ssize_t __pyx_t_27; - Py_ssize_t __pyx_t_28; + __pyx_t_5numpy_intp_t __pyx_t_18; + __pyx_t_5numpy_intp_t __pyx_t_19; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_int64_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_1d_int_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -8280,115 +7776,105 @@ static PyObject *__pyx_pf_8rankdata_24rankdata_2d_int64_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "rankdata.pyx":617 - * def rankdata_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Ranks n2d array with dtype=int64 along axis=0, dealing with ties." + /* "rankdata.pyx":579 + * def rankdata_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): + * "Ranks n1d array with dtype=int along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) + * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) */ __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; - /* "rankdata.pyx":619 + /* "rankdata.pyx":581 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":620 + /* "rankdata.pyx":582 * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) + * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":623 - * cdef Py_ssize_t i0, i1 + /* "rankdata.pyx":585 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":624 + /* "rankdata.pyx":586 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "rankdata.pyx":625 + /* "rankdata.pyx":587 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "rankdata.pyx":626 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) */ __pyx_t_3[0] = __pyx_v_n0; - __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":627 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< + /* "rankdata.pyx":588 + * cdef Py_ssize_t n0 = dim[0] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":629 - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, + /* "rankdata.pyx":590 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) @@ -8397,24 +7883,24 @@ static PyObject *__pyx_pf_8rankdata_24rankdata_2d_int64_axis0(CYTHON_UNUSED PyOb __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":630 + /* "rankdata.pyx":591 * NPY_float64, 0) * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y - * for i1 in xrange(n1): + * old = a[ivec[0]] */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":631 + /* "rankdata.pyx":592 * if n0 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< - * for i1 in xrange(n1): - * idx = ivec[0, i1] + * old = a[ivec[0]] + * for i0 in xrange(n0-1): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -8422,308 +7908,725 @@ static PyObject *__pyx_pf_8rankdata_24rankdata_2d_int64_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "rankdata.pyx":632 + /* "rankdata.pyx":593 * PyArray_FillWithScalar(y, NAN) * return y - * for i1 in xrange(n1): # <<<<<<<<<<<<<< - * idx = ivec[0, i1] - * old = a[idx, i1] + * old = a[ivec[0]] # <<<<<<<<<<<<<< + * for i0 in xrange(n0-1): + * sumranks += i0 */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_6 = 0; + __pyx_t_7 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_ivec.diminfo[0].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "rankdata.pyx":633 + /* "rankdata.pyx":594 * return y - * for i1 in xrange(n1): - * idx = ivec[0, i1] # <<<<<<<<<<<<<< - * old = a[idx, i1] - * sumranks = 0 + * old = a[ivec[0]] + * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< + * sumranks += i0 + * dupcount += 1 */ - __pyx_t_8 = 0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); + __pyx_t_8 = (__pyx_v_n0 - 1); + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "rankdata.pyx":634 - * for i1 in xrange(n1): - * idx = ivec[0, i1] - * old = a[idx, i1] # <<<<<<<<<<<<<< - * sumranks = 0 - * dupcount = 0 + /* "rankdata.pyx":595 + * old = a[ivec[0]] + * for i0 in xrange(n0-1): + * sumranks += i0 # <<<<<<<<<<<<<< + * dupcount += 1 + * k = i0 + 1 */ - __pyx_t_10 = __pyx_v_idx; - __pyx_t_11 = __pyx_v_i1; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); - /* "rankdata.pyx":635 - * idx = ivec[0, i1] - * old = a[idx, i1] - * sumranks = 0 # <<<<<<<<<<<<<< - * dupcount = 0 - * for i0 in xrange(n0-1): + /* "rankdata.pyx":596 + * for i0 in xrange(n0-1): + * sumranks += i0 + * dupcount += 1 # <<<<<<<<<<<<<< + * k = i0 + 1 + * new = a[ivec[k]] */ - __pyx_v_sumranks = 0.0; + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); + __pyx_t_1 = 0; - /* "rankdata.pyx":636 - * old = a[idx, i1] - * sumranks = 0 - * dupcount = 0 # <<<<<<<<<<<<<< - * for i0 in xrange(n0-1): - * sumranks += i0 + /* "rankdata.pyx":597 + * sumranks += i0 + * dupcount += 1 + * k = i0 + 1 # <<<<<<<<<<<<<< + * new = a[ivec[k]] + * if old != new: */ - __Pyx_INCREF(__pyx_int_0); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); + __pyx_v_k = (__pyx_v_i0 + 1); - /* "rankdata.pyx":637 - * sumranks = 0 - * dupcount = 0 - * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< - * sumranks += i0 - * dupcount += 1 + /* "rankdata.pyx":598 + * dupcount += 1 + * k = i0 + 1 + * new = a[ivec[k]] # <<<<<<<<<<<<<< + * if old != new: + * averank = sumranks / dupcount + 1 */ - __pyx_t_12 = (__pyx_v_n0 - 1); - for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { - __pyx_v_i0 = __pyx_t_13; + __pyx_t_10 = __pyx_v_k; + __pyx_t_11 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_ivec.diminfo[0].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "rankdata.pyx":638 - * dupcount = 0 - * for i0 in xrange(n0-1): - * sumranks += i0 # <<<<<<<<<<<<<< - * dupcount += 1 - * k = i0 + 1 + /* "rankdata.pyx":599 + * k = i0 + 1 + * new = a[ivec[k]] + * if old != new: # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): */ - __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); + __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); + if (__pyx_t_5) { - /* "rankdata.pyx":639 - * for i0 in xrange(n0-1): - * sumranks += i0 - * dupcount += 1 # <<<<<<<<<<<<<< - * k = i0 + 1 - * idx = ivec[k, i1] + /* "rankdata.pyx":600 + * new = a[ivec[k]] + * if old != new: + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(k - dupcount, k): + * y[ivec[j]] = averank */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); - __pyx_t_1 = 0; - - /* "rankdata.pyx":640 - * sumranks += i0 - * dupcount += 1 - * k = i0 + 1 # <<<<<<<<<<<<<< - * idx = ivec[k, i1] - * new = a[idx, i1] - */ - __pyx_v_k = (__pyx_v_i0 + 1); + __pyx_t_12 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Add(__pyx_t_12, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_averank = __pyx_t_13; - /* "rankdata.pyx":641 - * dupcount += 1 - * k = i0 + 1 - * idx = ivec[k, i1] # <<<<<<<<<<<<<< - * new = a[idx, i1] - * if old != new: + /* "rankdata.pyx":601 + * if old != new: + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< + * y[ivec[j]] = averank + * sumranks = 0 */ __pyx_t_14 = __pyx_v_k; - __pyx_t_15 = __pyx_v_i1; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_12 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_12); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + for (__pyx_t_16 = __pyx_t_15; __pyx_t_16 < __pyx_t_14; __pyx_t_16+=1) { + __pyx_v_j = __pyx_t_16; - /* "rankdata.pyx":642 - * k = i0 + 1 - * idx = ivec[k, i1] - * new = a[idx, i1] # <<<<<<<<<<<<<< - * if old != new: - * averank = sumranks / dupcount + 1 + /* "rankdata.pyx":602 + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): + * y[ivec[j]] = averank # <<<<<<<<<<<<<< + * sumranks = 0 + * dupcount = 0 */ - __pyx_t_16 = __pyx_v_idx; - __pyx_t_17 = __pyx_v_i1; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_ivec.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; + } - /* "rankdata.pyx":643 - * idx = ivec[k, i1] - * new = a[idx, i1] - * if old != new: # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): + /* "rankdata.pyx":603 + * for j in xrange(k - dupcount, k): + * y[ivec[j]] = averank + * sumranks = 0 # <<<<<<<<<<<<<< + * dupcount = 0 + * old = new */ - __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); - if (__pyx_t_5) { + __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":644 - * new = a[idx, i1] - * if old != new: - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(k - dupcount, k): - * idx = ivec[j, i1] + /* "rankdata.pyx":604 + * y[ivec[j]] = averank + * sumranks = 0 + * dupcount = 0 # <<<<<<<<<<<<<< + * old = new + * sumranks += (n0 - 1) */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_averank = __pyx_t_19; + __Pyx_INCREF(__pyx_int_0); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); + goto __pyx_L6; + } + __pyx_L6:; - /* "rankdata.pyx":645 - * if old != new: - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< - * idx = ivec[j, i1] - * y[idx, i1] = averank + /* "rankdata.pyx":605 + * sumranks = 0 + * dupcount = 0 + * old = new # <<<<<<<<<<<<<< + * sumranks += (n0 - 1) + * dupcount += 1 */ - __pyx_t_20 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { - __pyx_v_j = __pyx_t_22; + __pyx_v_old = __pyx_v_new; + } - /* "rankdata.pyx":646 - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): - * idx = ivec[j, i1] # <<<<<<<<<<<<<< - * y[idx, i1] = averank - * sumranks = 0 + /* "rankdata.pyx":606 + * dupcount = 0 + * old = new + * sumranks += (n0 - 1) # <<<<<<<<<<<<<< + * dupcount += 1 + * averank = sumranks / dupcount + 1 */ - __pyx_t_23 = __pyx_v_j; - __pyx_t_24 = __pyx_v_i1; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); + __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); - /* "rankdata.pyx":647 - * for j in xrange(k - dupcount, k): - * idx = ivec[j, i1] - * y[idx, i1] = averank # <<<<<<<<<<<<<< - * sumranks = 0 - * dupcount = 0 + /* "rankdata.pyx":607 + * old = new + * sumranks += (n0 - 1) + * dupcount += 1 # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): */ - __pyx_t_25 = __pyx_v_idx; - __pyx_t_26 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; - } + __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_12); + __pyx_t_12 = 0; - /* "rankdata.pyx":648 - * idx = ivec[j, i1] - * y[idx, i1] = averank - * sumranks = 0 # <<<<<<<<<<<<<< - * dupcount = 0 - * old = new + /* "rankdata.pyx":608 + * sumranks += (n0 - 1) + * dupcount += 1 + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(n0 - dupcount, n0): + * y[ivec[j]] = averank */ - __pyx_v_sumranks = 0.0; - - /* "rankdata.pyx":649 - * y[idx, i1] = averank - * sumranks = 0 - * dupcount = 0 # <<<<<<<<<<<<<< - * old = new - * sumranks += (n0 - 1) + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_v_averank = __pyx_t_13; + + /* "rankdata.pyx":609 + * dupcount += 1 + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< + * y[ivec[j]] = averank + * return y */ - __Pyx_INCREF(__pyx_int_0); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - goto __pyx_L8; - } - __pyx_L8:; + __pyx_t_8 = __pyx_v_n0; + __pyx_t_12 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_1 = PyNumber_Subtract(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + for (__pyx_t_9 = __pyx_t_15; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_j = __pyx_t_9; - /* "rankdata.pyx":650 - * sumranks = 0 - * dupcount = 0 - * old = new # <<<<<<<<<<<<<< - * sumranks += (n0 - 1) - * dupcount += 1 + /* "rankdata.pyx":610 + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): + * y[ivec[j]] = averank # <<<<<<<<<<<<<< + * return y + * */ - __pyx_v_old = __pyx_v_new; + __pyx_t_14 = __pyx_v_j; + __pyx_t_19 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; + } + + /* "rankdata.pyx":611 + * for j in xrange(n0 - dupcount, n0): + * y[ivec[j]] = averank + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + + /* "rankdata.pyx":577 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def rankdata_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int along axis=0, dealing with ties." + * cdef dupcount = 0 + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_12); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("rankdata.rankdata_1d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); + __pyx_L2:; + __Pyx_XDECREF(__pyx_v_dupcount); + __Pyx_XDECREF((PyObject *)__pyx_v_ivec); + __Pyx_XDECREF((PyObject *)__pyx_v_y); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "rankdata.pyx":615 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def rankdata_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int8 along axis=0, dealing with ties." + * cdef dupcount = 0 + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_8rankdata_25rankdata_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_24rankdata_1d_int8_axis0[] = "rankdata_1d_int8_axis0(ndarray a)\nRanks n1d array with dtype=int8 along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_25rankdata_1d_int8_axis0 = {"rankdata_1d_int8_axis0", (PyCFunction)__pyx_pw_8rankdata_25rankdata_1d_int8_axis0, METH_O, __pyx_doc_8rankdata_24rankdata_1d_int8_axis0}; +static PyObject *__pyx_pw_8rankdata_25rankdata_1d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { + CYTHON_UNUSED int __pyx_lineno = 0; + CYTHON_UNUSED const char *__pyx_filename = NULL; + CYTHON_UNUSED int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("rankdata_1d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_24rankdata_1d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_8rankdata_24rankdata_1d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + PyObject *__pyx_v_dupcount = 0; + Py_ssize_t __pyx_v_j; + Py_ssize_t __pyx_v_k; + PyArrayObject *__pyx_v_ivec = 0; + __pyx_t_5numpy_float64_t __pyx_v_old; + __pyx_t_5numpy_float64_t __pyx_v_new; + __pyx_t_5numpy_float64_t __pyx_v_averank; + __pyx_t_5numpy_float64_t __pyx_v_sumranks; + Py_ssize_t __pyx_v_i0; + npy_intp *__pyx_v_dim; + Py_ssize_t __pyx_v_n0; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; + __Pyx_LocalBuf_ND __pyx_pybuffernd_a; + __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_ivec; + __Pyx_Buffer __pyx_pybuffer_ivec; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyArrayObject *__pyx_t_2 = NULL; + npy_intp __pyx_t_3[1]; + PyArrayObject *__pyx_t_4 = NULL; + int __pyx_t_5; + long __pyx_t_6; + __pyx_t_5numpy_intp_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + __pyx_t_5numpy_intp_t __pyx_t_11; + PyObject *__pyx_t_12 = NULL; + __pyx_t_5numpy_float64_t __pyx_t_13; + Py_ssize_t __pyx_t_14; + long __pyx_t_15; + Py_ssize_t __pyx_t_16; + Py_ssize_t __pyx_t_17; + __pyx_t_5numpy_intp_t __pyx_t_18; + __pyx_t_5numpy_intp_t __pyx_t_19; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("rankdata_1d_int8_axis0", 0); + __pyx_pybuffer_ivec.pybuffer.buf = NULL; + __pyx_pybuffer_ivec.refcount = 0; + __pyx_pybuffernd_ivec.data = NULL; + __pyx_pybuffernd_ivec.rcbuffer = &__pyx_pybuffer_ivec; + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __pyx_pybuffer_a.pybuffer.buf = NULL; + __pyx_pybuffer_a.refcount = 0; + __pyx_pybuffernd_a.data = NULL; + __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + + /* "rankdata.pyx":617 + * def rankdata_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): + * "Ranks n1d array with dtype=int8 along axis=0, dealing with ties." + * cdef dupcount = 0 # <<<<<<<<<<<<<< + * cdef Py_ssize_t j, k, idx + * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) + */ + __Pyx_INCREF(__pyx_int_0); + __pyx_v_dupcount = __pyx_int_0; + + /* "rankdata.pyx":619 + * cdef dupcount = 0 + * cdef Py_ssize_t j, k, idx + * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< + * cdef np.float64_t old, new, averank, sumranks = 0 + * cdef Py_ssize_t i0 + */ + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; } + } + __pyx_t_2 = 0; + __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; - /* "rankdata.pyx":651 - * dupcount = 0 - * old = new - * sumranks += (n0 - 1) # <<<<<<<<<<<<<< - * dupcount += 1 - * averank = sumranks / dupcount + 1 + /* "rankdata.pyx":620 + * cdef Py_ssize_t j, k, idx + * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) + * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 + * cdef np.npy_intp *dim */ - __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); + __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":652 - * old = new - * sumranks += (n0 - 1) - * dupcount += 1 # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): + /* "rankdata.pyx":623 + * cdef Py_ssize_t i0 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< + * cdef Py_ssize_t n0 = dim[0] + * cdef np.npy_intp *dims = [n0] */ - __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_18); - __pyx_t_18 = 0; + __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":653 - * sumranks += (n0 - 1) - * dupcount += 1 - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(n0 - dupcount, n0): - * idx = ivec[j, i1] + /* "rankdata.pyx":624 + * cdef np.npy_intp *dim + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_n0 = (__pyx_v_dim[0]); + + /* "rankdata.pyx":625 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + */ + __pyx_t_3[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_3; + + /* "rankdata.pyx":626 + * cdef Py_ssize_t n0 = dim[0] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) + * if n0 == 0: + */ + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_4 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "rankdata.pyx":628 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) + * if n0 == 0: # <<<<<<<<<<<<<< + * PyArray_FillWithScalar(y, NAN) + * return y + */ + __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); + if (__pyx_t_5) { + + /* "rankdata.pyx":629 + * NPY_float64, 0) + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< + * return y + * old = a[ivec[0]] + */ + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); + PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":654 + /* "rankdata.pyx":630 + * if n0 == 0: + * PyArray_FillWithScalar(y, NAN) + * return y # <<<<<<<<<<<<<< + * old = a[ivec[0]] + * for i0 in xrange(n0-1): + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); + goto __pyx_L0; + } + + /* "rankdata.pyx":631 + * PyArray_FillWithScalar(y, NAN) + * return y + * old = a[ivec[0]] # <<<<<<<<<<<<<< + * for i0 in xrange(n0-1): + * sumranks += i0 + */ + __pyx_t_6 = 0; + __pyx_t_7 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_ivec.diminfo[0].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); + + /* "rankdata.pyx":632 + * return y + * old = a[ivec[0]] + * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< + * sumranks += i0 * dupcount += 1 - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< - * idx = ivec[j, i1] - * y[idx, i1] = averank */ - __pyx_t_12 = __pyx_v_n0; - __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = (__pyx_v_n0 - 1); + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; + + /* "rankdata.pyx":633 + * old = a[ivec[0]] + * for i0 in xrange(n0-1): + * sumranks += i0 # <<<<<<<<<<<<<< + * dupcount += 1 + * k = i0 + 1 + */ + __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); + + /* "rankdata.pyx":634 + * for i0 in xrange(n0-1): + * sumranks += i0 + * dupcount += 1 # <<<<<<<<<<<<<< + * k = i0 + 1 + * new = a[ivec[k]] + */ + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (__pyx_t_13 = __pyx_t_21; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { - __pyx_v_j = __pyx_t_13; + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); + __pyx_t_1 = 0; - /* "rankdata.pyx":655 - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): - * idx = ivec[j, i1] # <<<<<<<<<<<<<< - * y[idx, i1] = averank + /* "rankdata.pyx":635 + * sumranks += i0 + * dupcount += 1 + * k = i0 + 1 # <<<<<<<<<<<<<< + * new = a[ivec[k]] + * if old != new: + */ + __pyx_v_k = (__pyx_v_i0 + 1); + + /* "rankdata.pyx":636 + * dupcount += 1 + * k = i0 + 1 + * new = a[ivec[k]] # <<<<<<<<<<<<<< + * if old != new: + * averank = sumranks / dupcount + 1 + */ + __pyx_t_10 = __pyx_v_k; + __pyx_t_11 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_ivec.diminfo[0].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); + + /* "rankdata.pyx":637 + * k = i0 + 1 + * new = a[ivec[k]] + * if old != new: # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): + */ + __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); + if (__pyx_t_5) { + + /* "rankdata.pyx":638 + * new = a[ivec[k]] + * if old != new: + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(k - dupcount, k): + * y[ivec[j]] = averank + */ + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_12 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Add(__pyx_t_12, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_averank = __pyx_t_13; + + /* "rankdata.pyx":639 + * if old != new: + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< + * y[ivec[j]] = averank + * sumranks = 0 + */ + __pyx_t_14 = __pyx_v_k; + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_12 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_12); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + for (__pyx_t_16 = __pyx_t_15; __pyx_t_16 < __pyx_t_14; __pyx_t_16+=1) { + __pyx_v_j = __pyx_t_16; + + /* "rankdata.pyx":640 + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): + * y[ivec[j]] = averank # <<<<<<<<<<<<<< + * sumranks = 0 + * dupcount = 0 + */ + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_ivec.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; + } + + /* "rankdata.pyx":641 + * for j in xrange(k - dupcount, k): + * y[ivec[j]] = averank + * sumranks = 0 # <<<<<<<<<<<<<< + * dupcount = 0 + * old = new + */ + __pyx_v_sumranks = 0.0; + + /* "rankdata.pyx":642 + * y[ivec[j]] = averank + * sumranks = 0 + * dupcount = 0 # <<<<<<<<<<<<<< + * old = new + * sumranks += (n0 - 1) + */ + __Pyx_INCREF(__pyx_int_0); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); + goto __pyx_L6; + } + __pyx_L6:; + + /* "rankdata.pyx":643 + * sumranks = 0 + * dupcount = 0 + * old = new # <<<<<<<<<<<<<< + * sumranks += (n0 - 1) + * dupcount += 1 + */ + __pyx_v_old = __pyx_v_new; + } + + /* "rankdata.pyx":644 + * dupcount = 0 + * old = new + * sumranks += (n0 - 1) # <<<<<<<<<<<<<< + * dupcount += 1 + * averank = sumranks / dupcount + 1 + */ + __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); + + /* "rankdata.pyx":645 + * old = new + * sumranks += (n0 - 1) + * dupcount += 1 # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): + */ + __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_12); + __pyx_t_12 = 0; + + /* "rankdata.pyx":646 + * sumranks += (n0 - 1) + * dupcount += 1 + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(n0 - dupcount, n0): + * y[ivec[j]] = averank + */ + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_v_averank = __pyx_t_13; + + /* "rankdata.pyx":647 + * dupcount += 1 + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< + * y[ivec[j]] = averank * return y */ - __pyx_t_20 = __pyx_v_j; - __pyx_t_22 = __pyx_v_i1; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_ivec.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_n0; + __pyx_t_12 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_1 = PyNumber_Subtract(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + for (__pyx_t_9 = __pyx_t_15; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_j = __pyx_t_9; - /* "rankdata.pyx":656 - * for j in xrange(n0 - dupcount, n0): - * idx = ivec[j, i1] - * y[idx, i1] = averank # <<<<<<<<<<<<<< + /* "rankdata.pyx":648 + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): + * y[ivec[j]] = averank # <<<<<<<<<<<<<< * return y * */ - __pyx_t_27 = __pyx_v_idx; - __pyx_t_28 = __pyx_v_i1; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; - } + __pyx_t_14 = __pyx_v_j; + __pyx_t_19 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; } - /* "rankdata.pyx":657 - * idx = ivec[j, i1] - * y[idx, i1] = averank + /* "rankdata.pyx":649 + * for j in xrange(n0 - dupcount, n0): + * y[ivec[j]] = averank * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -8736,22 +8639,22 @@ static PyObject *__pyx_pf_8rankdata_24rankdata_2d_int64_axis0(CYTHON_UNUSED PyOb /* "rankdata.pyx":615 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int64 along axis=0, dealing with ties." + * def rankdata_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int8 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_1d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -8767,27 +8670,27 @@ static PyObject *__pyx_pf_8rankdata_24rankdata_2d_int64_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "rankdata.pyx":661 +/* "rankdata.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int64 along axis=1, dealing with ties." + * def rankdata_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int32 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_27rankdata_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_26rankdata_2d_int64_axis1[] = "rankdata_2d_int64_axis1(ndarray a)\nRanks n2d array with dtype=int64 along axis=1, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_27rankdata_2d_int64_axis1 = {"rankdata_2d_int64_axis1", (PyCFunction)__pyx_pw_8rankdata_27rankdata_2d_int64_axis1, METH_O, __pyx_doc_8rankdata_26rankdata_2d_int64_axis1}; -static PyObject *__pyx_pw_8rankdata_27rankdata_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_27rankdata_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_26rankdata_1d_int32_axis0[] = "rankdata_1d_int32_axis0(ndarray a)\nRanks n1d array with dtype=int32 along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_27rankdata_1d_int32_axis0 = {"rankdata_1d_int32_axis0", (PyCFunction)__pyx_pw_8rankdata_27rankdata_1d_int32_axis0, METH_O, __pyx_doc_8rankdata_26rankdata_1d_int32_axis0}; +static PyObject *__pyx_pw_8rankdata_27rankdata_1d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_26rankdata_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("rankdata_1d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_26rankdata_1d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8798,21 +8701,18 @@ static PyObject *__pyx_pw_8rankdata_27rankdata_2d_int64_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_26rankdata_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_26rankdata_1d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; - Py_ssize_t __pyx_v_idx; PyArrayObject *__pyx_v_ivec = 0; __pyx_t_5numpy_float64_t __pyx_v_old; __pyx_t_5numpy_float64_t __pyx_v_new; __pyx_t_5numpy_float64_t __pyx_v_averank; __pyx_t_5numpy_float64_t __pyx_v_sumranks; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -8825,36 +8725,27 @@ static PyObject *__pyx_pf_8rankdata_26rankdata_2d_int64_axis1(CYTHON_UNUSED PyOb __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[2]; + npy_intp __pyx_t_3[1]; PyArrayObject *__pyx_t_4 = NULL; int __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; + long __pyx_t_6; + __pyx_t_5numpy_intp_t __pyx_t_7; Py_ssize_t __pyx_t_8; - long __pyx_t_9; + Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - Py_ssize_t __pyx_t_11; - Py_ssize_t __pyx_t_12; - Py_ssize_t __pyx_t_13; + __pyx_t_5numpy_intp_t __pyx_t_11; + PyObject *__pyx_t_12 = NULL; + __pyx_t_5numpy_float64_t __pyx_t_13; Py_ssize_t __pyx_t_14; - Py_ssize_t __pyx_t_15; + long __pyx_t_15; Py_ssize_t __pyx_t_16; Py_ssize_t __pyx_t_17; - PyObject *__pyx_t_18 = NULL; - __pyx_t_5numpy_float64_t __pyx_t_19; - Py_ssize_t __pyx_t_20; - long __pyx_t_21; - Py_ssize_t __pyx_t_22; - Py_ssize_t __pyx_t_23; - Py_ssize_t __pyx_t_24; - Py_ssize_t __pyx_t_25; - Py_ssize_t __pyx_t_26; - Py_ssize_t __pyx_t_27; - Py_ssize_t __pyx_t_28; + __pyx_t_5numpy_intp_t __pyx_t_18; + __pyx_t_5numpy_intp_t __pyx_t_19; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_int64_axis1", 0); + __Pyx_RefNannySetupContext("rankdata_1d_int32_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -8869,141 +8760,131 @@ static PyObject *__pyx_pf_8rankdata_26rankdata_2d_int64_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "rankdata.pyx":663 - * def rankdata_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Ranks n2d array with dtype=int64 along axis=1, dealing with ties." + /* "rankdata.pyx":655 + * def rankdata_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): + * "Ranks n1d array with dtype=int32 along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) + * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) */ __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; - /* "rankdata.pyx":665 + /* "rankdata.pyx":657 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 1, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; } } __pyx_t_2 = 0; __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":666 + /* "rankdata.pyx":658 * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) + * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":669 - * cdef Py_ssize_t i0, i1 + /* "rankdata.pyx":661 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":670 + /* "rankdata.pyx":662 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "rankdata.pyx":671 + /* "rankdata.pyx":663 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "rankdata.pyx":672 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) */ __pyx_t_3[0] = __pyx_v_n0; - __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":673 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0, n1] - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< + /* "rankdata.pyx":664 + * cdef Py_ssize_t n0 = dim[0] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) - * if n1 == 0: + * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":675 - * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, + /* "rankdata.pyx":666 + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) - * if n1 == 0: # <<<<<<<<<<<<<< + * if n0 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y */ - __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); + __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":676 + /* "rankdata.pyx":667 * NPY_float64, 0) - * if n1 == 0: + * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y - * for i0 in xrange(n0): + * old = a[ivec[0]] */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":677 - * if n1 == 0: + /* "rankdata.pyx":668 + * if n0 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< - * for i0 in xrange(n0): - * idx = ivec[i0, 0] + * old = a[ivec[0]] + * for i0 in xrange(n0-1): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -9011,308 +8892,233 @@ static PyObject *__pyx_pf_8rankdata_26rankdata_2d_int64_axis1(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "rankdata.pyx":678 + /* "rankdata.pyx":669 * PyArray_FillWithScalar(y, NAN) * return y - * for i0 in xrange(n0): # <<<<<<<<<<<<<< - * idx = ivec[i0, 0] - * old = a[i0, idx] + * old = a[ivec[0]] # <<<<<<<<<<<<<< + * for i0 in xrange(n0-1): + * sumranks += i0 */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_6 = 0; + __pyx_t_7 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_ivec.diminfo[0].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "rankdata.pyx":679 + /* "rankdata.pyx":670 * return y - * for i0 in xrange(n0): - * idx = ivec[i0, 0] # <<<<<<<<<<<<<< - * old = a[i0, idx] - * sumranks = 0 + * old = a[ivec[0]] + * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< + * sumranks += i0 + * dupcount += 1 */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = 0; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); + __pyx_t_8 = (__pyx_v_n0 - 1); + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_i0 = __pyx_t_9; - /* "rankdata.pyx":680 - * for i0 in xrange(n0): - * idx = ivec[i0, 0] - * old = a[i0, idx] # <<<<<<<<<<<<<< - * sumranks = 0 - * dupcount = 0 + /* "rankdata.pyx":671 + * old = a[ivec[0]] + * for i0 in xrange(n0-1): + * sumranks += i0 # <<<<<<<<<<<<<< + * dupcount += 1 + * k = i0 + 1 */ - __pyx_t_10 = __pyx_v_i0; - __pyx_t_11 = __pyx_v_idx; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); - /* "rankdata.pyx":681 - * idx = ivec[i0, 0] - * old = a[i0, idx] - * sumranks = 0 # <<<<<<<<<<<<<< - * dupcount = 0 - * for i1 in xrange(n1-1): + /* "rankdata.pyx":672 + * for i0 in xrange(n0-1): + * sumranks += i0 + * dupcount += 1 # <<<<<<<<<<<<<< + * k = i0 + 1 + * new = a[ivec[k]] */ - __pyx_v_sumranks = 0.0; + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); + __pyx_t_1 = 0; - /* "rankdata.pyx":682 - * old = a[i0, idx] - * sumranks = 0 - * dupcount = 0 # <<<<<<<<<<<<<< - * for i1 in xrange(n1-1): - * sumranks += i1 + /* "rankdata.pyx":673 + * sumranks += i0 + * dupcount += 1 + * k = i0 + 1 # <<<<<<<<<<<<<< + * new = a[ivec[k]] + * if old != new: */ - __Pyx_INCREF(__pyx_int_0); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); + __pyx_v_k = (__pyx_v_i0 + 1); - /* "rankdata.pyx":683 - * sumranks = 0 - * dupcount = 0 - * for i1 in xrange(n1-1): # <<<<<<<<<<<<<< - * sumranks += i1 - * dupcount += 1 + /* "rankdata.pyx":674 + * dupcount += 1 + * k = i0 + 1 + * new = a[ivec[k]] # <<<<<<<<<<<<<< + * if old != new: + * averank = sumranks / dupcount + 1 */ - __pyx_t_12 = (__pyx_v_n1 - 1); - for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { - __pyx_v_i1 = __pyx_t_13; + __pyx_t_10 = __pyx_v_k; + __pyx_t_11 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_ivec.diminfo[0].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "rankdata.pyx":684 - * dupcount = 0 - * for i1 in xrange(n1-1): - * sumranks += i1 # <<<<<<<<<<<<<< - * dupcount += 1 - * k = i1 + 1 + /* "rankdata.pyx":675 + * k = i0 + 1 + * new = a[ivec[k]] + * if old != new: # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): */ - __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i1); + __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); + if (__pyx_t_5) { - /* "rankdata.pyx":685 - * for i1 in xrange(n1-1): - * sumranks += i1 - * dupcount += 1 # <<<<<<<<<<<<<< - * k = i1 + 1 - * idx = ivec[i0, k] + /* "rankdata.pyx":676 + * new = a[ivec[k]] + * if old != new: + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(k - dupcount, k): + * y[ivec[j]] = averank */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); - __pyx_t_1 = 0; - - /* "rankdata.pyx":686 - * sumranks += i1 - * dupcount += 1 - * k = i1 + 1 # <<<<<<<<<<<<<< - * idx = ivec[i0, k] - * new = a[i0, idx] - */ - __pyx_v_k = (__pyx_v_i1 + 1); - - /* "rankdata.pyx":687 - * dupcount += 1 - * k = i1 + 1 - * idx = ivec[i0, k] # <<<<<<<<<<<<<< - * new = a[i0, idx] - * if old != new: - */ - __pyx_t_14 = __pyx_v_i0; - __pyx_t_15 = __pyx_v_k; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); - - /* "rankdata.pyx":688 - * k = i1 + 1 - * idx = ivec[i0, k] - * new = a[i0, idx] # <<<<<<<<<<<<<< - * if old != new: - * averank = sumranks / dupcount + 1 - */ - __pyx_t_16 = __pyx_v_i0; - __pyx_t_17 = __pyx_v_idx; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "rankdata.pyx":689 - * idx = ivec[i0, k] - * new = a[i0, idx] - * if old != new: # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): - */ - __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); - if (__pyx_t_5) { - - /* "rankdata.pyx":690 - * new = a[i0, idx] - * if old != new: - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(k - dupcount, k): - * idx = ivec[i0, j] - */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_averank = __pyx_t_19; - - /* "rankdata.pyx":691 - * if old != new: - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< - * idx = ivec[i0, j] - * y[i0, idx] = averank - */ - __pyx_t_20 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { - __pyx_v_j = __pyx_t_22; - - /* "rankdata.pyx":692 - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): - * idx = ivec[i0, j] # <<<<<<<<<<<<<< - * y[i0, idx] = averank - * sumranks = 0 - */ - __pyx_t_23 = __pyx_v_i0; - __pyx_t_24 = __pyx_v_j; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); + __pyx_t_12 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Add(__pyx_t_12, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_averank = __pyx_t_13; - /* "rankdata.pyx":693 - * for j in xrange(k - dupcount, k): - * idx = ivec[i0, j] - * y[i0, idx] = averank # <<<<<<<<<<<<<< - * sumranks = 0 - * dupcount = 0 + /* "rankdata.pyx":677 + * if old != new: + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< + * y[ivec[j]] = averank + * sumranks = 0 */ - __pyx_t_25 = __pyx_v_i0; - __pyx_t_26 = __pyx_v_idx; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; - } + __pyx_t_14 = __pyx_v_k; + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_12 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_12); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + for (__pyx_t_16 = __pyx_t_15; __pyx_t_16 < __pyx_t_14; __pyx_t_16+=1) { + __pyx_v_j = __pyx_t_16; - /* "rankdata.pyx":694 - * idx = ivec[i0, j] - * y[i0, idx] = averank - * sumranks = 0 # <<<<<<<<<<<<<< - * dupcount = 0 - * old = new + /* "rankdata.pyx":678 + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): + * y[ivec[j]] = averank # <<<<<<<<<<<<<< + * sumranks = 0 + * dupcount = 0 */ - __pyx_v_sumranks = 0.0; + __pyx_t_17 = __pyx_v_j; + __pyx_t_18 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_ivec.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; + } - /* "rankdata.pyx":695 - * y[i0, idx] = averank - * sumranks = 0 - * dupcount = 0 # <<<<<<<<<<<<<< - * old = new - * sumranks += (n1 - 1) + /* "rankdata.pyx":679 + * for j in xrange(k - dupcount, k): + * y[ivec[j]] = averank + * sumranks = 0 # <<<<<<<<<<<<<< + * dupcount = 0 + * old = new */ - __Pyx_INCREF(__pyx_int_0); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - goto __pyx_L8; - } - __pyx_L8:; + __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":696 - * sumranks = 0 - * dupcount = 0 - * old = new # <<<<<<<<<<<<<< - * sumranks += (n1 - 1) - * dupcount += 1 + /* "rankdata.pyx":680 + * y[ivec[j]] = averank + * sumranks = 0 + * dupcount = 0 # <<<<<<<<<<<<<< + * old = new + * sumranks += (n0 - 1) */ - __pyx_v_old = __pyx_v_new; + __Pyx_INCREF(__pyx_int_0); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); + goto __pyx_L6; } + __pyx_L6:; - /* "rankdata.pyx":697 - * dupcount = 0 - * old = new - * sumranks += (n1 - 1) # <<<<<<<<<<<<<< - * dupcount += 1 - * averank = sumranks / dupcount + 1 + /* "rankdata.pyx":681 + * sumranks = 0 + * dupcount = 0 + * old = new # <<<<<<<<<<<<<< + * sumranks += (n0 - 1) + * dupcount += 1 */ - __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n1 - 1)); + __pyx_v_old = __pyx_v_new; + } - /* "rankdata.pyx":698 - * old = new - * sumranks += (n1 - 1) - * dupcount += 1 # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(n1 - dupcount, n1): + /* "rankdata.pyx":682 + * dupcount = 0 + * old = new + * sumranks += (n0 - 1) # <<<<<<<<<<<<<< + * dupcount += 1 + * averank = sumranks / dupcount + 1 */ - __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_18); - __pyx_t_18 = 0; + __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); - /* "rankdata.pyx":699 - * sumranks += (n1 - 1) - * dupcount += 1 - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(n1 - dupcount, n1): - * idx = ivec[i0, j] + /* "rankdata.pyx":683 + * old = new + * sumranks += (n0 - 1) + * dupcount += 1 # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): */ - __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_v_averank = __pyx_t_19; + __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_12); + __pyx_t_12 = 0; - /* "rankdata.pyx":700 - * dupcount += 1 - * averank = sumranks / dupcount + 1 - * for j in xrange(n1 - dupcount, n1): # <<<<<<<<<<<<<< - * idx = ivec[i0, j] - * y[i0, idx] = averank + /* "rankdata.pyx":684 + * sumranks += (n0 - 1) + * dupcount += 1 + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(n0 - dupcount, n0): + * y[ivec[j]] = averank */ - __pyx_t_12 = __pyx_v_n1; - __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (__pyx_t_13 = __pyx_t_21; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { - __pyx_v_j = __pyx_t_13; + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_v_averank = __pyx_t_13; - /* "rankdata.pyx":701 - * averank = sumranks / dupcount + 1 - * for j in xrange(n1 - dupcount, n1): - * idx = ivec[i0, j] # <<<<<<<<<<<<<< - * y[i0, idx] = averank + /* "rankdata.pyx":685 + * dupcount += 1 + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< + * y[ivec[j]] = averank * return y */ - __pyx_t_20 = __pyx_v_i0; - __pyx_t_22 = __pyx_v_j; - __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_ivec.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_n0; + __pyx_t_12 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_1 = PyNumber_Subtract(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + for (__pyx_t_9 = __pyx_t_15; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { + __pyx_v_j = __pyx_t_9; - /* "rankdata.pyx":702 - * for j in xrange(n1 - dupcount, n1): - * idx = ivec[i0, j] - * y[i0, idx] = averank # <<<<<<<<<<<<<< + /* "rankdata.pyx":686 + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): + * y[ivec[j]] = averank # <<<<<<<<<<<<<< * return y * */ - __pyx_t_27 = __pyx_v_i0; - __pyx_t_28 = __pyx_v_idx; - *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; - } + __pyx_t_14 = __pyx_v_j; + __pyx_t_19 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides)); + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; } - /* "rankdata.pyx":703 - * idx = ivec[i0, j] - * y[i0, idx] = averank + /* "rankdata.pyx":687 + * for j in xrange(n0 - dupcount, n0): + * y[ivec[j]] = averank * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -9322,25 +9128,25 @@ static PyObject *__pyx_pf_8rankdata_26rankdata_2d_int64_axis1(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "rankdata.pyx":661 + /* "rankdata.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int64 along axis=1, dealing with ties." + * def rankdata_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int32 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_1d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9356,27 +9162,27 @@ static PyObject *__pyx_pf_8rankdata_26rankdata_2d_int64_axis1(CYTHON_UNUSED PyOb return __pyx_r; } -/* "rankdata.pyx":707 +/* "rankdata.pyx":691 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float along axis=0, dealing with ties." + * def rankdata_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int64 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_29rankdata_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_28rankdata_1d_float_axis0[] = "rankdata_1d_float_axis0(ndarray a)\nRanks n1d array with dtype=float along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_29rankdata_1d_float_axis0 = {"rankdata_1d_float_axis0", (PyCFunction)__pyx_pw_8rankdata_29rankdata_1d_float_axis0, METH_O, __pyx_doc_8rankdata_28rankdata_1d_float_axis0}; -static PyObject *__pyx_pw_8rankdata_29rankdata_1d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_29rankdata_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_28rankdata_1d_int64_axis0[] = "rankdata_1d_int64_axis0(ndarray a)\nRanks n1d array with dtype=int64 along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_29rankdata_1d_int64_axis0 = {"rankdata_1d_int64_axis0", (PyCFunction)__pyx_pw_8rankdata_29rankdata_1d_int64_axis0, METH_O, __pyx_doc_8rankdata_28rankdata_1d_int64_axis0}; +static PyObject *__pyx_pw_8rankdata_29rankdata_1d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_1d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_28rankdata_1d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("rankdata_1d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_28rankdata_1d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9387,7 +9193,7 @@ static PyObject *__pyx_pw_8rankdata_29rankdata_1d_float_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_28rankdata_1d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -9431,7 +9237,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_1d_float_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_1d_int64_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -9446,13 +9252,13 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "rankdata.pyx":709 - * def rankdata_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): - * "Ranks n1d array with dtype=float along axis=0, dealing with ties." + /* "rankdata.pyx":693 + * def rankdata_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): + * "Ranks n1d array with dtype=int64 along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) @@ -9460,22 +9266,22 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; - /* "rankdata.pyx":711 + /* "rankdata.pyx":695 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 * cdef Py_ssize_t i0 */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; } } @@ -9483,7 +9289,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":712 + /* "rankdata.pyx":696 * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< @@ -9492,7 +9298,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":715 + /* "rankdata.pyx":699 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -9501,7 +9307,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":716 + /* "rankdata.pyx":700 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -9510,7 +9316,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "rankdata.pyx":717 + /* "rankdata.pyx":701 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< @@ -9520,22 +9326,22 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_3[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":718 + /* "rankdata.pyx":702 * cdef Py_ssize_t n0 = dim[0] * cdef np.npy_intp *dims = [n0] * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; } } @@ -9543,7 +9349,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":720 + /* "rankdata.pyx":704 * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< @@ -9553,19 +9359,19 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":721 + /* "rankdata.pyx":705 * NPY_float64, 0) * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y * old = a[ivec[0]] */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":722 + /* "rankdata.pyx":706 * if n0 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< @@ -9578,7 +9384,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; } - /* "rankdata.pyx":723 + /* "rankdata.pyx":707 * PyArray_FillWithScalar(y, NAN) * return y * old = a[ivec[0]] # <<<<<<<<<<<<<< @@ -9587,9 +9393,9 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_t_6 = 0; __pyx_t_7 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "rankdata.pyx":724 + /* "rankdata.pyx":708 * return y * old = a[ivec[0]] * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< @@ -9600,7 +9406,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_i0 = __pyx_t_9; - /* "rankdata.pyx":725 + /* "rankdata.pyx":709 * old = a[ivec[0]] * for i0 in xrange(n0-1): * sumranks += i0 # <<<<<<<<<<<<<< @@ -9609,19 +9415,19 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); - /* "rankdata.pyx":726 + /* "rankdata.pyx":710 * for i0 in xrange(n0-1): * sumranks += i0 * dupcount += 1 # <<<<<<<<<<<<<< * k = i0 + 1 * new = a[ivec[k]] */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":727 + /* "rankdata.pyx":711 * sumranks += i0 * dupcount += 1 * k = i0 + 1 # <<<<<<<<<<<<<< @@ -9630,7 +9436,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_v_k = (__pyx_v_i0 + 1); - /* "rankdata.pyx":728 + /* "rankdata.pyx":712 * dupcount += 1 * k = i0 + 1 * new = a[ivec[k]] # <<<<<<<<<<<<<< @@ -9639,9 +9445,9 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_t_10 = __pyx_v_k; __pyx_t_11 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "rankdata.pyx":729 + /* "rankdata.pyx":713 * k = i0 + 1 * new = a[ivec[k]] * if old != new: # <<<<<<<<<<<<<< @@ -9651,26 +9457,26 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":730 + /* "rankdata.pyx":714 * new = a[ivec[k]] * if old != new: * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(k - dupcount, k): * y[ivec[j]] = averank */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_12, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Add(__pyx_t_12, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_averank = __pyx_t_13; - /* "rankdata.pyx":731 + /* "rankdata.pyx":715 * if old != new: * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< @@ -9678,17 +9484,17 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb * sumranks = 0 */ __pyx_t_14 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_12); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_12); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; for (__pyx_t_16 = __pyx_t_15; __pyx_t_16 < __pyx_t_14; __pyx_t_16+=1) { __pyx_v_j = __pyx_t_16; - /* "rankdata.pyx":732 + /* "rankdata.pyx":716 * averank = sumranks / dupcount + 1 * for j in xrange(k - dupcount, k): * y[ivec[j]] = averank # <<<<<<<<<<<<<< @@ -9700,7 +9506,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; } - /* "rankdata.pyx":733 + /* "rankdata.pyx":717 * for j in xrange(k - dupcount, k): * y[ivec[j]] = averank * sumranks = 0 # <<<<<<<<<<<<<< @@ -9709,7 +9515,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":734 + /* "rankdata.pyx":718 * y[ivec[j]] = averank * sumranks = 0 * dupcount = 0 # <<<<<<<<<<<<<< @@ -9722,7 +9528,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb } __pyx_L6:; - /* "rankdata.pyx":735 + /* "rankdata.pyx":719 * sumranks = 0 * dupcount = 0 * old = new # <<<<<<<<<<<<<< @@ -9732,7 +9538,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_v_old = __pyx_v_new; } - /* "rankdata.pyx":736 + /* "rankdata.pyx":720 * dupcount = 0 * old = new * sumranks += (n0 - 1) # <<<<<<<<<<<<<< @@ -9741,38 +9547,38 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); - /* "rankdata.pyx":737 + /* "rankdata.pyx":721 * old = new * sumranks += (n0 - 1) * dupcount += 1 # <<<<<<<<<<<<<< * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): */ - __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_12); __pyx_t_12 = 0; - /* "rankdata.pyx":738 + /* "rankdata.pyx":722 * sumranks += (n0 - 1) * dupcount += 1 * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< * for j in xrange(n0 - dupcount, n0): * y[ivec[j]] = averank */ - __pyx_t_12 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_v_averank = __pyx_t_13; - /* "rankdata.pyx":739 + /* "rankdata.pyx":723 * dupcount += 1 * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< @@ -9780,17 +9586,17 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb * return y */ __pyx_t_8 = __pyx_v_n0; - __pyx_t_12 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Subtract(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (__pyx_t_9 = __pyx_t_15; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_v_j = __pyx_t_9; - /* "rankdata.pyx":740 + /* "rankdata.pyx":724 * averank = sumranks / dupcount + 1 * for j in xrange(n0 - dupcount, n0): * y[ivec[j]] = averank # <<<<<<<<<<<<<< @@ -9802,7 +9608,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; } - /* "rankdata.pyx":741 + /* "rankdata.pyx":725 * for j in xrange(n0 - dupcount, n0): * y[ivec[j]] = averank * return y # <<<<<<<<<<<<<< @@ -9814,11 +9620,11 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "rankdata.pyx":707 + /* "rankdata.pyx":691 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float along axis=0, dealing with ties." + * def rankdata_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int64 along axis=0, dealing with ties." * cdef dupcount = 0 */ @@ -9832,7 +9638,7 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_1d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_1d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -9848,27 +9654,27 @@ static PyObject *__pyx_pf_8rankdata_28rankdata_1d_float_axis0(CYTHON_UNUSED PyOb return __pyx_r; } -/* "rankdata.pyx":745 +/* "rankdata.pyx":729 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float32 along axis=0, dealing with ties." + * def rankdata_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_31rankdata_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_30rankdata_1d_float32_axis0[] = "rankdata_1d_float32_axis0(ndarray a)\nRanks n1d array with dtype=float32 along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_31rankdata_1d_float32_axis0 = {"rankdata_1d_float32_axis0", (PyCFunction)__pyx_pw_8rankdata_31rankdata_1d_float32_axis0, METH_O, __pyx_doc_8rankdata_30rankdata_1d_float32_axis0}; -static PyObject *__pyx_pw_8rankdata_31rankdata_1d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_31rankdata_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_30rankdata_2d_int_axis0[] = "rankdata_2d_int_axis0(ndarray a)\nRanks n2d array with dtype=int along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_31rankdata_2d_int_axis0 = {"rankdata_2d_int_axis0", (PyCFunction)__pyx_pw_8rankdata_31rankdata_2d_int_axis0, METH_O, __pyx_doc_8rankdata_30rankdata_2d_int_axis0}; +static PyObject *__pyx_pw_8rankdata_31rankdata_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_1d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_30rankdata_1d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("rankdata_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_30rankdata_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -9879,18 +9685,21 @@ static PyObject *__pyx_pw_8rankdata_31rankdata_1d_float32_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_30rankdata_1d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_30rankdata_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; + Py_ssize_t __pyx_v_idx; PyArrayObject *__pyx_v_ivec = 0; __pyx_t_5numpy_float64_t __pyx_v_old; __pyx_t_5numpy_float64_t __pyx_v_new; __pyx_t_5numpy_float64_t __pyx_v_averank; __pyx_t_5numpy_float64_t __pyx_v_sumranks; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -9903,27 +9712,36 @@ static PyObject *__pyx_pf_8rankdata_30rankdata_1d_float32_axis0(CYTHON_UNUSED Py __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[1]; + npy_intp __pyx_t_3[2]; PyArrayObject *__pyx_t_4 = NULL; int __pyx_t_5; - long __pyx_t_6; - __pyx_t_5numpy_intp_t __pyx_t_7; - Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + long __pyx_t_8; Py_ssize_t __pyx_t_9; Py_ssize_t __pyx_t_10; - __pyx_t_5numpy_intp_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - __pyx_t_5numpy_float64_t __pyx_t_13; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; - long __pyx_t_15; + Py_ssize_t __pyx_t_15; Py_ssize_t __pyx_t_16; Py_ssize_t __pyx_t_17; - __pyx_t_5numpy_intp_t __pyx_t_18; - __pyx_t_5numpy_intp_t __pyx_t_19; + PyObject *__pyx_t_18 = NULL; + __pyx_t_5numpy_float64_t __pyx_t_19; + Py_ssize_t __pyx_t_20; + long __pyx_t_21; + Py_ssize_t __pyx_t_22; + Py_ssize_t __pyx_t_23; + Py_ssize_t __pyx_t_24; + Py_ssize_t __pyx_t_25; + Py_ssize_t __pyx_t_26; + Py_ssize_t __pyx_t_27; + Py_ssize_t __pyx_t_28; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_1d_float32_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -9938,105 +9756,115 @@ static PyObject *__pyx_pf_8rankdata_30rankdata_1d_float32_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "rankdata.pyx":747 - * def rankdata_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): - * "Ranks n1d array with dtype=float32 along axis=0, dealing with ties." + /* "rankdata.pyx":731 + * def rankdata_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Ranks n2d array with dtype=int along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) + * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) */ __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; - /* "rankdata.pyx":749 + /* "rankdata.pyx":733 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":750 + /* "rankdata.pyx":734 * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) + * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":753 - * cdef Py_ssize_t i0 + /* "rankdata.pyx":737 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":754 + /* "rankdata.pyx":738 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "rankdata.pyx":755 + /* "rankdata.pyx":739 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "rankdata.pyx":740 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) */ __pyx_t_3[0] = __pyx_v_n0; + __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":756 - * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + /* "rankdata.pyx":741 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) * if n0 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":758 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + /* "rankdata.pyx":743 + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) * if n0 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) @@ -10045,24 +9873,24 @@ static PyObject *__pyx_pf_8rankdata_30rankdata_1d_float32_axis0(CYTHON_UNUSED Py __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":759 + /* "rankdata.pyx":744 * NPY_float64, 0) * if n0 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y - * old = a[ivec[0]] + * for i1 in xrange(n1): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 744; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":760 + /* "rankdata.pyx":745 * if n0 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< - * old = a[ivec[0]] - * for i0 in xrange(n0-1): + * for i1 in xrange(n1): + * idx = ivec[0, i1] */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -10070,233 +9898,308 @@ static PyObject *__pyx_pf_8rankdata_30rankdata_1d_float32_axis0(CYTHON_UNUSED Py goto __pyx_L0; } - /* "rankdata.pyx":761 + /* "rankdata.pyx":746 * PyArray_FillWithScalar(y, NAN) * return y - * old = a[ivec[0]] # <<<<<<<<<<<<<< - * for i0 in xrange(n0-1): - * sumranks += i0 + * for i1 in xrange(n1): # <<<<<<<<<<<<<< + * idx = ivec[0, i1] + * old = a[idx, i1] */ - __pyx_t_6 = 0; - __pyx_t_7 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "rankdata.pyx":762 + /* "rankdata.pyx":747 * return y - * old = a[ivec[0]] - * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< - * sumranks += i0 - * dupcount += 1 + * for i1 in xrange(n1): + * idx = ivec[0, i1] # <<<<<<<<<<<<<< + * old = a[idx, i1] + * sumranks = 0 */ - __pyx_t_8 = (__pyx_v_n0 - 1); - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_8 = 0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":763 - * old = a[ivec[0]] - * for i0 in xrange(n0-1): - * sumranks += i0 # <<<<<<<<<<<<<< - * dupcount += 1 - * k = i0 + 1 + /* "rankdata.pyx":748 + * for i1 in xrange(n1): + * idx = ivec[0, i1] + * old = a[idx, i1] # <<<<<<<<<<<<<< + * sumranks = 0 + * dupcount = 0 */ - __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); + __pyx_t_10 = __pyx_v_idx; + __pyx_t_11 = __pyx_v_i1; + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":764 - * for i0 in xrange(n0-1): - * sumranks += i0 - * dupcount += 1 # <<<<<<<<<<<<<< - * k = i0 + 1 - * new = a[ivec[k]] + /* "rankdata.pyx":749 + * idx = ivec[0, i1] + * old = a[idx, i1] + * sumranks = 0 # <<<<<<<<<<<<<< + * dupcount = 0 + * for i0 in xrange(n0-1): */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); - __pyx_t_1 = 0; + __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":765 - * sumranks += i0 - * dupcount += 1 - * k = i0 + 1 # <<<<<<<<<<<<<< - * new = a[ivec[k]] - * if old != new: + /* "rankdata.pyx":750 + * old = a[idx, i1] + * sumranks = 0 + * dupcount = 0 # <<<<<<<<<<<<<< + * for i0 in xrange(n0-1): + * sumranks += i0 */ - __pyx_v_k = (__pyx_v_i0 + 1); + __Pyx_INCREF(__pyx_int_0); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - /* "rankdata.pyx":766 - * dupcount += 1 - * k = i0 + 1 - * new = a[ivec[k]] # <<<<<<<<<<<<<< - * if old != new: - * averank = sumranks / dupcount + 1 + /* "rankdata.pyx":751 + * sumranks = 0 + * dupcount = 0 + * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< + * sumranks += i0 + * dupcount += 1 */ - __pyx_t_10 = __pyx_v_k; - __pyx_t_11 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_12 = (__pyx_v_n0 - 1); + for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { + __pyx_v_i0 = __pyx_t_13; - /* "rankdata.pyx":767 - * k = i0 + 1 - * new = a[ivec[k]] - * if old != new: # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): + /* "rankdata.pyx":752 + * dupcount = 0 + * for i0 in xrange(n0-1): + * sumranks += i0 # <<<<<<<<<<<<<< + * dupcount += 1 + * k = i0 + 1 */ - __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); - if (__pyx_t_5) { + __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); - /* "rankdata.pyx":768 - * new = a[ivec[k]] - * if old != new: - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(k - dupcount, k): - * y[ivec[j]] = averank + /* "rankdata.pyx":753 + * for i0 in xrange(n0-1): + * sumranks += i0 + * dupcount += 1 # <<<<<<<<<<<<<< + * k = i0 + 1 + * idx = ivec[k, i1] */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_12, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_averank = __pyx_t_13; + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); + __pyx_t_1 = 0; - /* "rankdata.pyx":769 - * if old != new: - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< - * y[ivec[j]] = averank - * sumranks = 0 + /* "rankdata.pyx":754 + * sumranks += i0 + * dupcount += 1 + * k = i0 + 1 # <<<<<<<<<<<<<< + * idx = ivec[k, i1] + * new = a[idx, i1] + */ + __pyx_v_k = (__pyx_v_i0 + 1); + + /* "rankdata.pyx":755 + * dupcount += 1 + * k = i0 + 1 + * idx = ivec[k, i1] # <<<<<<<<<<<<<< + * new = a[idx, i1] + * if old != new: */ __pyx_t_14 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_12); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - for (__pyx_t_16 = __pyx_t_15; __pyx_t_16 < __pyx_t_14; __pyx_t_16+=1) { - __pyx_v_j = __pyx_t_16; + __pyx_t_15 = __pyx_v_i1; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":770 - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): - * y[ivec[j]] = averank # <<<<<<<<<<<<<< - * sumranks = 0 - * dupcount = 0 + /* "rankdata.pyx":756 + * k = i0 + 1 + * idx = ivec[k, i1] + * new = a[idx, i1] # <<<<<<<<<<<<<< + * if old != new: + * averank = sumranks / dupcount + 1 */ - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_ivec.diminfo[0].strides)); - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; - } + __pyx_t_16 = __pyx_v_idx; + __pyx_t_17 = __pyx_v_i1; + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":771 - * for j in xrange(k - dupcount, k): - * y[ivec[j]] = averank - * sumranks = 0 # <<<<<<<<<<<<<< - * dupcount = 0 - * old = new + /* "rankdata.pyx":757 + * idx = ivec[k, i1] + * new = a[idx, i1] + * if old != new: # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): */ - __pyx_v_sumranks = 0.0; + __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); + if (__pyx_t_5) { - /* "rankdata.pyx":772 - * y[ivec[j]] = averank - * sumranks = 0 - * dupcount = 0 # <<<<<<<<<<<<<< - * old = new - * sumranks += (n0 - 1) + /* "rankdata.pyx":758 + * new = a[idx, i1] + * if old != new: + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(k - dupcount, k): + * idx = ivec[j, i1] */ - __Pyx_INCREF(__pyx_int_0); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - goto __pyx_L6; + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_averank = __pyx_t_19; + + /* "rankdata.pyx":759 + * if old != new: + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< + * idx = ivec[j, i1] + * y[idx, i1] = averank + */ + __pyx_t_20 = __pyx_v_k; + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { + __pyx_v_j = __pyx_t_22; + + /* "rankdata.pyx":760 + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): + * idx = ivec[j, i1] # <<<<<<<<<<<<<< + * y[idx, i1] = averank + * sumranks = 0 + */ + __pyx_t_23 = __pyx_v_j; + __pyx_t_24 = __pyx_v_i1; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); + + /* "rankdata.pyx":761 + * for j in xrange(k - dupcount, k): + * idx = ivec[j, i1] + * y[idx, i1] = averank # <<<<<<<<<<<<<< + * sumranks = 0 + * dupcount = 0 + */ + __pyx_t_25 = __pyx_v_idx; + __pyx_t_26 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; + } + + /* "rankdata.pyx":762 + * idx = ivec[j, i1] + * y[idx, i1] = averank + * sumranks = 0 # <<<<<<<<<<<<<< + * dupcount = 0 + * old = new + */ + __pyx_v_sumranks = 0.0; + + /* "rankdata.pyx":763 + * y[idx, i1] = averank + * sumranks = 0 + * dupcount = 0 # <<<<<<<<<<<<<< + * old = new + * sumranks += (n0 - 1) + */ + __Pyx_INCREF(__pyx_int_0); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); + goto __pyx_L8; + } + __pyx_L8:; + + /* "rankdata.pyx":764 + * sumranks = 0 + * dupcount = 0 + * old = new # <<<<<<<<<<<<<< + * sumranks += (n0 - 1) + * dupcount += 1 + */ + __pyx_v_old = __pyx_v_new; } - __pyx_L6:; - /* "rankdata.pyx":773 - * sumranks = 0 - * dupcount = 0 - * old = new # <<<<<<<<<<<<<< - * sumranks += (n0 - 1) - * dupcount += 1 + /* "rankdata.pyx":765 + * dupcount = 0 + * old = new + * sumranks += (n0 - 1) # <<<<<<<<<<<<<< + * dupcount += 1 + * averank = sumranks / dupcount + 1 */ - __pyx_v_old = __pyx_v_new; - } + __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); - /* "rankdata.pyx":774 - * dupcount = 0 - * old = new - * sumranks += (n0 - 1) # <<<<<<<<<<<<<< - * dupcount += 1 - * averank = sumranks / dupcount + 1 + /* "rankdata.pyx":766 + * old = new + * sumranks += (n0 - 1) + * dupcount += 1 # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): */ - __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); + __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_18); + __pyx_t_18 = 0; - /* "rankdata.pyx":775 - * old = new - * sumranks += (n0 - 1) - * dupcount += 1 # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): + /* "rankdata.pyx":767 + * sumranks += (n0 - 1) + * dupcount += 1 + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(n0 - dupcount, n0): + * idx = ivec[j, i1] */ - __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_12); - __pyx_t_12 = 0; + __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":776 - * sumranks += (n0 - 1) - * dupcount += 1 - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(n0 - dupcount, n0): - * y[ivec[j]] = averank + /* "rankdata.pyx":768 + * dupcount += 1 + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< + * idx = ivec[j, i1] + * y[idx, i1] = averank */ - __pyx_t_12 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_v_averank = __pyx_t_13; + __pyx_t_12 = __pyx_v_n0; + __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + for (__pyx_t_13 = __pyx_t_21; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { + __pyx_v_j = __pyx_t_13; - /* "rankdata.pyx":777 - * dupcount += 1 - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< - * y[ivec[j]] = averank + /* "rankdata.pyx":769 + * averank = sumranks / dupcount + 1 + * for j in xrange(n0 - dupcount, n0): + * idx = ivec[j, i1] # <<<<<<<<<<<<<< + * y[idx, i1] = averank * return y */ - __pyx_t_8 = __pyx_v_n0; - __pyx_t_12 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (__pyx_t_9 = __pyx_t_15; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_j = __pyx_t_9; + __pyx_t_20 = __pyx_v_j; + __pyx_t_22 = __pyx_v_i1; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":778 - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): - * y[ivec[j]] = averank # <<<<<<<<<<<<<< + /* "rankdata.pyx":770 + * for j in xrange(n0 - dupcount, n0): + * idx = ivec[j, i1] + * y[idx, i1] = averank # <<<<<<<<<<<<<< * return y * */ - __pyx_t_14 = __pyx_v_j; - __pyx_t_19 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides)); - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; + __pyx_t_27 = __pyx_v_idx; + __pyx_t_28 = __pyx_v_i1; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; + } } - /* "rankdata.pyx":779 - * for j in xrange(n0 - dupcount, n0): - * y[ivec[j]] = averank + /* "rankdata.pyx":771 + * idx = ivec[j, i1] + * y[idx, i1] = averank * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -10306,25 +10209,25 @@ static PyObject *__pyx_pf_8rankdata_30rankdata_1d_float32_axis0(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "rankdata.pyx":745 + /* "rankdata.pyx":729 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float32 along axis=0, dealing with ties." + * def rankdata_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int along axis=0, dealing with ties." * cdef dupcount = 0 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_18); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_1d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -10340,27 +10243,27 @@ static PyObject *__pyx_pf_8rankdata_30rankdata_1d_float32_axis0(CYTHON_UNUSED Py return __pyx_r; } -/* "rankdata.pyx":783 +/* "rankdata.pyx":775 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float64 along axis=0, dealing with ties." + * def rankdata_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int along axis=1, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_33rankdata_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_32rankdata_1d_float64_axis0[] = "rankdata_1d_float64_axis0(ndarray a)\nRanks n1d array with dtype=float64 along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_33rankdata_1d_float64_axis0 = {"rankdata_1d_float64_axis0", (PyCFunction)__pyx_pw_8rankdata_33rankdata_1d_float64_axis0, METH_O, __pyx_doc_8rankdata_32rankdata_1d_float64_axis0}; -static PyObject *__pyx_pw_8rankdata_33rankdata_1d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_33rankdata_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_32rankdata_2d_int_axis1[] = "rankdata_2d_int_axis1(ndarray a)\nRanks n2d array with dtype=int along axis=1, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_33rankdata_2d_int_axis1 = {"rankdata_2d_int_axis1", (PyCFunction)__pyx_pw_8rankdata_33rankdata_2d_int_axis1, METH_O, __pyx_doc_8rankdata_32rankdata_2d_int_axis1}; +static PyObject *__pyx_pw_8rankdata_33rankdata_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_1d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_32rankdata_1d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("rankdata_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_8rankdata_32rankdata_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10371,18 +10274,21 @@ static PyObject *__pyx_pw_8rankdata_33rankdata_1d_float64_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_32rankdata_1d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_32rankdata_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; + Py_ssize_t __pyx_v_idx; PyArrayObject *__pyx_v_ivec = 0; __pyx_t_5numpy_float64_t __pyx_v_old; __pyx_t_5numpy_float64_t __pyx_v_new; __pyx_t_5numpy_float64_t __pyx_v_averank; __pyx_t_5numpy_float64_t __pyx_v_sumranks; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; npy_intp *__pyx_v_dims; PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; @@ -10395,27 +10301,36 @@ static PyObject *__pyx_pf_8rankdata_32rankdata_1d_float64_axis0(CYTHON_UNUSED Py __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyArrayObject *__pyx_t_2 = NULL; - npy_intp __pyx_t_3[1]; + npy_intp __pyx_t_3[2]; PyArrayObject *__pyx_t_4 = NULL; int __pyx_t_5; - long __pyx_t_6; - __pyx_t_5numpy_intp_t __pyx_t_7; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + long __pyx_t_9; Py_ssize_t __pyx_t_10; - __pyx_t_5numpy_intp_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - __pyx_t_5numpy_float64_t __pyx_t_13; + Py_ssize_t __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; Py_ssize_t __pyx_t_14; - long __pyx_t_15; + Py_ssize_t __pyx_t_15; Py_ssize_t __pyx_t_16; Py_ssize_t __pyx_t_17; - __pyx_t_5numpy_intp_t __pyx_t_18; - __pyx_t_5numpy_intp_t __pyx_t_19; + PyObject *__pyx_t_18 = NULL; + __pyx_t_5numpy_float64_t __pyx_t_19; + Py_ssize_t __pyx_t_20; + long __pyx_t_21; + Py_ssize_t __pyx_t_22; + Py_ssize_t __pyx_t_23; + Py_ssize_t __pyx_t_24; + Py_ssize_t __pyx_t_25; + Py_ssize_t __pyx_t_26; + Py_ssize_t __pyx_t_27; + Py_ssize_t __pyx_t_28; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_1d_float64_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int_axis1", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -10430,131 +10345,141 @@ static PyObject *__pyx_pf_8rankdata_32rankdata_1d_float64_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "rankdata.pyx":785 - * def rankdata_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): - * "Ranks n1d array with dtype=float64 along axis=0, dealing with ties." + /* "rankdata.pyx":777 + * def rankdata_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Ranks n2d array with dtype=int along axis=1, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) + * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) */ __Pyx_INCREF(__pyx_int_0); __pyx_v_dupcount = __pyx_int_0; - /* "rankdata.pyx":787 + /* "rankdata.pyx":779 * cdef dupcount = 0 * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) # <<<<<<<<<<<<<< + * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) # <<<<<<<<<<<<<< * cdef np.float64_t old, new, averank, sumranks = 0 - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 */ - __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 0, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_ArgSort(((PyArrayObject *)__pyx_v_a), 1, NPY_QUICKSORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { __pyx_v_ivec = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_ivec.diminfo[0].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ivec.diminfo[0].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_ivec.diminfo[1].strides = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_ivec.diminfo[1].shape = __pyx_pybuffernd_ivec.rcbuffer->pybuffer.shape[1]; } } __pyx_t_2 = 0; __pyx_v_ivec = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":788 + /* "rankdata.pyx":780 * cdef Py_ssize_t j, k, idx - * cdef np.ndarray[np.intp_t, ndim=1] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) + * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) * cdef np.float64_t old, new, averank, sumranks = 0 # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":791 - * cdef Py_ssize_t i0 + /* "rankdata.pyx":783 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "rankdata.pyx":792 + /* "rankdata.pyx":784 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "rankdata.pyx":793 + /* "rankdata.pyx":785 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "rankdata.pyx":786 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) */ __pyx_t_3[0] = __pyx_v_n0; + __pyx_t_3[1] = __pyx_v_n1; __pyx_v_dims = __pyx_t_3; - /* "rankdata.pyx":794 - * cdef Py_ssize_t n0 = dim[0] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + /* "rankdata.pyx":787 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0, n1] + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, # <<<<<<<<<<<<<< * NPY_float64, 0) - * if n0 == 0: + * if n1 == 0: */ - __pyx_t_1 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_EMPTY(2, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_y.diminfo[1].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_y.diminfo[1].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[1]; } } __pyx_t_4 = 0; __pyx_v_y = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":796 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + /* "rankdata.pyx":789 + * cdef np.ndarray[np.float64_t, ndim=2] y = PyArray_EMPTY(2, dims, * NPY_float64, 0) - * if n0 == 0: # <<<<<<<<<<<<<< + * if n1 == 0: # <<<<<<<<<<<<<< * PyArray_FillWithScalar(y, NAN) * return y */ - __pyx_t_5 = ((__pyx_v_n0 == 0) != 0); + __pyx_t_5 = ((__pyx_v_n1 == 0) != 0); if (__pyx_t_5) { - /* "rankdata.pyx":797 + /* "rankdata.pyx":790 * NPY_float64, 0) - * if n0 == 0: + * if n1 == 0: * PyArray_FillWithScalar(y, NAN) # <<<<<<<<<<<<<< * return y - * old = a[ivec[0]] + * for i0 in xrange(n0): */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_8rankdata_NAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyArray_FillWithScalar(((PyArrayObject *)__pyx_v_y), __pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "rankdata.pyx":798 - * if n0 == 0: + /* "rankdata.pyx":791 + * if n1 == 0: * PyArray_FillWithScalar(y, NAN) * return y # <<<<<<<<<<<<<< - * old = a[ivec[0]] - * for i0 in xrange(n0-1): + * for i0 in xrange(n0): + * idx = ivec[i0, 0] */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_y)); @@ -10562,233 +10487,308 @@ static PyObject *__pyx_pf_8rankdata_32rankdata_1d_float64_axis0(CYTHON_UNUSED Py goto __pyx_L0; } - /* "rankdata.pyx":799 + /* "rankdata.pyx":792 * PyArray_FillWithScalar(y, NAN) * return y - * old = a[ivec[0]] # <<<<<<<<<<<<<< - * for i0 in xrange(n0-1): - * sumranks += i0 + * for i0 in xrange(n0): # <<<<<<<<<<<<<< + * idx = ivec[i0, 0] + * old = a[i0, idx] */ - __pyx_t_6 = 0; - __pyx_t_7 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_old = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "rankdata.pyx":800 + /* "rankdata.pyx":793 * return y - * old = a[ivec[0]] - * for i0 in xrange(n0-1): # <<<<<<<<<<<<<< - * sumranks += i0 - * dupcount += 1 + * for i0 in xrange(n0): + * idx = ivec[i0, 0] # <<<<<<<<<<<<<< + * old = a[i0, idx] + * sumranks = 0 */ - __pyx_t_8 = (__pyx_v_n0 - 1); - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_i0 = __pyx_t_9; + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = 0; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":801 - * old = a[ivec[0]] - * for i0 in xrange(n0-1): - * sumranks += i0 # <<<<<<<<<<<<<< - * dupcount += 1 - * k = i0 + 1 + /* "rankdata.pyx":794 + * for i0 in xrange(n0): + * idx = ivec[i0, 0] + * old = a[i0, idx] # <<<<<<<<<<<<<< + * sumranks = 0 + * dupcount = 0 */ - __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i0); + __pyx_t_10 = __pyx_v_i0; + __pyx_t_11 = __pyx_v_idx; + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "rankdata.pyx":802 - * for i0 in xrange(n0-1): - * sumranks += i0 - * dupcount += 1 # <<<<<<<<<<<<<< - * k = i0 + 1 - * new = a[ivec[k]] + /* "rankdata.pyx":795 + * idx = ivec[i0, 0] + * old = a[i0, idx] + * sumranks = 0 # <<<<<<<<<<<<<< + * dupcount = 0 + * for i1 in xrange(n1-1): */ - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); - __pyx_t_1 = 0; + __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":803 - * sumranks += i0 - * dupcount += 1 - * k = i0 + 1 # <<<<<<<<<<<<<< - * new = a[ivec[k]] - * if old != new: + /* "rankdata.pyx":796 + * old = a[i0, idx] + * sumranks = 0 + * dupcount = 0 # <<<<<<<<<<<<<< + * for i1 in xrange(n1-1): + * sumranks += i1 */ - __pyx_v_k = (__pyx_v_i0 + 1); + __Pyx_INCREF(__pyx_int_0); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - /* "rankdata.pyx":804 - * dupcount += 1 - * k = i0 + 1 - * new = a[ivec[k]] # <<<<<<<<<<<<<< - * if old != new: - * averank = sumranks / dupcount + 1 + /* "rankdata.pyx":797 + * sumranks = 0 + * dupcount = 0 + * for i1 in xrange(n1-1): # <<<<<<<<<<<<<< + * sumranks += i1 + * dupcount += 1 */ - __pyx_t_10 = __pyx_v_k; - __pyx_t_11 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_ivec.diminfo[0].strides)); - __pyx_v_new = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_11, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_12 = (__pyx_v_n1 - 1); + for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { + __pyx_v_i1 = __pyx_t_13; - /* "rankdata.pyx":805 - * k = i0 + 1 - * new = a[ivec[k]] - * if old != new: # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): + /* "rankdata.pyx":798 + * dupcount = 0 + * for i1 in xrange(n1-1): + * sumranks += i1 # <<<<<<<<<<<<<< + * dupcount += 1 + * k = i1 + 1 */ - __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); - if (__pyx_t_5) { + __pyx_v_sumranks = (__pyx_v_sumranks + __pyx_v_i1); - /* "rankdata.pyx":806 - * new = a[ivec[k]] - * if old != new: - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(k - dupcount, k): - * y[ivec[j]] = averank + /* "rankdata.pyx":799 + * for i1 in xrange(n1-1): + * sumranks += i1 + * dupcount += 1 # <<<<<<<<<<<<<< + * k = i1 + 1 + * idx = ivec[i0, k] */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_12, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_averank = __pyx_t_13; + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_1); + __pyx_t_1 = 0; - /* "rankdata.pyx":807 - * if old != new: - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< - * y[ivec[j]] = averank - * sumranks = 0 + /* "rankdata.pyx":800 + * sumranks += i1 + * dupcount += 1 + * k = i1 + 1 # <<<<<<<<<<<<<< + * idx = ivec[i0, k] + * new = a[i0, idx] */ - __pyx_t_14 = __pyx_v_k; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_12); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - for (__pyx_t_16 = __pyx_t_15; __pyx_t_16 < __pyx_t_14; __pyx_t_16+=1) { - __pyx_v_j = __pyx_t_16; + __pyx_v_k = (__pyx_v_i1 + 1); + + /* "rankdata.pyx":801 + * dupcount += 1 + * k = i1 + 1 + * idx = ivec[i0, k] # <<<<<<<<<<<<<< + * new = a[i0, idx] + * if old != new: + */ + __pyx_t_14 = __pyx_v_i0; + __pyx_t_15 = __pyx_v_k; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_ivec.diminfo[1].strides)); + + /* "rankdata.pyx":802 + * k = i1 + 1 + * idx = ivec[i0, k] + * new = a[i0, idx] # <<<<<<<<<<<<<< + * if old != new: + * averank = sumranks / dupcount + 1 + */ + __pyx_t_16 = __pyx_v_i0; + __pyx_t_17 = __pyx_v_idx; + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "rankdata.pyx":803 + * idx = ivec[i0, k] + * new = a[i0, idx] + * if old != new: # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): + */ + __pyx_t_5 = ((__pyx_v_old != __pyx_v_new) != 0); + if (__pyx_t_5) { + + /* "rankdata.pyx":804 + * new = a[i0, idx] + * if old != new: + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(k - dupcount, k): + * idx = ivec[i0, j] + */ + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Add(__pyx_t_18, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_averank = __pyx_t_19; + + /* "rankdata.pyx":805 + * if old != new: + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): # <<<<<<<<<<<<<< + * idx = ivec[i0, j] + * y[i0, idx] = averank + */ + __pyx_t_20 = __pyx_v_k; + __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_18 = PyNumber_Subtract(__pyx_t_1, __pyx_v_dupcount); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_18); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + for (__pyx_t_22 = __pyx_t_21; __pyx_t_22 < __pyx_t_20; __pyx_t_22+=1) { + __pyx_v_j = __pyx_t_22; + + /* "rankdata.pyx":806 + * averank = sumranks / dupcount + 1 + * for j in xrange(k - dupcount, k): + * idx = ivec[i0, j] # <<<<<<<<<<<<<< + * y[i0, idx] = averank + * sumranks = 0 + */ + __pyx_t_23 = __pyx_v_i0; + __pyx_t_24 = __pyx_v_j; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_24, __pyx_pybuffernd_ivec.diminfo[1].strides)); + + /* "rankdata.pyx":807 + * for j in xrange(k - dupcount, k): + * idx = ivec[i0, j] + * y[i0, idx] = averank # <<<<<<<<<<<<<< + * sumranks = 0 + * dupcount = 0 + */ + __pyx_t_25 = __pyx_v_i0; + __pyx_t_26 = __pyx_v_idx; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_26, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; + } /* "rankdata.pyx":808 - * averank = sumranks / dupcount + 1 - * for j in xrange(k - dupcount, k): - * y[ivec[j]] = averank # <<<<<<<<<<<<<< - * sumranks = 0 - * dupcount = 0 + * idx = ivec[i0, j] + * y[i0, idx] = averank + * sumranks = 0 # <<<<<<<<<<<<<< + * dupcount = 0 + * old = new */ - __pyx_t_17 = __pyx_v_j; - __pyx_t_18 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_ivec.diminfo[0].strides)); - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; - } + __pyx_v_sumranks = 0.0; - /* "rankdata.pyx":809 - * for j in xrange(k - dupcount, k): - * y[ivec[j]] = averank - * sumranks = 0 # <<<<<<<<<<<<<< - * dupcount = 0 - * old = new + /* "rankdata.pyx":809 + * y[i0, idx] = averank + * sumranks = 0 + * dupcount = 0 # <<<<<<<<<<<<<< + * old = new + * sumranks += (n1 - 1) */ - __pyx_v_sumranks = 0.0; + __Pyx_INCREF(__pyx_int_0); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); + goto __pyx_L8; + } + __pyx_L8:; /* "rankdata.pyx":810 - * y[ivec[j]] = averank - * sumranks = 0 - * dupcount = 0 # <<<<<<<<<<<<<< - * old = new - * sumranks += (n0 - 1) + * sumranks = 0 + * dupcount = 0 + * old = new # <<<<<<<<<<<<<< + * sumranks += (n1 - 1) + * dupcount += 1 */ - __Pyx_INCREF(__pyx_int_0); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_int_0); - goto __pyx_L6; + __pyx_v_old = __pyx_v_new; } - __pyx_L6:; /* "rankdata.pyx":811 - * sumranks = 0 - * dupcount = 0 - * old = new # <<<<<<<<<<<<<< - * sumranks += (n0 - 1) - * dupcount += 1 + * dupcount = 0 + * old = new + * sumranks += (n1 - 1) # <<<<<<<<<<<<<< + * dupcount += 1 + * averank = sumranks / dupcount + 1 */ - __pyx_v_old = __pyx_v_new; - } + __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n1 - 1)); - /* "rankdata.pyx":812 - * dupcount = 0 - * old = new - * sumranks += (n0 - 1) # <<<<<<<<<<<<<< - * dupcount += 1 - * averank = sumranks / dupcount + 1 + /* "rankdata.pyx":812 + * old = new + * sumranks += (n1 - 1) + * dupcount += 1 # <<<<<<<<<<<<<< + * averank = sumranks / dupcount + 1 + * for j in xrange(n1 - dupcount, n1): */ - __pyx_v_sumranks = (__pyx_v_sumranks + (__pyx_v_n0 - 1)); + __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_18); + __pyx_t_18 = 0; - /* "rankdata.pyx":813 - * old = new - * sumranks += (n0 - 1) - * dupcount += 1 # <<<<<<<<<<<<<< - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): + /* "rankdata.pyx":813 + * sumranks += (n1 - 1) + * dupcount += 1 + * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< + * for j in xrange(n1 - dupcount, n1): + * idx = ivec[i0, j] */ - __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_dupcount, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF_SET(__pyx_v_dupcount, __pyx_t_12); - __pyx_t_12 = 0; + __pyx_t_18 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_19 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_v_averank = __pyx_t_19; - /* "rankdata.pyx":814 - * sumranks += (n0 - 1) - * dupcount += 1 - * averank = sumranks / dupcount + 1 # <<<<<<<<<<<<<< - * for j in xrange(n0 - dupcount, n0): - * y[ivec[j]] = averank + /* "rankdata.pyx":814 + * dupcount += 1 + * averank = sumranks / dupcount + 1 + * for j in xrange(n1 - dupcount, n1): # <<<<<<<<<<<<<< + * idx = ivec[i0, j] + * y[i0, idx] = averank */ - __pyx_t_12 = PyFloat_FromDouble(__pyx_v_sumranks); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_13 == (npy_float64)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_v_averank = __pyx_t_13; + __pyx_t_12 = __pyx_v_n1; + __pyx_t_18 = PyInt_FromSsize_t(__pyx_v_n1); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_1 = PyNumber_Subtract(__pyx_t_18, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + for (__pyx_t_13 = __pyx_t_21; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { + __pyx_v_j = __pyx_t_13; - /* "rankdata.pyx":815 - * dupcount += 1 - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): # <<<<<<<<<<<<<< - * y[ivec[j]] = averank + /* "rankdata.pyx":815 + * averank = sumranks / dupcount + 1 + * for j in xrange(n1 - dupcount, n1): + * idx = ivec[i0, j] # <<<<<<<<<<<<<< + * y[i0, idx] = averank * return y */ - __pyx_t_8 = __pyx_v_n0; - __pyx_t_12 = PyInt_FromSsize_t(__pyx_v_n0); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_1 = PyNumber_Subtract(__pyx_t_12, __pyx_v_dupcount); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_15 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_15 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (__pyx_t_9 = __pyx_t_15; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_j = __pyx_t_9; + __pyx_t_20 = __pyx_v_i0; + __pyx_t_22 = __pyx_v_j; + __pyx_v_idx = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_ivec.diminfo[0].strides, __pyx_t_22, __pyx_pybuffernd_ivec.diminfo[1].strides)); - /* "rankdata.pyx":816 - * averank = sumranks / dupcount + 1 - * for j in xrange(n0 - dupcount, n0): - * y[ivec[j]] = averank # <<<<<<<<<<<<<< + /* "rankdata.pyx":816 + * for j in xrange(n1 - dupcount, n1): + * idx = ivec[i0, j] + * y[i0, idx] = averank # <<<<<<<<<<<<<< * return y * */ - __pyx_t_14 = __pyx_v_j; - __pyx_t_19 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_intp_t *, __pyx_pybuffernd_ivec.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_ivec.diminfo[0].strides)); - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_averank; + __pyx_t_27 = __pyx_v_i0; + __pyx_t_28 = __pyx_v_idx; + *__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_y.diminfo[0].strides, __pyx_t_28, __pyx_pybuffernd_y.diminfo[1].strides) = __pyx_v_averank; + } } /* "rankdata.pyx":817 - * for j in xrange(n0 - dupcount, n0): - * y[ivec[j]] = averank + * idx = ivec[i0, j] + * y[i0, idx] = averank * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) @@ -10798,25 +10798,25 @@ static PyObject *__pyx_pf_8rankdata_32rankdata_1d_float64_axis0(CYTHON_UNUSED Py __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "rankdata.pyx":783 + /* "rankdata.pyx":775 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float64 along axis=0, dealing with ties." + * def rankdata_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int along axis=1, dealing with ties." * cdef dupcount = 0 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_18); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_1d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -10835,24 +10835,24 @@ static PyObject *__pyx_pf_8rankdata_32rankdata_1d_float64_axis0(CYTHON_UNUSED Py /* "rankdata.pyx":821 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float along axis=0, dealing with ties." + * def rankdata_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int8 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_35rankdata_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_34rankdata_2d_float_axis0[] = "rankdata_2d_float_axis0(ndarray a)\nRanks n2d array with dtype=float along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_35rankdata_2d_float_axis0 = {"rankdata_2d_float_axis0", (PyCFunction)__pyx_pw_8rankdata_35rankdata_2d_float_axis0, METH_O, __pyx_doc_8rankdata_34rankdata_2d_float_axis0}; -static PyObject *__pyx_pw_8rankdata_35rankdata_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_35rankdata_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_34rankdata_2d_int8_axis0[] = "rankdata_2d_int8_axis0(ndarray a)\nRanks n2d array with dtype=int8 along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_35rankdata_2d_int8_axis0 = {"rankdata_2d_int8_axis0", (PyCFunction)__pyx_pw_8rankdata_35rankdata_2d_int8_axis0, METH_O, __pyx_doc_8rankdata_34rankdata_2d_int8_axis0}; +static PyObject *__pyx_pw_8rankdata_35rankdata_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_float_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int8_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_34rankdata_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_8rankdata_34rankdata_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -10863,7 +10863,7 @@ static PyObject *__pyx_pw_8rankdata_35rankdata_2d_float_axis0(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_34rankdata_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_34rankdata_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -10919,7 +10919,7 @@ static PyObject *__pyx_pf_8rankdata_34rankdata_2d_float_axis0(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_float_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int8_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -10934,13 +10934,13 @@ static PyObject *__pyx_pf_8rankdata_34rankdata_2d_float_axis0(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "rankdata.pyx":823 - * def rankdata_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Ranks n2d array with dtype=float along axis=0, dealing with ties." + * def rankdata_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Ranks n2d array with dtype=int8 along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) @@ -11107,7 +11107,7 @@ static PyObject *__pyx_pf_8rankdata_34rankdata_2d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_t_10 = __pyx_v_idx; __pyx_t_11 = __pyx_v_i1; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":841 * idx = ivec[0, i1] @@ -11189,7 +11189,7 @@ static PyObject *__pyx_pf_8rankdata_34rankdata_2d_float_axis0(CYTHON_UNUSED PyOb */ __pyx_t_16 = __pyx_v_idx; __pyx_t_17 = __pyx_v_i1; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":849 * idx = ivec[k, i1] @@ -11390,8 +11390,8 @@ static PyObject *__pyx_pf_8rankdata_34rankdata_2d_float_axis0(CYTHON_UNUSED PyOb /* "rankdata.pyx":821 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float along axis=0, dealing with ties." + * def rankdata_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int8 along axis=0, dealing with ties." * cdef dupcount = 0 */ @@ -11405,7 +11405,7 @@ static PyObject *__pyx_pf_8rankdata_34rankdata_2d_float_axis0(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -11424,24 +11424,24 @@ static PyObject *__pyx_pf_8rankdata_34rankdata_2d_float_axis0(CYTHON_UNUSED PyOb /* "rankdata.pyx":867 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float along axis=1, dealing with ties." + * def rankdata_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int8 along axis=1, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_37rankdata_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_36rankdata_2d_float_axis1[] = "rankdata_2d_float_axis1(ndarray a)\nRanks n2d array with dtype=float along axis=1, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_37rankdata_2d_float_axis1 = {"rankdata_2d_float_axis1", (PyCFunction)__pyx_pw_8rankdata_37rankdata_2d_float_axis1, METH_O, __pyx_doc_8rankdata_36rankdata_2d_float_axis1}; -static PyObject *__pyx_pw_8rankdata_37rankdata_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_37rankdata_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_36rankdata_2d_int8_axis1[] = "rankdata_2d_int8_axis1(ndarray a)\nRanks n2d array with dtype=int8 along axis=1, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_37rankdata_2d_int8_axis1 = {"rankdata_2d_int8_axis1", (PyCFunction)__pyx_pw_8rankdata_37rankdata_2d_int8_axis1, METH_O, __pyx_doc_8rankdata_36rankdata_2d_int8_axis1}; +static PyObject *__pyx_pw_8rankdata_37rankdata_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_float_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int8_axis1 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_36rankdata_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_8rankdata_36rankdata_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -11452,7 +11452,7 @@ static PyObject *__pyx_pw_8rankdata_37rankdata_2d_float_axis1(PyObject *__pyx_se return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_36rankdata_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_36rankdata_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -11508,7 +11508,7 @@ static PyObject *__pyx_pf_8rankdata_36rankdata_2d_float_axis1(CYTHON_UNUSED PyOb int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_float_axis1", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int8_axis1", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -11523,13 +11523,13 @@ static PyObject *__pyx_pf_8rankdata_36rankdata_2d_float_axis1(CYTHON_UNUSED PyOb __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "rankdata.pyx":869 - * def rankdata_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Ranks n2d array with dtype=float along axis=1, dealing with ties." + * def rankdata_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Ranks n2d array with dtype=int8 along axis=1, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) @@ -11696,7 +11696,7 @@ static PyObject *__pyx_pf_8rankdata_36rankdata_2d_float_axis1(CYTHON_UNUSED PyOb */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_idx; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":887 * idx = ivec[i0, 0] @@ -11778,7 +11778,7 @@ static PyObject *__pyx_pf_8rankdata_36rankdata_2d_float_axis1(CYTHON_UNUSED PyOb */ __pyx_t_16 = __pyx_v_i0; __pyx_t_17 = __pyx_v_idx; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":895 * idx = ivec[i0, k] @@ -11979,8 +11979,8 @@ static PyObject *__pyx_pf_8rankdata_36rankdata_2d_float_axis1(CYTHON_UNUSED PyOb /* "rankdata.pyx":867 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float along axis=1, dealing with ties." + * def rankdata_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int8 along axis=1, dealing with ties." * cdef dupcount = 0 */ @@ -11994,7 +11994,7 @@ static PyObject *__pyx_pf_8rankdata_36rankdata_2d_float_axis1(CYTHON_UNUSED PyOb __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -12013,24 +12013,24 @@ static PyObject *__pyx_pf_8rankdata_36rankdata_2d_float_axis1(CYTHON_UNUSED PyOb /* "rankdata.pyx":913 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float32 along axis=0, dealing with ties." + * def rankdata_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int32 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_39rankdata_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_38rankdata_2d_float32_axis0[] = "rankdata_2d_float32_axis0(ndarray a)\nRanks n2d array with dtype=float32 along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_39rankdata_2d_float32_axis0 = {"rankdata_2d_float32_axis0", (PyCFunction)__pyx_pw_8rankdata_39rankdata_2d_float32_axis0, METH_O, __pyx_doc_8rankdata_38rankdata_2d_float32_axis0}; -static PyObject *__pyx_pw_8rankdata_39rankdata_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_39rankdata_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_38rankdata_2d_int32_axis0[] = "rankdata_2d_int32_axis0(ndarray a)\nRanks n2d array with dtype=int32 along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_39rankdata_2d_int32_axis0 = {"rankdata_2d_int32_axis0", (PyCFunction)__pyx_pw_8rankdata_39rankdata_2d_int32_axis0, METH_O, __pyx_doc_8rankdata_38rankdata_2d_int32_axis0}; +static PyObject *__pyx_pw_8rankdata_39rankdata_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_float32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int32_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_38rankdata_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_8rankdata_38rankdata_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -12041,7 +12041,7 @@ static PyObject *__pyx_pw_8rankdata_39rankdata_2d_float32_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_38rankdata_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_38rankdata_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -12097,7 +12097,7 @@ static PyObject *__pyx_pf_8rankdata_38rankdata_2d_float32_axis0(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_float32_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int32_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -12112,13 +12112,13 @@ static PyObject *__pyx_pf_8rankdata_38rankdata_2d_float32_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "rankdata.pyx":915 - * def rankdata_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Ranks n2d array with dtype=float32 along axis=0, dealing with ties." + * def rankdata_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Ranks n2d array with dtype=int32 along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) @@ -12285,7 +12285,7 @@ static PyObject *__pyx_pf_8rankdata_38rankdata_2d_float32_axis0(CYTHON_UNUSED Py */ __pyx_t_10 = __pyx_v_idx; __pyx_t_11 = __pyx_v_i1; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":933 * idx = ivec[0, i1] @@ -12367,7 +12367,7 @@ static PyObject *__pyx_pf_8rankdata_38rankdata_2d_float32_axis0(CYTHON_UNUSED Py */ __pyx_t_16 = __pyx_v_idx; __pyx_t_17 = __pyx_v_i1; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":941 * idx = ivec[k, i1] @@ -12568,8 +12568,8 @@ static PyObject *__pyx_pf_8rankdata_38rankdata_2d_float32_axis0(CYTHON_UNUSED Py /* "rankdata.pyx":913 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float32 along axis=0, dealing with ties." + * def rankdata_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int32 along axis=0, dealing with ties." * cdef dupcount = 0 */ @@ -12583,7 +12583,7 @@ static PyObject *__pyx_pf_8rankdata_38rankdata_2d_float32_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -12602,24 +12602,24 @@ static PyObject *__pyx_pf_8rankdata_38rankdata_2d_float32_axis0(CYTHON_UNUSED Py /* "rankdata.pyx":959 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float32 along axis=1, dealing with ties." + * def rankdata_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int32 along axis=1, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_41rankdata_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_40rankdata_2d_float32_axis1[] = "rankdata_2d_float32_axis1(ndarray a)\nRanks n2d array with dtype=float32 along axis=1, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_41rankdata_2d_float32_axis1 = {"rankdata_2d_float32_axis1", (PyCFunction)__pyx_pw_8rankdata_41rankdata_2d_float32_axis1, METH_O, __pyx_doc_8rankdata_40rankdata_2d_float32_axis1}; -static PyObject *__pyx_pw_8rankdata_41rankdata_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_41rankdata_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_40rankdata_2d_int32_axis1[] = "rankdata_2d_int32_axis1(ndarray a)\nRanks n2d array with dtype=int32 along axis=1, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_41rankdata_2d_int32_axis1 = {"rankdata_2d_int32_axis1", (PyCFunction)__pyx_pw_8rankdata_41rankdata_2d_int32_axis1, METH_O, __pyx_doc_8rankdata_40rankdata_2d_int32_axis1}; +static PyObject *__pyx_pw_8rankdata_41rankdata_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_float32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int32_axis1 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_40rankdata_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_8rankdata_40rankdata_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -12630,7 +12630,7 @@ static PyObject *__pyx_pw_8rankdata_41rankdata_2d_float32_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_40rankdata_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_40rankdata_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -12686,7 +12686,7 @@ static PyObject *__pyx_pf_8rankdata_40rankdata_2d_float32_axis1(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_float32_axis1", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int32_axis1", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -12701,13 +12701,13 @@ static PyObject *__pyx_pf_8rankdata_40rankdata_2d_float32_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "rankdata.pyx":961 - * def rankdata_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Ranks n2d array with dtype=float32 along axis=1, dealing with ties." + * def rankdata_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Ranks n2d array with dtype=int32 along axis=1, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) @@ -12874,7 +12874,7 @@ static PyObject *__pyx_pf_8rankdata_40rankdata_2d_float32_axis1(CYTHON_UNUSED Py */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_idx; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":979 * idx = ivec[i0, 0] @@ -12956,7 +12956,7 @@ static PyObject *__pyx_pf_8rankdata_40rankdata_2d_float32_axis1(CYTHON_UNUSED Py */ __pyx_t_16 = __pyx_v_i0; __pyx_t_17 = __pyx_v_idx; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":987 * idx = ivec[i0, k] @@ -13157,8 +13157,8 @@ static PyObject *__pyx_pf_8rankdata_40rankdata_2d_float32_axis1(CYTHON_UNUSED Py /* "rankdata.pyx":959 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float32 along axis=1, dealing with ties." + * def rankdata_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int32 along axis=1, dealing with ties." * cdef dupcount = 0 */ @@ -13172,7 +13172,7 @@ static PyObject *__pyx_pf_8rankdata_40rankdata_2d_float32_axis1(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -13191,24 +13191,24 @@ static PyObject *__pyx_pf_8rankdata_40rankdata_2d_float32_axis1(CYTHON_UNUSED Py /* "rankdata.pyx":1005 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float64 along axis=0, dealing with ties." + * def rankdata_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int64 along axis=0, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_43rankdata_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_42rankdata_2d_float64_axis0[] = "rankdata_2d_float64_axis0(ndarray a)\nRanks n2d array with dtype=float64 along axis=0, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_43rankdata_2d_float64_axis0 = {"rankdata_2d_float64_axis0", (PyCFunction)__pyx_pw_8rankdata_43rankdata_2d_float64_axis0, METH_O, __pyx_doc_8rankdata_42rankdata_2d_float64_axis0}; -static PyObject *__pyx_pw_8rankdata_43rankdata_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_43rankdata_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_42rankdata_2d_int64_axis0[] = "rankdata_2d_int64_axis0(ndarray a)\nRanks n2d array with dtype=int64 along axis=0, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_43rankdata_2d_int64_axis0 = {"rankdata_2d_int64_axis0", (PyCFunction)__pyx_pw_8rankdata_43rankdata_2d_int64_axis0, METH_O, __pyx_doc_8rankdata_42rankdata_2d_int64_axis0}; +static PyObject *__pyx_pw_8rankdata_43rankdata_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_float64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int64_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_42rankdata_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_8rankdata_42rankdata_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -13219,7 +13219,7 @@ static PyObject *__pyx_pw_8rankdata_43rankdata_2d_float64_axis0(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_42rankdata_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_42rankdata_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -13275,7 +13275,7 @@ static PyObject *__pyx_pf_8rankdata_42rankdata_2d_float64_axis0(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_float64_axis0", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int64_axis0", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -13290,13 +13290,13 @@ static PyObject *__pyx_pf_8rankdata_42rankdata_2d_float64_axis0(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "rankdata.pyx":1007 - * def rankdata_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Ranks n2d array with dtype=float64 along axis=0, dealing with ties." + * def rankdata_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Ranks n2d array with dtype=int64 along axis=0, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 0, NPY_QUICKSORT) @@ -13463,7 +13463,7 @@ static PyObject *__pyx_pf_8rankdata_42rankdata_2d_float64_axis0(CYTHON_UNUSED Py */ __pyx_t_10 = __pyx_v_idx; __pyx_t_11 = __pyx_v_i1; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":1025 * idx = ivec[0, i1] @@ -13545,7 +13545,7 @@ static PyObject *__pyx_pf_8rankdata_42rankdata_2d_float64_axis0(CYTHON_UNUSED Py */ __pyx_t_16 = __pyx_v_idx; __pyx_t_17 = __pyx_v_i1; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":1033 * idx = ivec[k, i1] @@ -13746,8 +13746,8 @@ static PyObject *__pyx_pf_8rankdata_42rankdata_2d_float64_axis0(CYTHON_UNUSED Py /* "rankdata.pyx":1005 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float64 along axis=0, dealing with ties." + * def rankdata_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int64 along axis=0, dealing with ties." * cdef dupcount = 0 */ @@ -13761,7 +13761,7 @@ static PyObject *__pyx_pf_8rankdata_42rankdata_2d_float64_axis0(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -13780,24 +13780,24 @@ static PyObject *__pyx_pf_8rankdata_42rankdata_2d_float64_axis0(CYTHON_UNUSED Py /* "rankdata.pyx":1051 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float64 along axis=1, dealing with ties." + * def rankdata_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int64 along axis=1, dealing with ties." * cdef dupcount = 0 */ /* Python wrapper */ -static PyObject *__pyx_pw_8rankdata_45rankdata_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_8rankdata_44rankdata_2d_float64_axis1[] = "rankdata_2d_float64_axis1(ndarray a)\nRanks n2d array with dtype=float64 along axis=1, dealing with ties."; -static PyMethodDef __pyx_mdef_8rankdata_45rankdata_2d_float64_axis1 = {"rankdata_2d_float64_axis1", (PyCFunction)__pyx_pw_8rankdata_45rankdata_2d_float64_axis1, METH_O, __pyx_doc_8rankdata_44rankdata_2d_float64_axis1}; -static PyObject *__pyx_pw_8rankdata_45rankdata_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_8rankdata_45rankdata_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_8rankdata_44rankdata_2d_int64_axis1[] = "rankdata_2d_int64_axis1(ndarray a)\nRanks n2d array with dtype=int64 along axis=1, dealing with ties."; +static PyMethodDef __pyx_mdef_8rankdata_45rankdata_2d_int64_axis1 = {"rankdata_2d_int64_axis1", (PyCFunction)__pyx_pw_8rankdata_45rankdata_2d_int64_axis1, METH_O, __pyx_doc_8rankdata_44rankdata_2d_int64_axis1}; +static PyObject *__pyx_pw_8rankdata_45rankdata_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("rankdata_2d_float64_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int64_axis1 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_8rankdata_44rankdata_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_8rankdata_44rankdata_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -13808,7 +13808,7 @@ static PyObject *__pyx_pw_8rankdata_45rankdata_2d_float64_axis1(PyObject *__pyx_ return __pyx_r; } -static PyObject *__pyx_pf_8rankdata_44rankdata_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_8rankdata_44rankdata_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { PyObject *__pyx_v_dupcount = 0; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_k; @@ -13864,7 +13864,7 @@ static PyObject *__pyx_pf_8rankdata_44rankdata_2d_float64_axis1(CYTHON_UNUSED Py int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("rankdata_2d_float64_axis1", 0); + __Pyx_RefNannySetupContext("rankdata_2d_int64_axis1", 0); __pyx_pybuffer_ivec.pybuffer.buf = NULL; __pyx_pybuffer_ivec.refcount = 0; __pyx_pybuffernd_ivec.data = NULL; @@ -13879,13 +13879,13 @@ static PyObject *__pyx_pf_8rankdata_44rankdata_2d_float64_axis1(CYTHON_UNUSED Py __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "rankdata.pyx":1053 - * def rankdata_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Ranks n2d array with dtype=float64 along axis=1, dealing with ties." + * def rankdata_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Ranks n2d array with dtype=int64 along axis=1, dealing with ties." * cdef dupcount = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t j, k, idx * cdef np.ndarray[np.intp_t, ndim=2] ivec = PyArray_ArgSort(a, 1, NPY_QUICKSORT) @@ -14052,7 +14052,7 @@ static PyObject *__pyx_pf_8rankdata_44rankdata_2d_float64_axis1(CYTHON_UNUSED Py */ __pyx_t_10 = __pyx_v_i0; __pyx_t_11 = __pyx_v_idx; - __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_old = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":1071 * idx = ivec[i0, 0] @@ -14134,7 +14134,7 @@ static PyObject *__pyx_pf_8rankdata_44rankdata_2d_float64_axis1(CYTHON_UNUSED Py */ __pyx_t_16 = __pyx_v_i0; __pyx_t_17 = __pyx_v_idx; - __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_new = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_a.diminfo[1].strides)); /* "rankdata.pyx":1079 * idx = ivec[i0, k] @@ -14335,8 +14335,8 @@ static PyObject *__pyx_pf_8rankdata_44rankdata_2d_float64_axis1(CYTHON_UNUSED Py /* "rankdata.pyx":1051 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float64 along axis=1, dealing with ties." + * def rankdata_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int64 along axis=1, dealing with ties." * cdef dupcount = 0 */ @@ -14350,7 +14350,7 @@ static PyObject *__pyx_pf_8rankdata_44rankdata_2d_float64_axis1(CYTHON_UNUSED Py __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ivec.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("rankdata.rankdata_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("rankdata.rankdata_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -14367,7 +14367,7 @@ static PyObject *__pyx_pf_8rankdata_44rankdata_2d_float64_axis1(CYTHON_UNUSED Py } /* "rankdata.pyx":1118 - * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 + * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 * * def rankdata_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) rankdata along axis 0." @@ -14435,7 +14435,7 @@ static PyObject *__pyx_pf_8rankdata_46rankdata_slow_axis0(CYTHON_UNUSED PyObject goto __pyx_L0; /* "rankdata.pyx":1118 - * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 + * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 * * def rankdata_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) rankdata along axis 0." @@ -23996,7 +23996,7 @@ static PyObject *__pyx_pf_8rankdata_134nanrankdata_2d_float64_axis1(CYTHON_UNUSE } /* "rankdata.pyx":1890 - * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 + * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 * * def nanrankdata_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanrankdata along axis 0." @@ -24064,7 +24064,7 @@ static PyObject *__pyx_pf_8rankdata_136nanrankdata_slow_axis0(CYTHON_UNUSED PyOb goto __pyx_L0; /* "rankdata.pyx":1890 - * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 + * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 * * def nanrankdata_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanrankdata along axis 0." @@ -27055,7 +27055,7 @@ static PyObject *__pyx_pf_8rankdata_202nanrankdata_slow_axisNone(CYTHON_UNUSED P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -27105,7 +27105,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -27118,7 +27118,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -27127,7 +27127,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -27136,7 +27136,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -27145,7 +27145,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -27155,7 +27155,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -27167,7 +27167,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -27178,7 +27178,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -27194,7 +27194,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -27206,7 +27206,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -27220,7 +27220,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -27236,7 +27236,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -27248,7 +27248,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -27262,7 +27262,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -27271,7 +27271,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -27280,7 +27280,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -27290,7 +27290,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -27299,7 +27299,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -27308,7 +27308,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -27319,7 +27319,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -27328,7 +27328,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -27341,7 +27341,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -27350,7 +27350,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -27361,7 +27361,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -27370,7 +27370,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -27379,7 +27379,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -27388,7 +27388,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -27397,7 +27397,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -27409,7 +27409,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -27418,7 +27418,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -27438,7 +27438,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -27454,7 +27454,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -27469,7 +27469,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -27479,7 +27479,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -27489,7 +27489,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -27512,7 +27512,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -27532,7 +27532,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -27546,7 +27546,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -27555,7 +27555,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -27566,7 +27566,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -27577,7 +27577,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -27588,7 +27588,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -27599,7 +27599,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -27610,7 +27610,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -27621,7 +27621,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -27632,7 +27632,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -27643,7 +27643,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -27654,7 +27654,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -27665,7 +27665,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -27676,7 +27676,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -27687,7 +27687,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -27698,7 +27698,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -27709,7 +27709,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -27720,7 +27720,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -27731,7 +27731,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -27743,7 +27743,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -27769,7 +27769,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -27778,7 +27778,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -27790,7 +27790,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -27799,7 +27799,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -27808,7 +27808,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -27817,7 +27817,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -27827,7 +27827,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -27837,7 +27837,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -27869,7 +27869,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -27893,7 +27893,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -27903,7 +27903,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -27915,7 +27915,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -27925,7 +27925,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -27937,7 +27937,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -27949,7 +27949,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -27966,7 +27966,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -27980,7 +27980,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -27999,7 +27999,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -28016,7 +28016,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -28030,7 +28030,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -28049,7 +28049,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -28066,7 +28066,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -28080,7 +28080,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -28099,7 +28099,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -28116,7 +28116,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -28130,7 +28130,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -28149,7 +28149,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -28166,7 +28166,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -28180,7 +28180,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -28199,7 +28199,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -28231,7 +28231,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -28240,7 +28240,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -28249,7 +28249,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -28271,7 +28271,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -28284,7 +28284,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -28323,7 +28323,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -28340,7 +28340,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -28354,7 +28354,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -28377,7 +28377,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -28397,7 +28397,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -28411,7 +28411,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -28427,7 +28427,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -28436,7 +28436,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -28445,7 +28445,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -28456,7 +28456,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -28466,7 +28466,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -28476,7 +28476,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -28488,7 +28488,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -28498,7 +28498,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -28512,7 +28512,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -28530,7 +28530,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -28548,7 +28548,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -28566,7 +28566,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -28584,7 +28584,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -28602,7 +28602,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -28620,7 +28620,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -28638,7 +28638,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -28656,7 +28656,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -28674,7 +28674,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -28692,7 +28692,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -28710,7 +28710,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -28728,7 +28728,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -28746,7 +28746,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -28766,7 +28766,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -28786,7 +28786,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -28806,7 +28806,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -28825,7 +28825,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -28848,7 +28848,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -28860,7 +28860,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -28872,7 +28872,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -28882,7 +28882,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -28892,7 +28892,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -28917,7 +28917,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -28932,7 +28932,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -28943,7 +28943,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -28955,7 +28955,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -28964,7 +28964,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -28975,7 +28975,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -28984,7 +28984,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -28993,7 +28993,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -29005,7 +29005,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -29019,7 +29019,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -29029,7 +29029,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -29043,7 +29043,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -29054,7 +29054,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -29092,7 +29092,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -29108,6 +29107,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -29293,7 +29293,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -29304,7 +29304,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -29315,7 +29315,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -29326,7 +29326,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -29337,7 +29337,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -29348,7 +29348,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -29380,7 +29380,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":110 * return func(arr) @@ -29392,262 +29392,262 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_key, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_selector, 110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_selector, 110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":187 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int along axis=0, dealing with ties." + * def rankdata_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float along axis=0, dealing with ties." * cdef dupcount = 0 */ __pyx_tuple__13 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_1d_int_axis0, 187, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_1d_float_axis0, 187, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":225 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int8 along axis=0, dealing with ties." + * def rankdata_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float32 along axis=0, dealing with ties." * cdef dupcount = 0 */ __pyx_tuple__15 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_1d_int8_axis0, 225, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_1d_float32_axis0, 225, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":263 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int32 along axis=0, dealing with ties." + * def rankdata_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float64 along axis=0, dealing with ties." * cdef dupcount = 0 */ __pyx_tuple__17 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_1d_int32_axis0, 263, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_1d_float64_axis0, 263, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int64 along axis=0, dealing with ties." + * def rankdata_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__19 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__19 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_1d_int64_axis0, 301, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_float_axis0, 301, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "rankdata.pyx":339 + /* "rankdata.pyx":347 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int along axis=0, dealing with ties." + * def rankdata_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__21 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__21 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_int_axis0, 339, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_float_axis1, 347, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "rankdata.pyx":385 + /* "rankdata.pyx":393 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int along axis=1, dealing with ties." + * def rankdata_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float32 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__23 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__23 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_int_axis1, 385, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_float32_axis0, 393, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "rankdata.pyx":431 + /* "rankdata.pyx":439 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int8 along axis=0, dealing with ties." + * def rankdata_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float32 along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__25 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_int8_axis0, 431, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_float32_axis1, 439, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "rankdata.pyx":477 + /* "rankdata.pyx":485 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int8 along axis=1, dealing with ties." + * def rankdata_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float64 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__27 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_int8_axis1, 477, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_float64_axis0, 485, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "rankdata.pyx":523 + /* "rankdata.pyx":531 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int32 along axis=0, dealing with ties." + * def rankdata_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float64 along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__29 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_int32_axis0, 523, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_float64_axis1, 531, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "rankdata.pyx":569 + /* "rankdata.pyx":577 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int32 along axis=1, dealing with ties." + * def rankdata_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__31 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_int32_axis1, 569, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_1d_int_axis0, 577, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":615 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int64 along axis=0, dealing with ties." + * def rankdata_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int8 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__33 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_int64_axis0, 615, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_1d_int8_axis0, 615, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "rankdata.pyx":661 + /* "rankdata.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int64 along axis=1, dealing with ties." + * def rankdata_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int32 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__35 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_int64_axis1, 661, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_1d_int32_axis0, 653, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "rankdata.pyx":707 + /* "rankdata.pyx":691 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float along axis=0, dealing with ties." + * def rankdata_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int64 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__37 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_1d_float_axis0, 707, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_1d_int64_axis0, 691, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "rankdata.pyx":745 + /* "rankdata.pyx":729 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float32 along axis=0, dealing with ties." + * def rankdata_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__39 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_1d_float32_axis0, 745, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_int_axis0, 729, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "rankdata.pyx":783 + /* "rankdata.pyx":775 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float64 along axis=0, dealing with ties." + * def rankdata_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_tuple__41 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_1d_float64_axis0, 783, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_int_axis1, 775, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":821 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float along axis=0, dealing with ties." + * def rankdata_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int8 along axis=0, dealing with ties." * cdef dupcount = 0 */ __pyx_tuple__43 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_float_axis0, 821, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_int8_axis0, 821, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":867 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float along axis=1, dealing with ties." + * def rankdata_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int8 along axis=1, dealing with ties." * cdef dupcount = 0 */ __pyx_tuple__45 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_float_axis1, 867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_int8_axis1, 867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":913 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float32 along axis=0, dealing with ties." + * def rankdata_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int32 along axis=0, dealing with ties." * cdef dupcount = 0 */ __pyx_tuple__47 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_float32_axis0, 913, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_int32_axis0, 913, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":959 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float32 along axis=1, dealing with ties." + * def rankdata_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int32 along axis=1, dealing with ties." * cdef dupcount = 0 */ __pyx_tuple__49 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_float32_axis1, 959, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_int32_axis1, 959, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1005 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float64 along axis=0, dealing with ties." + * def rankdata_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int64 along axis=0, dealing with ties." * cdef dupcount = 0 */ __pyx_tuple__51 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_float64_axis0, 1005, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_int64_axis0, 1005, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1051 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float64 along axis=1, dealing with ties." + * def rankdata_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int64 along axis=1, dealing with ties." * cdef dupcount = 0 */ __pyx_tuple__53 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_2d_float64_axis1, 1051, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_2d_int64_axis1, 1051, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1118 - * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 + * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 * * def rankdata_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) rankdata along axis 0." @@ -29656,7 +29656,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__55 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis0, 1118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis0, 1118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1122 * return bn.slow.rankdata(arr, axis=0) @@ -29668,7 +29668,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__57 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis1, 1122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis1, 1122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1126 * return bn.slow.rankdata(arr, axis=1) @@ -29680,7 +29680,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__59 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis2, 1126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis2, 1126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1130 * return bn.slow.rankdata(arr, axis=2) @@ -29692,7 +29692,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__61 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis3, 1130, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis3, 1130, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1134 * return bn.slow.rankdata(arr, axis=3) @@ -29704,7 +29704,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__63 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis4, 1134, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis4, 1134, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1138 * return bn.slow.rankdata(arr, axis=4) @@ -29716,7 +29716,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__65 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis5, 1138, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis5, 1138, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1142 * return bn.slow.rankdata(arr, axis=5) @@ -29728,7 +29728,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__67 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis6, 1142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis6, 1142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1146 * return bn.slow.rankdata(arr, axis=6) @@ -29740,7 +29740,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis7, 1146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis7, 1146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1150 * return bn.slow.rankdata(arr, axis=7) @@ -29752,7 +29752,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis8, 1150, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis8, 1150, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1154 * return bn.slow.rankdata(arr, axis=8) @@ -29764,7 +29764,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis9, 1154, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis9, 1154, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1158 * return bn.slow.rankdata(arr, axis=9) @@ -29776,7 +29776,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis10, 1158, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis10, 1158, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1162 * return bn.slow.rankdata(arr, axis=10) @@ -29788,7 +29788,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis11, 1162, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis11, 1162, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1166 * return bn.slow.rankdata(arr, axis=11) @@ -29800,7 +29800,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis12, 1166, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis12, 1166, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1170 * return bn.slow.rankdata(arr, axis=12) @@ -29812,7 +29812,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis13, 1170, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis13, 1170, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1174 * return bn.slow.rankdata(arr, axis=13) @@ -29824,7 +29824,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis14, 1174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis14, 1174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1178 * return bn.slow.rankdata(arr, axis=14) @@ -29836,7 +29836,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis15, 1178, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis15, 1178, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1182 * return bn.slow.rankdata(arr, axis=15) @@ -29848,7 +29848,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis16, 1182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis16, 1182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1186 * return bn.slow.rankdata(arr, axis=16) @@ -29860,7 +29860,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis17, 1186, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis17, 1186, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1190 * return bn.slow.rankdata(arr, axis=17) @@ -29872,7 +29872,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis18, 1190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis18, 1190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1194 * return bn.slow.rankdata(arr, axis=18) @@ -29884,7 +29884,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis19, 1194, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis19, 1194, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1198 * return bn.slow.rankdata(arr, axis=19) @@ -29896,7 +29896,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis20, 1198, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis20, 1198, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1202 * return bn.slow.rankdata(arr, axis=20) @@ -29908,7 +29908,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis21, 1202, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis21, 1202, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1206 * return bn.slow.rankdata(arr, axis=21) @@ -29920,7 +29920,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis22, 1206, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis22, 1206, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1210 * return bn.slow.rankdata(arr, axis=22) @@ -29932,7 +29932,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis23, 1210, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis23, 1210, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1214 * return bn.slow.rankdata(arr, axis=23) @@ -29944,7 +29944,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis24, 1214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis24, 1214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1218 * return bn.slow.rankdata(arr, axis=24) @@ -29956,7 +29956,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis25, 1218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis25, 1218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1222 * return bn.slow.rankdata(arr, axis=25) @@ -29968,7 +29968,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis26, 1222, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis26, 1222, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1226 * return bn.slow.rankdata(arr, axis=26) @@ -29980,7 +29980,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis27, 1226, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis27, 1226, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1230 * return bn.slow.rankdata(arr, axis=27) @@ -29992,7 +29992,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis28, 1230, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis28, 1230, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1234 * return bn.slow.rankdata(arr, axis=28) @@ -30004,7 +30004,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis29, 1234, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis29, 1234, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1238 * return bn.slow.rankdata(arr, axis=29) @@ -30016,7 +30016,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis30, 1238, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis30, 1238, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1242 * return bn.slow.rankdata(arr, axis=30) @@ -30028,7 +30028,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis31, 1242, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis31, 1242, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1246 * return bn.slow.rankdata(arr, axis=31) @@ -30040,7 +30040,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axis32, 1246, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axis32, 1246, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1250 * return bn.slow.rankdata(arr, axis=32) @@ -30052,7 +30052,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_rankdata_slow_axisNone, 1250, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_rankdata_slow_axisNone, 1250, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1292 * "nanrankdata auto-generated from template" @@ -30064,7 +30064,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata, 1292, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata, 1292, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1336 * return func(arr) @@ -30076,7 +30076,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_key, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_selector, 1336, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_selector, 1336, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1413 * @cython.boundscheck(False) @@ -30088,7 +30088,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_1d_float_axis0, 1413, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_1d_float_axis0, 1413, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1457 * @cython.boundscheck(False) @@ -30100,7 +30100,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_1d_float32_axis0, 1457, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_1d_float32_axis0, 1457, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1501 * @cython.boundscheck(False) @@ -30112,7 +30112,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_1d_float64_axis0, 1501, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_1d_float64_axis0, 1501, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1545 * @cython.boundscheck(False) @@ -30124,7 +30124,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_2d_float_axis0, 1545, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_2d_float_axis0, 1545, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1545; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1599 * @cython.boundscheck(False) @@ -30136,7 +30136,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_2d_float_axis1, 1599, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_2d_float_axis1, 1599, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1653 * @cython.boundscheck(False) @@ -30148,7 +30148,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__137 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__137); __Pyx_GIVEREF(__pyx_tuple__137); - __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_2d_float32_axis0, 1653, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_2d_float32_axis0, 1653, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1707 * @cython.boundscheck(False) @@ -30160,7 +30160,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__139 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__139); __Pyx_GIVEREF(__pyx_tuple__139); - __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_2d_float32_axis1, 1707, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_2d_float32_axis1, 1707, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1761 * @cython.boundscheck(False) @@ -30172,7 +30172,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__141 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__141); __Pyx_GIVEREF(__pyx_tuple__141); - __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_2d_float64_axis0, 1761, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_2d_float64_axis0, 1761, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1761; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1815 * @cython.boundscheck(False) @@ -30184,10 +30184,10 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__143 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_dupcount, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_idx, __pyx_n_s_ivec, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_averank, __pyx_n_s_sumranks, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__143); __Pyx_GIVEREF(__pyx_tuple__143); - __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_2d_float64_axis1, 1815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_2d_float64_axis1, 1815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1890 - * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 + * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 * * def nanrankdata_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanrankdata along axis 0." @@ -30196,7 +30196,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__145 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1890; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__145); __Pyx_GIVEREF(__pyx_tuple__145); - __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis0, 1890, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1890; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis0, 1890, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1890; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1894 * return bn.slow.nanrankdata(arr, axis=0) @@ -30208,7 +30208,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__147 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__147); __Pyx_GIVEREF(__pyx_tuple__147); - __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis1, 1894, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis1, 1894, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1898 * return bn.slow.nanrankdata(arr, axis=1) @@ -30220,7 +30220,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__149 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__149); __Pyx_GIVEREF(__pyx_tuple__149); - __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis2, 1898, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis2, 1898, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1898; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1902 * return bn.slow.nanrankdata(arr, axis=2) @@ -30232,7 +30232,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__151 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__151); __Pyx_GIVEREF(__pyx_tuple__151); - __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis3, 1902, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis3, 1902, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1906 * return bn.slow.nanrankdata(arr, axis=3) @@ -30244,7 +30244,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__153 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__153); __Pyx_GIVEREF(__pyx_tuple__153); - __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis4, 1906, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis4, 1906, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1910 * return bn.slow.nanrankdata(arr, axis=4) @@ -30256,7 +30256,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__155 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__155); __Pyx_GIVEREF(__pyx_tuple__155); - __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis5, 1910, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis5, 1910, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1910; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1914 * return bn.slow.nanrankdata(arr, axis=5) @@ -30268,7 +30268,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__157 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__157); __Pyx_GIVEREF(__pyx_tuple__157); - __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis6, 1914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis6, 1914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1914; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1918 * return bn.slow.nanrankdata(arr, axis=6) @@ -30280,7 +30280,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__159 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__159); __Pyx_GIVEREF(__pyx_tuple__159); - __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis7, 1918, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis7, 1918, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1918; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1922 * return bn.slow.nanrankdata(arr, axis=7) @@ -30292,7 +30292,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__161 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__161); __Pyx_GIVEREF(__pyx_tuple__161); - __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis8, 1922, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis8, 1922, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1926 * return bn.slow.nanrankdata(arr, axis=8) @@ -30304,7 +30304,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__163 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__163); __Pyx_GIVEREF(__pyx_tuple__163); - __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis9, 1926, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis9, 1926, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1926; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1930 * return bn.slow.nanrankdata(arr, axis=9) @@ -30316,7 +30316,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__165 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__165)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__165); __Pyx_GIVEREF(__pyx_tuple__165); - __pyx_codeobj__166 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__165, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis10, 1930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__166)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__166 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__165, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis10, 1930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__166)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1930; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1934 * return bn.slow.nanrankdata(arr, axis=10) @@ -30328,7 +30328,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__167 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__167)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__167); __Pyx_GIVEREF(__pyx_tuple__167); - __pyx_codeobj__168 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__167, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis11, 1934, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__168)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__168 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__167, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis11, 1934, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__168)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1934; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1938 * return bn.slow.nanrankdata(arr, axis=11) @@ -30340,7 +30340,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__169 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__169)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__169); __Pyx_GIVEREF(__pyx_tuple__169); - __pyx_codeobj__170 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__169, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis12, 1938, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__170 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__169, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis12, 1938, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1938; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1942 * return bn.slow.nanrankdata(arr, axis=12) @@ -30352,7 +30352,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__171 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__171)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__171); __Pyx_GIVEREF(__pyx_tuple__171); - __pyx_codeobj__172 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__171, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis13, 1942, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__172)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__172 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__171, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis13, 1942, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__172)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1942; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1946 * return bn.slow.nanrankdata(arr, axis=13) @@ -30364,7 +30364,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__173 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__173)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__173); __Pyx_GIVEREF(__pyx_tuple__173); - __pyx_codeobj__174 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__173, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis14, 1946, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__174 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__173, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis14, 1946, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1946; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1950 * return bn.slow.nanrankdata(arr, axis=14) @@ -30376,7 +30376,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__175 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__175)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__175); __Pyx_GIVEREF(__pyx_tuple__175); - __pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__175, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis15, 1950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__175, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis15, 1950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1950; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1954 * return bn.slow.nanrankdata(arr, axis=15) @@ -30388,7 +30388,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__177 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__177)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__177); __Pyx_GIVEREF(__pyx_tuple__177); - __pyx_codeobj__178 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis16, 1954, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__178)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__178 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis16, 1954, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__178)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1954; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1958 * return bn.slow.nanrankdata(arr, axis=16) @@ -30400,7 +30400,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__179 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__179)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__179); __Pyx_GIVEREF(__pyx_tuple__179); - __pyx_codeobj__180 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__179, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis17, 1958, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__180)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__180 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__179, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis17, 1958, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__180)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1958; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1962 * return bn.slow.nanrankdata(arr, axis=17) @@ -30412,7 +30412,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__181 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__181)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1962; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__181); __Pyx_GIVEREF(__pyx_tuple__181); - __pyx_codeobj__182 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__181, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis18, 1962, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__182)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1962; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__182 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__181, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis18, 1962, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__182)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1962; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1966 * return bn.slow.nanrankdata(arr, axis=18) @@ -30424,7 +30424,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__183 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__183)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__183); __Pyx_GIVEREF(__pyx_tuple__183); - __pyx_codeobj__184 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__183, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis19, 1966, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__184)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__184 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__183, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis19, 1966, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__184)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1966; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1970 * return bn.slow.nanrankdata(arr, axis=19) @@ -30436,7 +30436,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__185 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__185)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__185); __Pyx_GIVEREF(__pyx_tuple__185); - __pyx_codeobj__186 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__185, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis20, 1970, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__186)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__186 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__185, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis20, 1970, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__186)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1970; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1974 * return bn.slow.nanrankdata(arr, axis=20) @@ -30448,7 +30448,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__187 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__187)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1974; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__187); __Pyx_GIVEREF(__pyx_tuple__187); - __pyx_codeobj__188 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__187, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis21, 1974, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__188)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1974; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__188 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__187, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis21, 1974, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__188)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1974; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1978 * return bn.slow.nanrankdata(arr, axis=21) @@ -30460,7 +30460,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__189 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__189)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1978; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__189); __Pyx_GIVEREF(__pyx_tuple__189); - __pyx_codeobj__190 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__189, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis22, 1978, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__190)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1978; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__190 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__189, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis22, 1978, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__190)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1978; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1982 * return bn.slow.nanrankdata(arr, axis=22) @@ -30472,7 +30472,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__191 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__191)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__191); __Pyx_GIVEREF(__pyx_tuple__191); - __pyx_codeobj__192 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__191, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis23, 1982, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__192)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__192 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__191, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis23, 1982, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__192)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1982; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1986 * return bn.slow.nanrankdata(arr, axis=23) @@ -30484,7 +30484,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__193 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__193)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__193); __Pyx_GIVEREF(__pyx_tuple__193); - __pyx_codeobj__194 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__193, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis24, 1986, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__194)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__194 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__193, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis24, 1986, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__194)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1986; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1990 * return bn.slow.nanrankdata(arr, axis=24) @@ -30496,7 +30496,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__195 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__195)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__195); __Pyx_GIVEREF(__pyx_tuple__195); - __pyx_codeobj__196 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__195, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis25, 1990, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__196)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__196 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__195, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis25, 1990, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__196)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1990; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1994 * return bn.slow.nanrankdata(arr, axis=25) @@ -30508,7 +30508,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__197 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__197)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__197); __Pyx_GIVEREF(__pyx_tuple__197); - __pyx_codeobj__198 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__197, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis26, 1994, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__198)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__198 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__197, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis26, 1994, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__198)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1994; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":1998 * return bn.slow.nanrankdata(arr, axis=26) @@ -30520,7 +30520,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__199 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__199)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1998; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__199); __Pyx_GIVEREF(__pyx_tuple__199); - __pyx_codeobj__200 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis27, 1998, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__200)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1998; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__200 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis27, 1998, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__200)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1998; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":2002 * return bn.slow.nanrankdata(arr, axis=27) @@ -30532,7 +30532,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__201 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__201)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__201); __Pyx_GIVEREF(__pyx_tuple__201); - __pyx_codeobj__202 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__201, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis28, 2002, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__202)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__202 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__201, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis28, 2002, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__202)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2002; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":2006 * return bn.slow.nanrankdata(arr, axis=28) @@ -30544,7 +30544,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__203 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__203)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2006; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__203); __Pyx_GIVEREF(__pyx_tuple__203); - __pyx_codeobj__204 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__203, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis29, 2006, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__204)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2006; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__204 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__203, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis29, 2006, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__204)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2006; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":2010 * return bn.slow.nanrankdata(arr, axis=29) @@ -30556,7 +30556,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__205 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__205)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__205); __Pyx_GIVEREF(__pyx_tuple__205); - __pyx_codeobj__206 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__205, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis30, 2010, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__206)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__206 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__205, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis30, 2010, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__206)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2010; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":2014 * return bn.slow.nanrankdata(arr, axis=30) @@ -30568,7 +30568,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__207 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__207)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__207); __Pyx_GIVEREF(__pyx_tuple__207); - __pyx_codeobj__208 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__207, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis31, 2014, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__208)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__208 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__207, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis31, 2014, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__208)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2014; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":2018 * return bn.slow.nanrankdata(arr, axis=31) @@ -30580,7 +30580,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__209 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__209)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__209); __Pyx_GIVEREF(__pyx_tuple__209); - __pyx_codeobj__210 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__209, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axis32, 2018, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__210)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__210 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__209, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axis32, 2018, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__210)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2018; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "rankdata.pyx":2022 * return bn.slow.nanrankdata(arr, axis=32) @@ -30592,7 +30592,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__211 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__211)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__211); __Pyx_GIVEREF(__pyx_tuple__211); - __pyx_codeobj__212 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__211, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_nanrankdata_slow_axisNone, 2022, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__212)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__212 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__211, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_nanrankdata_slow_axisNone, 2022, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__212)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2022; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -31560,261 +31560,261 @@ PyMODINIT_FUNC PyInit_rankdata(void) /* "rankdata.pyx":187 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int along axis=0, dealing with ties." + * def rankdata_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_5rankdata_1d_int_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_5rankdata_1d_float_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":225 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int8 along axis=0, dealing with ties." + * def rankdata_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float32 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_7rankdata_1d_int8_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_7rankdata_1d_float32_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":263 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int32 along axis=0, dealing with ties." + * def rankdata_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=float64 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_9rankdata_1d_int32_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_9rankdata_1d_float64_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":301 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=int64 along axis=0, dealing with ties." + * def rankdata_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_11rankdata_1d_int64_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_11rankdata_2d_float_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "rankdata.pyx":339 + /* "rankdata.pyx":347 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int along axis=0, dealing with ties." + * def rankdata_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_13rankdata_2d_int_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_13rankdata_2d_float_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "rankdata.pyx":385 + /* "rankdata.pyx":393 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int along axis=1, dealing with ties." + * def rankdata_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float32 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_15rankdata_2d_int_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_15rankdata_2d_float32_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "rankdata.pyx":431 + /* "rankdata.pyx":439 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int8 along axis=0, dealing with ties." + * def rankdata_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float32 along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_17rankdata_2d_int8_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_17rankdata_2d_float32_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "rankdata.pyx":477 + /* "rankdata.pyx":485 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int8 along axis=1, dealing with ties." + * def rankdata_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float64 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_19rankdata_2d_int8_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_19rankdata_2d_float64_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "rankdata.pyx":523 + /* "rankdata.pyx":531 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int32 along axis=0, dealing with ties." + * def rankdata_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=float64 along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_21rankdata_2d_int32_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_21rankdata_2d_float64_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "rankdata.pyx":569 + /* "rankdata.pyx":577 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int32 along axis=1, dealing with ties." + * def rankdata_1d_int_axis0(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_23rankdata_2d_int32_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_23rankdata_1d_int_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":615 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int64 along axis=0, dealing with ties." + * def rankdata_1d_int8_axis0(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int8 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_25rankdata_2d_int64_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_25rankdata_1d_int8_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "rankdata.pyx":661 + /* "rankdata.pyx":653 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=int64 along axis=1, dealing with ties." + * def rankdata_1d_int32_axis0(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int32 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_27rankdata_2d_int64_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_27rankdata_1d_int32_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "rankdata.pyx":707 + /* "rankdata.pyx":691 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float_axis0(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float along axis=0, dealing with ties." + * def rankdata_1d_int64_axis0(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Ranks n1d array with dtype=int64 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_29rankdata_1d_float_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_29rankdata_1d_int64_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "rankdata.pyx":745 + /* "rankdata.pyx":729 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float32_axis0(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float32 along axis=0, dealing with ties." + * def rankdata_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_31rankdata_1d_float32_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_31rankdata_2d_int_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "rankdata.pyx":783 + /* "rankdata.pyx":775 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_1d_float64_axis0(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Ranks n1d array with dtype=float64 along axis=0, dealing with ties." + * def rankdata_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_33rankdata_1d_float64_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_33rankdata_2d_int_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_1d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":821 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float along axis=0, dealing with ties." + * def rankdata_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int8 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_35rankdata_2d_float_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_35rankdata_2d_int8_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":867 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float along axis=1, dealing with ties." + * def rankdata_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int8 along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_37rankdata_2d_float_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_37rankdata_2d_int8_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":913 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float32 along axis=0, dealing with ties." + * def rankdata_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int32 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_39rankdata_2d_float32_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_39rankdata_2d_int32_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":959 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float32 along axis=1, dealing with ties." + * def rankdata_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int32 along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_41rankdata_2d_float32_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_41rankdata_2d_int32_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1005 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float64 along axis=0, dealing with ties." + * def rankdata_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int64 along axis=0, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_43rankdata_2d_float64_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_43rankdata_2d_int64_axis0, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1051 * @cython.boundscheck(False) * @cython.wraparound(False) - * def rankdata_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Ranks n2d array with dtype=float64 along axis=1, dealing with ties." + * def rankdata_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Ranks n2d array with dtype=int64 along axis=1, dealing with ties." * cdef dupcount = 0 */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_45rankdata_2d_float64_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_8rankdata_45rankdata_2d_int64_axis1, NULL, __pyx_n_s_rankdata); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_rankdata_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1095 * return y * * cdef dict rankdata_dict = {} # <<<<<<<<<<<<<< - * rankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 - * rankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 + * rankdata_dict[(1, NPY_float, 0)] = rankdata_1d_float_axis0 + * rankdata_dict[(1, NPY_float32, 0)] = rankdata_1d_float32_axis0 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -31826,17 +31826,17 @@ PyMODINIT_FUNC PyInit_rankdata(void) /* "rankdata.pyx":1096 * * cdef dict rankdata_dict = {} - * rankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 - * rankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 + * rankdata_dict[(1, NPY_float, 0)] = rankdata_1d_float_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(1, NPY_float32, 0)] = rankdata_1d_float32_axis0 + * rankdata_dict[(1, NPY_float64, 0)] = rankdata_1d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -31855,18 +31855,18 @@ PyMODINIT_FUNC PyInit_rankdata(void) /* "rankdata.pyx":1097 * cdef dict rankdata_dict = {} - * rankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 - * rankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 - * rankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 + * rankdata_dict[(1, NPY_float, 0)] = rankdata_1d_float_axis0 + * rankdata_dict[(1, NPY_float32, 0)] = rankdata_1d_float32_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(1, NPY_float64, 0)] = rankdata_1d_float64_axis0 + * rankdata_dict[(2, NPY_float, 0)] = rankdata_2d_float_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -31884,19 +31884,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1098 - * rankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 - * rankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 - * rankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 - * rankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 + * rankdata_dict[(1, NPY_float, 0)] = rankdata_1d_float_axis0 + * rankdata_dict[(1, NPY_float32, 0)] = rankdata_1d_float32_axis0 + * rankdata_dict[(1, NPY_float64, 0)] = rankdata_1d_float64_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_float, 0)] = rankdata_2d_float_axis0 + * rankdata_dict[(2, NPY_float, 1)] = rankdata_2d_float_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -31914,25 +31914,25 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1099 - * rankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 - * rankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 - * rankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 - * rankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 + * rankdata_dict[(1, NPY_float32, 0)] = rankdata_1d_float32_axis0 + * rankdata_dict[(1, NPY_float64, 0)] = rankdata_1d_float64_axis0 + * rankdata_dict[(2, NPY_float, 0)] = rankdata_2d_float_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_float, 1)] = rankdata_2d_float_axis1 + * rankdata_dict[(2, NPY_float32, 0)] = rankdata_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -31944,19 +31944,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1100 - * rankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 - * rankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 - * rankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 - * rankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 + * rankdata_dict[(1, NPY_float64, 0)] = rankdata_1d_float64_axis0 + * rankdata_dict[(2, NPY_float, 0)] = rankdata_2d_float_axis0 + * rankdata_dict[(2, NPY_float, 1)] = rankdata_2d_float_axis1 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_float32, 0)] = rankdata_2d_float32_axis0 + * rankdata_dict[(2, NPY_float32, 1)] = rankdata_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -31965,28 +31965,28 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_rankdata_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1101 - * rankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 - * rankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 - * rankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 - * rankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 + * rankdata_dict[(2, NPY_float, 0)] = rankdata_2d_float_axis0 + * rankdata_dict[(2, NPY_float, 1)] = rankdata_2d_float_axis1 + * rankdata_dict[(2, NPY_float32, 0)] = rankdata_2d_float32_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_float32, 1)] = rankdata_2d_float32_axis1 + * rankdata_dict[(2, NPY_float64, 0)] = rankdata_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -31995,28 +31995,28 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_rankdata_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1102 - * rankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 - * rankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 - * rankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 - * rankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 + * rankdata_dict[(2, NPY_float, 1)] = rankdata_2d_float_axis1 + * rankdata_dict[(2, NPY_float32, 0)] = rankdata_2d_float32_axis0 + * rankdata_dict[(2, NPY_float32, 1)] = rankdata_2d_float32_axis1 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_float64, 0)] = rankdata_2d_float64_axis0 + * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -32025,28 +32025,28 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_rankdata_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1103 - * rankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 - * rankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 - * rankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 - * rankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 + * rankdata_dict[(2, NPY_float32, 0)] = rankdata_2d_float32_axis0 + * rankdata_dict[(2, NPY_float32, 1)] = rankdata_2d_float32_axis1 + * rankdata_dict[(2, NPY_float64, 0)] = rankdata_2d_float64_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 + * rankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -32055,28 +32055,28 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_rankdata_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1104 - * rankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 - * rankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 - * rankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 - * rankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 + * rankdata_dict[(2, NPY_float32, 1)] = rankdata_2d_float32_axis1 + * rankdata_dict[(2, NPY_float64, 0)] = rankdata_2d_float64_axis0 + * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 # <<<<<<<<<<<<<< + * rankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 + * rankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -32085,64 +32085,64 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_rankdata_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1105 - * rankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 - * rankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 - * rankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 - * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 + * rankdata_dict[(2, NPY_float64, 0)] = rankdata_2d_float64_axis0 + * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 + * rankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 + * rankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_rankdata_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1106 - * rankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 - * rankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 - * rankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 - * rankdata_dict[(1, NPY_float, 0)] = rankdata_1d_float_axis0 + * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 + * rankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 + * rankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 + * rankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -32154,49 +32154,49 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1107 - * rankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 - * rankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 - * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 # <<<<<<<<<<<<<< - * rankdata_dict[(1, NPY_float, 0)] = rankdata_1d_float_axis0 - * rankdata_dict[(1, NPY_float32, 0)] = rankdata_1d_float32_axis0 + * rankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 + * rankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 + * rankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 + * rankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_rankdata_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1108 - * rankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 - * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 - * rankdata_dict[(1, NPY_float, 0)] = rankdata_1d_float_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(1, NPY_float32, 0)] = rankdata_1d_float32_axis0 - * rankdata_dict[(1, NPY_float64, 0)] = rankdata_1d_float64_axis0 + * rankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 + * rankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 + * rankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 + * rankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -32214,25 +32214,25 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1109 - * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 - * rankdata_dict[(1, NPY_float, 0)] = rankdata_1d_float_axis0 - * rankdata_dict[(1, NPY_float32, 0)] = rankdata_1d_float32_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(1, NPY_float64, 0)] = rankdata_1d_float64_axis0 - * rankdata_dict[(2, NPY_float, 0)] = rankdata_2d_float_axis0 + * rankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 + * rankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 + * rankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 + * rankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -32244,49 +32244,49 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1110 - * rankdata_dict[(1, NPY_float, 0)] = rankdata_1d_float_axis0 - * rankdata_dict[(1, NPY_float32, 0)] = rankdata_1d_float32_axis0 - * rankdata_dict[(1, NPY_float64, 0)] = rankdata_1d_float64_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_float, 0)] = rankdata_2d_float_axis0 - * rankdata_dict[(2, NPY_float, 1)] = rankdata_2d_float_axis1 + * rankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 + * rankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 + * rankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 + * rankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_rankdata_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1111 - * rankdata_dict[(1, NPY_float32, 0)] = rankdata_1d_float32_axis0 - * rankdata_dict[(1, NPY_float64, 0)] = rankdata_1d_float64_axis0 - * rankdata_dict[(2, NPY_float, 0)] = rankdata_2d_float_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_float, 1)] = rankdata_2d_float_axis1 - * rankdata_dict[(2, NPY_float32, 0)] = rankdata_2d_float32_axis0 + * rankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 + * rankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 + * rankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 + * rankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -32304,19 +32304,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1112 - * rankdata_dict[(1, NPY_float64, 0)] = rankdata_1d_float64_axis0 - * rankdata_dict[(2, NPY_float, 0)] = rankdata_2d_float_axis0 - * rankdata_dict[(2, NPY_float, 1)] = rankdata_2d_float_axis1 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_float32, 0)] = rankdata_2d_float32_axis0 - * rankdata_dict[(2, NPY_float32, 1)] = rankdata_2d_float32_axis1 + * rankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 + * rankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 + * rankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 + * rankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -32334,19 +32334,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1113 - * rankdata_dict[(2, NPY_float, 0)] = rankdata_2d_float_axis0 - * rankdata_dict[(2, NPY_float, 1)] = rankdata_2d_float_axis1 - * rankdata_dict[(2, NPY_float32, 0)] = rankdata_2d_float32_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_float32, 1)] = rankdata_2d_float32_axis1 - * rankdata_dict[(2, NPY_float64, 0)] = rankdata_2d_float64_axis0 + * rankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 + * rankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 + * rankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 + * rankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -32364,19 +32364,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1114 - * rankdata_dict[(2, NPY_float, 1)] = rankdata_2d_float_axis1 - * rankdata_dict[(2, NPY_float32, 0)] = rankdata_2d_float32_axis0 - * rankdata_dict[(2, NPY_float32, 1)] = rankdata_2d_float32_axis1 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_float64, 0)] = rankdata_2d_float64_axis0 - * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 + * rankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 + * rankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 + * rankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 + * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -32394,19 +32394,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1115 - * rankdata_dict[(2, NPY_float32, 0)] = rankdata_2d_float32_axis0 - * rankdata_dict[(2, NPY_float32, 1)] = rankdata_2d_float32_axis1 - * rankdata_dict[(2, NPY_float64, 0)] = rankdata_2d_float64_axis0 # <<<<<<<<<<<<<< - * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 + * rankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 + * rankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 + * rankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -32424,19 +32424,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1116 - * rankdata_dict[(2, NPY_float32, 1)] = rankdata_2d_float32_axis1 - * rankdata_dict[(2, NPY_float64, 0)] = rankdata_2d_float64_axis0 - * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 # <<<<<<<<<<<<<< + * rankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 + * rankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 + * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 # <<<<<<<<<<<<<< * * def rankdata_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_rankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -32454,7 +32454,7 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1118 - * rankdata_dict[(2, NPY_float64, 1)] = rankdata_2d_float64_axis1 + * rankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 * * def rankdata_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) rankdata along axis 0." @@ -33555,8 +33555,8 @@ PyMODINIT_FUNC PyInit_rankdata(void) * return y * * cdef dict nanrankdata_dict = {} # <<<<<<<<<<<<<< - * nanrankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 - * nanrankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 + * nanrankdata_dict[(1, NPY_float, 0)] = nanrankdata_1d_float_axis0 + * nanrankdata_dict[(1, NPY_float32, 0)] = nanrankdata_1d_float32_axis0 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -33568,17 +33568,17 @@ PyMODINIT_FUNC PyInit_rankdata(void) /* "rankdata.pyx":1868 * * cdef dict nanrankdata_dict = {} - * nanrankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 - * nanrankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 + * nanrankdata_dict[(1, NPY_float, 0)] = nanrankdata_1d_float_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(1, NPY_float32, 0)] = nanrankdata_1d_float32_axis0 + * nanrankdata_dict[(1, NPY_float64, 0)] = nanrankdata_1d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -33597,18 +33597,18 @@ PyMODINIT_FUNC PyInit_rankdata(void) /* "rankdata.pyx":1869 * cdef dict nanrankdata_dict = {} - * nanrankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 - * nanrankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 - * nanrankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 + * nanrankdata_dict[(1, NPY_float, 0)] = nanrankdata_1d_float_axis0 + * nanrankdata_dict[(1, NPY_float32, 0)] = nanrankdata_1d_float32_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(1, NPY_float64, 0)] = nanrankdata_1d_float64_axis0 + * nanrankdata_dict[(2, NPY_float, 0)] = nanrankdata_2d_float_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1869; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -33626,19 +33626,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1870 - * nanrankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 - * nanrankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 - * nanrankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 - * nanrankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 + * nanrankdata_dict[(1, NPY_float, 0)] = nanrankdata_1d_float_axis0 + * nanrankdata_dict[(1, NPY_float32, 0)] = nanrankdata_1d_float32_axis0 + * nanrankdata_dict[(1, NPY_float64, 0)] = nanrankdata_1d_float64_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_float, 0)] = nanrankdata_2d_float_axis0 + * nanrankdata_dict[(2, NPY_float, 1)] = nanrankdata_2d_float_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -33656,25 +33656,25 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1871 - * nanrankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 - * nanrankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 - * nanrankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 - * nanrankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 + * nanrankdata_dict[(1, NPY_float32, 0)] = nanrankdata_1d_float32_axis0 + * nanrankdata_dict[(1, NPY_float64, 0)] = nanrankdata_1d_float64_axis0 + * nanrankdata_dict[(2, NPY_float, 0)] = nanrankdata_2d_float_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_float, 1)] = nanrankdata_2d_float_axis1 + * nanrankdata_dict[(2, NPY_float32, 0)] = nanrankdata_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -33686,19 +33686,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1872 - * nanrankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 - * nanrankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 - * nanrankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 - * nanrankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 + * nanrankdata_dict[(1, NPY_float64, 0)] = nanrankdata_1d_float64_axis0 + * nanrankdata_dict[(2, NPY_float, 0)] = nanrankdata_2d_float_axis0 + * nanrankdata_dict[(2, NPY_float, 1)] = nanrankdata_2d_float_axis1 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_float32, 0)] = nanrankdata_2d_float32_axis0 + * nanrankdata_dict[(2, NPY_float32, 1)] = nanrankdata_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1872; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1872; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1872; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1872; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1872; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1872; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -33707,28 +33707,28 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_nanrankdata_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1872; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1873 - * nanrankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 - * nanrankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 - * nanrankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 - * nanrankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 + * nanrankdata_dict[(2, NPY_float, 0)] = nanrankdata_2d_float_axis0 + * nanrankdata_dict[(2, NPY_float, 1)] = nanrankdata_2d_float_axis1 + * nanrankdata_dict[(2, NPY_float32, 0)] = nanrankdata_2d_float32_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_float32, 1)] = nanrankdata_2d_float32_axis1 + * nanrankdata_dict[(2, NPY_float64, 0)] = nanrankdata_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -33737,28 +33737,28 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_nanrankdata_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1873; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1874 - * nanrankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 - * nanrankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 - * nanrankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 - * nanrankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 + * nanrankdata_dict[(2, NPY_float, 1)] = nanrankdata_2d_float_axis1 + * nanrankdata_dict[(2, NPY_float32, 0)] = nanrankdata_2d_float32_axis0 + * nanrankdata_dict[(2, NPY_float32, 1)] = nanrankdata_2d_float32_axis1 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_float64, 0)] = nanrankdata_2d_float64_axis0 + * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -33767,28 +33767,28 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_nanrankdata_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1874; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1875 - * nanrankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 - * nanrankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 - * nanrankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 - * nanrankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 + * nanrankdata_dict[(2, NPY_float32, 0)] = nanrankdata_2d_float32_axis0 + * nanrankdata_dict[(2, NPY_float32, 1)] = nanrankdata_2d_float32_axis1 + * nanrankdata_dict[(2, NPY_float64, 0)] = nanrankdata_2d_float64_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 + * nanrankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -33797,28 +33797,28 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_nanrankdata_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1876 - * nanrankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 - * nanrankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 - * nanrankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 - * nanrankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 + * nanrankdata_dict[(2, NPY_float32, 1)] = nanrankdata_2d_float32_axis1 + * nanrankdata_dict[(2, NPY_float64, 0)] = nanrankdata_2d_float64_axis0 + * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanrankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 + * nanrankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -33827,64 +33827,64 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_nanrankdata_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1876; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1877 - * nanrankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 - * nanrankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 - * nanrankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 - * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 + * nanrankdata_dict[(2, NPY_float64, 0)] = nanrankdata_2d_float64_axis0 + * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 + * nanrankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 + * nanrankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_nanrankdata_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1878 - * nanrankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 - * nanrankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 - * nanrankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 - * nanrankdata_dict[(1, NPY_float, 0)] = nanrankdata_1d_float_axis0 + * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 + * nanrankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 + * nanrankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 + * nanrankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -33896,49 +33896,49 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1879 - * nanrankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 - * nanrankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 - * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 # <<<<<<<<<<<<<< - * nanrankdata_dict[(1, NPY_float, 0)] = nanrankdata_1d_float_axis0 - * nanrankdata_dict[(1, NPY_float32, 0)] = nanrankdata_1d_float32_axis0 + * nanrankdata_dict[(1, NPY_int, 0)] = rankdata_1d_int_axis0 + * nanrankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 + * nanrankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 + * nanrankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_nanrankdata_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1880 - * nanrankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 - * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 - * nanrankdata_dict[(1, NPY_float, 0)] = nanrankdata_1d_float_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(1, NPY_float32, 0)] = nanrankdata_1d_float32_axis0 - * nanrankdata_dict[(1, NPY_float64, 0)] = nanrankdata_1d_float64_axis0 + * nanrankdata_dict[(1, NPY_int8, 0)] = rankdata_1d_int8_axis0 + * nanrankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 + * nanrankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 + * nanrankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_1d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_1d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -33956,25 +33956,25 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1881 - * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 - * nanrankdata_dict[(1, NPY_float, 0)] = nanrankdata_1d_float_axis0 - * nanrankdata_dict[(1, NPY_float32, 0)] = nanrankdata_1d_float32_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(1, NPY_float64, 0)] = nanrankdata_1d_float64_axis0 - * nanrankdata_dict[(2, NPY_float, 0)] = nanrankdata_2d_float_axis0 + * nanrankdata_dict[(1, NPY_int32, 0)] = rankdata_1d_int32_axis0 + * nanrankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 + * nanrankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 + * nanrankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_1d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -33986,49 +33986,49 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1882 - * nanrankdata_dict[(1, NPY_float, 0)] = nanrankdata_1d_float_axis0 - * nanrankdata_dict[(1, NPY_float32, 0)] = nanrankdata_1d_float32_axis0 - * nanrankdata_dict[(1, NPY_float64, 0)] = nanrankdata_1d_float64_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_float, 0)] = nanrankdata_2d_float_axis0 - * nanrankdata_dict[(2, NPY_float, 1)] = nanrankdata_2d_float_axis1 + * nanrankdata_dict[(1, NPY_int64, 0)] = rankdata_1d_int64_axis0 + * nanrankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 + * nanrankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 + * nanrankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_1d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_8rankdata_nanrankdata_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1882; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1883 - * nanrankdata_dict[(1, NPY_float32, 0)] = nanrankdata_1d_float32_axis0 - * nanrankdata_dict[(1, NPY_float64, 0)] = nanrankdata_1d_float64_axis0 - * nanrankdata_dict[(2, NPY_float, 0)] = nanrankdata_2d_float_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_float, 1)] = nanrankdata_2d_float_axis1 - * nanrankdata_dict[(2, NPY_float32, 0)] = nanrankdata_2d_float32_axis0 + * nanrankdata_dict[(2, NPY_int, 0)] = rankdata_2d_int_axis0 + * nanrankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 + * nanrankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 + * nanrankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -34046,19 +34046,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1884 - * nanrankdata_dict[(1, NPY_float64, 0)] = nanrankdata_1d_float64_axis0 - * nanrankdata_dict[(2, NPY_float, 0)] = nanrankdata_2d_float_axis0 - * nanrankdata_dict[(2, NPY_float, 1)] = nanrankdata_2d_float_axis1 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_float32, 0)] = nanrankdata_2d_float32_axis0 - * nanrankdata_dict[(2, NPY_float32, 1)] = nanrankdata_2d_float32_axis1 + * nanrankdata_dict[(2, NPY_int, 1)] = rankdata_2d_int_axis1 + * nanrankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 + * nanrankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 + * nanrankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -34076,19 +34076,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1885 - * nanrankdata_dict[(2, NPY_float, 0)] = nanrankdata_2d_float_axis0 - * nanrankdata_dict[(2, NPY_float, 1)] = nanrankdata_2d_float_axis1 - * nanrankdata_dict[(2, NPY_float32, 0)] = nanrankdata_2d_float32_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_float32, 1)] = nanrankdata_2d_float32_axis1 - * nanrankdata_dict[(2, NPY_float64, 0)] = nanrankdata_2d_float64_axis0 + * nanrankdata_dict[(2, NPY_int8, 0)] = rankdata_2d_int8_axis0 + * nanrankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 + * nanrankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 + * nanrankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1885; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -34106,19 +34106,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1886 - * nanrankdata_dict[(2, NPY_float, 1)] = nanrankdata_2d_float_axis1 - * nanrankdata_dict[(2, NPY_float32, 0)] = nanrankdata_2d_float32_axis0 - * nanrankdata_dict[(2, NPY_float32, 1)] = nanrankdata_2d_float32_axis1 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_float64, 0)] = nanrankdata_2d_float64_axis0 - * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 + * nanrankdata_dict[(2, NPY_int8, 1)] = rankdata_2d_int8_axis1 + * nanrankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 + * nanrankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 + * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -34136,19 +34136,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1887 - * nanrankdata_dict[(2, NPY_float32, 0)] = nanrankdata_2d_float32_axis0 - * nanrankdata_dict[(2, NPY_float32, 1)] = nanrankdata_2d_float32_axis1 - * nanrankdata_dict[(2, NPY_float64, 0)] = nanrankdata_2d_float64_axis0 # <<<<<<<<<<<<<< - * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 + * nanrankdata_dict[(2, NPY_int32, 0)] = rankdata_2d_int32_axis0 + * nanrankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 + * nanrankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -34166,19 +34166,19 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1888 - * nanrankdata_dict[(2, NPY_float32, 1)] = nanrankdata_2d_float32_axis1 - * nanrankdata_dict[(2, NPY_float64, 0)] = nanrankdata_2d_float64_axis0 - * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 # <<<<<<<<<<<<<< + * nanrankdata_dict[(2, NPY_int32, 1)] = rankdata_2d_int32_axis1 + * nanrankdata_dict[(2, NPY_int64, 0)] = rankdata_2d_int64_axis0 + * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 # <<<<<<<<<<<<<< * * def nanrankdata_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_nanrankdata_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1888; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_rankdata_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1888; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_8rankdata_nanrankdata_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1888; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1888; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1888; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1888; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -34196,7 +34196,7 @@ PyMODINIT_FUNC PyInit_rankdata(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "rankdata.pyx":1890 - * nanrankdata_dict[(2, NPY_float64, 1)] = nanrankdata_2d_float64_axis1 + * nanrankdata_dict[(2, NPY_int64, 1)] = rankdata_2d_int64_axis1 * * def nanrankdata_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) nanrankdata along axis 0." @@ -35172,7 +35172,7 @@ PyMODINIT_FUNC PyInit_rankdata(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/replace.c b/bottlechest/src/func/64bit/replace.c index 39a255c3b9..669b5cdd38 100644 --- a/bottlechest/src/func/64bit/replace.c +++ b/bottlechest/src/func/64bit/replace.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1286,15 +1286,14 @@ static char __pyx_k_Cannot_safely_cast_old_to_int[] = "Cannot safely cast `old` static char __pyx_k_Replace_inplace_given_scalar_va[] = "\n Replace (inplace) given scalar values of an array with new values.\n\n The equivalent numpy function:\n \n arr[arr==old] = new\n \n Or in the case where old=np.nan:\n\n arr[np.isnan(old)] = new\n\n Parameters\n ----------\n arr : numpy.ndarray\n The input array, which is also the output array since this functions\n works inplace.\n old : scalar\n All elements in `arr` with this value will be replaced by `new`.\n new : scalar\n All elements in `arr` with a value of `old` will be replaced by `new`.\n\n Returns\n -------\n None, the operation is inplace. \n \n Examples\n --------\n Replace zero with 3 (note that the input array is modified):\n\n >>> a = np.array([1, 2, 0])\n >>> bn.replace(a, 0, 3)\n >>> a\n array([1, 2, 3])\n\n Replace np.nan with 0:\n\n >>> a = np.array([1, 2, np.nan])\n >>> bn.replace(a, np.nan, 0)\n >>> a\n array([ 1., 2., 0.])\n \n "; static char __pyx_k_Return_replace_function_and_arr[] = "\n Return replace function and array that matches `arr`.\n \n Under the hood Bottleneck uses a separate replace() Cython function for\n each combination of ndim and dtype. A lot of the overhead in bn.replace()\n is inselecting the low level function to use.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using this function.\n\n Parameters\n ----------\n arr : numpy.ndarray\n Input array.\n \n Returns\n -------\n func : function\n The replace() function that matches the number of dimensions and dtype\n of the input array.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, np.nan, 3.0])\n \n Obtain the function needed to replace values in `arr`:\n\n >>> func = bn.func.replace_selector(arr)\n >>> func\n \n\n Use the returned function to replace NaN with zero:\n\n >>> func(arr, np.nan, 0)\n >>> arr\n array([ 1., 0., 3.])\n\n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/replace.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\replace.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Cannot_safely_cast_new_to_int; static PyObject *__pyx_kp_s_Cannot_safely_cast_old_to_int; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; @@ -1310,6 +1309,7 @@ static PyObject *__pyx_kp_u_Return_replace_function_and_arr; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__24; static PyObject *__pyx_n_s_a; @@ -11970,7 +11970,7 @@ static PyObject *__pyx_pf_7replace_98replace_slow_axisNone(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -12020,7 +12020,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -12033,7 +12033,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -12042,7 +12042,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -12051,7 +12051,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -12060,7 +12060,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -12070,7 +12070,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -12082,7 +12082,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -12093,7 +12093,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12109,7 +12109,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12121,7 +12121,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -12135,7 +12135,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12151,7 +12151,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12163,7 +12163,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -12177,7 +12177,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -12186,7 +12186,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -12195,7 +12195,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -12205,7 +12205,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -12214,7 +12214,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -12223,7 +12223,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -12234,7 +12234,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -12243,7 +12243,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -12256,7 +12256,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -12265,7 +12265,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -12276,7 +12276,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -12285,7 +12285,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -12294,7 +12294,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -12303,7 +12303,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -12312,7 +12312,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -12324,7 +12324,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -12333,7 +12333,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -12353,7 +12353,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -12369,7 +12369,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -12384,7 +12384,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -12394,7 +12394,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -12404,7 +12404,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -12427,7 +12427,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -12447,7 +12447,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -12461,7 +12461,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -12470,7 +12470,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -12481,7 +12481,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -12492,7 +12492,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -12503,7 +12503,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -12514,7 +12514,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -12525,7 +12525,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -12536,7 +12536,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -12547,7 +12547,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -12558,7 +12558,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -12569,7 +12569,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -12580,7 +12580,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -12591,7 +12591,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -12602,7 +12602,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -12613,7 +12613,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -12624,7 +12624,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -12635,7 +12635,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -12646,7 +12646,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -12658,7 +12658,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -12684,7 +12684,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -12693,7 +12693,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -12705,7 +12705,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -12714,7 +12714,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -12723,7 +12723,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -12732,7 +12732,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -12742,7 +12742,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -12752,7 +12752,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -12784,7 +12784,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -12808,7 +12808,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -12818,7 +12818,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -12830,7 +12830,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -12840,7 +12840,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -12852,7 +12852,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -12864,7 +12864,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -12881,7 +12881,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -12895,7 +12895,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -12914,7 +12914,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -12931,7 +12931,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -12945,7 +12945,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -12964,7 +12964,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -12981,7 +12981,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -12995,7 +12995,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13014,7 +13014,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13031,7 +13031,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -13045,7 +13045,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13064,7 +13064,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13081,7 +13081,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -13095,7 +13095,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13114,7 +13114,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -13146,7 +13146,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -13155,7 +13155,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -13164,7 +13164,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -13186,7 +13186,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -13199,7 +13199,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -13238,7 +13238,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -13255,7 +13255,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -13269,7 +13269,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -13292,7 +13292,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -13312,7 +13312,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -13326,7 +13326,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -13342,7 +13342,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -13351,7 +13351,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -13360,7 +13360,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -13371,7 +13371,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -13381,7 +13381,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -13391,7 +13391,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -13403,7 +13403,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -13413,7 +13413,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -13427,7 +13427,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -13445,7 +13445,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -13463,7 +13463,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -13481,7 +13481,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -13499,7 +13499,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -13517,7 +13517,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -13535,7 +13535,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -13553,7 +13553,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -13571,7 +13571,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -13589,7 +13589,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -13607,7 +13607,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -13625,7 +13625,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -13643,7 +13643,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -13661,7 +13661,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -13681,7 +13681,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -13701,7 +13701,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -13721,7 +13721,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -13740,7 +13740,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -13763,7 +13763,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -13775,7 +13775,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -13787,7 +13787,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -13797,7 +13797,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -13807,7 +13807,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -13832,7 +13832,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -13847,7 +13847,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -13858,7 +13858,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -13870,7 +13870,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -13879,7 +13879,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -13890,7 +13890,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -13899,7 +13899,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -13908,7 +13908,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -13920,7 +13920,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -13934,7 +13934,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -13944,7 +13944,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -13958,7 +13958,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -13969,7 +13969,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14007,7 +14007,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Cannot_safely_cast_new_to_int, __pyx_k_Cannot_safely_cast_new_to_int, sizeof(__pyx_k_Cannot_safely_cast_new_to_int), 0, 0, 1, 0}, {&__pyx_kp_s_Cannot_safely_cast_old_to_int, __pyx_k_Cannot_safely_cast_old_to_int, sizeof(__pyx_k_Cannot_safely_cast_old_to_int), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, @@ -14023,6 +14022,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__24, __pyx_k__24, sizeof(__pyx_k__24), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -14328,7 +14328,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -14339,7 +14339,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -14350,7 +14350,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14361,7 +14361,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__20); __Pyx_GIVEREF(__pyx_tuple__20); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -14372,7 +14372,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14383,7 +14383,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -14415,7 +14415,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__26 = PyTuple_Pack(4, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_func); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__26); __Pyx_GIVEREF(__pyx_tuple__26); - __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":114 * return func(arr, old, new) @@ -14427,7 +14427,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__28 = PyTuple_Pack(7, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__28); __Pyx_GIVEREF(__pyx_tuple__28); - __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_selector, 114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_selector, 114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":174 * @cython.boundscheck(False) @@ -14439,7 +14439,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__30 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_oldint, __pyx_n_s_newint, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30); - __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_1d_int_axisNone, 174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_1d_int_axisNone, 174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":197 * @cython.boundscheck(False) @@ -14451,7 +14451,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__32 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_oldint, __pyx_n_s_newint, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__32); __Pyx_GIVEREF(__pyx_tuple__32); - __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_1d_int8_axisNone, 197, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_1d_int8_axisNone, 197, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":220 * @cython.boundscheck(False) @@ -14463,7 +14463,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__34 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_oldint, __pyx_n_s_newint, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__34); __Pyx_GIVEREF(__pyx_tuple__34); - __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_1d_int32_axisNone, 220, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_1d_int32_axisNone, 220, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":243 * @cython.boundscheck(False) @@ -14475,7 +14475,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__36 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_oldint, __pyx_n_s_newint, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); - __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_1d_int64_axisNone, 243, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_1d_int64_axisNone, 243, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":266 * @cython.boundscheck(False) @@ -14487,7 +14487,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__38 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_oldint, __pyx_n_s_newint, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__38); __Pyx_GIVEREF(__pyx_tuple__38); - __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(3, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_2d_int_axisNone, 266, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(3, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_2d_int_axisNone, 266, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":291 * @cython.boundscheck(False) @@ -14499,7 +14499,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__40 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_oldint, __pyx_n_s_newint, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__40); __Pyx_GIVEREF(__pyx_tuple__40); - __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(3, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_2d_int8_axisNone, 291, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(3, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_2d_int8_axisNone, 291, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":316 * @cython.boundscheck(False) @@ -14511,7 +14511,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__42 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_oldint, __pyx_n_s_newint, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__42); __Pyx_GIVEREF(__pyx_tuple__42); - __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(3, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_2d_int32_axisNone, 316, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(3, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_2d_int32_axisNone, 316, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":341 * @cython.boundscheck(False) @@ -14523,7 +14523,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__44 = PyTuple_Pack(12, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_asum, __pyx_n_s_ai, __pyx_n_s_oldint, __pyx_n_s_newint, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__44); __Pyx_GIVEREF(__pyx_tuple__44); - __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(3, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_2d_int64_axisNone, 341, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(3, 0, 12, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_2d_int64_axisNone, 341, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":366 * @cython.boundscheck(False) @@ -14535,7 +14535,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__46 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__46); __Pyx_GIVEREF(__pyx_tuple__46); - __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_1d_float_axisNone, 366, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_1d_float_axisNone, 366, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":387 * @cython.boundscheck(False) @@ -14547,7 +14547,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__48 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__48); __Pyx_GIVEREF(__pyx_tuple__48); - __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_1d_float32_axisNone, 387, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_1d_float32_axisNone, 387, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":408 * @cython.boundscheck(False) @@ -14559,7 +14559,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__50 = PyTuple_Pack(7, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__50); __Pyx_GIVEREF(__pyx_tuple__50); - __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_1d_float64_axisNone, 408, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_1d_float64_axisNone, 408, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":429 * @cython.boundscheck(False) @@ -14571,7 +14571,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__52 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__52); __Pyx_GIVEREF(__pyx_tuple__52); - __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_2d_float_axisNone, 429, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_2d_float_axisNone, 429, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":453 * @cython.boundscheck(False) @@ -14583,7 +14583,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__54 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__54); __Pyx_GIVEREF(__pyx_tuple__54); - __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_2d_float32_axisNone, 453, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_2d_float32_axisNone, 453, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":477 * @cython.boundscheck(False) @@ -14595,7 +14595,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__56 = PyTuple_Pack(9, __pyx_n_s_a, __pyx_n_s_old, __pyx_n_s_new, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__56); __Pyx_GIVEREF(__pyx_tuple__56); - __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_2d_float64_axisNone, 477, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_2d_float64_axisNone, 477, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":522 * replace_dict[(2, NPY_float64, None)] = replace_2d_float64_axisNone @@ -14607,7 +14607,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__58 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__58); __Pyx_GIVEREF(__pyx_tuple__58); - __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis0, 522, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis0, 522, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":526 * return bn.slow.replace(arr, old, new) @@ -14619,7 +14619,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__60 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__60); __Pyx_GIVEREF(__pyx_tuple__60); - __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis1, 526, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis1, 526, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":530 * return bn.slow.replace(arr, old, new) @@ -14631,7 +14631,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__62 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__62); __Pyx_GIVEREF(__pyx_tuple__62); - __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis2, 530, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis2, 530, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":534 * return bn.slow.replace(arr, old, new) @@ -14643,7 +14643,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__64 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__64); __Pyx_GIVEREF(__pyx_tuple__64); - __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis3, 534, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis3, 534, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":538 * return bn.slow.replace(arr, old, new) @@ -14655,7 +14655,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__66 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__66); __Pyx_GIVEREF(__pyx_tuple__66); - __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis4, 538, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis4, 538, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":542 * return bn.slow.replace(arr, old, new) @@ -14667,7 +14667,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__68 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__68); __Pyx_GIVEREF(__pyx_tuple__68); - __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis5, 542, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis5, 542, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":546 * return bn.slow.replace(arr, old, new) @@ -14679,7 +14679,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__70 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__70); __Pyx_GIVEREF(__pyx_tuple__70); - __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis6, 546, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis6, 546, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":550 * return bn.slow.replace(arr, old, new) @@ -14691,7 +14691,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__72 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__72); __Pyx_GIVEREF(__pyx_tuple__72); - __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis7, 550, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis7, 550, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":554 * return bn.slow.replace(arr, old, new) @@ -14703,7 +14703,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__74 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__74); __Pyx_GIVEREF(__pyx_tuple__74); - __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis8, 554, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis8, 554, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":558 * return bn.slow.replace(arr, old, new) @@ -14715,7 +14715,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__76 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__76); __Pyx_GIVEREF(__pyx_tuple__76); - __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis9, 558, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis9, 558, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":562 * return bn.slow.replace(arr, old, new) @@ -14727,7 +14727,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__78 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__78); __Pyx_GIVEREF(__pyx_tuple__78); - __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis10, 562, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis10, 562, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":566 * return bn.slow.replace(arr, old, new) @@ -14739,7 +14739,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__80 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__80); __Pyx_GIVEREF(__pyx_tuple__80); - __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis11, 566, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis11, 566, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":570 * return bn.slow.replace(arr, old, new) @@ -14751,7 +14751,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__82 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__82); __Pyx_GIVEREF(__pyx_tuple__82); - __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis12, 570, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis12, 570, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":574 * return bn.slow.replace(arr, old, new) @@ -14763,7 +14763,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__84 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__84); __Pyx_GIVEREF(__pyx_tuple__84); - __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis13, 574, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis13, 574, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":578 * return bn.slow.replace(arr, old, new) @@ -14775,7 +14775,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__86 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__86); __Pyx_GIVEREF(__pyx_tuple__86); - __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis14, 578, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis14, 578, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":582 * return bn.slow.replace(arr, old, new) @@ -14787,7 +14787,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__88 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__88); __Pyx_GIVEREF(__pyx_tuple__88); - __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis15, 582, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis15, 582, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":586 * return bn.slow.replace(arr, old, new) @@ -14799,7 +14799,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__90 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__90); __Pyx_GIVEREF(__pyx_tuple__90); - __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis16, 586, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis16, 586, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":590 * return bn.slow.replace(arr, old, new) @@ -14811,7 +14811,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__92 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__92); __Pyx_GIVEREF(__pyx_tuple__92); - __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis17, 590, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis17, 590, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":594 * return bn.slow.replace(arr, old, new) @@ -14823,7 +14823,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__94 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__94); __Pyx_GIVEREF(__pyx_tuple__94); - __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis18, 594, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis18, 594, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":598 * return bn.slow.replace(arr, old, new) @@ -14835,7 +14835,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__96 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__96); __Pyx_GIVEREF(__pyx_tuple__96); - __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis19, 598, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis19, 598, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":602 * return bn.slow.replace(arr, old, new) @@ -14847,7 +14847,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__98 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__98); __Pyx_GIVEREF(__pyx_tuple__98); - __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis20, 602, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis20, 602, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":606 * return bn.slow.replace(arr, old, new) @@ -14859,7 +14859,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__100 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__100); __Pyx_GIVEREF(__pyx_tuple__100); - __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis21, 606, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis21, 606, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":610 * return bn.slow.replace(arr, old, new) @@ -14871,7 +14871,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__102 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__102); __Pyx_GIVEREF(__pyx_tuple__102); - __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis22, 610, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis22, 610, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":614 * return bn.slow.replace(arr, old, new) @@ -14883,7 +14883,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__104 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__104); __Pyx_GIVEREF(__pyx_tuple__104); - __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis23, 614, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis23, 614, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":618 * return bn.slow.replace(arr, old, new) @@ -14895,7 +14895,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__106 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__106); __Pyx_GIVEREF(__pyx_tuple__106); - __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis24, 618, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis24, 618, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":622 * return bn.slow.replace(arr, old, new) @@ -14907,7 +14907,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__108 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__108); __Pyx_GIVEREF(__pyx_tuple__108); - __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis25, 622, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis25, 622, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":626 * return bn.slow.replace(arr, old, new) @@ -14919,7 +14919,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__110 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__110); __Pyx_GIVEREF(__pyx_tuple__110); - __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis26, 626, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis26, 626, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":630 * return bn.slow.replace(arr, old, new) @@ -14931,7 +14931,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__112 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__112); __Pyx_GIVEREF(__pyx_tuple__112); - __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis27, 630, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis27, 630, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":634 * return bn.slow.replace(arr, old, new) @@ -14943,7 +14943,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__114 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__114); __Pyx_GIVEREF(__pyx_tuple__114); - __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis28, 634, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis28, 634, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":638 * return bn.slow.replace(arr, old, new) @@ -14955,7 +14955,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__116 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__116); __Pyx_GIVEREF(__pyx_tuple__116); - __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis29, 638, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis29, 638, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":642 * return bn.slow.replace(arr, old, new) @@ -14967,7 +14967,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__118 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__118); __Pyx_GIVEREF(__pyx_tuple__118); - __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis30, 642, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis30, 642, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":646 * return bn.slow.replace(arr, old, new) @@ -14979,7 +14979,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__120 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__120); __Pyx_GIVEREF(__pyx_tuple__120); - __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis31, 646, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis31, 646, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":650 * return bn.slow.replace(arr, old, new) @@ -14991,7 +14991,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__122 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__122); __Pyx_GIVEREF(__pyx_tuple__122); - __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axis32, 650, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axis32, 650, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "replace.pyx":654 * return bn.slow.replace(arr, old, new) @@ -15003,7 +15003,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__124 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_old, __pyx_n_s_new); if (unlikely(!__pyx_tuple__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__124); __Pyx_GIVEREF(__pyx_tuple__124); - __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_replace_slow_axisNone, 654, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_replace_slow_axisNone, 654, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -17753,7 +17753,7 @@ PyMODINIT_FUNC PyInit_replace(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/ss.c b/bottlechest/src/func/64bit/ss.c index c49e65b38c..03910b6bad 100644 --- a/bottlechest/src/func/64bit/ss.c +++ b/bottlechest/src/func/64bit/ss.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1104,13 +1104,13 @@ static __pyx_t_5numpy_float32_t __pyx_v_2ss_MAXfloat32; static __pyx_t_5numpy_float64_t __pyx_v_2ss_MAXfloat64; static PyObject *__pyx_v_2ss_ss_dict = 0; static PyObject *__pyx_v_2ss_ss_slow_dict = 0; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t = { "int8_t", NULL, sizeof(__pyx_t_5numpy_int8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; -static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 }; #define __Pyx_MODULE_NAME "ss" int __pyx_module_is_main_ss = 0; @@ -1122,34 +1122,34 @@ static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_pf_2ss_ss(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ static PyObject *__pyx_pf_2ss_2ss_selector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_axis); /* proto */ -static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_16ss_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_18ss_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_20ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_22ss_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_24ss_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_28ss_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_30ss_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_32ss_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_34ss_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_36ss_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_38ss_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_40ss_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_42ss_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_44ss_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_46ss_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_48ss_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_50ss_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_52ss_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_54ss_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_56ss_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static PyObject *__pyx_pf_2ss_58ss_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_4ss_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_6ss_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_8ss_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_10ss_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_12ss_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_14ss_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_16ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_18ss_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_20ss_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_22ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_24ss_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_26ss_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_28ss_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_30ss_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_32ss_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_34ss_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_36ss_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_38ss_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_40ss_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_42ss_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_44ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_46ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_48ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_50ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_52ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_54ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_56ss_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ +static PyObject *__pyx_pf_2ss_58ss_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ static PyObject *__pyx_pf_2ss_60ss_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_2ss_62ss_slow_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ static PyObject *__pyx_pf_2ss_64ss_slow_axis2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr); /* proto */ @@ -1326,15 +1326,14 @@ static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous static char __pyx_k_Return_ss_function_and_array_th[] = "\n Return ss function and array that matches `arr` and `axis`.\n \n Under the hood Bottleneck uses a separate Cython function for each\n combination of ndim, dtype, and axis. A lot of the overhead in\n bn.ss() is in checking that `axis` is within range, converting `arr`\n into an array (if it is not already an array), and selecting the function\n to use to calculate the sum of squares.\n\n You can get rid of the overhead by doing all this before you, for example,\n enter an inner loop, by using this function.\n\n Parameters\n ----------\n arr : array_like\n Input array. If `arr` is not an array, a conversion is attempted.\n axis : {int, None}\n Axis along which the sum of squares is to be computed.\n\n Returns\n -------\n func : function\n The ss function that matches the number of dimensions and dtype\n of the input array and the axis along which you wish to find the sum\n if squares.\n a : ndarray\n If the input array `arr` is not a ndarray, then `a` will contain the\n result of converting `arr` into a ndarray.\n\n Examples\n --------\n Create a numpy array:\n\n >>> arr = np.array([1.0, 2.0, 5.0])\n \n Obtain the function needed to determine the sum of squares of `arr` along\n axis=0:\n\n >>> func, a = bn.func.ss_selector(arr, axis=0)\n >>> func\n \n \n Use the returned function and array to determine the sum of squares:\n\n >>> func(a)\n 30.0\n\n "; static char __pyx_k_Sum_of_the_square_of_each_eleme[] = "\n Sum of the square of each element along specified axis.\n\n Parameters\n ----------\n arr : array_like\n Array whose sum of squares is desired. If `arr` is not an array, a\n conversion is attempted.\n axis : {int, None}, optional\n Axis along which the sum if squared is computed. The default (axis=0)\n is to sum the squares along the first dimension.\n\n Returns\n -------\n y : ndarray\n The sum of a**2 along the given axis. \n\n See also\n --------\n bottlechest.nn: Nearest neighbor. \n\n Examples\n --------\n >>> a = np.array([1., 2., 5.])\n >>> bn.ss(a)\n 30.0\n\n And calculating along an axis:\n\n >>> b = np.array([[1., 2., 5.], [2., 5., 6.]])\n >>> bn.ss(b, axis=1)\n array([ 30., 65.])\n \n "; static char __pyx_k_Unsupported_ndim_dtype_axis_s_s[] = "Unsupported ndim/dtype/axis (%s/%s/%s)."; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/ss.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\ss.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1348,6 +1347,7 @@ static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_kp_u_Sum_of_the_square_of_each_eleme; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__7; static PyObject *__pyx_n_s_a; @@ -2526,24 +2526,24 @@ static PyObject *__pyx_pf_2ss_2ss_selector(CYTHON_UNUSED PyObject *__pyx_self, P /* "ss.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=0." - * cdef np.int_t ssum = 0, ai + * def ss_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=0." + * cdef np.float_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_5ss_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_4ss_2d_int_axis0[] = "ss_2d_int_axis0(ndarray a)\nSum of squares of 2d array with dtype=int along axis=0."; -static PyMethodDef __pyx_mdef_2ss_5ss_2d_int_axis0 = {"ss_2d_int_axis0", (PyCFunction)__pyx_pw_2ss_5ss_2d_int_axis0, METH_O, __pyx_doc_2ss_4ss_2d_int_axis0}; -static PyObject *__pyx_pw_2ss_5ss_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_5ss_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_4ss_2d_float_axis0[] = "ss_2d_float_axis0(ndarray a)\nSum of squares of 2d array with dtype=float along axis=0."; +static PyMethodDef __pyx_mdef_2ss_5ss_2d_float_axis0 = {"ss_2d_float_axis0", (PyCFunction)__pyx_pw_2ss_5ss_2d_float_axis0, METH_O, __pyx_doc_2ss_4ss_2d_float_axis0}; +static PyObject *__pyx_pw_2ss_5ss_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("ss_2d_float_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_4ss_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_2ss_4ss_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2554,9 +2554,9 @@ static PyObject *__pyx_pw_2ss_5ss_2d_int_axis0(PyObject *__pyx_self, PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int_t __pyx_v_ssum; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_4ss_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float_t __pyx_v_ssum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2582,7 +2582,7 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int_axis0", 0); + __Pyx_RefNannySetupContext("ss_2d_float_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2593,18 +2593,18 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "ss.pyx":185 - * def ss_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int along axis=0." - * cdef np.int_t ssum = 0, ai # <<<<<<<<<<<<<< + * def ss_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=float along axis=0." + * cdef np.float_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":188 * cdef Py_ssize_t i0, i1 @@ -2629,7 +2629,7 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -2637,8 +2637,8 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; @@ -2646,17 +2646,17 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel /* "ss.pyx":192 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -2667,8 +2667,8 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel __pyx_t_2 = 0; /* "ss.pyx":194 - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) * for i1 in range(n1): # <<<<<<<<<<<<<< * ssum = 0 * for i0 in range(n0): @@ -2678,13 +2678,13 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel __pyx_v_i1 = __pyx_t_5; /* "ss.pyx":195 - * NPY_int, 0) + * NPY_float, 0) * for i1 in range(n1): * ssum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0, i1] */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":196 * for i1 in range(n1): @@ -2706,7 +2706,7 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "ss.pyx":198 * for i0 in range(n0): @@ -2726,7 +2726,7 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel * */ __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } /* "ss.pyx":200 @@ -2744,9 +2744,9 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel /* "ss.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=0." - * cdef np.int_t ssum = 0, ai + * def ss_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=0." + * cdef np.float_t ssum = 0, ai */ /* function exit code */ @@ -2757,7 +2757,7 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -2773,24 +2773,24 @@ static PyObject *__pyx_pf_2ss_4ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_sel /* "ss.pyx":204 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=1." - * cdef np.int_t ssum = 0, ai + * def ss_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=1." + * cdef np.float_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_7ss_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_6ss_2d_int_axis1[] = "ss_2d_int_axis1(ndarray a)\nSum of squares of 2d array with dtype=int along axis=1."; -static PyMethodDef __pyx_mdef_2ss_7ss_2d_int_axis1 = {"ss_2d_int_axis1", (PyCFunction)__pyx_pw_2ss_7ss_2d_int_axis1, METH_O, __pyx_doc_2ss_6ss_2d_int_axis1}; -static PyObject *__pyx_pw_2ss_7ss_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_7ss_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_6ss_2d_float_axis1[] = "ss_2d_float_axis1(ndarray a)\nSum of squares of 2d array with dtype=float along axis=1."; +static PyMethodDef __pyx_mdef_2ss_7ss_2d_float_axis1 = {"ss_2d_float_axis1", (PyCFunction)__pyx_pw_2ss_7ss_2d_float_axis1, METH_O, __pyx_doc_2ss_6ss_2d_float_axis1}; +static PyObject *__pyx_pw_2ss_7ss_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("ss_2d_float_axis1 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_6ss_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_2ss_6ss_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -2801,9 +2801,9 @@ static PyObject *__pyx_pw_2ss_7ss_2d_int_axis1(PyObject *__pyx_self, PyObject *_ return __pyx_r; } -static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int_t __pyx_v_ssum; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_6ss_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float_t __pyx_v_ssum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -2829,7 +2829,7 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int_axis1", 0); + __Pyx_RefNannySetupContext("ss_2d_float_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -2840,18 +2840,18 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "ss.pyx":206 - * def ss_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int along axis=1." - * cdef np.int_t ssum = 0, ai # <<<<<<<<<<<<<< + * def ss_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=float along axis=1." + * cdef np.float_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":209 * cdef Py_ssize_t i0, i1 @@ -2876,7 +2876,7 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -2884,8 +2884,8 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; @@ -2893,17 +2893,17 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel /* "ss.pyx":213 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float, 0) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -2914,8 +2914,8 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel __pyx_t_2 = 0; /* "ss.pyx":215 - * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int, 0) + * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * ssum = 0 * for i1 in range(n1): @@ -2925,13 +2925,13 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel __pyx_v_i0 = __pyx_t_5; /* "ss.pyx":216 - * NPY_int, 0) + * NPY_float, 0) * for i0 in range(n0): * ssum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":217 * for i0 in range(n0): @@ -2953,7 +2953,7 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "ss.pyx":219 * for i1 in range(n1): @@ -2973,7 +2973,7 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel * */ __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } /* "ss.pyx":221 @@ -2991,9 +2991,9 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel /* "ss.pyx":204 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=1." - * cdef np.int_t ssum = 0, ai + * def ss_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=1." + * cdef np.float_t ssum = 0, ai */ /* function exit code */ @@ -3004,7 +3004,7 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3020,24 +3020,24 @@ static PyObject *__pyx_pf_2ss_6ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_sel /* "ss.pyx":225 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=0." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=0." + * cdef np.float32_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_9ss_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_8ss_2d_int8_axis0[] = "ss_2d_int8_axis0(ndarray a)\nSum of squares of 2d array with dtype=int8 along axis=0."; -static PyMethodDef __pyx_mdef_2ss_9ss_2d_int8_axis0 = {"ss_2d_int8_axis0", (PyCFunction)__pyx_pw_2ss_9ss_2d_int8_axis0, METH_O, __pyx_doc_2ss_8ss_2d_int8_axis0}; -static PyObject *__pyx_pw_2ss_9ss_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_9ss_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_8ss_2d_float32_axis0[] = "ss_2d_float32_axis0(ndarray a)\nSum of squares of 2d array with dtype=float32 along axis=0."; +static PyMethodDef __pyx_mdef_2ss_9ss_2d_float32_axis0 = {"ss_2d_float32_axis0", (PyCFunction)__pyx_pw_2ss_9ss_2d_float32_axis0, METH_O, __pyx_doc_2ss_8ss_2d_float32_axis0}; +static PyObject *__pyx_pw_2ss_9ss_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int8_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("ss_2d_float32_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_8ss_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_2ss_8ss_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3048,9 +3048,9 @@ static PyObject *__pyx_pw_2ss_9ss_2d_int8_axis0(PyObject *__pyx_self, PyObject * return __pyx_r; } -static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int8_t __pyx_v_ssum; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_8ss_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float32_t __pyx_v_ssum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3076,7 +3076,7 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int8_axis0", 0); + __Pyx_RefNannySetupContext("ss_2d_float32_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3087,18 +3087,18 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "ss.pyx":227 - * def ss_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int8 along axis=0." - * cdef np.int8_t ssum = 0, ai # <<<<<<<<<<<<<< + * def ss_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=float32 along axis=0." + * cdef np.float32_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":230 * cdef Py_ssize_t i0, i1 @@ -3123,7 +3123,7 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -3131,8 +3131,8 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; @@ -3140,17 +3140,17 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se /* "ss.pyx":234 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -3161,8 +3161,8 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se __pyx_t_2 = 0; /* "ss.pyx":236 - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) * for i1 in range(n1): # <<<<<<<<<<<<<< * ssum = 0 * for i0 in range(n0): @@ -3172,13 +3172,13 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se __pyx_v_i1 = __pyx_t_5; /* "ss.pyx":237 - * NPY_int8, 0) + * NPY_float32, 0) * for i1 in range(n1): * ssum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0, i1] */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":238 * for i1 in range(n1): @@ -3200,7 +3200,7 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "ss.pyx":240 * for i0 in range(n0): @@ -3220,7 +3220,7 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se * */ __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } /* "ss.pyx":242 @@ -3238,9 +3238,9 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se /* "ss.pyx":225 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=0." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=0." + * cdef np.float32_t ssum = 0, ai */ /* function exit code */ @@ -3251,7 +3251,7 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3267,24 +3267,24 @@ static PyObject *__pyx_pf_2ss_8ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_se /* "ss.pyx":246 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=1." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=1." + * cdef np.float32_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_11ss_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_10ss_2d_int8_axis1[] = "ss_2d_int8_axis1(ndarray a)\nSum of squares of 2d array with dtype=int8 along axis=1."; -static PyMethodDef __pyx_mdef_2ss_11ss_2d_int8_axis1 = {"ss_2d_int8_axis1", (PyCFunction)__pyx_pw_2ss_11ss_2d_int8_axis1, METH_O, __pyx_doc_2ss_10ss_2d_int8_axis1}; -static PyObject *__pyx_pw_2ss_11ss_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_11ss_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_10ss_2d_float32_axis1[] = "ss_2d_float32_axis1(ndarray a)\nSum of squares of 2d array with dtype=float32 along axis=1."; +static PyMethodDef __pyx_mdef_2ss_11ss_2d_float32_axis1 = {"ss_2d_float32_axis1", (PyCFunction)__pyx_pw_2ss_11ss_2d_float32_axis1, METH_O, __pyx_doc_2ss_10ss_2d_float32_axis1}; +static PyObject *__pyx_pw_2ss_11ss_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int8_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("ss_2d_float32_axis1 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_10ss_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_2ss_10ss_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3295,9 +3295,9 @@ static PyObject *__pyx_pw_2ss_11ss_2d_int8_axis1(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int8_t __pyx_v_ssum; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_10ss_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float32_t __pyx_v_ssum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3323,7 +3323,7 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int8_axis1", 0); + __Pyx_RefNannySetupContext("ss_2d_float32_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3334,18 +3334,18 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "ss.pyx":248 - * def ss_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int8 along axis=1." - * cdef np.int8_t ssum = 0, ai # <<<<<<<<<<<<<< + * def ss_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=float32 along axis=1." + * cdef np.float32_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":251 * cdef Py_ssize_t i0, i1 @@ -3370,7 +3370,7 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -3378,8 +3378,8 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; @@ -3387,17 +3387,17 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s /* "ss.pyx":255 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float32, 0) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -3408,8 +3408,8 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s __pyx_t_2 = 0; /* "ss.pyx":257 - * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int8, 0) + * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float32, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * ssum = 0 * for i1 in range(n1): @@ -3419,13 +3419,13 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s __pyx_v_i0 = __pyx_t_5; /* "ss.pyx":258 - * NPY_int8, 0) + * NPY_float32, 0) * for i0 in range(n0): * ssum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":259 * for i0 in range(n0): @@ -3447,7 +3447,7 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "ss.pyx":261 * for i1 in range(n1): @@ -3467,7 +3467,7 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s * */ __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } /* "ss.pyx":263 @@ -3485,9 +3485,9 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s /* "ss.pyx":246 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=1." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=1." + * cdef np.float32_t ssum = 0, ai */ /* function exit code */ @@ -3498,7 +3498,7 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3514,24 +3514,24 @@ static PyObject *__pyx_pf_2ss_10ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_s /* "ss.pyx":267 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=0." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=0." + * cdef np.float64_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_13ss_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_12ss_2d_int32_axis0[] = "ss_2d_int32_axis0(ndarray a)\nSum of squares of 2d array with dtype=int32 along axis=0."; -static PyMethodDef __pyx_mdef_2ss_13ss_2d_int32_axis0 = {"ss_2d_int32_axis0", (PyCFunction)__pyx_pw_2ss_13ss_2d_int32_axis0, METH_O, __pyx_doc_2ss_12ss_2d_int32_axis0}; -static PyObject *__pyx_pw_2ss_13ss_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_13ss_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_12ss_2d_float64_axis0[] = "ss_2d_float64_axis0(ndarray a)\nSum of squares of 2d array with dtype=float64 along axis=0."; +static PyMethodDef __pyx_mdef_2ss_13ss_2d_float64_axis0 = {"ss_2d_float64_axis0", (PyCFunction)__pyx_pw_2ss_13ss_2d_float64_axis0, METH_O, __pyx_doc_2ss_12ss_2d_float64_axis0}; +static PyObject *__pyx_pw_2ss_13ss_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int32_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("ss_2d_float64_axis0 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_12ss_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_2ss_12ss_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3542,9 +3542,9 @@ static PyObject *__pyx_pw_2ss_13ss_2d_int32_axis0(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int32_t __pyx_v_ssum; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_12ss_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float64_t __pyx_v_ssum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3570,7 +3570,7 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int32_axis0", 0); + __Pyx_RefNannySetupContext("ss_2d_float64_axis0", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3581,18 +3581,18 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "ss.pyx":269 - * def ss_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int32 along axis=0." - * cdef np.int32_t ssum = 0, ai # <<<<<<<<<<<<<< + * def ss_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=float64 along axis=0." + * cdef np.float64_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":272 * cdef Py_ssize_t i0, i1 @@ -3617,7 +3617,7 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -3625,8 +3625,8 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_1[0] = __pyx_v_n1; __pyx_v_dims = __pyx_t_1; @@ -3634,17 +3634,17 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ /* "ss.pyx":276 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * for i1 in range(n1): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -3655,8 +3655,8 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ __pyx_t_2 = 0; /* "ss.pyx":278 - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * for i1 in range(n1): # <<<<<<<<<<<<<< * ssum = 0 * for i0 in range(n0): @@ -3666,13 +3666,13 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ __pyx_v_i1 = __pyx_t_5; /* "ss.pyx":279 - * NPY_int32, 0) + * NPY_float64, 0) * for i1 in range(n1): * ssum = 0 # <<<<<<<<<<<<<< * for i0 in range(n0): * ai = a[i0, i1] */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":280 * for i1 in range(n1): @@ -3694,7 +3694,7 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "ss.pyx":282 * for i0 in range(n0): @@ -3714,7 +3714,7 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ * */ __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } /* "ss.pyx":284 @@ -3732,9 +3732,9 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ /* "ss.pyx":267 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=0." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=0." + * cdef np.float64_t ssum = 0, ai */ /* function exit code */ @@ -3745,7 +3745,7 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -3761,24 +3761,24 @@ static PyObject *__pyx_pf_2ss_12ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_ /* "ss.pyx":288 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=1." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=1." + * cdef np.float64_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_15ss_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_14ss_2d_int32_axis1[] = "ss_2d_int32_axis1(ndarray a)\nSum of squares of 2d array with dtype=int32 along axis=1."; -static PyMethodDef __pyx_mdef_2ss_15ss_2d_int32_axis1 = {"ss_2d_int32_axis1", (PyCFunction)__pyx_pw_2ss_15ss_2d_int32_axis1, METH_O, __pyx_doc_2ss_14ss_2d_int32_axis1}; -static PyObject *__pyx_pw_2ss_15ss_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_15ss_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_14ss_2d_float64_axis1[] = "ss_2d_float64_axis1(ndarray a)\nSum of squares of 2d array with dtype=float64 along axis=1."; +static PyMethodDef __pyx_mdef_2ss_15ss_2d_float64_axis1 = {"ss_2d_float64_axis1", (PyCFunction)__pyx_pw_2ss_15ss_2d_float64_axis1, METH_O, __pyx_doc_2ss_14ss_2d_float64_axis1}; +static PyObject *__pyx_pw_2ss_15ss_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int32_axis1 (wrapper)", 0); + __Pyx_RefNannySetupContext("ss_2d_float64_axis1 (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_14ss_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_2ss_14ss_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -3789,9 +3789,9 @@ static PyObject *__pyx_pw_2ss_15ss_2d_int32_axis1(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int32_t __pyx_v_ssum; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_14ss_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float64_t __pyx_v_ssum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -3817,7 +3817,7 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int32_axis1", 0); + __Pyx_RefNannySetupContext("ss_2d_float64_axis1", 0); __pyx_pybuffer_y.pybuffer.buf = NULL; __pyx_pybuffer_y.refcount = 0; __pyx_pybuffernd_y.data = NULL; @@ -3828,18 +3828,18 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; /* "ss.pyx":290 - * def ss_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int32 along axis=1." - * cdef np.int32_t ssum = 0, ai # <<<<<<<<<<<<<< + * def ss_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=float64 along axis=1." + * cdef np.float64_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":293 * cdef Py_ssize_t i0, i1 @@ -3864,7 +3864,7 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); @@ -3872,8 +3872,8 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) */ __pyx_t_1[0] = __pyx_v_n0; __pyx_v_dims = __pyx_t_1; @@ -3881,17 +3881,17 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ /* "ss.pyx":297 * cdef Py_ssize_t n1 = dim[1] * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_float64, 0) * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; @@ -3902,8 +3902,8 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ __pyx_t_2 = 0; /* "ss.pyx":299 - * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int32, 0) + * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_float64, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< * ssum = 0 * for i1 in range(n1): @@ -3913,13 +3913,13 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ __pyx_v_i0 = __pyx_t_5; /* "ss.pyx":300 - * NPY_int32, 0) + * NPY_float64, 0) * for i0 in range(n0): * ssum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":301 * for i0 in range(n0): @@ -3941,7 +3941,7 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ */ __pyx_t_8 = __pyx_v_i0; __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); /* "ss.pyx":303 * for i1 in range(n1): @@ -3961,7 +3961,7 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ * */ __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } /* "ss.pyx":305 @@ -3979,9 +3979,9 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ /* "ss.pyx":288 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=1." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=1." + * cdef np.float64_t ssum = 0, ai */ /* function exit code */ @@ -3992,7 +3992,7 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4008,24 +4008,24 @@ static PyObject *__pyx_pf_2ss_14ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_ /* "ss.pyx":309 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=0." - * cdef np.int64_t ssum = 0, ai + * def ss_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=float along axis=None." + * cdef np.float_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_17ss_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_16ss_2d_int64_axis0[] = "ss_2d_int64_axis0(ndarray a)\nSum of squares of 2d array with dtype=int64 along axis=0."; -static PyMethodDef __pyx_mdef_2ss_17ss_2d_int64_axis0 = {"ss_2d_int64_axis0", (PyCFunction)__pyx_pw_2ss_17ss_2d_int64_axis0, METH_O, __pyx_doc_2ss_16ss_2d_int64_axis0}; -static PyObject *__pyx_pw_2ss_17ss_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_17ss_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_16ss_1d_float_axisNone[] = "ss_1d_float_axisNone(ndarray a)\nSum of squares of 1d array with dtype=float along axis=None."; +static PyMethodDef __pyx_mdef_2ss_17ss_1d_float_axisNone = {"ss_1d_float_axisNone", (PyCFunction)__pyx_pw_2ss_17ss_1d_float_axisNone, METH_O, __pyx_doc_2ss_16ss_1d_float_axisNone}; +static PyObject *__pyx_pw_2ss_17ss_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int64_axis0 (wrapper)", 0); + __Pyx_RefNannySetupContext("ss_1d_float_axisNone (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_16ss_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __pyx_r = __pyx_pf_2ss_16ss_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4036,64 +4036,53 @@ static PyObject *__pyx_pw_2ss_17ss_2d_int64_axis0(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2ss_16ss_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int64_t __pyx_v_ssum; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_16ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float_t __pyx_v_ssum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("ss_1d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; /* "ss.pyx":311 - * def ss_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int64 along axis=0." - * cdef np.int64_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + * def ss_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): + * "Sum of squares of 1d array with dtype=float along axis=None." + * cdef np.float_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; /* "ss.pyx":314 - * cdef Py_ssize_t i0, i1 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); @@ -4101,178 +4090,138 @@ static PyObject *__pyx_pf_2ss_16ss_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_ * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); /* "ss.pyx":316 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * ssum += ai * ai */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":317 + /* "ss.pyx":317 * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "ss.pyx":318 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int64, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "ss.pyx":320 - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ssum = 0 - * for i0 in range(n0): - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "ss.pyx":321 - * NPY_int64, 0) - * for i1 in range(n1): - * ssum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_ssum = 0; - - /* "ss.pyx":322 - * for i1 in range(n1): - * ssum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ssum += ai * ai - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "ss.pyx":323 - * ssum = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ssum += ai * ai - * y[i1] = ssum - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "ss.pyx":324 - * for i0 in range(n0): - * ai = a[i0, i1] - * ssum += ai * ai # <<<<<<<<<<<<<< - * y[i1] = ssum - * return y + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * ssum += ai * ai + * return np.float(ssum) */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); - } + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "ss.pyx":325 - * ai = a[i0, i1] - * ssum += ai * ai - * y[i1] = ssum # <<<<<<<<<<<<<< - * return y + /* "ss.pyx":318 + * for i0 in range(n0): + * ai = a[i0] + * ssum += ai * ai # <<<<<<<<<<<<<< + * return np.float(ssum) * */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - /* "ss.pyx":326 - * ssum += ai * ai - * y[i1] = ssum - * return y # <<<<<<<<<<<<<< + /* "ss.pyx":319 + * ai = a[i0] + * ssum += ai * ai + * return np.float(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); - goto __pyx_L0; - - /* "ss.pyx":309 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def ss_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=0." - * cdef np.int64_t ssum = 0, ai - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + + /* "ss.pyx":309 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def ss_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=float along axis=None." + * cdef np.float_t ssum = 0, ai + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":330 +/* "ss.pyx":323 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=1." - * cdef np.int64_t ssum = 0, ai + * def ss_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=float32 along axis=None." + * cdef np.float32_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_19ss_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_18ss_2d_int64_axis1[] = "ss_2d_int64_axis1(ndarray a)\nSum of squares of 2d array with dtype=int64 along axis=1."; -static PyMethodDef __pyx_mdef_2ss_19ss_2d_int64_axis1 = {"ss_2d_int64_axis1", (PyCFunction)__pyx_pw_2ss_19ss_2d_int64_axis1, METH_O, __pyx_doc_2ss_18ss_2d_int64_axis1}; -static PyObject *__pyx_pw_2ss_19ss_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_19ss_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_18ss_1d_float32_axisNone[] = "ss_1d_float32_axisNone(ndarray a)\nSum of squares of 1d array with dtype=float32 along axis=None."; +static PyMethodDef __pyx_mdef_2ss_19ss_1d_float32_axisNone = {"ss_1d_float32_axisNone", (PyCFunction)__pyx_pw_2ss_19ss_1d_float32_axisNone, METH_O, __pyx_doc_2ss_18ss_1d_float32_axisNone}; +static PyObject *__pyx_pw_2ss_19ss_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_18ss_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_1d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_18ss_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4283,243 +4232,192 @@ static PyObject *__pyx_pw_2ss_19ss_2d_int64_axis1(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2ss_18ss_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int64_t __pyx_v_ssum; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_18ss_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float32_t __pyx_v_ssum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("ss_1d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "ss.pyx":332 - * def ss_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int64 along axis=1." - * cdef np.int64_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "ss.pyx":325 + * def ss_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): + * "Sum of squares of 1d array with dtype=float32 along axis=None." + * cdef np.float32_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0; + __pyx_v_ssum = 0.0; - /* "ss.pyx":335 - * cdef Py_ssize_t i0, i1 + /* "ss.pyx":328 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":336 + /* "ss.pyx":329 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":337 + /* "ss.pyx":330 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "ss.pyx":338 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "ss.pyx":339 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_int64, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "ss.pyx":341 - * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_int64, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * ssum = 0 - * for i1 in range(n1): + * ai = a[i0] + * ssum += ai * ai */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":342 - * NPY_int64, 0) + /* "ss.pyx":331 + * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): - * ssum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] # <<<<<<<<<<<<<< + * ssum += ai * ai + * return np.float32(ssum) */ - __pyx_v_ssum = 0; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "ss.pyx":343 + /* "ss.pyx":332 * for i0 in range(n0): - * ssum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ssum += ai * ai - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "ss.pyx":344 - * ssum = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ssum += ai * ai - * y[i0] = ssum - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "ss.pyx":345 - * for i1 in range(n1): - * ai = a[i0, i1] - * ssum += ai * ai # <<<<<<<<<<<<<< - * y[i0] = ssum - * return y - */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); - } - - /* "ss.pyx":346 - * ai = a[i0, i1] - * ssum += ai * ai - * y[i0] = ssum # <<<<<<<<<<<<<< - * return y + * ai = a[i0] + * ssum += ai * ai # <<<<<<<<<<<<<< + * return np.float32(ssum) * */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - /* "ss.pyx":347 - * ssum += ai * ai - * y[i0] = ssum - * return y # <<<<<<<<<<<<<< + /* "ss.pyx":333 + * ai = a[i0] + * ssum += ai * ai + * return np.float32(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float32); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; goto __pyx_L0; - /* "ss.pyx":330 + /* "ss.pyx":323 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=1." - * cdef np.int64_t ssum = 0, ai + * def ss_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=float32 along axis=None." + * cdef np.float32_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":351 +/* "ss.pyx":337 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=float along axis=None." - * cdef np.float_t ssum = 0, ai + * def ss_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=float64 along axis=None." + * cdef np.float64_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_21ss_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_20ss_1d_float_axisNone[] = "ss_1d_float_axisNone(ndarray a)\nSum of squares of 1d array with dtype=float along axis=None."; -static PyMethodDef __pyx_mdef_2ss_21ss_1d_float_axisNone = {"ss_1d_float_axisNone", (PyCFunction)__pyx_pw_2ss_21ss_1d_float_axisNone, METH_O, __pyx_doc_2ss_20ss_1d_float_axisNone}; -static PyObject *__pyx_pw_2ss_21ss_1d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_21ss_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_20ss_1d_float64_axisNone[] = "ss_1d_float64_axisNone(ndarray a)\nSum of squares of 1d array with dtype=float64 along axis=None."; +static PyMethodDef __pyx_mdef_2ss_21ss_1d_float64_axisNone = {"ss_1d_float64_axisNone", (PyCFunction)__pyx_pw_2ss_21ss_1d_float64_axisNone, METH_O, __pyx_doc_2ss_20ss_1d_float64_axisNone}; +static PyObject *__pyx_pw_2ss_21ss_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_1d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_20ss_1d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_1d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_20ss_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4530,9 +4428,9 @@ static PyObject *__pyx_pw_2ss_21ss_1d_float_axisNone(PyObject *__pyx_self, PyObj return __pyx_r; } -static PyObject *__pyx_pf_2ss_20ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float_t __pyx_v_ssum; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_20ss_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float64_t __pyx_v_ssum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; @@ -4551,27 +4449,27 @@ static PyObject *__pyx_pf_2ss_20ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__p int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_1d_float_axisNone", 0); + __Pyx_RefNannySetupContext("ss_1d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "ss.pyx":353 - * def ss_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): - * "Sum of squares of 1d array with dtype=float along axis=None." - * cdef np.float_t ssum = 0, ai # <<<<<<<<<<<<<< + /* "ss.pyx":339 + * def ss_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): + * "Sum of squares of 1d array with dtype=float64 along axis=None." + * cdef np.float64_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0.0; - /* "ss.pyx":356 + /* "ss.pyx":342 * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -4580,7 +4478,7 @@ static PyObject *__pyx_pf_2ss_20ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__p */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":357 + /* "ss.pyx":343 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -4589,7 +4487,7 @@ static PyObject *__pyx_pf_2ss_20ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__p */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":358 + /* "ss.pyx":344 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -4600,40 +4498,40 @@ static PyObject *__pyx_pf_2ss_20ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__p for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":359 + /* "ss.pyx":345 * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): * ai = a[i0] # <<<<<<<<<<<<<< * ssum += ai * ai - * return np.float(ssum) + * return np.float64(ssum) */ __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "ss.pyx":360 + /* "ss.pyx":346 * for i0 in range(n0): * ai = a[i0] * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.float(ssum) + * return np.float64(ssum) * */ __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - /* "ss.pyx":361 + /* "ss.pyx":347 * ai = a[i0] * ssum += ai * ai - * return np.float(ssum) # <<<<<<<<<<<<<< + * return np.float64(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { @@ -4646,17 +4544,17 @@ static PyObject *__pyx_pf_2ss_20ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__p } } if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_4); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -4665,12 +4563,12 @@ static PyObject *__pyx_pf_2ss_20ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__p __pyx_t_4 = 0; goto __pyx_L0; - /* "ss.pyx":351 + /* "ss.pyx":337 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=float along axis=None." - * cdef np.float_t ssum = 0, ai + * def ss_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=float64 along axis=None." + * cdef np.float64_t ssum = 0, ai */ /* function exit code */ @@ -4684,7 +4582,7 @@ static PyObject *__pyx_pf_2ss_20ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__p __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_1d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4695,27 +4593,27 @@ static PyObject *__pyx_pf_2ss_20ss_1d_float_axisNone(CYTHON_UNUSED PyObject *__p return __pyx_r; } -/* "ss.pyx":365 +/* "ss.pyx":351 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=float32 along axis=None." - * cdef np.float32_t ssum = 0, ai + * def ss_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=None." + * cdef np.float_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_23ss_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_22ss_1d_float32_axisNone[] = "ss_1d_float32_axisNone(ndarray a)\nSum of squares of 1d array with dtype=float32 along axis=None."; -static PyMethodDef __pyx_mdef_2ss_23ss_1d_float32_axisNone = {"ss_1d_float32_axisNone", (PyCFunction)__pyx_pw_2ss_23ss_1d_float32_axisNone, METH_O, __pyx_doc_2ss_22ss_1d_float32_axisNone}; -static PyObject *__pyx_pw_2ss_23ss_1d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_23ss_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_22ss_2d_float_axisNone[] = "ss_2d_float_axisNone(ndarray a)\nSum of squares of 2d array with dtype=float along axis=None."; +static PyMethodDef __pyx_mdef_2ss_23ss_2d_float_axisNone = {"ss_2d_float_axisNone", (PyCFunction)__pyx_pw_2ss_23ss_2d_float_axisNone, METH_O, __pyx_doc_2ss_22ss_2d_float_axisNone}; +static PyObject *__pyx_pw_2ss_23ss_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_1d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_22ss_1d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_float_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_22ss_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4726,12 +4624,14 @@ static PyObject *__pyx_pw_2ss_23ss_1d_float32_axisNone(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_2ss_22ss_1d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float32_t __pyx_v_ssum; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_22ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float_t __pyx_v_ssum; + __pyx_t_5numpy_float_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -4739,148 +4639,173 @@ static PyObject *__pyx_pf_2ss_22ss_1d_float32_axisNone(CYTHON_UNUSED PyObject *_ Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_1d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_float_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":367 - * def ss_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): - * "Sum of squares of 1d array with dtype=float32 along axis=None." - * cdef np.float32_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + /* "ss.pyx":353 + * def ss_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=float along axis=None." + * cdef np.float_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0.0; - /* "ss.pyx":370 - * cdef Py_ssize_t i0 + /* "ss.pyx":356 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":371 + /* "ss.pyx":357 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":372 + /* "ss.pyx":358 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "ss.pyx":359 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * ssum += ai * ai + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":373 - * cdef Py_ssize_t n0 = dim[0] + /* "ss.pyx":360 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * ssum += ai * ai - * return np.float32(ssum) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ssum += ai * ai */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "ss.pyx":374 + /* "ss.pyx":361 * for i0 in range(n0): - * ai = a[i0] - * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.float32(ssum) + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ssum += ai * ai + * return np.float(ssum) + */ + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "ss.pyx":362 + * for i1 in range(n1): + * ai = a[i0, i1] + * ssum += ai * ai # <<<<<<<<<<<<<< + * return np.float(ssum) * */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + } } - /* "ss.pyx":375 - * ai = a[i0] - * ssum += ai * ai - * return np.float32(ssum) # <<<<<<<<<<<<<< + /* "ss.pyx":363 + * ai = a[i0, i1] + * ssum += ai * ai + * return np.float(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float32); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __Pyx_DECREF_SET(__pyx_t_9, function); } } - if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "ss.pyx":365 + /* "ss.pyx":351 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=float32 along axis=None." - * cdef np.float32_t ssum = 0, ai + * def ss_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=None." + * cdef np.float_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_1d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -4891,27 +4816,27 @@ static PyObject *__pyx_pf_2ss_22ss_1d_float32_axisNone(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "ss.pyx":379 +/* "ss.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=float64 along axis=None." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=None." + * cdef np.float32_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_25ss_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_24ss_1d_float64_axisNone[] = "ss_1d_float64_axisNone(ndarray a)\nSum of squares of 1d array with dtype=float64 along axis=None."; -static PyMethodDef __pyx_mdef_2ss_25ss_1d_float64_axisNone = {"ss_1d_float64_axisNone", (PyCFunction)__pyx_pw_2ss_25ss_1d_float64_axisNone, METH_O, __pyx_doc_2ss_24ss_1d_float64_axisNone}; -static PyObject *__pyx_pw_2ss_25ss_1d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_25ss_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_24ss_2d_float32_axisNone[] = "ss_2d_float32_axisNone(ndarray a)\nSum of squares of 2d array with dtype=float32 along axis=None."; +static PyMethodDef __pyx_mdef_2ss_25ss_2d_float32_axisNone = {"ss_2d_float32_axisNone", (PyCFunction)__pyx_pw_2ss_25ss_2d_float32_axisNone, METH_O, __pyx_doc_2ss_24ss_2d_float32_axisNone}; +static PyObject *__pyx_pw_2ss_25ss_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_1d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_24ss_1d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_float32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_24ss_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -4922,12 +4847,14 @@ static PyObject *__pyx_pw_2ss_25ss_1d_float64_axisNone(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_2ss_24ss_1d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float64_t __pyx_v_ssum; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_24ss_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float32_t __pyx_v_ssum; + __pyx_t_5numpy_float32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -4935,148 +4862,173 @@ static PyObject *__pyx_pf_2ss_24ss_1d_float64_axisNone(CYTHON_UNUSED PyObject *_ Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_1d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_float32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":381 - * def ss_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): - * "Sum of squares of 1d array with dtype=float64 along axis=None." - * cdef np.float64_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + /* "ss.pyx":369 + * def ss_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=float32 along axis=None." + * cdef np.float32_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0.0; - /* "ss.pyx":384 - * cdef Py_ssize_t i0 + /* "ss.pyx":372 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":385 + /* "ss.pyx":373 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":386 + /* "ss.pyx":374 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): + */ + __pyx_v_n1 = (__pyx_v_dim[1]); + + /* "ss.pyx":375 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * ssum += ai * ai + * for i1 in range(n1): + * ai = a[i0, i1] */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":387 - * cdef Py_ssize_t n0 = dim[0] + /* "ss.pyx":376 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * ssum += ai * ai - * return np.float64(ssum) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ssum += ai * ai */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "ss.pyx":388 + /* "ss.pyx":377 * for i0 in range(n0): - * ai = a[i0] - * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.float64(ssum) + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ssum += ai * ai + * return np.float32(ssum) + */ + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "ss.pyx":378 + * for i1 in range(n1): + * ai = a[i0, i1] + * ssum += ai * ai # <<<<<<<<<<<<<< + * return np.float32(ssum) * */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + } } - /* "ss.pyx":389 - * ai = a[i0] - * ssum += ai * ai - * return np.float64(ssum) # <<<<<<<<<<<<<< + /* "ss.pyx":379 + * ai = a[i0, i1] + * ssum += ai * ai + * return np.float32(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_float64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __Pyx_DECREF_SET(__pyx_t_9, function); } } - if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "ss.pyx":379 + /* "ss.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=float64 along axis=None." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=None." + * cdef np.float32_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_1d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5087,27 +5039,27 @@ static PyObject *__pyx_pf_2ss_24ss_1d_float64_axisNone(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "ss.pyx":393 +/* "ss.pyx":383 * @cython.boundscheck(False) - * @cython.wraparound(False) - * def ss_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=None." - * cdef np.float_t ssum = 0, ai + * @cython.wraparound(False) + * def ss_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=None." + * cdef np.float64_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_27ss_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_26ss_2d_float_axisNone[] = "ss_2d_float_axisNone(ndarray a)\nSum of squares of 2d array with dtype=float along axis=None."; -static PyMethodDef __pyx_mdef_2ss_27ss_2d_float_axisNone = {"ss_2d_float_axisNone", (PyCFunction)__pyx_pw_2ss_27ss_2d_float_axisNone, METH_O, __pyx_doc_2ss_26ss_2d_float_axisNone}; -static PyObject *__pyx_pw_2ss_27ss_2d_float_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_27ss_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_26ss_2d_float64_axisNone[] = "ss_2d_float64_axisNone(ndarray a)\nSum of squares of 2d array with dtype=float64 along axis=None."; +static PyMethodDef __pyx_mdef_2ss_27ss_2d_float64_axisNone = {"ss_2d_float64_axisNone", (PyCFunction)__pyx_pw_2ss_27ss_2d_float64_axisNone, METH_O, __pyx_doc_2ss_26ss_2d_float64_axisNone}; +static PyObject *__pyx_pw_2ss_27ss_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_float_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_26ss_2d_float_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_float64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_26ss_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5118,9 +5070,9 @@ static PyObject *__pyx_pw_2ss_27ss_2d_float_axisNone(PyObject *__pyx_self, PyObj return __pyx_r; } -static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float_t __pyx_v_ssum; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_26ss_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_float64_t __pyx_v_ssum; + __pyx_t_5numpy_float64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; @@ -5144,27 +5096,27 @@ static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__p int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_float_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_float64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":395 - * def ss_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=float along axis=None." - * cdef np.float_t ssum = 0, ai # <<<<<<<<<<<<<< + /* "ss.pyx":385 + * def ss_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=float64 along axis=None." + * cdef np.float64_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0.0; - /* "ss.pyx":398 + /* "ss.pyx":388 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -5173,7 +5125,7 @@ static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__p */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":399 + /* "ss.pyx":389 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< @@ -5182,7 +5134,7 @@ static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__p */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":400 + /* "ss.pyx":390 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< @@ -5191,7 +5143,7 @@ static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__p */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":401 + /* "ss.pyx":391 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< @@ -5202,7 +5154,7 @@ static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__p for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":402 + /* "ss.pyx":392 * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): * for i1 in range(n1): # <<<<<<<<<<<<<< @@ -5213,42 +5165,42 @@ static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__p for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i1 = __pyx_t_4; - /* "ss.pyx":403 + /* "ss.pyx":393 * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * ssum += ai * ai - * return np.float(ssum) + * return np.float64(ssum) */ __pyx_t_5 = __pyx_v_i0; __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "ss.pyx":404 + /* "ss.pyx":394 * for i1 in range(n1): * ai = a[i0, i1] * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.float(ssum) + * return np.float64(ssum) * */ __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } } - /* "ss.pyx":405 + /* "ss.pyx":395 * ai = a[i0, i1] * ssum += ai * ai - * return np.float(ssum) # <<<<<<<<<<<<<< + * return np.float64(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_10 = NULL; if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { @@ -5261,17 +5213,17 @@ static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__p } } if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_7); } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -5280,12 +5232,12 @@ static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__p __pyx_t_7 = 0; goto __pyx_L0; - /* "ss.pyx":393 + /* "ss.pyx":383 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=None." - * cdef np.float_t ssum = 0, ai + * def ss_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=None." + * cdef np.float64_t ssum = 0, ai */ /* function exit code */ @@ -5299,7 +5251,7 @@ static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__p __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_float_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5310,27 +5262,27 @@ static PyObject *__pyx_pf_2ss_26ss_2d_float_axisNone(CYTHON_UNUSED PyObject *__p return __pyx_r; } -/* "ss.pyx":409 +/* "ss.pyx":399 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=None." - * cdef np.float32_t ssum = 0, ai + * def ss_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int along axis=None." + * cdef np.int_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_29ss_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_28ss_2d_float32_axisNone[] = "ss_2d_float32_axisNone(ndarray a)\nSum of squares of 2d array with dtype=float32 along axis=None."; -static PyMethodDef __pyx_mdef_2ss_29ss_2d_float32_axisNone = {"ss_2d_float32_axisNone", (PyCFunction)__pyx_pw_2ss_29ss_2d_float32_axisNone, METH_O, __pyx_doc_2ss_28ss_2d_float32_axisNone}; -static PyObject *__pyx_pw_2ss_29ss_2d_float32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_29ss_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_28ss_1d_int_axisNone[] = "ss_1d_int_axisNone(ndarray a)\nSum of squares of 1d array with dtype=int along axis=None."; +static PyMethodDef __pyx_mdef_2ss_29ss_1d_int_axisNone = {"ss_1d_int_axisNone", (PyCFunction)__pyx_pw_2ss_29ss_1d_int_axisNone, METH_O, __pyx_doc_2ss_28ss_1d_int_axisNone}; +static PyObject *__pyx_pw_2ss_29ss_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_float32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_28ss_2d_float32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_1d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_28ss_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5341,14 +5293,12 @@ static PyObject *__pyx_pw_2ss_29ss_2d_float32_axisNone(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_2ss_28ss_2d_float32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float32_t __pyx_v_ssum; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_28ss_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int_t __pyx_v_ssum; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -5356,173 +5306,148 @@ static PyObject *__pyx_pf_2ss_28ss_2d_float32_axisNone(CYTHON_UNUSED PyObject *_ Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_float32_axisNone", 0); + __Pyx_RefNannySetupContext("ss_1d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "ss.pyx":411 - * def ss_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=float32 along axis=None." - * cdef np.float32_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "ss.pyx":401 + * def ss_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): + * "Sum of squares of 1d array with dtype=int along axis=None." + * cdef np.int_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0.0; + __pyx_v_ssum = 0; - /* "ss.pyx":414 - * cdef Py_ssize_t i0, i1 + /* "ss.pyx":404 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":415 + /* "ss.pyx":405 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":416 + /* "ss.pyx":406 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "ss.pyx":417 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * ssum += ai * ai */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":418 - * cdef Py_ssize_t n1 = dim[1] + /* "ss.pyx":407 + * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ssum += ai * ai + * ai = a[i0] # <<<<<<<<<<<<<< + * ssum += ai * ai + * return np.int(ssum) */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "ss.pyx":419 + /* "ss.pyx":408 * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ssum += ai * ai - * return np.float32(ssum) - */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "ss.pyx":420 - * for i1 in range(n1): - * ai = a[i0, i1] - * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.float32(ssum) + * ai = a[i0] + * ssum += ai * ai # <<<<<<<<<<<<<< + * return np.int(ssum) * */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); - } + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - /* "ss.pyx":421 - * ai = a[i0, i1] - * ssum += ai * ai - * return np.float32(ssum) # <<<<<<<<<<<<<< + /* "ss.pyx":409 + * ai = a[i0] + * ssum += ai * ai + * return np.int(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int_2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + __Pyx_DECREF_SET(__pyx_t_6, function); } } - if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_7); + if (!__pyx_t_7) { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; goto __pyx_L0; - /* "ss.pyx":409 + /* "ss.pyx":399 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=None." - * cdef np.float32_t ssum = 0, ai + * def ss_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int along axis=None." + * cdef np.int_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_float32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5533,27 +5458,27 @@ static PyObject *__pyx_pf_2ss_28ss_2d_float32_axisNone(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "ss.pyx":425 +/* "ss.pyx":413 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=None." - * cdef np.float64_t ssum = 0, ai + * def ss_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int8 along axis=None." + * cdef np.int8_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_31ss_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_30ss_2d_float64_axisNone[] = "ss_2d_float64_axisNone(ndarray a)\nSum of squares of 2d array with dtype=float64 along axis=None."; -static PyMethodDef __pyx_mdef_2ss_31ss_2d_float64_axisNone = {"ss_2d_float64_axisNone", (PyCFunction)__pyx_pw_2ss_31ss_2d_float64_axisNone, METH_O, __pyx_doc_2ss_30ss_2d_float64_axisNone}; -static PyObject *__pyx_pw_2ss_31ss_2d_float64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_31ss_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_30ss_1d_int8_axisNone[] = "ss_1d_int8_axisNone(ndarray a)\nSum of squares of 1d array with dtype=int8 along axis=None."; +static PyMethodDef __pyx_mdef_2ss_31ss_1d_int8_axisNone = {"ss_1d_int8_axisNone", (PyCFunction)__pyx_pw_2ss_31ss_1d_int8_axisNone, METH_O, __pyx_doc_2ss_30ss_1d_int8_axisNone}; +static PyObject *__pyx_pw_2ss_31ss_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_float64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_30ss_2d_float64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_1d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_30ss_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5564,14 +5489,12 @@ static PyObject *__pyx_pw_2ss_31ss_2d_float64_axisNone(PyObject *__pyx_self, PyO return __pyx_r; } -static PyObject *__pyx_pf_2ss_30ss_2d_float64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float64_t __pyx_v_ssum; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_30ss_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int8_t __pyx_v_ssum; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; PyObject *__pyx_r = NULL; @@ -5579,173 +5502,148 @@ static PyObject *__pyx_pf_2ss_30ss_2d_float64_axisNone(CYTHON_UNUSED PyObject *_ Py_ssize_t __pyx_t_1; Py_ssize_t __pyx_t_2; Py_ssize_t __pyx_t_3; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_float64_axisNone", 0); + __Pyx_RefNannySetupContext("ss_1d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "ss.pyx":427 - * def ss_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=float64 along axis=None." - * cdef np.float64_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "ss.pyx":415 + * def ss_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): + * "Sum of squares of 1d array with dtype=int8 along axis=None." + * cdef np.int8_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0.0; + __pyx_v_ssum = 0; - /* "ss.pyx":430 - * cdef Py_ssize_t i0, i1 + /* "ss.pyx":418 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":431 + /* "ss.pyx":419 * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "ss.pyx":432 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * for i0 in range(n0): - * for i1 in range(n1): + * ai = a[i0] */ - __pyx_v_n1 = (__pyx_v_dim[1]); + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":433 + /* "ss.pyx":420 + * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] + * ssum += ai * ai */ __pyx_t_1 = __pyx_v_n0; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":434 - * cdef Py_ssize_t n1 = dim[1] + /* "ss.pyx":421 + * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ssum += ai * ai + * ai = a[i0] # <<<<<<<<<<<<<< + * ssum += ai * ai + * return np.int8(ssum) */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "ss.pyx":435 + /* "ss.pyx":422 * for i0 in range(n0): - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ssum += ai * ai - * return np.float64(ssum) - */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "ss.pyx":436 - * for i1 in range(n1): - * ai = a[i0, i1] - * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.float64(ssum) + * ai = a[i0] + * ssum += ai * ai # <<<<<<<<<<<<<< + * return np.int8(ssum) * */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); - } + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - /* "ss.pyx":437 - * ai = a[i0, i1] - * ssum += ai * ai - * return np.float64(ssum) # <<<<<<<<<<<<<< + /* "ss.pyx":423 + * ai = a[i0] + * ssum += ai * ai + * return np.int8(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_float64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = PyFloat_FromDouble(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_From_npy_int8(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); + __Pyx_DECREF_SET(__pyx_t_6, function); } } - if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_7); + if (!__pyx_t_7) { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; goto __pyx_L0; - /* "ss.pyx":425 + /* "ss.pyx":413 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=None." - * cdef np.float64_t ssum = 0, ai + * def ss_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int8 along axis=None." + * cdef np.int8_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_float64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; @@ -5756,27 +5654,27 @@ static PyObject *__pyx_pf_2ss_30ss_2d_float64_axisNone(CYTHON_UNUSED PyObject *_ return __pyx_r; } -/* "ss.pyx":441 +/* "ss.pyx":427 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=0." - * cdef np.float_t ssum = 0, ai + * def ss_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int32 along axis=None." + * cdef np.int32_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_33ss_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_32ss_2d_float_axis0[] = "ss_2d_float_axis0(ndarray a)\nSum of squares of 2d array with dtype=float along axis=0."; -static PyMethodDef __pyx_mdef_2ss_33ss_2d_float_axis0 = {"ss_2d_float_axis0", (PyCFunction)__pyx_pw_2ss_33ss_2d_float_axis0, METH_O, __pyx_doc_2ss_32ss_2d_float_axis0}; -static PyObject *__pyx_pw_2ss_33ss_2d_float_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_33ss_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_32ss_1d_int32_axisNone[] = "ss_1d_int32_axisNone(ndarray a)\nSum of squares of 1d array with dtype=int32 along axis=None."; +static PyMethodDef __pyx_mdef_2ss_33ss_1d_int32_axisNone = {"ss_1d_int32_axisNone", (PyCFunction)__pyx_pw_2ss_33ss_1d_int32_axisNone, METH_O, __pyx_doc_2ss_32ss_1d_int32_axisNone}; +static PyObject *__pyx_pw_2ss_33ss_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_float_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_32ss_2d_float_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_1d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_32ss_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -5787,243 +5685,192 @@ static PyObject *__pyx_pw_2ss_33ss_2d_float_axis0(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2ss_32ss_2d_float_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float_t __pyx_v_ssum; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_32ss_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int32_t __pyx_v_ssum; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_float_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("ss_1d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "ss.pyx":443 - * def ss_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=float along axis=0." - * cdef np.float_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "ss.pyx":429 + * def ss_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): + * "Sum of squares of 1d array with dtype=int32 along axis=None." + * cdef np.int32_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0.0; + __pyx_v_ssum = 0; - /* "ss.pyx":446 - * cdef Py_ssize_t i0, i1 + /* "ss.pyx":432 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":447 + /* "ss.pyx":433 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":448 + /* "ss.pyx":434 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "ss.pyx":449 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "ss.pyx":450 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "ss.pyx":452 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ssum = 0 - * for i0 in range(n0): - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "ss.pyx":453 - * NPY_float, 0) - * for i1 in range(n1): - * ssum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0, i1] - */ - __pyx_v_ssum = 0.0; - - /* "ss.pyx":454 - * for i1 in range(n1): - * ssum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ssum += ai * ai - */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; - - /* "ss.pyx":455 - * ssum = 0 - * for i0 in range(n0): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ssum += ai * ai - * y[i1] = ssum + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0] + * ssum += ai * ai */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":456 - * for i0 in range(n0): - * ai = a[i0, i1] - * ssum += ai * ai # <<<<<<<<<<<<<< - * y[i1] = ssum - * return y + /* "ss.pyx":435 + * cdef Py_ssize_t n0 = dim[0] + * for i0 in range(n0): + * ai = a[i0] # <<<<<<<<<<<<<< + * ssum += ai * ai + * return np.int32(ssum) */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); - } + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "ss.pyx":457 - * ai = a[i0, i1] - * ssum += ai * ai - * y[i1] = ssum # <<<<<<<<<<<<<< - * return y + /* "ss.pyx":436 + * for i0 in range(n0): + * ai = a[i0] + * ssum += ai * ai # <<<<<<<<<<<<<< + * return np.int32(ssum) * */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - /* "ss.pyx":458 - * ssum += ai * ai - * y[i1] = ssum - * return y # <<<<<<<<<<<<<< + /* "ss.pyx":437 + * ai = a[i0] + * ssum += ai * ai + * return np.int32(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int32); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_From_npy_int32(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; goto __pyx_L0; - /* "ss.pyx":441 + /* "ss.pyx":427 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=0." - * cdef np.float_t ssum = 0, ai + * def ss_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int32 along axis=None." + * cdef np.int32_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_float_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":462 +/* "ss.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=1." - * cdef np.float_t ssum = 0, ai + * def ss_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int64 along axis=None." + * cdef np.int64_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_35ss_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_34ss_2d_float_axis1[] = "ss_2d_float_axis1(ndarray a)\nSum of squares of 2d array with dtype=float along axis=1."; -static PyMethodDef __pyx_mdef_2ss_35ss_2d_float_axis1 = {"ss_2d_float_axis1", (PyCFunction)__pyx_pw_2ss_35ss_2d_float_axis1, METH_O, __pyx_doc_2ss_34ss_2d_float_axis1}; -static PyObject *__pyx_pw_2ss_35ss_2d_float_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_35ss_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_34ss_1d_int64_axisNone[] = "ss_1d_int64_axisNone(ndarray a)\nSum of squares of 1d array with dtype=int64 along axis=None."; +static PyMethodDef __pyx_mdef_2ss_35ss_1d_int64_axisNone = {"ss_1d_int64_axisNone", (PyCFunction)__pyx_pw_2ss_35ss_1d_int64_axisNone, METH_O, __pyx_doc_2ss_34ss_1d_int64_axisNone}; +static PyObject *__pyx_pw_2ss_35ss_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_float_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_34ss_2d_float_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_1d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_34ss_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6034,243 +5881,192 @@ static PyObject *__pyx_pw_2ss_35ss_2d_float_axis1(PyObject *__pyx_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_2ss_34ss_2d_float_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float_t __pyx_v_ssum; - __pyx_t_5numpy_float_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_34ss_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int64_t __pyx_v_ssum; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; - Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; - Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_float_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("ss_1d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; - /* "ss.pyx":464 - * def ss_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=float along axis=1." - * cdef np.float_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0, i1 + /* "ss.pyx":443 + * def ss_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): + * "Sum of squares of 1d array with dtype=int64 along axis=None." + * cdef np.int64_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0.0; + __pyx_v_ssum = 0; - /* "ss.pyx":467 - * cdef Py_ssize_t i0, i1 + /* "ss.pyx":446 + * cdef Py_ssize_t i0 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":468 + /* "ss.pyx":447 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * for i0 in range(n0): + * ai = a[i0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":469 + /* "ss.pyx":448 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "ss.pyx":470 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "ss.pyx":471 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "ss.pyx":473 - * cdef np.ndarray[np.float_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * ssum = 0 - * for i1 in range(n1): + * ai = a[i0] + * ssum += ai * ai */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":474 - * NPY_float, 0) + /* "ss.pyx":449 + * cdef Py_ssize_t n0 = dim[0] * for i0 in range(n0): - * ssum = 0 # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * ai = a[i0] # <<<<<<<<<<<<<< + * ssum += ai * ai + * return np.int64(ssum) */ - __pyx_v_ssum = 0.0; + __pyx_t_3 = __pyx_v_i0; + __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); - /* "ss.pyx":475 + /* "ss.pyx":450 * for i0 in range(n0): - * ssum = 0 - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ai = a[i0, i1] - * ssum += ai * ai - */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; - - /* "ss.pyx":476 - * ssum = 0 - * for i1 in range(n1): - * ai = a[i0, i1] # <<<<<<<<<<<<<< - * ssum += ai * ai - * y[i0] = ssum - */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - - /* "ss.pyx":477 - * for i1 in range(n1): - * ai = a[i0, i1] - * ssum += ai * ai # <<<<<<<<<<<<<< - * y[i0] = ssum - * return y - */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); - } - - /* "ss.pyx":478 - * ai = a[i0, i1] - * ssum += ai * ai - * y[i0] = ssum # <<<<<<<<<<<<<< - * return y + * ai = a[i0] + * ssum += ai * ai # <<<<<<<<<<<<<< + * return np.int64(ssum) * */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; - } - - /* "ss.pyx":479 - * ssum += ai * ai - * y[i0] = ssum - * return y # <<<<<<<<<<<<<< + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + } + + /* "ss.pyx":451 + * ai = a[i0] + * ssum += ai * ai + * return np.int64(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_From_npy_int64(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + if (!__pyx_t_7) { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; goto __pyx_L0; - /* "ss.pyx":462 + /* "ss.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=1." - * cdef np.float_t ssum = 0, ai + * def ss_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int64 along axis=None." + * cdef np.int64_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_float_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":483 +/* "ss.pyx":455 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=0." - * cdef np.float32_t ssum = 0, ai + * def ss_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=None." + * cdef np.int_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_37ss_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_36ss_2d_float32_axis0[] = "ss_2d_float32_axis0(ndarray a)\nSum of squares of 2d array with dtype=float32 along axis=0."; -static PyMethodDef __pyx_mdef_2ss_37ss_2d_float32_axis0 = {"ss_2d_float32_axis0", (PyCFunction)__pyx_pw_2ss_37ss_2d_float32_axis0, METH_O, __pyx_doc_2ss_36ss_2d_float32_axis0}; -static PyObject *__pyx_pw_2ss_37ss_2d_float32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_37ss_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_36ss_2d_int_axisNone[] = "ss_2d_int_axisNone(ndarray a)\nSum of squares of 2d array with dtype=int along axis=None."; +static PyMethodDef __pyx_mdef_2ss_37ss_2d_int_axisNone = {"ss_2d_int_axisNone", (PyCFunction)__pyx_pw_2ss_37ss_2d_int_axisNone, METH_O, __pyx_doc_2ss_36ss_2d_int_axisNone}; +static PyObject *__pyx_pw_2ss_37ss_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_float32_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_36ss_2d_float32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_36ss_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6281,59 +6077,53 @@ static PyObject *__pyx_pw_2ss_37ss_2d_float32_axis0(PyObject *__pyx_self, PyObje return __pyx_r; } -static PyObject *__pyx_pf_2ss_36ss_2d_float32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float32_t __pyx_v_ssum; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_36ss_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int_t __pyx_v_ssum; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_float32_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("ss_2d_int_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":485 - * def ss_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=float32 along axis=0." - * cdef np.float32_t ssum = 0, ai # <<<<<<<<<<<<<< + /* "ss.pyx":457 + * def ss_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int along axis=None." + * cdef np.int_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0.0; + __pyx_v_ssum = 0; - /* "ss.pyx":488 + /* "ss.pyx":460 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6342,182 +6132,164 @@ static PyObject *__pyx_pf_2ss_36ss_2d_float32_axis0(CYTHON_UNUSED PyObject *__py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":489 + /* "ss.pyx":461 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] + * for i0 in range(n0): */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":490 + /* "ss.pyx":462 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): + * for i1 in range(n1): */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":491 + /* "ss.pyx":463 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "ss.pyx":492 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) - * for i1 in range(n1): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "ss.pyx":494 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ssum = 0 - * for i0 in range(n0): - */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; - - /* "ss.pyx":495 - * NPY_float32, 0) - * for i1 in range(n1): - * ssum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_ssum = 0.0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":496 - * for i1 in range(n1): - * ssum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "ss.pyx":464 + * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * ssum += ai * ai */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "ss.pyx":497 - * ssum = 0 - * for i0 in range(n0): + /* "ss.pyx":465 + * for i0 in range(n0): + * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * ssum += ai * ai - * y[i1] = ssum + * return np.int(ssum) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "ss.pyx":498 - * for i0 in range(n0): + /* "ss.pyx":466 + * for i1 in range(n1): * ai = a[i0, i1] * ssum += ai * ai # <<<<<<<<<<<<<< - * y[i1] = ssum - * return y + * return np.int(ssum) + * */ __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - - /* "ss.pyx":499 - * ai = a[i0, i1] - * ssum += ai * ai - * y[i1] = ssum # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } - /* "ss.pyx":500 + /* "ss.pyx":467 + * ai = a[i0, i1] * ssum += ai * ai - * y[i1] = ssum - * return y # <<<<<<<<<<<<<< + * return np.int(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int_2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyInt_From_npy_long(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "ss.pyx":483 + /* "ss.pyx":455 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=0." - * cdef np.float32_t ssum = 0, ai + * def ss_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=None." + * cdef np.int_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_float32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":504 +/* "ss.pyx":471 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=1." - * cdef np.float32_t ssum = 0, ai + * def ss_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=None." + * cdef np.int8_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_39ss_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_38ss_2d_float32_axis1[] = "ss_2d_float32_axis1(ndarray a)\nSum of squares of 2d array with dtype=float32 along axis=1."; -static PyMethodDef __pyx_mdef_2ss_39ss_2d_float32_axis1 = {"ss_2d_float32_axis1", (PyCFunction)__pyx_pw_2ss_39ss_2d_float32_axis1, METH_O, __pyx_doc_2ss_38ss_2d_float32_axis1}; -static PyObject *__pyx_pw_2ss_39ss_2d_float32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_39ss_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_38ss_2d_int8_axisNone[] = "ss_2d_int8_axisNone(ndarray a)\nSum of squares of 2d array with dtype=int8 along axis=None."; +static PyMethodDef __pyx_mdef_2ss_39ss_2d_int8_axisNone = {"ss_2d_int8_axisNone", (PyCFunction)__pyx_pw_2ss_39ss_2d_int8_axisNone, METH_O, __pyx_doc_2ss_38ss_2d_int8_axisNone}; +static PyObject *__pyx_pw_2ss_39ss_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_float32_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_38ss_2d_float32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int8_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_38ss_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6528,59 +6300,53 @@ static PyObject *__pyx_pw_2ss_39ss_2d_float32_axis1(PyObject *__pyx_self, PyObje return __pyx_r; } -static PyObject *__pyx_pf_2ss_38ss_2d_float32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float32_t __pyx_v_ssum; - __pyx_t_5numpy_float32_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_38ss_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int8_t __pyx_v_ssum; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_float32_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("ss_2d_int8_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":506 - * def ss_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=float32 along axis=1." - * cdef np.float32_t ssum = 0, ai # <<<<<<<<<<<<<< + /* "ss.pyx":473 + * def ss_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int8 along axis=None." + * cdef np.int8_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0.0; + __pyx_v_ssum = 0; - /* "ss.pyx":509 + /* "ss.pyx":476 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6589,182 +6355,164 @@ static PyObject *__pyx_pf_2ss_38ss_2d_float32_axis1(CYTHON_UNUSED PyObject *__py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":510 + /* "ss.pyx":477 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * for i0 in range(n0): */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":511 + /* "ss.pyx":478 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): + * for i1 in range(n1): */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":512 + /* "ss.pyx":479 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "ss.pyx":513 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float32, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "ss.pyx":515 - * cdef np.ndarray[np.float32_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float32, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * ssum = 0 - * for i1 in range(n1): - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "ss.pyx":516 - * NPY_float32, 0) - * for i0 in range(n0): - * ssum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_ssum = 0.0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":517 + /* "ss.pyx":480 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ssum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * ssum += ai * ai */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "ss.pyx":518 - * ssum = 0 + /* "ss.pyx":481 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * ssum += ai * ai - * y[i0] = ssum + * return np.int8(ssum) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "ss.pyx":519 + /* "ss.pyx":482 * for i1 in range(n1): * ai = a[i0, i1] * ssum += ai * ai # <<<<<<<<<<<<<< - * y[i0] = ssum - * return y + * return np.int8(ssum) + * */ __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - - /* "ss.pyx":520 - * ai = a[i0, i1] - * ssum += ai * ai - * y[i0] = ssum # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } - /* "ss.pyx":521 + /* "ss.pyx":483 + * ai = a[i0, i1] * ssum += ai * ai - * y[i0] = ssum - * return y # <<<<<<<<<<<<<< + * return np.int8(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyInt_From_npy_int8(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "ss.pyx":504 + /* "ss.pyx":471 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=1." - * cdef np.float32_t ssum = 0, ai + * def ss_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=None." + * cdef np.int8_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_float32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":525 +/* "ss.pyx":487 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=0." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=None." + * cdef np.int32_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_41ss_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_40ss_2d_float64_axis0[] = "ss_2d_float64_axis0(ndarray a)\nSum of squares of 2d array with dtype=float64 along axis=0."; -static PyMethodDef __pyx_mdef_2ss_41ss_2d_float64_axis0 = {"ss_2d_float64_axis0", (PyCFunction)__pyx_pw_2ss_41ss_2d_float64_axis0, METH_O, __pyx_doc_2ss_40ss_2d_float64_axis0}; -static PyObject *__pyx_pw_2ss_41ss_2d_float64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_41ss_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_40ss_2d_int32_axisNone[] = "ss_2d_int32_axisNone(ndarray a)\nSum of squares of 2d array with dtype=int32 along axis=None."; +static PyMethodDef __pyx_mdef_2ss_41ss_2d_int32_axisNone = {"ss_2d_int32_axisNone", (PyCFunction)__pyx_pw_2ss_41ss_2d_int32_axisNone, METH_O, __pyx_doc_2ss_40ss_2d_int32_axisNone}; +static PyObject *__pyx_pw_2ss_41ss_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_float64_axis0 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_40ss_2d_float64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int32_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_40ss_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -6775,59 +6523,53 @@ static PyObject *__pyx_pw_2ss_41ss_2d_float64_axis0(PyObject *__pyx_self, PyObje return __pyx_r; } -static PyObject *__pyx_pf_2ss_40ss_2d_float64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float64_t __pyx_v_ssum; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_40ss_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int32_t __pyx_v_ssum; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_float64_axis0", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("ss_2d_int32_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":527 - * def ss_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=float64 along axis=0." - * cdef np.float64_t ssum = 0, ai # <<<<<<<<<<<<<< + /* "ss.pyx":489 + * def ss_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int32 along axis=None." + * cdef np.int32_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0.0; + __pyx_v_ssum = 0; - /* "ss.pyx":530 + /* "ss.pyx":492 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -6836,182 +6578,164 @@ static PyObject *__pyx_pf_2ss_40ss_2d_float64_axis0(CYTHON_UNUSED PyObject *__py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":531 + /* "ss.pyx":493 * cdef np.npy_intp *dim - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - */ - __pyx_v_n0 = (__pyx_v_dim[0]); - - /* "ss.pyx":532 - * dim = PyArray_DIMS(a) - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - */ - __pyx_v_n1 = (__pyx_v_dim[1]); - - /* "ss.pyx":533 - * cdef Py_ssize_t n0 = dim[0] - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - */ - __pyx_t_1[0] = __pyx_v_n1; - __pyx_v_dims = __pyx_t_1; - - /* "ss.pyx":534 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n1] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * for i1 in range(n1): + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< + * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; + __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":536 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - * for i1 in range(n1): # <<<<<<<<<<<<<< - * ssum = 0 - * for i0 in range(n0): + /* "ss.pyx":494 + * dim = PyArray_DIMS(a) + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * for i0 in range(n0): + * for i1 in range(n1): */ - __pyx_t_4 = __pyx_v_n1; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i1 = __pyx_t_5; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":537 - * NPY_float64, 0) - * for i1 in range(n1): - * ssum = 0 # <<<<<<<<<<<<<< - * for i0 in range(n0): + /* "ss.pyx":495 + * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): # <<<<<<<<<<<<<< + * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_ssum = 0.0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":538 - * for i1 in range(n1): - * ssum = 0 - * for i0 in range(n0): # <<<<<<<<<<<<<< + /* "ss.pyx":496 + * cdef Py_ssize_t n1 = dim[1] + * for i0 in range(n0): + * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * ssum += ai * ai */ - __pyx_t_6 = __pyx_v_n0; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i0 = __pyx_t_7; + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "ss.pyx":539 - * ssum = 0 - * for i0 in range(n0): + /* "ss.pyx":497 + * for i0 in range(n0): + * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * ssum += ai * ai - * y[i1] = ssum + * return np.int32(ssum) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "ss.pyx":540 - * for i0 in range(n0): + /* "ss.pyx":498 + * for i1 in range(n1): * ai = a[i0, i1] * ssum += ai * ai # <<<<<<<<<<<<<< - * y[i1] = ssum - * return y + * return np.int32(ssum) + * */ __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - - /* "ss.pyx":541 - * ai = a[i0, i1] - * ssum += ai * ai - * y[i1] = ssum # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i1; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } - /* "ss.pyx":542 + /* "ss.pyx":499 + * ai = a[i0, i1] * ssum += ai * ai - * y[i1] = ssum - * return y # <<<<<<<<<<<<<< + * return np.int32(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyInt_From_npy_int32(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "ss.pyx":525 + /* "ss.pyx":487 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=0." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=None." + * cdef np.int32_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_float64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":546 +/* "ss.pyx":503 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=1." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=None." + * cdef np.int64_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_43ss_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_42ss_2d_float64_axis1[] = "ss_2d_float64_axis1(ndarray a)\nSum of squares of 2d array with dtype=float64 along axis=1."; -static PyMethodDef __pyx_mdef_2ss_43ss_2d_float64_axis1 = {"ss_2d_float64_axis1", (PyCFunction)__pyx_pw_2ss_43ss_2d_float64_axis1, METH_O, __pyx_doc_2ss_42ss_2d_float64_axis1}; -static PyObject *__pyx_pw_2ss_43ss_2d_float64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_43ss_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_42ss_2d_int64_axisNone[] = "ss_2d_int64_axisNone(ndarray a)\nSum of squares of 2d array with dtype=int64 along axis=None."; +static PyMethodDef __pyx_mdef_2ss_43ss_2d_int64_axisNone = {"ss_2d_int64_axisNone", (PyCFunction)__pyx_pw_2ss_43ss_2d_int64_axisNone, METH_O, __pyx_doc_2ss_42ss_2d_int64_axisNone}; +static PyObject *__pyx_pw_2ss_43ss_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_float64_axis1 (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_42ss_2d_float64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int64_axisNone (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_42ss_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7022,59 +6746,53 @@ static PyObject *__pyx_pw_2ss_43ss_2d_float64_axis1(PyObject *__pyx_self, PyObje return __pyx_r; } -static PyObject *__pyx_pf_2ss_42ss_2d_float64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_float64_t __pyx_v_ssum; - __pyx_t_5numpy_float64_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_42ss_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int64_t __pyx_v_ssum; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; - npy_intp *__pyx_v_dims; - PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; - __Pyx_LocalBuf_ND __pyx_pybuffernd_y; - __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - npy_intp __pyx_t_1[1]; - PyObject *__pyx_t_2 = NULL; - PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_1; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - Py_ssize_t __pyx_t_8; - Py_ssize_t __pyx_t_9; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_float64_axis1", 0); - __pyx_pybuffer_y.pybuffer.buf = NULL; - __pyx_pybuffer_y.refcount = 0; - __pyx_pybuffernd_y.data = NULL; - __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; + __Pyx_RefNannySetupContext("ss_2d_int64_axisNone", 0); __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":548 - * def ss_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=float64 along axis=1." - * cdef np.float64_t ssum = 0, ai # <<<<<<<<<<<<<< + /* "ss.pyx":505 + * def ss_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int64 along axis=None." + * cdef np.int64_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ - __pyx_v_ssum = 0.0; + __pyx_v_ssum = 0; - /* "ss.pyx":551 + /* "ss.pyx":508 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -7083,182 +6801,164 @@ static PyObject *__pyx_pf_2ss_42ss_2d_float64_axis1(CYTHON_UNUSED PyObject *__py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":552 + /* "ss.pyx":509 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] + * for i0 in range(n0): */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":553 + /* "ss.pyx":510 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * for i0 in range(n0): + * for i1 in range(n1): */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":554 + /* "ss.pyx":511 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) - */ - __pyx_t_1[0] = __pyx_v_n0; - __pyx_v_dims = __pyx_t_1; - - /* "ss.pyx":555 - * cdef Py_ssize_t n1 = dim[1] - * cdef np.npy_intp *dims = [n0] - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< - * NPY_float64, 0) - * for i0 in range(n0): - */ - __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_FLOAT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); - { - __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { - __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; - } - } - __pyx_t_3 = 0; - __pyx_v_y = ((PyArrayObject *)__pyx_t_2); - __pyx_t_2 = 0; - - /* "ss.pyx":557 - * cdef np.ndarray[np.float64_t, ndim=1] y = PyArray_EMPTY(1, dims, - * NPY_float64, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< - * ssum = 0 - * for i1 in range(n1): - */ - __pyx_t_4 = __pyx_v_n0; - for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { - __pyx_v_i0 = __pyx_t_5; - - /* "ss.pyx":558 - * NPY_float64, 0) - * for i0 in range(n0): - * ssum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_v_ssum = 0.0; + __pyx_t_1 = __pyx_v_n0; + for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { + __pyx_v_i0 = __pyx_t_2; - /* "ss.pyx":559 + /* "ss.pyx":512 + * cdef Py_ssize_t n1 = dim[1] * for i0 in range(n0): - * ssum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * ssum += ai * ai */ - __pyx_t_6 = __pyx_v_n1; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i1 = __pyx_t_7; + __pyx_t_3 = __pyx_v_n1; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_i1 = __pyx_t_4; - /* "ss.pyx":560 - * ssum = 0 + /* "ss.pyx":513 + * for i0 in range(n0): * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * ssum += ai * ai - * y[i0] = ssum + * return np.int64(ssum) */ - __pyx_t_8 = __pyx_v_i0; - __pyx_t_9 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_5 = __pyx_v_i0; + __pyx_t_6 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "ss.pyx":561 + /* "ss.pyx":514 * for i1 in range(n1): * ai = a[i0, i1] * ssum += ai * ai # <<<<<<<<<<<<<< - * y[i0] = ssum - * return y + * return np.int64(ssum) + * */ __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - - /* "ss.pyx":562 - * ai = a[i0, i1] - * ssum += ai * ai - * y[i0] = ssum # <<<<<<<<<<<<<< - * return y - * - */ - __pyx_t_6 = __pyx_v_i0; - *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } - /* "ss.pyx":563 + /* "ss.pyx":515 + * ai = a[i0, i1] * ssum += ai * ai - * y[i0] = ssum - * return y # <<<<<<<<<<<<<< + * return np.int64(ssum) # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_y)); - __pyx_r = ((PyObject *)__pyx_v_y); + __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyInt_From_npy_int64(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else { + __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; + PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; goto __pyx_L0; - /* "ss.pyx":546 + /* "ss.pyx":503 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=1." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=None." + * cdef np.int64_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_float64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); - __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":567 +/* "ss.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int along axis=None." + * def ss_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=0." * cdef np.int_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_45ss_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_44ss_1d_int_axisNone[] = "ss_1d_int_axisNone(ndarray a)\nSum of squares of 1d array with dtype=int along axis=None."; -static PyMethodDef __pyx_mdef_2ss_45ss_1d_int_axisNone = {"ss_1d_int_axisNone", (PyCFunction)__pyx_pw_2ss_45ss_1d_int_axisNone, METH_O, __pyx_doc_2ss_44ss_1d_int_axisNone}; -static PyObject *__pyx_pw_2ss_45ss_1d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_45ss_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_44ss_2d_int_axis0[] = "ss_2d_int_axis0(ndarray a)\nSum of squares of 2d array with dtype=int along axis=0."; +static PyMethodDef __pyx_mdef_2ss_45ss_2d_int_axis0 = {"ss_2d_int_axis0", (PyCFunction)__pyx_pw_2ss_45ss_2d_int_axis0, METH_O, __pyx_doc_2ss_44ss_2d_int_axis0}; +static PyObject *__pyx_pw_2ss_45ss_2d_int_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_1d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_44ss_1d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_44ss_2d_int_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7269,192 +6969,243 @@ static PyObject *__pyx_pw_2ss_45ss_1d_int_axisNone(PyObject *__pyx_self, PyObjec return __pyx_r; } -static PyObject *__pyx_pf_2ss_44ss_1d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_2ss_44ss_2d_int_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_int_t __pyx_v_ssum; __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_1d_int_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_int_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":569 - * def ss_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): - * "Sum of squares of 1d array with dtype=int along axis=None." + /* "ss.pyx":521 + * def ss_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int along axis=0." * cdef np.int_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0; - /* "ss.pyx":572 - * cdef Py_ssize_t i0 + /* "ss.pyx":524 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":573 + /* "ss.pyx":525 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":574 + /* "ss.pyx":526 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * ssum += ai * ai + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":575 + /* "ss.pyx":527 * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * ssum += ai * ai - * return np.int(ssum) + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "ss.pyx":576 - * for i0 in range(n0): - * ai = a[i0] - * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.int(ssum) - * + /* "ss.pyx":528 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int, 0) + * for i1 in range(n1): */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; - /* "ss.pyx":577 - * ai = a[i0] - * ssum += ai * ai - * return np.int(ssum) # <<<<<<<<<<<<<< - * - * @cython.boundscheck(False) + /* "ss.pyx":530 + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ssum = 0 + * for i0 in range(n0): */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int_2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "ss.pyx":531 + * NPY_int, 0) + * for i1 in range(n1): + * ssum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_ssum = 0; + + /* "ss.pyx":532 + * for i1 in range(n1): + * ssum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ssum += ai * ai + */ + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; + + /* "ss.pyx":533 + * ssum = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ssum += ai * ai + * y[i1] = ssum + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "ss.pyx":534 + * for i0 in range(n0): + * ai = a[i0, i1] + * ssum += ai * ai # <<<<<<<<<<<<<< + * y[i1] = ssum + * return y + */ + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } + + /* "ss.pyx":535 + * ai = a[i0, i1] + * ssum += ai * ai + * y[i1] = ssum # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } - if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + + /* "ss.pyx":536 + * ssum += ai * ai + * y[i1] = ssum + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "ss.pyx":567 + /* "ss.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int along axis=None." + * def ss_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=0." * cdef np.int_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_1d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":581 +/* "ss.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int8 along axis=None." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=1." + * cdef np.int_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_47ss_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_46ss_1d_int8_axisNone[] = "ss_1d_int8_axisNone(ndarray a)\nSum of squares of 1d array with dtype=int8 along axis=None."; -static PyMethodDef __pyx_mdef_2ss_47ss_1d_int8_axisNone = {"ss_1d_int8_axisNone", (PyCFunction)__pyx_pw_2ss_47ss_1d_int8_axisNone, METH_O, __pyx_doc_2ss_46ss_1d_int8_axisNone}; -static PyObject *__pyx_pw_2ss_47ss_1d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_47ss_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_46ss_2d_int_axis1[] = "ss_2d_int_axis1(ndarray a)\nSum of squares of 2d array with dtype=int along axis=1."; +static PyMethodDef __pyx_mdef_2ss_47ss_2d_int_axis1 = {"ss_2d_int_axis1", (PyCFunction)__pyx_pw_2ss_47ss_2d_int_axis1, METH_O, __pyx_doc_2ss_46ss_2d_int_axis1}; +static PyObject *__pyx_pw_2ss_47ss_2d_int_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_1d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_46ss_1d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_46ss_2d_int_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7465,192 +7216,243 @@ static PyObject *__pyx_pw_2ss_47ss_1d_int8_axisNone(PyObject *__pyx_self, PyObje return __pyx_r; } -static PyObject *__pyx_pf_2ss_46ss_1d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int8_t __pyx_v_ssum; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_46ss_2d_int_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int_t __pyx_v_ssum; + __pyx_t_5numpy_int_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_1d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_int_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":583 - * def ss_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): - * "Sum of squares of 1d array with dtype=int8 along axis=None." - * cdef np.int8_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + /* "ss.pyx":542 + * def ss_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int along axis=1." + * cdef np.int_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0; - /* "ss.pyx":586 - * cdef Py_ssize_t i0 + /* "ss.pyx":545 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":587 + /* "ss.pyx":546 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":588 + /* "ss.pyx":547 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * ssum += ai * ai + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":589 + /* "ss.pyx":548 * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "ss.pyx":549 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int, 0) * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * ssum += ai * ai - * return np.int8(ssum) */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "ss.pyx":551 + * cdef np.ndarray[np.int_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ssum = 0 + * for i1 in range(n1): + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "ss.pyx":590 + /* "ss.pyx":552 + * NPY_int, 0) * for i0 in range(n0): - * ai = a[i0] - * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.int8(ssum) + * ssum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_ssum = 0; + + /* "ss.pyx":553 + * for i0 in range(n0): + * ssum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ssum += ai * ai + */ + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; + + /* "ss.pyx":554 + * ssum = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ssum += ai * ai + * y[i0] = ssum + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "ss.pyx":555 + * for i1 in range(n1): + * ai = a[i0, i1] + * ssum += ai * ai # <<<<<<<<<<<<<< + * y[i0] = ssum + * return y + */ + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + } + + /* "ss.pyx":556 + * ai = a[i0, i1] + * ssum += ai * ai + * y[i0] = ssum # <<<<<<<<<<<<<< + * return y * */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } - /* "ss.pyx":591 - * ai = a[i0] - * ssum += ai * ai - * return np.int8(ssum) # <<<<<<<<<<<<<< + /* "ss.pyx":557 + * ssum += ai * ai + * y[i0] = ssum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_From_npy_int8(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "ss.pyx":581 + /* "ss.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int8 along axis=None." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=1." + * cdef np.int_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_1d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":595 +/* "ss.pyx":561 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int32 along axis=None." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=0." + * cdef np.int8_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_49ss_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_48ss_1d_int32_axisNone[] = "ss_1d_int32_axisNone(ndarray a)\nSum of squares of 1d array with dtype=int32 along axis=None."; -static PyMethodDef __pyx_mdef_2ss_49ss_1d_int32_axisNone = {"ss_1d_int32_axisNone", (PyCFunction)__pyx_pw_2ss_49ss_1d_int32_axisNone, METH_O, __pyx_doc_2ss_48ss_1d_int32_axisNone}; -static PyObject *__pyx_pw_2ss_49ss_1d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_49ss_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_48ss_2d_int8_axis0[] = "ss_2d_int8_axis0(ndarray a)\nSum of squares of 2d array with dtype=int8 along axis=0."; +static PyMethodDef __pyx_mdef_2ss_49ss_2d_int8_axis0 = {"ss_2d_int8_axis0", (PyCFunction)__pyx_pw_2ss_49ss_2d_int8_axis0, METH_O, __pyx_doc_2ss_48ss_2d_int8_axis0}; +static PyObject *__pyx_pw_2ss_49ss_2d_int8_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_1d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_48ss_1d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int8_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_48ss_2d_int8_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7661,192 +7463,243 @@ static PyObject *__pyx_pw_2ss_49ss_1d_int32_axisNone(PyObject *__pyx_self, PyObj return __pyx_r; } -static PyObject *__pyx_pf_2ss_48ss_1d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int32_t __pyx_v_ssum; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_48ss_2d_int8_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int8_t __pyx_v_ssum; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_1d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_int8_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":597 - * def ss_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): - * "Sum of squares of 1d array with dtype=int32 along axis=None." - * cdef np.int32_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + /* "ss.pyx":563 + * def ss_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int8 along axis=0." + * cdef np.int8_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0; - /* "ss.pyx":600 - * cdef Py_ssize_t i0 + /* "ss.pyx":566 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":601 + /* "ss.pyx":567 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":602 + /* "ss.pyx":568 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * ssum += ai * ai + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":603 + /* "ss.pyx":569 * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * ssum += ai * ai - * return np.int32(ssum) + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "ss.pyx":604 - * for i0 in range(n0): - * ai = a[i0] - * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.int32(ssum) + /* "ss.pyx":570 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int8, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "ss.pyx":572 + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ssum = 0 + * for i0 in range(n0): + */ + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "ss.pyx":573 + * NPY_int8, 0) + * for i1 in range(n1): + * ssum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_ssum = 0; + + /* "ss.pyx":574 + * for i1 in range(n1): + * ssum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ssum += ai * ai + */ + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; + + /* "ss.pyx":575 + * ssum = 0 + * for i0 in range(n0): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ssum += ai * ai + * y[i1] = ssum + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "ss.pyx":576 + * for i0 in range(n0): + * ai = a[i0, i1] + * ssum += ai * ai # <<<<<<<<<<<<<< + * y[i1] = ssum + * return y + */ + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + } + + /* "ss.pyx":577 + * ai = a[i0, i1] + * ssum += ai * ai + * y[i1] = ssum # <<<<<<<<<<<<<< + * return y * */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } - /* "ss.pyx":605 - * ai = a[i0] - * ssum += ai * ai - * return np.int32(ssum) # <<<<<<<<<<<<<< + /* "ss.pyx":578 + * ssum += ai * ai + * y[i1] = ssum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int32); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_From_npy_int32(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "ss.pyx":595 + /* "ss.pyx":561 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int32 along axis=None." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=0." + * cdef np.int8_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_1d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int8_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":609 +/* "ss.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int64 along axis=None." - * cdef np.int64_t ssum = 0, ai + * def ss_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=1." + * cdef np.int8_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_51ss_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_50ss_1d_int64_axisNone[] = "ss_1d_int64_axisNone(ndarray a)\nSum of squares of 1d array with dtype=int64 along axis=None."; -static PyMethodDef __pyx_mdef_2ss_51ss_1d_int64_axisNone = {"ss_1d_int64_axisNone", (PyCFunction)__pyx_pw_2ss_51ss_1d_int64_axisNone, METH_O, __pyx_doc_2ss_50ss_1d_int64_axisNone}; -static PyObject *__pyx_pw_2ss_51ss_1d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_51ss_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_50ss_2d_int8_axis1[] = "ss_2d_int8_axis1(ndarray a)\nSum of squares of 2d array with dtype=int8 along axis=1."; +static PyMethodDef __pyx_mdef_2ss_51ss_2d_int8_axis1 = {"ss_2d_int8_axis1", (PyCFunction)__pyx_pw_2ss_51ss_2d_int8_axis1, METH_O, __pyx_doc_2ss_50ss_2d_int8_axis1}; +static PyObject *__pyx_pw_2ss_51ss_2d_int8_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_1d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_50ss_1d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int8_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_50ss_2d_int8_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -7857,192 +7710,243 @@ static PyObject *__pyx_pw_2ss_51ss_1d_int64_axisNone(PyObject *__pyx_self, PyObj return __pyx_r; } -static PyObject *__pyx_pf_2ss_50ss_1d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int64_t __pyx_v_ssum; - __pyx_t_5numpy_int64_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_50ss_2d_int8_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int8_t __pyx_v_ssum; + __pyx_t_5numpy_int8_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; + Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; + Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_1d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_int8_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; + __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":611 - * def ss_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): - * "Sum of squares of 1d array with dtype=int64 along axis=None." - * cdef np.int64_t ssum = 0, ai # <<<<<<<<<<<<<< - * cdef Py_ssize_t i0 + /* "ss.pyx":584 + * def ss_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int8 along axis=1." + * cdef np.int8_t ssum = 0, ai # <<<<<<<<<<<<<< + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0; - /* "ss.pyx":614 - * cdef Py_ssize_t i0 + /* "ss.pyx":587 + * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): + * cdef Py_ssize_t n1 = dim[1] */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":615 + /* "ss.pyx":588 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * ai = a[i0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":616 + /* "ss.pyx":589 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * ai = a[i0] - * ssum += ai * ai + * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":617 + /* "ss.pyx":590 * cdef Py_ssize_t n0 = dim[0] + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "ss.pyx":591 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int8, 0) * for i0 in range(n0): - * ai = a[i0] # <<<<<<<<<<<<<< - * ssum += ai * ai - * return np.int64(ssum) */ - __pyx_t_3 = __pyx_v_i0; - __pyx_v_ai = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_3, __pyx_pybuffernd_a.diminfo[0].strides)); + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT8, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "ss.pyx":593 + * cdef np.ndarray[np.int8_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int8, 0) + * for i0 in range(n0): # <<<<<<<<<<<<<< + * ssum = 0 + * for i1 in range(n1): + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; - /* "ss.pyx":618 + /* "ss.pyx":594 + * NPY_int8, 0) * for i0 in range(n0): - * ai = a[i0] - * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.int64(ssum) + * ssum = 0 # <<<<<<<<<<<<<< + * for i1 in range(n1): + * ai = a[i0, i1] + */ + __pyx_v_ssum = 0; + + /* "ss.pyx":595 + * for i0 in range(n0): + * ssum = 0 + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ai = a[i0, i1] + * ssum += ai * ai + */ + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; + + /* "ss.pyx":596 + * ssum = 0 + * for i1 in range(n1): + * ai = a[i0, i1] # <<<<<<<<<<<<<< + * ssum += ai * ai + * y[i0] = ssum + */ + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); + + /* "ss.pyx":597 + * for i1 in range(n1): + * ai = a[i0, i1] + * ssum += ai * ai # <<<<<<<<<<<<<< + * y[i0] = ssum + * return y + */ + __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + } + + /* "ss.pyx":598 + * ai = a[i0, i1] + * ssum += ai * ai + * y[i0] = ssum # <<<<<<<<<<<<<< + * return y * */ - __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } - /* "ss.pyx":619 - * ai = a[i0] - * ssum += ai * ai - * return np.int64(ssum) # <<<<<<<<<<<<<< + /* "ss.pyx":599 + * ssum += ai * ai + * y[i0] = ssum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_From_npy_int64(__pyx_v_ssum); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL; - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "ss.pyx":609 + /* "ss.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int64 along axis=None." - * cdef np.int64_t ssum = 0, ai + * def ss_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=1." + * cdef np.int8_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_1d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int8_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":623 +/* "ss.pyx":603 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=None." - * cdef np.int_t ssum = 0, ai + * def ss_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=0." + * cdef np.int32_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_53ss_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_52ss_2d_int_axisNone[] = "ss_2d_int_axisNone(ndarray a)\nSum of squares of 2d array with dtype=int along axis=None."; -static PyMethodDef __pyx_mdef_2ss_53ss_2d_int_axisNone = {"ss_2d_int_axisNone", (PyCFunction)__pyx_pw_2ss_53ss_2d_int_axisNone, METH_O, __pyx_doc_2ss_52ss_2d_int_axisNone}; -static PyObject *__pyx_pw_2ss_53ss_2d_int_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_53ss_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_52ss_2d_int32_axis0[] = "ss_2d_int32_axis0(ndarray a)\nSum of squares of 2d array with dtype=int32 along axis=0."; +static PyMethodDef __pyx_mdef_2ss_53ss_2d_int32_axis0 = {"ss_2d_int32_axis0", (PyCFunction)__pyx_pw_2ss_53ss_2d_int32_axis0, METH_O, __pyx_doc_2ss_52ss_2d_int32_axis0}; +static PyObject *__pyx_pw_2ss_53ss_2d_int32_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_52ss_2d_int_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int32_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_52ss_2d_int32_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8053,53 +7957,59 @@ static PyObject *__pyx_pw_2ss_53ss_2d_int_axisNone(PyObject *__pyx_self, PyObjec return __pyx_r; } -static PyObject *__pyx_pf_2ss_52ss_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int_t __pyx_v_ssum; - __pyx_t_5numpy_int_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_52ss_2d_int32_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int32_t __pyx_v_ssum; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_int32_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":625 - * def ss_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int along axis=None." - * cdef np.int_t ssum = 0, ai # <<<<<<<<<<<<<< + /* "ss.pyx":605 + * def ss_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int32 along axis=0." + * cdef np.int32_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0; - /* "ss.pyx":628 + /* "ss.pyx":608 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8108,164 +8018,182 @@ static PyObject *__pyx_pf_2ss_52ss_2d_int_axisNone(CYTHON_UNUSED PyObject *__pyx */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":629 + /* "ss.pyx":609 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":630 + /* "ss.pyx":610 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":631 + /* "ss.pyx":611 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) + */ + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; + + /* "ss.pyx":612 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int32, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "ss.pyx":614 + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ssum = 0 + * for i0 in range(n0): + */ + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "ss.pyx":615 + * NPY_int32, 0) + * for i1 in range(n1): + * ssum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): * ai = a[i0, i1] */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_ssum = 0; - /* "ss.pyx":632 - * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + /* "ss.pyx":616 + * for i1 in range(n1): + * ssum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * ssum += ai * ai */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "ss.pyx":633 - * for i0 in range(n0): - * for i1 in range(n1): + /* "ss.pyx":617 + * ssum = 0 + * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * ssum += ai * ai - * return np.int(ssum) + * y[i1] = ssum */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "ss.pyx":634 - * for i1 in range(n1): + /* "ss.pyx":618 + * for i0 in range(n0): * ai = a[i0, i1] * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.int(ssum) - * + * y[i1] = ssum + * return y */ __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - } - /* "ss.pyx":635 + /* "ss.pyx":619 * ai = a[i0, i1] * ssum += ai * ai - * return np.int(ssum) # <<<<<<<<<<<<<< + * y[i1] = ssum # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + } + + /* "ss.pyx":620 + * ssum += ai * ai + * y[i1] = ssum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int_2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyInt_From_npy_long(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - } - } - if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_7); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "ss.pyx":623 + /* "ss.pyx":603 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=None." - * cdef np.int_t ssum = 0, ai + * def ss_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=0." + * cdef np.int32_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int32_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":639 +/* "ss.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=None." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=1." + * cdef np.int32_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_55ss_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_54ss_2d_int8_axisNone[] = "ss_2d_int8_axisNone(ndarray a)\nSum of squares of 2d array with dtype=int8 along axis=None."; -static PyMethodDef __pyx_mdef_2ss_55ss_2d_int8_axisNone = {"ss_2d_int8_axisNone", (PyCFunction)__pyx_pw_2ss_55ss_2d_int8_axisNone, METH_O, __pyx_doc_2ss_54ss_2d_int8_axisNone}; -static PyObject *__pyx_pw_2ss_55ss_2d_int8_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_55ss_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_54ss_2d_int32_axis1[] = "ss_2d_int32_axis1(ndarray a)\nSum of squares of 2d array with dtype=int32 along axis=1."; +static PyMethodDef __pyx_mdef_2ss_55ss_2d_int32_axis1 = {"ss_2d_int32_axis1", (PyCFunction)__pyx_pw_2ss_55ss_2d_int32_axis1, METH_O, __pyx_doc_2ss_54ss_2d_int32_axis1}; +static PyObject *__pyx_pw_2ss_55ss_2d_int32_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int8_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_54ss_2d_int8_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int32_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_54ss_2d_int32_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8276,53 +8204,59 @@ static PyObject *__pyx_pw_2ss_55ss_2d_int8_axisNone(PyObject *__pyx_self, PyObje return __pyx_r; } -static PyObject *__pyx_pf_2ss_54ss_2d_int8_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int8_t __pyx_v_ssum; - __pyx_t_5numpy_int8_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_54ss_2d_int32_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int32_t __pyx_v_ssum; + __pyx_t_5numpy_int32_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int8_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_int32_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int8_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":641 - * def ss_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int8 along axis=None." - * cdef np.int8_t ssum = 0, ai # <<<<<<<<<<<<<< + /* "ss.pyx":626 + * def ss_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int32 along axis=1." + * cdef np.int32_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0; - /* "ss.pyx":644 + /* "ss.pyx":629 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8331,164 +8265,182 @@ static PyObject *__pyx_pf_2ss_54ss_2d_int8_axisNone(CYTHON_UNUSED PyObject *__py */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":645 + /* "ss.pyx":630 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":646 + /* "ss.pyx":631 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":647 + /* "ss.pyx":632 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "ss.pyx":633 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int32, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT32, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "ss.pyx":635 + * cdef np.ndarray[np.int32_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int32, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< + * ssum = 0 + * for i1 in range(n1): + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; + + /* "ss.pyx":636 + * NPY_int32, 0) + * for i0 in range(n0): + * ssum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_ssum = 0; - /* "ss.pyx":648 - * cdef Py_ssize_t n1 = dim[1] + /* "ss.pyx":637 * for i0 in range(n0): + * ssum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * ssum += ai * ai */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "ss.pyx":649 - * for i0 in range(n0): + /* "ss.pyx":638 + * ssum = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * ssum += ai * ai - * return np.int8(ssum) + * y[i0] = ssum */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "ss.pyx":650 + /* "ss.pyx":639 * for i1 in range(n1): * ai = a[i0, i1] * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.int8(ssum) - * + * y[i0] = ssum + * return y */ __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - } - /* "ss.pyx":651 + /* "ss.pyx":640 * ai = a[i0, i1] * ssum += ai * ai - * return np.int8(ssum) # <<<<<<<<<<<<<< + * y[i0] = ssum # <<<<<<<<<<<<<< + * return y * - * @cython.boundscheck(False) */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyInt_From_npy_int8(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - } - } - if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_7); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + + /* "ss.pyx":641 + * ssum += ai * ai + * y[i0] = ssum + * return y # <<<<<<<<<<<<<< + * + * @cython.boundscheck(False) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "ss.pyx":639 + /* "ss.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=None." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=1." + * cdef np.int32_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int8_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int32_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":655 +/* "ss.pyx":645 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=None." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=0." + * cdef np.int64_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_57ss_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_56ss_2d_int32_axisNone[] = "ss_2d_int32_axisNone(ndarray a)\nSum of squares of 2d array with dtype=int32 along axis=None."; -static PyMethodDef __pyx_mdef_2ss_57ss_2d_int32_axisNone = {"ss_2d_int32_axisNone", (PyCFunction)__pyx_pw_2ss_57ss_2d_int32_axisNone, METH_O, __pyx_doc_2ss_56ss_2d_int32_axisNone}; -static PyObject *__pyx_pw_2ss_57ss_2d_int32_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_57ss_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_56ss_2d_int64_axis0[] = "ss_2d_int64_axis0(ndarray a)\nSum of squares of 2d array with dtype=int64 along axis=0."; +static PyMethodDef __pyx_mdef_2ss_57ss_2d_int64_axis0 = {"ss_2d_int64_axis0", (PyCFunction)__pyx_pw_2ss_57ss_2d_int64_axis0, METH_O, __pyx_doc_2ss_56ss_2d_int64_axis0}; +static PyObject *__pyx_pw_2ss_57ss_2d_int64_axis0(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int32_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_56ss_2d_int32_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int64_axis0 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_56ss_2d_int64_axis0(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8499,53 +8451,59 @@ static PyObject *__pyx_pw_2ss_57ss_2d_int32_axisNone(PyObject *__pyx_self, PyObj return __pyx_r; } -static PyObject *__pyx_pf_2ss_56ss_2d_int32_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - __pyx_t_5numpy_int32_t __pyx_v_ssum; - __pyx_t_5numpy_int32_t __pyx_v_ai; +static PyObject *__pyx_pf_2ss_56ss_2d_int64_axis0(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { + __pyx_t_5numpy_int64_t __pyx_v_ssum; + __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; Py_ssize_t __pyx_v_i1; npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int32_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_int64_axis0", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":657 - * def ss_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int32 along axis=None." - * cdef np.int32_t ssum = 0, ai # <<<<<<<<<<<<<< + /* "ss.pyx":647 + * def ss_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int64 along axis=0." + * cdef np.int64_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0; - /* "ss.pyx":660 + /* "ss.pyx":650 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8554,164 +8512,182 @@ static PyObject *__pyx_pf_2ss_56ss_2d_int32_axisNone(CYTHON_UNUSED PyObject *__p */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":661 + /* "ss.pyx":651 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n1] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":662 + /* "ss.pyx":652 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":663 + /* "ss.pyx":653 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): # <<<<<<<<<<<<<< - * for i1 in range(n1): - * ai = a[i0, i1] + * cdef np.npy_intp *dims = [n1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_t_1[0] = __pyx_v_n1; + __pyx_v_dims = __pyx_t_1; - /* "ss.pyx":664 + /* "ss.pyx":654 * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): - * for i1 in range(n1): # <<<<<<<<<<<<<< + * cdef np.npy_intp *dims = [n1] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int64, 0) + * for i1 in range(n1): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "ss.pyx":656 + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) + * for i1 in range(n1): # <<<<<<<<<<<<<< + * ssum = 0 + * for i0 in range(n0): + */ + __pyx_t_4 = __pyx_v_n1; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i1 = __pyx_t_5; + + /* "ss.pyx":657 + * NPY_int64, 0) + * for i1 in range(n1): + * ssum = 0 # <<<<<<<<<<<<<< + * for i0 in range(n0): + * ai = a[i0, i1] + */ + __pyx_v_ssum = 0; + + /* "ss.pyx":658 + * for i1 in range(n1): + * ssum = 0 + * for i0 in range(n0): # <<<<<<<<<<<<<< * ai = a[i0, i1] * ssum += ai * ai */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_6 = __pyx_v_n0; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i0 = __pyx_t_7; - /* "ss.pyx":665 - * for i0 in range(n0): - * for i1 in range(n1): + /* "ss.pyx":659 + * ssum = 0 + * for i0 in range(n0): * ai = a[i0, i1] # <<<<<<<<<<<<<< * ssum += ai * ai - * return np.int32(ssum) + * y[i1] = ssum */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "ss.pyx":666 - * for i1 in range(n1): + /* "ss.pyx":660 + * for i0 in range(n0): * ai = a[i0, i1] * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.int32(ssum) - * + * y[i1] = ssum + * return y */ __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } - } - /* "ss.pyx":667 + /* "ss.pyx":661 * ai = a[i0, i1] * ssum += ai * ai - * return np.int32(ssum) # <<<<<<<<<<<<<< + * y[i1] = ssum # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i1; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; + } + + /* "ss.pyx":662 + * ssum += ai * ai + * y[i1] = ssum + * return y # <<<<<<<<<<<<<< * * @cython.boundscheck(False) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyInt_From_npy_int32(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - } - } - if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_7); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "ss.pyx":655 + /* "ss.pyx":645 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=None." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=0." + * cdef np.int64_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int32_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int64_axis0", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "ss.pyx":671 +/* "ss.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=None." + * def ss_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=1." * cdef np.int64_t ssum = 0, ai */ /* Python wrapper */ -static PyObject *__pyx_pw_2ss_59ss_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static char __pyx_doc_2ss_58ss_2d_int64_axisNone[] = "ss_2d_int64_axisNone(ndarray a)\nSum of squares of 2d array with dtype=int64 along axis=None."; -static PyMethodDef __pyx_mdef_2ss_59ss_2d_int64_axisNone = {"ss_2d_int64_axisNone", (PyCFunction)__pyx_pw_2ss_59ss_2d_int64_axisNone, METH_O, __pyx_doc_2ss_58ss_2d_int64_axisNone}; -static PyObject *__pyx_pw_2ss_59ss_2d_int64_axisNone(PyObject *__pyx_self, PyObject *__pyx_v_a) { +static PyObject *__pyx_pw_2ss_59ss_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ +static char __pyx_doc_2ss_58ss_2d_int64_axis1[] = "ss_2d_int64_axis1(ndarray a)\nSum of squares of 2d array with dtype=int64 along axis=1."; +static PyMethodDef __pyx_mdef_2ss_59ss_2d_int64_axis1 = {"ss_2d_int64_axis1", (PyCFunction)__pyx_pw_2ss_59ss_2d_int64_axis1, METH_O, __pyx_doc_2ss_58ss_2d_int64_axis1}; +static PyObject *__pyx_pw_2ss_59ss_2d_int64_axis1(PyObject *__pyx_self, PyObject *__pyx_v_a) { CYTHON_UNUSED int __pyx_lineno = 0; CYTHON_UNUSED const char *__pyx_filename = NULL; CYTHON_UNUSED int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("ss_2d_int64_axisNone (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_r = __pyx_pf_2ss_58ss_2d_int64_axisNone(__pyx_self, ((PyArrayObject *)__pyx_v_a)); + __Pyx_RefNannySetupContext("ss_2d_int64_axis1 (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_pf_2ss_58ss_2d_int64_axis1(__pyx_self, ((PyArrayObject *)__pyx_v_a)); /* function exit code */ goto __pyx_L0; @@ -8722,7 +8698,7 @@ static PyObject *__pyx_pw_2ss_59ss_2d_int64_axisNone(PyObject *__pyx_self, PyObj return __pyx_r; } -static PyObject *__pyx_pf_2ss_58ss_2d_int64_axisNone(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { +static PyObject *__pyx_pf_2ss_58ss_2d_int64_axis1(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { __pyx_t_5numpy_int64_t __pyx_v_ssum; __pyx_t_5numpy_int64_t __pyx_v_ai; Py_ssize_t __pyx_v_i0; @@ -8730,45 +8706,51 @@ static PyObject *__pyx_pf_2ss_58ss_2d_int64_axisNone(CYTHON_UNUSED PyObject *__p npy_intp *__pyx_v_dim; Py_ssize_t __pyx_v_n0; Py_ssize_t __pyx_v_n1; + npy_intp *__pyx_v_dims; + PyArrayObject *__pyx_v_y = 0; __Pyx_LocalBuf_ND __pyx_pybuffernd_a; __Pyx_Buffer __pyx_pybuffer_a; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y; + __Pyx_Buffer __pyx_pybuffer_y; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - Py_ssize_t __pyx_t_2; - Py_ssize_t __pyx_t_3; + npy_intp __pyx_t_1[1]; + PyObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; Py_ssize_t __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; + Py_ssize_t __pyx_t_7; + Py_ssize_t __pyx_t_8; + Py_ssize_t __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("ss_2d_int64_axisNone", 0); + __Pyx_RefNannySetupContext("ss_2d_int64_axis1", 0); + __pyx_pybuffer_y.pybuffer.buf = NULL; + __pyx_pybuffer_y.refcount = 0; + __pyx_pybuffernd_y.data = NULL; + __pyx_pybuffernd_y.rcbuffer = &__pyx_pybuffer_y; __pyx_pybuffer_a.pybuffer.buf = NULL; __pyx_pybuffer_a.refcount = 0; __pyx_pybuffernd_a.data = NULL; __pyx_pybuffernd_a.rcbuffer = &__pyx_pybuffer_a; { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_a.rcbuffer->pybuffer, (PyObject*)__pyx_v_a, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_pybuffernd_a.diminfo[0].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_a.diminfo[0].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_a.diminfo[1].strides = __pyx_pybuffernd_a.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_a.diminfo[1].shape = __pyx_pybuffernd_a.rcbuffer->pybuffer.shape[1]; - /* "ss.pyx":673 - * def ss_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): - * "Sum of squares of 2d array with dtype=int64 along axis=None." + /* "ss.pyx":668 + * def ss_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): + * "Sum of squares of 2d array with dtype=int64 along axis=1." * cdef np.int64_t ssum = 0, ai # <<<<<<<<<<<<<< * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim */ __pyx_v_ssum = 0; - /* "ss.pyx":676 + /* "ss.pyx":671 * cdef Py_ssize_t i0, i1 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) # <<<<<<<<<<<<<< @@ -8777,145 +8759,163 @@ static PyObject *__pyx_pf_2ss_58ss_2d_int64_axisNone(CYTHON_UNUSED PyObject *__p */ __pyx_v_dim = PyArray_DIMS(((PyArrayObject *)__pyx_v_a)); - /* "ss.pyx":677 + /* "ss.pyx":672 * cdef np.npy_intp *dim * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] # <<<<<<<<<<<<<< * cdef Py_ssize_t n1 = dim[1] - * for i0 in range(n0): + * cdef np.npy_intp *dims = [n0] */ __pyx_v_n0 = (__pyx_v_dim[0]); - /* "ss.pyx":678 + /* "ss.pyx":673 * dim = PyArray_DIMS(a) * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] # <<<<<<<<<<<<<< - * for i0 in range(n0): - * for i1 in range(n1): + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, */ __pyx_v_n1 = (__pyx_v_dim[1]); - /* "ss.pyx":679 + /* "ss.pyx":674 * cdef Py_ssize_t n0 = dim[0] * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) + */ + __pyx_t_1[0] = __pyx_v_n0; + __pyx_v_dims = __pyx_t_1; + + /* "ss.pyx":675 + * cdef Py_ssize_t n1 = dim[1] + * cdef np.npy_intp *dims = [n0] + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, # <<<<<<<<<<<<<< + * NPY_int64, 0) + * for i0 in range(n0): + */ + __pyx_t_2 = PyArray_EMPTY(1, __pyx_v_dims, NPY_INT64, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyArrayObject *)__pyx_t_2); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y.rcbuffer->pybuffer.buf = NULL; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } else {__pyx_pybuffernd_y.diminfo[0].strides = __pyx_pybuffernd_y.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y.diminfo[0].shape = __pyx_pybuffernd_y.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y = ((PyArrayObject *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "ss.pyx":677 + * cdef np.ndarray[np.int64_t, ndim=1] y = PyArray_EMPTY(1, dims, + * NPY_int64, 0) * for i0 in range(n0): # <<<<<<<<<<<<<< + * ssum = 0 + * for i1 in range(n1): + */ + __pyx_t_4 = __pyx_v_n0; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i0 = __pyx_t_5; + + /* "ss.pyx":678 + * NPY_int64, 0) + * for i0 in range(n0): + * ssum = 0 # <<<<<<<<<<<<<< * for i1 in range(n1): * ai = a[i0, i1] */ - __pyx_t_1 = __pyx_v_n0; - for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { - __pyx_v_i0 = __pyx_t_2; + __pyx_v_ssum = 0; - /* "ss.pyx":680 - * cdef Py_ssize_t n1 = dim[1] + /* "ss.pyx":679 * for i0 in range(n0): + * ssum = 0 * for i1 in range(n1): # <<<<<<<<<<<<<< * ai = a[i0, i1] * ssum += ai * ai */ - __pyx_t_3 = __pyx_v_n1; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_i1 = __pyx_t_4; + __pyx_t_6 = __pyx_v_n1; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i1 = __pyx_t_7; - /* "ss.pyx":681 - * for i0 in range(n0): + /* "ss.pyx":680 + * ssum = 0 * for i1 in range(n1): * ai = a[i0, i1] # <<<<<<<<<<<<<< * ssum += ai * ai - * return np.int64(ssum) + * y[i0] = ssum */ - __pyx_t_5 = __pyx_v_i0; - __pyx_t_6 = __pyx_v_i1; - __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_a.diminfo[1].strides)); + __pyx_t_8 = __pyx_v_i0; + __pyx_t_9 = __pyx_v_i1; + __pyx_v_ai = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_a.rcbuffer->pybuffer.buf, __pyx_t_8, __pyx_pybuffernd_a.diminfo[0].strides, __pyx_t_9, __pyx_pybuffernd_a.diminfo[1].strides)); - /* "ss.pyx":682 + /* "ss.pyx":681 * for i1 in range(n1): * ai = a[i0, i1] * ssum += ai * ai # <<<<<<<<<<<<<< - * return np.int64(ssum) - * + * y[i0] = ssum + * return y */ __pyx_v_ssum = (__pyx_v_ssum + (__pyx_v_ai * __pyx_v_ai)); } + + /* "ss.pyx":682 + * ai = a[i0, i1] + * ssum += ai * ai + * y[i0] = ssum # <<<<<<<<<<<<<< + * return y + * + */ + __pyx_t_6 = __pyx_v_i0; + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_pybuffernd_y.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_y.diminfo[0].strides) = __pyx_v_ssum; } /* "ss.pyx":683 - * ai = a[i0, i1] * ssum += ai * ai - * return np.int64(ssum) # <<<<<<<<<<<<<< + * y[i0] = ssum + * return y # <<<<<<<<<<<<<< * * cdef dict ss_dict = {} */ __Pyx_XDECREF(__pyx_r); - __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyInt_From_npy_int64(__pyx_v_ssum); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - } - } - if (!__pyx_t_10) { - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_7); - } else { - __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __pyx_t_10 = NULL; - PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; + __Pyx_INCREF(((PyObject *)__pyx_v_y)); + __pyx_r = ((PyObject *)__pyx_v_y); goto __pyx_L0; - /* "ss.pyx":671 + /* "ss.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=None." + * def ss_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=1." * cdef np.int64_t ssum = 0, ai */ /* function exit code */ __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_2); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} - __Pyx_AddTraceback("ss.ss_2d_int64_axisNone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_AddTraceback("ss.ss_2d_int64_axis1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_a.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y.rcbuffer->pybuffer); __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_y); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "ss.pyx":722 - * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone + * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 * * def ss_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) ss along axis 0." @@ -8983,7 +8983,7 @@ static PyObject *__pyx_pf_2ss_60ss_slow_axis0(CYTHON_UNUSED PyObject *__pyx_self goto __pyx_L0; /* "ss.pyx":722 - * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone + * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 * * def ss_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) ss along axis 0." @@ -11974,7 +11974,7 @@ static PyObject *__pyx_pf_2ss_126ss_slow_axisNone(CYTHON_UNUSED PyObject *__pyx_ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -12024,7 +12024,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -12037,7 +12037,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -12046,7 +12046,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -12055,7 +12055,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -12064,7 +12064,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -12074,7 +12074,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -12086,7 +12086,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -12097,7 +12097,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12113,7 +12113,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12125,7 +12125,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -12139,7 +12139,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -12155,7 +12155,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -12167,7 +12167,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -12181,7 +12181,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -12190,7 +12190,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -12199,7 +12199,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -12209,7 +12209,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -12218,7 +12218,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -12227,7 +12227,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -12238,7 +12238,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -12247,7 +12247,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -12260,7 +12260,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -12269,7 +12269,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -12280,7 +12280,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -12289,7 +12289,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -12298,7 +12298,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -12307,7 +12307,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -12316,7 +12316,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -12328,7 +12328,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -12337,7 +12337,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -12357,7 +12357,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -12373,7 +12373,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -12388,7 +12388,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -12398,7 +12398,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -12408,7 +12408,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -12431,7 +12431,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -12451,7 +12451,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -12465,7 +12465,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -12474,7 +12474,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -12485,7 +12485,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -12496,7 +12496,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -12507,7 +12507,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -12518,7 +12518,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -12529,7 +12529,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -12540,7 +12540,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -12551,7 +12551,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -12562,7 +12562,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -12573,7 +12573,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -12584,7 +12584,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -12595,7 +12595,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -12606,7 +12606,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -12617,7 +12617,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -12628,7 +12628,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -12639,7 +12639,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -12650,7 +12650,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -12662,7 +12662,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -12688,7 +12688,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -12697,7 +12697,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -12709,7 +12709,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -12718,7 +12718,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -12727,7 +12727,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -12736,7 +12736,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -12746,7 +12746,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -12756,7 +12756,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -12788,7 +12788,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -12812,7 +12812,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -12822,7 +12822,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -12834,7 +12834,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -12844,7 +12844,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -12856,7 +12856,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -12868,7 +12868,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -12885,7 +12885,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -12899,7 +12899,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -12918,7 +12918,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -12935,7 +12935,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -12949,7 +12949,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -12968,7 +12968,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -12985,7 +12985,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -12999,7 +12999,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -13018,7 +13018,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13035,7 +13035,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -13049,7 +13049,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -13068,7 +13068,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13085,7 +13085,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -13099,7 +13099,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -13118,7 +13118,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -13150,7 +13150,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -13159,7 +13159,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -13168,7 +13168,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -13190,7 +13190,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -13203,7 +13203,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -13242,7 +13242,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -13259,7 +13259,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -13273,7 +13273,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -13296,7 +13296,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -13316,7 +13316,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -13330,7 +13330,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -13346,7 +13346,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -13355,7 +13355,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -13364,7 +13364,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -13375,7 +13375,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -13385,7 +13385,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -13395,7 +13395,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -13407,7 +13407,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -13417,7 +13417,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -13431,7 +13431,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -13449,7 +13449,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -13467,7 +13467,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -13485,7 +13485,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -13503,7 +13503,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -13521,7 +13521,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -13539,7 +13539,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -13557,7 +13557,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -13575,7 +13575,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -13593,7 +13593,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -13611,7 +13611,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -13629,7 +13629,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -13647,7 +13647,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -13665,7 +13665,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -13685,7 +13685,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -13705,7 +13705,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -13725,7 +13725,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -13744,7 +13744,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -13767,7 +13767,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -13779,7 +13779,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -13791,7 +13791,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -13801,7 +13801,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -13811,7 +13811,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -13836,7 +13836,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -13851,7 +13851,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -13862,7 +13862,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -13874,7 +13874,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -13883,7 +13883,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -13894,7 +13894,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -13903,7 +13903,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -13912,7 +13912,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -13924,7 +13924,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -13938,7 +13938,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -13948,7 +13948,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -13962,7 +13962,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -13973,7 +13973,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -14011,7 +14011,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -14025,6 +14024,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_u_Sum_of_the_square_of_each_eleme, __pyx_k_Sum_of_the_square_of_each_eleme, sizeof(__pyx_k_Sum_of_the_square_of_each_eleme), 0, 1, 0, 0}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_axis_s_s, __pyx_k_Unsupported_ndim_dtype_axis_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_axis_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -14159,7 +14159,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -14170,7 +14170,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -14181,7 +14181,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14192,7 +14192,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -14203,7 +14203,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -14214,7 +14214,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -14246,7 +14246,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__9 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_func); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":106 * return func(arr) @@ -14258,346 +14258,346 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__11 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_axis, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_selector, 106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_selector, 106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=0." - * cdef np.int_t ssum = 0, ai + * def ss_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=0." + * cdef np.float_t ssum = 0, ai */ __pyx_tuple__13 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int_axis0, 183, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_float_axis0, 183, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":204 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=1." - * cdef np.int_t ssum = 0, ai + * def ss_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=1." + * cdef np.float_t ssum = 0, ai */ __pyx_tuple__15 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int_axis1, 204, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_float_axis1, 204, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":225 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=0." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=0." + * cdef np.float32_t ssum = 0, ai */ __pyx_tuple__17 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int8_axis0, 225, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_float32_axis0, 225, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":246 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=1." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=1." + * cdef np.float32_t ssum = 0, ai */ __pyx_tuple__19 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int8_axis1, 246, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_float32_axis1, 246, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":267 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=0." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=0." + * cdef np.float64_t ssum = 0, ai */ __pyx_tuple__21 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int32_axis0, 267, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_float64_axis0, 267, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":288 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=1." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=1." + * cdef np.float64_t ssum = 0, ai */ __pyx_tuple__23 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int32_axis1, 288, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_float64_axis1, 288, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":309 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=0." - * cdef np.int64_t ssum = 0, ai + * def ss_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=float along axis=None." + * cdef np.float_t ssum = 0, ai */ - __pyx_tuple__25 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__25 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int64_axis0, 309, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_1d_float_axisNone, 309, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":330 + /* "ss.pyx":323 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=1." - * cdef np.int64_t ssum = 0, ai + * def ss_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=float32 along axis=None." + * cdef np.float32_t ssum = 0, ai */ - __pyx_tuple__27 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__27 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int64_axis1, 330, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_1d_float32_axisNone, 323, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":351 + /* "ss.pyx":337 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=float along axis=None." - * cdef np.float_t ssum = 0, ai + * def ss_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=float64 along axis=None." + * cdef np.float64_t ssum = 0, ai */ - __pyx_tuple__29 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__29 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_1d_float_axisNone, 351, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_1d_float64_axisNone, 337, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":365 + /* "ss.pyx":351 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=float32 along axis=None." - * cdef np.float32_t ssum = 0, ai + * def ss_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=None." + * cdef np.float_t ssum = 0, ai */ - __pyx_tuple__31 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__31 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_1d_float32_axisNone, 365, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_float_axisNone, 351, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":379 + /* "ss.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=float64 along axis=None." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=None." + * cdef np.float32_t ssum = 0, ai */ - __pyx_tuple__33 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__33 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_1d_float64_axisNone, 379, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_float32_axisNone, 367, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":393 + /* "ss.pyx":383 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=None." - * cdef np.float_t ssum = 0, ai + * def ss_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=None." + * cdef np.float64_t ssum = 0, ai */ - __pyx_tuple__35 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__35 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_float_axisNone, 393, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_float64_axisNone, 383, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":409 + /* "ss.pyx":399 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=None." - * cdef np.float32_t ssum = 0, ai + * def ss_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int along axis=None." + * cdef np.int_t ssum = 0, ai */ - __pyx_tuple__37 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__37 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_float32_axisNone, 409, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_1d_int_axisNone, 399, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":425 + /* "ss.pyx":413 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=None." - * cdef np.float64_t ssum = 0, ai + * def ss_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int8 along axis=None." + * cdef np.int8_t ssum = 0, ai */ - __pyx_tuple__39 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__39 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_float64_axisNone, 425, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_1d_int8_axisNone, 413, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":441 + /* "ss.pyx":427 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=0." - * cdef np.float_t ssum = 0, ai + * def ss_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int32 along axis=None." + * cdef np.int32_t ssum = 0, ai */ - __pyx_tuple__41 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__41 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_float_axis0, 441, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_1d_int32_axisNone, 427, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":462 + /* "ss.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=1." - * cdef np.float_t ssum = 0, ai + * def ss_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int64 along axis=None." + * cdef np.int64_t ssum = 0, ai */ - __pyx_tuple__43 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__43 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_float_axis1, 462, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_1d_int64_axisNone, 441, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":483 + /* "ss.pyx":455 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=0." - * cdef np.float32_t ssum = 0, ai + * def ss_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=None." + * cdef np.int_t ssum = 0, ai */ - __pyx_tuple__45 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__45 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_float32_axis0, 483, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int_axisNone, 455, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":504 + /* "ss.pyx":471 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=1." - * cdef np.float32_t ssum = 0, ai + * def ss_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=None." + * cdef np.int8_t ssum = 0, ai */ - __pyx_tuple__47 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__47 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_float32_axis1, 504, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int8_axisNone, 471, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":525 + /* "ss.pyx":487 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=0." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=None." + * cdef np.int32_t ssum = 0, ai */ - __pyx_tuple__49 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__49 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_float64_axis0, 525, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int32_axisNone, 487, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":546 + /* "ss.pyx":503 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=1." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=None." + * cdef np.int64_t ssum = 0, ai */ - __pyx_tuple__51 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__51 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_float64_axis1, 546, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int64_axisNone, 503, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":567 + /* "ss.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int along axis=None." + * def ss_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=0." * cdef np.int_t ssum = 0, ai */ - __pyx_tuple__53 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__53 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_1d_int_axisNone, 567, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int_axis0, 519, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":581 + /* "ss.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int8 along axis=None." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=1." + * cdef np.int_t ssum = 0, ai */ - __pyx_tuple__55 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__55 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_1d_int8_axisNone, 581, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int_axis1, 540, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":595 + /* "ss.pyx":561 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int32 along axis=None." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=0." + * cdef np.int8_t ssum = 0, ai */ - __pyx_tuple__57 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__57 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_1d_int32_axisNone, 595, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int8_axis0, 561, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":609 + /* "ss.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int64 along axis=None." - * cdef np.int64_t ssum = 0, ai + * def ss_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=1." + * cdef np.int8_t ssum = 0, ai */ - __pyx_tuple__59 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__59 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_1d_int64_axisNone, 609, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int8_axis1, 582, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":623 + /* "ss.pyx":603 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=None." - * cdef np.int_t ssum = 0, ai + * def ss_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=0." + * cdef np.int32_t ssum = 0, ai */ - __pyx_tuple__61 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__61 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int_axisNone, 623, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int32_axis0, 603, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":639 + /* "ss.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=None." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=1." + * cdef np.int32_t ssum = 0, ai */ - __pyx_tuple__63 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__63 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int8_axisNone, 639, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int32_axis1, 624, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":655 + /* "ss.pyx":645 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=None." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=0." + * cdef np.int64_t ssum = 0, ai */ - __pyx_tuple__65 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__65 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int32_axisNone, 655, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int64_axis0, 645, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "ss.pyx":671 + /* "ss.pyx":666 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=None." + * def ss_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=1." * cdef np.int64_t ssum = 0, ai */ - __pyx_tuple__67 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_tuple__67 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_ssum, __pyx_n_s_ai, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_2d_int64_axisNone, 671, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_2d_int64_axis1, 666, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":722 - * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone + * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 * * def ss_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) ss along axis 0." @@ -14606,7 +14606,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis0, 722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis0, 722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":726 * return bn.slow.ss(arr, axis=0) @@ -14618,7 +14618,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis1, 726, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis1, 726, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":730 * return bn.slow.ss(arr, axis=1) @@ -14630,7 +14630,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis2, 730, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis2, 730, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":734 * return bn.slow.ss(arr, axis=2) @@ -14642,7 +14642,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis3, 734, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis3, 734, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":738 * return bn.slow.ss(arr, axis=3) @@ -14654,7 +14654,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis4, 738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis4, 738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":742 * return bn.slow.ss(arr, axis=4) @@ -14666,7 +14666,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis5, 742, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis5, 742, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":746 * return bn.slow.ss(arr, axis=5) @@ -14678,7 +14678,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis6, 746, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis6, 746, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":750 * return bn.slow.ss(arr, axis=6) @@ -14690,7 +14690,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis7, 750, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis7, 750, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":754 * return bn.slow.ss(arr, axis=7) @@ -14702,7 +14702,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis8, 754, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis8, 754, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":758 * return bn.slow.ss(arr, axis=8) @@ -14714,7 +14714,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis9, 758, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis9, 758, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":762 * return bn.slow.ss(arr, axis=9) @@ -14726,7 +14726,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis10, 762, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis10, 762, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":766 * return bn.slow.ss(arr, axis=10) @@ -14738,7 +14738,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis11, 766, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis11, 766, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":770 * return bn.slow.ss(arr, axis=11) @@ -14750,7 +14750,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis12, 770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis12, 770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":774 * return bn.slow.ss(arr, axis=12) @@ -14762,7 +14762,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis13, 774, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis13, 774, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":778 * return bn.slow.ss(arr, axis=13) @@ -14774,7 +14774,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis14, 778, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis14, 778, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":782 * return bn.slow.ss(arr, axis=14) @@ -14786,7 +14786,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis15, 782, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis15, 782, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":786 * return bn.slow.ss(arr, axis=15) @@ -14798,7 +14798,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis16, 786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis16, 786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":790 * return bn.slow.ss(arr, axis=16) @@ -14810,7 +14810,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis17, 790, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis17, 790, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":794 * return bn.slow.ss(arr, axis=17) @@ -14822,7 +14822,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis18, 794, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis18, 794, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":798 * return bn.slow.ss(arr, axis=18) @@ -14834,7 +14834,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis19, 798, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis19, 798, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":802 * return bn.slow.ss(arr, axis=19) @@ -14846,7 +14846,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__109 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis20, 802, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis20, 802, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":806 * return bn.slow.ss(arr, axis=20) @@ -14858,7 +14858,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__111 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis21, 806, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis21, 806, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":810 * return bn.slow.ss(arr, axis=21) @@ -14870,7 +14870,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__113 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__113); __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis22, 810, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis22, 810, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":814 * return bn.slow.ss(arr, axis=22) @@ -14882,7 +14882,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis23, 814, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis23, 814, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":818 * return bn.slow.ss(arr, axis=23) @@ -14894,7 +14894,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__117 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__117); __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis24, 818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis24, 818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":822 * return bn.slow.ss(arr, axis=24) @@ -14906,7 +14906,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__119 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis25, 822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis25, 822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":826 * return bn.slow.ss(arr, axis=25) @@ -14918,7 +14918,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__121 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__121); __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis26, 826, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis26, 826, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":830 * return bn.slow.ss(arr, axis=26) @@ -14930,7 +14930,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__123 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__123); __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis27, 830, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis27, 830, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":834 * return bn.slow.ss(arr, axis=27) @@ -14942,7 +14942,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__125 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__125); __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis28, 834, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis28, 834, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":838 * return bn.slow.ss(arr, axis=28) @@ -14954,7 +14954,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__127 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__127); __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis29, 838, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis29, 838, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":842 * return bn.slow.ss(arr, axis=29) @@ -14966,7 +14966,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__129 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis30, 842, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis30, 842, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":846 * return bn.slow.ss(arr, axis=30) @@ -14978,7 +14978,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__131 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__131); __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis31, 846, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis31, 846, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":850 * return bn.slow.ss(arr, axis=31) @@ -14990,7 +14990,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__133 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__133); __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axis32, 850, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axis32, 850, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "ss.pyx":854 * return bn.slow.ss(arr, axis=32) @@ -15002,7 +15002,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__135 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__135); __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_ss_slow_axisNone, 854, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_ss_slow_axisNone, 854, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -15968,345 +15968,345 @@ PyMODINIT_FUNC PyInit_ss(void) /* "ss.pyx":183 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=0." - * cdef np.int_t ssum = 0, ai + * def ss_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=0." + * cdef np.float_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_5ss_2d_int_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_5ss_2d_float_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":204 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=1." - * cdef np.int_t ssum = 0, ai + * def ss_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float along axis=1." + * cdef np.float_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_7ss_2d_int_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_7ss_2d_float_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":225 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=0." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=0." + * cdef np.float32_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_9ss_2d_int8_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_9ss_2d_float32_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":246 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=1." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float32 along axis=1." + * cdef np.float32_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_11ss_2d_int8_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_11ss_2d_float32_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":267 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=0." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=0." + * cdef np.float64_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_13ss_2d_int32_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_13ss_2d_float64_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":288 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=1." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=float64 along axis=1." + * cdef np.float64_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_15ss_2d_int32_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_15ss_2d_float64_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":309 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=0." - * cdef np.int64_t ssum = 0, ai - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_17ss_2d_int64_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "ss.pyx":330 - * @cython.boundscheck(False) - * @cython.wraparound(False) - * def ss_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=1." - * cdef np.int64_t ssum = 0, ai - */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_19ss_2d_int64_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "ss.pyx":351 - * @cython.boundscheck(False) - * @cython.wraparound(False) * def ss_1d_float_axisNone(np.ndarray[np.float_t, ndim=1] a): # <<<<<<<<<<<<<< * "Sum of squares of 1d array with dtype=float along axis=None." * cdef np.float_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_21ss_1d_float_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_17ss_1d_float_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":365 + /* "ss.pyx":323 * @cython.boundscheck(False) * @cython.wraparound(False) * def ss_1d_float32_axisNone(np.ndarray[np.float32_t, ndim=1] a): # <<<<<<<<<<<<<< * "Sum of squares of 1d array with dtype=float32 along axis=None." * cdef np.float32_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_23ss_1d_float32_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_19ss_1d_float32_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":379 + /* "ss.pyx":337 * @cython.boundscheck(False) * @cython.wraparound(False) * def ss_1d_float64_axisNone(np.ndarray[np.float64_t, ndim=1] a): # <<<<<<<<<<<<<< * "Sum of squares of 1d array with dtype=float64 along axis=None." * cdef np.float64_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_25ss_1d_float64_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_21ss_1d_float64_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":393 + /* "ss.pyx":351 * @cython.boundscheck(False) * @cython.wraparound(False) * def ss_2d_float_axisNone(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< * "Sum of squares of 2d array with dtype=float along axis=None." * cdef np.float_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_27ss_2d_float_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_23ss_2d_float_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":409 + /* "ss.pyx":367 * @cython.boundscheck(False) * @cython.wraparound(False) * def ss_2d_float32_axisNone(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< * "Sum of squares of 2d array with dtype=float32 along axis=None." * cdef np.float32_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_29ss_2d_float32_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_25ss_2d_float32_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":425 + /* "ss.pyx":383 * @cython.boundscheck(False) * @cython.wraparound(False) * def ss_2d_float64_axisNone(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< * "Sum of squares of 2d array with dtype=float64 along axis=None." * cdef np.float64_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_31ss_2d_float64_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_27ss_2d_float64_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":441 + /* "ss.pyx":399 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float_axis0(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=0." - * cdef np.float_t ssum = 0, ai + * def ss_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int along axis=None." + * cdef np.int_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_33ss_2d_float_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_29ss_1d_int_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":462 + /* "ss.pyx":413 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float_axis1(np.ndarray[np.float_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float along axis=1." - * cdef np.float_t ssum = 0, ai + * def ss_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int8 along axis=None." + * cdef np.int8_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_35ss_2d_float_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_31ss_1d_int8_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":483 + /* "ss.pyx":427 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axis0(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=0." - * cdef np.float32_t ssum = 0, ai + * def ss_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int32 along axis=None." + * cdef np.int32_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_37ss_2d_float32_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_33ss_1d_int32_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":504 + /* "ss.pyx":441 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float32_axis1(np.ndarray[np.float32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float32 along axis=1." - * cdef np.float32_t ssum = 0, ai + * def ss_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< + * "Sum of squares of 1d array with dtype=int64 along axis=None." + * cdef np.int64_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_39ss_2d_float32_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_35ss_1d_int64_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":525 + /* "ss.pyx":455 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axis0(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=0." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=None." + * cdef np.int_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_41ss_2d_float64_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_37ss_2d_int_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":546 + /* "ss.pyx":471 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_float64_axis1(np.ndarray[np.float64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=float64 along axis=1." - * cdef np.float64_t ssum = 0, ai + * def ss_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=None." + * cdef np.int8_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_43ss_2d_float64_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_39ss_2d_int8_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_float64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":567 + /* "ss.pyx":487 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int_axisNone(np.ndarray[np.int_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int along axis=None." - * cdef np.int_t ssum = 0, ai + * def ss_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=None." + * cdef np.int32_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_45ss_1d_int_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_41ss_2d_int32_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":581 + /* "ss.pyx":503 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int8_axisNone(np.ndarray[np.int8_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int8 along axis=None." - * cdef np.int8_t ssum = 0, ai + * def ss_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=None." + * cdef np.int64_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_47ss_1d_int8_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_43ss_2d_int64_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":595 + /* "ss.pyx":519 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int32_axisNone(np.ndarray[np.int32_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int32 along axis=None." - * cdef np.int32_t ssum = 0, ai + * def ss_2d_int_axis0(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=0." + * cdef np.int_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_49ss_1d_int32_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_45ss_2d_int_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":609 + /* "ss.pyx":540 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_1d_int64_axisNone(np.ndarray[np.int64_t, ndim=1] a): # <<<<<<<<<<<<<< - * "Sum of squares of 1d array with dtype=int64 along axis=None." - * cdef np.int64_t ssum = 0, ai + * def ss_2d_int_axis1(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int along axis=1." + * cdef np.int_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_51ss_1d_int64_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_47ss_2d_int_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_1d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":623 + /* "ss.pyx":561 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int_axisNone(np.ndarray[np.int_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int along axis=None." - * cdef np.int_t ssum = 0, ai + * def ss_2d_int8_axis0(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=0." + * cdef np.int8_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_53ss_2d_int_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_49ss_2d_int8_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int8_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":639 + /* "ss.pyx":582 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int8_axisNone(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int8 along axis=None." + * def ss_2d_int8_axis1(np.ndarray[np.int8_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int8 along axis=1." * cdef np.int8_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_55ss_2d_int8_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_51ss_2d_int8_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int8_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int8_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":655 + /* "ss.pyx":603 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int32_axisNone(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int32 along axis=None." + * def ss_2d_int32_axis0(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=0." * cdef np.int32_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_57ss_2d_int32_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_53ss_2d_int32_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int32_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int32_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "ss.pyx":671 + /* "ss.pyx":624 * @cython.boundscheck(False) * @cython.wraparound(False) - * def ss_2d_int64_axisNone(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< - * "Sum of squares of 2d array with dtype=int64 along axis=None." + * def ss_2d_int32_axis1(np.ndarray[np.int32_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int32 along axis=1." + * cdef np.int32_t ssum = 0, ai + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_55ss_2d_int32_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int32_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "ss.pyx":645 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def ss_2d_int64_axis0(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=0." + * cdef np.int64_t ssum = 0, ai + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_57ss_2d_int64_axis0, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int64_axis0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "ss.pyx":666 + * @cython.boundscheck(False) + * @cython.wraparound(False) + * def ss_2d_int64_axis1(np.ndarray[np.int64_t, ndim=2] a): # <<<<<<<<<<<<<< + * "Sum of squares of 2d array with dtype=int64 along axis=1." * cdef np.int64_t ssum = 0, ai */ - __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_59ss_2d_int64_axisNone, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_2ss_59ss_2d_int64_axis1, NULL, __pyx_n_s_ss); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int64_axisNone, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ss_2d_int64_axis1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":685 - * return np.int64(ssum) + * return y * * cdef dict ss_dict = {} # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int, 0)] = ss_2d_int_axis0 - * ss_dict[(2, NPY_int, 1)] = ss_2d_int_axis1 + * ss_dict[(2, NPY_float, 0)] = ss_2d_float_axis0 + * ss_dict[(2, NPY_float, 1)] = ss_2d_float_axis1 */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); @@ -16318,17 +16318,17 @@ PyMODINIT_FUNC PyInit_ss(void) /* "ss.pyx":686 * * cdef dict ss_dict = {} - * ss_dict[(2, NPY_int, 0)] = ss_2d_int_axis0 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int, 1)] = ss_2d_int_axis1 - * ss_dict[(2, NPY_int8, 0)] = ss_2d_int8_axis0 + * ss_dict[(2, NPY_float, 0)] = ss_2d_float_axis0 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float, 1)] = ss_2d_float_axis1 + * ss_dict[(2, NPY_float32, 0)] = ss_2d_float32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16347,18 +16347,18 @@ PyMODINIT_FUNC PyInit_ss(void) /* "ss.pyx":687 * cdef dict ss_dict = {} - * ss_dict[(2, NPY_int, 0)] = ss_2d_int_axis0 - * ss_dict[(2, NPY_int, 1)] = ss_2d_int_axis1 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int8, 0)] = ss_2d_int8_axis0 - * ss_dict[(2, NPY_int8, 1)] = ss_2d_int8_axis1 + * ss_dict[(2, NPY_float, 0)] = ss_2d_float_axis0 + * ss_dict[(2, NPY_float, 1)] = ss_2d_float_axis1 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float32, 0)] = ss_2d_float32_axis0 + * ss_dict[(2, NPY_float32, 1)] = ss_2d_float32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16376,19 +16376,19 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":688 - * ss_dict[(2, NPY_int, 0)] = ss_2d_int_axis0 - * ss_dict[(2, NPY_int, 1)] = ss_2d_int_axis1 - * ss_dict[(2, NPY_int8, 0)] = ss_2d_int8_axis0 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int8, 1)] = ss_2d_int8_axis1 - * ss_dict[(2, NPY_int32, 0)] = ss_2d_int32_axis0 + * ss_dict[(2, NPY_float, 0)] = ss_2d_float_axis0 + * ss_dict[(2, NPY_float, 1)] = ss_2d_float_axis1 + * ss_dict[(2, NPY_float32, 0)] = ss_2d_float32_axis0 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float32, 1)] = ss_2d_float32_axis1 + * ss_dict[(2, NPY_float64, 0)] = ss_2d_float64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16406,19 +16406,19 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":689 - * ss_dict[(2, NPY_int, 1)] = ss_2d_int_axis1 - * ss_dict[(2, NPY_int8, 0)] = ss_2d_int8_axis0 - * ss_dict[(2, NPY_int8, 1)] = ss_2d_int8_axis1 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int32, 0)] = ss_2d_int32_axis0 - * ss_dict[(2, NPY_int32, 1)] = ss_2d_int32_axis1 + * ss_dict[(2, NPY_float, 1)] = ss_2d_float_axis1 + * ss_dict[(2, NPY_float32, 0)] = ss_2d_float32_axis0 + * ss_dict[(2, NPY_float32, 1)] = ss_2d_float32_axis1 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float64, 0)] = ss_2d_float64_axis0 + * ss_dict[(2, NPY_float64, 1)] = ss_2d_float64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16436,19 +16436,19 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":690 - * ss_dict[(2, NPY_int8, 0)] = ss_2d_int8_axis0 - * ss_dict[(2, NPY_int8, 1)] = ss_2d_int8_axis1 - * ss_dict[(2, NPY_int32, 0)] = ss_2d_int32_axis0 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int32, 1)] = ss_2d_int32_axis1 - * ss_dict[(2, NPY_int64, 0)] = ss_2d_int64_axis0 + * ss_dict[(2, NPY_float32, 0)] = ss_2d_float32_axis0 + * ss_dict[(2, NPY_float32, 1)] = ss_2d_float32_axis1 + * ss_dict[(2, NPY_float64, 0)] = ss_2d_float64_axis0 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float64, 1)] = ss_2d_float64_axis1 + * ss_dict[(1, NPY_float, 0)] = ss_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16466,19 +16466,19 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":691 - * ss_dict[(2, NPY_int8, 1)] = ss_2d_int8_axis1 - * ss_dict[(2, NPY_int32, 0)] = ss_2d_int32_axis0 - * ss_dict[(2, NPY_int32, 1)] = ss_2d_int32_axis1 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int64, 0)] = ss_2d_int64_axis0 - * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 + * ss_dict[(2, NPY_float32, 1)] = ss_2d_float32_axis1 + * ss_dict[(2, NPY_float64, 0)] = ss_2d_float64_axis0 + * ss_dict[(2, NPY_float64, 1)] = ss_2d_float64_axis1 # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float, 0)] = ss_1d_float_axisNone + * ss_dict[(1, NPY_float, None)] = ss_1d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16496,25 +16496,25 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":692 - * ss_dict[(2, NPY_int32, 0)] = ss_2d_int32_axis0 - * ss_dict[(2, NPY_int32, 1)] = ss_2d_int32_axis1 - * ss_dict[(2, NPY_int64, 0)] = ss_2d_int64_axis0 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 - * ss_dict[(1, NPY_float, 0)] = ss_1d_float_axisNone + * ss_dict[(2, NPY_float64, 0)] = ss_2d_float64_axis0 + * ss_dict[(2, NPY_float64, 1)] = ss_2d_float64_axis1 + * ss_dict[(1, NPY_float, 0)] = ss_1d_float_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float, None)] = ss_1d_float_axisNone + * ss_dict[(1, NPY_float32, 0)] = ss_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); @@ -16526,49 +16526,49 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":693 - * ss_dict[(2, NPY_int32, 1)] = ss_2d_int32_axis1 - * ss_dict[(2, NPY_int64, 0)] = ss_2d_int64_axis0 - * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float64, 1)] = ss_2d_float64_axis1 * ss_dict[(1, NPY_float, 0)] = ss_1d_float_axisNone - * ss_dict[(1, NPY_float, None)] = ss_1d_float_axisNone + * ss_dict[(1, NPY_float, None)] = ss_1d_float_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float32, 0)] = ss_1d_float32_axisNone + * ss_dict[(1, NPY_float32, None)] = ss_1d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":694 - * ss_dict[(2, NPY_int64, 0)] = ss_2d_int64_axis0 - * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 - * ss_dict[(1, NPY_float, 0)] = ss_1d_float_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float, 0)] = ss_1d_float_axisNone * ss_dict[(1, NPY_float, None)] = ss_1d_float_axisNone - * ss_dict[(1, NPY_float32, 0)] = ss_1d_float32_axisNone + * ss_dict[(1, NPY_float32, 0)] = ss_1d_float32_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float32, None)] = ss_1d_float32_axisNone + * ss_dict[(1, NPY_float64, 0)] = ss_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16586,19 +16586,19 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":695 - * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 - * ss_dict[(1, NPY_float, 0)] = ss_1d_float_axisNone - * ss_dict[(1, NPY_float, None)] = ss_1d_float_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float, None)] = ss_1d_float_axisNone * ss_dict[(1, NPY_float32, 0)] = ss_1d_float32_axisNone - * ss_dict[(1, NPY_float32, None)] = ss_1d_float32_axisNone + * ss_dict[(1, NPY_float32, None)] = ss_1d_float32_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float64, 0)] = ss_1d_float64_axisNone + * ss_dict[(1, NPY_float64, None)] = ss_1d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16616,19 +16616,19 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":696 - * ss_dict[(1, NPY_float, 0)] = ss_1d_float_axisNone - * ss_dict[(1, NPY_float, None)] = ss_1d_float_axisNone - * ss_dict[(1, NPY_float32, 0)] = ss_1d_float32_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float32, 0)] = ss_1d_float32_axisNone * ss_dict[(1, NPY_float32, None)] = ss_1d_float32_axisNone - * ss_dict[(1, NPY_float64, 0)] = ss_1d_float64_axisNone + * ss_dict[(1, NPY_float64, 0)] = ss_1d_float64_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float64, None)] = ss_1d_float64_axisNone + * ss_dict[(2, NPY_float, None)] = ss_2d_float_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16646,19 +16646,19 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":697 - * ss_dict[(1, NPY_float, None)] = ss_1d_float_axisNone - * ss_dict[(1, NPY_float32, 0)] = ss_1d_float32_axisNone - * ss_dict[(1, NPY_float32, None)] = ss_1d_float32_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float32, None)] = ss_1d_float32_axisNone * ss_dict[(1, NPY_float64, 0)] = ss_1d_float64_axisNone - * ss_dict[(1, NPY_float64, None)] = ss_1d_float64_axisNone + * ss_dict[(1, NPY_float64, None)] = ss_1d_float64_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float, None)] = ss_2d_float_axisNone + * ss_dict[(2, NPY_float32, None)] = ss_2d_float32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -16676,55 +16676,55 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":698 - * ss_dict[(1, NPY_float32, 0)] = ss_1d_float32_axisNone - * ss_dict[(1, NPY_float32, None)] = ss_1d_float32_axisNone - * ss_dict[(1, NPY_float64, 0)] = ss_1d_float64_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float64, 0)] = ss_1d_float64_axisNone * ss_dict[(1, NPY_float64, None)] = ss_1d_float64_axisNone - * ss_dict[(2, NPY_float, None)] = ss_2d_float_axisNone + * ss_dict[(2, NPY_float, None)] = ss_2d_float_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float32, None)] = ss_2d_float32_axisNone + * ss_dict[(2, NPY_float64, None)] = ss_2d_float64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":699 - * ss_dict[(1, NPY_float32, None)] = ss_1d_float32_axisNone - * ss_dict[(1, NPY_float64, 0)] = ss_1d_float64_axisNone - * ss_dict[(1, NPY_float64, None)] = ss_1d_float64_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_float64, None)] = ss_1d_float64_axisNone * ss_dict[(2, NPY_float, None)] = ss_2d_float_axisNone - * ss_dict[(2, NPY_float32, None)] = ss_2d_float32_axisNone + * ss_dict[(2, NPY_float32, None)] = ss_2d_float32_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float64, None)] = ss_2d_float64_axisNone + * ss_dict[(1, NPY_int, 0)] = ss_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(Py_None); @@ -16736,19 +16736,19 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":700 - * ss_dict[(1, NPY_float64, 0)] = ss_1d_float64_axisNone - * ss_dict[(1, NPY_float64, None)] = ss_1d_float64_axisNone - * ss_dict[(2, NPY_float, None)] = ss_2d_float_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float, None)] = ss_2d_float_axisNone * ss_dict[(2, NPY_float32, None)] = ss_2d_float32_axisNone - * ss_dict[(2, NPY_float64, None)] = ss_2d_float64_axisNone + * ss_dict[(2, NPY_float64, None)] = ss_2d_float64_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_int, 0)] = ss_1d_int_axisNone + * ss_dict[(1, NPY_int, None)] = ss_1d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -16766,55 +16766,55 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":701 - * ss_dict[(1, NPY_float64, None)] = ss_1d_float64_axisNone - * ss_dict[(2, NPY_float, None)] = ss_2d_float_axisNone - * ss_dict[(2, NPY_float32, None)] = ss_2d_float32_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_float32, None)] = ss_2d_float32_axisNone * ss_dict[(2, NPY_float64, None)] = ss_2d_float64_axisNone - * ss_dict[(2, NPY_float, 0)] = ss_2d_float_axis0 + * ss_dict[(1, NPY_int, 0)] = ss_1d_int_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_int, None)] = ss_1d_int_axisNone + * ss_dict[(1, NPY_int8, 0)] = ss_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":702 - * ss_dict[(2, NPY_float, None)] = ss_2d_float_axisNone - * ss_dict[(2, NPY_float32, None)] = ss_2d_float32_axisNone - * ss_dict[(2, NPY_float64, None)] = ss_2d_float64_axisNone # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_float, 0)] = ss_2d_float_axis0 - * ss_dict[(2, NPY_float, 1)] = ss_2d_float_axis1 + * ss_dict[(2, NPY_float64, None)] = ss_2d_float64_axisNone + * ss_dict[(1, NPY_int, 0)] = ss_1d_int_axisNone + * ss_dict[(1, NPY_int, None)] = ss_1d_int_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_int8, 0)] = ss_1d_int8_axisNone + * ss_dict[(1, NPY_int8, None)] = ss_1d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -16826,25 +16826,25 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":703 - * ss_dict[(2, NPY_float32, None)] = ss_2d_float32_axisNone - * ss_dict[(2, NPY_float64, None)] = ss_2d_float64_axisNone - * ss_dict[(2, NPY_float, 0)] = ss_2d_float_axis0 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_float, 1)] = ss_2d_float_axis1 - * ss_dict[(2, NPY_float32, 0)] = ss_2d_float32_axis0 + * ss_dict[(1, NPY_int, 0)] = ss_1d_int_axisNone + * ss_dict[(1, NPY_int, None)] = ss_1d_int_axisNone + * ss_dict[(1, NPY_int8, 0)] = ss_1d_int8_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_int8, None)] = ss_1d_int8_axisNone + * ss_dict[(1, NPY_int32, 0)] = ss_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16856,55 +16856,55 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":704 - * ss_dict[(2, NPY_float64, None)] = ss_2d_float64_axisNone - * ss_dict[(2, NPY_float, 0)] = ss_2d_float_axis0 - * ss_dict[(2, NPY_float, 1)] = ss_2d_float_axis1 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_float32, 0)] = ss_2d_float32_axis0 - * ss_dict[(2, NPY_float32, 1)] = ss_2d_float32_axis1 + * ss_dict[(1, NPY_int, None)] = ss_1d_int_axisNone + * ss_dict[(1, NPY_int8, 0)] = ss_1d_int8_axisNone + * ss_dict[(1, NPY_int8, None)] = ss_1d_int8_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_int32, 0)] = ss_1d_int32_axisNone + * ss_dict[(1, NPY_int32, None)] = ss_1d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":705 - * ss_dict[(2, NPY_float, 0)] = ss_2d_float_axis0 - * ss_dict[(2, NPY_float, 1)] = ss_2d_float_axis1 - * ss_dict[(2, NPY_float32, 0)] = ss_2d_float32_axis0 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_float32, 1)] = ss_2d_float32_axis1 - * ss_dict[(2, NPY_float64, 0)] = ss_2d_float64_axis0 + * ss_dict[(1, NPY_int8, 0)] = ss_1d_int8_axisNone + * ss_dict[(1, NPY_int8, None)] = ss_1d_int8_axisNone + * ss_dict[(1, NPY_int32, 0)] = ss_1d_int32_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_int32, None)] = ss_1d_int32_axisNone + * ss_dict[(1, NPY_int64, 0)] = ss_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16916,55 +16916,55 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":706 - * ss_dict[(2, NPY_float, 1)] = ss_2d_float_axis1 - * ss_dict[(2, NPY_float32, 0)] = ss_2d_float32_axis0 - * ss_dict[(2, NPY_float32, 1)] = ss_2d_float32_axis1 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_float64, 0)] = ss_2d_float64_axis0 - * ss_dict[(2, NPY_float64, 1)] = ss_2d_float64_axis1 + * ss_dict[(1, NPY_int8, None)] = ss_1d_int8_axisNone + * ss_dict[(1, NPY_int32, 0)] = ss_1d_int32_axisNone + * ss_dict[(1, NPY_int32, None)] = ss_1d_int32_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_int64, 0)] = ss_1d_int64_axisNone + * ss_dict[(1, NPY_int64, None)] = ss_1d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":707 - * ss_dict[(2, NPY_float32, 0)] = ss_2d_float32_axis0 - * ss_dict[(2, NPY_float32, 1)] = ss_2d_float32_axis1 - * ss_dict[(2, NPY_float64, 0)] = ss_2d_float64_axis0 # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_float64, 1)] = ss_2d_float64_axis1 - * ss_dict[(1, NPY_int, 0)] = ss_1d_int_axisNone + * ss_dict[(1, NPY_int32, 0)] = ss_1d_int32_axisNone + * ss_dict[(1, NPY_int32, None)] = ss_1d_int32_axisNone + * ss_dict[(1, NPY_int64, 0)] = ss_1d_int64_axisNone # <<<<<<<<<<<<<< + * ss_dict[(1, NPY_int64, None)] = ss_1d_int64_axisNone + * ss_dict[(2, NPY_int, None)] = ss_2d_int_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -16976,43 +16976,43 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":708 - * ss_dict[(2, NPY_float32, 1)] = ss_2d_float32_axis1 - * ss_dict[(2, NPY_float64, 0)] = ss_2d_float64_axis0 - * ss_dict[(2, NPY_float64, 1)] = ss_2d_float64_axis1 # <<<<<<<<<<<<<< - * ss_dict[(1, NPY_int, 0)] = ss_1d_int_axisNone - * ss_dict[(1, NPY_int, None)] = ss_1d_int_axisNone + * ss_dict[(1, NPY_int32, None)] = ss_1d_int32_axisNone + * ss_dict[(1, NPY_int64, 0)] = ss_1d_int64_axisNone + * ss_dict[(1, NPY_int64, None)] = ss_1d_int64_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int, None)] = ss_2d_int_axisNone + * ss_dict[(2, NPY_int8, None)] = ss_2d_int8_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_float64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_FLOAT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":709 - * ss_dict[(2, NPY_float64, 0)] = ss_2d_float64_axis0 - * ss_dict[(2, NPY_float64, 1)] = ss_2d_float64_axis1 - * ss_dict[(1, NPY_int, 0)] = ss_1d_int_axisNone # <<<<<<<<<<<<<< - * ss_dict[(1, NPY_int, None)] = ss_1d_int_axisNone - * ss_dict[(1, NPY_int8, 0)] = ss_1d_int8_axisNone + * ss_dict[(1, NPY_int64, 0)] = ss_1d_int64_axisNone + * ss_dict[(1, NPY_int64, None)] = ss_1d_int64_axisNone + * ss_dict[(2, NPY_int, None)] = ss_2d_int_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int8, None)] = ss_2d_int8_axisNone + * ss_dict[(2, NPY_int32, None)] = ss_2d_int32_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -17022,39 +17022,39 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":710 - * ss_dict[(2, NPY_float64, 1)] = ss_2d_float64_axis1 - * ss_dict[(1, NPY_int, 0)] = ss_1d_int_axisNone - * ss_dict[(1, NPY_int, None)] = ss_1d_int_axisNone # <<<<<<<<<<<<<< - * ss_dict[(1, NPY_int8, 0)] = ss_1d_int8_axisNone - * ss_dict[(1, NPY_int8, None)] = ss_1d_int8_axisNone + * ss_dict[(1, NPY_int64, None)] = ss_1d_int64_axisNone + * ss_dict[(2, NPY_int, None)] = ss_2d_int_axisNone + * ss_dict[(2, NPY_int8, None)] = ss_2d_int8_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int32, None)] = ss_2d_int32_axisNone + * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -17066,55 +17066,55 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":711 - * ss_dict[(1, NPY_int, 0)] = ss_1d_int_axisNone - * ss_dict[(1, NPY_int, None)] = ss_1d_int_axisNone - * ss_dict[(1, NPY_int8, 0)] = ss_1d_int8_axisNone # <<<<<<<<<<<<<< - * ss_dict[(1, NPY_int8, None)] = ss_1d_int8_axisNone - * ss_dict[(1, NPY_int32, 0)] = ss_1d_int32_axisNone + * ss_dict[(2, NPY_int, None)] = ss_2d_int_axisNone + * ss_dict[(2, NPY_int8, None)] = ss_2d_int8_axisNone + * ss_dict[(2, NPY_int32, None)] = ss_2d_int32_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone + * ss_dict[(2, NPY_int, 0)] = ss_2d_int_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); + __Pyx_INCREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __Pyx_GIVEREF(Py_None); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":712 - * ss_dict[(1, NPY_int, None)] = ss_1d_int_axisNone - * ss_dict[(1, NPY_int8, 0)] = ss_1d_int8_axisNone - * ss_dict[(1, NPY_int8, None)] = ss_1d_int8_axisNone # <<<<<<<<<<<<<< - * ss_dict[(1, NPY_int32, 0)] = ss_1d_int32_axisNone - * ss_dict[(1, NPY_int32, None)] = ss_1d_int32_axisNone + * ss_dict[(2, NPY_int8, None)] = ss_2d_int8_axisNone + * ss_dict[(2, NPY_int32, None)] = ss_2d_int32_axisNone + * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int, 0)] = ss_2d_int_axis0 + * ss_dict[(2, NPY_int, 1)] = ss_2d_int_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(Py_None); @@ -17126,25 +17126,25 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":713 - * ss_dict[(1, NPY_int8, 0)] = ss_1d_int8_axisNone - * ss_dict[(1, NPY_int8, None)] = ss_1d_int8_axisNone - * ss_dict[(1, NPY_int32, 0)] = ss_1d_int32_axisNone # <<<<<<<<<<<<<< - * ss_dict[(1, NPY_int32, None)] = ss_1d_int32_axisNone - * ss_dict[(1, NPY_int64, 0)] = ss_1d_int64_axisNone + * ss_dict[(2, NPY_int32, None)] = ss_2d_int32_axisNone + * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone + * ss_dict[(2, NPY_int, 0)] = ss_2d_int_axis0 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int, 1)] = ss_2d_int_axis1 + * ss_dict[(2, NPY_int8, 0)] = ss_2d_int8_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -17156,55 +17156,55 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":714 - * ss_dict[(1, NPY_int8, None)] = ss_1d_int8_axisNone - * ss_dict[(1, NPY_int32, 0)] = ss_1d_int32_axisNone - * ss_dict[(1, NPY_int32, None)] = ss_1d_int32_axisNone # <<<<<<<<<<<<<< - * ss_dict[(1, NPY_int64, 0)] = ss_1d_int64_axisNone - * ss_dict[(1, NPY_int64, None)] = ss_1d_int64_axisNone + * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone + * ss_dict[(2, NPY_int, 0)] = ss_2d_int_axis0 + * ss_dict[(2, NPY_int, 1)] = ss_2d_int_axis1 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int8, 0)] = ss_2d_int8_axis0 + * ss_dict[(2, NPY_int8, 1)] = ss_2d_int8_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":715 - * ss_dict[(1, NPY_int32, 0)] = ss_1d_int32_axisNone - * ss_dict[(1, NPY_int32, None)] = ss_1d_int32_axisNone - * ss_dict[(1, NPY_int64, 0)] = ss_1d_int64_axisNone # <<<<<<<<<<<<<< - * ss_dict[(1, NPY_int64, None)] = ss_1d_int64_axisNone - * ss_dict[(2, NPY_int, None)] = ss_2d_int_axisNone + * ss_dict[(2, NPY_int, 0)] = ss_2d_int_axis0 + * ss_dict[(2, NPY_int, 1)] = ss_2d_int_axis1 + * ss_dict[(2, NPY_int8, 0)] = ss_2d_int8_axis0 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int8, 1)] = ss_2d_int8_axis1 + * ss_dict[(2, NPY_int32, 0)] = ss_2d_int32_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int8_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); @@ -17216,49 +17216,49 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":716 - * ss_dict[(1, NPY_int32, None)] = ss_1d_int32_axisNone - * ss_dict[(1, NPY_int64, 0)] = ss_1d_int64_axisNone - * ss_dict[(1, NPY_int64, None)] = ss_1d_int64_axisNone # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int, None)] = ss_2d_int_axisNone - * ss_dict[(2, NPY_int8, None)] = ss_2d_int8_axisNone + * ss_dict[(2, NPY_int, 1)] = ss_2d_int_axis1 + * ss_dict[(2, NPY_int8, 0)] = ss_2d_int8_axis0 + * ss_dict[(2, NPY_int8, 1)] = ss_2d_int8_axis1 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int32, 0)] = ss_2d_int32_axis0 + * ss_dict[(2, NPY_int32, 1)] = ss_2d_int32_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_1d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int8_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); + __Pyx_INCREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":717 - * ss_dict[(1, NPY_int64, 0)] = ss_1d_int64_axisNone - * ss_dict[(1, NPY_int64, None)] = ss_1d_int64_axisNone - * ss_dict[(2, NPY_int, None)] = ss_2d_int_axisNone # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int8, None)] = ss_2d_int8_axisNone - * ss_dict[(2, NPY_int32, None)] = ss_2d_int32_axisNone + * ss_dict[(2, NPY_int8, 0)] = ss_2d_int8_axis0 + * ss_dict[(2, NPY_int8, 1)] = ss_2d_int8_axis1 + * ss_dict[(2, NPY_int32, 0)] = ss_2d_int32_axis0 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int32, 1)] = ss_2d_int32_axis1 + * ss_dict[(2, NPY_int64, 0)] = ss_2d_int64_axis0 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int32_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17267,28 +17267,28 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":718 - * ss_dict[(1, NPY_int64, None)] = ss_1d_int64_axisNone - * ss_dict[(2, NPY_int, None)] = ss_2d_int_axisNone - * ss_dict[(2, NPY_int8, None)] = ss_2d_int8_axisNone # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int32, None)] = ss_2d_int32_axisNone - * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone + * ss_dict[(2, NPY_int8, 1)] = ss_2d_int8_axis1 + * ss_dict[(2, NPY_int32, 0)] = ss_2d_int32_axis0 + * ss_dict[(2, NPY_int32, 1)] = ss_2d_int32_axis1 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int64, 0)] = ss_2d_int64_axis0 + * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int8_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int32_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_1 = PyInt_FromLong(NPY_INT8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); @@ -17297,28 +17297,28 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":719 - * ss_dict[(2, NPY_int, None)] = ss_2d_int_axisNone - * ss_dict[(2, NPY_int8, None)] = ss_2d_int8_axisNone - * ss_dict[(2, NPY_int32, None)] = ss_2d_int32_axisNone # <<<<<<<<<<<<<< - * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone + * ss_dict[(2, NPY_int32, 0)] = ss_2d_int32_axis0 + * ss_dict[(2, NPY_int32, 1)] = ss_2d_int32_axis1 + * ss_dict[(2, NPY_int64, 0)] = ss_2d_int64_axis0 # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 * */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int32_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int64_axis0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __pyx_t_4 = PyInt_FromLong(NPY_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(NPY_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); @@ -17327,22 +17327,22 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_1, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":720 - * ss_dict[(2, NPY_int8, None)] = ss_2d_int8_axisNone - * ss_dict[(2, NPY_int32, None)] = ss_2d_int32_axisNone - * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone # <<<<<<<<<<<<<< + * ss_dict[(2, NPY_int32, 1)] = ss_2d_int32_axis1 + * ss_dict[(2, NPY_int64, 0)] = ss_2d_int64_axis0 + * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 # <<<<<<<<<<<<<< * * def ss_slow_axis0(arr): */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int64_axisNone); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ss_2d_int64_axis1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__pyx_v_2ss_ss_dict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); @@ -17357,16 +17357,16 @@ PyMODINIT_FUNC PyInit_ss(void) __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); - __Pyx_GIVEREF(Py_None); + __Pyx_INCREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_2ss_ss_dict, __pyx_t_4, __pyx_t_2) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "ss.pyx":722 - * ss_dict[(2, NPY_int64, None)] = ss_2d_int64_axisNone + * ss_dict[(2, NPY_int64, 1)] = ss_2d_int64_axis1 * * def ss_slow_axis0(arr): # <<<<<<<<<<<<<< * "Unaccelerated (slow) ss along axis 0." @@ -18340,7 +18340,7 @@ PyMODINIT_FUNC PyInit_ss(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/stats.c b/bottlechest/src/func/64bit/stats.c index 0f3cacced5..5321878c58 100644 --- a/bottlechest/src/func/64bit/stats.c +++ b/bottlechest/src/func/64bit/stats.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1354,9 +1354,9 @@ static char __pyx_k_stats_2d_float32_axisNone[] = "stats_2d_float32_axisNone"; static char __pyx_k_stats_2d_float64_axisNone[] = "stats_2d_float64_axisNone"; static char __pyx_k_Unsupported_ndim_dtype_s_s[] = "Unsupported ndim/dtype (%s/%s)."; static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous"; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/stats.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\stats.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; @@ -1364,7 +1364,6 @@ static char __pyx_k_invalid_length_of_the_weight_vec[] = "invalid length of the static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; static char __pyx_k_invalid_length_of_the_weight_vec_2[] = "invalid length of the weight vector ({} != {})"; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1376,6 +1375,7 @@ static PyObject *__pyx_n_s_PARTSORT_ERR_MSG; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__18; static PyObject *__pyx_n_s_a; @@ -28653,7 +28653,7 @@ static PyObject *__pyx_pf_5stats_112stats_slow_axisNone(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -28703,7 +28703,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -28716,7 +28716,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -28725,7 +28725,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -28734,7 +28734,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -28743,7 +28743,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -28753,7 +28753,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -28765,7 +28765,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -28776,7 +28776,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -28792,7 +28792,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -28804,7 +28804,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -28818,7 +28818,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -28834,7 +28834,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -28846,7 +28846,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -28860,7 +28860,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -28869,7 +28869,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -28878,7 +28878,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -28888,7 +28888,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -28897,7 +28897,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -28906,7 +28906,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -28917,7 +28917,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -28926,7 +28926,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -28939,7 +28939,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -28948,7 +28948,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -28959,7 +28959,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -28968,7 +28968,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -28977,7 +28977,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -28986,7 +28986,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -28995,7 +28995,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -29007,7 +29007,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -29016,7 +29016,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -29036,7 +29036,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -29052,7 +29052,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -29067,7 +29067,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -29077,7 +29077,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -29087,7 +29087,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -29110,7 +29110,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -29130,7 +29130,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -29144,7 +29144,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -29153,7 +29153,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -29164,7 +29164,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -29175,7 +29175,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -29186,7 +29186,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -29197,7 +29197,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -29208,7 +29208,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -29219,7 +29219,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -29230,7 +29230,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -29241,7 +29241,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -29252,7 +29252,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -29263,7 +29263,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -29274,7 +29274,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -29285,7 +29285,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -29296,7 +29296,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -29307,7 +29307,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -29318,7 +29318,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -29329,7 +29329,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -29341,7 +29341,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -29367,7 +29367,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -29376,7 +29376,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -29388,7 +29388,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -29397,7 +29397,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -29406,7 +29406,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -29415,7 +29415,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -29425,7 +29425,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -29435,7 +29435,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -29467,7 +29467,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -29491,7 +29491,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -29501,7 +29501,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -29513,7 +29513,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -29523,7 +29523,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -29535,7 +29535,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -29547,7 +29547,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -29564,7 +29564,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -29578,7 +29578,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -29597,7 +29597,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -29614,7 +29614,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -29628,7 +29628,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -29647,7 +29647,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -29664,7 +29664,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -29678,7 +29678,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -29697,7 +29697,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -29714,7 +29714,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -29728,7 +29728,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -29747,7 +29747,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -29764,7 +29764,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -29778,7 +29778,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -29797,7 +29797,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -29829,7 +29829,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -29838,7 +29838,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -29847,7 +29847,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -29869,7 +29869,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -29882,7 +29882,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -29921,7 +29921,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -29938,7 +29938,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -29952,7 +29952,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -29975,7 +29975,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -29995,7 +29995,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -30009,7 +30009,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -30025,7 +30025,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -30034,7 +30034,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -30043,7 +30043,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -30054,7 +30054,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -30064,7 +30064,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -30074,7 +30074,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -30086,7 +30086,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -30096,7 +30096,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -30110,7 +30110,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -30128,7 +30128,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -30146,7 +30146,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -30164,7 +30164,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -30182,7 +30182,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -30200,7 +30200,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -30218,7 +30218,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -30236,7 +30236,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -30254,7 +30254,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -30272,7 +30272,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -30290,7 +30290,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -30308,7 +30308,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -30326,7 +30326,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -30344,7 +30344,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -30364,7 +30364,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -30384,7 +30384,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -30404,7 +30404,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -30423,7 +30423,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -30446,7 +30446,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -30458,7 +30458,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -30470,7 +30470,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -30480,7 +30480,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -30490,7 +30490,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -30515,7 +30515,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -30530,7 +30530,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -30541,7 +30541,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -30553,7 +30553,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -30562,7 +30562,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -30573,7 +30573,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -30582,7 +30582,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -30591,7 +30591,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -30603,7 +30603,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -30617,7 +30617,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -30627,7 +30627,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -30641,7 +30641,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -30652,7 +30652,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -30690,7 +30690,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -30702,6 +30701,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_s_s, __pyx_k_Unsupported_ndim_dtype_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__18, __pyx_k__18, sizeof(__pyx_k__18), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -30972,7 +30972,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -30983,7 +30983,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__12); __Pyx_GIVEREF(__pyx_tuple__12); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -30994,7 +30994,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -31005,7 +31005,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -31016,7 +31016,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -31027,7 +31027,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__16); __Pyx_GIVEREF(__pyx_tuple__16); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -31059,7 +31059,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__20 = PyTuple_Pack(5, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance, __pyx_n_s_func, __pyx_n_s_a); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__20); __Pyx_GIVEREF(__pyx_tuple__20); - __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":106 * @@ -31071,7 +31071,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__22 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_dtype, __pyx_n_s_key, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22); - __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_selector, 106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_selector, 106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":144 * @cython.boundscheck(False) @@ -31083,7 +31083,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__24 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_ai, __pyx_n_s_wt, __pyx_n_s_a_min, __pyx_n_s_a_max, __pyx_n_s_mean, __pyx_n_s_var, __pyx_n_s_tot_w, __pyx_n_s_tot_w2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__24); __Pyx_GIVEREF(__pyx_tuple__24); - __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(3, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_1d_int_axisNone, 144, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(3, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_1d_int_axisNone, 144, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":204 * @cython.boundscheck(False) @@ -31095,7 +31095,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__26 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_ai, __pyx_n_s_wt, __pyx_n_s_a_min, __pyx_n_s_a_max, __pyx_n_s_mean, __pyx_n_s_var, __pyx_n_s_tot_w, __pyx_n_s_tot_w2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__26); __Pyx_GIVEREF(__pyx_tuple__26); - __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(3, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_1d_int8_axisNone, 204, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(3, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_1d_int8_axisNone, 204, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":264 * @cython.boundscheck(False) @@ -31107,7 +31107,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__28 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_ai, __pyx_n_s_wt, __pyx_n_s_a_min, __pyx_n_s_a_max, __pyx_n_s_mean, __pyx_n_s_var, __pyx_n_s_tot_w, __pyx_n_s_tot_w2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__28); __Pyx_GIVEREF(__pyx_tuple__28); - __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(3, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_1d_int32_axisNone, 264, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(3, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_1d_int32_axisNone, 264, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":324 * @cython.boundscheck(False) @@ -31119,7 +31119,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__30 = PyTuple_Pack(15, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_ai, __pyx_n_s_wt, __pyx_n_s_a_min, __pyx_n_s_a_max, __pyx_n_s_mean, __pyx_n_s_var, __pyx_n_s_tot_w, __pyx_n_s_tot_w2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30); - __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(3, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_1d_int64_axisNone, 324, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(3, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_1d_int64_axisNone, 324, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":384 * @cython.boundscheck(False) @@ -31131,7 +31131,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__32 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai, __pyx_n_s_mean, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_tot_w2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__32); __Pyx_GIVEREF(__pyx_tuple__32); - __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_2d_int_axisNone, 384, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_2d_int_axisNone, 384, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":461 * @cython.boundscheck(False) @@ -31143,7 +31143,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__34 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai, __pyx_n_s_mean, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_tot_w2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__34); __Pyx_GIVEREF(__pyx_tuple__34); - __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_2d_int8_axisNone, 461, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_2d_int8_axisNone, 461, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":538 * @cython.boundscheck(False) @@ -31155,7 +31155,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__36 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai, __pyx_n_s_mean, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_tot_w2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); - __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_2d_int32_axisNone, 538, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_2d_int32_axisNone, 538, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":615 * @cython.boundscheck(False) @@ -31167,7 +31167,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__38 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai, __pyx_n_s_mean, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_tot_w2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__38); __Pyx_GIVEREF(__pyx_tuple__38); - __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_2d_int64_axisNone, 615, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_2d_int64_axisNone, 615, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":692 * @cython.boundscheck(False) @@ -31179,7 +31179,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__40 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_tot_w2, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_ri, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_i, __pyx_n_s_d); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__40); __Pyx_GIVEREF(__pyx_tuple__40); - __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_0d_int_axisNone, 692, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_0d_int_axisNone, 692, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":762 * @cython.boundscheck(False) @@ -31191,7 +31191,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__42 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_tot_w2, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_ri, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_i, __pyx_n_s_d); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__42); __Pyx_GIVEREF(__pyx_tuple__42); - __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_0d_int8_axisNone, 762, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_0d_int8_axisNone, 762, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":832 * @cython.boundscheck(False) @@ -31203,7 +31203,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__44 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_tot_w2, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_ri, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_i, __pyx_n_s_d); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__44); __Pyx_GIVEREF(__pyx_tuple__44); - __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_0d_int32_axisNone, 832, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_0d_int32_axisNone, 832, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":902 * @cython.boundscheck(False) @@ -31215,7 +31215,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__46 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_tot_w2, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_ri, __pyx_n_s_ci, __pyx_n_s_ai, __pyx_n_s_i, __pyx_n_s_d); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__46); __Pyx_GIVEREF(__pyx_tuple__46); - __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_0d_int64_axisNone, 902, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_0d_int64_axisNone, 902, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":972 * @cython.boundscheck(False) @@ -31227,7 +31227,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__48 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_ai, __pyx_n_s_wt, __pyx_n_s_a_min, __pyx_n_s_a_max, __pyx_n_s_mean, __pyx_n_s_var, __pyx_n_s_non_nans, __pyx_n_s_nans, __pyx_n_s_tot_wt2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__48); __Pyx_GIVEREF(__pyx_tuple__48); - __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_1d_float_axisNone, 972, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_1d_float_axisNone, 972, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1045 * @cython.boundscheck(False) @@ -31239,7 +31239,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__50 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_ai, __pyx_n_s_wt, __pyx_n_s_a_min, __pyx_n_s_a_max, __pyx_n_s_mean, __pyx_n_s_var, __pyx_n_s_non_nans, __pyx_n_s_nans, __pyx_n_s_tot_wt2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__50); __Pyx_GIVEREF(__pyx_tuple__50); - __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_1d_float32_axisNone, 1045, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_1d_float32_axisNone, 1045, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1118 * @cython.boundscheck(False) @@ -31251,7 +31251,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__52 = PyTuple_Pack(16, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_ai, __pyx_n_s_wt, __pyx_n_s_a_min, __pyx_n_s_a_max, __pyx_n_s_mean, __pyx_n_s_var, __pyx_n_s_non_nans, __pyx_n_s_nans, __pyx_n_s_tot_wt2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__52); __Pyx_GIVEREF(__pyx_tuple__52); - __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_1d_float64_axisNone, 1118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(3, 0, 16, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_1d_float64_axisNone, 1118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1191 * @cython.boundscheck(False) @@ -31263,7 +31263,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__54 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai, __pyx_n_s_mean, __pyx_n_s_wt, __pyx_n_s_var, __pyx_n_s_tot_wt, __pyx_n_s_tot_wt2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__54); __Pyx_GIVEREF(__pyx_tuple__54); - __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(3, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_2d_float_axisNone, 1191, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(3, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_2d_float_axisNone, 1191, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1275 * @cython.boundscheck(False) @@ -31275,7 +31275,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__56 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai, __pyx_n_s_mean, __pyx_n_s_wt, __pyx_n_s_var, __pyx_n_s_tot_wt, __pyx_n_s_tot_wt2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__56); __Pyx_GIVEREF(__pyx_tuple__56); - __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(3, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_2d_float32_axisNone, 1275, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(3, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_2d_float32_axisNone, 1275, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1359 * @cython.boundscheck(False) @@ -31287,7 +31287,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__58 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_ai, __pyx_n_s_mean, __pyx_n_s_wt, __pyx_n_s_var, __pyx_n_s_tot_wt, __pyx_n_s_tot_wt2, __pyx_n_s_d); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__58); __Pyx_GIVEREF(__pyx_tuple__58); - __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(3, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_2d_float64_axisNone, 1359, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(3, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_2d_float64_axisNone, 1359, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1443 * @cython.boundscheck(False) @@ -31299,7 +31299,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__60 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_tot_wt2, __pyx_n_s_ri, __pyx_n_s_ci, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_d, __pyx_n_s_ai, __pyx_n_s_i); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__60); __Pyx_GIVEREF(__pyx_tuple__60); - __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_0d_float_axisNone, 1443, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_0d_float_axisNone, 1443, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1518 * @cython.boundscheck(False) @@ -31311,7 +31311,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__62 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_tot_wt2, __pyx_n_s_ri, __pyx_n_s_ci, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_d, __pyx_n_s_ai, __pyx_n_s_i); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__62); __Pyx_GIVEREF(__pyx_tuple__62); - __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_0d_float32_axisNone, 1518, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_0d_float32_axisNone, 1518, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1593 * @cython.boundscheck(False) @@ -31323,7 +31323,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__64 = PyTuple_Pack(18, __pyx_n_s_a, __pyx_n_s_w, __pyx_n_s_compute_variance, __pyx_n_s_n_rows, __pyx_n_s_n_cols, __pyx_n_s_data, __pyx_n_s_indices, __pyx_n_s_indptr, __pyx_n_s_dims, __pyx_n_s_y, __pyx_n_s_tot_wt2, __pyx_n_s_ri, __pyx_n_s_ci, __pyx_n_s_wt, __pyx_n_s_tot_w, __pyx_n_s_d, __pyx_n_s_ai, __pyx_n_s_i); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__64); __Pyx_GIVEREF(__pyx_tuple__64); - __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_0d_float64_axisNone, 1593, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_0d_float64_axisNone, 1593, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1696 * stats_dict[(0, NPY_float64, None)] = stats_0d_float64_axisNone @@ -31335,7 +31335,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__66 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__66); __Pyx_GIVEREF(__pyx_tuple__66); - __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis0, 1696, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis0, 1696, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1700 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31347,7 +31347,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__68 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__68); __Pyx_GIVEREF(__pyx_tuple__68); - __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis1, 1700, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis1, 1700, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1700; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1704 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31359,7 +31359,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__70 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__70); __Pyx_GIVEREF(__pyx_tuple__70); - __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis2, 1704, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis2, 1704, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1704; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1708 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31371,7 +31371,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__72 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__72); __Pyx_GIVEREF(__pyx_tuple__72); - __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis3, 1708, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis3, 1708, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1708; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1712 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31383,7 +31383,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__74 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__74); __Pyx_GIVEREF(__pyx_tuple__74); - __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis4, 1712, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis4, 1712, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1712; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1716 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31395,7 +31395,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__76 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__76); __Pyx_GIVEREF(__pyx_tuple__76); - __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis5, 1716, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis5, 1716, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1716; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1720 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31407,7 +31407,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__78 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__78); __Pyx_GIVEREF(__pyx_tuple__78); - __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis6, 1720, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis6, 1720, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1724 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31419,7 +31419,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__80 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__80); __Pyx_GIVEREF(__pyx_tuple__80); - __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis7, 1724, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis7, 1724, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1728 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31431,7 +31431,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__82 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__82); __Pyx_GIVEREF(__pyx_tuple__82); - __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis8, 1728, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis8, 1728, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1732 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31443,7 +31443,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__84 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__84); __Pyx_GIVEREF(__pyx_tuple__84); - __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis9, 1732, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis9, 1732, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1736 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31455,7 +31455,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__86 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__86); __Pyx_GIVEREF(__pyx_tuple__86); - __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis10, 1736, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis10, 1736, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1736; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1740 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31467,7 +31467,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__88 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__88); __Pyx_GIVEREF(__pyx_tuple__88); - __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis11, 1740, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis11, 1740, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1740; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1744 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31479,7 +31479,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__90 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1744; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__90); __Pyx_GIVEREF(__pyx_tuple__90); - __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis12, 1744, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1744; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis12, 1744, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1744; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1748 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31491,7 +31491,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__92 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__92); __Pyx_GIVEREF(__pyx_tuple__92); - __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis13, 1748, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis13, 1748, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1748; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1752 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31503,7 +31503,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__94 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__94); __Pyx_GIVEREF(__pyx_tuple__94); - __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis14, 1752, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis14, 1752, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1752; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1756 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31515,7 +31515,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__96 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__96); __Pyx_GIVEREF(__pyx_tuple__96); - __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis15, 1756, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis15, 1756, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1760 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31527,7 +31527,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__98 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__98); __Pyx_GIVEREF(__pyx_tuple__98); - __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis16, 1760, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis16, 1760, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1764 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31539,7 +31539,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__100 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__100); __Pyx_GIVEREF(__pyx_tuple__100); - __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis17, 1764, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis17, 1764, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1764; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1768 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31551,7 +31551,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__102 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__102); __Pyx_GIVEREF(__pyx_tuple__102); - __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis18, 1768, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis18, 1768, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1772 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31563,7 +31563,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__104 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__104); __Pyx_GIVEREF(__pyx_tuple__104); - __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis19, 1772, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis19, 1772, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1776 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31575,7 +31575,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__106 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__106); __Pyx_GIVEREF(__pyx_tuple__106); - __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis20, 1776, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis20, 1776, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1776; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1780 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31587,7 +31587,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__108 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__108); __Pyx_GIVEREF(__pyx_tuple__108); - __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis21, 1780, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis21, 1780, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1780; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1784 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31599,7 +31599,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__110 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__110); __Pyx_GIVEREF(__pyx_tuple__110); - __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis22, 1784, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis22, 1784, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1784; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1788 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31611,7 +31611,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__112 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__112); __Pyx_GIVEREF(__pyx_tuple__112); - __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis23, 1788, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis23, 1788, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1788; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1792 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31623,7 +31623,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__114 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__114); __Pyx_GIVEREF(__pyx_tuple__114); - __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis24, 1792, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis24, 1792, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1792; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1796 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31635,7 +31635,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__116 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__116); __Pyx_GIVEREF(__pyx_tuple__116); - __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis25, 1796, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis25, 1796, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1800 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31647,7 +31647,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__118 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__118); __Pyx_GIVEREF(__pyx_tuple__118); - __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis26, 1800, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis26, 1800, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1804 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31659,7 +31659,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__120 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__120); __Pyx_GIVEREF(__pyx_tuple__120); - __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis27, 1804, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis27, 1804, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1808 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31671,7 +31671,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__122 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__122); __Pyx_GIVEREF(__pyx_tuple__122); - __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis28, 1808, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis28, 1808, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1812 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31683,7 +31683,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__124 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__124); __Pyx_GIVEREF(__pyx_tuple__124); - __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis29, 1812, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis29, 1812, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1816 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31695,7 +31695,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__126 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__126); __Pyx_GIVEREF(__pyx_tuple__126); - __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis30, 1816, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis30, 1816, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1820 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31707,7 +31707,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__128 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__128); __Pyx_GIVEREF(__pyx_tuple__128); - __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis31, 1820, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis31, 1820, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1824 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31719,7 +31719,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__130 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__130); __Pyx_GIVEREF(__pyx_tuple__130); - __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axis32, 1824, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axis32, 1824, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "stats.pyx":1828 * return bn.slow.stats(arr, weights=None, compute_variance=False) @@ -31731,7 +31731,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__132 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_weights, __pyx_n_s_compute_variance); if (unlikely(!__pyx_tuple__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__132); __Pyx_GIVEREF(__pyx_tuple__132); - __pyx_codeobj__133 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_stats_slow_axisNone, 1828, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__133 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_stats_slow_axisNone, 1828, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -34774,7 +34774,7 @@ PyMODINIT_FUNC PyInit_stats(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/func/64bit/valuecount.c b/bottlechest/src/func/64bit/valuecount.c index 4f18ec02b2..d26bae9089 100644 --- a/bottlechest/src/func/64bit/valuecount.c +++ b/bottlechest/src/func/64bit/valuecount.c @@ -475,7 +475,7 @@ typedef struct { } __Pyx_BufFmt_Context; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":723 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # in Cython to enable them only on the right systems. * * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< @@ -484,7 +484,7 @@ typedef struct { */ typedef npy_int8 __pyx_t_5numpy_int8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":724 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< @@ -493,7 +493,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t; */ typedef npy_int16 __pyx_t_5numpy_int16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":725 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":725 * ctypedef npy_int8 int8_t * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< @@ -502,7 +502,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t; */ typedef npy_int32 __pyx_t_5numpy_int32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":726 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726 * ctypedef npy_int16 int16_t * ctypedef npy_int32 int32_t * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< @@ -511,7 +511,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t; */ typedef npy_int64 __pyx_t_5numpy_int64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":730 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #ctypedef npy_int128 int128_t * * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< @@ -520,7 +520,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t; */ typedef npy_uint8 __pyx_t_5numpy_uint8_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":731 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< @@ -529,7 +529,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t; */ typedef npy_uint16 __pyx_t_5numpy_uint16_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":732 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":732 * ctypedef npy_uint8 uint8_t * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< @@ -538,7 +538,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t; */ typedef npy_uint32 __pyx_t_5numpy_uint32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":733 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733 * ctypedef npy_uint16 uint16_t * ctypedef npy_uint32 uint32_t * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< @@ -547,7 +547,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t; */ typedef npy_uint64 __pyx_t_5numpy_uint64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":737 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #ctypedef npy_uint128 uint128_t * * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< @@ -556,7 +556,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t; */ typedef npy_float32 __pyx_t_5numpy_float32_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":738 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * ctypedef npy_float32 float32_t * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< @@ -565,7 +565,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; */ typedef npy_float64 __pyx_t_5numpy_float64_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":747 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # The int types are mapped a bit surprising -- * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t # <<<<<<<<<<<<<< @@ -574,7 +574,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t; */ typedef npy_long __pyx_t_5numpy_int_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":748 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # numpy.int corresponds to 'l' and numpy.long to 'q' * ctypedef npy_long int_t * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< @@ -583,7 +583,7 @@ typedef npy_long __pyx_t_5numpy_int_t; */ typedef npy_longlong __pyx_t_5numpy_long_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":749 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":749 * ctypedef npy_long int_t * ctypedef npy_longlong long_t * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< @@ -592,7 +592,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t; */ typedef npy_longlong __pyx_t_5numpy_longlong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":751 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751 * ctypedef npy_longlong longlong_t * * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< @@ -601,7 +601,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t; */ typedef npy_ulong __pyx_t_5numpy_uint_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":752 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< @@ -610,7 +610,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":753 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":753 * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< @@ -619,7 +619,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; */ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":755 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< @@ -628,7 +628,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; */ typedef npy_intp __pyx_t_5numpy_intp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":756 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< @@ -637,7 +637,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t; */ typedef npy_uintp __pyx_t_5numpy_uintp_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":758 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758 * ctypedef npy_uintp uintp_t * * ctypedef npy_double float_t # <<<<<<<<<<<<<< @@ -646,7 +646,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t; */ typedef npy_double __pyx_t_5numpy_float_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":759 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< @@ -655,7 +655,7 @@ typedef npy_double __pyx_t_5numpy_float_t; */ typedef npy_double __pyx_t_5numpy_double_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":760 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":760 * ctypedef npy_double float_t * ctypedef npy_double double_t * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< @@ -686,7 +686,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; /*--- Type declarations ---*/ -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":762 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_longdouble longdouble_t * * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< @@ -695,7 +695,7 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t; */ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":763 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< @@ -704,7 +704,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t; */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":764 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":764 * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< @@ -713,7 +713,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; */ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":766 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< @@ -1256,16 +1256,15 @@ static char __pyx_k_valuecount_2d_int32_axisNone[] = "valuecount_2d_int32_axisNo static char __pyx_k_valuecount_2d_int64_axisNone[] = "valuecount_2d_int64_axisNone"; static char __pyx_k_valuecount_2d_float32_axisNone[] = "valuecount_2d_float32_axisNone"; static char __pyx_k_valuecount_2d_float64_axisNone[] = "valuecount_2d_float64_axisNone"; +static char __pyx_k_Users_janezdemsar_Dropbox_bottl[] = "/Users/janezdemsar/Dropbox/bottlechest/bottlechest/src/func/64bit/valuecount.pyx"; static char __pyx_k_n_d_must_be_between_1_and_d_inc[] = "`n` (=%d) must be between 1 and %d, inclusive."; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_C_Users_Tomaz_bottlechest_bottle[] = "C:\\Users\\Tomaz\\bottlechest\\bottlechest\\src\\func\\64bit\\valuecount.pyx"; static char __pyx_k_Expecting_default_NumPy_int_to_b[] = "Expecting default NumPy int to be 32 or 64 bit."; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_valuecount_expects_an_array_with[] = "valuecount expects an array with shape (2, N)"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle; static PyObject *__pyx_kp_s_Expecting_default_NumPy_int_to_b; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; @@ -1277,6 +1276,7 @@ static PyObject *__pyx_n_s_PARTSORT_ERR_MSG; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_kp_s_Unsupported_ndim_dtype_s_s; +static PyObject *__pyx_kp_s_Users_janezdemsar_Dropbox_bottl; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s__21; static PyObject *__pyx_n_s_a; @@ -8053,7 +8053,7 @@ static PyObject *__pyx_pf_10valuecount_84valuecount_slow_axisNone(CYTHON_UNUSED return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -8103,7 +8103,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __Pyx_GIVEREF(__pyx_v_info->obj); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":200 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # of flags * * if info == NULL: return # <<<<<<<<<<<<<< @@ -8116,7 +8116,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":203 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -8125,7 +8125,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":204 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":204 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -8134,7 +8134,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":206 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -8143,7 +8143,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":208 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":208 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -8153,7 +8153,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":209 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -8165,7 +8165,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":211 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -8176,7 +8176,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":213 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":213 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -8192,7 +8192,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L7_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":214 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -8204,7 +8204,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -8218,7 +8218,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":217 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< @@ -8234,7 +8234,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L10_next_and:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":218 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< @@ -8246,7 +8246,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L9_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -8260,7 +8260,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":221 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< @@ -8269,7 +8269,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":222 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -8278,7 +8278,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":223 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":223 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< @@ -8288,7 +8288,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = (__pyx_v_copy_shape != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":226 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -8297,7 +8297,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":227 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # This is allocated as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -8306,7 +8306,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":228 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":228 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< @@ -8317,7 +8317,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":229 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -8326,7 +8326,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":230 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -8339,7 +8339,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":232 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -8348,7 +8348,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":233 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -8359,7 +8359,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L11:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":234 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":234 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -8368,7 +8368,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->suboffsets = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":235 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -8377,7 +8377,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":236 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -8386,7 +8386,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":239 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -8395,7 +8395,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_f = NULL; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":240 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -8407,7 +8407,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":244 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -8416,7 +8416,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":246 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":246 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< @@ -8436,7 +8436,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L15_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":248 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":248 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -8452,7 +8452,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":251 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -8467,7 +8467,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L14:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":253 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":253 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -8477,7 +8477,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":254 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -8487,7 +8487,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_4 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_4; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":255 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":255 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -8510,7 +8510,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } __pyx_L20_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":256 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256 * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -8530,7 +8530,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_L19_bool_binop_done:; if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -8544,7 +8544,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -8553,7 +8553,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ switch (__pyx_v_t) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":258 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< @@ -8564,7 +8564,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_b; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":259 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259 * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< @@ -8575,7 +8575,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_B; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":260 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< @@ -8586,7 +8586,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_h; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":261 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< @@ -8597,7 +8597,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_H; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":262 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< @@ -8608,7 +8608,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_i; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":263 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< @@ -8619,7 +8619,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_I; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":264 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< @@ -8630,7 +8630,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_l; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":265 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< @@ -8641,7 +8641,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_L; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":266 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< @@ -8652,7 +8652,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":267 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< @@ -8663,7 +8663,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Q; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":268 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< @@ -8674,7 +8674,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_f; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":269 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< @@ -8685,7 +8685,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_d; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":270 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< @@ -8696,7 +8696,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_g; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":271 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< @@ -8707,7 +8707,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zf; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":272 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< @@ -8718,7 +8718,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zd; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":273 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< @@ -8729,7 +8729,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_v_f = __pyx_k_Zg; break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":274 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< @@ -8741,7 +8741,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; default: - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":276 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -8767,7 +8767,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P break; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":277 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< @@ -8776,7 +8776,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = __pyx_v_f; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":278 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< @@ -8788,7 +8788,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":280 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -8797,7 +8797,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_info->format = ((char *)malloc(255)); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":281 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -8806,7 +8806,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ (__pyx_v_info->format[0]) = '^'; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":282 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":282 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -8815,7 +8815,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P */ __pyx_v_offset = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":283 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283 * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< @@ -8825,7 +8825,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_7; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":286 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286 * info.format + _buffer_format_string_len, * &offset) * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< @@ -8835,7 +8835,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P (__pyx_v_f[0]) = '\x00'; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":194 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -8867,7 +8867,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -8891,7 +8891,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":289 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -8901,7 +8901,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":290 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":290 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -8913,7 +8913,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":291 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -8923,7 +8923,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":292 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -8935,7 +8935,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s } __pyx_L4:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":288 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":288 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -8947,7 +8947,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -8964,7 +8964,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":769 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * cdef inline object PyArray_MultiIterNew1(a): * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< @@ -8978,7 +8978,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":768 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":768 * ctypedef npy_cdouble complex_t * * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< @@ -8997,7 +8997,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -9014,7 +9014,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":772 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * cdef inline object PyArray_MultiIterNew2(a, b): * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< @@ -9028,7 +9028,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":771 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771 * return PyArray_MultiIterNew(1, a) * * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< @@ -9047,7 +9047,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -9064,7 +9064,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":775 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * cdef inline object PyArray_MultiIterNew3(a, b, c): * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< @@ -9078,7 +9078,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":774 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774 * return PyArray_MultiIterNew(2, a, b) * * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< @@ -9097,7 +9097,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -9114,7 +9114,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":778 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< @@ -9128,7 +9128,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":777 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777 * return PyArray_MultiIterNew(3, a, b, c) * * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< @@ -9147,7 +9147,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -9164,7 +9164,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":781 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< @@ -9178,7 +9178,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":780 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780 * return PyArray_MultiIterNew(4, a, b, c, d) * * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< @@ -9197,7 +9197,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__ return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -9229,7 +9229,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":790 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -9238,7 +9238,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_endian_detector = 1; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":791 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -9247,7 +9247,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -9269,7 +9269,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":795 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< @@ -9282,7 +9282,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":796 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":796 * for childname in descr.names: * fields = descr.fields[childname] * child, new_offset = fields # <<<<<<<<<<<<<< @@ -9321,7 +9321,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":798 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798 * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< @@ -9338,7 +9338,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -9352,7 +9352,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":801 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801 * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< @@ -9375,7 +9375,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L8_next_or:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":802 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802 * * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< @@ -9395,7 +9395,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_L7_bool_binop_done:; if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -9409,7 +9409,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":813 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -9425,7 +9425,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":814 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":814 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -9434,7 +9434,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ (__pyx_v_f[0]) = 120; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":815 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":815 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -9443,7 +9443,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx */ __pyx_v_f = (__pyx_v_f + 1); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":816 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -9454,7 +9454,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":818 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -9464,7 +9464,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_8 = 0; (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":820 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":820 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< @@ -9474,7 +9474,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":821 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< @@ -9486,7 +9486,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":822 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":822 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< @@ -9496,7 +9496,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); if (__pyx_t_6) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -9510,7 +9510,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":826 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< @@ -9528,7 +9528,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":827 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":827 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< @@ -9546,7 +9546,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":828 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":828 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< @@ -9564,7 +9564,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":829 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< @@ -9582,7 +9582,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":830 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< @@ -9600,7 +9600,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":831 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< @@ -9618,7 +9618,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":832 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< @@ -9636,7 +9636,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":833 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< @@ -9654,7 +9654,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":834 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< @@ -9672,7 +9672,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":835 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< @@ -9690,7 +9690,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":836 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< @@ -9708,7 +9708,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":837 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< @@ -9726,7 +9726,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":838 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< @@ -9744,7 +9744,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":839 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< @@ -9764,7 +9764,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":840 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< @@ -9784,7 +9784,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":841 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< @@ -9804,7 +9804,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx goto __pyx_L15; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":842 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< @@ -9823,7 +9823,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":844 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< @@ -9846,7 +9846,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L15:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":845 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< @@ -9858,7 +9858,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":849 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":849 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< @@ -9870,7 +9870,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __pyx_L13:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":794 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794 * cdef tuple fields * * for childname in descr.names: # <<<<<<<<<<<<<< @@ -9880,7 +9880,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":850 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":850 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< @@ -9890,7 +9890,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx __pyx_r = __pyx_v_f; goto __pyx_L0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":783 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783 * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< @@ -9915,7 +9915,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx return __pyx_r; } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -9930,7 +9930,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a int __pyx_t_2; __Pyx_RefNannySetupContext("set_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":968 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":968 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< @@ -9941,7 +9941,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":969 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< @@ -9953,7 +9953,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":971 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971 * baseptr = NULL * else: * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< @@ -9962,7 +9962,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_INCREF(__pyx_v_base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":972 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972 * else: * Py_INCREF(base) # important to do this before decref below! * baseptr = base # <<<<<<<<<<<<<< @@ -9973,7 +9973,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a } __pyx_L3:; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":973 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":973 * Py_INCREF(base) # important to do this before decref below! * baseptr = base * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< @@ -9982,7 +9982,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ Py_XDECREF(__pyx_v_arr->base); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":974 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< @@ -9991,7 +9991,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a */ __pyx_v_arr->base = __pyx_v_baseptr; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":966 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":966 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< @@ -10003,7 +10003,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a __Pyx_RefNannyFinishContext(); } -/* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 +/* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -10017,7 +10017,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py int __pyx_t_1; __Pyx_RefNannySetupContext("get_array_base", 0); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":977 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< @@ -10027,7 +10027,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); if (__pyx_t_1) { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":978 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":978 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< @@ -10041,7 +10041,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py } /*else*/ { - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":980 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< @@ -10052,7 +10052,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py goto __pyx_L0; } - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< @@ -10090,7 +10090,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_k_C_Users_Tomaz_bottlechest_bottle, sizeof(__pyx_k_C_Users_Tomaz_bottlechest_bottle), 0, 0, 1, 0}, {&__pyx_kp_s_Expecting_default_NumPy_int_to_b, __pyx_k_Expecting_default_NumPy_int_to_b, sizeof(__pyx_k_Expecting_default_NumPy_int_to_b), 0, 0, 1, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, @@ -10102,6 +10101,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_kp_s_Unsupported_ndim_dtype_s_s, __pyx_k_Unsupported_ndim_dtype_s_s, sizeof(__pyx_k_Unsupported_ndim_dtype_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_k_Users_janezdemsar_Dropbox_bottl, sizeof(__pyx_k_Users_janezdemsar_Dropbox_bottl), 0, 0, 1, 0}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s__21, __pyx_k__21, sizeof(__pyx_k__21), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, @@ -10363,7 +10363,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_slice__14); __Pyx_GIVEREF(__pyx_slice__14); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":215 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":215 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< @@ -10374,7 +10374,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":219 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":219 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< @@ -10385,7 +10385,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__16); __Pyx_GIVEREF(__pyx_tuple__16); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":257 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257 * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -10396,7 +10396,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":799 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799 * * if (end - f) - (new_offset - offset[0]) < 15: * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< @@ -10407,7 +10407,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":803 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":803 * if ((child.byteorder == c'>' and little_endian) or * (child.byteorder == c'<' and not little_endian)): * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< @@ -10418,7 +10418,7 @@ static int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":823 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823 * t = child.type_num * if end - f < 5: * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< @@ -10450,7 +10450,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__23 = PyTuple_Pack(3, __pyx_n_s_arr, __pyx_n_s_func, __pyx_n_s_a); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":95 * return func(a) @@ -10462,7 +10462,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__25 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_a, __pyx_n_s_ndim, __pyx_n_s_dtype, __pyx_n_s_i, __pyx_n_s_key, __pyx_n_s_func, __pyx_n_s_tup); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_selector, 95, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_selector, 95, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":121 * @cython.boundscheck(False) @@ -10474,7 +10474,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__27 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_src, __pyx_n_s_dst); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_2d_float_axisNone, 121, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_2d_float_axisNone, 121, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":152 * @cython.boundscheck(False) @@ -10486,7 +10486,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__29 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_src, __pyx_n_s_dst); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_2d_float32_axisNone, 152, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_2d_float32_axisNone, 152, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":183 * @cython.boundscheck(False) @@ -10498,7 +10498,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__31 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_src, __pyx_n_s_dst); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_2d_float64_axisNone, 183, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_2d_float64_axisNone, 183, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":214 * @cython.boundscheck(False) @@ -10510,7 +10510,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__33 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_src, __pyx_n_s_dst); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_2d_int_axisNone, 214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_2d_int_axisNone, 214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":245 * @cython.boundscheck(False) @@ -10522,7 +10522,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__35 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_src, __pyx_n_s_dst); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_2d_int8_axisNone, 245, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_2d_int8_axisNone, 245, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":276 * @cython.boundscheck(False) @@ -10534,7 +10534,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__37 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_src, __pyx_n_s_dst); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_2d_int32_axisNone, 276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_2d_int32_axisNone, 276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":307 * @cython.boundscheck(False) @@ -10546,7 +10546,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__39 = PyTuple_Pack(8, __pyx_n_s_a, __pyx_n_s_i0, __pyx_n_s_i1, __pyx_n_s_dim, __pyx_n_s_n0, __pyx_n_s_n1, __pyx_n_s_src, __pyx_n_s_dst); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_2d_int64_axisNone, 307, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_2d_int64_axisNone, 307, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":345 * valuecount_dict[(2, NPY_int64, None)] = valuecount_2d_int64_axisNone @@ -10558,7 +10558,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__41 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__41); __Pyx_GIVEREF(__pyx_tuple__41); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis0, 345, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis0, 345, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":349 * return bn.slow.valuecount(arr) @@ -10570,7 +10570,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__43 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis1, 349, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis1, 349, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":353 * return bn.slow.valuecount(arr) @@ -10582,7 +10582,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__45 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis2, 353, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis2, 353, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":357 * return bn.slow.valuecount(arr) @@ -10594,7 +10594,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__47 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis3, 357, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis3, 357, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":361 * return bn.slow.valuecount(arr) @@ -10606,7 +10606,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__49 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis4, 361, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis4, 361, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":365 * return bn.slow.valuecount(arr) @@ -10618,7 +10618,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__51 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis5, 365, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis5, 365, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":369 * return bn.slow.valuecount(arr) @@ -10630,7 +10630,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__53 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis6, 369, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis6, 369, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":373 * return bn.slow.valuecount(arr) @@ -10642,7 +10642,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__55 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__55); __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis7, 373, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis7, 373, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":377 * return bn.slow.valuecount(arr) @@ -10654,7 +10654,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__57 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis8, 377, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis8, 377, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":381 * return bn.slow.valuecount(arr) @@ -10666,7 +10666,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__59 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis9, 381, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis9, 381, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":385 * return bn.slow.valuecount(arr) @@ -10678,7 +10678,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__61 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis10, 385, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis10, 385, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":389 * return bn.slow.valuecount(arr) @@ -10690,7 +10690,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__63 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis11, 389, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis11, 389, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":393 * return bn.slow.valuecount(arr) @@ -10702,7 +10702,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__65 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis12, 393, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis12, 393, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":397 * return bn.slow.valuecount(arr) @@ -10714,7 +10714,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__67 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis13, 397, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis13, 397, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":401 * return bn.slow.valuecount(arr) @@ -10726,7 +10726,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__69 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis14, 401, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis14, 401, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":405 * return bn.slow.valuecount(arr) @@ -10738,7 +10738,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__71 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis15, 405, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis15, 405, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":409 * return bn.slow.valuecount(arr) @@ -10750,7 +10750,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__73 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis16, 409, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis16, 409, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":413 * return bn.slow.valuecount(arr) @@ -10762,7 +10762,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__75 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis17, 413, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis17, 413, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":417 * return bn.slow.valuecount(arr) @@ -10774,7 +10774,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__77 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis18, 417, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis18, 417, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":421 * return bn.slow.valuecount(arr) @@ -10786,7 +10786,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis19, 421, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis19, 421, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":425 * return bn.slow.valuecount(arr) @@ -10798,7 +10798,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__81 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis20, 425, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis20, 425, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":429 * return bn.slow.valuecount(arr) @@ -10810,7 +10810,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__83 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis21, 429, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis21, 429, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":433 * return bn.slow.valuecount(arr) @@ -10822,7 +10822,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__85 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis22, 433, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis22, 433, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":437 * return bn.slow.valuecount(arr) @@ -10834,7 +10834,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__87 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis23, 437, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis23, 437, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":441 * return bn.slow.valuecount(arr) @@ -10846,7 +10846,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis24, 441, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis24, 441, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":445 * return bn.slow.valuecount(arr) @@ -10858,7 +10858,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis25, 445, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis25, 445, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":449 * return bn.slow.valuecount(arr) @@ -10870,7 +10870,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__93 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis26, 449, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis26, 449, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":453 * return bn.slow.valuecount(arr) @@ -10882,7 +10882,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__95 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis27, 453, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis27, 453, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":457 * return bn.slow.valuecount(arr) @@ -10894,7 +10894,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis28, 457, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis28, 457, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":461 * return bn.slow.valuecount(arr) @@ -10906,7 +10906,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis29, 461, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis29, 461, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":465 * return bn.slow.valuecount(arr) @@ -10918,7 +10918,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis30, 465, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis30, 465, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":469 * return bn.slow.valuecount(arr) @@ -10930,7 +10930,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis31, 469, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis31, 469, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":473 * return bn.slow.valuecount(arr) @@ -10942,7 +10942,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axis32, 473, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axis32, 473, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "valuecount.pyx":477 * return bn.slow.valuecount(arr) @@ -10954,7 +10954,7 @@ static int __Pyx_InitCachedConstants(void) { __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_Tomaz_bottlechest_bottle, __pyx_n_s_valuecount_slow_axisNone, 477, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_janezdemsar_Dropbox_bottl, __pyx_n_s_valuecount_slow_axisNone, 477, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -13198,7 +13198,7 @@ PyMODINIT_FUNC PyInit_valuecount(void) if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "..\..\..\Python32\lib\site-packages\Cython\Includes\numpy\__init__.pxd":976 + /* "../../env/orange3/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976 * arr.base = baseptr * * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< diff --git a/bottlechest/src/template/func/bincount.py b/bottlechest/src/template/func/bincount.py index f19439f73d..a254b1a4cf 100644 --- a/bottlechest/src/template/func/bincount.py +++ b/bottlechest/src/template/func/bincount.py @@ -381,6 +381,12 @@ def bincount(arr, max_val, weights=None, mask=None): length of the weight vector does not match the length of the array """ + if mask is not None: + if arr.ndim == 2 and len(mask) != arr.shape[1] or \ + arr.ndim == 1 and len(mask) != 1: + raise ValueError('length of mask does not match the matrix size') + if weights is not None and len(weights) != arr.shape[0]: + raise ValueError('length of weights does not match the matrix size') func, a, weights, mask = bincount_selector(arr, max_val, weights, mask) return func(a, max_val, weights, mask) diff --git a/bottlechest/tests/test_bincount.py b/bottlechest/tests/test_bincount.py index 68de5cd10e..a7ac9e230d 100644 --- a/bottlechest/tests/test_bincount.py +++ b/bottlechest/tests/test_bincount.py @@ -210,7 +210,44 @@ def test_sparse_weight_float(self): counts, nans = self.bincount(a, 3, np.array([1, 2, 3], dtype=float), mask=[1, 0, 1, 0]) np.testing.assert_almost_equal(counts, [[0, 1, 2, 0], [0, 0, 0, 0], [0, 0, 1, 3], [0, 0, 0, 0]]) + def test_wrong_mask_len_2d(self): + data = np.array([[0, 1, 1, 2, 1], + [1, 1, 1, 0, 1], + [0, 0, 3, 0, 0]], dtype=float) + + self.assertRaises(ValueError, self.bincount, + data, 3, None, []) + self.assertRaises(ValueError, self.bincount, + data, 3, None, [1, 2]) + self.assertRaises(ValueError, self.bincount, + data, 3, None, [1, 2, 3, 4, 5, 6]) + + def test_wrong_mask_len_1d(self): + data = np.array([0, 1, 1, 2, 1], dtype=float) + self.assertRaises(ValueError, self.bincount, data, 3, None, []) + self.assertRaises(ValueError, self.bincount, data, 3, None, [1, 2]) + + def test_wrong_weight_len_1d(self): + data = np.array([0, 1, 1, 2, 1], dtype=float) + self.assertRaises(ValueError, self.bincount, data, 3, []) + self.assertRaises(ValueError, self.bincount, data, 3, [1, 2]) + + +class TestBinCountSlow(TestBinCount): + # These tests are disabled. Tests of slow functions are implemented by + # circumventing the selector function -- and checking of mask and array + # dimensions are implemented in the circumvented code in the selector. + def test_wrong_mask_len_2d(self): + pass + + def test_wrong_weights_len_2d(self): + pass + + def test_wrong_mask_len_1d(self): + pass + + def test_wrong_weight_len_1d(self): + pass -class TestBinCount_Slow(TestBinCount): def setUp(self): self.bincount = bottlechest.slow.bincount \ No newline at end of file